| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738 |
- package UIJ.UIJ06;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Map;
- import UIB.COM.XmlSqlParsersFactory;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- /**
- * 发运计划查询
- *
- * @author zsx
- * @date 2017-08-04
- */
- public class UIJ060010 extends CoreIComponent {
- /**
- * 查询运输单位
- *
- * @return CoreReturnObject
- * @throws SQLException
- */
- public CoreReturnObject queryTransUnits() throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_01.SELECT");
- ArrayList list = (ArrayList) this.getDao("KgDao")
- .ExcuteQueryReturnList(sql, new Object[] {});
- cro.setResult(list);
- return cro;
- }
- /**
- * 查询发运计划下钢卷详细信息
- *
- * @param dlivDirNo
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryTransCoils(String dlivDirNo)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_05.SELECT");
- ArrayList list = (ArrayList) this.getDao("KgDao")
- .ExcuteQueryReturnList(sql, new Object[] { dlivDirNo });
- cro.setResult(list);
- return cro;
- }
- /**
- * 查询排车计划
- *
- * @param shipProgCd
- * 发货指示状态
- * @param fromDate
- * 查询开始时间
- * @param toDate
- * 查询结束时间
- * @param shipDirNo
- * 发货指示号
- * @param curProgCd
- * 物料进度
- * @param shipCompNm
- * 运输单位
- * @param dlivTp
- * 运输方式
- * @param laneTp
- * 火车入库道次
- * @param enteranceSeq
- * 装车次数
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryTransPlan(String shipProgCd, String fromDate,
- String toDate, String shipDirNo, String curProgCd,
- String shipCompNm, String dlivTp, String laneTp, String enteranceSeq)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_02.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(
- sql,
- new Object[] { shipProgCd, fromDate, toDate, shipDirNo,
- curProgCd, fromDate, toDate, dlivTp, laneTp,
- enteranceSeq, shipCompNm, dlivTp, });
- return cro;
- }
- /**
- * 查询待装车钢卷
- *
- * @param dlivTp
- * @return
- */
- public CoreReturnObject queryShipDir(String dlivTp) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_03.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql, new Object[] { dlivTp });
- return cro;
- }
- /**
- * 查询下达排车计划时排车计划对应的钢卷信息
- *
- * @param dlivNo
- * @return
- */
- public CoreReturnObject queryPlanCoil(String dlivNo) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_04.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql, new Object[] { dlivNo });
- return cro;
- }
- /**
- * 待装车取消
- *
- * @param list
- * @return
- * @throws SQLException
- */
- public CoreReturnObject returnSHIPDIRCAR(ArrayList<String[]> list)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- String[] param = null;
- for (int i = 0; i < list.size(); i++) {
- param = (String[]) list.get(i);
- // 取消放入运输表的车厢号和排车顺序号,不能改变运输表的状态
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_01.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql,
- new Object[] { param[0] });
- // 取消钢卷公共表中的车辆号,排车顺序号
- sql = XmlSqlParsersFactory.getSql("UIJ060010_02.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql,
- new Object[] { param[0] });
- // 更新发货表状态标志
- sql = XmlSqlParsersFactory.getSql("UIJ060010_03.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql,
- new Object[] { param[1] });
- }
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("取消待装车失败!");
- }
- return cro;
- }
- /**
- * 汽车排车及装车指示,运送指示状态不由下车改变,下车只读运送指示表。发货指示状态由3改为4,不改变物料进度状态'SFB'(运送待机)
- * 这里需要判断同一发货指示下的运输指示是否全部发完,没有发完的情况下是不能改变发货指示状态的。
- *
- * @param list
- * @return
- * @throws SQLException
- */
- public CoreReturnObject saveSHIPDIRCAR(ArrayList<String[]> list)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = null;
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- for (int i = 0; i < list.size(); i++) {
- // 判断是否全部选择的标志位
- boolean flag = true;
- String[] param = list.get(i);
- // 查询钢卷公共表中的SHIP_PROG_CD状态
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("select a.SHIP_PROG_CD from C_TBL02_COIL_COMM a where a.ship_dirno = '"
- + param[3] + "'\n");
- ArrayList shipList = (ArrayList) this.getDao("KgDao")
- .ExcuteQueryReturnList(sqlBuffer.toString(),
- new String[] {});
- for (int j = 0; j < shipList.size(); j++) {
- Map map = (Map) shipList.get(j);
- String shipProgCd = map.get("SHIP_PROG_CD").toString();
- if (!"03".equals(shipProgCd)) {
- flag = false;
- cro.setV_errCode(-1);
- cro.setV_errMsg("请检查:指示号" + param[2]
- + "下相应钢卷信息,再做操作!!!!!");
- break;
- }
- }
- if (flag) {
- // 把车厢号和排车顺序号放入运输表,不改变运输表的状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" update tbj01_dliv_dir\n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" ALLOC_SEQ = ?,\n");
- sqlBuffer.append(" TRANS_CAR_NO = ? \n");
- sqlBuffer.append(" where DLIV_DIRNO = ?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[0], param[1], param[2] });
- // 更新钢卷公共表中的车辆号,排车顺序号
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" update C_TBL02_COIL_COMM\n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" TRAIN_STEP_NO = ?,\n");
- sqlBuffer.append(" TRANS_CAR_NO = ?,\n");
- sqlBuffer.append(" SHIP_PROG_CD = '04'\n");
- sqlBuffer.append(" where DLIV_DIRNO =?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[0], param[1], param[2] });
- // 更新发货表发货状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" update tbj01_ship_dir\n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" ship_prog_cd = '04' \n");
- sqlBuffer.append(" where ship_dirno =?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[3] });
- }
- }
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("汽车排车失败!");
- }
- return cro;
- }
-
- public CoreReturnObject reportslab(String regId,ArrayList<String[]> list)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = null;
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- for (int i = 0; i < list.size(); i++) {
- // 判断是否全部选择的标志位
- boolean flag = true;
- String[] param = list.get(i);
- // 查询钢卷公共表中的SHIP_PROG_CD状态
- sqlBuffer = new StringBuffer();
- sqlBuffer
- .append("select nvl(REPORT_TIME,'1') REPORT_TIME from TBG02_SLAB_COMM a where a.SLAB_NO= '"
- + param[0] + "'\n");
- ArrayList shipList = (ArrayList) this.getDao("KgDao")
- .ExcuteQueryReturnList(sqlBuffer.toString(),
- new String[] {});
- for (int j = 0; j < shipList.size(); j++) {
- Map map = (Map) shipList.get(j);
- String shipProgCd = map.get("REPORT_TIME").toString();
- if (!"1".equals(shipProgCd)) {
- flag = false;
- cro.setV_errCode(-1);
- cro.setV_errMsg("板坯" + param[0]
- + "已做申报,无法再次申报!");
- break;
- }
- }
- if (flag) {
- // 把车厢号和排车顺序号放入运输表,不改变运输表的状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" update TBG02_SLAB_COMM\n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" REPORT_TIME = ?,REPORT_MAN=?,REPORT_GROUP=?,REPORT_REGTIME=to_char(sysdate,'yyyymmddhh24miss')\n");
- sqlBuffer.append(" where SLAB_NO = ?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[1],regId,param[2],param[0] });
- }
- }
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("申报失败!");
- }
- return cro;
- }
-
- public CoreReturnObject cancelreportslab(String regId,ArrayList<String[]> list)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = null;
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- for (int i = 0; i < list.size(); i++) {
- // 判断是否全部选择的标志位
- boolean flag = true;
- String[] param = list.get(i);
- if (flag) {
- // 把车厢号和排车顺序号放入运输表,不改变运输表的状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" update TBG02_SLAB_COMM\n");
- sqlBuffer.append(" set \n");
- sqlBuffer.append(" REPORT_TIME = ''\n");
- sqlBuffer.append(" where SLAB_NO = ?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[0] });
- }
- }
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("取消申报失败!");
- }
- return cro;
- }
-
-
- /** 20131107
- * 火车排车及装车指示,运送指示状态不由下车改变,下车只读运送指示表。发货指示状态由3改为4,不改变物料进度状态'SFB'(运送待机)
- * 这里需要判断同一发货指示下的运输指示是否全部发完,没有发完的情况下是不能改变发货指示状态的。
- *
- * @param list
- * @return
- * @throws SQLException
- */
- public CoreReturnObject saveSHIPTrain(ArrayList<String[]> list)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- StringBuffer sqlBuffer = null;
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- for (int i = 0; i < list.size(); i++) {
- // 判断是否全部选择的标志位
- boolean flag = true;
- String[] param = list.get(i);
- // 查询钢卷公共表中的SHIP_PROG_CD状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append("SELECT A.SHIP_PROG_CD FROM C_TBL02_COIL_COMM A WHERE A.SHIP_DIRNO = '"
- + param[5] + "'\n");
- ArrayList shipList = (ArrayList) this.getDao("KgDao")
- .ExcuteQueryReturnList(sqlBuffer.toString(),
- new String[] {});
- for (int j = 0; j < shipList.size(); j++) {
- Map map = (Map) shipList.get(j);
- String shipProgCd = map.get("SHIP_PROG_CD").toString();
- if (!"03".equals(shipProgCd)) {
- flag = false;
- cro.setV_errCode(-1);
- cro.setV_errMsg("请检查:指示号" + param[4]
- + "下相应钢卷信息,再做操作!!!!!");
- break;
- }
- }
- if (flag) {
- // 把车厢号和排车顺序号放入运输表,不改变运输表的状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" UPDATE TBJ01_DLIV_DIR\n");
- sqlBuffer.append(" SET \n");
- sqlBuffer.append(" ALLOC_SEQ = ?,\n");
- sqlBuffer.append(" TRANS_CAR_NO = ? ,\n");
- sqlBuffer.append(" LANE_TP = ?,\n");
- sqlBuffer.append(" ENTERANCE_SEQ = ?\n");
- sqlBuffer.append(" WHERE DLIV_DIRNO = ?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[0], param[1], param[2] ,param[3],param[4]});
- // 更新钢卷公共表中的车辆号,排车顺序号
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" UPDATE C_TBL02_COIL_COMM\n");
- sqlBuffer.append(" SET \n");
- sqlBuffer.append(" TRAIN_STEP_NO = ?,\n");
- sqlBuffer.append(" TRANS_CAR_NO = ?,\n");
- sqlBuffer.append(" SHIP_PROG_CD = '04'\n");
- sqlBuffer.append(" WHERE DLIV_DIRNO =?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[0], param[1], param[4] });
- // 更新发货表发货状态
- sqlBuffer = new StringBuffer();
- sqlBuffer.append(" UPDATE TBJ01_SHIP_DIR \n");
- sqlBuffer.append(" SET \n");
- sqlBuffer.append(" SHIP_PROG_CD = '04' \n");
- sqlBuffer.append(" WHERE SHIP_DIRNO=?\n");
- this.getDao("KgDao").ExcuteNonQuery(sqlBuffer.toString(),
- new Object[] { param[5] });
- }
- }
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("火车排车失败!");
- }
- return cro;
- }
-
- /**
- * 确认排车操作
- *
- * @param regId
- * @param list
- * @return
- * @throws SQLException
- */
- public CoreReturnObject saveDLIVDIRCAR(String regId, String regOrder,
- String regGroup, ArrayList<String[]> list) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Connection conn = null;
- PreparedStatement pSta = null;
- ResultSet rs = null;
- String[] param = null;
- ArrayList<String> dlivDirNoList = new ArrayList<String>();
- String sql = "";
- try {
- conn = this.getDao("KgDao").getConnection();
- conn.setAutoCommit(false);
- // 根据运输指示号的个数来生成发货清单号
- for (int i = 0; i < list.size(); i++) {
- param = list.get(i);
- boolean flag = false;// 运输号是否重复标识
- for (int j = 0; j < dlivDirNoList.size(); j++) {
- if (param[2].equals(dlivDirNoList.get(j))) {
- flag = true;
- break;
- }
- }
- dlivDirNoList.add(param[2]);
- // 生成发货清单号
- if (!flag) {
- sql = XmlSqlParsersFactory.getSql("UIJ060010_04.UPDATE");
- pSta = conn.prepareStatement(sql);
- pSta.setString(1, param[2]);
- pSta.executeUpdate();
- pSta.close();
- }
- // 将发货清单号更新到钢卷公共表
- sql = "SELECT A.INV_NO FROM TBJ01_DLIV_DIR A WHERE A.DLIV_DIRNO = '"
- + param[2] + "'";
- pSta = conn.prepareStatement(sql);
- rs = pSta.executeQuery();
- if (rs.next()) {
- String invNo = rs.getString("INV_NO");
- sql = XmlSqlParsersFactory.getSql("UIJ060010_05.UPDATE");
- pSta = conn.prepareStatement(sql);
- pSta.setString(1, invNo);
- pSta.setString(2, param[2]);
- pSta.executeUpdate();
- pSta.close();
- }
- // 20131011
- rs.close();
- // 插入移垛记录
- StringBuffer sqlBuffer = new StringBuffer();
- sqlBuffer.append("INSERT INTO C_TBK08_COIL_MOVE (ROLL_SEQ\n");
- sqlBuffer
- .append(",CUR_LOAD_LOC_F,CUR_LOAD_LOC_T,COIL_NO,REG_ID\n");
- sqlBuffer
- .append(",REG_SHIFT,REG_GROUP,REG_DTIME,REG_USE_DTIME,MOVE_TYPE)\n");
- sqlBuffer
- .append("VALUES((SELECT MAX(ROLL_SEQ)+1 ROLL_SEQ FROM C_TBK08_COIL_MOVE)\n");
- sqlBuffer
- .append(",?,?,?,?,?,?,TO_CHAR(SYSDATE,'YYYYMMDD'),TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'),'12')\n");
- PreparedStatement pStaI = conn.prepareStatement(sqlBuffer
- .toString());
- pStaI.setString(1, param[7]);// 垛位
- pStaI.setString(2, "");
- pStaI.setString(3, param[4]);// 钢卷号
- pStaI.setString(4, regId);
- pStaI.setString(5, regOrder);
- pStaI.setString(6, regGroup);
- pStaI.executeUpdate();
- pStaI.close();
- // 根据钢卷号更新车厢号和排车顺序
- sql = XmlSqlParsersFactory.getSql("UIJ060010_06.UPDATE");
- pSta = conn.prepareStatement(sql);
- pSta.setString(1, param[1]);
- pSta.setString(2, param[0]);
- pSta.setString(3, param[2]);
- pSta.setString(4, param[3]);
- pSta.setString(5, param[6]);
- pSta.setString(6, param[5]);
- pSta.executeUpdate();
- pSta.close();
- // 清除垛位表钢卷信息
- sql = XmlSqlParsersFactory.getSql("UIJ060010_07.UPDATE");
- pSta = conn.prepareStatement(sql);
- pSta.setString(1, param[5]);
- pSta.executeUpdate();
- pSta.close();
- flag = true;
- // 查询钢卷发运状态
- sql = "select a.SHIP_PROG_CD from C_TBL02_COIL_COMM a where a.ship_dirno = '"
- + param[3] + "'";
- pSta = conn.prepareStatement(sql);
- rs = pSta.executeQuery();
- while (rs.next()) {
- String tmpShipProgCd = rs.getString("SHIP_PROG_CD");
- if ("03".equals(tmpShipProgCd)
- || "04".equals(tmpShipProgCd)) {
- flag = false;
- break;
- }
- }
- rs.close();
- pSta.close();
- if (flag) {
- // 更新发运表发运状态
- sql = XmlSqlParsersFactory.getSql("UIJ060010_08.UPDATE");
- pSta = conn.prepareStatement(sql);
- pSta.setString(1, param[3]);
- pSta.executeUpdate();
- pSta.close();
- if ("YY".equals(createCretNo(conn, param[3]))) {
- sql = "select coil_no,ord_no,ord_seq,bef_prog_cd,cur_prog_Cd,act_wgt from c_tbl02_coil_comm where dliv_dirno ='"
- + param[2] + "'";
- pSta = conn.prepareStatement(sql);
- rs = pSta.executeQuery();
- while (rs.next()) {
- String coilNo = rs.getString("COIL_NO");
- String ordNo = rs.getString("ORD_NO");
- String ordSeq = rs.getString("ORD_SEQ");
- String befProgCd = rs.getString("BEF_PROG_CD");
- String curProgCd = rs.getString("CUR_PROG_CD");
- String actWgt = rs.getString("ACT_WGT");
- SAVE_ORD_STS("", "", ordNo, ordSeq, befProgCd,
- curProgCd, "CR", coilNo, actWgt,
- "UIJ060010", regId);
- }
- // 20131011
- rs.close();
- pSta.close();
- ORD_STS_MAIN("UIJ060010", regId);
- } else {
- // 回滚
- conn.rollback();
- // 这里出现的异常情况是板坯号与钢卷号不匹配
- cro.setV_errCode(-2);
- cro.setV_errMsg("开具质保书失败,请联系管理员!");
- }
- }
- }
- conn.commit();
- } catch (Exception ex) {
- if (conn != null) {
- conn.rollback();
- }
- cro.setV_errCode(-1);
- cro.setV_errMsg("排车确认失败!");
- } finally {
- try{
- //添加了出现异常时最终关闭rs、pSta
- if (rs != null) {
- rs.close();
- }
- if (pSta != null) {
- pSta.close();
- }
- if (conn != null && !conn.isClosed()) {
- conn.close();
- }
- } catch (Exception e) {
- }
- }
- return cro;
- }
- /**
- * 订单进程标记
- *
- * @param P_BEF_ORD_NO
- * 前合同号
- * @param P_BEF_ORD_SEQ
- * 前订单号
- * @param P_ORD_NO
- * 合同号
- * @param P_ORD_SEQ
- * 订单号
- * @param P_BEF_PROG_CD
- * 前进程状态
- * @param P_PROG_CD
- * 进程状态
- * @param P_MAT_TYPE
- * 物料类型
- * @param P_MAT_NO
- * 物料号
- * @param P_WGT
- * 物料重量
- * @param P_REG_PRGM
- * 程序名
- * @param P_REG_ID
- * 操作人
- * @return
- */
- private void SAVE_ORD_STS(String P_BEF_ORD_NO, String P_BEF_ORD_SEQ,
- String P_ORD_NO, String P_ORD_SEQ, String P_BEF_PROG_CD,
- String P_PROG_CD, String P_MAT_TYPE, String P_MAT_NO, String P_WGT,
- String P_REG_PRGM, String P_REG_ID) throws SQLException {
- this.getDao("KgDao").ExcuteProcedure(
- XmlSqlParsersFactory.getSql("UIJ060010_03.CALL"),
- new String[] { P_BEF_ORD_NO, P_BEF_ORD_SEQ, P_ORD_NO,
- P_ORD_SEQ, P_BEF_PROG_CD, P_PROG_CD, P_MAT_TYPE,
- P_MAT_NO, P_WGT, P_REG_PRGM, P_REG_ID }, new String[0]);
- }
- /**
- * 订单进程整理 regId 操作人
- *
- * @return
- */
- private boolean ORD_STS_MAIN(String pgmId, String regId)
- throws SQLException {
- boolean flag = true;
- String retMsg = "";
- this.getDao("KgDao").ExcuteProcedure(
- XmlSqlParsersFactory.getSql("UIJ060010_02.CALL"),
- new String[] { pgmId, regId }, new String[] { retMsg });
- if (retMsg != null && !retMsg.equals("")) {
- flag = false;
- }
- return flag;
- }
- /**
- * 生成质保书号
- *
- * @param shipDlivNo
- * @return
- * @throws SQLException
- */
- private String createCretNo(Connection conn, String shipDlivNo)
- throws SQLException {
- String retMsg = "";
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_01.CALL");
- CallableStatement cstm = conn.prepareCall(sql);
- cstm.setString(1, shipDlivNo);
- cstm.registerOutParameter(2, java.sql.Types.VARCHAR);
- cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
- cstm.execute();
- String cretNo = cstm.getString(2);
- retMsg = cstm.getString(3);
- cstm.close();
- return retMsg;
- }
- /**
- * 查询同订单下可发钢卷
- *
- * @param ordNo
- * @param ordSeq
- * @param coilNo
- * @param thkMin
- * @param thkMax
- * @param wthMin
- * @param wthMax
- * @return
- * @throws SQLException
- */
- public CoreReturnObject querySameCoils(String ordNo, String ordSeq,
- String coilNo, String thkMin, String thkMax, String wthMin,
- String wthMax) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_06.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(
- sql,
- new Object[] { ordNo, ordSeq, coilNo, thkMin, thkMax, wthMin,
- wthMax });
- return cro;
- }
- /**
- * 钢卷替换
- *
- * @param oldCoils
- * @param newCoils
- * @return
- * @throws SQLException
- */
- public CoreReturnObject replaceCoils(ArrayList oldCoils, ArrayList newCoils)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- // 将替换的钢卷加入发运计划
- String sql = XmlSqlParsersFactory.getSql("UIJ060010_09.UPDATE");
- Object[] params = new Object[] { toSqlStr(oldCoils),
- toSqlStr(oldCoils), toSqlStr(oldCoils), toSqlStr(oldCoils),
- toSqlStr(oldCoils), toSqlStr(oldCoils), toSqlStr(oldCoils),
- toSqlStr(newCoils) };
- int i = 0;
- while (sql.indexOf("?") >= 0 && i < params.length) {
- sql = replaceFirst(sql, "?", params[i++].toString());
- }
- this.getDao("KgDao").ExcuteNonQuery(sql);
- // 将需要替换的钢卷取消发运计划
- sql = XmlSqlParsersFactory.getSql("UIJ060010_10.UPDATE");
- params = new Object[] { toSqlStr(oldCoils) };
- i = 0;
- while (sql.indexOf("?") >= 0 && i < params.length) {
- sql = replaceFirst(sql, "?", params[i++].toString());
- }
- this.getDao("KgDao").ExcuteNonQuery(sql);
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- cro.setV_errCode(-1);
- cro.setV_errMsg("钢卷替换失败!");
- }
- return cro;
- }
- private String toSqlStr(ArrayList coils) {
- String sqlStr = "";
- for (int i = 0; i < coils.size(); i++) {
- sqlStr = "'" + coils.get(i) + "',";
- }
- sqlStr += "''";
- return sqlStr;
- }
- static public String replaceFirst(String str, String oldStr, String newStr) {
- int i = str.indexOf(oldStr);
- if (i == -1)
- return str;
- str = str.substring(0, i) + newStr + str.substring(i + oldStr.length());
- return str;
- }
- }
|