3f2cecd6655a0c628646b5e8f8b8983aaaf303a6.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. package xin.glue.ui.J.J01;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import java.sql.Types;
  6. import com.posdata.glue.PosException;
  7. import com.posdata.glue.biz.activity.PosActivity;
  8. import com.posdata.glue.biz.constants.PosBizControlConstants;
  9. import com.posdata.glue.biz.control.PosBizProvider;
  10. import com.posdata.glue.context.PosContext;
  11. import com.posdata.glue.dao.vo.PosParameter;
  12. import com.posdata.glue.dao.vo.PosRow;
  13. import com.posdata.glue.dao.vo.PosRowSet;
  14. import com.posdata.glue.msg.PosMESMessageImpl;
  15. import com.posdata.glue.msg.PosMessage;
  16. public class saveOrdNoHH extends PosActivity{
  17. String P_RTN_MSG = "";
  18. public String runActivity(PosContext context) {
  19. //充当物料
  20. String[] coil_t = (String[]) context.get("R_MAT_NO");
  21. //被替换的物料
  22. String[] coil_f = (String[]) context.get("coil_no");
  23. //替换人
  24. String[] P_REG_ID = (String[]) context.get("P_REG_ID");
  25. //是否同牌号
  26. String[] V_SIGN_STL = (String[]) context.get("SIGN_STL");
  27. //是否同成分
  28. String[] V_SIGN_CHEN_FEN = (String[]) context.get("SIGN_CHEN_FEN");
  29. //是否同材质
  30. String[] V_SIGN_WGT = (String[]) context.get("SIGN_WGT");
  31. //是否检查重量
  32. String[] V_SING_CAIZHI = (String[]) context.get("SING_CAIZHI");
  33. //是否强制替换
  34. String[] V_SIGN_QIANGZHI = (String[]) context.get("SIGN_QIANGZHI");
  35. P_REG_ID[0] = (P_REG_ID[0] == null) ? "" :P_REG_ID[0];
  36. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 开始");
  37. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 coil_t "+coil_t[0]);
  38. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 coil_f "+coil_f[0]);
  39. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 P_REG_ID"+P_REG_ID[0]);
  40. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 V_SIGN_STL "+V_SIGN_STL[0]);
  41. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 V_SIGN_CHEN_FEN "+V_SIGN_CHEN_FEN[0]);
  42. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 V_SIGN_WGT "+V_SIGN_WGT[0]);
  43. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 V_SING_CAIZHI "+V_SING_CAIZHI[0]);
  44. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 传入参数 V_SIGN_QIANGZHI "+V_SIGN_QIANGZHI[0]);
  45. CallableStatement cStmt = null;
  46. cStmt = this.getDao("mesdao").getCallableStatement("NIE03_SERVEAS.MAT_REP_EACH_OTHER");
  47. try {
  48. if(cStmt != null) {
  49. cStmt.setString(1,coil_f[0]);
  50. cStmt.setString(2,coil_t[0]);
  51. cStmt.setString(3,V_SIGN_STL[0]);
  52. cStmt.setString(4,V_SIGN_CHEN_FEN[0]);
  53. cStmt.setString(5,V_SING_CAIZHI[0]);
  54. cStmt.setString(6,V_SIGN_WGT[0]);
  55. cStmt.setString(7,V_SIGN_QIANGZHI[0]);
  56. cStmt.setString(8,(P_REG_ID[0]));
  57. cStmt.registerOutParameter(9, Types.VARCHAR);
  58. cStmt.execute();
  59. P_RTN_MSG = cStmt.getString(9);
  60. // NIF024050_CALL(P_TYPE,P_ST,P_EN);
  61. }
  62. } catch (SQLException e) {
  63. // e.printStackTrace();
  64. throw new PosException(e.getMessage());
  65. }finally
  66. {
  67. if (cStmt != null)
  68. {
  69. try
  70. {
  71. cStmt.close();
  72. }
  73. catch (SQLException e)
  74. {
  75. logger.logWarn(e.getMessage(), e);
  76. }
  77. }
  78. }
  79. if(P_RTN_MSG == null || "".equals(P_RTN_MSG)) {
  80. ;
  81. } else {
  82. throw new PosException(P_RTN_MSG);
  83. }
  84. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 结束");
  85. logger.logInfo("调用 NIE03_SERVEAS.MAT_REP_EACH_OTHER 返回标志P_RTN_MSG为 : "+P_RTN_MSG);
  86. //这里先调用进程,再处理相应的发货
  87. PosParameter param = new PosParameter();
  88. param.setWhereClauseParameter(0,coil_t[0]);
  89. PosRowSet MatVOT = getDao("mesdao").find("UIF031046_CoilInf.select",param);
  90. while(MatVOT.hasNext()) {
  91. PosRow MatInfRow = MatVOT.next();
  92. String LV_MAT_NO = (String)MatInfRow.getAttribute("MAT_NO");
  93. long LV_MAT_WGT = Long.parseLong((MatInfRow.getAttribute("MAT_WGT")==null? "0":MatInfRow.getAttribute("MAT_WGT")).toString());
  94. String V_ORD_NO = (String)MatInfRow.getAttribute("ORD_NO") ==null ? "" :(String)MatInfRow.getAttribute("ORD_NO");
  95. String V_ORD_SEQ = (String)MatInfRow.getAttribute("ORD_SEQ") ==null ? "" :(String)MatInfRow.getAttribute("ORD_SEQ");
  96. String LV_BEF_ORD_NO = (String)MatInfRow.getAttribute("ORG_ORD_NO") ==null ? "" :(String)MatInfRow.getAttribute("ORG_ORD_NO");
  97. String LV_BEF_PROG_CD = (String)MatInfRow.getAttribute("BEF_PROG_CD" )==null ? "" :(String)MatInfRow.getAttribute("BEF_PROG_CD");
  98. String LV_BEF_ORD_SEQ = (String)MatInfRow.getAttribute("ORG_ORD_SEQ")==null ? "" :(String)MatInfRow.getAttribute("ORG_ORD_SEQ");
  99. String LV_CUR_PROG_CD = (String)MatInfRow.getAttribute("CUR_PROG_CD")==null ? "" :(String)MatInfRow.getAttribute("CUR_PROG_CD");
  100. //CALL NIE012070_SaveOrdSts
  101. NIE012070_CALL(LV_MAT_NO, LV_MAT_WGT,V_ORD_NO, V_ORD_SEQ,LV_BEF_ORD_NO,LV_BEF_ORD_SEQ,LV_BEF_PROG_CD,LV_CUR_PROG_CD,"AR",P_REG_ID[0]);
  102. logger.logInfo("saveOrdNoHH 充当物料的合同号 V_ORD_NO: "+V_ORD_NO);
  103. logger.logInfo("saveOrdNoHH 充当物料的物料号 LV_MAT_NO: "+LV_MAT_NO);
  104. logger.logInfo("saveOrdNoHH 充当物料的物料重量 LV_MAT_WGT: "+LV_MAT_WGT);
  105. logger.logInfo("saveOrdNoHH 充当物料的订单号 V_ORD_SEQ: "+V_ORD_SEQ);
  106. logger.logInfo("saveOrdNoHH 充当物料的前合同号 LV_BEF_ORD_NO: "+LV_BEF_ORD_NO);
  107. logger.logInfo("saveOrdNoHH 充当物料的前进程代码 LV_BEF_PROG_CD: "+LV_BEF_PROG_CD);
  108. logger.logInfo("saveOrdNoHH 充当物料的前订单号 LV_BEF_ORD_SEQ: "+LV_BEF_ORD_SEQ);
  109. logger.logInfo("saveOrdNoHH 充当物料的进程代码 LV_CUR_PROG_CD: "+LV_CUR_PROG_CD);
  110. }
  111. PosParameter param1 = new PosParameter();
  112. param1.setWhereClauseParameter(0,coil_f[0]);
  113. PosRowSet MatVOF = getDao("mesdao").find("UIF031046_CoilInf.select",param1);
  114. while(MatVOF.hasNext()) {
  115. PosRow MatInfRow = MatVOF.next();
  116. String LV_MAT_NO = (String)MatInfRow.getAttribute("MAT_NO");
  117. long LV_MAT_WGT = Long.parseLong((MatInfRow.getAttribute("MAT_WGT")==null? "0":MatInfRow.getAttribute("MAT_WGT")).toString());
  118. String V_ORD_NO = (String)MatInfRow.getAttribute("ORD_NO") ==null ? "" :(String)MatInfRow.getAttribute("ORD_NO");
  119. String V_ORD_SEQ = (String)MatInfRow.getAttribute("ORD_SEQ") ==null ? "" :(String)MatInfRow.getAttribute("ORD_SEQ");
  120. String LV_BEF_ORD_NO = (String)MatInfRow.getAttribute("ORG_ORD_NO") ==null ? "" :(String)MatInfRow.getAttribute("ORG_ORD_NO");
  121. String LV_BEF_PROG_CD = (String)MatInfRow.getAttribute("BEF_PROG_CD" )==null ? "" :(String)MatInfRow.getAttribute("BEF_PROG_CD");
  122. String LV_BEF_ORD_SEQ = (String)MatInfRow.getAttribute("ORG_ORD_SEQ")==null ? "" :(String)MatInfRow.getAttribute("ORG_ORD_SEQ");
  123. String LV_CUR_PROG_CD = (String)MatInfRow.getAttribute("CUR_PROG_CD")==null ? "" :(String)MatInfRow.getAttribute("CUR_PROG_CD");
  124. //CALL NIE012070_SaveOrdSts
  125. NIE012070_CALL(LV_MAT_NO, LV_MAT_WGT,V_ORD_NO, V_ORD_SEQ,LV_BEF_ORD_NO,LV_BEF_ORD_SEQ,LV_BEF_PROG_CD,LV_CUR_PROG_CD,"AR",P_REG_ID[0]);
  126. logger.logInfo("saveOrdNoHH 被替换的物料的合同号 V_ORD_NO: "+V_ORD_NO);
  127. logger.logInfo("saveOrdNoHH 被替换的物料的物料号 LV_MAT_NO: "+LV_MAT_NO);
  128. logger.logInfo("saveOrdNoHH 被替换的物料的物料重量 LV_MAT_WGT: "+LV_MAT_WGT);
  129. logger.logInfo("saveOrdNoHH 被替换的物料的订单号 V_ORD_SEQ: "+V_ORD_SEQ);
  130. logger.logInfo("saveOrdNoHH 被替换的物料的前合同号 LV_BEF_ORD_NO: "+LV_BEF_ORD_NO);
  131. logger.logInfo("saveOrdNoHH 被替换的物料的前进程代码 LV_BEF_PROG_CD: "+LV_BEF_PROG_CD);
  132. logger.logInfo("saveOrdNoHH 被替换的物料的前订单号 LV_BEF_ORD_SEQ: "+LV_BEF_ORD_SEQ);
  133. logger.logInfo("saveOrdNoHH 被替换的物料的进程代码 LV_CUR_PROG_CD: "+LV_CUR_PROG_CD);
  134. }
  135. NIE012080_CALL();
  136. return PosBizControlConstants.SUCCESS;
  137. }
  138. public PosContext NIE012070_CALL( String P_MAT_NO,long V_WGT,String V_ORD_NO ,String V_ORD_SEQ,String P_BEF_ORD_NO,String P_BEF_ORD_SEQ,String P_BEF_PROG_CD,String P_CUR_PROG_CD,String P_MAT_TYPE,String V_REG_ID)
  139. {
  140. PosContext context = new PosContext();
  141. PosMessage message = new PosMESMessageImpl();
  142. //SaveOrdSts
  143. String TcId = "NIE012070";
  144. message.setTCID(TcId);
  145. message.setObject("MSG_ID", TcId);
  146. message.setObject("BEF_ORD_NO", P_BEF_ORD_NO);
  147. message.setObject("BEF_ORD_SEQ", P_BEF_ORD_SEQ);
  148. message.setObject("ORD_NO", V_ORD_NO );
  149. message.setObject("ORD_SEQ", V_ORD_SEQ);
  150. message.setObject("BEF_PROG_CD", P_BEF_PROG_CD);
  151. message.setObject("PROG_CD", P_CUR_PROG_CD);
  152. message.setObject("MAT_TYPE", P_MAT_TYPE);
  153. message.setObject("MAT_NO", P_MAT_NO);
  154. message.setObject("WGT", new BigDecimal(V_WGT));
  155. message.setObject("PGMID", "saveOrdNoHH");
  156. message.setObject("REG_ID", V_REG_ID);
  157. context.setMessage(message);
  158. message.setTCID(TcId);
  159. String SERVICE_POSTFIX = "-service";
  160. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  161. PosBizProvider.getController().doSubController(context, false);
  162. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  163. if (SERVICE_ERR_MSG != null)
  164. {
  165. throw new PosException(SERVICE_ERR_MSG);
  166. }
  167. return context;
  168. }
  169. public PosContext NIE012080_CALL()
  170. {
  171. PosContext context = new PosContext();
  172. PosMessage message = new PosMESMessageImpl();
  173. //OrdStsMain
  174. String TcId = "NIE012080";
  175. message.setTCID(TcId);
  176. message.setObject("MSG_ID", TcId);
  177. message.setObject("AA", "");
  178. context.setMessage(message);
  179. message.setTCID(TcId);
  180. String SERVICE_POSTFIX = "-service";
  181. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  182. PosBizProvider.getController().doSubController(context, false);
  183. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  184. if (SERVICE_ERR_MSG != null)
  185. {
  186. throw new PosException(SERVICE_ERR_MSG);
  187. }
  188. return context;
  189. }
  190. }