package xin.glue.ui.H.H05; import xin.glue.ui.common.PosGridSave; //import xin.glue.ui.common.component.PosSiteConfig; import xin.glue.ui.common.component.PosSiteLog; import java.math.BigDecimal; 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 PosCreateWBCommand extends PosActivity{ private String[] sSelYard = new String[10]; private int iIdx = 0; public String runActivity(PosContext context) { logger.logInfo("PosCreateWBCommand START " ); String[] rowStatus = (String[]) context.get("rowStatus"); String[] WK_BEAM = (String[]) context.get("WK_BEAM"); String[] COIL_NO = (String[]) context.get("COIL_NO"); String[] ORD_SEQ = (String[]) context.get("ORD_SEQ"); logger.logInfo("PosCreateWBCommand---> rowStatus LEN["+rowStatus.length+"]" ); for(int i=0;i WK_BEAM["+WK_BEAM[i]+"],COIL_NO["+COIL_NO[i] ); for ( int j = 0; j < 10 ; j++) { sSelYard[j] = ""; } String RtnCrCmd = null; PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, COIL_NO[i]); PosRowSet CoilComVO = this.getDao("mesdao").find("NIH050010_COIL.select", param1); if (CoilComVO.hasNext()) { PosRow CoilComROW = CoilComVO.next(); String R_SPM_YN = (String)CoilComROW.getAttribute("SPM_YN"); String R_STL_GRD = (String)CoilComROW.getAttribute("STL_GRD"); Number R_COIL_WTH = (Number)CoilComROW.getAttribute("COIL_WTH"); Number R_COIL_OUT_DIA = (Number)CoilComROW.getAttribute("COIL_OUTDIA"); String R_PRODNM_CD = (String)CoilComROW.getAttribute("PRODNM_CD"); String R_ORD_FL = (String)CoilComROW.getAttribute("ORD_FL"); String R_SCRAP_CAUSE_CD = (String)CoilComROW.getAttribute("SCRAP_CAUSE_CD"); String R_RTN_CAU_CD = (String)CoilComROW.getAttribute("RTN_CAU_CD"); if (R_SPM_YN != null && R_SPM_YN.equals("1") ) { sSelYard = YardSearch(WK_BEAM[i],"D",R_STL_GRD); } else if (R_SPM_YN != null && R_SPM_YN.equals("2")) { sSelYard = YardSearch(WK_BEAM[i],"E",R_STL_GRD); } else if (R_PRODNM_CD.substring(0,1).equals("C")){ sSelYard = YardSearch(WK_BEAM[i],"C",R_STL_GRD); } else if (R_RTN_CAU_CD != null && !R_RTN_CAU_CD.equals("") ){ sSelYard = YardSearch(WK_BEAM[i],"B",R_STL_GRD); } else if (R_SCRAP_CAUSE_CD != null && !R_SCRAP_CAUSE_CD.equals("") ){ sSelYard = YardSearch(WK_BEAM[i],"A",R_STL_GRD); } else if (R_ORD_FL != null && R_ORD_FL.equals("2") ){ sSelYard = YardSearch(WK_BEAM[i],"F",R_STL_GRD); } else { sSelYard = YardSearch(WK_BEAM[i],"G",R_STL_GRD); } String LoadAddress = null; String RtnChk = null; for ( int sel = 0; sel < iIdx;sel++ ) { logger.logInfo("PosCreateWBCommand---> sSelYard["+sel+"]:"+sSelYard[sel] ); PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, sSelYard[sel]); PosRowSet LoadYardVo = getDao("mesdao").find("NIH050010_LOAD_YARD.select", param0); while(LoadYardVo.hasNext()) { PosRow LoadYardROW = LoadYardVo.next(); LoadAddress = (String)LoadYardROW.getAttribute("YARD_ADDR"); logger.logInfo("PosCreateWBCommand---> LoadAddress:"+LoadAddress ); String StoreLay = LoadAddress.substring(7,8); String StoreSeq = LoadAddress.substring(8,9); if (StoreLay.equals("2")) { RtnChk = chkLoadCom(LoadAddress,R_COIL_WTH ); } else { RtnChk = "1"; } logger.logInfo("PosCreateWBCommand---> RtnChk:"+RtnChk ); if (RtnChk.equals("1")) { RtnCrCmd = CreCrComand(ORD_SEQ[i],WK_BEAM[i],LoadAddress,COIL_NO[i]); break; } } if (RtnChk.equals("1") ) { break; } } } } return PosBizControlConstants.SUCCESS; } public String[] YardSearch(String WkBeam,String AreaKind,String R_STL_GRD ) { logger.logInfo("PosCreateWBCommand compSlab start " ); String sYardAddr = null; String sFromStlGrd = null; String sToStlGrd = null; String sStlGrd1 = null; String sStlGrd2 = null; String sStlGrd3 = null; String sStlGrd4 = null; String sStlGrd5 = null; String sStlGrd6 = null; String sStlGrd7 = null; String[] SelAddr_G = new String[10]; String ToPos = null; if (WkBeam.substring(0,3).equals("B04") || WkBeam.substring(0,3).equals("B05")) { ToPos = "C3"; } else if (WkBeam.substring(0,3).equals("B06") || WkBeam.substring(0,3).equals("B07")) { ToPos = "C2"; } else { ToPos = "C1"; } iIdx = 0; for (int j=0;j < 10;j++) { SelAddr_G[j]= ""; } PosParameter param0 = new PosParameter(); // param0.setWhereClauseParameter(0, ToPos); param0.setWhereClauseParameter(0, ToPos); PosRowSet StdYardVo = getDao("mesdao").find("UIH050050_STD_YARD.select", param0); while(StdYardVo.hasNext()){ PosRow StdYardROW = StdYardVo.next(); sYardAddr = (String)StdYardROW.getAttribute("YARD_ADDR"); sFromStlGrd = (String)StdYardROW.getAttribute("FROM_STL_GRD"); sToStlGrd = (String)StdYardROW.getAttribute("TO_STL_GRD"); sStlGrd1 = (String)StdYardROW.getAttribute("STL_GRD1"); sStlGrd2 = (String)StdYardROW.getAttribute("STL_GRD2"); sStlGrd3 = (String)StdYardROW.getAttribute("STL_GRD3"); sStlGrd4 = (String)StdYardROW.getAttribute("STL_GRD4"); sStlGrd5 = (String)StdYardROW.getAttribute("STL_GRD5"); sStlGrd6 = (String)StdYardROW.getAttribute("STL_GRD6"); sStlGrd7 = (String)StdYardROW.getAttribute("STL_GRD7"); logger.logInfo("PosCreateWBCommand R_STL_GRD:"+R_STL_GRD ); logger.logInfo("PosCreateWBCommand sFromStlGrd:("+sFromStlGrd+"),sToStlGrd:("+sToStlGrd+")" ); if (sFromStlGrd != null && !sFromStlGrd.equals("") ) { if (sFromStlGrd.compareTo(R_STL_GRD) <= 0 && sToStlGrd.compareTo(R_STL_GRD) >= 0 ) { SelAddr_G[iIdx] = sYardAddr; iIdx++; } } else if (sStlGrd1 != null && sStlGrd1.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd1:("+sStlGrd1+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd2 != null && sStlGrd2.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd2:("+sStlGrd2+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd3 != null && sStlGrd3.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd3:("+sStlGrd3+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd4 != null && sStlGrd4.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd4:("+sStlGrd4+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd5 != null && sStlGrd5.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd5:("+sStlGrd5+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd6 != null && sStlGrd6.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd6:("+sStlGrd6+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd7 != null && sStlGrd7.equals(R_STL_GRD)) { logger.logInfo("PosCreateWBCommand sStlGrd7:("+sStlGrd7+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } } return SelAddr_G; } public String chkLoadCom(String LoadAddress,Number R_COIL_WTH ) { String StoreSeq = LoadAddress.substring(8,9); logger.logInfo("PosCreateWBCommand chkLoadCom StoreSeq:"+StoreSeq ); String ComAddr = null; String StepClf = null; String NewStepClf = null; String NewAddress = null; StepClf = LoadAddress.substring(5,7); logger.logInfo("PosCreateWBCommand chkLoadCom StepClf:"+StepClf ); if (StoreSeq.equals("2") ) { int intStep = Integer.parseInt(StepClf); intStep++; if (intStep < 10) { NewStepClf = "0"+String.valueOf(intStep); } else { NewStepClf = String.valueOf(intStep); } NewAddress = LoadAddress.substring(0,5)+NewStepClf+"1"+"1"; logger.logInfo(" 2 NewAddress "+NewAddress ); } else { NewAddress = LoadAddress.substring(0,7)+"1"+"2";; logger.logInfo(" 1 NewAddress "+NewAddress ); } PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, NewAddress); PosRowSet NewYardVo = getDao("mesdao").find("NIH050010_NEW_ADDR.select", param0); if (NewYardVo.hasNext()) { return "1"; } else { return "2"; } } public String CreCrComand(String ORD_SEQ, String FromAddr,String ToAddr,String CoilNo) { logger.logInfo("PosCreateWBCommand--->CreCrComand: ORD_SEQ:"+ORD_SEQ ); String YardArea = ToAddr.substring(0,4); logger.logInfo("PosCreateWBCommand--->YardArea:"+YardArea ); String CrNo = CranNoSel(YardArea); logger.logInfo("PosCreateWBCommand--->CrNo:"+CrNo ); PosParameter param0 = new PosParameter(); param0.setWhereClauseParameter(0, ORD_SEQ); PosRowSet OrdSeqVo = getDao("mesdao").find("UIH050050_CR_ORD.select", param0); PosParameter param2 = new PosParameter(); PosParameter param3 = new PosParameter(); PosParameter param4 = new PosParameter(); if ( OrdSeqVo.hasNext() ) { param2.setValueParamter(0, CrNo); param2.setValueParamter(1, CoilNo); param2.setValueParamter(2, FromAddr); param2.setValueParamter(3, ToAddr); param2.setValueParamter(4, "PosCreateWBCommand"); param2.setValueParamter(5, "1"); param2.setValueParamter(6, ORD_SEQ); getDao("mesdao").update("UIH050050_CR_ORD.update",param2); } else { param2.setValueParamter(0, CrNo); param2.setValueParamter(1, CoilNo); param2.setValueParamter(2, FromAddr); param2.setValueParamter(3, ToAddr); param2.setValueParamter(4, "1"); param2.setValueParamter(5, ToAddr.substring(0,2)); param2.setValueParamter(6, "PosCreateWBCommand"); getDao("mesdao").update("UIH050050_CR_ORD.insert",param2); param3.setValueParamter(0, "1"); param3.setValueParamter(1, ToAddr); getDao("mesdao").update("NIH050010_RES_YARD.update",param3); param4.setValueParamter(0, "1"); param4.setValueParamter(1, "UIH050050"); param4.setValueParamter(2, FromAddr); getDao("mesdao").update("UIH050050_WKBEAM_RESV.update",param4); } return "1"; } public String CranNoSel( String YardAddr) { String Addr = null; Addr = YardAddr.substring(0,3); logger.logInfo("PosCreateWBCommand--->CranNoSel: Addr:"+Addr ); String CrNo = null; if ( Addr.equals("C31") ) { CrNo = "3-1"; } else if(Addr.equals("C32") || Addr.equals("C33")) { CrNo = "3-2"; } else if(Addr.equals("C34")) { CrNo = "3-3"; } else if(Addr.equals("C21") || Addr.equals("C22") ) { CrNo = "3-4"; } else if(Addr.equals("C23") || Addr.equals("C24") ) { CrNo = "3-5"; } else if(Addr.equals("C25") || Addr.equals("C26") ) { CrNo = "3-6"; } else if(Addr.equals("C11") || Addr.equals("C12") ) { CrNo = "3-7"; } else if(Addr.equals("C13") || Addr.equals("C14") ) { CrNo = "3-8"; } else if(Addr.equals("C15") || Addr.equals("C16") ) { CrNo = "3-9"; } return CrNo; } }