779648061e402ca9eebcdf6d42b2b6546b073e57.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. package xin.glue.ui.B.B02;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.context.PosContext;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. /**
  8. * @Description 保存需要多次检验的材质信息,手工材质判定界面{界面ID:UIB020160}
  9. * @author 梅贵平{meiguiping}
  10. * @date 2008-12-24 下午04:24:05
  11. * @JDK Version jdk1.4.2
  12. */
  13. public class SaveMoreTimeQltyExp extends PosActivity
  14. {
  15. public String runActivity(PosContext context)
  16. {
  17. //生成dao及posparamter
  18. PosGenericDao dao = this.getDao("mesdao");
  19. PosParameter param= new PosParameter();
  20. ///获取请求参数
  21. String[]REG_ID = (String[])context.get("REG_ID");//登录人
  22. //获取表格1的请求参数
  23. String[] COIL_NO = (String[])context.get("COIL_NO");//钢卷号
  24. String[] QLTY_MAN_DEC_GRD = (String[])context.get("QLTY_MAN_DEC_GRD");//钢卷号的材质结果
  25. String[] QLTY_MAN_INS_TP = (String[])context.get("QLTY_MAN_INS_TP");//是否为手工判定
  26. String[] SMP_NO = (String[])context.get("SMP_NO");//试样号
  27. String[] SMP_CUT_LOC = (String[])context.get("SMP_CUT_LOC");//试样位置
  28. String[] rowStatus1 = (String[])context.get("rowStatus1");
  29. //获取表格2的请求参数
  30. String[] QLTY_CD = (String[])context.get("QLTY_CD");//材质代码
  31. String[] QLTY_SEQ = (String[])context.get("QLTY_SEQ");
  32. String[] QLTY_VAL_WK1 = (String[])context.get("QLTY_VAL_WK1");//材质实际值
  33. String[] QLTY_UNIT_WK1 = (String[])context.get("QLTY_UNIT_WK1");//类型
  34. String[] QLTY_VAL_WK2 = (String[])context.get("QLTY_VAL_WK2");//值
  35. String[] QLTY_UNIT_WK2 = (String[])context.get("QLTY_UNIT_WK2");//类型
  36. String[] QLTY_DCS_RST = (String[])context.get("QLTY_DCS_RST");//各个检验仓木的结果
  37. String[] COIL_NO1 = (String[])context.get("COIL_NO1");//钢卷号
  38. String[] SMP_NO1 = (String[])context.get("SMP_NO1");//试样号
  39. String[] SMP_CUT_LOC1 = (String[])context.get("SMP_CUT_LOC1");//位置
  40. //EX用于判断在TBB02_REDCS_QLTY是需要update还是需要insert,若值为Y则为insert,否则为update
  41. String[] EX = (String[])context.get("EX");
  42. String[] rowStatus2 = (String[])context.get("rowStatus2");
  43. //对表格1执行增、删、改
  44. //UPDATE TBH02_COIL_COMM SET MATLQLTY_DEC_GRD = ? WHERE COIL_NO = ?
  45. if(rowStatus1!=null)
  46. {
  47. int len1 = rowStatus1.length;
  48. if(len1 > 0)
  49. {
  50. for(int i = 0; i < len1; i++)
  51. {
  52. param = new PosParameter();
  53. param.setWhereClauseParameter(0, QLTY_MAN_DEC_GRD[i]);//材质判定等级
  54. param.setWhereClauseParameter(1, COIL_NO[i]);
  55. dao.update("UIB020160_01.UPDATE", param);
  56. //修改试样号的状态到“D”,即综合判定待机
  57. param = new PosParameter();
  58. param.setWhereClauseParameter(0, QLTY_MAN_INS_TP[i]);//是否为手工判定
  59. param.setWhereClauseParameter(1, REG_ID[0]);//登录人
  60. param.setWhereClauseParameter(2, SMP_NO[i]);
  61. param.setWhereClauseParameter(3, SMP_CUT_LOC[i]);
  62. dao.update("UIB020160_012.UPDATE", param);
  63. }
  64. }
  65. }
  66. //对表格2执行增、删、改
  67. //对于TBB02_WORK_QLTY和TBB02_REWORK_QLTY,若请求的位置参数为W的话,则要区分1和2
  68. if(rowStatus2!=null)
  69. {
  70. int n = 0;
  71. int len2 = rowStatus2.length;
  72. if(len2>0)
  73. {
  74. for(int j = 0; j < len2; j++)
  75. {
  76. if("u".equals(rowStatus2[j]))
  77. {
  78. //update TBB02_WORK_QLTY
  79. if("W".equals(SMP_CUT_LOC1[0]) && "".equals(QLTY_SEQ[j]) )//若位置为W
  80. {
  81. //头的--1
  82. n = 0;
  83. param = new PosParameter();
  84. param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]);
  85. param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]);
  86. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  87. param.setWhereClauseParameter(n++, "1");//1为头
  88. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  89. dao.update("UIB020160_02.UPDATE" , param);
  90. //尾的--2
  91. n = 0;
  92. param = new PosParameter();
  93. param.setWhereClauseParameter(n++, QLTY_VAL_WK2[j]);
  94. param.setWhereClauseParameter(n++, QLTY_UNIT_WK2[j]);
  95. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  96. param.setWhereClauseParameter(n++, "2");//2为尾
  97. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  98. dao.update("UIB020160_02.UPDATE" , param);
  99. }
  100. else if(!"W".equals(SMP_CUT_LOC1[0]) && "".equals(QLTY_SEQ[j]) )//若位置非W
  101. {
  102. n = 0;
  103. param = new PosParameter();
  104. param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]);
  105. param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]);
  106. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  107. param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]);
  108. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  109. dao.update("UIB020160_02.UPDATE" , param);
  110. }
  111. //update TBB02_REWORK_QLTY
  112. if("W".equals(SMP_CUT_LOC1[0]) && !"".equals(QLTY_SEQ[j]))
  113. {
  114. //头
  115. n = 0;
  116. param = new PosParameter();
  117. param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]);
  118. param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]);
  119. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  120. param.setWhereClauseParameter(n++, "1");
  121. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  122. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  123. dao.update("UIB020160_03.UPDATE" , param);
  124. //尾
  125. n = 0;
  126. param = new PosParameter();
  127. param.setWhereClauseParameter(n++, QLTY_VAL_WK2[j]);
  128. param.setWhereClauseParameter(n++, QLTY_UNIT_WK2[j]);
  129. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  130. param.setWhereClauseParameter(n++, "2");
  131. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  132. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  133. dao.update("UIB020160_03.UPDATE" , param);
  134. }
  135. if(!"W".equals(SMP_CUT_LOC1[0]) && !"".equals(QLTY_SEQ[j]))
  136. {
  137. n = 0;
  138. param = new PosParameter();
  139. param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]);
  140. param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]);
  141. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  142. param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]);
  143. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  144. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  145. dao.update("UIB020160_03.UPDATE" , param);
  146. }
  147. //update or insert TBB02_REDCS_QLTY
  148. if(!"".equals(QLTY_SEQ[j]))
  149. {
  150. if("Y".equals(EX[j]))//为y时需要insert
  151. {
  152. n = 0;
  153. param = new PosParameter();
  154. param.setValueParamter(n++, COIL_NO1[0]);
  155. param.setValueParamter(n++, QLTY_CD[j]);
  156. param.setValueParamter(n++, QLTY_SEQ[j]);
  157. param.setValueParamter(n++, QLTY_DCS_RST[j]);
  158. dao.insert("UIB020160_02.INSERT", param);
  159. }
  160. else//非y时为update
  161. {
  162. n = 0;
  163. param = new PosParameter();
  164. param.setWhereClauseParameter(n++, QLTY_DCS_RST[j]);
  165. param.setWhereClauseParameter(n++, COIL_NO1[0]);
  166. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  167. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  168. dao.update("UIB020160_04.UPDATE" , param);
  169. }
  170. }// update redcs_qlty end
  171. else//insert or update tbb02_dcs_qlty
  172. {
  173. if("Y".equals(EX[j]))//insert
  174. {
  175. param = new PosParameter();
  176. param.setValueParamter(0 , COIL_NO1[0]);
  177. param.setValueParamter(1, QLTY_CD[j]);
  178. param.setValueParamter(2, QLTY_DCS_RST[j]);
  179. dao.insert("UIB020160_03.INSERT", param);
  180. }
  181. else//update
  182. {
  183. param = new PosParameter();
  184. param.setWhereClauseParameter(0, QLTY_DCS_RST[j]);
  185. param.setWhereClauseParameter(1, COIL_NO1[0]);
  186. param.setWhereClauseParameter(2, QLTY_CD[j]);
  187. dao.update("UIB020160_05.UPDATE", param);
  188. }
  189. }
  190. }//if "u" end
  191. if("i".equals(rowStatus2[j]))
  192. {
  193. //insert TBB02_REWORK_QLTY
  194. if("W".equals(SMP_CUT_LOC1[0]))
  195. {
  196. //头
  197. n = 0;
  198. param = new PosParameter();
  199. param.setValueParamter(n++, QLTY_CD[j]);
  200. param.setValueParamter(n++, QLTY_SEQ[j]);
  201. param.setValueParamter(n++, QLTY_VAL_WK1[j]);
  202. param.setValueParamter(n++, QLTY_UNIT_WK1[j]);
  203. param.setValueParamter(n++, SMP_NO1[0]);
  204. param.setValueParamter(n++, "1");
  205. dao.insert("UIB020160_01.INSERT", param);
  206. //尾
  207. n = 0;
  208. param = new PosParameter();
  209. param.setValueParamter(n++, QLTY_CD[j]);
  210. param.setValueParamter(n++, QLTY_SEQ[j]);
  211. param.setValueParamter(n++, QLTY_VAL_WK2[j]);
  212. param.setValueParamter(n++, QLTY_UNIT_WK2[j]);
  213. param.setValueParamter(n++, SMP_NO1[0]);
  214. param.setValueParamter(n++, "2");
  215. dao.insert("UIB020160_01.INSERT", param);
  216. }
  217. else
  218. {
  219. n = 0;
  220. param = new PosParameter();
  221. param.setValueParamter(n++, QLTY_CD[j]);
  222. param.setValueParamter(n++, QLTY_SEQ[j]);
  223. param.setValueParamter(n++, QLTY_VAL_WK1[j]);
  224. param.setValueParamter(n++, QLTY_UNIT_WK1[j]);
  225. param.setValueParamter(n++, SMP_NO1[0]);
  226. param.setValueParamter(n++, SMP_CUT_LOC1[0]);
  227. dao.insert("UIB020160_01.INSERT", param);
  228. }
  229. //insert TBB02_REDCS_QLTY
  230. n = 0;
  231. param = new PosParameter();
  232. param.setValueParamter(n++, COIL_NO1[0]);
  233. param.setValueParamter(n++, QLTY_CD[j]);
  234. param.setValueParamter(n++, QLTY_SEQ[j]);
  235. param.setValueParamter(n++, QLTY_DCS_RST[j]);
  236. dao.insert("UIB020160_02.INSERT", param);
  237. }// if "i" end
  238. if("d".equals(rowStatus2[j]))
  239. {
  240. //update TBB02_REWORK_QLTY
  241. if("W".equals(SMP_CUT_LOC1[j]))
  242. {
  243. n = 0;
  244. param = new PosParameter();
  245. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  246. param.setWhereClauseParameter(n++, "1");
  247. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  248. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  249. dao.delete("UIB020160_01.DELETE", param);
  250. n = 0;
  251. param = new PosParameter();
  252. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  253. param.setWhereClauseParameter(n++, "2");
  254. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  255. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  256. dao.delete("UIB020160_01.DELETE", param);
  257. }
  258. else
  259. {
  260. n = 0;
  261. param = new PosParameter();
  262. param.setWhereClauseParameter(n++, SMP_NO1[0]);
  263. param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]);
  264. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  265. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  266. dao.delete("UIB020160_01.DELETE", param);
  267. }
  268. //update TBB02_REDCS_QLTY
  269. n = 0;
  270. param = new PosParameter();
  271. param.setWhereClauseParameter(n++, QLTY_DCS_RST[j]);
  272. param.setWhereClauseParameter(n++, COIL_NO1[0]);
  273. param.setWhereClauseParameter(n++, QLTY_CD[j]);
  274. param.setWhereClauseParameter(n++, QLTY_SEQ[j]);
  275. dao.delete("UIB020160_02.DELETE", param);
  276. }//if "d" end
  277. }//for end
  278. }// if "len2>0" end
  279. }//if "rowStatus2!=null" end
  280. //修改试样号的状态到“D”,即综合判定待机
  281. param = new PosParameter();
  282. param.setWhereClauseParameter(0, REG_ID[0]);
  283. param.setWhereClauseParameter(1, SMP_NO1[0]);
  284. param.setWhereClauseParameter(2, SMP_CUT_LOC1[0]);
  285. dao.update("UIB020160_011.UPDATE", param);
  286. return PosBizControlConstants.SUCCESS;
  287. }
  288. }