6ffedffd106423ed15d8a4b0c1736ceefc0429d8.svn-base 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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.PosRow;
  9. import com.posdata.glue.dao.vo.PosRowSet;
  10. /**
  11. * 客户参数号事项操作(增、删、改,对应界面ID:UIB010250)
  12. * @author 梅贵平{meiguiping}
  13. * @date 2008-10-27
  14. */
  15. public class SaveCustProceeding extends PosActivity
  16. {
  17. PosGenericDao dao = this.getDao("mesdao");
  18. public String runActivity(PosContext context)
  19. {
  20. String INFID = "UIB010250";
  21. String[] CUST_SPEC_NO = (String[])context.get("CUST_SPEC_NO");//客户参数号(主键)
  22. String[] CUST_SPEC_NO1 = (String[])context.get("CUST_SPEC_NO1");//客户参数号(主键)
  23. String[] CUST_SPEC_NO_INGR= (String[])context.get("CUST_SPEC_NO_INGR");//成分
  24. String[] CUST_SPEC_NO_QLTY= (String[])context.get("CUST_SPEC_NO_QLTY");//性能
  25. String[] CUST_SPEC_NO_DEL = (String[])context.get("CUST_SPEC_NO_DEL"); //公差
  26. String[] SPEC_ABBSYM = (String[])context.get("SPEC_ABBSYM");//标准号
  27. String[] SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD");//标准牌号
  28. String[] THK_MIN = (String[])context.get("THK_MIN");//厚度min
  29. String[] THK_MAX = (String[])context.get("THK_MAX");//厚度max
  30. String[] WTH_MIN = (String[])context.get("WTH_MIN");//宽度min
  31. String[] WTH_MAX = (String[])context.get("WTH_MAX");//宽度max
  32. String[] ORD_USE_TP = (String[])context.get("ORD_USE_TP");//订单用途
  33. String[] FAC_STL_GRD = (String[])context.get("FAC_STL_GRD");//厂内钢号
  34. String[] SMS_STD_NO = (String[])context.get("SMS_STD_NO");//炼钢编码规范
  35. String[] MILL_STD_NO = (String[])context.get("MILL_STD_NO");//热轧编码规范
  36. String[] COLD_STD_NO = (String[])context.get("COLD_STD_NO");//冷轧生产规范
  37. String[] SIZE_SPEC_CD = (String[])context.get("SIZE_SPEC_CD");//尺寸对应码
  38. String[] DEV_SPEC_CD = (String[])context.get("DEV_SPEC_CD");//交付条件指定
  39. String[] DEV_DGR_CD = (String[])context.get("DEV_DGR_CD");//公差代码
  40. String[] REG_NM = (String[])context.get("REG_NM");
  41. PosParameter param= null;
  42. String[] rowStuts = (String[])context.get("rowStuts");
  43. if(rowStuts != null)
  44. {
  45. int len = rowStuts.length;
  46. int j = 0;
  47. for(int i = 0; i < len; i++)
  48. {
  49. j = 0;
  50. param = new PosParameter();
  51. FAC_STL_GRD[i] = FAC_STL_GRD[i];
  52. SMS_STD_NO[i] = SMS_STD_NO[i];
  53. MILL_STD_NO[i] = MILL_STD_NO[i];
  54. if("i".equals(rowStuts[i]))
  55. {
  56. // //若厂内钢号非空且不存与于表TBB01_FAC_INGR中则不能做插入操作
  57. // if(!"".equals(FAC_STL_GRD[i]) && !beExist(FAC_STL_GRD[i], "UIB010250_01.SELECT"))
  58. // continue;
  59. // //若炼钢生产规范编码非空且不存在于TBB01_SMS_PROD
  60. // if(!"".equals(SMS_STD_NO[i]) && !beExist(SMS_STD_NO[i], "UIB010250_02.SELECT"))
  61. // continue;
  62. // //若轧钢生产规范编码非空且不存在于TBB01_MILL_PROD
  63. // if(!"".equals(MILL_STD_NO[i]) && !beExist(MILL_STD_NO[i], "UIB010250_03.SELECT"))
  64. // continue;
  65. param.setValueParamter(j++, CUST_SPEC_NO[i]);
  66. param.setValueParamter(j++, CUST_SPEC_NO_INGR[i]);
  67. param.setValueParamter(j++, CUST_SPEC_NO_QLTY[i]);
  68. param.setValueParamter(j++, CUST_SPEC_NO_DEL[i]);
  69. param.setValueParamter(j++, CUST_SPEC_NO[i].substring(0, 6));
  70. param.setValueParamter(j++, SPEC_ABBSYM[i]);
  71. param.setValueParamter(j++, SPEC_STL_GRD[i]);
  72. param.setValueParamter(j++, THK_MIN[i]);
  73. param.setValueParamter(j++, THK_MAX[i]);
  74. param.setValueParamter(j++, WTH_MIN[i]);
  75. param.setValueParamter(j++, WTH_MAX[i]);
  76. param.setValueParamter(j++, ORD_USE_TP[i]);
  77. param.setValueParamter(j++, FAC_STL_GRD[i]);
  78. param.setValueParamter(j++, SMS_STD_NO[i]);
  79. param.setValueParamter(j++, MILL_STD_NO[i]);
  80. param.setValueParamter(j++, COLD_STD_NO[i]);
  81. param.setValueParamter(j++, DEV_SPEC_CD[i]);
  82. param.setValueParamter(j++, DEV_DGR_CD[i]);
  83. param.setValueParamter(j++, SIZE_SPEC_CD[i]);
  84. param.setValueParamter(j++, REG_NM[0]);
  85. dao.insert("UIB010250_01.INSERT", param);
  86. SaveModifyHistory.writeLog(dao, INFID, "I", "UIB010250_01.INSERT", param.getValueParameters(), "", REG_NM[0]);
  87. }
  88. else if("u".equals(rowStuts[i]))
  89. {
  90. // //若厂内钢号非空且不存与于表TBB01_FAC_INGR中则不能做插入操作
  91. // if(!"".equals(FAC_STL_GRD[i]) && !beExist(FAC_STL_GRD[i], "UIB010250_01.SELECT"))
  92. // {
  93. // continue;
  94. //
  95. // }
  96. // //若炼钢生产规范编码非空且不存在于TBB01_SMS_PROD
  97. // if(!"".equals(SMS_STD_NO[i]) && !beExist(SMS_STD_NO[i], "UIB010250_02.SELECT"))
  98. // continue;
  99. // //若轧钢生产规范编码非空且不存在于TBB01_MILL_PROD
  100. // if(!"".equals(MILL_STD_NO[i]) && !beExist(MILL_STD_NO[i], "UIB010250_03.SELECT"))
  101. // continue;
  102. param.setWhereClauseParameter(j++, CUST_SPEC_NO[i]);
  103. param.setWhereClauseParameter(j++, CUST_SPEC_NO_INGR[i]);
  104. param.setWhereClauseParameter(j++, CUST_SPEC_NO_QLTY[i]);
  105. param.setWhereClauseParameter(j++, CUST_SPEC_NO_DEL[i]);
  106. param.setWhereClauseParameter(j++, CUST_SPEC_NO[i].substring(0, 6));
  107. param.setWhereClauseParameter(j++, SPEC_ABBSYM[i]);
  108. param.setWhereClauseParameter(j++, SPEC_STL_GRD[i]);
  109. param.setWhereClauseParameter(j++, THK_MIN[i]);
  110. param.setWhereClauseParameter(j++, THK_MAX[i]);
  111. param.setWhereClauseParameter(j++, WTH_MIN[i]);
  112. param.setWhereClauseParameter(j++, WTH_MAX[i]);
  113. param.setWhereClauseParameter(j++, ORD_USE_TP[i]);
  114. param.setWhereClauseParameter(j++, FAC_STL_GRD[i]);
  115. param.setWhereClauseParameter(j++, SMS_STD_NO[i]);
  116. param.setWhereClauseParameter(j++, MILL_STD_NO[i]);
  117. param.setWhereClauseParameter(j++, COLD_STD_NO[i]);
  118. param.setWhereClauseParameter(j++, DEV_SPEC_CD[i]);
  119. param.setWhereClauseParameter(j++, DEV_DGR_CD[i]);
  120. param.setWhereClauseParameter(j++, SIZE_SPEC_CD[i]);
  121. param.setWhereClauseParameter(j++, REG_NM[0]);
  122. param.setWhereClauseParameter(j++, CUST_SPEC_NO1[i]);
  123. dao.update("UIB010250_01.UPDATE", param);
  124. SaveModifyHistory.writeLog(dao, INFID, "U", "UIB010250_01.UPDATE", param.getWhereClauseParamters(), "", REG_NM[0]);
  125. }
  126. else if("d".equals(rowStuts[i]))
  127. {
  128. param.setWhereClauseParameter(0 , CUST_SPEC_NO[i]);
  129. dao.delete("UIB010250_01.DELETE", param);
  130. SaveModifyHistory.writeLog(dao, INFID, "D", "UIB010250_01.DELETE", param.getWhereClauseParamters(), "", REG_NM[0]);
  131. }
  132. }
  133. }
  134. return PosBizControlConstants.SUCCESS;
  135. }
  136. /**
  137. * 判断厂内钢号、炼钢生产规范编号、轧钢生产规范编号是否存在
  138. * @param str SQL中传入的参数
  139. * @param sql 要执行的查询操作
  140. * @return boolean 表有str参数的记录在数据库汇中是否存在
  141. */
  142. public boolean beExist(String str , String sql)
  143. {
  144. PosParameter pa = new PosParameter();
  145. PosRowSet rowset = null;
  146. pa.setWhereClauseParameter(0, str);
  147. rowset = dao.find(sql, pa);
  148. if(rowset.count()==0 || rowset==null)
  149. return false;
  150. else
  151. return true;
  152. }
  153. }