22df3c0e616ac9d305e87afb077226dd3d213a55.svn-base 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. package xin.glue.ui.B.B01;
  2. import xin.glue.ui.B.common.SaveModifyHistory;
  3. import com.posdata.glue.biz.activity.PosActivity;
  4. import com.posdata.glue.biz.constants.PosBizControlConstants;
  5. import com.posdata.glue.context.PosContext;
  6. import com.posdata.glue.dao.PosGenericDao;
  7. import com.posdata.glue.dao.vo.PosParameter;
  8. import com.posdata.glue.dao.vo.PosRowSet;
  9. /**
  10. * 客户参数信息保存(对应UIB010030界面)
  11. * @author 梅贵平
  12. * @date 2008-10-14
  13. */
  14. public class SaveCustParameter extends PosActivity
  15. {
  16. public String runActivity(PosContext context)
  17. {
  18. PosGenericDao dao = this.getDao("mesdao");
  19. String INFID = "UIB010030";
  20. String[]rowStuts0 = (String[])context.get("rowStuts0");//表1的删除、插入标记
  21. String[]rowStuts = (String[])context.get("rowStuts");//表2、3、4、5的更新、删除、插入标记
  22. String[]PROD_LINE = (String[])context.get("PROD_LINE");//产线
  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"); //SEQ
  26. String CUSTSPECNO = CUST_CD[0]+PRDNM_CD[0]+SEQ[0]+PROD_LINE[0];
  27. String[]NF_TP = (String[])context.get("NF_TP");//区分客户的内控和放行
  28. String[]SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");
  29. String[]REG_NM = (String[])context.get("REG_NM");
  30. String[]CHEM_CD = (String[])context.get("CHEM_CD");//成分代码
  31. String[]CHEM_MIN = (String[])context.get("CHEM_MIN");//最小值
  32. String[]CHEM_MAX = (String[])context.get("CHEM_MAX");//最大值
  33. String[]CHEM_DEC_CD = (String[])context.get("CHEM_DEC_CD");//检验类型
  34. String[]COMP_YN = (String[])context.get("COMP_YN");//复合元素区分
  35. PosParameter param = null;
  36. PosRowSet rowset = null;
  37. if(rowStuts != null)
  38. {
  39. int len = rowStuts.length;
  40. for(int i = 0; i < len; i++)
  41. {
  42. //主键不允许为空!
  43. if("".equals(CUST_CD[0]) || "".equals(PRDNM_CD[0]) || "".equals(SEQ[0]))
  44. {
  45. break;
  46. }
  47. else if("u".equals(rowStuts[i]))
  48. {
  49. if("".equals(CHEM_MIN[i]) && "".equals(CHEM_MAX[i]))
  50. {
  51. param = new PosParameter();
  52. param.setWhereClauseParameter(0, CUSTSPECNO);
  53. param.setWhereClauseParameter(1, NF_TP[0]);
  54. param.setWhereClauseParameter(2, CHEM_CD[i]);
  55. dao.delete("UIB010030_02.DELETE", param);
  56. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010030_02.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  57. continue;
  58. }
  59. param = new PosParameter();
  60. param.setWhereClauseParameter(0, CUSTSPECNO);
  61. param.setWhereClauseParameter(1, NF_TP[0]);
  62. param.setWhereClauseParameter(2, CHEM_CD[i]);
  63. rowset = dao.find("UIB010030_06.SELECT", param);
  64. if(rowset.count() == 0)//若无则插入
  65. {
  66. param = new PosParameter();
  67. param.setValueParamter(0, CUSTSPECNO);
  68. param.setValueParamter(1, CHEM_CD[i]);
  69. param.setValueParamter(2, CHEM_MIN[i]);
  70. param.setValueParamter(3, CHEM_MAX[i]);
  71. param.setValueParamter(4, COMP_YN[i]);
  72. param.setValueParamter(5, NF_TP[0]);
  73. param.setValueParamter(6, SPEC_STL_GRD[0]);
  74. param.setValueParamter(7, CHEM_DEC_CD[i]);
  75. param.setValueParamter(8, REG_NM[0]);
  76. dao.insert("UIB010030_01.INSERT", param);
  77. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010030_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
  78. }
  79. else//update
  80. {
  81. param = new PosParameter();
  82. param.setWhereClauseParameter(0, CHEM_MIN[i]);
  83. param.setWhereClauseParameter(1, CHEM_MAX[i]);
  84. param.setWhereClauseParameter(2, REG_NM[0]);
  85. param.setWhereClauseParameter(3, CHEM_DEC_CD[i]);
  86. param.setWhereClauseParameter(4, CUSTSPECNO);
  87. param.setWhereClauseParameter(5, CHEM_CD[i]);
  88. param.setWhereClauseParameter(6, NF_TP[0]);
  89. dao.update("UIB010030_02.UPDATE", param);
  90. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010030_02.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  91. }
  92. }
  93. }
  94. }
  95. if(rowStuts0 != null)//删除客户参数号
  96. {
  97. if("d".equals(rowStuts0[0]))
  98. {
  99. param = new PosParameter();
  100. param.setWhereClauseParameter(0, CUSTSPECNO);
  101. param.setWhereClauseParameter(1, NF_TP[0]);
  102. dao.delete("UIB010030_01.DELETE", param);
  103. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010030_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  104. }
  105. }
  106. return PosBizControlConstants.SUCCESS;
  107. }
  108. }