| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 |
- package UIM;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.List;
- import java.util.Map;
- import UIB.COM.ProduceFactory;
- import UIB.COM.XmlSqlParsersFactory;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- /**
- * 冷轧原料库出库管理
- *
- * @author siy
- * @date 2010-08-19
- */
- public class UIM010090 extends CoreIComponent {
- // /**
- // * 查询酸轧计划
- // *
- // * @param ordNo
- // * 合同号
- // * @param ordSeq
- // * 订单号
- // * @param coilNo
- // * 热轧卷号
- // * @return CoreReturnObject
- // * @throws SQLException
- // */
- // public CoreReturnObject queryMillPlan(String coilNo) throws SQLException
- // {
- // CoreReturnObject cro = new CoreReturnObject();
- //
- // StringBuffer sqlBuffer = new StringBuffer();
- //
- // sqlBuffer.append("SELECT \n");
- // sqlBuffer.append("a.ROLL_MANA_NO --轧制单元号\n");
- // sqlBuffer.append(",a.ROLL_COIL_SEQ --单元内序号\n");
- // sqlBuffer.append(",a.COIL_EDT_SEQ --轧制序号\n");
- // sqlBuffer.append(",a.C_COIL_NO --冷卷号 \n");
- // sqlBuffer.append(",a.COIL_NO --热卷号 \n");
- // sqlBuffer.append(",a.SPEC_STL_GRD --酸轧牌号 \n");
- // sqlBuffer.append(",a.STL_GRD --热轧牌号 \n");
- // sqlBuffer.append(",a.STL_GRP_CD --钢号组 \n");
- // sqlBuffer.append(",a.COIL_THK --热卷厚度 \n");
- // sqlBuffer.append(",a.COIL_WTH --热卷宽度 \n");
- // sqlBuffer.append(",a.COIL_WGT --热卷重量 \n");
- // sqlBuffer.append(",b.CUR_LOAD_LOC --堆放位置 \n");
- // sqlBuffer.append(",a.ORD_NO --合同号 \n");
- // sqlBuffer.append(",a.ORD_SEQ --订单号 \n");
- // sqlBuffer.append(",a.ORD_THK --订单厚度 \n");
- // sqlBuffer.append(",a.ORD_WTH --订单宽度 \n");
- // sqlBuffer.append(",a.ORD_WGT --订单重量 \n");
- // sqlBuffer.append(",a.ORD_WGT_MIN --订单下限 \n");
- // sqlBuffer.append(",a.ORD_WGT_MAX --订单上限 \n");
- // sqlBuffer.append(",a.ORD_INDIA --订单内径 \n");
- // sqlBuffer.append(",a.ORD_OUTDIA --订单外径 \n");
- // sqlBuffer.append("FROM c_tbf03_spec_mill a, \n");
- // sqlBuffer.append("c_tbk02_coil_comm b \n");
- // sqlBuffer.append("WHERE a.COIL_NO = b.COIL_NO \n");
- // sqlBuffer.append("and a.STATUS_CD = 'A' \n");
- // sqlBuffer.append("and b.COIL_NO like ?||'%' \n");
- // sqlBuffer.append("ORDER BY a.ROLL_MANA_NO,a.ROLL_COIL_SEQ \n");
- //
- // cro = this.getDao("KgDao").ExcuteQuery(sqlBuffer.toString(),
- // new Object[] { coilNo });
- //
- // return cro;
- // }
- /**
- * 查询退回出库卷信息
- *
- * @param coilNo
- * 热轧卷号
- * @return CoreReturnObject
- */
- public CoreReturnObject queryOutCoil(String ordNo, String ordSeq,
- String coilNo) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIM010090_01.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { ordNo, ordSeq, coilNo });
- return cro;
- }
- /**
- * 原料库出库
- *
- * @param coilNo
- * @param regID
- * @param trnfShift
- * @param trnfGroup
- * @param trnfDtime
- * @param trnfType
- * @return
- * @throws SQLException
- */
- public CoreReturnObject saveCoilOut(String coilNo, String regID,
- String trnfShift, String trnfGroup, String trnfDtime,
- Integer trnfType) throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- boolean crs = false;
- if (trnfType.intValue() == 1) {// 退帐面
- crs = returnCoil(coilNo, regID, trnfShift,
- trnfGroup, trnfDtime);
- } else {// 退实物
- // 清除原料库垛位表钢卷信息并将原料公共表钢卷垛位信息置为出库
- crs = cleanCoil(coilNo, regID, trnfShift,
- trnfGroup, trnfDtime);
-
- //调用存货异动点存储过程 20220408退账面不发送退回信息
- ProduceFactory PD= new ProduceFactory();
- PD.ErpDataCover("HCOIL",coilNo,"55A","0","N",regID,"热轧转出退回");
- PD.ErpDataCover("CORICOIL",coilNo,"55A","0","O",regID,"酸轧原料退库");
- }
-
-
- return cro;
- }
- /**
- * 清空钢卷库存信息
- *
- * @param outType
- * 出库类型
- * @param coilNo
- * 钢卷号
- * @param regId
- * 出库人
- * @param trnfShift
- * 出库班次
- * @param trnfGroup
- * 出库班组
- * @param tranTime
- * 出库时间
- * @return boolean
- */
- private boolean cleanCoil(String coilNo, String regId,
- String trnfShift, String trnfGroup, String trnfTime)
- throws SQLException {
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- // 根据钢卷号查询垛位编号
- String sql1 = "select clf_no from c_tbk08_coil_yard where coil_no = '"
- + coilNo + "'";
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql1);
- long yardNo = 0;
- // 如果钢卷在原料库中,查询出相应的垛位编号
- if (rs.next()) {
- yardNo = Long.parseLong(rs.getObject("clf_no").toString());
- } else {
- this.getDao("KgDao").closeRs(rs);
- return false;
- }
- //20131014系统连接异常优化
- this.getDao("KgDao").closeRs(rs);
- // 根据垛位编号清除钢卷信息
- String sql2 = "update c_tbk08_coil_yard set coil_no = '' where clf_no = ?";
- this.getDao("KgDao").ExcuteNonQuery(sql2, new Object[] { yardNo });
- // 修改原料公共表钢卷操作信息
- String sql3 = XmlSqlParsersFactory.getSql("UIM010090_01.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(
- sql3,
- new Object[] { regId, trnfShift, trnfGroup, trnfTime,
- coilNo });
- //修改原料_D公共表钢卷操作信息,防止退回后降级充当不同合同,导致订单进程统计出问题
- // String sql4 = XmlSqlParsersFactory.getSql("UIM010090_04.UPDATE");
- // this.getDao("KgDao").ExcuteNonQuery(
- // sql4,
- // new Object[] { coilNo });
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- ex.printStackTrace();
- return false;
- }
- return true;
- }
- /**
- * 退帐面回热轧
- *
- * @param outType
- * @param coilNo
- * @param regId
- * @param trnfShift
- * @param trnfGroup
- * @param trnfTime
- * @return
- * @throws SQLException
- */
- private boolean returnCoil(String coilNo, String regId,
- String trnfShift, String trnfGroup, String trnfTime)
- throws SQLException {
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- // 根据钢卷号查询垛位编号
- String sql1 = "select cur_load_loc from c_tbk02_coil_comm where coil_no = '"
- + coilNo + "'";
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql1);
- String curLoadLoc = "";
- // 查询垛位
- if (rs.next()) {
- curLoadLoc = rs.getObject("CUR_LOAD_LOC").toString();
- } else {
- this.getDao("KgDao").closeRs(rs);
- return false;
- }
- //20131014系统连接异常优化
- this.getDao("KgDao").closeRs(rs);
- // 修改原料公共表钢卷操作信息
- String sql2 = XmlSqlParsersFactory.getSql("UIM010090_02.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(
- sql2,
- new Object[] { trnfShift, trnfGroup, regId, trnfTime,
- coilNo });
- // 修改原料_D表钢卷操作信息
- String sql4 = XmlSqlParsersFactory.getSql("UIM010090_04.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql4,
- new Object[] { coilNo });
- // 修改热轧公共表钢卷操作信息
- String sql3 = XmlSqlParsersFactory.getSql("UIM010090_03.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql3,
- new Object[] { curLoadLoc, coilNo });
- this.getDao("KgDao").CoreCommit(result);
- } catch (Exception ex) {
- this.getDao("KgDao").CoreRollBack(result);
- ex.printStackTrace();
- return false;
- }
- return true;
- }
- public CoreReturnObject deletereturn(String coilNo,String regId,
- String trnfShift, String trnfGroup, String trnfTime)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- try {
- String sql = " select * from TBH02_COIL_COMM A WHERE A.OLD_SAMPL_NO= '"
- + coilNo + "' AND A.ORD_FL='1' AND A.ORD_NO IS NOT NULL ";
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql);
- if (rs.next()) {
- this.getDao("KgDao").closeRs(rs);
- cro.setV_errCode(new Integer(-1));
- cro.setV_errMsg("钢卷已经在热轧进行了充当,无法撤销!");
- return cro;
- }
- else {
- this.getDao("KgDao").closeRs(rs);
- // 撤销退回的卷入冷轧库
- String sql1 = XmlSqlParsersFactory
- .getSql("UIM010090_05.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql1,
- new Object[] {trnfShift, trnfGroup,regId,trnfTime,coilNo});
- // 修改热轧库存数据为移送完成并且钢卷出库
- String sql2 = XmlSqlParsersFactory
- .getSql("UIM010090_06.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql2,
- new Object[] { coilNo });
- }
-
- this.getDao("KgDao").CoreCommit(result);
- } catch (SQLException ex) {
- this.getDao("KgDao").CoreRollBack(result);
- throw ex;
- }
- return cro;
- }
- }
|