package xin.glue.ui.J.J01; import java.util.ArrayList; 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.vo.PosParameter; import com.posdata.glue.dao.vo.PosRow; import com.posdata.glue.dao.vo.PosRowSet; public class ModifyShipProgStatusOfShipPrint extends PosActivity { public String runActivity(PosContext context) { //UPDATE TBJ01_SHIP_DIR //发货指示进程状态 String[] pShipProgCd = (String[]) context.get("SHIP_PROG_CD" ); //SET SHIP_PROG_CD = :1 //运输流水号 String[] pShipDirNo = (String[]) context.get("SHIP_DIRNO" ); //WHERE SHIP_DIRNO = :2 //钢卷号 String[] coilNoArr = (String[]) context.get("OLD_SAMPL_NO" ); //合同单位 String[] custNmArr = (String[]) context.get("CUST_NM" ); //声明一个数组,用来存放钢卷号和合同单位 // String[] arr = new String[2]; int iCnt = 0; //优特钢数据集合 /* ArrayList params = new ArrayList(); UIJ030060 uij030060 = new UIJ030060(); System.out.print(coilNoArr); System.out.print(custNmArr); for (int i = 0; i < custNmArr.length; i++) { if("新余新钢优特钢带有限公司".equals(custNmArr[i])) { String[] arr = new String[2]; arr[0] = coilNoArr[i]; arr[1] = custNmArr[i]; params.add(arr); } } for(String[] str : params) { System.out.println(str[0] + "--" + str[1]); } uij030060.saveYouTeTbcData(params); */ if( pShipDirNo != null ) { iCnt = pShipDirNo.length; } logger.logInfo("ModifyShipProgStatusOfShipPrint : 中的钢卷数目iCnt = ["+ iCnt +"]"); //发货表中的发货指示状态 String ship_prog_cd = null; //判断是否全部选择的标志位 boolean note = true; PosParameter param = null; //这里改变发货表的状态的时候,必须注意的是:同一发货指示号下的钢卷没有全部发完的情况下不能修改发货指示表的状态 for( int i = 0; i < iCnt; i++ ) { PosParameter param3 = new PosParameter(); param3.setWhereClauseParameter(0, pShipDirNo[i]); //查询钢卷公共表中的SHIP_PROG_CD状态。看是否全部改变 PosRowSet rows = getDao("mesdao").find("UIJ010040_select_ship", param3); while(rows.hasNext()){ //循环的取出每一个值,并且判断是否所有的值全部都改变成希望的结果 PosRow row = rows.next(); ship_prog_cd = (String) row.getAttribute("SHIP_PROG_CD"); logger.logInfo(pShipDirNo[i]+" ModifyShipProgStatusOfShipPrint查看发货指示号的状态 : : "+ship_prog_cd); //当存在值不为08的时候说明同一发货指示号下的卷没有全部打印明细,标志位为flase。 //没有到达08,钢卷不会在界面上显示。但是如果部分卷达到后就出具发货明细,那么达到的部分全部装完也不要能改变发货状态 while(ship_prog_cd.equals("07")||ship_prog_cd.equals("06")||ship_prog_cd.equals("05")||ship_prog_cd.equals("04")||ship_prog_cd.equals("03")){ note = false; break; } } logger.logInfo("ModifyShipProgStatusOfShipPrint 查看发货指示号下的钢卷是否全部装完标志 : "+ note); if(note == true){ //这里需要判断同一发货指示下的钢卷是否全部保存,如果没有的话不能改变发货指示的状态 //这里需要给变发货表的状态,从7-8 param = new PosParameter(); param.setValueParamter( 0, pShipProgCd[i] ); param.setValueParamter( 1, pShipDirNo[i] ); getDao("mesdao").update("UIJ010060.ModifyShipProgStatusOfShip.Save", param); } } //是否板加 String[] ISBJ = (String[])context.get("ISBJ"); //发运状态 String[] SHIP_PROG_CD = (String[])context.get("ShipProgCd"); //发运清单号 String[] SHIP_INVNO = (String[])context.get("SHIP_INVNO"); //钢卷号 String[] OLD_SAMPL_NO = (String[])context.get("OLD_SAMPL_NO"); //流水号 String[] COIL_NO = (String[])context.get("COIL_NO"); //板坯号 String[] SLAB_NO = (String[])context.get("SLAB_NO"); //合同号 String[] ORD_NO = (String[])context.get("ORD_NO"); //订单号 String[] ORD_SEQ = (String[])context.get("ORD_SEQ"); //交货期 String[] DEVLMT_DTIME = (String[])context.get("DEVLMT_DTIME"); //订单厚度 String[] INSTR_COIL_THK = (String[])context.get("INSTR_COIL_THK"); //订单宽度 String[] INSTR_COIL_WTH = (String[])context.get("INSTR_COIL_WTH"); //订单长度 String[] INSTR_COIL_LEN = (String[])context.get("INSTR_COIL_LEN"); //订单内径 String[] INSTR_COIL_INDIA = (String[])context.get("INSTR_COIL_INDIA"); //订单外径 String[] INSTR_COIL_OUTDIA = (String[])context.get("INSTR_COIL_OUTDIA"); //订单重量 String[] INSTR_COIL_WGT = (String[])context.get("INSTR_COIL_WGT"); //目的地代码 String[] SM_CD = (String[])context.get("SM_CD"); //客户代码 String[] ORD_CD = (String[])context.get("ORD_CD"); //钢卷长度 String[] COIL_LEN = (String[])context.get("COIL_LEN"); //钢卷内径 String[] COIL_INDIA = (String[])context.get("COIL_INDIA"); //钢卷外径 String[] COIL_OUTDIA = (String[])context.get("COIL_OUTDIA"); //钢卷厚度 String[] COIL_THK = (String[])context.get("COIL_THK"); //钢卷宽度 String[] COIL_WTH = (String[])context.get("COIL_WTH"); //钢卷重量 String[] COIL_WGT = (String[])context.get("COIL_WGT"); //产品类型 String[] PRODNM_CD = (String[])context.get("PRODNM_CD"); //规格略号 String[] SPEC_ABBSYM = (String[])context.get("SPEC_ABBSYM"); //订单用途代码 String[] ORD_USE_CD = (String[])context.get("ORD_USE_CD"); //钢种 String[] SPEC_STL_GRD = (String[])context.get("SPEC_STL_GRD"); //成分等级 String[] INGR_DEC_GRD = (String[])context.get("INGR_DEC_GRD"); //外观等级 String[] EXTSHAPE_DEC_GRD = (String[])context.get("EXTSHAPE_DEC_GRD"); //尺寸等级 String[] SIZE_DEC_RST = (String[])context.get("SIZE_DEC_RST"); //重量等级 String[] WGT_DEC_RST = (String[])context.get("WGT_DEC_RST"); //材质等级 String[] MATLQLTY_DEC_GRD = (String[])context.get("MATLQLTY_DEC_GRD"); //综合等级 String[] TOT_DEC_GRD = (String[])context.get("TOT_DEC_GRD"); //轧钢时间 String[] MILL_DTIME = (String[])context.get("MILL_DTIME"); //成分判定时间 String[] INGR_DEC_DTIME = (String[])context.get("INGR_DEC_DTIME"); //材质判定时间 String[] MATLQLTY_DEC_DTIME = (String[])context.get("MATLQLTY_DEC_DTIME"); //外观判定时间 String[] EXTSHAPE_DEC_DTIME = (String[])context.get("EXTSHAPE_DEC_DTIME"); //综合判定时间 String[] TOT_DEC_DTIME = (String[])context.get("TOT_DEC_DTIME"); //瑕疵代码1 String[] CRK_CD1 = (String[])context.get("CRK_CD1"); //瑕疵代码2 String[] CRK_CD2 = (String[])context.get("CRK_CD2"); //瑕疵代码3 String[] CRK_CD3 = (String[])context.get("CRK_CD3"); //瑕疵代码4 String[] CRK_CD4 = (String[])context.get("CRK_CD4"); //瑕疵代码5 String[] CRK_CD5 = (String[])context.get("CRK_CD5"); //车辆号 String[] TRANS_CAR_NO = (String[])context.get("TRANS_CAR_NO"); //质保书编号 String[] CRET_NO = (String[])context.get("CRET_NO"); //班次 String[] ENTRY_SHIFT = (String[])context.get("ENTRY_SHIFT"); //班组 String[] ENTRY_GROUP = (String[])context.get("ENTRY_GROUP"); //操作人 String[] ENTRY_REG = (String[])context.get("ENTRY_REG"); //操作时间 String[] ENTRY_DTIME = (String[])context.get("ENTRY_DTIME"); //去向 String[] ROUTE = (String[])context.get("ROUTE"); int iCnt1 = 0; if( COIL_NO != null ) { iCnt1 = COIL_NO.length; } PosParameter params = null; PosParameter param1 = null; for( int i = 0; i < iCnt1; i++ ) { params = new PosParameter(); param1 = new PosParameter(); params.setValueParamter(0, SHIP_INVNO[i]); params.setValueParamter(1, OLD_SAMPL_NO[i]); params.setValueParamter(2, COIL_NO[i]); params.setValueParamter(3, SLAB_NO[i]); params.setValueParamter(4, ORD_NO[i]); params.setValueParamter(5, ORD_SEQ[i]); params.setValueParamter(6, DEVLMT_DTIME[i]); params.setValueParamter(7, INSTR_COIL_THK[i]); params.setValueParamter(8, INSTR_COIL_WTH[i]); params.setValueParamter(9, INSTR_COIL_LEN[i]); params.setValueParamter(10, INSTR_COIL_INDIA[i]); params.setValueParamter(11, INSTR_COIL_OUTDIA[i]); params.setValueParamter(12, INSTR_COIL_WGT[i]); params.setValueParamter(13, SM_CD[i]); params.setValueParamter(14, ORD_CD[i]); params.setValueParamter(15, COIL_LEN[i]); params.setValueParamter(16, COIL_INDIA[i]); params.setValueParamter(17, COIL_OUTDIA[i]); params.setValueParamter(18, COIL_THK[i]); params.setValueParamter(19, COIL_WTH[i]); params.setValueParamter(20, COIL_WGT[i]); params.setValueParamter(21, PRODNM_CD[i]); params.setValueParamter(22, SPEC_ABBSYM[i]); params.setValueParamter(23, SPEC_ABBSYM[i]); params.setValueParamter(24, ORD_USE_CD[i]); params.setValueParamter(25, SPEC_STL_GRD[i]); params.setValueParamter(26, INGR_DEC_GRD[i]); params.setValueParamter(27, EXTSHAPE_DEC_GRD[i]); params.setValueParamter(28, SIZE_DEC_RST[i]); params.setValueParamter(29, WGT_DEC_RST[i]); params.setValueParamter(30, MATLQLTY_DEC_GRD[i]); params.setValueParamter(31, TOT_DEC_GRD[i]); params.setValueParamter(32, MILL_DTIME[i]); params.setValueParamter(33, INGR_DEC_DTIME[i]); params.setValueParamter(34, MATLQLTY_DEC_DTIME[i]); params.setValueParamter(35, EXTSHAPE_DEC_DTIME[i]); params.setValueParamter(36, TOT_DEC_DTIME[i]); params.setValueParamter(37, CRK_CD1[i]); params.setValueParamter(38, CRK_CD2[i]); params.setValueParamter(39, CRK_CD3[i]); params.setValueParamter(40, CRK_CD4[i]); params.setValueParamter(41, CRK_CD5[i]); params.setValueParamter(42, TRANS_CAR_NO[i]); params.setValueParamter(43, CRET_NO[i]); params.setValueParamter(44, ENTRY_SHIFT[0]); params.setValueParamter(45, ENTRY_GROUP[0]); params.setValueParamter(46, ENTRY_REG[0]); params.setValueParamter(47, ENTRY_DTIME[0]); params.setValueParamter(48, ROUTE[0]); params.setValueParamter(49, "0"); params.setValueParamter(50, SLAB_NO[i].substring(0, 10)); params.setValueParamter(51, OLD_SAMPL_NO[i].substring(0, 10)); getDao("mesdao").insert("UIJ010060_BJ.INSERT", params); param1.setWhereClauseParameter(0, SHIP_PROG_CD[i]); param1.setWhereClauseParameter(1, OLD_SAMPL_NO[i]); getDao("mesdao").update("UIJ010060_BJ.UPDATE", param1); } return PosBizControlConstants.SUCCESS; } }