| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579 |
- package xin.glue.ui.H.H05;
- import java.math.BigDecimal;
- import java.sql.CallableStatement;
- import java.sql.SQLException;
- import java.sql.Types;
- import xin.glue.ui.common.ProduceFactory;
- import xin.glue.ui.common.component.PosSiteLog;
- import com.posdata.glue.PosException;
- 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;
- /*
- * 冷轧移送处理
- * @author siy
- * @date 2010-08-24
- */
- public class SEND_LZ extends PosActivity {
- public String runActivity(PosContext context) {
- // 钢卷号
- String[] COIL_NOS = (String[]) context.get("COIL_NOS");
- // 重量
- String[] ACT_WGTS = (String[]) context.get("ACT_WGTS");
- // 合同号
- String[] ORD_NOS = (String[]) context.get("ORD_NOS");
- // 订单号
- String[] ORD_SEQS = (String[]) context.get("ORD_SEQS");
- // 当前进程状态
- String[] CUR_PROG_CDS = (String[]) context.get("CUR_PROG_CDS");
- // 流水号
- String[] LSHS = (String[]) context.get("LSHS");
- // 移送顺序
- String[] TRANSSEQS = (String[]) context.get("TRANSSEQS");
- // 班次
- String[] TRNF_SHIFT = (String[]) context.get("TRNF_SHIFT");
- // 班组
- String[] TRNF_GROUP = (String[]) context.get("TRNF_GROUP");
- // 操作人
- String[] TRNF_REG = (String[]) context.get("TRNF_REG");
- // 操作时间
- String[] TRNF_DTIME = (String[]) context.get("TRNF_DTIME");
- // 移送方式
- String[] TRANSFER_TYPE = (String[]) context.get("TRANSFER_TYPE");
- // 步进梁号/车辆号
- String[] TRANSFER_NO = (String[]) context.get("TRANSFER_NO");
- if (null != COIL_NOS) {
- String[] coilNos = COIL_NOS[0].split("\\|");
- String[] actWgts = ACT_WGTS[0].split("\\|");
- String[] ordNos = ORD_NOS[0].split("\\|");
- String[] ordSeqs = ORD_SEQS[0].split("\\|");
- String[] curProgCds = CUR_PROG_CDS[0].split("\\|");
- String[] lshs = LSHS[0].split("\\|");
- String[] transSeqs = TRANSSEQS[0].split("\\|");
- String transFlag = "N";// 是否移送确认
- for (int i = 0; i < coilNos.length; i++) {
- if (null != coilNos[i] && !"".equals(coilNos[i])) {
- String showJudge = "";
- String sizeJudge = "";
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, coilNos[i]);
- PosRowSet rowSet = getDao("mesdao").find(
- "UIH052400_08.select", param1);
- while (rowSet.hasNext()) {
- PosRow row = rowSet.next();
- showJudge = row.getAttribute("EXTSHAPE_DEC_GRD")
- .toString();
- sizeJudge = row.getAttribute("SIZE_DEC_RST").toString();
- }
- if (showJudge.equals("1") && sizeJudge.equals("1")) {
- // 无性能结果时不更新冷轧原料库
- // if (!curProgCds[i].equals("SED")) {
- // 更新冷轧原料库钢卷公共表
- updateColdCoilComm(coilNos[i], TRANSFER_TYPE[0],
- TRANSFER_NO[0], TRNF_DTIME[0], transSeqs[i]);
- // 更新原料钢卷公共_D表
- updateColdCoilCommD(coilNos[i]);
- // 移送待机的钢卷不需要确认
- transFlag = "Y";
- // }
- }
- }
- // 更新热轧库出库信息
- updateHCoilTrnfInfo(TRNF_SHIFT[0], TRNF_GROUP[0], TRNF_REG[0],
- TRNF_DTIME[0], TRANSFER_TYPE[0], TRANSFER_NO[0],
- transSeqs[i], transFlag, coilNos[i]);
- // 插入步进梁接口表
- if ("B".equals(TRANSFER_TYPE[0])) {
- PosParameter param = new PosParameter();
- param.setValueParamter(0, String.valueOf(i + 1));
- param.setValueParamter(1, coilNos[i]);
- param.setValueParamter(2, TRANSFER_NO[0]);// 步进梁号
- param.setValueParamter(3, "1");// 鞍座号
- getDao("mesdao").insert("UIH052400_05.insert", param);
- }
- // 新增钢卷移送记录
- addTransRecord(coilNos[i], TRNF_SHIFT[0], TRNF_GROUP[0],
- TRNF_REG[0], TRNF_DTIME[0], TRANSFER_TYPE[0],
- TRANSFER_NO[0], transSeqs[i]);
- long coilWgt = 0;
- try {
- coilWgt = new Long(actWgts[i]).longValue();
- } catch (Exception e) {
- // TODO: handle exception
- }
- NIE012070_CALL(lshs[i], coilWgt, ordNos[i], ordSeqs[i], "", "",
- curProgCds[i], "SGF", "AR", TRNF_REG[0]);
- }
- NIE012080_CALL();
- }
- return PosBizControlConstants.SUCCESS;
- }
- /**
- * 查询冷轧原料库是否包含钢卷信息
- *
- * @param coilNo
- * 钢卷号
- * @return boolean
- */
- private boolean hasCoilInTBK(String coilNo) {
- boolean hasCoil = true;
- int count = 0;
- if (null != coilNo && !"".equals(coilNo)) {
- PosParameter param = new PosParameter();
- param.setWhereClauseParameter(0, coilNo);
- PosRowSet rowSet = getDao("mesdao").find("UIH052400_02.select",
- param);
- if (rowSet.hasNext()) {
- PosRow pRow = rowSet.next();
- count = Integer.parseInt(pRow.getAttribute("COUNT").toString());
- }
- if (0 == count) {
- hasCoil = false;
- }
- return hasCoil;
- } else {
- return hasCoil;
- }
- }
- /**
- * 将热轧库钢卷信息转移到冷轧原料库
- *
- * @param coilNo
- * 钢卷号
- * @param transType
- * 移送区分
- * @param transNo
- * 移送步进梁号/车辆号
- * @param transTime
- * 移送时间
- * @return boolean
- */
- private boolean updateColdCoilComm(String coilNo, String transType,
- String transNo, String transTime, String transSeq) {
- boolean addRs = false;
- if (null == coilNo || "".equals(coilNo)) {
- return addRs;
- }
- // 如果冷轧原料公共表中不存在此钢卷信息
- if (!hasCoilInTBK(coilNo)) {
- PosParameter param = new PosParameter();
- param.setValueParamter(0, transType);
- param.setValueParamter(1, transNo);
- param.setValueParamter(2, transTime);
- param.setValueParamter(3, transSeq);
- param.setValueParamter(4, coilNo);
- param.setWhereClauseParameter(0, coilNo);
- int count = getDao("mesdao").insert("UIH052400_01.insert", param);
- //调用存货异动点存储过程
- /*
- ProduceFactory PD= new ProduceFactory();
- PD.ErpDataCover("HCOIL",coilNo,"55A","1","O","蔡伟平","热轧转出");*/
-
- if (0 < count) {
- addRs = true;
- logger.logInfo("addColdCoil success ---SEND_LZ.java ");
- }
- } else {
- // 更新冷轧库钢卷信息,更新热轧库出库信息
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, coilNo);
- PosRowSet rowSet = getDao("mesdao").find("UIH052400_07.select",
- param1);
- if (rowSet.hasNext()) {
- PosRow posRow = rowSet.next();
- PosParameter param2 = new PosParameter();
- param2.setValueParamter(0, posRow.getAttribute("SLAB_NO"));
- param2.setValueParamter(1, posRow.getAttribute("CUR_PROG_CD"));
- param2.setValueParamter(2, posRow
- .getAttribute("CUR_PROG_CD_DTIME"));
- param2.setValueParamter(3, posRow
- .getAttribute("CUR_PROG_CD_PGM"));
- param2.setValueParamter(4, posRow
- .getAttribute("INSTR_COIL_THK"));
- param2.setValueParamter(5, posRow
- .getAttribute("INSTR_COIL_WTH"));
- param2.setValueParamter(6, posRow
- .getAttribute("INSTR_COIL_LEN"));
- param2.setValueParamter(7, posRow
- .getAttribute("INSTR_COIL_INDIA"));
- param2.setValueParamter(8, posRow
- .getAttribute("INSTR_COIL_OUTDIA"));
- param2.setValueParamter(9, posRow
- .getAttribute("INSTR_COIL_WGT"));
- param2
- .setValueParamter(10, posRow
- .getAttribute("DEVLMT_DTIME"));
- param2.setValueParamter(11, posRow.getAttribute("DEST_CD"));
- param2.setValueParamter(12, posRow.getAttribute("ORDCUST_CD"));
- param2.setValueParamter(13, posRow.getAttribute("CUST_CD"));
- param2.setValueParamter(14, posRow.getAttribute("COIL_LEN"));
- param2.setValueParamter(15, posRow.getAttribute("COIL_INDIA"));
- param2.setValueParamter(16, posRow.getAttribute("COIL_OUTDIA"));
- param2.setValueParamter(17, posRow.getAttribute("COIL_THK"));
- param2.setValueParamter(18, posRow.getAttribute("COIL_WTH"));
- param2.setValueParamter(19, posRow.getAttribute("ACT_WGT"));
- param2.setValueParamter(20, posRow.getAttribute("ORD_FL"));
- param2.setValueParamter(21, posRow.getAttribute("ORD_NO"));
- param2.setValueParamter(22, posRow.getAttribute("ORD_SEQ"));
- param2.setValueParamter(23, posRow.getAttribute("PRODNM_CD"));
- param2.setValueParamter(24, posRow.getAttribute("SPEC_ABBSYM"));
- param2
- .setValueParamter(25, posRow
- .getAttribute("SPEC_STL_GRD"));
- param2.setValueParamter(26, posRow.getAttribute("ORD_USE_CD"));
- param2.setValueParamter(27, posRow.getAttribute("STL_GRD"));
- param2
- .setValueParamter(28, posRow
- .getAttribute("PATH_MILL_CD"));
- param2
- .setValueParamter(29, posRow
- .getAttribute("INGR_DEC_GRD"));
- param2.setValueParamter(30, posRow
- .getAttribute("EXTSHAPE_DEC_GRD"));
- param2
- .setValueParamter(31, posRow
- .getAttribute("SIZE_DEC_RST"));
- param2.setValueParamter(32, posRow.getAttribute("WGT_DEC_RST"));
- param2
- .setValueParamter(33, posRow
- .getAttribute("PROC_DEC_RST"));
- param2.setValueParamter(34, posRow
- .getAttribute("MATLQLTY_DEC_GRD"));
- param2.setValueParamter(35, posRow.getAttribute("TOT_DEC_GRD"));
- param2.setValueParamter(36, posRow.getAttribute("MILL_DTIME"));
- param2.setValueParamter(37, posRow.getAttribute("CRK_CD1"));
- param2.setValueParamter(38, posRow.getAttribute("CRK_CD2"));
- param2.setValueParamter(39, posRow.getAttribute("CRK_CD3"));
- param2.setValueParamter(40, posRow.getAttribute("CRK_CD4"));
- param2.setValueParamter(41, posRow.getAttribute("CRK_CD5"));
- param2.setValueParamter(42, posRow.getAttribute("CAL_WGT"));
- param2
- .setValueParamter(43, posRow
- .getAttribute("OLD_SAMPL_NO"));
- param2.setValueParamter(44, transType);
- param2.setValueParamter(45, transNo);
- param2.setValueParamter(46, transTime);
- param2.setValueParamter(47, posRow
- .getAttribute("FM_EXT_STRIP_THK_AVG"));
- param2.setValueParamter(48, posRow
- .getAttribute("FM_EXT_STRIP_TEMP_AVG"));
- param2.setValueParamter(49, posRow.getAttribute("DC_TEMP_AVG"));
- param2.setValueParamter(50, posRow
- .getAttribute("FM_EXT_STRIP_CROWN_AVG"));
- param2.setValueParamter(51, posRow
- .getAttribute("YARD_ENTRY_DTIME"));
- param2.setValueParamter(52, posRow.getAttribute("SAMPL_NO"));
- param2.setValueParamter(53, posRow
- .getAttribute("SAMPL_CUT_LOC"));
- param2.setValueParamter(54, posRow.getAttribute("ORD_FL"));// OLD_ORD_FL
- param2.setValueParamter(55, posRow.getAttribute("ORD_NO"));// OLD_ORD_NO
- param2.setValueParamter(56, posRow.getAttribute("ORD_SEQ"));// OLD_ORD_SEQ
- param2.setValueParamter(57, transSeq);
- param2.setWhereClauseParameter(0, coilNo);
- int count = getDao("mesdao").update("UIH052400_02.update",
- param2);
- if (count > 0) {
- addRs = true;
- logger.logInfo("updColdCoil success ---SEND_LZ.java ");
- }
- }
- }
- return addRs;
- }
- private void updateColdCoilCommD(String coilNo) {
- // 更新c_tbk02_comm_d表
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, coilNo);
- PosRowSet rowSet = getDao("mesdao").find("UIH052400_05.select", param1);
- PosParameter param3 = new PosParameter();
- param3.setWhereClauseParameter(0, coilNo);
- PosRowSet rowSet3 = getDao("mesdao")
- .find("UIH052400_09.select", param3);
- String cutSeq = "";
- PosParameter param2 = new PosParameter();
- if (rowSet.hasNext() && rowSet3.hasNext()) {
- PosRow pRowc = rowSet3.next();
- cutSeq = pRowc.getAttribute("CUT_SEQ").toString();
- PosRowSet rowSet2 = getDao("mesdao").find("UIH052400_06.select",
- param1);
- if (rowSet2.hasNext()) {
- PosRow pRow = rowSet2.next();
- // String cut_seq = pRow.getAttribute("CUT_SEQ") == null
- // ?"":pRow.getAttribute("CUT_SEQ").toString();
- String ord_thk = pRow.getAttribute("ORD_THK") == null ? ""
- : pRow.getAttribute("ORD_THK").toString();
- String ord_wth = pRow.getAttribute("ORD_WTH") == null ? ""
- : pRow.getAttribute("ORD_WTH").toString();
- String ord_len = pRow.getAttribute("ORD_LEN") == null ? ""
- : pRow.getAttribute("ORD_LEN").toString();
- String ord_wgt = pRow.getAttribute("ORD_WGT") == null ? ""
- : pRow.getAttribute("ORD_WGT").toString();
- String ord_wgt_min = pRow.getAttribute("ORD_WGT_MIN") == null ? ""
- : pRow.getAttribute("ORD_WGT_MIN").toString();
- String ord_wgt_max = pRow.getAttribute("ORD_WGT_MAX") == null ? ""
- : pRow.getAttribute("ORD_WGT_MAX").toString();
- String ord_india = pRow.getAttribute("ORD_INDIA") == null ? ""
- : pRow.getAttribute("ORD_INDIA").toString();
- String ord_outdia = pRow.getAttribute("ORD_OUTDIA") == null ? ""
- : pRow.getAttribute("ORD_OUTDIA").toString();
- String ord_no = pRow.getAttribute("ORD_NO") == null ? "" : pRow
- .getAttribute("ORD_NO").toString();
- String ord_seq = pRow.getAttribute("ORD_SEQ") == null ? ""
- : pRow.getAttribute("ORD_SEQ").toString();
- String ord_fl = pRow.getAttribute("ORD_FL") == null ? "" : pRow
- .getAttribute("ORD_FL").toString();
- // param2.setValueParamter(0, cut_seq);
- param2.setValueParamter(0, ord_thk);
- param2.setValueParamter(1, ord_wth);
- param2.setValueParamter(2, ord_len);
- param2.setValueParamter(3, ord_wgt);
- param2.setValueParamter(4, ord_wgt_min);
- param2.setValueParamter(5, ord_wgt_max);
- param2.setValueParamter(6, ord_india);
- param2.setValueParamter(7, ord_outdia);
- param2.setValueParamter(8, ord_no);
- param2.setValueParamter(9, ord_seq);
- param2.setValueParamter(10, ord_fl);
- param2.setWhereClauseParameter(0, coilNo);
- param2.setWhereClauseParameter(1, cutSeq);
- getDao("mesdao").update("UIH052400_01.update", param2);
- }
- } else {
- param2.setValueParamter(0, coilNo);
- getDao("mesdao").insert("UIH052400_02.insert", param2);
- }
- }
- /**
- * 更新热轧库移送出库信息
- *
- * @param trnfShift
- * 班次
- * @param trnfGroup
- * 班组
- * @param trnfReg
- * 操作人
- * @param trnfTime
- * 操作时间
- * @param transferType
- * 移送区分
- * @param transferNo
- * 移送步进梁号/车辆号
- * @param coilNo
- * 钢卷号
- * @return boolean
- */
- private boolean updateHCoilTrnfInfo(String trnfShift, String trnfGroup,
- String trnfReg, String trnfTime, String transferType,
- String transferNo, String transSeq, String transFlag, String coilNo) {
- try {
- boolean updRs = false;
- if (null != coilNo && !"".equals(coilNo)) {
- PosParameter param = new PosParameter();
- param.setValueParamter(0, trnfShift);
- param.setValueParamter(1, trnfGroup);
- param.setValueParamter(2, trnfReg);
- param.setValueParamter(3, trnfTime);
- param.setValueParamter(4, transferType);
- param.setValueParamter(5, transferNo);
- param.setValueParamter(6, trnfTime);
- param.setValueParamter(7, transSeq);
- param.setValueParamter(8, transFlag);
- param.setWhereClauseParameter(0, coilNo);
- int count = getDao("mesdao").update("UIH052400_03.update",
- param);
- if (0 < count) {
- // 把钢卷信息清除垛位表
- PosParameter param2 = new PosParameter();
- param2.setWhereClauseParameter(0, coilNo);
- getDao("mesdao").update("UIH052400_04.update", param2);
- updRs = true;
- logger
- .logInfo("updateColdTrnfInfo success ---SEND_LZ.java ");
- }
- System.out.println(count + "---------------------");
- return updRs;
- } else {
- return updRs;
- }
- } catch (Exception e) {
- logger.logError(e.getMessage(), e);
- // TODO: handle exception
- }
- return false;
- }
- /**
- * 新增移送记录
- *
- * @param coilNo
- * @param yardAddr
- * @param regOrder
- * @param regGroup
- * @param regId
- * @param regDtime
- * @return
- */
- private boolean addTransRecord(String coilNo, String regOrder,
- String regGroup, String regId, String regDtime, String transClf,
- String transNo, String transSeq) {
- boolean flag = true;
- try {
- PosParameter param = new PosParameter();
- param.setValueParamter(0, coilNo);
- param.setValueParamter(1, coilNo);
- param.setValueParamter(2, regId);
- param.setValueParamter(3, regOrder);
- param.setValueParamter(4, regGroup);
- param.setValueParamter(5, regDtime);
- param.setValueParamter(6, transClf);
- param.setValueParamter(7, transNo);
- param.setValueParamter(8, transSeq);
- int count = getDao("mesdao").insert("UIH052400_03.insert", param);
- if (count < 1) {
- flag = false;
- }
- } catch (Exception e) {
- // TODO: handle exception
- logger.logError(e.getMessage(), e);
- }
- return flag;
- }
- /**
- * 订单进程标记
- *
- * @param P_MAT_NO
- * 钢卷号
- * @param V_WGT
- * 重量
- * @param V_ORD_NO
- * 合同号
- * @param V_ORD_SEQ
- * 订单号
- * @param P_BEF_ORD_NO
- * ''
- * @param P_BEF_ORD_SEQ
- * ''
- * @param P_BEF_PROG_CD
- * 前进程状态
- * @param P_CUR_PROG_CD
- * 当前进程状态
- * @param P_MAT_TYPE
- * 'AR'
- * @param V_REG_ID
- * 用户ID
- * @return
- */
- public PosContext NIE012070_CALL(String P_MAT_NO, long V_WGT,
- String V_ORD_NO, String V_ORD_SEQ, String P_BEF_ORD_NO,
- String P_BEF_ORD_SEQ, String P_BEF_PROG_CD, String P_CUR_PROG_CD,
- String P_MAT_TYPE, String V_REG_ID) {
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
- // SaveOrdSts
- String TcId = "NIE012070";
- message.setTCID(TcId);
- message.setObject("MSG_ID", TcId);
- message.setObject("BEF_ORD_NO", P_BEF_ORD_NO);
- message.setObject("BEF_ORD_SEQ", P_BEF_ORD_SEQ);
- message.setObject("ORD_NO", V_ORD_NO);
- message.setObject("ORD_SEQ", V_ORD_SEQ);
- message.setObject("BEF_PROG_CD", P_BEF_PROG_CD);
- message.setObject("PROG_CD", P_CUR_PROG_CD);
- message.setObject("MAT_TYPE", P_MAT_TYPE);
- message.setObject("MAT_NO", P_MAT_NO);
- message.setObject("WGT", new BigDecimal(V_WGT));
- message.setObject("PGMID", "saveOrdNoHH");
- message.setObject("REG_ID", V_REG_ID);
- context.setMessage(message);
- message.setTCID(TcId);
- String SERVICE_POSTFIX = "-service";
- context
- .put(PosBizControlConstants.SERVICE_NAME, TcId
- + SERVICE_POSTFIX);
- PosBizProvider.getController().doSubController(context, false);
- String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
- if (SERVICE_ERR_MSG != null) {
- throw new PosException(SERVICE_ERR_MSG);
- }
- return context;
- }
- /**
- * 订单进程整理
- *
- * @return
- */
- public PosContext NIE012080_CALL() {
- PosContext context = new PosContext();
- PosMessage message = new PosMESMessageImpl();
- // OrdStsMain
- String TcId = "NIE012080";
- message.setTCID(TcId);
- message.setObject("MSG_ID", TcId);
- message.setObject("AA", "");
- context.setMessage(message);
- message.setTCID(TcId);
- String SERVICE_POSTFIX = "-service";
- context
- .put(PosBizControlConstants.SERVICE_NAME, TcId
- + SERVICE_POSTFIX);
- PosBizProvider.getController().doSubController(context, false);
- String SERVICE_ERR_MSG = (String) context.get("SERVICE_ERR_MSG");
- if (SERVICE_ERR_MSG != null) {
- throw new PosException(SERVICE_ERR_MSG);
- }
- return context;
- }
- }
|