| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- package UIJ.UIJ03;
- import java.sql.CallableStatement;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.sql.Types;
- import java.util.List;
- import java.util.Map;
- import UIJ.UIJ03.UIJ030051;
- import UIB.COM.ProduceFactory;
- import UIB.COM.XmlSqlParsersFactory;
- import CoreFS.SA01.CoreIComponent;
- import CoreFS.SA06.CoreReturnObject;
- /**
- * 发运明细回退
- *
- * @author siy
- * @date 2010-9-13
- */
- public class UIJ030050 extends CoreIComponent {
- /**
- * 根据发运指示号查询可回退的发运明细
- *
- * @param dlivDirNo
- * 发运指示号
- * @return CoreReturnObject
- * @throws SQLException
- */
- public CoreReturnObject queryShipRetRs(String dlivDirNo)
- throws SQLException {
- String shipProgCd = "08";// 发货明细结束
- CoreReturnObject cro = this.query(dlivDirNo, shipProgCd);
- return cro;
- }
- public CoreReturnObject queryShipRetAll(String dlivDirNo)
- throws SQLException {
- String shipProgCd = "08";// 发货明细结束
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ030050_02.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { dlivDirNo, dlivDirNo,dlivDirNo });
- return cro;
- }
- /**
- * 查询没有车号的发货明细的卷
- *
- * @param dlivDirNo
- * @return
- * @throws SQLException
- */
- public CoreReturnObject queryShipRetRsNoCarNo(String dlivDirNo)
- throws SQLException {
- String shipProgCd = "03";
- CoreReturnObject cro = this.query(dlivDirNo, shipProgCd);
- return cro;
- }
- private CoreReturnObject query(String dlivDirNo, String shipProgCd)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- String sql = XmlSqlParsersFactory.getSql("UIJ030050_01.SELECT");
- cro = this.getDao("KgDao").ExcuteQuery(sql,
- new Object[] { dlivDirNo, shipProgCd });
- return cro;
- }
- public CoreReturnObject update(String dlivDirNo) throws SQLException{
- CoreReturnObject cro = new CoreReturnObject();
- String sql="";
- try {
- //20131011
- sql ="UPDATE C_TBL02_COIL_COMM T SET t.SHIP_PROG_CD='08' WHERE T.DLIV_DIRNO='"+dlivDirNo+"'";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- } catch (Exception e) {
-
- }
- return cro;
- }
-
- public CoreReturnObject checkDliv(String dlivDirNo,String regid) throws SQLException{
- CoreReturnObject cro = new CoreReturnObject();
- String sql="";
- try {
-
-
- String sql2 = "select (sysdate - to_date(t.ACPT_DATE, 'yyyymmdd')) chktime from tbj02_coil_comm t where rownum =1 and t.DLIV_DIRNO='"
- + dlivDirNo + "'";
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql2);
- boolean isClearing = false;// 销售是否已结算
- if (rs.next()) {
- String isChangeWgt = rs.getString("chktime");
- if (Double.valueOf(isChangeWgt)>2) {
- cro.setV_errCode(new Integer(-1));
- cro.setV_errMsg("已超过48小时,无法审批,请联系管理部门!");
- this.getDao("KgDao").closeRs(rs);
- return cro;
- }
- }
- //20131011
- this.getDao("KgDao").closeRs(rs);
-
-
-
- sql ="UPDATE tbj01_dliv_dir T SET t.LAST_MAN='"+regid+"',t.LAST_TIME=to_char(sysdate,'yyyymmddhh24mi') WHERE T.DLIV_DIRNO='"+dlivDirNo+"' ";
- cro = this.getDao("KgDao").ExcuteQuery(sql);
- } catch (Exception e) {
-
- }
- return cro;
- }
-
- /**
- * 发运明细回退
- *
- * @param dlivDirNo
- * @param regId
- * @return
- * @throws SQLException
- */
- public CoreReturnObject returnShipResult(String dlivDirNo, String regId,String return_reson)
- throws SQLException {
- CoreReturnObject cro = new CoreReturnObject();
- Map result = this.getDao("KgDao").CoreBeginTranscation();
- Connection conn = null;
- PreparedStatement pSta = null;
- Statement sta = null;
- String strValue;
- String url;
- String cod1,cod2;
- try {
-
- /*String sql = "select A.ISCHANGEWGT from TBJ02_COIL_COMM A WHERE A.DLIV_DIRNO = '"
- + dlivDirNo + "'";
- ResultSet rs = this.getDao("KgDao").ExceuteQueryForResultSet(sql);
- boolean isClearing = false;// 销售是否已结算
- if (rs.next()) {
- String isChangeWgt = rs.getString("ISCHANGEWGT");
- if (null == isChangeWgt || !"1".equals(isChangeWgt)) {
- isClearing = true;
- }
- }
- //20131011
- this.getDao("KgDao").closeRs(rs);*/
- /*
- UIJ030052 uij030052 = new UIJ030052();
- url="http://172.16.0.49/xg56/webservice/mesWaybillService/queryIsLock/"+dlivDirNo;
- String retr=uij030052.jsonPost(url, dlivDirNo);
- int loc=retr.indexOf("IS_LOCK");
- int loc1=retr.indexOf("RET_CODE");
- cod1=retr.substring(loc1+11, loc1+12);
- cod2=retr.substring(loc+10, loc+11);
- //if("9".equals(cod2) ||("0".equals(cod2)&&"0".equals(cod1)))
- if("0".equals(cod1)&&"1".equals(cod2))
- {
- cro.setV_errCode(new Integer(-1));
- cro.setV_errMsg("明细数据已经锁定,如要解锁,请联系物流中心!");
- }else
- {*/
-
- String sqlOut = "select DLIV_DIRNO from tbj01_dliv_dir where DLIV_DIRNO = ? AND LAST_MAN IS NULL";
- List listOut = this.getDao("KgDao").ExcuteQueryReturnList(sqlOut,
- new Object[] { dlivDirNo });
-
- UIJ030052 uij030052 = new UIJ030052();
- url="http://172.16.0.18:9090/TieQianinterface/services/MaterialOutInfo/materialoutinfo/"+dlivDirNo;
- String retr=uij030052.jsonPost(url, dlivDirNo);
-
- //if("9".equals(cod2) ||("0".equals(cod2)&&"0".equals(cod1)))
- if(retr.contains("false")&&listOut.size()>0)
- {
- cro.setV_errCode(new Integer(-1));
- cro.setV_errMsg("车辆已出厂,如要退回,请先审批!");
- }else
- {
-
-
-
-
- conn = this.getDao("KgDao").getConnection();
- conn.setAutoCommit(false);
-
- CallableStatement cstmt = conn
- .prepareCall("{?=call SqListNumbRollBack(?)}");
- cstmt.registerOutParameter(1, Types.VARCHAR);
- cstmt.setString(2, dlivDirNo);
- //cstmt.registerOutParameter(3, Types.INTEGER);
- cstmt.execute();
- strValue = cstmt.getString(1);
- cstmt.close();
- boolean isClearing = false;// 销售是否已结算
- if ( !"1".equals(strValue)) {
- isClearing = true;
- }
- if (isClearing) {
- cro.setV_errCode(new Integer(-1));
- cro.setV_errMsg("明细数据已经发送到销售,请联系销售退明细后成品才能进行明细回退!");
- } else {
- // 更新钢卷公共表钢卷状态及发运状态,清除质保书号
- String sql1 = XmlSqlParsersFactory
- .getSql("UIJ030050_01.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql1,
- new Object[] { regId, dlivDirNo });
- // 清除发运表发运信息
- String sql2 = XmlSqlParsersFactory
- .getSql("UIJ030050_02.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql2,
- new Object[] { dlivDirNo });
- // 更新运送表运送状态
- String sql3 = XmlSqlParsersFactory
- .getSql("UIJ030050_03.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql3,
- new Object[] { dlivDirNo });
- // 删除结算接口表数据
- String sql4 = XmlSqlParsersFactory
- .getSql("UIJ030050_01.DELETE");
- this.getDao("KgDao").ExcuteNonQuery(sql4,
- new Object[] { dlivDirNo });
- // 将质保书改为失效
- String sql5 = XmlSqlParsersFactory
- .getSql("UIJ030050_04.UPDATE");
- this.getDao("KgDao").ExcuteNonQuery(sql5,
- new Object[] { dlivDirNo });
- //铁前明细删除
- String sql6 = XmlSqlParsersFactory
- .getSql("UIJ030030_09.CALL");
- this.getDao("KgDao").ExcuteProcedure(sql6,new String[] {"3",dlivDirNo,"","","","","","","4001LZ1","冷轧线"},
- new String[0]);
- //更新货运中国标识
- String sql7 = XmlSqlParsersFactory
- .getSql("UIJ030030_12.CALL");
- this.getDao("KgDao").ExcuteProcedure(sql7,new String[] {"3","",dlivDirNo,"","","","","","","C",regId},
- new String[0]);
- //记录退回日志
- String sql8 = XmlSqlParsersFactory
- .getSql("UIJ030030_13.CALL");
- this.getDao("KgDao").ExcuteProcedure(sql8,new String[] {"3","",dlivDirNo,"","","","","",return_reson,"C",regId},
- new String[0]);
-
- //调用存货异动点存储过程
- ProduceFactory PD= new ProduceFactory();
- PD.ErpDataCover("SZDLIVNO",dlivDirNo,"69A","1","N",regId,"酸轧退货");
- PD.ErpDataCover("SZDLIVNO",dlivDirNo,"11AC","0","N",regId,"酸轧退货取消判定");
- }
- //conn.commit();
- this.getDao("KgDao").CoreCommit(result);
- }
-
- } catch (SQLException ex) {
- this.getDao("KgDao").CoreRollBack(result);
- throw ex;
- }
- finally {
- if (conn != null && !conn.isClosed()) {
- conn.close();
- }
- }
- return cro;
- }
- }
|