fb4dd84f403b7bb4d81eca400829df5f5c2b8acf.svn-base 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package xin.glue.ui.B.B02;
  2. import com.posdata.glue.biz.activity.PosActivity;
  3. import com.posdata.glue.biz.constants.PosBizControlConstants;
  4. import com.posdata.glue.context.PosContext;
  5. import com.posdata.glue.dao.PosGenericDao;
  6. import com.posdata.glue.dao.vo.PosParameter;
  7. import com.posdata.glue.dao.vo.PosRow;
  8. import com.posdata.glue.dao.vo.PosRowSet;
  9. /**
  10. * @Description 生产规范判定结果保存
  11. * @author KangMiao
  12. * @Date 2015-5-4 上午10:22:40
  13. *
  14. */
  15. public class SaveTechDcsResult extends PosActivity {
  16. public String runActivity(PosContext context) {
  17. MutilConditionFind mcf = new MutilConditionFind();
  18. PosGenericDao dao = this.getDao("mesdao");
  19. PosParameter param = null;
  20. PosRowSet rowset = null;
  21. // String[] PROD_CD = (String[])context.get("PROD_CD");//规范代码
  22. //String[] REG_NM = (String[]) context.get("REG_NM");
  23. String[] REG_ID = (String[]) context.get("REG_ID");
  24. String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");// 钢卷号
  25. // if(rowStatus==null)
  26. // return PosBizControlConstants.SUCCESS;
  27. // int len = rowStatus.length;
  28. // for(int i = 0; i < len; i++)
  29. // {
  30. StringBuffer bufferSql = mcf.getQuerySql("UIB020180_02.SELECT");
  31. param = new PosParameter();
  32. param.setWhereClauseParameter(0, OLD_SAMPL_NO[0]);
  33. // 查询钢卷号对应的标准信息和实际值
  34. rowset = dao.findByQueryStatement(bufferSql.toString(), param);
  35. // 若查询无标准数据,则直接返回,不进行下面操作
  36. if (rowset.count() <= 0) {
  37. context.put("returnInfoMsg", "无对应的生产规范标准信息!");
  38. return PosBizControlConstants.SUCCESS;
  39. }
  40. PosRow row = null;
  41. int flagInt = 0;
  42. while (rowset.hasNext()) {
  43. row = rowset.next();
  44. String dcsFlag = "1";
  45. Object PROD_CD = row.getAttribute("PROD_CD");
  46. Object PROD_TYPE = row.getAttribute("DSN_KIND");
  47. Object DCS_SYM = row.getAttribute("DCS_SYM"); //判定符号≥或≤
  48. Object PROD_VAL = row.getAttribute("PROD_VAL"); //标准要求值
  49. Object ACTUAL_AVG = row.getAttribute("ACTUAL_AVG"); //实绩平均值
  50. //Object ACTUAL_VALUE = row.getAttribute("ACTUAL_VALUE"); //实绩最小或最大值
  51. if(null != ACTUAL_AVG && null != PROD_VAL) {
  52. //判定最小值,只对平均值做比较
  53. if("≥".equals(DCS_SYM)) {
  54. if(Double.valueOf(ACTUAL_AVG.toString()) < Double.valueOf(PROD_VAL.toString())) {
  55. dcsFlag = "2"; //不合格
  56. flagInt = 2;
  57. }
  58. //判定最大值,只对平均值做比较
  59. } else if("≤".equals(DCS_SYM)) {
  60. if(Double.valueOf(ACTUAL_AVG.toString()) > Double.valueOf(PROD_VAL.toString())) {
  61. dcsFlag = "2"; //不合格
  62. flagInt = 2;
  63. }
  64. }
  65. }
  66. StringBuffer exSql = mcf.getQuerySql("UIB020180_03.SELECT");
  67. param = new PosParameter();
  68. param.setWhereClauseParameter(0, OLD_SAMPL_NO[0]);
  69. param.setWhereClauseParameter(1, PROD_CD);
  70. // 查询钢卷号对应的判定结果信息和实际值是存在数据
  71. PosRowSet rowset1 = dao.findByQueryStatement(exSql.toString(), param);
  72. // 若无数据则插入否则修改
  73. if (rowset1.count() <= 0) {
  74. param = new PosParameter();
  75. param.setValueParamter(0, OLD_SAMPL_NO[0]);
  76. param.setValueParamter(1, PROD_CD.toString());
  77. param.setValueParamter(2, dcsFlag);
  78. param.setValueParamter(3, PROD_TYPE.toString());
  79. param.setValueParamter(4, REG_ID[0]);
  80. dao.insert("UIB020180_01.INSERT", param);
  81. } else {
  82. param = new PosParameter();
  83. param.setWhereClauseParameter(0, dcsFlag);
  84. param.setWhereClauseParameter(1, PROD_TYPE.toString());
  85. param.setWhereClauseParameter(2, REG_ID[0]);
  86. param.setWhereClauseParameter(3, OLD_SAMPL_NO[0]);
  87. param.setWhereClauseParameter(4, PROD_CD.toString());
  88. dao.update("UIB020180_01.UPDATE", param);
  89. }
  90. }
  91. String msg = "";
  92. if(2 == flagInt ) {
  93. msg = "钢卷【" + OLD_SAMPL_NO[0] + "】的生产规范标准不合格!详情请去生产规范判定结果页面查看!";
  94. } else
  95. msg = "钢卷【" + OLD_SAMPL_NO[0] + "】的生产规范标准合格!详情请去生产规范判定结果页面查看!";
  96. context.put("returnInfoMsg", msg);
  97. return PosBizControlConstants.SUCCESS;
  98. }
  99. }