package xin.glue.ui.G.G04; 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 PosCmdRollerTable extends PosActivity { private String[] sSelYard = new String[10]; private int iIdx = 0; //private String currDate = null; private String R_SLAB_RT = null; //private String R_HCR_CLF = null; private Number R_SLAB_WTH = null; private Number R_SLAB_LEN = null; private String R_ORD_NO = null; //private String R_PRODNM_CD = null; private String R_STL_GRD = null; //private String R_SLAB_INGR_DEC_GRD = null; private String R_EXTSHAPE_GRD = null; private String R_CORRECT_RSLT_CD = null; public String runActivity(PosContext context) { logger.logInfo("PosCmdRollerTable START " ); String[] rowStatus = (String[]) context.get("rowStatus"); String[] YARD_ADDR = (String[]) context.get("YARD_ADDR"); String[] SLAB_NO = (String[]) context.get("SLAB_NO"); //String[] ORD_SEQ = (String[]) context.get("ORD_SEQ"); logger.logInfo("PosCmdRollerTable---> rowStatus LEN["+rowStatus.length+"]" ); for(int i=0;i= 0 ) { SelAddr_G[iIdx] = sYardAddr; iIdx++; } } else if (sStlGrd1 != null && sStlGrd1.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd1:("+sStlGrd1+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd2 != null && sStlGrd2.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd2:("+sStlGrd2+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd3 != null && sStlGrd3.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd3:("+sStlGrd3+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd4 != null && sStlGrd4.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd4:("+sStlGrd4+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd5 != null && sStlGrd5.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd5:("+sStlGrd5+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd6 != null && sStlGrd6.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd6:("+sStlGrd6+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd7 != null && sStlGrd7.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd7:("+sStlGrd7+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd8 != null && sStlGrd7.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd7:("+sStlGrd8+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd9 != null && sStlGrd8.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd7:("+sStlGrd9+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } else if (sStlGrd10 != null && sStlGrd9.equals(R_STL_GRD)) { logger.logInfo("PosCmdRollerTable sStlGrd7:("+sStlGrd10+")" ); SelAddr_G[iIdx] = sYardAddr; iIdx++; } } } return SelAddr_G; } // This routine is checking module it's the available to-address for the loading from-slab // param : from-slab, to posiotion address,to posiotion address lay, to-slab // return: loading possibility or impossibility public String chkLoadsms(String slabno,String LoadAddress,String StoreLay,String YdSlabNo ) { if (StoreLay != null && StoreLay.equals("12")) { return "0"; } PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, YdSlabNo); PosRowSet LoadSlabVO = this.getDao("mesdao").find("NIG020640_SLAB_COMM.select", param1); if (LoadSlabVO.hasNext()) { PosRow LoadSlabROW =LoadSlabVO.next(); Number YdSlabWth = (Number)LoadSlabROW.getAttribute("SLAB_WTH"); Number YdSlabLen = (Number)LoadSlabROW.getAttribute("SLAB_LEN"); String YdStlGrd = (String)LoadSlabROW.getAttribute("STL_GRD"); String YdOrdNo = (String)LoadSlabROW.getAttribute("ORD_NO"); double tol = 5; double D_R_SLAB_WTH = R_SLAB_WTH.doubleValue(); logger.logInfo("XinDecToPosition compSlab D_R_SLAB_WTH:"+D_R_SLAB_WTH ); double D_R_SLAB_LEN = R_SLAB_LEN.doubleValue(); logger.logInfo("XinDecToPosition compSlab D_R_SLAB_LEN:"+D_R_SLAB_LEN ); double D_YD_SLAB_LEN = YdSlabLen.doubleValue(); double D_YD_SLAB_WTH = YdSlabWth.doubleValue(); logger.logInfo("XinDecToPosition compSlab D_YD_SLAB_WTH:"+D_YD_SLAB_WTH ); double rem_len = Math.abs(D_YD_SLAB_LEN - D_R_SLAB_LEN); double rem_wth = Math.abs(D_R_SLAB_WTH - D_YD_SLAB_WTH); logger.logInfo("XinDecToPosition compSlab rem_wth:"+rem_wth ); logger.logInfo("XinDecToPosition compSlab rem_len:"+rem_len ); String sRChargeNo = slabno.substring(0,10); String sYChargeNo = YdSlabNo.substring(0,10); logger.logInfo("XinDecToPosition compSlab sYChargeNo:"+sYChargeNo ); //Number aa = (Number) new Double(rem_len); if (rem_len > tol ) { logger.logInfo("XinDecToPosition compSlab rem_len> tol " ); return ""; } logger.logInfo("XinDecToPosition compSlab rem_len comp " ); if (rem_wth > tol ) { return "0"; } if ( R_ORD_NO.equals(YdOrdNo) && R_STL_GRD.equals(YdStlGrd) ) { return "1"; } if ( R_ORD_NO.equals(YdOrdNo) ) { return "1"; } if ( R_STL_GRD.equals(YdStlGrd) ) { return "S"; } if ( sRChargeNo.equals(sYChargeNo)) { return "1"; } return "0"; } else { return "1"; } } // This routine is setting crane command to the crane command table // param : from-address,from address slabno,to to-address,to-address store lay public void CreCrComand(String FromAddr, String SlabNo,String ToAddr,String Storelay ) { logger.logInfo("XinDecToPosition--->CreCrComand: start" ); //String nOrdSeq = null; //int iSeq = 0; String CrNo = null; String Areas = ToAddr.substring(1,2); if ( Areas.equals("1") ) { CrNo = "1-2"; } else if (Areas.equals("2")) { CrNo = "1-4"; } else if (Areas.equals("3")) { CrNo = "1-6"; } String To_StoreLay = null; PosParameter param1 = new PosParameter(); param1.setWhereClauseParameter(0, ToAddr); PosRowSet StoreLayVO = this.getDao("mesdao").find("UIG040060_YARD_LAY.select", param1); if (StoreLayVO.hasNext()) { PosRow StoreLayROW = StoreLayVO.next(); To_StoreLay = (String)StoreLayROW.getAttribute("STORELAY"); String ToAddress = ToAddr+To_StoreLay; logger.logInfo("XinDecToPosition--->CrNo:"+ CrNo ); String sqlCRrOrd = "SELECT SLAB_CRANE_ORDER_SEQ.NEXTVAL SEQ_NO FROM DUAL "; PosRowSet CrCmdVo = getDao("mesdao").findByQueryStatement(sqlCRrOrd ); if (CrCmdVo.hasNext()) { PosRow CrCmdROW = CrCmdVo.next(); Number SEQ_NO = (Number)CrCmdROW.getAttribute("SEQ_NO"); PosParameter param2 = new PosParameter(); param2.setValueParamter(0, CrNo ); param2.setValueParamter(1, FromAddr ); param2.setValueParamter(2, ToAddress ); param2.setValueParamter(3, SlabNo ); param2.setValueParamter(4, SEQ_NO ); this.getDao("mesdao").update("UIG040060_YARD_COMMAND.update",param2); } else { PosParameter param2 = new PosParameter(); param2.setValueParamter(0, CrNo ); param2.setValueParamter(1, FromAddr ); param2.setValueParamter(2, ToAddress ); param2.setValueParamter(3, SlabNo ); this.getDao("mesdao").update("UIG040060_YARD_COMMAND.insert",param2); } PosParameter param4 = new PosParameter(); param4.setValueParamter(0, "1"); param4.setValueParamter(1, "UIG040060"); param4.setValueParamter(2, SlabNo); param4.setValueParamter(3, FromAddr); getDao("mesdao").update("UIG040060_SLAB_YARD.update",param4); } } }