Browse Source

【越加红】纷享销客 物料资料上传
是否寄售专用 由否改为是时定时报废CRM对应的物料
1: 否->是 插入一条记录到productInfoSync表(已上传状态才插入) 23点报废物料(报废条件为已上传且pr_sfjszy_user为是) 状态由已上传改为待上传
2:否->是->否 虽然插入一条记录到productInfoSync表 但pr_sfjszy_user最后等于否(不满足报废条件) 不会报废 且状态一直为已上传 无影响
3:是->否 十分钟后上传至CRM
4:是->否->是 十分钟后上传至CRM 23点报废物料 若再否->是之间少于10分钟 则状态还是待上传 不会插入一条记录到productInfoSync表 所以不会报废

wub 3 years ago
parent
commit
2eeacf3f74
1 changed files with 36 additions and 0 deletions
  1. 36 0
      src/main/java/com/uas/eis/task/ProductTask.java

+ 36 - 0
src/main/java/com/uas/eis/task/ProductTask.java

@@ -113,6 +113,42 @@ public class ProductTask {
             }
         }
     }
+    //是否寄售专用 由否改为是时定时报废CRM对应的物料
+    @Scheduled(cron = "0 15 23 * * ?")
+    public void syncUpdateProductsOnSFJSZY() {
+        SqlRowList rs = baseDao.queryForRowSet("select * from (select distinct pis_prodcode from productInfoSync where trunc(pis_date)=trunc(sysdate) and pis_updatedate is null) left join product on pis_prodcode=pr_code where nvl(pr_statuscode,' ')='AUDITED' and nvl(pr_sendstatus,' ')='已上传' and nvl(pr_sfjszy_user,' ')='是' order by pr_id");
+        while (rs.next()){
+            Product product = setProduct(rs);
+            try {
+                BaseResult baseResult = productManager.invalidProduct(product.get_id());
+                int errorCode = baseResult.getErrorCode();
+                if(errorCode == 0){
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'物料资料作废成功','物料资料作废','"+rs.getString("pr_code")+"')");
+                }else{
+                    baseDao.execute("update product set pr_sendstatus='未定时报废成功' where pr_id="+rs.getInt("pr_id"));
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+baseResult.getErrorMessage()+"','物料资料作废','"+rs.getString("pr_code")+"')");
+                    logger.info("异常信息:"+baseResult.getErrorMessage());
+                }
+                List<String> idList = new ArrayList<>();
+                idList.add(product.get_id());
+                BaseResult baseResult_del = productManager.deleteProducts(idList);
+                int errorCode_del = baseResult_del.getErrorCode();
+                if(errorCode_del == 0){
+                    baseDao.execute("update product set pr_sendstatus='待上传' where pr_id="+rs.getInt("pr_id"));
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'物料资料删除成功','物料资料删除','"+rs.getString("pr_code")+"')");
+                }else{
+                    baseDao.execute("update product set pr_sendstatus='未定时报废成功' where pr_id="+rs.getInt("pr_id"));
+                    baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+baseResult_del.getErrorMessage()+"','物料资料删除','"+rs.getString("pr_code")+"')");
+                    logger.info("异常信息:"+baseResult_del.getErrorMessage());
+                }
+            }catch (Exception e){
+                baseDao.execute("update product set pr_sendstatus='未定时报废成功' where pr_id="+rs.getInt("pr_id"));
+                baseDao.execute("insert into FXXKDockingErrorlog(ml_id,ml_date,ml_result,ml_type,ml_code) values(FXXKDOCKINGERRORLOG_SEQ.nextval,sysdate,'"+e.getMessage()+"','物料资料作废或删除','"+rs.getString("pr_code")+"')");
+                logger.info("异常信息:"+e.getMessage());
+                e.printStackTrace();
+            }
+        }
+    }
 
     private Product setProduct(SqlRowList rs){
         Product product = new Product();