天天看點

資訊系統開發實踐-任務釋出系統(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();

}}}

繼續閱讀