dd288430c24cf9da4cc7c2c346cb06c68b2c3cdf.svn-base 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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. * 标准规范信息录入、删除、更新(界面ID:UIB010302)
  11. *
  12. * @author KangMiao
  13. * @Date 2015-4-22 上午11:34:54
  14. *
  15. */
  16. public class SaveSpecTechParameter extends PosActivity {
  17. public String runActivity(PosContext context) {
  18. PosGenericDao dao = this.getDao("mesdao");
  19. String INFID = "UIB010302";
  20. String[] rowStuts1 = (String[]) context.get("rowStatus0");// 页面主键表1的更新、删除、插入标记
  21. String[] rowStuts = (String[]) context.get("rowStatus2");// 规范代码表3的更新、删除、插入标记
  22. String[] PRDNM_CD = (String[]) context.get("PRDNM_CD");// 交货状态
  23. String[] SPEC_ABBSYM = (String[]) context.get("SPEC_ABBSYM");// 标准号
  24. String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD");// 标准钢号
  25. String[] PROD_CD = (String[]) context.get("PROD_CD"); // 规范代码
  26. String[] PROD_TYPE = (String[]) context.get("PROD_TYPE"); // 代码类型
  27. String[] DCS_SYM = (String[]) context.get("DCS_SYM"); // 判定符号
  28. String[] PROD_VAL = (String[]) context.get("PROD_VAL"); // 值
  29. String[] MEMO = (String[]) context.get("MEMO");// 备注
  30. String[] REG_NM = (String[]) context.get("REG_NM");// 登陆ID
  31. // 主键不允许为空
  32. if ("".equals(PRDNM_CD[0]) || "".equals(SPEC_ABBSYM[0])
  33. || "".equals(SPEC_STL_GRD[0])) {
  34. return PosBizControlConstants.SUCCESS;
  35. }
  36. PosParameter param = null;
  37. PosRowSet rowset = null;
  38. int j = 0;
  39. if (rowStuts != null)// 表3的更新、删除、插入标记
  40. {
  41. int len = rowStuts.length;
  42. for (int i = 0; i < len; i++) {
  43. j = 0;
  44. // 删除某规范代码
  45. if (null == PROD_VAL[i] || "".equals(PROD_VAL[i]))
  46. {
  47. param = new PosParameter();
  48. param.setWhereClauseParameter(j++, PRDNM_CD[0]);
  49. param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
  50. param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
  51. param.setWhereClauseParameter(j++, PROD_CD[i]);
  52. dao.delete("UIB010302_02.DELETE", param);
  53. SaveModifyHistory.writeLog(dao, INFID, "D",
  54. "UIB010302_02.DELETE", param
  55. .getWhereClauseParamters(), "", REG_NM[0]);
  56. continue;
  57. }
  58. // 判断某元素是否存在
  59. param = new PosParameter();
  60. param.setWhereClauseParameter(j++, PRDNM_CD[0]);
  61. param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
  62. param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
  63. param.setWhereClauseParameter(j++, PROD_CD[i]);
  64. rowset = dao.find("UIB010302_11.SELECT", param);
  65. j = 0;
  66. if (rowset.count() == 0)// insert
  67. {
  68. param = new PosParameter();
  69. param.setValueParamter(j++, PRDNM_CD[0]);
  70. param.setValueParamter(j++, SPEC_ABBSYM[0]);
  71. param.setValueParamter(j++, SPEC_STL_GRD[0]);
  72. param.setValueParamter(j++, PROD_CD[i]);
  73. param.setValueParamter(j++, PROD_TYPE[i]);
  74. param.setValueParamter(j++, DCS_SYM[i]);
  75. param.setValueParamter(j++, PROD_VAL[i]);
  76. param.setValueParamter(j++, MEMO[i]);
  77. param.setValueParamter(j++, REG_NM[0]);
  78. dao.insert("UIB010302_01.INSERT", param);
  79. SaveModifyHistory.writeLog(dao, INFID, "I",
  80. "UIB010302_01.INSERT", param.getValueParameters(),
  81. "", REG_NM[0]);
  82. } else// update 基础代码不能修改
  83. {
  84. param = new PosParameter();
  85. param.setWhereClauseParameter(j++, PROD_VAL[i]);
  86. param.setWhereClauseParameter(j++, MEMO[i]);
  87. param.setWhereClauseParameter(j++, REG_NM[0]);
  88. param.setWhereClauseParameter(j++, PRDNM_CD[0]);
  89. param.setWhereClauseParameter(j++, SPEC_ABBSYM[0]);
  90. param.setWhereClauseParameter(j++, SPEC_STL_GRD[0]);
  91. param.setWhereClauseParameter(j++, PROD_CD[i]);
  92. dao.update("UIB010302_02.UPDATE", param);
  93. SaveModifyHistory.writeLog(dao, INFID, "U",
  94. "UIB010302_02.UPDATE", param
  95. .getWhereClauseParamters(), "", REG_NM[0]);
  96. }
  97. }
  98. }
  99. // 针对整个标准的删除
  100. if (null != rowStuts1 && "d".equals(rowStuts1[0]))
  101. {
  102. param = new PosParameter();
  103. param.setWhereClauseParameter(0, PRDNM_CD[0]);
  104. param.setWhereClauseParameter(1, SPEC_ABBSYM[0]);
  105. param.setWhereClauseParameter(2, SPEC_STL_GRD[0]);
  106. dao.delete("UIB010302_01.DELETE", param);
  107. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010302_01.DELETE",
  108. param.getWhereClauseParamters(), "", REG_NM[0]);
  109. }
  110. return PosBizControlConstants.SUCCESS;
  111. }
  112. }