a6b73f650efa6d46d098534e130de2925a6e4a7a.svn-base 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. package xin.glue.ui.G.G02;
  2. import java.math.BigDecimal;
  3. import com.posdata.glue.biz.activity.PosActivity;
  4. import com.posdata.glue.biz.constants.PosBizControlConstants;
  5. import com.posdata.glue.biz.control.PosBizControlIF;
  6. import com.posdata.glue.biz.control.PosBizProvider;
  7. import com.posdata.glue.context.PosContext;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRow;
  10. import com.posdata.glue.dao.vo.PosRowSet;
  11. import com.posdata.glue.msg.PosMESMessageImpl;
  12. import com.posdata.glue.msg.PosMessage;
  13. /*
  14. * 连铸实绩的插入与保存
  15. * @author 王小炎
  16. * @data 2008.08.20
  17. */
  18. public class PosSaveCCMResult extends PosActivity
  19. {
  20. public String runActivity(PosContext context)
  21. {
  22. // 从前台获取参数
  23. String[] status = (String[])context.get("status");
  24. String[] CHARGE_NO = (String[])context.get("CHARGE_NO");
  25. String[] PLAN_CHARGE_NO = (String[])context.get("PLAN_CHARGE_NO");
  26. String[] CAST_END_YN = (String[])context.get("CAST_END_YN");
  27. String[] XIN_DATE = (String[])context.get("XIN_DATE");
  28. String[] CC_DEVNO = (String[])context.get("CC_DEVNO");
  29. String[] WKSHIFT = (String[])context.get("WKSHIFT");
  30. String[] WKGROUP = (String[])context.get("WKGROUP");
  31. String[] REG_ID = (String[])context.get("REG_ID");
  32. String[] STLMELT_WGT = (String[])context.get("STLMELT_WGT");
  33. String[] CC_END_STLMELT_USE_WGT = (String[])context.get("CC_END_STLMELT_USE_WGT");
  34. String[] REM_WGT_IN_TD = (String[])context.get("REM_WGT_IN_TD");
  35. String[] CC_YIELD = (String[])context.get("CC_YIELD");
  36. String[] STLMELT_TEMP = (String[])context.get("STLMELT_TEMP");
  37. String PlanChNo = null;
  38. if (PLAN_CHARGE_NO[0] == null || PLAN_CHARGE_NO[0].equals("")) {
  39. PlanChNo = '3'+CHARGE_NO[0].substring(1,10);
  40. } else {
  41. PlanChNo = PLAN_CHARGE_NO[0];
  42. }
  43. PosParameter paramA = new PosParameter();
  44. paramA.setWhereClauseParameter(0, PlanChNo);
  45. PosRowSet L2Send = this.getDao("mesdao").find("UIG020020_L2_SEND_CHARGE.select", paramA);
  46. if(!L2Send.hasNext()){
  47. return PosBizControlConstants.SUCCESS;
  48. }
  49. if(status.length>0)
  50. {
  51. String sql = "SELECT CHARGE_NO FROM TBG02_CC_RESULT WHERE CHARGE_NO = ?";
  52. PosParameter posparam = new PosParameter();
  53. posparam.setWhereClauseParameter(0, CHARGE_NO[0]);
  54. PosRowSet rowset = getDao("mesdao").findByQueryStatement(sql, posparam);
  55. PosParameter param = new PosParameter();
  56. if(rowset.hasNext()){
  57. // 设置sql语句参数值
  58. param.setWhereClauseParameter(0, CAST_END_YN[0]);
  59. param.setWhereClauseParameter(1, XIN_DATE[0]);
  60. param.setWhereClauseParameter(2, CC_DEVNO[0]);
  61. param.setWhereClauseParameter(3, WKSHIFT[0]);
  62. param.setWhereClauseParameter(4, WKGROUP[0]);
  63. param.setWhereClauseParameter(5, REG_ID[0]);
  64. param.setWhereClauseParameter(6, STLMELT_WGT[0]);
  65. param.setWhereClauseParameter(7, CC_END_STLMELT_USE_WGT[0]);
  66. param.setWhereClauseParameter(8, REM_WGT_IN_TD[0]);
  67. param.setWhereClauseParameter(9, CC_YIELD[0]);
  68. param.setWhereClauseParameter(10, STLMELT_TEMP[0]);
  69. param.setWhereClauseParameter(11, CHARGE_NO[0]);
  70. getDao("mesdao").update("UIG020070_02.update", param);
  71. }else{
  72. param.setValueParamter(0, CAST_END_YN[0]);
  73. param.setValueParamter(1, XIN_DATE[0]);
  74. param.setValueParamter(2, CC_DEVNO[0]);
  75. param.setValueParamter(3, WKSHIFT[0]);
  76. param.setValueParamter(4, WKGROUP[0]);
  77. param.setValueParamter(5, REG_ID[0]);
  78. param.setValueParamter(6, STLMELT_WGT[0]);
  79. param.setValueParamter(7, CC_END_STLMELT_USE_WGT[0]);
  80. param.setValueParamter(8, REM_WGT_IN_TD[0]);
  81. param.setValueParamter(9, CC_YIELD[0]);
  82. param.setValueParamter(10, STLMELT_TEMP[0]);
  83. param.setValueParamter(11, CHARGE_NO[0]);
  84. param.setValueParamter(12, PLAN_CHARGE_NO[0]);
  85. getDao("mesdao").insert("UIG020070_02.insert", param);
  86. String STATUS_CD = null;
  87. paramA = new PosParameter();
  88. paramA.setWhereClauseParameter(0, PlanChNo);
  89. PosRowSet specChVo = this.getDao("mesdao").find("NIG020200_SPEC_CHARGE.select", paramA);
  90. if (specChVo.hasNext()) {
  91. PosRow specChROW = specChVo.next();
  92. STATUS_CD = (String) specChROW.getAttribute("STATUS_CD");
  93. }
  94. if ( STATUS_CD == null || (STATUS_CD != null && (STATUS_CD.equals("A") || STATUS_CD.equals("B")))) {
  95. //param = new PosParameter();
  96. //String sProgCd = "JJB";
  97. //param.setValueParamter(0, sProgCd);
  98. //param.setValueParamter(1, "B");
  99. //param.setValueParamter(2, PlanChNo);
  100. param = new PosParameter();
  101. param.setValueParamter(0, "B" );
  102. param.setValueParamter(1, PlanChNo );
  103. this.getDao("mesdao").update("NIG020200_SPEC_PROG_02.update", param);
  104. this.getDao("mesdao").update("NIG020200_SPEC_CHARGE_IDX.update", param);
  105. if(STATUS_CD == null||(STATUS_CD != null&& STATUS_CD.equals("A"))){
  106. this.getDao("mesdao").update("NIG020610_SPEC_SLAB.update", param);
  107. param = new PosParameter();
  108. param.setWhereClauseParameter(0,PlanChNo);
  109. PosRowSet specslabVo = this.getDao("mesdao").find("NIG020210_SPEC_SLAB.select", param);
  110. while(specslabVo.hasNext()) {
  111. PosRow specslabROW = specslabVo.next();
  112. Number SlabEdtSeq = (Number)specslabROW.getAttribute("SLAB_EDT_SEQ");
  113. param = new PosParameter();
  114. param.setValueParamter(0, "B" );
  115. param.setValueParamter(1, SlabEdtSeq );
  116. this.getDao("mesdao").update("NIG020610_SPEC_SLAB_D.update", param);
  117. }
  118. }
  119. }
  120. }
  121. BigDecimal TapWgt = null;
  122. if(STLMELT_WGT[0] == null || STLMELT_WGT[0].equals("")) {
  123. TapWgt = new BigDecimal(0);
  124. } else {
  125. TapWgt = new BigDecimal(STLMELT_WGT[0]) ;
  126. }
  127. saveMaster(CHARGE_NO[0],PlanChNo,TapWgt,CC_DEVNO[0]);
  128. }
  129. return PosBizControlConstants.SUCCESS;
  130. }
  131. public void saveMaster(String ChargeNo,String PlanChNo,BigDecimal wgt,String ccmNo )
  132. {
  133. String PRODNM_CD = null;
  134. String STL_GRD = null;
  135. String LINE_PROC_CD = null;
  136. String HCR_CLF = null;
  137. String SPEC_ABBSYM = null;
  138. String CAST_MANA_NO = null;
  139. Number CAST_CHARGE_SEQ = null;
  140. String CHARGE_MANA_NO = null;
  141. Number CAST_EDT_CHARGE_CNT = null;
  142. PosParameter paramA = new PosParameter();
  143. paramA.setWhereClauseParameter(0, PlanChNo);
  144. PosRowSet specChVo = this.getDao("mesdao").find("NIG020200_SPEC_CHARGE.select", paramA);
  145. if (specChVo.hasNext()) {
  146. PosRow specChROW = specChVo.next();
  147. PRODNM_CD = (String)specChROW.getAttribute("PRODNM_CD");
  148. STL_GRD = (String)specChROW.getAttribute("STL_GRD");
  149. LINE_PROC_CD = (String)specChROW.getAttribute("LINE_PROC_CD");
  150. HCR_CLF = (String)specChROW.getAttribute("HCR_CLF");
  151. SPEC_ABBSYM = (String)specChROW.getAttribute("SPEC_ABBSYM");
  152. CAST_MANA_NO = (String)specChROW.getAttribute("CAST_MANA_NO");
  153. CAST_CHARGE_SEQ = (Number)specChROW.getAttribute("CAST_CHARGE_SEQ");
  154. CHARGE_MANA_NO = (String)specChROW.getAttribute("CHARGE_MANA_NO");
  155. CAST_EDT_CHARGE_CNT = (Number)specChROW.getAttribute("CAST_EDT_CHARGE_CNT");
  156. }
  157. PosParameter param8 = new PosParameter();
  158. param8.setWhereClauseParameter(0, ChargeNo);
  159. PosRowSet chComVo = this.getDao("mesdao").find("UIG020020_CH_COM.select", param8);
  160. String BefProg = null;
  161. String CurrProg = null;
  162. Number TapWgt = null;
  163. if (chComVo.hasNext()) {
  164. PosRow chComROW = chComVo.next();
  165. BefProg = (String)chComROW.getAttribute("CUR_PROG_CD");
  166. TapWgt = (Number)chComROW.getAttribute("BOF_TAPPING_WGT");
  167. CurrProg = "JJB";
  168. PosParameter param9 = new PosParameter();
  169. param9.setValueParamter(0, CurrProg );
  170. param9.setValueParamter(1, "UIG020070");
  171. param9.setValueParamter(2, TapWgt);
  172. param9.setValueParamter(3, wgt);
  173. param9.setValueParamter(4, ccmNo);
  174. param9.setValueParamter(5, ChargeNo );
  175. this.getDao("mesdao").update("UIG020070_CH_COM.update", param9);
  176. } else {
  177. PosParameter param10 = new PosParameter();
  178. param10.setValueParamter(0, ChargeNo );
  179. param10.setValueParamter(1, CHARGE_MANA_NO );
  180. param10.setValueParamter(2, STL_GRD );
  181. param10.setValueParamter(3, PRODNM_CD );
  182. param10.setValueParamter(4, LINE_PROC_CD );
  183. param10.setValueParamter(5, HCR_CLF );
  184. param10.setValueParamter(6, SPEC_ABBSYM );
  185. param10.setValueParamter(7, CAST_MANA_NO );
  186. param10.setValueParamter(8, CAST_CHARGE_SEQ);
  187. param10.setValueParamter(9, CAST_EDT_CHARGE_CNT);
  188. param10.setValueParamter(10, CurrProg);
  189. param10.setValueParamter(11, "UIG020070");
  190. param10.setValueParamter(12, wgt);
  191. param10.setValueParamter(13, wgt);
  192. param10.setValueParamter(14, ccmNo);
  193. this.getDao("mesdao").update("UIG020020_CH_COM.insert", param10);
  194. PosParameter param9 = new PosParameter();
  195. param9.setWhereClauseParameter(0, ChargeNo);
  196. PosRowSet specSlabVo = this.getDao("mesdao").find("NIG020200_SPEC_SLAB.select", param9);
  197. while(specSlabVo.hasNext()) {
  198. PosRow SlabSpecROW = specSlabVo.next();
  199. Number sSlabEdtSeq= (Number)SlabSpecROW.getAttribute("SLAB_EDT_SEQ");
  200. String sPlanSlabNo= (String)SlabSpecROW.getAttribute("SLAB_MANA_NO");
  201. String sStlGrd = (String)SlabSpecROW.getAttribute("STL_GRD");
  202. Number sSlabThk = (Number)SlabSpecROW.getAttribute("SLAB_THK");
  203. Number sSlabWth = (Number)SlabSpecROW.getAttribute("SLAB_WTH");
  204. Number sSlabLen = (Number)SlabSpecROW.getAttribute("SLAB_LEN");
  205. Number sSlabWgt = (Number)SlabSpecROW.getAttribute("SLAB_WGT");
  206. String sProdNmCd = (String)SlabSpecROW.getAttribute("PRODNM_CD");
  207. String sOrdFl = (String)SlabSpecROW.getAttribute("ORD_FL");
  208. String sOrdNo = (String)SlabSpecROW.getAttribute("ORD_NO");
  209. String sOrdSeq = (String)SlabSpecROW.getAttribute("ORD_SEQ");
  210. String sHcrClf = (String)SlabSpecROW.getAttribute("HCR_CLF");
  211. String sSpecAbbsym= (String)SlabSpecROW.getAttribute("SPEC_ABBSYM");
  212. Number ORD_THK = (Number)SlabSpecROW.getAttribute("ORD_THK");
  213. Number ORD_WTH = (Number)SlabSpecROW.getAttribute("ORD_WTH");
  214. Number ORD_LEN = (Number)SlabSpecROW.getAttribute("ORD_LEN");
  215. Number ORD_WGT = (Number)SlabSpecROW.getAttribute("ORD_WGT");
  216. Number COIL_INDIA = (Number)SlabSpecROW.getAttribute("COIL_INDIA");
  217. Number COIL_OUTDIA= (Number)SlabSpecROW.getAttribute("COIL_OUTDIA");
  218. String sSlabSeq = sPlanSlabNo.substring(10,13);
  219. String sSlabNo = ChargeNo+sSlabSeq;
  220. PosParameter param1 = new PosParameter();
  221. param1.setWhereClauseParameter(0, sSlabNo);
  222. PosRowSet CreatSlabVo = getDao("mesdao").find("NIG020200_CREATE_SLAB.select", param1);
  223. if (!CreatSlabVo.hasNext() ) {
  224. PosParameter param2 = new PosParameter();
  225. param2.setValueParamter(0, sSlabNo );
  226. param2.setValueParamter(1, sPlanSlabNo );
  227. param2.setValueParamter(2, sStlGrd );
  228. param2.setValueParamter(3, sSlabThk );
  229. param2.setValueParamter(4, sSlabWth );
  230. param2.setValueParamter(5, sSlabLen );
  231. param2.setValueParamter(6, sSlabWgt );
  232. param2.setValueParamter(7, sProdNmCd );
  233. param2.setValueParamter(8, sOrdFl );
  234. param2.setValueParamter(9, sOrdNo );
  235. param2.setValueParamter(10, sOrdSeq );
  236. param2.setValueParamter(11, sHcrClf );
  237. param2.setValueParamter(12, sSpecAbbsym );
  238. param2.setValueParamter(13, sOrdFl );
  239. param2.setValueParamter(14, sOrdNo );
  240. param2.setValueParamter(15, sOrdSeq );
  241. param2.setValueParamter(16, ORD_THK );
  242. param2.setValueParamter(17, ORD_WTH );
  243. param2.setValueParamter(18, ORD_LEN );
  244. param2.setValueParamter(19, COIL_INDIA );
  245. param2.setValueParamter(20, COIL_OUTDIA );
  246. param2.setValueParamter(21, ORD_WGT );
  247. getDao("mesdao").update("NIG020200_CREATE_SLAB.insert",param2);
  248. PosParameter param3 = new PosParameter();
  249. param3.setWhereClauseParameter(0, sSlabEdtSeq);
  250. PosRowSet CreatSlabDVo = getDao("mesdao").find("NIG020200_SPEC_SLAB_D.select", param3);
  251. while( CreatSlabDVo.hasNext()) {
  252. PosRow CreatSlabDROW = CreatSlabDVo.next();
  253. String S_SLAB_CUT_SEQ = (String)CreatSlabDROW.getAttribute("SLAB_CUT_SEQ");
  254. Number S_SLAB_THK = (Number)CreatSlabDROW.getAttribute("SLAB_THK");
  255. Number S_SLAB_WTH = (Number)CreatSlabDROW.getAttribute("SLAB_WTH");
  256. Number S_SLAB_LEN = (Number)CreatSlabDROW.getAttribute("SLAB_LEN");
  257. //Number S_SLAB_WGT = (Number)CreatSlabDROW.getAttribute("SLAB_WGT");
  258. Number S_ORD_THK = (Number)CreatSlabDROW.getAttribute("ORD_THK");
  259. Number S_ORD_WTH = (Number)CreatSlabDROW.getAttribute("ORD_WTH");
  260. Number S_ORD_LEN = (Number)CreatSlabDROW.getAttribute("ORD_LEN");
  261. Number S_ORD_WGT = (Number)CreatSlabDROW.getAttribute("ORD_WGT");
  262. Number S_COIL_INDIA = (Number)CreatSlabDROW.getAttribute("COIL_INDIA");
  263. Number S_COIL_OUTDIA = (Number)CreatSlabDROW.getAttribute("COIL_OUTDIA");
  264. String S_ORD_NO = (String)CreatSlabDROW.getAttribute("ORD_NO");
  265. String S_ORD_SEQ = (String)CreatSlabDROW.getAttribute("ORD_SEQ");
  266. String S_ORD_FL = (String)CreatSlabDROW.getAttribute("ORD_FL");
  267. PosParameter param5 = new PosParameter();
  268. param5.setWhereClauseParameter(0, sSlabNo);
  269. PosRowSet SalbDVo = getDao("mesdao").find("NIG020200_CREATE_SLAB_D.select", param5);
  270. if (!SalbDVo.hasNext()) {
  271. PosParameter param4 = new PosParameter();
  272. param4.setValueParamter(0, sSlabNo );
  273. param4.setValueParamter(1, S_SLAB_CUT_SEQ );
  274. param4.setValueParamter(2, S_SLAB_THK );
  275. param4.setValueParamter(3, S_SLAB_WTH );
  276. param4.setValueParamter(4, S_SLAB_LEN );
  277. param4.setValueParamter(5, S_ORD_THK );
  278. param4.setValueParamter(6, S_ORD_WTH );
  279. param4.setValueParamter(7, S_ORD_LEN );
  280. param4.setValueParamter(8, S_ORD_WGT );
  281. param4.setValueParamter(9, S_COIL_INDIA );
  282. param4.setValueParamter(10, S_COIL_OUTDIA );
  283. param4.setValueParamter(11, S_ORD_NO );
  284. param4.setValueParamter(12, S_ORD_SEQ );
  285. param4.setValueParamter(13, S_ORD_FL );
  286. getDao("mesdao").update("NIG020200_CREATE_SLAB_D.insert",param4);
  287. }
  288. }
  289. }
  290. }
  291. }
  292. SendProg_NIE012070(PlanChNo,BefProg,wgt);
  293. SendProg_NIE012080();
  294. }
  295. public PosContext SendProg_NIE012070(String ChargeNo,String BefProg,BigDecimal wgt )
  296. {
  297. // BigDecimal wgt = new BigDecimal();
  298. PosContext context = new PosContext();
  299. PosMessage message = new PosMESMessageImpl();
  300. String TcId = "NIE012070";
  301. message.setTCID(TcId);
  302. message.setObject("MSG_ID",TcId);
  303. message.setObject("BEF_ORD_NO",null);
  304. message.setObject("BEF_ORD_SEQ",null);
  305. message.setObject("ORD_NO",null);
  306. message.setObject("ORD_SEQ",null);
  307. message.setObject("BEF_PROG_CD",BefProg);
  308. message.setObject("PROG_CD","JJB");
  309. message.setObject("MAT_TYPE","CH");
  310. message.setObject("MAT_NO",ChargeNo);
  311. message.setObject("WGT", wgt );
  312. message.setObject("PGMID","UIG020030");
  313. message.setObject("REG_ID","UIG020030");
  314. message.setTCID(TcId);
  315. context.setMessage(message);
  316. String serviceName = "NIE012070";
  317. String SERVICE_POSTFIX = "-service";
  318. context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
  319. PosBizControlIF controller = PosBizProvider.getController();
  320. controller.doSubController(context,false);
  321. logger.logInfo("XinSaveBofResult---> NIE012070 TC SendProgress end" );
  322. return null;
  323. }
  324. public PosContext SendProg_NIE012080()
  325. {
  326. logger.logInfo("XinSaveBofResult SendProg_NIE012080 " );
  327. PosContext context = new PosContext();
  328. PosMessage message = new PosMESMessageImpl();
  329. String TcId = "NIE012080";
  330. message.setTCID(TcId);
  331. message.setObject("MSG_ID",TcId);
  332. message.setObject("AA",null);
  333. message.setTCID(TcId);
  334. context.setMessage(message);
  335. // this.processComponent(PosConstants.CREATE_MESSAGE, context);
  336. // String transactionCode = context.getMessage().getTC();
  337. String serviceName = "NIE012080";
  338. String SERVICE_POSTFIX = "-service";
  339. context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
  340. // context.setMessage(message);
  341. PosBizControlIF controller = PosBizProvider.getController();
  342. controller.doSubController(context,false);
  343. logger.logInfo("XinSaveBofResult---> NIE012080 TC SendProgress end" );
  344. return null;
  345. }
  346. }