f659420a1bbd689b864003065b20200193b66216.svn-base 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. package xin.glue.nui.F.F02;
  2. import java.text.DateFormat;
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5. import xin.glue.user.common.DateUtils;
  6. import xin.glue.user.common.GlobalConstants;
  7. import xin.glue.user.common.LogGpError;
  8. import com.posdata.glue.PosException;
  9. import com.posdata.glue.biz.activity.PosActivity;
  10. import com.posdata.glue.biz.constants.PosBizControlConstants;
  11. import com.posdata.glue.context.PosContext;
  12. import com.posdata.glue.dao.vo.PosParameter;
  13. import com.posdata.glue.dao.vo.PosRow;
  14. import com.posdata.glue.dao.vo.PosRowSet;
  15. import com.posdata.glue.msg.PosMessage;
  16. //import java.lang.Long;
  17. /* Program Name MILLSchTme (NIF023040)
  18. * Description MILL WORK TIME SCHEDULE
  19. * Write By KIM SUNG HO
  20. * Date 2008-12-10
  21. */
  22. public class MILLSchTme extends PosActivity implements GlobalConstants {
  23. public String runActivity(PosContext context) {
  24. long V_SLAB_EDT_SEQ = 0 ;
  25. long V_FUR_TME = 0 ;
  26. long V_MILL_TME = 0 ;
  27. long C_ROLL_CHG_TIME = 30 ;
  28. String V_BEF_ROLL_MANA_NO = "" ;
  29. String V_ROLL_MANA_NO = "" ;
  30. String V_FUR_PRE_TME = "" ;
  31. String V_LST_MILL_PRE_TME = "" ;
  32. String V_TABLE_ID = "" ;
  33. String V_TABLE_MODE = "" ;
  34. String V_ERR_DESC = "" ;
  35. String V_RTN_NAME = "" ;
  36. PosMessage message = context.getMessage();
  37. //START ROLL_MANA_NO/ROLL_SLAB_SEQ)
  38. String P_ROLL_MANA_NO = (String)message.get("ROLL_MANA_NO");
  39. Number P_ROLL_SLAB_SEQ = (Number)message.get("ROLL_SLAB_SEQ");
  40. // try {
  41. DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
  42. String currDate = formatter.format(new Date());
  43. //ROLL_MANA_NO/ROLL_SLAB_SEQ CHECK
  44. if (P_ROLL_MANA_NO == null || P_ROLL_MANA_NO.equals("") || P_ROLL_SLAB_SEQ == null ) {
  45. //MESSAGE ERROR --> PROGRAM EXIT
  46. throw new PosException("MILLSchTme..ROLL_MANA_NO OR ROLL_SLAB_SEQ ERROR1..");
  47. }
  48. //ROLL_MANA_NO/ROLL_SLAB_SEQ CHECK
  49. PosParameter param0 = new PosParameter();
  50. param0.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  51. param0.setWhereClauseParameter(1, String.valueOf(P_ROLL_SLAB_SEQ));
  52. PosRowSet SlabChkVO = getDao("mesdao").find("NIF023040_SlabChk.select",param0);
  53. SlabChkVO.reset();
  54. if (!SlabChkVO.hasNext()) {
  55. //MESSAGE ERROR --> PROGRAM EXIT
  56. throw new PosException("MILLSchTme..ROLL_MANA_NO OR ROLL_SLAB_SEQ ERROR2..");
  57. }
  58. //LAST MILL_PRE_TME SELECT
  59. PosParameter param1 = new PosParameter();
  60. param1.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  61. param1.setWhereClauseParameter(1, String.valueOf(P_ROLL_SLAB_SEQ));
  62. PosRowSet LstMillPreTmeVO = getDao("mesdao").find("NIF023040_LstMillPreTme.select",param1);
  63. LstMillPreTmeVO.reset();
  64. if (LstMillPreTmeVO.hasNext()) {
  65. PosRow LstMillPreTmeRow = LstMillPreTmeVO.next();
  66. V_LST_MILL_PRE_TME = (String)LstMillPreTmeRow.getAttribute("MILL_PRE_TME");
  67. V_BEF_ROLL_MANA_NO = (String)LstMillPreTmeRow.getAttribute("ROLL_MANA_NO");
  68. } else {
  69. V_LST_MILL_PRE_TME = currDate;
  70. V_BEF_ROLL_MANA_NO = "";
  71. }
  72. //MILL TIME SCHEDULE SELECT SLAB
  73. PosParameter param2 = new PosParameter();
  74. param2.setWhereClauseParameter(0, P_ROLL_MANA_NO);
  75. param2.setWhereClauseParameter(1, String.valueOf(P_ROLL_SLAB_SEQ));
  76. PosRowSet RollSlabSelVO = getDao("mesdao").find("NIF023040_RollSlabSel.select",param2);
  77. RollSlabSelVO.reset();
  78. while (RollSlabSelVO.hasNext()) {
  79. PosRow RollSlabSelRow = RollSlabSelVO.next();
  80. V_ROLL_MANA_NO = (String)RollSlabSelRow.getAttribute("ROLL_MANA_NO");
  81. V_SLAB_EDT_SEQ = Long.parseLong((RollSlabSelRow.getAttribute("SLAB_EDT_SEQ")==null? "0":RollSlabSelRow.getAttribute("SLAB_EDT_SEQ")).toString());
  82. V_FUR_TME = Long.parseLong((RollSlabSelRow.getAttribute("FUR_TME")==null? "0":RollSlabSelRow.getAttribute("FUR_TME")).toString());
  83. V_MILL_TME = Long.parseLong((RollSlabSelRow.getAttribute("MILL_TME")==null? "0":RollSlabSelRow.getAttribute("MILL_TME")).toString());
  84. //ROLL CHANGE CHECK
  85. if (V_BEF_ROLL_MANA_NO.equals("") || V_BEF_ROLL_MANA_NO.equals(V_ROLL_MANA_NO)) {
  86. V_LST_MILL_PRE_TME = DateUtils.getStringDateAddedTime(V_LST_MILL_PRE_TME, 0, 0, (int)C_ROLL_CHG_TIME, 0);
  87. V_BEF_ROLL_MANA_NO = V_ROLL_MANA_NO;
  88. }
  89. //MILL/FUR SCHEDULE TIME
  90. V_LST_MILL_PRE_TME = DateUtils.getStringDateAddedTime(V_LST_MILL_PRE_TME, 0, 0, (int)V_MILL_TME, 0);
  91. V_FUR_PRE_TME = DateUtils.getStringDateAddedTime(V_LST_MILL_PRE_TME, 0, 0, (int)V_FUR_TME, 0);
  92. //MILL/FUR SCHEDULE TIME UPDATE
  93. PosParameter param3 = new PosParameter();
  94. param3.setWhereClauseParameter(0, V_FUR_PRE_TME);
  95. param3.setWhereClauseParameter(1, V_LST_MILL_PRE_TME);
  96. param3.setWhereClauseParameter(2, String.valueOf(V_SLAB_EDT_SEQ));
  97. int UpdCnt1 = getDao("mesdao").update("NIF023040_MillFurTme.update",param3);
  98. if (UpdCnt1 == 0) {
  99. V_TABLE_ID = "TBF02_SPEC_MILL";
  100. V_TABLE_MODE = "U";
  101. V_ERR_DESC = "TBF02_SPEC_MILL UPDATE COUNT IS ZERO";
  102. V_RTN_NAME = "MILLSchTme TBF02_SPEC_MILL UPDATE1 " + String.valueOf(V_SLAB_EDT_SEQ);
  103. LogGpError.logMessageToDB("MILLSchTme", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  104. throw new PosException(V_RTN_NAME);
  105. }
  106. } //RollSlabSelVO while END
  107. // }
  108. // catch (PosException ex)
  109. // {
  110. // context.put(SERVICE_ERR_MSG, ex.getMessage());
  111. // throw ex;
  112. // }
  113. // catch (Throwable t)
  114. // {
  115. // context.put(SERVICE_ERR_MSG, t.getMessage());
  116. // throw new PosException(t.getMessage(), t);
  117. // }
  118. return PosBizControlConstants.SUCCESS;
  119. }
  120. }