668b2c09191e69e10068385e77518fe04f75943c.svn-base 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. package xin.glue.ui.B.B02;
  2. import java.math.BigDecimal;
  3. import java.sql.CallableStatement;
  4. import java.sql.SQLException;
  5. import org.apache.commons.lang.StringUtils;
  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.PosGenericDao;
  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. /**
  18. *
  19. * @Description 板坯缺陷录入与措施{界面ID:UIB020220}
  20. * @author 梅贵平{meiguiping}
  21. * @date 2008-11-12 上午11:38:23
  22. * @JDK Version jdk1.4.2
  23. */
  24. public class SaveSlabDefectMeasure extends PosActivity
  25. {
  26. public String runActivity(PosContext context)
  27. {
  28. PosGenericDao dao = this.getDao("mesdao");
  29. PosRowSet rowset = null;
  30. PosRow row = null;
  31. CallableStatement cstm = null;
  32. //add
  33. //modify
  34. String[] SlabDec = (String[])context.get("SlabDec");//板坯改判标记
  35. //modify
  36. String OSFL = "";
  37. String MILLFL = "";
  38. //modify
  39. try
  40. {
  41. PosParameter param = null;
  42. // MILLLvlCan MC = new MILLLvlCan();//发送信息到进程管理
  43. String[] SLAB_NO = (String[])context.get("SLAB_NO"); //板坯号
  44. String[] EXTSHAPE_GRD = (String[])context.get("EXTSHAPE_GRD");//板坯外观等级
  45. String[] SF_METHOD = (String[])context.get("SF_METHOD"); //板坯修整方法
  46. String[] STL_GRD = (String[])context.get("STL_GRD"); //厂内钢号
  47. String[] BEF_STL_GRD = (String[])context.get("BEF_STL_GRD"); //原厂内钢号
  48. String[] SLAB_RT = (String[])context.get("SLAB_RT");//板坯去向(生产线)
  49. String[] SLAB_STAT = (String[])context.get("SLAB_STAT");//库存状态
  50. String[] CRK1 =(String[])context.get("CRK1");//缺陷1(包括缺陷代码+上表面T或下表面B)
  51. String[] CRK2 =(String[])context.get("CRK2");//缺陷2(包括缺陷代码+上表面T或下表面B)
  52. String[] CRK3 =(String[])context.get("CRK3");//缺陷3(包括缺陷代码+上表面T或下表面B)
  53. String[] CRK4 =(String[])context.get("CRK4");//缺陷4(包括缺陷代码+上表面T或下表面B)
  54. String[] CRK5 =(String[])context.get("CRK5");//缺陷5(包括缺陷代码+上表面T或下表面B)
  55. String[] CRK6 =(String[])context.get("CRK6");//缺陷6(包括缺陷代码+上表面T或下表面B)
  56. String[] CRK7 =(String[])context.get("CRK7");//缺陷7(包括缺陷代码+上表面T或下表面B)
  57. String[] CRK8 =(String[])context.get("CRK8");//缺陷8(包括缺陷代码+上表面T或下表面B)
  58. String[] CRK9 =(String[])context.get("CRK9");//缺陷9(包括缺陷代码+上表面T或下表面B)
  59. String[] CRK10=(String[])context.get("CRK10");//缺陷10(包括缺陷代码+上表面T或下表面B)
  60. String[] spotCheck = (String[])context.get("SPOT_CHECK_REMARK");//抽查备注
  61. String[] copingCheck = (String[])context.get("COPING_REMARK");//修磨备注
  62. String[] qbThick = (String[])context.get("qbThick");//全剥厚度
  63. String[] rowStatus4 = (String[])context.get("rowStatus4"); //针对两个备注
  64. String[]EXTSHAPE_GRD1 = (String[])context.get("EXTSHAPE_GRD1");//用于比较修改前和修改后的
  65. String[]SF_METHOD1 = (String[])context.get("SF_METHOD1");//用于比较修改前和修改后的
  66. String[]V_REG_ID = (String[])context.get("REG_NM");//登录人
  67. //精整
  68. String[]rowStatus3 = (String[])context.get("rowStatus3"); //针对精整
  69. String[]CHK = (String[])context.get("CHK");
  70. // String[]SM_CFNM = (String[])context.get("SM_CFNM");//待精整、精整、或精整完成
  71. String[] rowStatus = (String[])context.get("rowStatus");
  72. String[]rowStatus2 = (String[])context.get("rowStatus2"); //针对外观检验
  73. int j =0;
  74. if(rowStatus != null && SlabDec == null)
  75. {
  76. for(int i=0; i < rowStatus.length; i++)
  77. {
  78. if("Y".equals(rowStatus4[i]) || (StringUtils.isBlank(spotCheck[i]) || StringUtils.isBlank(copingCheck[i])))//判断是否录入了备注还是删除了备注
  79. {
  80. String sql1 = "SELECT NVL(T1.V_COUNT,0) V_COUNT, T2.HOT_ROLL_REQ_DATE FROM TBG02_SLAB_COMM T "
  81. + "LEFT JOIN (SELECT SUM(1) V_COUNT, TT.BILLET_XN FROM SCC_BOARD_STEELPLAN_LOG TT "
  82. + " GROUP BY TT.BILLET_XN) T1 ON T.DSN_SLAB_NO = T1.BILLET_XN "
  83. + "LEFT JOIN TBF01_SPEC_SLAB T2 ON T.PLAN_SLAB_NO = T2.SLAB_MANA_NO "
  84. + " WHERE T.SLAB_NO = ?";
  85. param = new PosParameter();
  86. param.setWhereClauseParameter(0, SLAB_NO[i]);
  87. rowset = dao.findByQueryStatement(sql1, param);
  88. if (rowset.hasNext())
  89. {
  90. row = rowset.next();
  91. String HOT_ROLL_REQ_DATE = (String)row.getAttribute("HOT_ROLL_REQ_DATE");
  92. int V_COUNT = ((BigDecimal)row.getAttribute("V_COUNT")).intValue();
  93. if("JH".equals(HOT_ROLL_REQ_DATE) || V_COUNT > 0){
  94. return PosBizControlConstants.SUCCESS;
  95. }
  96. }
  97. int flag = 0;
  98. String sql = "select * from TBZ01_REMARK_COMM where SLAB_NO = ?";
  99. param = new PosParameter();
  100. param.setWhereClauseParameter(0, SLAB_NO[i]);
  101. rowset = this.getDao("mesdao").findByQueryStatement(sql,param);
  102. if(rowset.hasNext()){
  103. row = rowset.next();
  104. String COPING_REMARK = row.getAttribute("COPING_REMARK") == null?"":(String) row.getAttribute("COPING_REMARK");
  105. if(!COPING_REMARK.contains("修磨好") && !COPING_REMARK.contains("全剥已好")){
  106. if(copingCheck[i].contains("全剥已好"))
  107. {
  108. param = new PosParameter();
  109. param.setWhereClauseParameter(0, qbThick[0]);
  110. param.setWhereClauseParameter(1, qbThick[0]);
  111. param.setWhereClauseParameter(2, SLAB_NO[i]);
  112. dao.update("UIB020220_08.UPDATE",param);
  113. flag = 1;
  114. }else if(copingCheck[i].contains("修磨好")){
  115. param = new PosParameter();
  116. param.setWhereClauseParameter(0, SLAB_NO[i]);
  117. dao.update("UIB020220_07.UPDATE",param);
  118. flag = 1;
  119. }
  120. }
  121. param = new PosParameter();
  122. param.setWhereClauseParameter(0, copingCheck[i]);
  123. param.setWhereClauseParameter(1, spotCheck[i]);
  124. param.setWhereClauseParameter(2, V_REG_ID[0]);
  125. param.setWhereClauseParameter(3, SLAB_NO[i]);
  126. dao.update("UIB020220_03.UPDATE", param);
  127. }else{
  128. if(StringUtils.isNotBlank(spotCheck[i]) || StringUtils.isNotBlank(copingCheck[i])){
  129. param = new PosParameter();
  130. param.setWhereClauseParameter(0, SLAB_NO[i]);
  131. param.setWhereClauseParameter(1, copingCheck[i]);
  132. param.setWhereClauseParameter(2, spotCheck[i]);
  133. param.setWhereClauseParameter(3, V_REG_ID[0]);
  134. dao.update("UIB020220_03.INSERT", param);
  135. if(copingCheck[i].contains("全剥已好"))
  136. {
  137. param = new PosParameter();
  138. param.setWhereClauseParameter(0, qbThick[0]);
  139. param.setWhereClauseParameter(1, qbThick[0]);
  140. param.setWhereClauseParameter(2, SLAB_NO[i]);
  141. dao.update("UIB020220_08.UPDATE",param);
  142. flag = 1;
  143. }else if(copingCheck[i].contains("修磨好")){
  144. param = new PosParameter();
  145. param.setWhereClauseParameter(0, SLAB_NO[i]);
  146. dao.update("UIB020220_07.UPDATE",param);
  147. flag = 1;
  148. }
  149. }
  150. }
  151. /*财务数据上抛*/
  152. if(flag == 1){
  153. cstm = null;
  154. try
  155. {
  156. cstm = this.getDao("mesdao").getCallableStatement("UPLOAD_DATA.CAL");
  157. cstm.setString(1, SLAB_NO[i]);
  158. cstm.setString(2, "11AA");
  159. cstm.setString(3, "N");
  160. cstm.setString(4, "修磨磅重核减");
  161. cstm.setString(5, V_REG_ID[0]);
  162. cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
  163. cstm.execute();
  164. String err = cstm.getString(6);
  165. /*if(!org.apache.commons.lang.StringUtils.isBlank(cstm.getString(6))){
  166. context.put("MESSAGES","数据上传失败:" + err);
  167. return PosBizControlConstants.SUCCESS;
  168. }*/
  169. }catch(Exception ex){
  170. ex.printStackTrace();
  171. /*context.put("MESSAGES","Exception:" + ex.getMessage());
  172. return PosBizControlConstants.SUCCESS;*/
  173. }
  174. finally{
  175. if(cstm != null){
  176. try{
  177. cstm.close();
  178. }catch(Exception e)
  179. {
  180. e.printStackTrace();
  181. }
  182. }
  183. }
  184. }
  185. }
  186. if("Y".equals(rowStatus3[i]))//判断是否操作了精整
  187. {
  188. if("D".equals(SF_METHOD[i]))//待精整
  189. {
  190. param = new PosParameter();
  191. param.setWhereClauseParameter(0, V_REG_ID[0]);
  192. param.setWhereClauseParameter(1, SLAB_NO[i]);
  193. dao.update("UIB020220_04.UPDATE", param);
  194. }
  195. else if("E".equals(SF_METHOD[i]))//精整完成
  196. {
  197. param = new PosParameter();
  198. param.setWhereClauseParameter(0, V_REG_ID[0]);
  199. param.setWhereClauseParameter(1, SLAB_NO[i]);
  200. dao.update("UIB020220_06.UPDATE", param);
  201. }
  202. else//精整操作
  203. {
  204. param = new PosParameter();
  205. param.setWhereClauseParameter(0, V_REG_ID[0]);
  206. param.setWhereClauseParameter(1, SF_METHOD[0]);
  207. param.setWhereClauseParameter(2, SLAB_NO[i]);
  208. dao.update("UIB020220_05.UPDATE", param);
  209. }
  210. }
  211. if("Y".equals(rowStatus2[i]))
  212. {
  213. //外观判定
  214. j = 0;
  215. param = new PosParameter();
  216. param.setWhereClauseParameter(j++, EXTSHAPE_GRD[i]);//板坯外观等级
  217. param.setWhereClauseParameter(j++, CRK1[i].length()==3?CRK1[i].substring(0, 2):"");//取得前两位
  218. param.setWhereClauseParameter(j++, CRK1[i].length()==3?CRK1[i].substring(2):"");//取得第三位
  219. param.setWhereClauseParameter(j++, CRK2[i].length()==3?CRK2[i].substring(0, 2):"");//取得前两位
  220. param.setWhereClauseParameter(j++, CRK2[i].length()==3?CRK2[i].substring(2):"");//取得第三位
  221. param.setWhereClauseParameter(j++, CRK3[i].length()==3?CRK3[i].substring(0, 2):"");//取得前两位
  222. param.setWhereClauseParameter(j++, CRK3[i].length()==3?CRK3[i].substring(2):"");//取得第三位
  223. param.setWhereClauseParameter(j++, CRK4[i].length()==3?CRK4[i].substring(0, 2):"");//取得前两位
  224. param.setWhereClauseParameter(j++, CRK4[i].length()==3?CRK4[i].substring(2):"");//取得第三位
  225. param.setWhereClauseParameter(j++, CRK5[i].length()==3?CRK5[i].substring(0, 2):"");//取得前两位
  226. param.setWhereClauseParameter(j++, CRK5[i].length()==3?CRK5[i].substring(2):"");//取得第三位
  227. param.setWhereClauseParameter(j++, CRK6[i].length()==3?CRK6[i].substring(0, 2):"");//取得前两位
  228. param.setWhereClauseParameter(j++, CRK6[i].length()==3?CRK6[i].substring(2):"");//取得第三位
  229. param.setWhereClauseParameter(j++, CRK7[i].length()==3?CRK7[i].substring(0, 2):"");//取得前两位
  230. param.setWhereClauseParameter(j++, CRK7[i].length()==3?CRK7[i].substring(2):"");//取得第三位
  231. param.setWhereClauseParameter(j++, CRK8[i].length()==3?CRK8[i].substring(0, 2):"");//取得前两位
  232. param.setWhereClauseParameter(j++, CRK8[i].length()==3?CRK8[i].substring(2):"");//取得第三位
  233. param.setWhereClauseParameter(j++, CRK9[i].length()==3?CRK9[i].substring(0, 2):"");//取得前两位
  234. param.setWhereClauseParameter(j++, CRK9[i].length()==3?CRK9[i].substring(2):"");//取得第三位
  235. param.setWhereClauseParameter(j++, CRK10[i].length()==3?CRK10[i].substring(0, 2):"");//取得前两位
  236. param.setWhereClauseParameter(j++, CRK10[i].length()==3?CRK10[i].substring(2):"");//取得第三位
  237. param.setWhereClauseParameter(j++, V_REG_ID[0]);//外观判定人
  238. param.setWhereClauseParameter(j++, SLAB_NO[i]);//板坯号
  239. dao.update("UIB020220_02.UPDATE", param);
  240. }
  241. //将外观判定记录保存到板坯历史表中
  242. if("Y".equals(rowStatus2[i]) || "Y".equals(rowStatus3[i])) {
  243. try {
  244. StringBuffer desc = new StringBuffer("");
  245. if(StringUtils.isNotEmpty(SF_METHOD[i])) {
  246. param = new PosParameter();
  247. param.setWhereClauseParameter(0, SF_METHOD[i]);
  248. PosRowSet rowset1 = dao.find("UIB020220_09_SELECT", param);
  249. if(rowset1.hasNext()) {
  250. PosRow row1 = rowset1.next();
  251. desc.append("精整:" + row1.getAttribute("SM_CFNM") + ";");
  252. }
  253. }
  254. //查缺陷中文名
  255. desc.append(findCRKCN((CRK1[i].length()==3?CRK1[i].substring(0, 2):""),CRK1[i].length()==3?CRK1[i].substring(2):"",1));
  256. desc.append(findCRKCN((CRK2[i].length()==3?CRK2[i].substring(0, 2):""),CRK2[i].length()==3?CRK2[i].substring(2):"",2));
  257. desc.append(findCRKCN((CRK3[i].length()==3?CRK3[i].substring(0, 2):""),CRK3[i].length()==3?CRK3[i].substring(2):"",3));
  258. desc.append(findCRKCN((CRK4[i].length()==3?CRK4[i].substring(0, 2):""),CRK4[i].length()==3?CRK4[i].substring(2):"",4));
  259. desc.append(findCRKCN((CRK5[i].length()==3?CRK5[i].substring(0, 2):""),CRK5[i].length()==3?CRK5[i].substring(2):"",5));
  260. desc.append(findCRKCN((CRK6[i].length()==3?CRK6[i].substring(0, 2):""),CRK6[i].length()==3?CRK6[i].substring(2):"",6));
  261. desc.append(findCRKCN((CRK7[i].length()==3?CRK7[i].substring(0, 2):""),CRK7[i].length()==3?CRK7[i].substring(2):"",7));
  262. desc.append(findCRKCN((CRK8[i].length()==3?CRK8[i].substring(0, 2):""),CRK8[i].length()==3?CRK8[i].substring(2):"",8));
  263. desc.append(findCRKCN((CRK9[i].length()==3?CRK9[i].substring(0, 2):""),CRK9[i].length()==3?CRK9[i].substring(2):"",9));
  264. desc.append(findCRKCN((CRK10[i].length()==3?CRK10[i].substring(0, 2):""),CRK10[i].length()==3?CRK10[i].substring(2):"",10));
  265. param = new PosParameter();
  266. param.setValueParamter(0, EXTSHAPE_GRD[i]);//外观等级
  267. param.setValueParamter(1, V_REG_ID[0]);//外观判定人
  268. param.setValueParamter(2, desc.toString());//判定记录
  269. param.setValueParamter(3, SLAB_NO[i]);//板坯号
  270. dao.insert("UIB020220_HIS.INSERT", param);
  271. } catch (Exception e) {
  272. logger.logWarn(e.getMessage(), e);
  273. }
  274. }
  275. if(SlabDec != null)
  276. {
  277. //若板坯外观等级不为1或者板坯修整方式不为空时,调用存储过程NIB020221发送到进程管理
  278. if(!EXTSHAPE_GRD1[i].equals(EXTSHAPE_GRD[i])
  279. || !SF_METHOD1[i].equals(SF_METHOD[i] ) || "Y".equals(SlabDec[0]) )
  280. {
  281. if(!EXTSHAPE_GRD1[i].equals(EXTSHAPE_GRD[i])
  282. || !SF_METHOD1[i].equals(SF_METHOD[i] )) {
  283. cstm = dao.getCallableStatement("UIB020220_01.CALLSTATEMENT");
  284. cstm.setString(1, SLAB_NO[i]);
  285. cstm.registerOutParameter(2, java.sql.Types.VARCHAR);
  286. cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
  287. cstm.registerOutParameter(4, java.sql.Types.VARCHAR);
  288. cstm.registerOutParameter(5, java.sql.Types.VARCHAR);
  289. cstm.execute();
  290. OSFL = cstm.getString(2);
  291. MILLFL = cstm.getString(3);
  292. // System.out.println("###############################========== OSFL: "+OSFL +" =======MILLFL: "+MILLFL);
  293. // if("Y".equals(OSFL) || "Y".equals(MILLFL))//发送信息到进程管理
  294. }
  295. if("Y".equals(OSFL) || "Y".equals(SlabDec[0]) )
  296. {
  297. param = new PosParameter();
  298. param.setWhereClauseParameter(0, SLAB_NO[i]);
  299. rowset = dao.find("UIB020220_02.SELECT", param);
  300. while(rowset.hasNext())
  301. {
  302. row = rowset.next();
  303. String V_ORD_NO = row.getAttribute("ORD_NO")==null?"":row.getAttribute("ORD_NO").toString();
  304. String V_ORD_SEQ = row.getAttribute("ORD_SEQ")==null?"":row.getAttribute("ORD_SEQ").toString();
  305. long V_SLAB_WGT = Long.parseLong(row.getAttribute("SLAB_WGT")==null?"0":row.getAttribute("SLAB_WGT").toString());
  306. String V_BEF_PROG = row.getAttribute("BEF_PROG_CD")==null?"":row.getAttribute("BEF_PROG_CD").toString();
  307. String V_CUR_PROG = row.getAttribute("CUR_PROG_CD")==null?"":row.getAttribute("CUR_PROG_CD").toString();
  308. NIE012070_CALL(V_ORD_NO, V_ORD_SEQ, SLAB_NO[i], V_SLAB_WGT, V_BEF_PROG,V_CUR_PROG,"UIB020220", V_REG_ID[0]);
  309. NIE012080_CALL();
  310. }//while end
  311. //add by sunjiawang
  312. //如果已经编制到轧制计划且外观不合格则取消该对象的轧制计划
  313. //add ||"Y".equals(SlabDec[0] 改判也需要取消轧制计划
  314. if( "Y".equals(MILLFL) && ("1".equals(EXTSHAPE_GRD1[i]) || "Y".equals(SlabDec[0])))
  315. {
  316. NIF024060_CALL(SLAB_NO[i] , V_REG_ID[0]);
  317. }
  318. }// if end
  319. }//if end
  320. }//SlabDec != null end
  321. }//for end
  322. }//if end
  323. // System.out.println("#######################################"+ SlabDec + "##############"+ rowStatus);
  324. ///板坯改判,已废弃
  325. // String[] SlabDec = (String[])context.get("SlabDec");//板坯改判标记
  326. String[] ORD_FL = (String[])context.get("ORD_FL");//余才区分
  327. if(SlabDec != null && "Y".equals(SlabDec[0]) && rowStatus != null)
  328. {
  329. cstm = dao.getCallableStatement("UIB020220_02.CALLSTATEMENT");
  330. for(int i=0; i < rowStatus.length; i++)
  331. {
  332. param = new PosParameter();
  333. param.setWhereClauseParameter(0, STL_GRD[i]); //厂内钢号
  334. param.setWhereClauseParameter(1, BEF_STL_GRD[i]); //原厂内钢号
  335. param.setWhereClauseParameter(2, V_REG_ID[0]);
  336. param.setWhereClauseParameter(3, SLAB_NO[i]);
  337. dao.update("UIB020220_03.UPDATE" , param);
  338. j = 0;
  339. cstm.setString(1, SLAB_NO[i]);//需要改判的板坯号
  340. cstm.setString(2, ORD_FL[i]);
  341. cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
  342. cstm.registerOutParameter(4, java.sql.Types.VARCHAR);
  343. cstm.execute();
  344. }
  345. }
  346. }catch(Exception ex){
  347. logger.logError(ex.getMessage() , ex);
  348. }finally{
  349. if (cstm != null)
  350. {
  351. try
  352. {
  353. cstm.close();
  354. }
  355. catch (SQLException e)
  356. {
  357. logger.logWarn(e.getMessage(), e);
  358. }
  359. }
  360. }
  361. return PosBizControlConstants.SUCCESS;
  362. }
  363. //查缺陷中文名
  364. public String findCRKCN(String crk,String t,int i) {
  365. if(StringUtils.isNotEmpty(crk)) {
  366. PosParameter param = new PosParameter();
  367. param.setWhereClauseParameter(0, crk);
  368. PosRowSet rowset = this.getDao("mesdao").find("UIB020220_08_SELECT", param);
  369. if(rowset.hasNext()) {
  370. PosRow row1 = rowset.next();
  371. return "缺陷" + i + ":" + row1.getAttribute("SM_CFNM") + t + ";";
  372. }
  373. }
  374. return "";
  375. }
  376. public PosContext NIE012070_CALL(String V_ORD_NO, String V_ORD_SEQ, String V_SLAB_NO, long V_SLAB_WGT, String V_BEF_PROG ,String V_CUR_PROG , String V_PGMID , String V_REG_ID)
  377. {
  378. PosContext context = new PosContext();
  379. PosMessage message = new PosMESMessageImpl();
  380. //
  381. String TcId = "NIE012070";
  382. message.setTCID(TcId);
  383. message.setObject("MSG_ID", TcId);
  384. message.setObject("BEF_ORD_NO", "");
  385. message.setObject("BEF_ORD_SEQ", "");
  386. message.setObject("ORD_NO", V_ORD_NO);
  387. message.setObject("ORD_SEQ", V_ORD_SEQ);
  388. message.setObject("BEF_PROG_CD", V_BEF_PROG);
  389. message.setObject("PROG_CD", V_CUR_PROG);
  390. message.setObject("MAT_TYPE", "TM");
  391. message.setObject("MAT_NO", V_SLAB_NO);
  392. message.setObject("WGT", new BigDecimal(V_SLAB_WGT));
  393. message.setObject("PGMID", V_PGMID);
  394. message.setObject("REG_ID", V_REG_ID);
  395. context.setMessage(message);
  396. message.setTCID(TcId);
  397. String SERVICE_POSTFIX = "-service";
  398. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  399. PosBizProvider.getController().doSubController(context, false);
  400. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  401. if (SERVICE_ERR_MSG != null)
  402. {
  403. throw new PosException(SERVICE_ERR_MSG);
  404. }
  405. return context;
  406. }
  407. public PosContext NIE012080_CALL()
  408. {
  409. PosContext context = new PosContext();
  410. PosMessage message = new PosMESMessageImpl();
  411. String TcId = "NIE012080";
  412. message.setTCID(TcId);
  413. message.setObject("MSG_ID", TcId);
  414. message.setObject("AA", "");
  415. context.setMessage(message);
  416. message.setTCID(TcId);
  417. String SERVICE_POSTFIX = "-service";
  418. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  419. PosBizProvider.getController().doSubController(context, false);
  420. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  421. if (SERVICE_ERR_MSG != null)
  422. {
  423. throw new PosException(SERVICE_ERR_MSG);
  424. }
  425. return context;
  426. }
  427. public PosContext NIF024060_CALL(String V_SLAB_NO, String V_REG_ID)
  428. {
  429. PosContext context = new PosContext();
  430. PosMessage message = new PosMESMessageImpl();
  431. String TcId = "NIF024060";
  432. message.setTCID(TcId);
  433. message.setObject("MSG_ID", TcId);
  434. message.setObject("TYPE", "M");
  435. message.setObject("FROM" , V_SLAB_NO);
  436. message.setObject("TO" , V_SLAB_NO);
  437. message.setObject("REG_ID", V_REG_ID );
  438. context.setMessage(message);
  439. message.setTCID(TcId);
  440. String SERVICE_POSTFIX = "-service";
  441. context.put(PosBizControlConstants.SERVICE_NAME, TcId + SERVICE_POSTFIX);
  442. PosBizProvider.getController().doSubController(context, false);
  443. String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
  444. if (SERVICE_ERR_MSG != null)
  445. {
  446. throw new PosException(SERVICE_ERR_MSG);
  447. }
  448. return context;
  449. }
  450. }