1ec4bf08adbc67e682226be52cf520619c49d724.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. package xin.glue.nui.F.F01;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import xin.glue.user.common.GlobalConstants;
  6. import xin.glue.user.common.LogGpError;
  7. import com.posdata.glue.PosException;
  8. import com.posdata.glue.biz.activity.PosActivity;
  9. import com.posdata.glue.biz.constants.PosBizControlConstants;
  10. import com.posdata.glue.biz.control.PosBizProvider;
  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.PosMESMessageImpl;
  16. import com.posdata.glue.msg.PosMessage;
  17. //import java.lang.Long;
  18. /* Program Name SMSLvlSend (NIF012110)指示
  19. * Description SMS WORK INSTRUCTION LEVEL2 SEND TO MES 2.5
  20. * Write By KIM SUNG HO
  21. * Date 2008-11-04
  22. */
  23. public class SMSLvlSend extends PosActivity implements GlobalConstants {
  24. public String runActivity(PosContext context) {
  25. long V_CHARGE_EDT_SEQ = 0 ;
  26. long V_CHG_SEQ = 0 ;
  27. long V_PREV_CHARGE_WGT = 0 ;
  28. String V_CHARGE_MANA_NO = "" ;
  29. String V_TABLE_ID = "" ;
  30. String V_TABLE_MODE = "" ;
  31. String V_ERR_DESC = "" ;
  32. String V_RTN_NAME = "" ;
  33. PosMessage message = context.getMessage();
  34. String P_CHARGE_MANA_NO_EN = (String)message.get("CHARGE_MANA_NO_EN");
  35. String P_REG_ID = (String)message.get("REG_ID");
  36. //String PRC_LINE = P_CHARGE_MANA_NO_EN.substring(3, 4);
  37. String PRC_LINE = P_CHARGE_MANA_NO_EN.substring(2, 3);
  38. // try {
  39. //P_CHARGE_MANA_NO_EN IS NULL CHECK
  40. if (P_CHARGE_MANA_NO_EN == null || P_CHARGE_MANA_NO_EN.equals("") ) {
  41. //MESSAGE ERROR --> PROGRAM EXIT
  42. throw new PosException("CHARGE_MANA_NO_ST, CHARGE_MANA_NO_ST IS NULL");
  43. }
  44. //SELECT CHG_SEQ INFORMATION
  45. PosParameter paramA = new PosParameter();
  46. paramA.setWhereClauseParameter(0, PRC_LINE);
  47. paramA.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN);
  48. PosRowSet ChgSeqInfVO = getDao("mesdao").find("NIF012110_ChgSeqInf.select",paramA);
  49. ChgSeqInfVO.reset();
  50. if (ChgSeqInfVO.hasNext()) {
  51. PosRow ChgSeqInfRow = ChgSeqInfVO.next();
  52. V_CHG_SEQ = Long.parseLong((ChgSeqInfRow.getAttribute("CHG_SEQ")==null? "0":ChgSeqInfRow.getAttribute("CHG_SEQ")).toString());
  53. } else {
  54. //MESSAGE ERROR --> PROGRAM EXIT
  55. throw new PosException("CHARGE_MANA_NO_ST, NOT FOUND LEVEL2 SEND DATA ");
  56. }
  57. //TBG06_L2_CHARGE_INS INSERT 转炉炉次计划下发 SEND_CLF = 'I'
  58. PosParameter param1 = new PosParameter();
  59. param1.setValueParamter(0, PRC_LINE);
  60. param1.setValueParamter(1, String.valueOf(V_CHG_SEQ));
  61. int InsCnt1 = getDao("mesdao").insert("NIF012110_L2Charge.insert",param1);
  62. if (InsCnt1 == 0) {
  63. V_TABLE_ID = "TBG06_L2_CHARGE_INS";
  64. V_TABLE_MODE = "I";
  65. V_ERR_DESC = "TBG06_L2_CHARGE_INS INSERT COUNT IS ZERO";
  66. V_RTN_NAME = "SMSLvlSend TBG06_L2_CHARGE_INS INSERT1 " + String.valueOf(V_CHARGE_EDT_SEQ);
  67. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  68. throw new PosException(V_RTN_NAME);
  69. }
  70. //TBG06_L2_CCM_INS INSERT 连铸计划下发 SEND_CLF = 'I'
  71. PosParameter param2 = new PosParameter();
  72. param2.setValueParamter(0, PRC_LINE);
  73. param2.setValueParamter(1, String.valueOf(V_CHG_SEQ));
  74. int InsCnt2 = getDao("mesdao").insert("NIF012110_L2Ccm.insert",param2);
  75. if (InsCnt2 == 0) {
  76. V_TABLE_ID = "TBG06_L2_CCM_INS";
  77. V_TABLE_MODE = "I";
  78. V_ERR_DESC = "TBG06_L2_CCM_INS INSERT COUNT IS ZERO";
  79. V_RTN_NAME = "SMSLvlSend TBG06_L2_CCM_INS INSERT2 " + String.valueOf(V_CHARGE_EDT_SEQ);
  80. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  81. throw new PosException(V_RTN_NAME);
  82. }
  83. //TBG06_L2_SLAB_CUT_INS INSERT 坯料计划下发 SEND_CLF = 'I'
  84. PosParameter param3 = new PosParameter();
  85. param3.setValueParamter(0, PRC_LINE);
  86. param3.setValueParamter(1, String.valueOf(V_CHG_SEQ));
  87. int InsCnt3 = getDao("mesdao").insert("NIF012110_L2SlabCut.insert",param3);
  88. if (InsCnt3 == 0) {
  89. V_TABLE_ID = "TBG06_L2_SLAB_CUT_INS";
  90. V_TABLE_MODE = "I";
  91. V_ERR_DESC = "TBG06_L2_SLAB_CUT_INS INSERT COUNT IS ZERO";
  92. V_RTN_NAME = "SMSLvlSend TBG06_L2_SLAB_CUT_INS INSERT3 " + String.valueOf(V_CHARGE_EDT_SEQ);
  93. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  94. throw new PosException(V_RTN_NAME);
  95. }
  96. InsCnt3 = 0;
  97. //TBG06_L2_SLAB_CUT_INS INSERT 坯料计划下发 SEND_CLF = 'I'
  98. param3 = new PosParameter();
  99. param3.setValueParamter(0, PRC_LINE);
  100. param3.setValueParamter(1, String.valueOf(V_CHG_SEQ));
  101. InsCnt3 = getDao("mesdao").insert("NIF012110_L2SlabCut02.insert",param3);
  102. if (InsCnt3 == 0) {
  103. V_TABLE_ID = "TBG06_L2_SLAB_CUT_INS";
  104. V_TABLE_MODE = "I";
  105. V_ERR_DESC = "TBG06_L2_SLAB_CUT_INS INSERT COUNT IS ZERO";
  106. V_RTN_NAME = "SMSLvlSend TBG06_L2_SLAB_CUT_INS INSERT3 " + String.valueOf(V_CHARGE_EDT_SEQ);
  107. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  108. throw new PosException(V_RTN_NAME);
  109. }
  110. //UPDATE TBF01_SPEC_CHARGE (PROG_CD="JBB")
  111. PosParameter param4 = new PosParameter();
  112. param4.setWhereClauseParameter(0, P_REG_ID);
  113. param4.setWhereClauseParameter(1, PRC_LINE);
  114. param4.setWhereClauseParameter(2, String.valueOf(V_CHG_SEQ));
  115. int UpdCnt1 = getDao("mesdao").update("NIF012110_ChargeProgUpd.update",param4);
  116. if (UpdCnt1 == 0) {
  117. V_TABLE_ID = "TBF01_SPEC_CHARGE";
  118. V_TABLE_MODE = "I";
  119. V_ERR_DESC = "TBF01_SPEC_CHARGE UPDATE COUNT IS ZERO";
  120. V_RTN_NAME = "SMSLvlSend TBF01_SPEC_CHARGE UPDATE1 " + String.valueOf(V_CHARGE_EDT_SEQ);
  121. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  122. throw new PosException(V_RTN_NAME);
  123. }
  124. //SELECT CHARGE INFORMATION
  125. PosParameter param0 = new PosParameter();
  126. param0.setWhereClauseParameter(0, PRC_LINE);
  127. param0.setWhereClauseParameter(1, P_CHARGE_MANA_NO_EN);
  128. PosRowSet ChargeInfVO = getDao("mesdao").find("NIF012110_ChargeInf.select",param0);
  129. ChargeInfVO.reset();
  130. while(ChargeInfVO.hasNext()) {
  131. PosRow ChargeInfRow = ChargeInfVO.next();
  132. V_CHARGE_EDT_SEQ = Long.parseLong((ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")==null? "0":ChargeInfRow.getAttribute("CHARGE_EDT_SEQ")).toString());
  133. V_CHARGE_MANA_NO = (String)ChargeInfRow.getAttribute("CHARGE_MANA_NO");
  134. V_PREV_CHARGE_WGT = Long.parseLong((ChargeInfRow.getAttribute("PREV_CHARGE_WGT")==null? "0":ChargeInfRow.getAttribute("PREV_CHARGE_WGT")).toString());
  135. //CALL NIE012070_SaveOrdSts
  136. NIE012070_CALL(V_CHARGE_MANA_NO, V_PREV_CHARGE_WGT, P_REG_ID);
  137. //增加增加牌号发送2.5 20110527 wxy
  138. CallableStatement cstm = null;
  139. //PosParameter param = new PosParameter();
  140. try{
  141. cstm = this.getDao("mesdao").getCallableStatement("NIF012110_ChgSeqInf_INSERT.call");
  142. cstm.setString(1,V_CHARGE_MANA_NO);
  143. cstm.registerOutParameter(2, java.sql.Types.VARCHAR);
  144. cstm.execute();
  145. }catch(Exception ex){
  146. logger.logError(ex.getMessage(), ex);
  147. }finally{
  148. if (cstm != null)
  149. {
  150. try
  151. {
  152. cstm.close();
  153. }
  154. catch (SQLException e)
  155. {
  156. logger.logWarn(e.getMessage(), e);
  157. }
  158. }
  159. }
  160. //end 增加牌号发送2.5
  161. } //ChargeInfVO while END
  162. //UPDATE TBF01_CHARGE_IDX (LEVEL2 MARKING)
  163. PosParameter param5 = new PosParameter();
  164. param5.setWhereClauseParameter(0, PRC_LINE);
  165. param5.setWhereClauseParameter(1, String.valueOf(V_CHG_SEQ));
  166. int UpdCnt2 = getDao("mesdao").update("NIF012110_ChargeIdxUpd.update",param5);
  167. if (UpdCnt2 == 0) {
  168. V_TABLE_ID = "TBF01_CHARGE_IDX";
  169. V_TABLE_MODE = "I";
  170. V_ERR_DESC = "TBF01_CHARGE_IDX UPDATE COUNT IS ZERO";
  171. V_RTN_NAME = "SMSLvlSend TBF01_CHARGE_IDX UPDATE2 " + String.valueOf(V_CHARGE_EDT_SEQ);
  172. LogGpError.logMessageToDB("SMSLvlSend", V_TABLE_ID, V_TABLE_MODE, V_ERR_DESC, V_RTN_NAME);
  173. throw new PosException(V_RTN_NAME);
  174. }
  175. //CALL NIE012080_OrdStsMain
  176. NIE012080_CALL();
  177. //------------------------------------------------------------------------------------------------
  178. //LEVEL2 JOB SCHEDULE CALL
  179. return PosBizControlConstants.SUCCESS;
  180. }
  181. public PosContext NIE012070_CALL(String V_CHARGE_MANA_NO, long V_WGT, String V_REG_ID)
  182. {
  183. PosContext context = new PosContext();
  184. PosMessage message = new PosMESMessageImpl();
  185. //SaveOrdSts
  186. String TcId = "NIE012070";
  187. message.setTCID(TcId);
  188. message.setObject("MSG_ID", TcId);
  189. message.setObject("BEF_ORD_NO", "");
  190. message.setObject("BEF_ORD_SEQ", "");
  191. message.setObject("ORD_NO", "");
  192. message.setObject("ORD_SEQ", "");
  193. message.setObject("BEF_PROG_CD", "JBA");
  194. message.setObject("PROG_CD", "JBB");
  195. message.setObject("MAT_TYPE", "CH");
  196. message.setObject("MAT_NO", V_CHARGE_MANA_NO);
  197. message.setObject("WGT", new BigDecimal(V_WGT));
  198. message.setObject("PGMID", "SMSLvlSend");
  199. message.setObject("REG_ID", V_REG_ID);
  200. context.setMessage(message);
  201. message.setTCID(TcId);
  202. String SERVICE_POSTFIX = "-service";
  203. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  204. PosBizProvider.getController().doSubController(context, false);
  205. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  206. if (SERVICE_ERR_MSG != null)
  207. {
  208. throw new PosException(SERVICE_ERR_MSG);
  209. }
  210. return context;
  211. }
  212. public PosContext NIE012080_CALL()
  213. {
  214. PosContext context = new PosContext();
  215. PosMessage message = new PosMESMessageImpl();
  216. //OrdStsMain
  217. String TcId = "NIE012080";
  218. message.setTCID(TcId);
  219. message.setObject("MSG_ID", TcId);
  220. message.setObject("AA", "");
  221. context.setMessage(message);
  222. message.setTCID(TcId);
  223. String SERVICE_POSTFIX = "-service";
  224. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  225. PosBizProvider.getController().doSubController(context, false);
  226. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  227. if (SERVICE_ERR_MSG != null)
  228. {
  229. throw new PosException(SERVICE_ERR_MSG);
  230. }
  231. return context;
  232. }
  233. }