6cfd3257e12be2ca1e5a750d2bb314286de76b21.svn-base 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. package xin.glue.ui.G.G04;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import com.posdata.glue.PosException;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.biz.control.PosBizProvider;
  9. import com.posdata.glue.context.PosContext;
  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. import com.posdata.glue.msg.PosMESMessageImpl;
  14. import com.posdata.glue.msg.PosMessage;
  15. public class XINSaveJiahui extends PosActivity {
  16. public String runActivity(PosContext context) {
  17. String[]slabNo = (String[])context.get("SLAB_NO");
  18. String[]yardAddr = (String[])context.get("CUR_LOAD_LOC");
  19. String[]slabThk = (String[])context.get("SLAB_THK");
  20. String[]slabWth = (String[])context.get("SLAB_WTH");
  21. String[]slabLen = (String[])context.get("SLAB_LEN");
  22. String[]slabWgt = (String[])context.get("SLAB_WGT");
  23. String[]scraptWgt = (String[])context.get("SCRAP_WGT");
  24. String[]jhType = (String[])context.get("BACK_TP");
  25. String[]shift = (String[])context.get("SHIFT");
  26. String[]group = (String[])context.get("GROUP");
  27. String[]regId = (String[])context.get("REGID");
  28. String[]ordNo = (String[])context.get("ORD_NO");
  29. String[]ordSeq = (String[])context.get("ORD_SEQ");
  30. String[]befOrdNo = (String[])context.get("ORG_ORD_NO");
  31. String[]befOrdSeq = (String[])context.get("ORG_ORD_SEQ");
  32. String[]progCd = (String[])context.get("CUR_PROG_CD");
  33. String[]befProgCd = (String[])context.get("BEF_PROG_CD");
  34. String StoreLay = "";
  35. PosParameter param = new PosParameter();
  36. param.setWhereClauseParameter(0,yardAddr[0]);
  37. PosRowSet CompToVo = getDao("mesdao").find("UIG040060_COMPLUS_TO_ADDR.select", param);
  38. if(CompToVo.hasNext()) {
  39. PosRow CompToVoROW = CompToVo.next();
  40. StoreLay = (String)CompToVoROW.getAttribute("STORELAY");
  41. if(StoreLay.equals("")||StoreLay == null){
  42. context.put("MESSAGES", " 跺位已经满,不能放置!");
  43. return PosBizControlConstants.SUCCESS;
  44. }
  45. }
  46. for(int i = 0 ; i < slabNo.length ; i++){
  47. if(jhType[0].equals("JH")){
  48. //增加降级历史记录 20101227 wxy
  49. //增加降级历史记录 20101227 wxy
  50. CallableStatement cstm = null;
  51. param = new PosParameter();
  52. try{
  53. cstm = this.getDao("mesdao").getCallableStatement("ORD_HIS_INSERT.call");
  54. cstm.setString(1, "B");
  55. cstm.setString(2, "S");
  56. cstm.setString(3, "");
  57. cstm.setString(4, "UIG040062");
  58. cstm.setString(5, "");
  59. cstm.setString(6, "");
  60. cstm.setString(7, "");
  61. cstm.setString(8, slabNo[0]);
  62. cstm.setString(9, "TM");
  63. cstm.setString(10, "");
  64. cstm.setString(11, "");
  65. cstm.setString(12, "");
  66. cstm.setString(13, "");
  67. cstm.execute();
  68. }catch(Exception ex){
  69. logger.logError(ex.getMessage(), ex);
  70. }finally{
  71. if (cstm != null)
  72. {
  73. try
  74. {
  75. cstm.close();
  76. }
  77. catch (SQLException e)
  78. {
  79. logger.logWarn(e.getMessage(), e);
  80. }
  81. }
  82. }
  83. //end 增加降级历史记录
  84. //slab_comm 修改公共表信息
  85. param = new PosParameter();
  86. param.setWhereClauseParameter(0, yardAddr[0]+ StoreLay);
  87. param.setWhereClauseParameter(1, shift[0]);
  88. param.setWhereClauseParameter(2, group[0]);
  89. param.setWhereClauseParameter(3, regId[0]);
  90. param.setWhereClauseParameter(4, slabNo[0]);
  91. int updateCnt = getDao("mesdao").update("UIG040062_SLABCOMM_JH.update",param);
  92. param = new PosParameter();
  93. param.setWhereClauseParameter(0, slabNo[0]);
  94. getDao("mesdao").update("UIG040062_SLABCOMM_D_JH.update",param);
  95. //clear yard_addr
  96. param = new PosParameter();
  97. param.setWhereClauseParameter(0, slabNo[0]);
  98. getDao("mesdao").update("UIG040062_CLEAR_SLABYARD.update",param);
  99. //slab_yard 修改库存位置
  100. param = new PosParameter();
  101. param.setWhereClauseParameter(0, slabNo[0]);
  102. param.setWhereClauseParameter(1, yardAddr[0]);
  103. param.setWhereClauseParameter(2, StoreLay);
  104. int updateCnt2 = getDao("mesdao").update("UIG040062_SLABYARD.update",param);
  105. if(updateCnt < 1||updateCnt2 < 1){
  106. context.put("MESSAGES", " 保存零条记录,操作失败!");
  107. }
  108. }else if(jhType[0].equals("ZH")){
  109. //增加降级历史记录 20101227 wxy
  110. CallableStatement cstm = null;
  111. param = new PosParameter();
  112. try{
  113. cstm = this.getDao("mesdao").getCallableStatement("ORD_HIS_INSERT.call");
  114. cstm.setString(1, "B");
  115. cstm.setString(2, "S");
  116. cstm.setString(3, "");
  117. cstm.setString(4, "UIG040062");
  118. cstm.setString(5, "");
  119. cstm.setString(6, "");
  120. cstm.setString(7, "");
  121. cstm.setString(8, slabNo[0]);
  122. cstm.setString(9, "TM");
  123. cstm.setString(10, "");
  124. cstm.setString(11, "");
  125. cstm.setString(12, "");
  126. cstm.setString(13, "");
  127. cstm.execute();
  128. }catch(Exception ex){
  129. logger.logError(ex.getMessage(), ex);
  130. }finally{
  131. if (cstm != null)
  132. {
  133. try
  134. {
  135. cstm.close();
  136. }
  137. catch (SQLException e)
  138. {
  139. logger.logWarn(e.getMessage(), e);
  140. }
  141. }
  142. }
  143. //end 增加降级历史记录
  144. // slab_comm 修改公共表信息
  145. param = new PosParameter();
  146. param.setWhereClauseParameter(0, yardAddr[0]+StoreLay);
  147. param.setWhereClauseParameter(1, slabThk[0]);
  148. param.setWhereClauseParameter(2, slabWth[0]);
  149. param.setWhereClauseParameter(3, slabLen[0]);
  150. param.setWhereClauseParameter(4, slabWgt[0]);
  151. param.setWhereClauseParameter(5, scraptWgt[0]);
  152. param.setWhereClauseParameter(6, shift[0]);
  153. param.setWhereClauseParameter(7, group[0]);
  154. param.setWhereClauseParameter(8, regId[0]);
  155. param.setWhereClauseParameter(9, slabNo[0]);
  156. int updateCnt = getDao("mesdao").update("UIG040062_SLABCOMM_ZH.update",param);
  157. //clear yard_addr
  158. param = new PosParameter();
  159. param.setWhereClauseParameter(0, slabNo[0]);
  160. getDao("mesdao").update("UIG040062_CLEAR_SLABYARD.update",param);
  161. // slab_yard 修改库存位置
  162. param = new PosParameter();
  163. param.setWhereClauseParameter(0, slabNo[0]);
  164. param.setWhereClauseParameter(1, yardAddr[0]);
  165. param.setWhereClauseParameter(2, StoreLay);
  166. int updateCnt2 = getDao("mesdao").update("UIG040062_SLABYARD.update",param);
  167. //slab_comm_d 脱离订单
  168. param = new PosParameter();
  169. param.setWhereClauseParameter(0, slabNo[0]);
  170. if(updateCnt < 1||updateCnt2 < 1){
  171. context.put("MESSAGES", " 保存零条记录,操作失败!");
  172. return PosBizControlConstants.SUCCESS;
  173. }
  174. }
  175. SendProg_NIE012070(slabNo[0],ordNo[0],ordSeq[0],befOrdNo[0],befOrdSeq[0],progCd[0],befProgCd[0],"TM",slabWgt[0]);
  176. SendProg_NIE012080();
  177. }
  178. context.put("MESSAGES", " 操作成功! ");
  179. return PosBizControlConstants.SUCCESS;
  180. }
  181. public String SendProg_NIE012070(String MatNo,String sOrdNo,String sOrdSeq,String sBefOrdNo,String sBefOrdSeq,String sProgCd,String sBefProgCd,String sKind,String nwgt )
  182. {
  183. logger.logInfo("PosSaveSlabCutting---> nwgt:"+nwgt );
  184. PosContext context = new PosContext();
  185. PosMessage message = new PosMESMessageImpl();
  186. BigDecimal Wgt = new BigDecimal(nwgt);
  187. String TcId = "NIE012070";
  188. message.setTCID(TcId);
  189. message.setObject("MSG_ID",TcId);
  190. message.setObject("BEF_ORD_NO",sBefOrdNo);
  191. message.setObject("BEF_ORD_SEQ",sBefOrdSeq);
  192. message.setObject("ORD_NO",sOrdNo);
  193. message.setObject("ORD_SEQ",sOrdSeq);
  194. message.setObject("BEF_PROG_CD",sBefProgCd);
  195. message.setObject("PROG_CD",sProgCd);
  196. message.setObject("MAT_TYPE",sKind);
  197. message.setObject("MAT_NO",MatNo);
  198. message.setObject("WGT", Wgt );
  199. message.setObject("PGMID","PosSaveSlabCutting");
  200. message.setObject("REG_ID","UIG020060");
  201. context.setMessage(message);
  202. message.setTCID(TcId);
  203. String SERVICE_POSTFIX = "-service";
  204. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  205. PosBizProvider.getController().doSubController(context, false);
  206. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  207. logger.logInfo("PosSaveSlabCutting SendProg_NIE012070 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG );
  208. if (SERVICE_ERR_MSG != null)
  209. {
  210. throw new PosException(SERVICE_ERR_MSG);
  211. }
  212. return null;
  213. }
  214. public String SendProg_NIE012080()
  215. {
  216. PosContext context = new PosContext();
  217. PosMessage message = new PosMESMessageImpl();
  218. String TcId = "NIE012080";
  219. message.setTCID(TcId);
  220. message.setObject("MSG_ID",TcId);
  221. message.setObject("AA",null);
  222. context.setMessage(message);
  223. message.setTCID(TcId);
  224. String SERVICE_POSTFIX = "-service";
  225. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  226. PosBizProvider.getController().doSubController(context, false);
  227. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  228. logger.logInfo("PosSaveSlabCutting SendProg_NIE012080 SERVICE_ERR_MSG:"+SERVICE_ERR_MSG );
  229. if (SERVICE_ERR_MSG != null)
  230. {
  231. throw new PosException(SERVICE_ERR_MSG);
  232. }
  233. return null;
  234. }
  235. }