| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374 |
- package xin.glue.ui.H.H05;
- import com.posdata.glue.PosException;
- 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 XinSaveMoveYard_TWO extends PosActivity{
- public String runActivity(PosContext context){
-
- String[] FROM_COIL = (String[]) context.get("FROM_COIL");
- String[] FROM_YARD = (String[]) context.get("FROM_YARD");
- String[] TO_COIL = (String[]) context.get("TO_COIL");
- String[] TO_YARD = (String[]) context.get("TO_YARD");
- String[] TMP_YARD = (String[]) context.get("TMP_YARD");
- String[] REG_ID = (String[]) context.get("REG_ID");
-
- 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");
-
- //判断当前移动的卷的状态,如果是发货完成的。不能进行移垛操作
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, FROM_COIL[0]);
-
- PosRowSet rowsA = getDao("mesdao").find("UIH050710_03.select", paramA);
-
- String CUR_PROG_CD = null;
- try{
- if(rowsA.hasNext()){
- PosRow rowA = rowsA.next();
- CUR_PROG_CD = (String) rowA.getAttribute("CUR_PROG_CD");
-
- if(!CUR_PROG_CD.equals("SFF")){
- Number SEQ = null;
- int SEQ_1 = 0;
- Number SEQ1 = null;
- int SEQ_2 = 0;
-
- //如果临时位置不存在卷,就不需要判断
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0, TO_YARD[0]);
- PosRowSet rows = getDao("mesdao").find("UIH050600_05.select", param0);
- if(!rows.hasNext()){
- logger.logInfo("垛位不存在!");
- String vtemp = "COIL_NO";
- context.put("rs", vtemp);
- return PosBizControlConstants.SUCCESS;
- }
-
- if(!(null == TMP_YARD[0] || TMP_YARD[0].equals(""))){
- param0 = new PosParameter();
- param0.setWhereClauseParameter(0, TMP_YARD[0]);
- rows = getDao("mesdao").find("UIH050600_05.select", param0);
- if(!rows.hasNext()){
- logger.logInfo("垛位不存在!");
- String vtemp = "COIL_NO";
- context.put("rs", vtemp);
- return PosBizControlConstants.SUCCESS;
- }
- }
-
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, TMP_YARD[0]);
-
- rows = getDao("mesdao").find("UIH050700_04.select", param1);
-
- String coil_no = null;
- if(rows.hasNext()){
- PosRow row = rows.next();
- coil_no = (String) row.getAttribute("COIL_NO");
-
- if(null == coil_no){
- //可以进行相应的移动,进行清理
- if(TO_COIL[0] != null){
-
-
- PosParameter param2 = new PosParameter();
- param2.setWhereClauseParameter(0, TO_COIL[0]);
- param2.setWhereClauseParameter(1, "H050070_2");
- param2.setWhereClauseParameter(2, TMP_YARD[0].substring(0, 5));
- param2.setWhereClauseParameter(3, TMP_YARD[0].substring(5, 7));
- param2.setWhereClauseParameter(4, TMP_YARD[0].substring(7, 8));
- param2.setWhereClauseParameter(5, TMP_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_04.update", param2);
-
- //更新公共表
- PosParameter param3 = new PosParameter();
-
- param3.setWhereClauseParameter(0, TMP_YARD[0]);
- param3.setWhereClauseParameter(1, TO_COIL[0]);
-
- getDao("mesdao").update("UIH050700_05.update", param3);
-
- //记录库存移动的情况
- PosParameter param11 = new PosParameter();
-
- PosRowSet rows11 = getDao("mesdao").find("UIH050700_05.select", param11);
-
- if(rows11.hasNext()){
- PosRow row11 = rows11.next();
-
- SEQ = (Number) row11.getAttribute("ROLL_SEQ");
-
- if(null == SEQ){
- SEQ_1 = 1;
- }else{
- SEQ_1 = SEQ.intValue()+1;
- }
-
- //取出主键后,更新移动表
- PosParameter param4 = new PosParameter();
-
- param4.setValueParamter(0, new Integer(SEQ_1));
- param4.setValueParamter(1, TO_YARD[0]);
- param4.setValueParamter(2, TMP_YARD[0]);
- param4.setValueParamter(3, TO_COIL[0]);
- param4.setValueParamter(4, ENTRY_REG[0]);
- param4.setValueParamter(5, ENTRY_SHIFT[0]);
- param4.setValueParamter(6, ENTRY_GROUP[0]);
- param4.setValueParamter(7, ENTRY_DTIME[0]);
- param4.setValueParamter(8, REG_ID[0]);
-
- getDao("mesdao").insert("UIH050700_01.insert", param4);
-
-
- }
- // 再移动来源卷和,清空来源位置
- if(FROM_COIL[0] != null){
- PosParameter param5 = new PosParameter();
-
- param5.setWhereClauseParameter(0, FROM_COIL[0]);
- param5.setWhereClauseParameter(1, "H050070_2");
- param5.setWhereClauseParameter(2, TO_YARD[0].substring(0, 5));
- param5.setWhereClauseParameter(3, TO_YARD[0].substring(5, 7));
- param5.setWhereClauseParameter(4, TO_YARD[0].substring(7, 8));
- param5.setWhereClauseParameter(5, TO_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_04.update", param5);
-
- PosParameter param6 = new PosParameter();
-
- param6.setWhereClauseParameter(0, TO_YARD[0]);
- param6.setWhereClauseParameter(1, FROM_COIL[0]);
-
- getDao("mesdao").update("UIH050700_05.update", param6);
-
- // 这里还需要清空来源位置的钢卷
- PosParameter param9 = new PosParameter();
-
- param9.setWhereClauseParameter(0, FROM_YARD[0].substring(0, 5));
- param9.setWhereClauseParameter(1, FROM_YARD[0].substring(5, 7));
- param9.setWhereClauseParameter(2, FROM_YARD[0].substring(7, 8));
- param9.setWhereClauseParameter(3, FROM_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_06.update", param9);
-
-
- PosParameter param7 = new PosParameter();
-
- PosRowSet rows7 = getDao("mesdao").find("UIH050700_05.select", param7);
-
-
- if(rows7.hasNext()){
- PosRow row7 = rows7.next();
-
- SEQ1 = (Number) row7.getAttribute("ROLL_SEQ");
-
- if(null == SEQ1 && "".equals(SEQ1)){
- SEQ_2 = 1;
- }else{
- SEQ_2 = SEQ1.intValue()+1;
- }
-
- //取出主键后,更新移动表
- PosParameter param8 = new PosParameter();
-
- param8.setValueParamter(0, new Integer(SEQ_2));
- param8.setValueParamter(1, FROM_YARD[0]);
- param8.setValueParamter(2, TO_YARD[0]);
- param8.setValueParamter(3, FROM_COIL[0]);
- param8.setValueParamter(4, ENTRY_REG[0]);
- param8.setValueParamter(5, ENTRY_SHIFT[0]);
- param8.setValueParamter(6, ENTRY_GROUP[0]);
- param8.setValueParamter(7, ENTRY_DTIME[0]);
- param8.setValueParamter(8, REG_ID[0]);
-
- getDao("mesdao").insert("UIH050700_01.insert", param8);
-
- }
-
- }
- }else{
- //去向位置不存在卷,就直接更新来源到去向
- if(FROM_COIL[0] != null){
- PosParameter param5 = new PosParameter();
-
- param5.setWhereClauseParameter(0, FROM_COIL[0]);
- param5.setWhereClauseParameter(1, "H050070_2");
- param5.setWhereClauseParameter(2, TO_YARD[0].substring(0, 5));
- param5.setWhereClauseParameter(3, TO_YARD[0].substring(5, 7));
- param5.setWhereClauseParameter(4, TO_YARD[0].substring(7, 8));
- param5.setWhereClauseParameter(5, TO_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_04.update", param5);
-
- PosParameter param6 = new PosParameter();
-
- param6.setWhereClauseParameter(0, TO_YARD[0]);
- param6.setWhereClauseParameter(1, FROM_COIL[0]);
-
- getDao("mesdao").update("UIH050700_05.update", param6);
-
- // 这里还需要清空来源位置的钢卷
- PosParameter param9 = new PosParameter();
-
- param9.setWhereClauseParameter(0, FROM_YARD[0].substring(0, 5));
- param9.setWhereClauseParameter(1, FROM_YARD[0].substring(5, 7));
- param9.setWhereClauseParameter(2, FROM_YARD[0].substring(7, 8));
- param9.setWhereClauseParameter(3, FROM_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_06.update", param9);
-
-
- PosParameter param7 = new PosParameter();
-
- PosRowSet rows7 = getDao("mesdao").find("UIH050700_05.select", param7);
-
-
- if(rows7.hasNext()){
- PosRow row7 = rows7.next();
-
- SEQ1 = (Number) row7.getAttribute("ROLL_SEQ");
-
- if(null == SEQ1 && "".equals(SEQ1)){
- SEQ_2 = 1;
- }else{
- SEQ_2 = SEQ1.intValue()+1;
- }
-
- //取出主键后,更新移动表
- PosParameter param8 = new PosParameter();
-
- param8.setValueParamter(0, new Integer(SEQ_2));
- param8.setValueParamter(1, FROM_YARD[0]);
- param8.setValueParamter(2, TO_YARD[0]);
- param8.setValueParamter(3, FROM_COIL[0]);
- param8.setValueParamter(4, ENTRY_REG[0]);
- param8.setValueParamter(5, ENTRY_SHIFT[0]);
- param8.setValueParamter(6, ENTRY_GROUP[0]);
- param8.setValueParamter(7, ENTRY_DTIME[0]);
- param8.setValueParamter(8, REG_ID[0]);
-
- getDao("mesdao").insert("UIH050700_01.insert", param8);
-
- }
-
- }
- }
- }else{
- //不能进行相应的移动
- logger.logDebug("XinSaveMoveYard_TWO 希望移动的位置存在钢卷信息! ");
- String vtemp="ERROR";
- context.put("rs", vtemp);
- }
- }else{
- //临时位置不存在值的话,只判断去向位置就可以了
- if(!"".equals(TO_COIL[0])){
- //提示,给出希望替换的位置
- logger.logDebug("XinSaveMoveYard_TWO 希望移动的位置没有填写,不能移动钢卷! ");
- String vtemp="ERROR_TMP";
- context.put("rs", vtemp);
- }else{
- //直接移动
- //再移动来源卷和,清空来源位置
- if(null != FROM_COIL[0] && !"".equals(FROM_COIL[0])){
- if(!"".equals(TO_YARD[0]) && null != TO_YARD[0]){
- //给出长度限制,来源垛位不对的情况不能进行清除来源位置的操作
- if(FROM_YARD[0].length() == 9){
- PosParameter param5 = new PosParameter();
-
- param5.setWhereClauseParameter(0, FROM_COIL[0]);
- param5.setWhereClauseParameter(1, "H050070_2");
- param5.setWhereClauseParameter(2, TO_YARD[0].substring(0, 5));
- param5.setWhereClauseParameter(3, TO_YARD[0].substring(5, 7));
- param5.setWhereClauseParameter(4, TO_YARD[0].substring(7, 8));
- param5.setWhereClauseParameter(5, TO_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_04.update", param5);
-
- PosParameter param6 = new PosParameter();
-
- param6.setWhereClauseParameter(0, TO_YARD[0]);
- param6.setWhereClauseParameter(1, FROM_COIL[0]);
-
- getDao("mesdao").update("UIH050700_05.update", param6);
-
- //这里还需要清空来源位置的钢卷
- PosParameter param9 = new PosParameter();
-
- param9.setWhereClauseParameter(0, FROM_YARD[0].substring(0, 5));
- param9.setWhereClauseParameter(1, FROM_YARD[0].substring(5, 7));
- param9.setWhereClauseParameter(2, FROM_YARD[0].substring(7, 8));
- param9.setWhereClauseParameter(3, FROM_YARD[0].substring(8, 9));
-
- getDao("mesdao").update("UIH050700_06.update", param9);
-
-
- PosParameter param7 = new PosParameter();
-
- PosRowSet rows7 = getDao("mesdao").find("UIH050700_05.select", param7);
-
-
- if(rows7.hasNext()){
- PosRow row7 = rows7.next();
-
- SEQ1 = (Number) row7.getAttribute("ROLL_SEQ");
-
- if(null == SEQ1 && "".equals(SEQ1)){
- SEQ_2 = 1;
- }else{
- SEQ_2 = SEQ1.intValue()+1;
- }
-
- //取出主键后,更新移动表
- PosParameter param8 = new PosParameter();
-
- param8.setValueParamter(0, new Integer(SEQ_2));
- param8.setValueParamter(1, FROM_YARD[0]);
- param8.setValueParamter(2, TO_YARD[0]);
- param8.setValueParamter(3, FROM_COIL[0]);
- param8.setValueParamter(4, ENTRY_REG[0]);
- param8.setValueParamter(5, ENTRY_SHIFT[0]);
- param8.setValueParamter(6, ENTRY_GROUP[0]);
- param8.setValueParamter(7, ENTRY_DTIME[0]);
- param8.setValueParamter(8, REG_ID[0]);
-
- getDao("mesdao").insert("UIH050700_01.insert", param8);
-
- }
- }else{
- logger.logDebug("XinSaveMoveYard_TWO 来源卷垛位信息不正确,不能移动钢卷! ");
- String vtemp="FROM_YARD";
- context.put("rs", vtemp);
- }
- }else{
- logger.logDebug("XinSaveMoveYard_TWO 去向的位置没有填写,不能移动钢卷! ");
- String vtemp="ERROR_TO";
- context.put("rs", vtemp);
- }
- }
- }
- }
- }else{
- logger.logDebug("XinSaveMoveYard_TWO 此卷已发货,不能移动钢卷! ");
- String vtemp="CUR_PROG_CD";
- context.put("rs", vtemp);
- }
- }
- }catch(Exception e){
- //e.printStackTrace();
- //throw new PosException(e.getMessage());
- logger.logDebug(" 移垛异常情况 "+e.getMessage());
- String vtemp="XX";
- context.put("rs", vtemp);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|