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; /** * @Description 保存需要多次检验的材质信息,手工材质判定界面{界面ID:UIB020160} * @author 梅贵平{meiguiping} * @date 2008-12-24 下午04:24:05 * @JDK Version jdk1.4.2 */ public class SaveMoreTimeQltyExp extends PosActivity { public String runActivity(PosContext context) { //生成dao及posparamter PosGenericDao dao = this.getDao("mesdao"); PosParameter param= new PosParameter(); ///获取请求参数 String[]REG_ID = (String[])context.get("REG_ID");//登录人 //获取表格1的请求参数 String[] COIL_NO = (String[])context.get("COIL_NO");//钢卷号 String[] QLTY_MAN_DEC_GRD = (String[])context.get("QLTY_MAN_DEC_GRD");//钢卷号的材质结果 String[] QLTY_MAN_INS_TP = (String[])context.get("QLTY_MAN_INS_TP");//是否为手工判定 String[] SMP_NO = (String[])context.get("SMP_NO");//试样号 String[] SMP_CUT_LOC = (String[])context.get("SMP_CUT_LOC");//试样位置 String[] rowStatus1 = (String[])context.get("rowStatus1"); //获取表格2的请求参数 String[] QLTY_CD = (String[])context.get("QLTY_CD");//材质代码 String[] QLTY_SEQ = (String[])context.get("QLTY_SEQ"); String[] QLTY_VAL_WK1 = (String[])context.get("QLTY_VAL_WK1");//材质实际值 String[] QLTY_UNIT_WK1 = (String[])context.get("QLTY_UNIT_WK1");//类型 String[] QLTY_VAL_WK2 = (String[])context.get("QLTY_VAL_WK2");//值 String[] QLTY_UNIT_WK2 = (String[])context.get("QLTY_UNIT_WK2");//类型 String[] QLTY_DCS_RST = (String[])context.get("QLTY_DCS_RST");//各个检验仓木的结果 String[] COIL_NO1 = (String[])context.get("COIL_NO1");//钢卷号 String[] SMP_NO1 = (String[])context.get("SMP_NO1");//试样号 String[] SMP_CUT_LOC1 = (String[])context.get("SMP_CUT_LOC1");//位置 //EX用于判断在TBB02_REDCS_QLTY是需要update还是需要insert,若值为Y则为insert,否则为update String[] EX = (String[])context.get("EX"); String[] rowStatus2 = (String[])context.get("rowStatus2"); //对表格1执行增、删、改 //UPDATE TBH02_COIL_COMM SET MATLQLTY_DEC_GRD = ? WHERE COIL_NO = ? if(rowStatus1!=null) { int len1 = rowStatus1.length; if(len1 > 0) { for(int i = 0; i < len1; i++) { param = new PosParameter(); param.setWhereClauseParameter(0, QLTY_MAN_DEC_GRD[i]);//材质判定等级 param.setWhereClauseParameter(1, COIL_NO[i]); dao.update("UIB020160_01.UPDATE", param); //修改试样号的状态到“D”,即综合判定待机 param = new PosParameter(); param.setWhereClauseParameter(0, QLTY_MAN_INS_TP[i]);//是否为手工判定 param.setWhereClauseParameter(1, REG_ID[0]);//登录人 param.setWhereClauseParameter(2, SMP_NO[i]); param.setWhereClauseParameter(3, SMP_CUT_LOC[i]); dao.update("UIB020160_012.UPDATE", param); } } } //对表格2执行增、删、改 //对于TBB02_WORK_QLTY和TBB02_REWORK_QLTY,若请求的位置参数为W的话,则要区分1和2 if(rowStatus2!=null) { int n = 0; int len2 = rowStatus2.length; if(len2>0) { for(int j = 0; j < len2; j++) { if("u".equals(rowStatus2[j])) { //update TBB02_WORK_QLTY if("W".equals(SMP_CUT_LOC1[0]) && "".equals(QLTY_SEQ[j]) )//若位置为W { //头的--1 n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "1");//1为头 param.setWhereClauseParameter(n++, QLTY_CD[j]); dao.update("UIB020160_02.UPDATE" , param); //尾的--2 n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK2[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK2[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "2");//2为尾 param.setWhereClauseParameter(n++, QLTY_CD[j]); dao.update("UIB020160_02.UPDATE" , param); } else if(!"W".equals(SMP_CUT_LOC1[0]) && "".equals(QLTY_SEQ[j]) )//若位置非W { n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]); param.setWhereClauseParameter(n++, QLTY_CD[j]); dao.update("UIB020160_02.UPDATE" , param); } //update TBB02_REWORK_QLTY if("W".equals(SMP_CUT_LOC1[0]) && !"".equals(QLTY_SEQ[j])) { //头 n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "1"); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.update("UIB020160_03.UPDATE" , param); //尾 n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK2[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK2[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "2"); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.update("UIB020160_03.UPDATE" , param); } if(!"W".equals(SMP_CUT_LOC1[0]) && !"".equals(QLTY_SEQ[j])) { n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_VAL_WK1[j]); param.setWhereClauseParameter(n++, QLTY_UNIT_WK1[j]); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.update("UIB020160_03.UPDATE" , param); } //update or insert TBB02_REDCS_QLTY if(!"".equals(QLTY_SEQ[j])) { if("Y".equals(EX[j]))//为y时需要insert { n = 0; param = new PosParameter(); param.setValueParamter(n++, COIL_NO1[0]); param.setValueParamter(n++, QLTY_CD[j]); param.setValueParamter(n++, QLTY_SEQ[j]); param.setValueParamter(n++, QLTY_DCS_RST[j]); dao.insert("UIB020160_02.INSERT", param); } else//非y时为update { n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_DCS_RST[j]); param.setWhereClauseParameter(n++, COIL_NO1[0]); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.update("UIB020160_04.UPDATE" , param); } }// update redcs_qlty end else//insert or update tbb02_dcs_qlty { if("Y".equals(EX[j]))//insert { param = new PosParameter(); param.setValueParamter(0 , COIL_NO1[0]); param.setValueParamter(1, QLTY_CD[j]); param.setValueParamter(2, QLTY_DCS_RST[j]); dao.insert("UIB020160_03.INSERT", param); } else//update { param = new PosParameter(); param.setWhereClauseParameter(0, QLTY_DCS_RST[j]); param.setWhereClauseParameter(1, COIL_NO1[0]); param.setWhereClauseParameter(2, QLTY_CD[j]); dao.update("UIB020160_05.UPDATE", param); } } }//if "u" end if("i".equals(rowStatus2[j])) { //insert TBB02_REWORK_QLTY if("W".equals(SMP_CUT_LOC1[0])) { //头 n = 0; param = new PosParameter(); param.setValueParamter(n++, QLTY_CD[j]); param.setValueParamter(n++, QLTY_SEQ[j]); param.setValueParamter(n++, QLTY_VAL_WK1[j]); param.setValueParamter(n++, QLTY_UNIT_WK1[j]); param.setValueParamter(n++, SMP_NO1[0]); param.setValueParamter(n++, "1"); dao.insert("UIB020160_01.INSERT", param); //尾 n = 0; param = new PosParameter(); param.setValueParamter(n++, QLTY_CD[j]); param.setValueParamter(n++, QLTY_SEQ[j]); param.setValueParamter(n++, QLTY_VAL_WK2[j]); param.setValueParamter(n++, QLTY_UNIT_WK2[j]); param.setValueParamter(n++, SMP_NO1[0]); param.setValueParamter(n++, "2"); dao.insert("UIB020160_01.INSERT", param); } else { n = 0; param = new PosParameter(); param.setValueParamter(n++, QLTY_CD[j]); param.setValueParamter(n++, QLTY_SEQ[j]); param.setValueParamter(n++, QLTY_VAL_WK1[j]); param.setValueParamter(n++, QLTY_UNIT_WK1[j]); param.setValueParamter(n++, SMP_NO1[0]); param.setValueParamter(n++, SMP_CUT_LOC1[0]); dao.insert("UIB020160_01.INSERT", param); } //insert TBB02_REDCS_QLTY n = 0; param = new PosParameter(); param.setValueParamter(n++, COIL_NO1[0]); param.setValueParamter(n++, QLTY_CD[j]); param.setValueParamter(n++, QLTY_SEQ[j]); param.setValueParamter(n++, QLTY_DCS_RST[j]); dao.insert("UIB020160_02.INSERT", param); }// if "i" end if("d".equals(rowStatus2[j])) { //update TBB02_REWORK_QLTY if("W".equals(SMP_CUT_LOC1[j])) { n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "1"); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.delete("UIB020160_01.DELETE", param); n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, "2"); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.delete("UIB020160_01.DELETE", param); } else { n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, SMP_NO1[0]); param.setWhereClauseParameter(n++, SMP_CUT_LOC1[0]); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.delete("UIB020160_01.DELETE", param); } //update TBB02_REDCS_QLTY n = 0; param = new PosParameter(); param.setWhereClauseParameter(n++, QLTY_DCS_RST[j]); param.setWhereClauseParameter(n++, COIL_NO1[0]); param.setWhereClauseParameter(n++, QLTY_CD[j]); param.setWhereClauseParameter(n++, QLTY_SEQ[j]); dao.delete("UIB020160_02.DELETE", param); }//if "d" end }//for end }// if "len2>0" end }//if "rowStatus2!=null" end //修改试样号的状态到“D”,即综合判定待机 param = new PosParameter(); param.setWhereClauseParameter(0, REG_ID[0]); param.setWhereClauseParameter(1, SMP_NO1[0]); param.setWhereClauseParameter(2, SMP_CUT_LOC1[0]); dao.update("UIB020160_011.UPDATE", param); return PosBizControlConstants.SUCCESS; } }