Browse Source

采购变更轮询更新

Hu Jie 7 years ago
parent
commit
781567e6fa
1 changed files with 19 additions and 9 deletions
  1. 19 9
      src/main/java/com/uas/erp/schedular/b2b/task/SaleDownChangeTask.java

+ 19 - 9
src/main/java/com/uas/erp/schedular/b2b/task/SaleDownChangeTask.java

@@ -37,6 +37,11 @@ public class SaleDownChangeTask extends AbstractTask {
             ContextHolder.setDataSize(changes.size());
             saveSaleDownChange(changes);
             // 回执
+            for (SaleDownChange saleDownChange : changes) {
+                if (saleDownChange.getSc_unNeedReply() == 1) {
+                    saveUnNeedReply(saleDownChange);
+                }
+            }
             onSaleDownChangeSuccess(changes);
         }
     }
@@ -49,7 +54,7 @@ public class SaleDownChangeTask extends AbstractTask {
             saveSaleDownChange(changes);
             //保存无需确认的采购订单
             for (SaleDownChange saleDownChange : changes) {
-                if (saleDownChange.getSc_unNeedReply().equals(Constant.YES)) {
+                if (saleDownChange.getSc_unNeedReply() == 1) {
                     saveUnNeedReply(saleDownChange);
                 }
             }
@@ -127,8 +132,9 @@ public class SaleDownChangeTask extends AbstractTask {
     private void saveChangeReply(List<SaleDownChangeReply> replies) {
         List<String> sqls = new ArrayList<String>();
         for (SaleDownChangeReply reply : replies) {
+            Integer changeId = 0;
             Integer sc_id = jdbcTemplate.getInt("select sc_id from saledownchange where sc_code=? and sc_statuscode<>'AUDITED'", reply.getSc_code());
-            if (null != sc_id) {
+            if (null != sc_id ) {
                 sqls.add("update saledownchange set sc_agreed=" + NumberUtil.nvl(reply.getSc_agreed(), 0) + ",sc_replyremark='"
                         + StringUtil.nvl(reply.getSc_replyremark(), "") + "',sc_status='" + Status.AUDITED.display()
                         + "',sc_statuscode='" + Status.AUDITED.code() + "',sc_sendstatus='已下载' where sc_id=" + sc_id);
@@ -143,8 +149,8 @@ public class SaleDownChangeTask extends AbstractTask {
                                     " and scd_sacode=sd_code and scd_sddetno=sd_detno) where exists (select 1 from SaleDownChangeDetail where scd_scid=" + sc_id + " and scd_sacode=sd_code and scd_sddetno=sd_detno)");
                     // 存在订单
                     Integer sa_id = jdbcTemplate.getInt("select max(sa_id) from sale where (sa_pocode,sa_custcode)=(select sa_code,sa_custcode from saledown left join saledownchange on sa_code=sc_sacode and sa_customeruu=sc_custuu where sc_id=?)", sc_id);
-                    if (null != sa_id) {
-                        int changeId = jdbcTemplate.generate("SaleChange_SEQ");
+                    if (null != sa_id && sa_id != 0) {
+                        changeId = jdbcTemplate.generate("SaleChange_SEQ");
                         String code = jdbcTemplate.generateCode("SaleChange", 2);
                         // 自动产生对应销售变更单
                         sqls.add(String.format("insert into SaleChange(sc_id,sc_code,sc_saleid,sc_salecode,sc_recorderman,sc_indate,sc_remark,sc_status,sc_statuscode,sc_pocode,sc_sakind)"
@@ -157,15 +163,19 @@ public class SaleDownChangeTask extends AbstractTask {
                             "scd_newtaxrate,sa_paymentscode,sa_payments,sc_newpaymentscode,sa_currency,sc_newcurrency,sd_total,round(scd_newqty*scd_newprice,2) " +
                             "from saledetail,sale,saledownchangedetail,saledownchange where sd_said=%s and scd_scid=%s and sd_said=sa_id and scd_scid=sc_id and sa_pocode=sc_sacode and sd_detno=scd_sddetno",
                                 changeId, code, sa_id, sc_id));
-                        // 变更单审核动作,包括变更信息写到订单等操作
-                        if (!saleChangeAgent.audit(changeId)) {
-                            throw new RuntimeException("[调用UAS接口执行变更单审核动作]出现异常");
-                        }
                     }
                 }
             }
+            jdbcTemplate.batchExecute(sqls);
+            if (changeId != 0) {
+                // 变更单审核动作,包括变更信息写到订单等操作
+                if (!saleChangeAgent.audit(changeId)) {
+                    throw new RuntimeException("[调用UAS接口执行变更单审核动作]出现异常");
+                }
+            }
+
         }
-        jdbcTemplate.batchExecute(sqls);
+
     }
 
     private void saveUnNeedReply(SaleDownChange saleDownChange) {