| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- package xin.glue.ui.J.J01;
- 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.biz.control.PosBizControlIF;
- import com.posdata.glue.biz.control.PosBizProvider;
- import com.posdata.glue.component.PosConstants;
- 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;
- import com.posdata.glue.msg.PosMESMessageImpl;
- import com.posdata.glue.msg.PosMessage;
- /*
- * desc:这里为成品提供换卷的功能,同合同号,同订单号的情况下,可以转换库内已有的卷
- * author:唐亮 tangliang
- * date:2009-7-21
- */
- public class F_T_coilNo extends PosActivity{
- public String runActivity(PosContext context)
- {
- // 合同号
- String[] ord_no = (String[])context.get("ord_no");
- // 订单号
- String[] ord_seq = (String[])context.get("ord_seq");
- // 原始钢卷号
- String[] coil_no = (String[])context.get("coil_no");
- // 替换后的钢卷号
- String[] coil_back = (String[])context.get("coil_back");
- //替换人
- String[] reg_id = (String[])context.get("reg_id");
- //替换前的规格
- String[] T_W = (String[])context.get("T_W");
- //替换后的规格
- String[] BACK_T_W = (String[])context.get("BACK_T_W");
- //公共表中的发货状态
- String SHIP_PROG_CD = null;
- //发货指示号
- String SHIP_DIRNO = null;
- //运输指示号
- String DLIV_DIRNO = null;
- //目的地
- String DEST_CD = null;
- //是否指示标志
- String ISUSED = null;
- //下计划时间
- String SHIP_DIR_DTIME = null;
- //进度代码
- String CUR_PROG_CD = null;
- //车辆号
- String TRANS_CAR_NO = null;
- //排车顺序号
- String TRAIN_STEP_NO = null;
- //火运汽运区分
- String DLIV_TP = null;
- //替换前的合同备注
- String HCOLOUR_REM = null;
- //替换后的合同备注
- String HCOLOUR_REM_back = null;
-
- //未下计划标志
- String[] bool2 = (String[])context.get("bool2");
- //已下计划标志
- String[] bool1 = (String[])context.get("bool1");
-
- if(bool2[0].equals("true")){
- //这里先要查询换上去的合同是否具有颜色标志,如果具有的话要把颜色标志带到公共表
- PosParameter param00 = new PosParameter();
- param00.setWhereClauseParameter(0, coil_back[0]);
- param00.setWhereClauseParameter(0, coil_back[0]);
-
- PosRowSet rows1 = getDao("mesdao").find("UIJ010040_16.select", param00);
-
- if(rows1.hasNext()){
- PosRow row1 = rows1.next();
-
- HCOLOUR_REM_back = (String) row1.getAttribute("MK_COIL");
-
- }
-
-
- //如果选择的是未下计划的卷
- //这里需要取出原始钢卷号所带的发货信息,给于现在需要替换的钢卷号
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0,coil_no[0]);
-
- PosRowSet rows = getDao("mesdao").find("UIJ010040_05.select", param0);
-
- logger.logInfo(coil_no[0]+" F_T_coilNo 中需要替换下来的钢卷,合同号和订单号为 : "+ord_no+ord_seq);
-
- if(rows.hasNext()){
- PosRow row = rows.next();
- SHIP_PROG_CD = (String) row.getAttribute("SHIP_PROG_CD");
- SHIP_DIRNO = (String) row.getAttribute("SHIP_DIRNO");
- DLIV_DIRNO = (String) row.getAttribute("DLIV_DIRNO");
- DEST_CD = (String) row.getAttribute("DEST_CD");
- ISUSED = (String) row.getAttribute("ISUSED");
- SHIP_DIR_DTIME = (String) row.getAttribute("SHIP_DIR_DTIME");
- CUR_PROG_CD = (String) row.getAttribute("CUR_PROG_CD");
- TRANS_CAR_NO = (String) row.getAttribute("TRANS_CAR_NO");
- TRAIN_STEP_NO = (String) row.getAttribute("TRAIN_STEP_NO");
- //为统计新加
- DLIV_TP = (String) row.getAttribute("DLIV_TP");
- //为外贸合同颜色区分添加
- HCOLOUR_REM = (String) row.getAttribute("HCOLOUR_REM");
-
- //更新需要换卷的发货相关信息
- PosParameter param1 = new PosParameter();
-
- param1.setWhereClauseParameter(0,SHIP_PROG_CD);
- param1.setWhereClauseParameter(1,SHIP_DIRNO);
- param1.setWhereClauseParameter(2,DLIV_DIRNO);
- param1.setWhereClauseParameter(3,DEST_CD);
- param1.setWhereClauseParameter(4,ISUSED);
- param1.setWhereClauseParameter(5,SHIP_DIR_DTIME);
- param1.setWhereClauseParameter(6,CUR_PROG_CD);
- param1.setWhereClauseParameter(7,TRANS_CAR_NO);
- param1.setWhereClauseParameter(8,TRAIN_STEP_NO);
- param1.setWhereClauseParameter(9,reg_id[0]);
- param1.setWhereClauseParameter(10,"规格从"+T_W[0]+"到"+BACK_T_W[0]+"合同备注颜色从:"+HCOLOUR_REM+"到"+HCOLOUR_REM_back);
- param1.setWhereClauseParameter(11,DLIV_TP);
- param1.setWhereClauseParameter(12,HCOLOUR_REM_back);
- param1.setWhereClauseParameter(13,coil_back[0]);
-
- logger.logInfo(coil_back[0]+" F_T_coilNo 中需要替换上去的钢卷,合同号和订单号为 : "+ord_no+ord_seq);
- logger.logInfo(" F_T_coilNo 中替换人为:"+reg_id[0]);
- logger.logInfo(" F_T_coilNo 中规格从:"+T_W[0]+"到"+BACK_T_W[0]);
- logger.logInfo(" F_T_coilNo 中合同颜色初始为:"+HCOLOUR_REM);
- logger.logInfo(" F_T_coilNo 中合同颜色后来变为:"+HCOLOUR_REM_back);
-
- getDao("mesdao").update("UIJ010040_07.update", param1);
-
- //清除换下来的钢卷的信息
- PosParameter param2 = new PosParameter();
-
- param2.setWhereClauseParameter(0,coil_no[0]);
-
- getDao("mesdao").update("UIJ010040_08.update", param2);
-
- //进行合同内换卷之后,需要进行整理改变相应的进程量
- SendProg_NIE012080();
- }
- }else{
- if(bool1[0].equals("true")){
- //这里是已下计划的卷之间的互换,所以需要把两个卷的发货信息互换
- //这里记录的是替换后的卷的发货信息
- String SHIP_PROG_CD_TMP = null;
- String SHIP_DIRNO_TMP = null;
- String DLIV_DIRNO_TMP = null;
- String DEST_CD_TMP = null;
- String ISUSED_TMP = null;
- String SHIP_DIR_DTIME_TMP = null;
- String CUR_PROG_CD_TMP = null;
- String TRANS_CAR_NO_TMP = null;
- String TRAIN_STEP_NO_TMP = null;
- String DLIV_TP_TMP = null;
-
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0,coil_no[0]);
-
- PosRowSet rows = getDao("mesdao").find("UIJ010040_05.select", param0);
-
- if(rows.hasNext()){
- PosRow row = rows.next();
- SHIP_PROG_CD = (String) row.getAttribute("SHIP_PROG_CD");
- SHIP_DIRNO = (String) row.getAttribute("SHIP_DIRNO");
- DLIV_DIRNO = (String) row.getAttribute("DLIV_DIRNO");
- DEST_CD = (String) row.getAttribute("DEST_CD");
- ISUSED = (String) row.getAttribute("ISUSED");
- SHIP_DIR_DTIME = (String) row.getAttribute("SHIP_DIR_DTIME");
- CUR_PROG_CD = (String) row.getAttribute("CUR_PROG_CD");
- TRANS_CAR_NO = (String) row.getAttribute("TRANS_CAR_NO");
- TRAIN_STEP_NO = (String) row.getAttribute("TRAIN_STEP_NO");
- DLIV_TP = (String) row.getAttribute("DLIV_TP");
- }
-
- PosParameter param00 = new PosParameter();
- param00.setWhereClauseParameter(0,coil_back[0]);
-
- PosRowSet rows_TMP = getDao("mesdao").find("UIJ010040_05.select", param00);
-
- if(rows_TMP.hasNext()){
- PosRow row_TMP = rows_TMP.next();
-
- SHIP_PROG_CD_TMP = (String) row_TMP.getAttribute("SHIP_PROG_CD");
- SHIP_DIRNO_TMP = (String) row_TMP.getAttribute("SHIP_DIRNO");
- DLIV_DIRNO_TMP = (String) row_TMP.getAttribute("DLIV_DIRNO");
- DEST_CD_TMP = (String) row_TMP.getAttribute("DEST_CD");
- ISUSED_TMP = (String) row_TMP.getAttribute("ISUSED");
- SHIP_DIR_DTIME_TMP = (String) row_TMP.getAttribute("SHIP_DIR_DTIME");
- CUR_PROG_CD_TMP = (String) row_TMP.getAttribute("CUR_PROG_CD");
- TRANS_CAR_NO_TMP = (String) row_TMP.getAttribute("TRANS_CAR_NO");
- TRAIN_STEP_NO_TMP = (String) row_TMP.getAttribute("TRAIN_STEP_NO");
- DLIV_TP_TMP = (String) row_TMP.getAttribute("DLIV_TP");
- }
-
- //这里需要根据卷号单独取出合同备注,然后放入各个计划中
- PosParameter paramA = new PosParameter();
- paramA.setWhereClauseParameter(0, coil_back[0]);
- paramA.setWhereClauseParameter(0, coil_back[0]);
-
- PosRowSet rowsA = getDao("mesdao").find("UIJ010040_16.select", paramA);
-
- if(rowsA.hasNext()){
- PosRow rowA = rowsA.next();
-
- HCOLOUR_REM_back = (String) rowA.getAttribute("MK_COIL");
-
- }
-
- PosParameter paramB = new PosParameter();
- paramB.setWhereClauseParameter(0, coil_no[0]);
- paramB.setWhereClauseParameter(0, coil_no[0]);
-
- PosRowSet rowsB = getDao("mesdao").find("UIJ010040_16.select", paramB);
-
- if(rowsB.hasNext()){
- PosRow rowB = rowsB.next();
-
- HCOLOUR_REM = (String) rowB.getAttribute("MK_COIL");
-
- }
-
- //先把要换的两个卷的发货信息全部取出来,再进行对调
- //更新需要换卷的发货相关信息
- PosParameter param1 = new PosParameter();
-
- param1.setWhereClauseParameter(0,SHIP_PROG_CD);
- param1.setWhereClauseParameter(1,SHIP_DIRNO);
- param1.setWhereClauseParameter(2,DLIV_DIRNO);
- param1.setWhereClauseParameter(3,DEST_CD);
- param1.setWhereClauseParameter(4,ISUSED);
- param1.setWhereClauseParameter(5,SHIP_DIR_DTIME);
- param1.setWhereClauseParameter(6,CUR_PROG_CD);
- param1.setWhereClauseParameter(7,TRANS_CAR_NO);
- param1.setWhereClauseParameter(8,TRAIN_STEP_NO);
- param1.setWhereClauseParameter(9,reg_id[0]);
- param1.setWhereClauseParameter(10,"规格从"+T_W[0]+"到"+BACK_T_W[0]+"合同备注从"+HCOLOUR_REM+"到"+HCOLOUR_REM_back);
- param1.setWhereClauseParameter(11,DLIV_TP);
- param1.setWhereClauseParameter(12,HCOLOUR_REM_back);
- param1.setWhereClauseParameter(13,coil_back[0]);
-
- logger.logInfo(coil_back[0]+" F_T_coilNo 中需要替换上去的钢卷,合同号和订单号为 : "+ord_no+ord_seq);
- logger.logInfo(" F_T_coilNo 中替换人为:"+reg_id[0]);
- logger.logInfo(" F_T_coilNo 中规格从:"+T_W[0]+"到"+BACK_T_W[0]);
-
- getDao("mesdao").update("UIJ010040_07.update", param1);
-
- //更新换出的卷
- PosParameter param11 = new PosParameter();
-
- param11.setWhereClauseParameter(0,SHIP_PROG_CD_TMP);
- param11.setWhereClauseParameter(1,SHIP_DIRNO_TMP);
- param11.setWhereClauseParameter(2,DLIV_DIRNO_TMP);
- param11.setWhereClauseParameter(3,DEST_CD_TMP);
- param11.setWhereClauseParameter(4,ISUSED_TMP);
- param11.setWhereClauseParameter(5,SHIP_DIR_DTIME_TMP);
- param11.setWhereClauseParameter(6,CUR_PROG_CD_TMP);
- param11.setWhereClauseParameter(7,TRANS_CAR_NO_TMP);
- param11.setWhereClauseParameter(8,TRAIN_STEP_NO_TMP);
- param11.setWhereClauseParameter(9,reg_id[0]);
- param11.setWhereClauseParameter(10,"规格从"+BACK_T_W[0]+"到"+T_W[0]+"合同备注从"+HCOLOUR_REM_back+"到"+HCOLOUR_REM);
- param11.setWhereClauseParameter(11,DLIV_TP);
- param11.setWhereClauseParameter(12,HCOLOUR_REM);
- param11.setWhereClauseParameter(13,coil_no[0]);
-
- logger.logInfo(coil_no[0]+" F_T_coilNo 中需要替换下来的钢卷,合同号和订单号为 : "+ord_no+ord_seq);
- logger.logInfo(" F_T_coilNo 中替换人为:"+reg_id[0]);
- logger.logInfo(" F_T_coilNo 中规格从:"+BACK_T_W[0]+"到"+T_W[0]);
-
- getDao("mesdao").update("UIJ010040_07.update", param11);
-
- // 进行合同内换卷之后,需要进行整理改变相应的进程量
- SendProg_NIE012080();
- }else{
- //这里给出提示,都没有选中就保存是错误的
- logger.logInfo("没有选择计划和非计划就点击保存按钮,提示错误");
- String vtemp="ERROR";
- context.put("rs", vtemp);
- }
- }
-
- return PosBizControlConstants.SUCCESS;
- }
-
- public void SendProg_NIE012080()
- {
-
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
-
-
- String TcId = "NIE012080";
-
-
-
- message.setTCID(TcId);
- message.setObject("MSG_ID",TcId);
- message.setObject("AA",null);
-
- context.setMessage(message);
- this.processComponent(PosConstants.CREATE_MESSAGE, context);
- String transactionCode = context.getMessage().getTC();
-
-
- message.setTCID(TcId);
-
- String serviceName = "NIE012080";
-
- String SERVICE_POSTFIX = "-service";
-
-
- context.put(PosBizControlConstants.SERVICE_NAME, serviceName + SERVICE_POSTFIX);
-
-
- context.setMessage(message);
-
-
- PosBizControlIF controller = PosBizProvider.getController();
-
- controller.doSubController(context,false);
-
-
-
-
- }
- }
|