| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- 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 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 PosSaveWkBeam extends PosActivity{
-
-
- public String runActivity(PosContext context)
- {
- String[] rowStatus = (String[]) context.get("rowStatus");
- String[] WK_BEAM = (String[]) context.get("WK_BEAM");
- //应该使用批次号
- String[] COIL_NO = (String[]) context.get("OLD_SAMPL_NO");
- String[] TO_ADDR = (String[]) context.get("TO_ADDR");
- String[] CR_NO = (String[]) context.get("CR_NO");
- String[] ORD_SEQ = (String[]) context.get("ORD_SEQ");
- //登录人
- String[] REG_ID = (String[])context.get("REG_ID");
-
- logger.logInfo("PosSaveWkBeam---> rowStatus["+ rowStatus.length+"]" );
-
- if(rowStatus != null){
- for(int i=0;i<rowStatus.length;i++){
- if (ORD_SEQ[i] != null && !ORD_SEQ[i].equals("") ) {
-
- logger.logInfo("PosSaveWkBeam---> ORD_SEQ["+ ORD_SEQ[i]+"]" );
-
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, ORD_SEQ[i]);
- PosRowSet CrOrdVO = this.getDao("mesdao").find("UIH050050_CR_ORD.select", param1);
- if(CrOrdVO.hasNext()) {
-
- //这里做个限制,库内已经存在的卷不能再次进行入库操作
- String sql1 = "SELECT A.COIL_NO FROM TBH05_COIL_YARD A WHERE A.COIL_NO = ?";
- PosParameter paramAA = new PosParameter();
- paramAA.setWhereClauseParameter(0, COIL_NO[i]);
-
- PosRowSet YardCoil = getDao("mesdao").findByQueryStatement(sql1, paramAA);
-
- if(!YardCoil.hasNext()){
-
- //这里必须先判断新的去向位置是否已经上锁,如果已经被别的行车命令占用就不能制订相应的命令并且抛出异常
- String sql = "SELECT RESERV_FL FROM tbh05_coil_yard WHERE YARD_CLF||STEP_CLF||STORELAY||STORE_SEQ = ?";
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, TO_ADDR[i]);
-
- PosRowSet YardReservFl = getDao("mesdao").findByQueryStatement(sql, paramA);
- if(YardReservFl.hasNext()){
- //如果锁定结果存在抛出异常
- PosRow YardReservFlRow = YardReservFl.next();
- String RESERV_FL = (String)YardReservFlRow.getAttribute("RESERV_FL");
- if(RESERV_FL !=null){
- if(RESERV_FL.equals("1")){
- //去向位置锁定的情况
- logger.logDebug("PosSaveWkBeam 在辊道入库制定行车命令的时候,去向位置已经锁定! ");
- String vtemp="RESERV_FL1";
- context.put("rs", vtemp);
- }else{
- //去向位置锁定的情况
- logger.logDebug("PosSaveWkBeam 未知的异常锁定情况! ");
- String vtemp="error";
- context.put("rs", vtemp);
- }
- }else{
- //没有锁定的情况才可以执行相应的更新操作
- //这里取出第一次制定命令的去向位置,解除锁定状态
- PosRow CrOrdROW = CrOrdVO.next();
- String To_add_old = (String)CrOrdROW.getAttribute("TO_ADDR");
-
- PosParameter param3 = new PosParameter();
- param3.setValueParamter(0, "");
- param3.setValueParamter(1, To_add_old);
- getDao("mesdao").update("NIH050010_RES_YARD.update",param3);
-
- //这里在更新命令的去向位置
- PosParameter param2 = new PosParameter();
- param2.setValueParamter(0, CR_NO[i]);
- param2.setValueParamter(1, COIL_NO[i]);
- param2.setValueParamter(2, WK_BEAM[i]);
- param2.setValueParamter(3, TO_ADDR[i]);
- param2.setValueParamter(4, REG_ID[0]);
- param2.setValueParamter(5, "1");
- param2.setValueParamter(6, ORD_SEQ[i]);
- getDao("mesdao").update("UIH050050_CR_ORD.update",param2);
-
- //把命令的去向位置锁定起来
- PosParameter param4 = new PosParameter();
- param4.setValueParamter(0, "1");
- param4.setValueParamter(1, TO_ADDR[i]);
- getDao("mesdao").update("NIH050010_RES_YARD.update",param4);
- }
- }else{
- logger.logDebug("PosSaveWkBeam 锁定标志不存在 ");
- }
- }else{
- //入库的钢卷在库内已经存在
- logger.logDebug("PosSaveWkBeam 入库的钢卷在库存已经存在! "+COIL_NO[i]);
- String vtemp="COIL_NO";
- context.put("rs", vtemp);
- }
- }
- } else {
- //这里做个限制,库内已经存在的卷不能再次进行入库操作
- String sql1 = "SELECT A.COIL_NO FROM TBH05_COIL_YARD A WHERE A.COIL_NO = ?";
- PosParameter paramAA = new PosParameter();
- paramAA.setWhereClauseParameter(0, COIL_NO[i]);
-
- PosRowSet YardCoil = getDao("mesdao").findByQueryStatement(sql1, paramAA);
-
- if(!YardCoil.hasNext()){
- //这里必须先判断新的去向位置是否已经上锁,如果已经被别的行车命令占用就不能制订相应的命令并且抛出异常
- String sql = "SELECT RESERV_FL FROM tbh05_coil_yard WHERE YARD_CLF||STEP_CLF||STORELAY||STORE_SEQ = ?";
-
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, TO_ADDR[i]);
-
- PosRowSet YardReservFl = getDao("mesdao").findByQueryStatement(sql, paramA);
-
- if(YardReservFl.hasNext()){
- //如果锁定结果存在抛出异常
- PosRow YardReservFlRow = YardReservFl.next();
- String RESERV_FL = (String)YardReservFlRow.getAttribute("RESERV_FL");
- if(RESERV_FL != null){
- if(RESERV_FL.equals("1")){
- //去向位置锁定的情况
- logger.logDebug("PosSaveWkBeam 在辊道入库制定行车命令的时候,去向位置已经锁定! ");
- String vtemp="RESERV_FL1";
- context.put("rs", vtemp);
- }else{
- //去向位置锁定的情况
- logger.logDebug("PosSaveWkBeam 未知的异常锁定情况! ");
- String vtemp="error";
- context.put("rs", vtemp);
- }
- }else{
- //没有锁定的情况才可以执行相应的插入操作
- PosParameter param2 = new PosParameter();
- param2.setValueParamter(0, CR_NO[i]);
- param2.setValueParamter(1, COIL_NO[i]);
- param2.setValueParamter(2, WK_BEAM[i]);
- param2.setValueParamter(3, TO_ADDR[i]);
- param2.setValueParamter(4, TO_ADDR[i].substring(0,2));
- param2.setValueParamter(5, REG_ID[0]);
-
- getDao("mesdao").update("UIH050050_CR_ORD.insert",param2);
-
- PosParameter param3 = new PosParameter();
- param3.setValueParamter(0, "1");
- param3.setValueParamter(1, TO_ADDR[i]);
- getDao("mesdao").update("NIH050010_RES_YARD.update",param3);
-
- PosParameter param4 = new PosParameter();
- param4.setValueParamter(0, "1");
- param4.setValueParamter(1, REG_ID[0]);
- param4.setValueParamter(2, WK_BEAM[i]);
- getDao("mesdao").update("UIH050050_WKBEAM_RESV.update",param4);
- }
- }else{
- logger.logDebug("PosSaveWkBeam 锁定标志不存在 ");
- }
- }else{
- //入库的钢卷在库内已经存在
- logger.logDebug("PosSaveWkBeam 入库的钢卷在库存已经存在! "+COIL_NO[i]);
- String vtemp="COIL_NO";
- context.put("rs", vtemp);
- return PosBizControlConstants.SUCCESS;
- }
- }
- }
- }
- return PosBizControlConstants.SUCCESS;
- }
-
- }
|