25a40a48cb045bf484194de6d816334509b654c1.svn-base 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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. * 类名 SaveCustQlty.java
  12. * 说明 客户材质保存{界面ID:UIB010130}
  13. * 创建日期 2008-10-29
  14. * 作者 何文熙
  15. */
  16. public class SaveCustQlty extends PosActivity
  17. {
  18. public String runActivity(PosContext context)
  19. {
  20. String[] rowStatu1 = (String[])context.get("rowStatu1");
  21. String[] REG_NM = (String[])context.get("REG_NM");
  22. String INFID = "UIB010130";
  23. String[]CUST_CD = (String[])context.get("CUST_CD");//客户公司代码
  24. String[]PRDNM_CD = (String[])context.get("PRDNM_CD");//交货状态
  25. String[]SEQ = (String[])context.get("SEQ");
  26. String[]PROD_LINE = (String[])context.get("PROD_LINE");//检验类型
  27. String[]SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");
  28. if("".equals(CUST_CD[0]) ||"".equals(PRDNM_CD[0])|| "".equals(SEQ[0]))//客户参数号不允许为空
  29. {
  30. return PosBizControlConstants.SUCCESS;
  31. }
  32. String CUST_SPEC_NO = CUST_CD[0]+PRDNM_CD[0]+SEQ[0]+PROD_LINE[0];
  33. StringBuffer returnInfo = new StringBuffer("");
  34. PosGenericDao dao = this.getDao("mesdao");
  35. if(rowStatu1!=null)
  36. {
  37. String[] QLTY_CD = (String[])context.get("QLTY_CD");//材质代码
  38. String[] QLTY_MIN = (String[])context.get("QLTY_MIN");//材质最小值
  39. String[] QLTY_MAX = (String[])context.get("QLTY_MAX");//材质最大值
  40. String[] QLTY_UNIT = (String[])context.get("QLTY_UNIT");//材质单位
  41. String[] QLTY_TYPE = (String[])context.get("QLTY_TYPE");//材质TYPE
  42. String[] QLTY_DETAIL = (String[])context.get("QLTY_DETAIL");//说明
  43. String[] QLTY_DEC_CD = (String[])context.get("QLTY_DEC_CD");//检验类型
  44. String[] QLTY_CD_CFNM = (String[])context.get("QLTY_CD_CFNM"); //材质项目名称
  45. int Length = rowStatu1.length;
  46. PosParameter param = null;
  47. PosRowSet rowset = null;
  48. PosRowSet jhyRowset = null; //检化验材质项目编码表结果集
  49. for(int i= 0; i < Length; i++)
  50. {
  51. if("".equals(QLTY_MIN[i]) && "".equals(QLTY_MAX[i]) && "".equals(QLTY_UNIT[i]))
  52. {
  53. param = new PosParameter();
  54. param.setWhereClauseParameter(0, CUST_SPEC_NO);
  55. param.setWhereClauseParameter(1, QLTY_CD[i]);
  56. dao.delete("UIB010130_02.DELETE", param);
  57. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010130_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  58. continue;
  59. }
  60. param = new PosParameter();
  61. param.setWhereClauseParameter(0 , QLTY_CD[i]);
  62. param.setWhereClauseParameter(1 , CUST_SPEC_NO );
  63. rowset = dao.find("UIB010130_03.SELECT", param);
  64. //根据客户参数号,材质代码查询客户材质信息,若结果集大于0则执行if,否则执行else
  65. if(rowset.count() == 0)
  66. {
  67. //查询该项目在检化验项目编码表中是否存在,若不存在则不插入该项目
  68. param = new PosParameter();
  69. param.setWhereClauseParameter(0, QLTY_CD[i]);
  70. jhyRowset = dao.find("UIB010140_jhyqlty.SELECT", param);
  71. if(jhyRowset.count() > 0) {
  72. param = new PosParameter();
  73. param.setValueParamter(0, CUST_SPEC_NO);
  74. param.setValueParamter(1, QLTY_CD[i]);
  75. param.setValueParamter(2, QLTY_MIN[i]);
  76. param.setValueParamter(3, QLTY_MAX[i]);
  77. param.setValueParamter(4, QLTY_DEC_CD[i]);
  78. param.setValueParamter(5, QLTY_UNIT[i]);
  79. param.setValueParamter(6, QLTY_TYPE[i]);
  80. param.setValueParamter(7, QLTY_DETAIL[i]);
  81. param.setValueParamter(8, SPEC_STL_GRD[0]);
  82. param.setValueParamter(9, REG_NM[0]);
  83. dao.insert("UIB010130_01.INSERT", param); //插入客户材质信息
  84. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010130_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
  85. } else {
  86. returnInfo.append(QLTY_CD_CFNM[i]+";");
  87. }
  88. }
  89. else
  90. {
  91. param = new PosParameter();
  92. param.setWhereClauseParameter(0, QLTY_MIN[i]);
  93. param.setWhereClauseParameter(1, QLTY_MAX[i]);
  94. param.setWhereClauseParameter(2, QLTY_UNIT[i]);
  95. param.setWhereClauseParameter(3, QLTY_TYPE[i]);
  96. param.setWhereClauseParameter(4, QLTY_DEC_CD[i]);
  97. param.setWhereClauseParameter(5, QLTY_DETAIL[i]);
  98. param.setWhereClauseParameter(6, REG_NM[0]);
  99. param.setWhereClauseParameter(7, CUST_SPEC_NO);
  100. param.setWhereClauseParameter(8, QLTY_CD[i]);
  101. dao.update("UIB010130_01.UPDATE", param);
  102. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010130_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  103. }
  104. }
  105. }
  106. String[]rowStatus0 = (String[])context.get("rowStatus0");
  107. if(rowStatus0 != null)//删除
  108. {
  109. PosParameter param = new PosParameter();
  110. param.setWhereClauseParameter(0, CUST_SPEC_NO);
  111. dao.delete("UIB010130_01.DELETE" , param);
  112. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010130_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  113. }
  114. String[] SMP_LOT_CD = (String[])context.get("SMP_LOT_CD");
  115. String[] SMP_LEN_LOC = (String[])context.get("SMP_LEN_LOC");
  116. String[] SMP_WTH_LOC = (String[])context.get("SMP_WTH_LOC");
  117. String[] rowStatu2 = (String[])context.get("rowStatu2");
  118. if(rowStatu2 !=null)//取样方法
  119. {
  120. PosParameter param = new PosParameter();
  121. param = new PosParameter();
  122. param.setWhereClauseParameter(0 , "SAMP");
  123. param.setWhereClauseParameter(1 , CUST_SPEC_NO );
  124. PosRowSet rowset = dao.find("UIB010130_03.SELECT", param);
  125. if(rowset.count() == 0)
  126. {
  127. param = new PosParameter();
  128. param.setValueParamter(0, CUST_SPEC_NO);
  129. param.setValueParamter(1, "SAMP");
  130. param.setValueParamter(2, SMP_LOT_CD[0]);
  131. param.setValueParamter(3, SMP_LEN_LOC[0]);
  132. param.setValueParamter(4, SMP_WTH_LOC[0]);
  133. param.setValueParamter(5, REG_NM[0]);
  134. dao.insert("UIB010130_02.INSERT", param);
  135. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010130_02.INSERT", param.getWhereClauseParamters(), "", REG_NM[0]);
  136. }
  137. else
  138. {
  139. param = new PosParameter();
  140. param.setWhereClauseParameter(0, SMP_LOT_CD[0]);
  141. param.setWhereClauseParameter(1, SMP_LEN_LOC[0]);
  142. param.setWhereClauseParameter(2, SMP_WTH_LOC[0]);
  143. param.setWhereClauseParameter(3, REG_NM[0]);
  144. param.setWhereClauseParameter(4, CUST_SPEC_NO);
  145. dao.update("UIB010130_02.UPDATE", param);
  146. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010130_02.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  147. }
  148. }
  149. if(!StringUtils.isEmpty(returnInfo.toString()))
  150. returnInfo.append("在检化验项目编码表中不存在该项目,不能录入!\n请联系技术中心在检化验项目编码表中添加该项目!");
  151. context.put("returnInfoMsg", returnInfo);
  152. return PosBizControlConstants.SUCCESS;
  153. }
  154. }