天天看点

信息系统开发实践-任务发布系统(TaskMS)(七)

作者:lgx0537

JavaBeans的设计和实现

(四)Mission类和MComp类是和任务相关的两个类。Mission类是记录任务信息的类,MComp是关于任务完成信息的类。详情如下:

public class Mission {//任务类的属性如下:

public String MName,MCon,Depart,Mstatus,MT,Note,TDate;//任务名称,任务内容,所需部门,任务状态,任务类型,到期时间

public java.sql.Date RDate;//发布时间

public int MNO,Mneed,Mcatch,Ulevel;//任务编号,所需人数,已领取人数,所需级别

任务的增加,修改,删除,全部展示等操作与前面纪念品类的相关操作类似,不再重复介绍。

/*为用户展示可选择的任务,首先用户所在部门必须在任务所需部门内,用户的级别要高于任务所需级别。同时,当前时间应大于任务发布时间,小于任务到期时间。*/

public static Vector ListForUser(String _Depart,int _Ulevel,String Mobile) {

DBConnect dbc = null;

Vector MissionVector = new Vector();

Calendar c = Calendar.getInstance();//获取当前时间

Calendar temp = null;//获取当前时间

java.util.Date date = null;

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");

date=c.getTime();//Calendar转成DATE类型

String dqDate=sdf2.format(date);//实现把当前日期格式为yyyy-MM-dd

java.sql.Date date1=DataConvert.StrTosqlDate(dqDate);

_Depart="%"+_Depart+"%";

String strSQL = "SELECT * FROM Mission where Depart like ? and Mneed>Mcatch and Ulevel<=? and RDate<=? and MNO not in (select MNO from MComp where Mobile=?) ORDER BY MNO DESC";

try {

dbc = new DBConnect();

dbc.prepareStatement(strSQL);

dbc.setString(1, _Depart);

dbc.setInt(2, _Ulevel);

dbc.setDate(3, date1);

dbc.setString(4, Mobile);

ResultSet rs = dbc.executeQuery();

while (rs.next()) {

Mission mission = new Mission();

mission.setMNO(rs.getInt("MNO"));

mission.setMName(rs.getString("MName"));

mission.setMCon(rs.getString("MCon"));

mission.setRDate(rs.getString("RDate"));

mission.setTDate(rs.getString("TDate"));

mission.setUlevel(rs.getInt("Ulevel"));

mission.setDepart(rs.getString("Depart"));

mission.setMneed(rs.getInt("Mneed"));

mission.setMcatch(rs.getInt("Mcatch"));

mission.setMstatus(rs.getString("Mstatus"));

mission.setMT(rs.getString("MT"));

mission.setNote(rs.getString("Note"));

MissionVector.add(mission);

}

} catch (Exception e) {

System.err.println(e);

} finally {

try {

dbc.close();

} catch (Exception e) {

e.printStackTrace();

}}

return MissionVector;

}

/*任务被领取后要更新任务已被领取的数量*/

public static String UpdateMcatch(String _MNO, int _Mcatch) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE Mission SET Mcatch=? WHERE MNO=?");

dbc.setInt(1, _Mcatch);

dbc.setInt(2, DataConvert.StrToInt(_MNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}}

任务完成类:

public class MComp {//主要属性如下:

public String Mobile,Mstatus,Eva,Note;//手机号标识用户,任务状态,任务完成情况的评价

public java.sql.Date CDate;//任务完成时间

public int MCNO,MNO,MTScore,EvaLevel;//任务编号标识任务,完成任务所得积分,评价等级

/*为特定用户列出完成任务情况*/

public static Vector ListByMobile(String _Mobile) {

DBConnect dbc = null;

Vector MCompVector = new Vector();

String strSQL = "SELECT * FROM MComp where Mobile=? ORDER BY CDate DESC";

try {

dbc = new DBConnect();

dbc.prepareStatement(strSQL);

dbc.setString(1, _Mobile);

ResultSet rs = dbc.executeQuery();

while (rs.next()) {

MComp mComp = new MComp();

mComp.setMCNO(rs.getInt("MCNO"));

mComp.setMNO(rs.getInt("MNO"));

mComp.setMobile(rs.getString("Mobile"));

mComp.setCDate(rs.getString("CDate"));

mComp.setMstatus(rs.getString("Mstatus"));

mComp.setMTScore(rs.getInt("MTScore"));

mComp.setEvaLevel(rs.getInt("EvaLevel"));

mComp.setEva(rs.getString("Eva"));

mComp.setNote(rs.getString("Note"));

MCompVector.add(mComp);

}

} catch (Exception e) {

System.err.println(e);

} finally {

try {

dbc.close();

} catch (Exception e) {

e.printStackTrace();

}}

return MCompVector;

}

/*根据任务状态列出列表 */

public static Vector ListByMstatus(String _Mstatus) {

DBConnect dbc = null;

Vector MCompVector = new Vector();

String strSQL = "SELECT * FROM MComp where Mstatus=? ORDER BY CDate DESC";

try {

dbc = new DBConnect();

dbc.prepareStatement(strSQL);

dbc.setString(1, _Mstatus);

ResultSet rs = dbc.executeQuery();

while (rs.next()) {

MComp mComp = new MComp();

mComp.setMCNO(rs.getInt("MCNO"));

mComp.setMNO(rs.getInt("MNO"));

mComp.setMobile(rs.getString("Mobile"));

mComp.setCDate(rs.getString("CDate"));

mComp.setMstatus(rs.getString("Mstatus"));

mComp.setMTScore(rs.getInt("MTScore"));

mComp.setEvaLevel(rs.getInt("EvaLevel"));

mComp.setEva(rs.getString("Eva"));

mComp.setNote(rs.getString("Note"));

MCompVector.add(mComp);}

} catch (Exception e) {

System.err.println(e);

} finally {

try {

dbc.close();

} catch (Exception e) {

e.printStackTrace();

}}

return MCompVector;

}

/* 更新任务状态 */

public static String UpdateMstatus(String _MCNO, String _Mstatus) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE MComp SET Mstatus=? WHERE MCNO=?");

dbc.setString(1, _Mstatus);

dbc.setInt(2, DataConvert.StrToInt(_MCNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}

/* 更新评价 */

public static String UpdateEva(String _MCNO,String _Eva, String _EvaLevel) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE MComp SET Eva=?,Note=? WHERE MCNO=?");

dbc.setString(1, _Eva);

dbc.setString(2, _EvaLevel);

dbc.setInt(3, DataConvert.StrToInt(_MCNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}

/* 更新评价等级 */

public static String UpdateEvaLevel(String _MCNO,int _EvaLevel) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE MComp SET EvaLevel=? WHERE MCNO=?");

dbc.setInt(1, _EvaLevel);

dbc.setInt(2, DataConvert.StrToInt(_MCNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}

/* 更新用户获得的积分 */

public static String UpdateMTScore(String _MCNO,int _MTScore) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE MComp SET MTScore=? WHERE MCNO=?");

dbc.setInt(1, _MTScore);

dbc.setInt(2, DataConvert.StrToInt(_MCNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}

/* 更新任务完成时间 */

public static String UpdateCDate(String _MCNO,String _CDate) {

DBConnect dbc = null;

try {

dbc = new DBConnect();

dbc.prepareStatement("UPDATE MComp SET CDate=? WHERE MCNO=?");

dbc.setDate(1, DataConvert.StrTosqlDate(_CDate));

dbc.setInt(2, DataConvert.StrToInt(_MCNO));

dbc.executeUpdate();

dbc.close();

return "1";

} catch (Exception e) {

e.printStackTrace();

return e.toString();

}}}

继续阅读