bc256db7a3d3ce18293b9db429823c8fb4106e63.svn-base 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package UIJ.UIJ06;
  2. import java.sql.CallableStatement;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.sql.Types;
  8. import java.util.Map;
  9. import UIB.COM.XmlSqlParsersFactory;
  10. import CoreFS.SA01.CoreIComponent;
  11. import CoreFS.SA06.CoreReturnObject;
  12. /**
  13. * 发运明细回退
  14. *
  15. * @author zsx
  16. * @date 2017-8-4
  17. */
  18. public class UIJ060030 extends CoreIComponent {
  19. /**
  20. * 根据发运指示号查询可回退的发运明细
  21. *
  22. * @param dlivDirNo
  23. * 发运指示号
  24. * @return CoreReturnObject
  25. * @throws SQLException
  26. */
  27. public CoreReturnObject queryShipRetRs(String dlivDirNo)
  28. throws SQLException {
  29. String shipProgCd = "08";// 发货明细结束
  30. CoreReturnObject cro = this.query(dlivDirNo, shipProgCd);
  31. return cro;
  32. }
  33. /**
  34. * 查询没有车号的发货明细的卷
  35. *
  36. * @param dlivDirNo
  37. * @return
  38. * @throws SQLException
  39. */
  40. public CoreReturnObject queryShipRetRsNoCarNo(String dlivDirNo)
  41. throws SQLException {
  42. String shipProgCd = "03";
  43. CoreReturnObject cro = this.query(dlivDirNo, shipProgCd);
  44. return cro;
  45. }
  46. private CoreReturnObject query(String dlivDirNo, String shipProgCd)
  47. throws SQLException {
  48. CoreReturnObject cro = new CoreReturnObject();
  49. String sql = XmlSqlParsersFactory.getSql("UIJ060030_01.SELECT");
  50. cro = this.getDao("KgDao").ExcuteQuery(sql,
  51. new Object[] { dlivDirNo, shipProgCd });
  52. return cro;
  53. }
  54. public CoreReturnObject update(String dlivDirNo) throws SQLException{
  55. CoreReturnObject cro = new CoreReturnObject();
  56. String sql="";
  57. try {
  58. //20131011
  59. sql ="UPDATE C_TBL02_COIL_COMM T SET t.SHIP_PROG_CD='08' WHERE T.DLIV_DIRNO='"+dlivDirNo+"'";
  60. cro = this.getDao("KgDao").ExcuteQuery(sql);
  61. } catch (Exception e) {
  62. }
  63. return cro;
  64. }
  65. /**
  66. * 发运明细回退
  67. *
  68. * @param dlivDirNo
  69. * @param regId
  70. * @return
  71. * @throws SQLException
  72. */
  73. public CoreReturnObject returnShipResult(String dlivDirNo, String regId)
  74. throws SQLException {
  75. CoreReturnObject cro = new CoreReturnObject();
  76. Map result = this.getDao("KgDao").CoreBeginTranscation();
  77. Connection conn = null;
  78. PreparedStatement pSta = null;
  79. Statement sta = null;
  80. String strValue;
  81. try {
  82. conn = this.getDao("KgDao").getConnection();
  83. conn.setAutoCommit(false);
  84. CallableStatement cstmt = conn
  85. .prepareCall("{?=call SqListNumbRollBack(?)}");
  86. cstmt.registerOutParameter(1, Types.VARCHAR);
  87. cstmt.setString(2, dlivDirNo);
  88. cstmt.execute();
  89. strValue = cstmt.getString(1);
  90. cstmt.close();
  91. boolean isClearing = false;// 销售是否已结算
  92. if ( !"1".equals(strValue)) {
  93. isClearing = true;
  94. }
  95. if (isClearing) {
  96. cro.setV_errCode(new Integer(-1));
  97. cro.setV_errMsg("明细数据已经发送到销售,请联系销售退明细后成品才能进行明细回退!");
  98. } else {
  99. // 更新钢卷公共表钢卷状态及发运状态,清除质保书号
  100. String sql1 = XmlSqlParsersFactory
  101. .getSql("UIJ060030_01.UPDATE");
  102. this.getDao("KgDao").ExcuteNonQuery(sql1,
  103. new Object[] { regId, dlivDirNo });
  104. // 清除发运表发运信息
  105. String sql2 = XmlSqlParsersFactory
  106. .getSql("UIJ060030_02.UPDATE");
  107. this.getDao("KgDao").ExcuteNonQuery(sql2,
  108. new Object[] { dlivDirNo });
  109. // 更新运送表运送状态
  110. String sql3 = XmlSqlParsersFactory
  111. .getSql("UIJ060030_03.UPDATE");
  112. this.getDao("KgDao").ExcuteNonQuery(sql3,
  113. new Object[] { dlivDirNo });
  114. // 删除结算接口表数据
  115. String sql4 = XmlSqlParsersFactory
  116. .getSql("UIJ060030_01.DELETE");
  117. this.getDao("KgDao").ExcuteNonQuery(sql4,
  118. new Object[] { dlivDirNo });
  119. // 将质保书改为失效
  120. String sql5 = XmlSqlParsersFactory
  121. .getSql("UIJ060030_04.UPDATE");
  122. this.getDao("KgDao").ExcuteNonQuery(sql5,
  123. new Object[] { dlivDirNo });
  124. //销售明细删除
  125. String sql6 = XmlSqlParsersFactory
  126. .getSql("UIJ060020_09.CALL");
  127. this.getDao("KgDao").ExcuteProcedure(sql6,new String[] {"3",dlivDirNo,"","","","","","","4001LZ1","冷轧线"},
  128. new String[0]);
  129. }
  130. this.getDao("KgDao").CoreCommit(result);
  131. } catch (SQLException ex) {
  132. this.getDao("KgDao").CoreRollBack(result);
  133. throw ex;
  134. }
  135. finally {
  136. if (conn != null && !conn.isClosed()) {
  137. conn.close();
  138. }
  139. }
  140. return cro;
  141. }
  142. }