| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package xin.glue.ui.B.B02;
- import com.posdata.glue.biz.activity.PosActivity;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.PosGenericDao;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- /**
- * @Description 生产规范判定结果保存
- * @author KangMiao
- * @Date 2015-5-4 上午10:22:40
- *
- */
- public class SaveTechDcsResult extends PosActivity {
- public String runActivity(PosContext context) {
- MutilConditionFind mcf = new MutilConditionFind();
- PosGenericDao dao = this.getDao("mesdao");
- PosParameter param = null;
- PosRowSet rowset = null;
- // String[] PROD_CD = (String[])context.get("PROD_CD");//规范代码
- //String[] REG_NM = (String[]) context.get("REG_NM");
- String[] REG_ID = (String[]) context.get("REG_ID");
- String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");// 钢卷号
- // if(rowStatus==null)
- // return PosBizControlConstants.SUCCESS;
- // int len = rowStatus.length;
- // for(int i = 0; i < len; i++)
- // {
- StringBuffer bufferSql = mcf.getQuerySql("UIB020180_02.SELECT");
- param = new PosParameter();
- param.setWhereClauseParameter(0, OLD_SAMPL_NO[0]);
- // 查询钢卷号对应的标准信息和实际值
- rowset = dao.findByQueryStatement(bufferSql.toString(), param);
- // 若查询无标准数据,则直接返回,不进行下面操作
- if (rowset.count() <= 0) {
- context.put("returnInfoMsg", "无对应的生产规范标准信息!");
- return PosBizControlConstants.SUCCESS;
- }
- PosRow row = null;
- int flagInt = 0;
- while (rowset.hasNext()) {
- row = rowset.next();
- String dcsFlag = "1";
- Object PROD_CD = row.getAttribute("PROD_CD");
- Object PROD_TYPE = row.getAttribute("DSN_KIND");
- Object DCS_SYM = row.getAttribute("DCS_SYM"); //判定符号≥或≤
- Object PROD_VAL = row.getAttribute("PROD_VAL"); //标准要求值
- Object ACTUAL_AVG = row.getAttribute("ACTUAL_AVG"); //实绩平均值
- //Object ACTUAL_VALUE = row.getAttribute("ACTUAL_VALUE"); //实绩最小或最大值
-
- if(null != ACTUAL_AVG && null != PROD_VAL) {
- //判定最小值,只对平均值做比较
- if("≥".equals(DCS_SYM)) {
- if(Double.valueOf(ACTUAL_AVG.toString()) < Double.valueOf(PROD_VAL.toString())) {
- dcsFlag = "2"; //不合格
- flagInt = 2;
- }
- //判定最大值,只对平均值做比较
- } else if("≤".equals(DCS_SYM)) {
- if(Double.valueOf(ACTUAL_AVG.toString()) > Double.valueOf(PROD_VAL.toString())) {
- dcsFlag = "2"; //不合格
- flagInt = 2;
- }
- }
- }
-
- StringBuffer exSql = mcf.getQuerySql("UIB020180_03.SELECT");
- param = new PosParameter();
- param.setWhereClauseParameter(0, OLD_SAMPL_NO[0]);
- param.setWhereClauseParameter(1, PROD_CD);
- // 查询钢卷号对应的判定结果信息和实际值是存在数据
- PosRowSet rowset1 = dao.findByQueryStatement(exSql.toString(), param);
- // 若无数据则插入否则修改
- if (rowset1.count() <= 0) {
- param = new PosParameter();
- param.setValueParamter(0, OLD_SAMPL_NO[0]);
- param.setValueParamter(1, PROD_CD.toString());
- param.setValueParamter(2, dcsFlag);
- param.setValueParamter(3, PROD_TYPE.toString());
- param.setValueParamter(4, REG_ID[0]);
- dao.insert("UIB020180_01.INSERT", param);
- } else {
- param = new PosParameter();
- param.setWhereClauseParameter(0, dcsFlag);
- param.setWhereClauseParameter(1, PROD_TYPE.toString());
- param.setWhereClauseParameter(2, REG_ID[0]);
- param.setWhereClauseParameter(3, OLD_SAMPL_NO[0]);
- param.setWhereClauseParameter(4, PROD_CD.toString());
- dao.update("UIB020180_01.UPDATE", param);
- }
- }
- String msg = "";
- if(2 == flagInt ) {
- msg = "钢卷【" + OLD_SAMPL_NO[0] + "】的生产规范标准不合格!详情请去生产规范判定结果页面查看!";
- } else
- msg = "钢卷【" + OLD_SAMPL_NO[0] + "】的生产规范标准合格!详情请去生产规范判定结果页面查看!";
- context.put("returnInfoMsg", msg);
- return PosBizControlConstants.SUCCESS;
- }
- }
|