85919026be66b73cff352b537b3184e74a997377.svn-base 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package xin.glue.ui.G.G03;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.context.PosContext;
  9. import com.posdata.glue.dao.PosGenericDao;
  10. import com.posdata.glue.dao.vo.PosParameter;
  11. import com.posdata.glue.dao.vo.PosRow;
  12. import com.posdata.glue.dao.vo.PosRowSet;
  13. public class SynchLdGrade extends PosActivity {
  14. public String runActivity(PosContext ctx){
  15. SynchLadleGrade();
  16. if(alertChargeReady()){
  17. ctx.put("MESSAGES", " Ò»ºÅת¯ȱÉÙ¸Ö°ü! ");
  18. return PosBizControlConstants.SUCCESS;
  19. }
  20. return PosBizControlConstants.SUCCESS;
  21. }
  22. private PosGenericDao dao = this.getDao("mesdao");
  23. private PosParameter param = new PosParameter();
  24. private PosRowSet rowSet = null;
  25. private void SynchLadleGrade(String ldNo){
  26. PosRowSet rowSet = getLadleNo(ldNo);
  27. SynchHandl(rowSet);
  28. }
  29. private boolean alertChargeReady(){
  30. param = new PosParameter();
  31. PosRowSet rowset = dao.find("UIG030041_CHARGE_READY.select",param);
  32. if(rowset.hasNext()){
  33. return true;
  34. }else return false;
  35. }
  36. private void SynchLadleGrade(){
  37. PosRowSet rowSet = getLadleNo();
  38. SynchHandl(rowSet);
  39. }
  40. private PosRowSet getLadleNo(){
  41. rowSet = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO.SELECT");
  42. return rowSet;
  43. }
  44. private PosRowSet getLadleNo(String ldNo){
  45. param = new PosParameter();
  46. param.setWhereClauseParameter(0, ldNo);
  47. rowSet = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO_02.SELECT", param);
  48. return rowSet;
  49. }
  50. private void SynchHandl(PosRowSet rowSet){
  51. while(rowSet.hasNext()){
  52. PosRow row = rowSet.next();
  53. String ldGrade = (String)row.getAttribute("LD_GRADE");
  54. String procCd = "";
  55. String ldNo = (String)row.getAttribute("LD_NO");
  56. String hkEndTime = (String)row.getAttribute("LD_ROAST_END_DTIME");
  57. DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
  58. String currDat = format.format(new Date());
  59. if(hkEndTime != null && !"".equals(hkEndTime) && hkEndTime.compareTo(currDat) < 0){
  60. ldGrade = "D";
  61. String ldStat = "2";
  62. param = new PosParameter();
  63. param.setWhereClauseParameter(0, ldGrade);
  64. param.setWhereClauseParameter(1, ldStat);
  65. param.setWhereClauseParameter(2, ldNo);
  66. int updcnt = dao.update("UIG03COMM_HK_TIME.update", param);
  67. }
  68. param = new PosParameter();
  69. param.setWhereClauseParameter(0, ldNo);
  70. param.setWhereClauseParameter(1, ldNo);
  71. param.setWhereClauseParameter(2, ldNo);
  72. PosRowSet rowSet2 = dao.find("UIG03COMM_SEARCHLDGRADE_LDNO_03.SELECT", param);
  73. while(rowSet2.hasNext()){
  74. PosRow row2 = rowSet2.next();
  75. String CCM_DEP_DTIME = (String)row2.getAttribute("CCM_DEP_DTIME");
  76. procCd = (String)row2.getAttribute("PROC_CD");
  77. if(CCM_DEP_DTIME != null && !"".equals(CCM_DEP_DTIME)){
  78. procCd = "";
  79. try{
  80. DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
  81. Date ccmDepTime = formatter.parse(CCM_DEP_DTIME);
  82. Calendar calendar = Calendar.getInstance();
  83. calendar.setTime(new Date());
  84. double thisTime = calendar.getTimeInMillis();
  85. calendar.setTime(ccmDepTime);
  86. double depTime = calendar.getTimeInMillis();
  87. double res = (thisTime - depTime)/(1000*60);
  88. if(res <= 60){
  89. ldGrade = "A";
  90. }else if(60 < res && res <= 90){
  91. ldGrade = "B";
  92. }else if(90 < res && res <= 480){
  93. ldGrade = "C";
  94. }else if(480 < res ){
  95. ldGrade = "D";
  96. }
  97. }catch(Exception ex){
  98. ex.printStackTrace();
  99. }
  100. }
  101. param = new PosParameter();
  102. param.setWhereClauseParameter(0, procCd);
  103. param.setWhereClauseParameter(1, ldGrade);
  104. param.setWhereClauseParameter(2, ldNo);
  105. int updcnt = dao.update("UIG03COMM_LST_PROC.update", param);
  106. }
  107. }
  108. }
  109. }