82f995e2d9fa9d9e911aaae4f00144c4d5e05c77.svn-base 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. package xin.glue.ui.B.B01;
  2. import org.apache.commons.lang.StringUtils;
  3. import xin.glue.ui.B.common.SaveModifyHistory;
  4. import com.posdata.glue.biz.activity.PosActivity;
  5. import com.posdata.glue.biz.constants.PosBizControlConstants;
  6. import com.posdata.glue.context.PosContext;
  7. import com.posdata.glue.dao.PosGenericDao;
  8. import com.posdata.glue.dao.vo.PosParameter;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. /**
  11. * 标准材质信息录入、删除、更新(界面ID:UIB010140)
  12. */
  13. public class SaveSpecQltyParameter extends PosActivity
  14. {
  15. public String runActivity(PosContext context)
  16. {
  17. PosGenericDao dao = this.getDao("mesdao");
  18. String INFID = "UIB010140";
  19. String[] rowStuts1 = (String[])context.get("rowStuts1");//表2的更新、删除、插入标记
  20. String[] rowStuts2 = (String[])context.get("rowStuts2");//表3的更新、删除、插入标记
  21. String[] PRDNM_CD = (String[])context.get("PRDNM_CD");//品名
  22. String[] SPEC_ABBSYM = (String[])context.get("SPEC_ABBSYM");//标准号
  23. String[] SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");//标准钢号
  24. String[] ORD_USE_TP = (String[])context.get("ORD_USE_TP");//产品名称
  25. String[] THK_MIN = (String[])context.get("THK_MIN");//最小厚度
  26. String[] THK_MAX = (String[])context.get("THK_MAX");//最大厚度
  27. String[] QLTY_CD = (String[])context.get("QLTY_CD");
  28. String[] QLTY_MIN = (String[])context.get("QLTY_MIN");
  29. String[] QLTY_MAX = (String[])context.get("QLTY_MAX");
  30. String[] QLTY_UNIT = (String[])context.get("QLTY_UNIT");
  31. String[] QLTY_TYPE = (String[])context.get("QLTY_TYPE");
  32. String[] QLTY_DETAIL = (String[])context.get("QLTY_DETAIL");
  33. String[] QLTY_SIZE = (String[])context.get("QLTY_SIZE");
  34. String[] QLTY_DEC_CD = (String[])context.get("QLTY_DEC_CD");//检验类型
  35. String[] QLTY_CD_CFNM = (String[])context.get("QLTY_CD_CFNM"); //材质项目名称
  36. String[] SMP_LOT_CD = (String[])context.get("SMP_LOT_CD");
  37. String[] SMP_LEN_LOC = (String[])context.get("SMP_LEN_LOC");
  38. String[] SMP_WTH_LOC = (String[])context.get("SMP_WTH_LOC");
  39. String[] REG_NM = (String[])context.get("REG_NM");//登陆ID
  40. //主键不允许为空
  41. if("".equals(PRDNM_CD[0]) || "".equals(SPEC_ABBSYM[0]) || "".equals(SPEC_STL_GRD[0])
  42. || "".equals(ORD_USE_TP[0]) || "".equals(THK_MIN[0]) || "".equals(THK_MAX[0]))
  43. {
  44. return PosBizControlConstants.SUCCESS;
  45. }
  46. PosParameter param = null;
  47. PosRowSet rowset = null;
  48. PosRowSet jhyRowset = null; //检化验材质项目编码表结果集
  49. StringBuffer returnInfo = new StringBuffer("");
  50. if(rowStuts1 != null)//针对grid2的操作
  51. {
  52. if(!"".equals(SMP_LOT_CD[0]))
  53. {
  54. param = new PosParameter();
  55. param.setWhereClauseParameter(0, PRDNM_CD[0]);
  56. param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
  57. param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
  58. param.setWhereClauseParameter(3, ORD_USE_TP[0]);
  59. param.setWhereClauseParameter(4, THK_MIN[0]);
  60. param.setWhereClauseParameter(5, THK_MAX[0]);
  61. param.setWhereClauseParameter(6, "SAMP");
  62. rowset = dao.find("UIB010140_11.SELECT", param);
  63. if(rowset.count() == 0)//insert
  64. {
  65. param = new PosParameter();
  66. param.setValueParamter(0, PRDNM_CD[0]);
  67. param.setValueParamter(1, SPEC_ABBSYM[0]);
  68. param.setValueParamter(2, SPEC_STL_GRD[0]);
  69. param.setValueParamter(3, ORD_USE_TP[0]);
  70. param.setValueParamter(4, THK_MIN[0]);
  71. param.setValueParamter(5, THK_MAX[0]);
  72. param.setValueParamter(6, "SAMP");
  73. param.setValueParamter(7, SMP_LOT_CD[0]);
  74. param.setValueParamter(8, SMP_LEN_LOC[0]);
  75. param.setValueParamter(9, SMP_WTH_LOC[0]);
  76. param.setValueParamter(10, REG_NM[0]);
  77. dao.insert("UIB010140_01.INSERT", param);
  78. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010140_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
  79. }
  80. else//update
  81. {
  82. param = new PosParameter();
  83. param.setWhereClauseParameter(0, SMP_LOT_CD[0]);
  84. param.setWhereClauseParameter(1, SMP_LEN_LOC[0]);
  85. param.setWhereClauseParameter(2, SMP_WTH_LOC[0]);
  86. param.setWhereClauseParameter(3, REG_NM[0]);
  87. param.setWhereClauseParameter(4, PRDNM_CD[0]);
  88. param.setWhereClauseParameter(5, SPEC_ABBSYM[0]);
  89. param.setWhereClauseParameter(6, SPEC_STL_GRD[0]);
  90. param.setWhereClauseParameter(7, ORD_USE_TP[0]);
  91. param.setWhereClauseParameter(8, THK_MIN[0]);
  92. param.setWhereClauseParameter(9, THK_MAX[0]);
  93. param.setWhereClauseParameter(10, "SAMP");
  94. dao.update("UIB010140_01.UPDATE", param);
  95. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010140_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  96. }
  97. }
  98. }
  99. if(rowStuts2 != null)//针对grid3的操作
  100. {
  101. int len = rowStuts2.length;
  102. for(int i =0; i < len; i++)
  103. {
  104. if("".equals(QLTY_MIN[i]) && "".equals(QLTY_MAX[i]) && "".equals(QLTY_UNIT[i]))//最大、最小、单位没有的话直接删除
  105. {
  106. param = new PosParameter();
  107. param.setWhereClauseParameter(0, PRDNM_CD[0]);
  108. param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
  109. param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
  110. param.setWhereClauseParameter(3, ORD_USE_TP[0]);
  111. param.setWhereClauseParameter(4, THK_MIN[0]);
  112. param.setWhereClauseParameter(5, THK_MAX[0]);
  113. param.setWhereClauseParameter(6, QLTY_CD[i]);
  114. dao.delete("UIB010140_02.DELETE", param);
  115. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010140_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  116. continue;
  117. }
  118. param = new PosParameter();
  119. param.setWhereClauseParameter(0, PRDNM_CD[0]);
  120. param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
  121. param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
  122. param.setWhereClauseParameter(3, ORD_USE_TP[0]);
  123. param.setWhereClauseParameter(4, THK_MIN[0]);
  124. param.setWhereClauseParameter(5, THK_MAX[0]);
  125. param.setWhereClauseParameter(6, QLTY_CD[i]);
  126. rowset = dao.find("UIB010140_11.SELECT", param);
  127. if(rowset.count() == 0)//insert
  128. {
  129. //查询该项目在检化验项目编码表中是否存在,若不存在则不插入该项目
  130. param = new PosParameter();
  131. param.setWhereClauseParameter(0, QLTY_CD[i]);
  132. jhyRowset = dao.find("UIB010140_jhyqlty.SELECT", param);
  133. if(jhyRowset.count() > 0) {
  134. param = new PosParameter();
  135. param.setValueParamter(0, PRDNM_CD[0]);
  136. param.setValueParamter(1, SPEC_ABBSYM[0]);
  137. param.setValueParamter(2, SPEC_STL_GRD[0]);
  138. param.setValueParamter(3, ORD_USE_TP[0]);
  139. param.setValueParamter(4, THK_MIN[0]);
  140. param.setValueParamter(5, THK_MAX[0]);
  141. param.setValueParamter(6, QLTY_CD[i]);
  142. param.setValueParamter(7, QLTY_MIN[i]);
  143. param.setValueParamter(8, QLTY_MAX[i]);
  144. param.setValueParamter(9, QLTY_UNIT[i]);
  145. param.setValueParamter(10, QLTY_TYPE[i]);
  146. param.setValueParamter(11, QLTY_DETAIL[i]);
  147. param.setValueParamter(12, QLTY_SIZE[i]);
  148. param.setValueParamter(13, REG_NM[0]);
  149. param.setValueParamter(14, QLTY_DEC_CD[i]);
  150. dao.insert("UIB010140_02.INSERT", param);
  151. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010140_02.INSERT", param.getValueParameters(), "", REG_NM[0]);
  152. } else {
  153. returnInfo.append(QLTY_CD_CFNM[i]+";");
  154. }
  155. }
  156. else//update
  157. {
  158. param = new PosParameter();
  159. param.setWhereClauseParameter(0, QLTY_MIN[i]);
  160. param.setWhereClauseParameter(1, QLTY_MAX[i]);
  161. param.setWhereClauseParameter(2, QLTY_UNIT[i]);
  162. param.setWhereClauseParameter(3, QLTY_TYPE[i]);
  163. param.setWhereClauseParameter(4, QLTY_DETAIL[i]);
  164. param.setWhereClauseParameter(5, QLTY_SIZE[i]);
  165. param.setWhereClauseParameter(6, REG_NM[0]);
  166. param.setWhereClauseParameter(7, QLTY_DEC_CD[i]);
  167. param.setWhereClauseParameter(8, PRDNM_CD[0]);
  168. param.setWhereClauseParameter(9, SPEC_ABBSYM[0]);
  169. param.setWhereClauseParameter(10, SPEC_STL_GRD[0]);
  170. param.setWhereClauseParameter(11, ORD_USE_TP[0]);
  171. param.setWhereClauseParameter(12, THK_MIN[0]);
  172. param.setWhereClauseParameter(13, THK_MAX[0]);
  173. param.setWhereClauseParameter(14, QLTY_CD[i]);
  174. dao.update("UIB010140_02.UPDATE", param);
  175. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010140_02.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  176. }
  177. }
  178. }
  179. String[]rowStatus0 = (String[])context.get("rowStatus0");
  180. if(rowStatus0 != null)
  181. {
  182. param = new PosParameter();
  183. param.setWhereClauseParameter(0, PRDNM_CD[0]);
  184. param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
  185. param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
  186. param.setWhereClauseParameter(3, ORD_USE_TP[0]);
  187. param.setWhereClauseParameter(4, THK_MIN[0]);
  188. param.setWhereClauseParameter(5, THK_MAX[0]);
  189. dao.delete("UIB010140_01.DELETE", param);
  190. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010140_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  191. }
  192. if(!StringUtils.isEmpty(returnInfo.toString()))
  193. returnInfo.append("在检化验项目编码表中不存在该项目,不能录入!\n请联系技术中心在检化验项目编码表中添加该项目!");
  194. context.put("returnInfoMsg", returnInfo);
  195. return PosBizControlConstants.SUCCESS;
  196. }
  197. }