فهرست منبع

【越加红】【WMS对接】【新增参数:暂停对接 针对WMS临时关闭服务的情况】

wuyx 2 ماه پیش
والد
کامیت
38b24a1cae
2فایلهای تغییر یافته به همراه40 افزوده شده و 28 حذف شده
  1. 10 0
      src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java
  2. 30 28
      src/main/java/com/uas/eis/task/WMSUploadTask.java

+ 10 - 0
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -42,6 +42,11 @@ public class ERPServiceImpl implements ERPService {
         retMap.put("success", true);
         logger.info("sendProd-Begin:master {} id {}", master, id);
         vwmsConfig.setEv(docCommonService.getMasterEv(master));
+        if(baseDao.isDBSetting("sys","stopWms")){
+            retMap.put("success", false);
+            retMap.put("message", "暂停对接。");
+            return retMap;
+        }
         // 执行查询
         SqlRowList docMsg = baseDao.queryForRowSet(" select nvl(pr_sendwmsflag,0) pr_sendwmsflag,pr_id,pr_code,pr_detail,pr_spec,pr_brand,pr_xsl_user,pr_hsl_user,pr_psl_user,pr_unit,pr_fz_user " +
                 " from " + vwmsConfig.getDC_MASTER() + ".product where pr_id = " + id);
@@ -188,6 +193,11 @@ public class ERPServiceImpl implements ERPService {
         retMap.put("success", true);
         logger.info("sendIO-Begin:master {}  id {}", master, id);
         vwmsConfig.setEv(docCommonService.getMasterEv(master));
+        if(baseDao.isDBSetting("sys","stopWms")){
+            retMap.put("success", false);
+            retMap.put("message", "暂停对接。");
+            return retMap;
+        }
         // 执行查询
         if (!baseDao.checkIf(master + ".prodiodetail left join "+vwmsConfig.getDC_MASTER()+".product on pr_code = pd_prodcode "
                 , "pd_piid = " + id + " and nvl(pr_sendwmsflag,0) = -1")) {

+ 30 - 28
src/main/java/com/uas/eis/task/WMSUploadTask.java

@@ -34,39 +34,41 @@ public class WMSUploadTask {
         //需要调用三次对接方法
         String[] masterList = new String[]{"YUEJH", "AIFL", "YJH_HK"};
         for (String master : masterList) {
-            logger.info("uploadfxML-begin-master {}",master);
-            String emCode = "ADMIN";
-            SqlRowList toSendList = baseDao.queryForRowSet("select pi_id,pi_inoutno,pi_class,ds_table,nvl(pi_sendwmserr_count,0) pi_sendwmserr_count from "+master+".prodinout left join documentsetup on ds_name = pi_class " +
-                    "where pi_status ='未过账' and PI_WMSORDERTYPE is not null and nvl(PI_SENDWMSFLAG,0) = 0 and ds_inorout in ('-IN','OUT','IN','-OUT') and PI_SENDWMSERR IS NOT NULL AND NVL(PI_SENDWMSERR_COUNT,0)<5 " +
-                    "order by pi_id");
-            if(toSendList.hasNext()){
-                while (toSendList.next()){
-                    String id = String.valueOf(toSendList.getObject("pi_id"));
-                    String inoutno = String.valueOf(toSendList.getObject("pi_inoutno"));
-                    String caller = toSendList.getGeneralString("ds_table");
-                    Integer errCount = toSendList.getGeneralInt("pi_sendwmserr_count");
-                    logger.info("uploadfxML-Upload:caller {} id {} code {}",caller,id,inoutno);
-                    // 调用待测方法
-                    Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
+            if(!baseDao.isDBSetting("sys","stopWms")){
+                logger.info("uploadfxML-begin-master {}",master);
+                String emCode = "ADMIN";
+                SqlRowList toSendList = baseDao.queryForRowSet("select pi_id,pi_inoutno,pi_class,ds_table,nvl(pi_sendwmserr_count,0) pi_sendwmserr_count from "+master+".prodinout left join documentsetup on ds_name = pi_class " +
+                        "where pi_status ='未过账' and PI_WMSORDERTYPE is not null and nvl(PI_SENDWMSFLAG,0) = 0 and ds_inorout in ('-IN','OUT','IN','-OUT') and PI_SENDWMSERR IS NOT NULL AND NVL(PI_SENDWMSERR_COUNT,0)<5 " +
+                        "order by pi_id");
+                if(toSendList.hasNext()){
+                    while (toSendList.next()){
+                        String id = String.valueOf(toSendList.getObject("pi_id"));
+                        String inoutno = String.valueOf(toSendList.getObject("pi_inoutno"));
+                        String caller = toSendList.getGeneralString("ds_table");
+                        Integer errCount = toSendList.getGeneralInt("pi_sendwmserr_count");
+                        logger.info("uploadfxML-Upload:caller {} id {} code {}",caller,id,inoutno);
+                        // 调用待测方法
+                        Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
 //                    System.out.println("result:"+result.toString());
-                    if (result.get("success") != null && "true".equals(result.get("success").toString())) {
-                        baseDao.execute("update "+master+".prodinout set "+(StringUtil.hasText(result.get("OrderId"))?"pi_wmsordercode='"+result.get("OrderId")+"',":"")+"pi_sendwmsstatus='同步成功' ,PI_SENDWMSERR_COUNT=0,pi_sendwmserr=null,pi_sendwmsflag=-1 where pi_id = "+id);
-                    }else{
-                        String message = result.get("message") == null ? "同步失败" : result.get("message").toString().replaceAll("'", "''");
-                        baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='同步失败',PI_SENDWMSERR_COUNT=NVL(PI_SENDWMSERR_COUNT,0)+1,pi_sendwmserr=('" + message + "') where pi_id = " + id);
-                        if(errCount == 4){
-                            StringBuffer msg = new StringBuffer();
-                            msg.append("账套:").append(master).append(",").append(toSendList.getGeneralString("pi_class"))
-                                    .append("[").append(inoutno).append("]")
-                                            .append("对接WMS失败已达5次,请确认失败原因。");
-                            docCommonService.sendErrToRobot("263a7170-3197-4ff5-8a29-be42b646a546",msg.toString());
+                        if (result.get("success") != null && "true".equals(result.get("success").toString())) {
+                            baseDao.execute("update "+master+".prodinout set "+(StringUtil.hasText(result.get("OrderId"))?"pi_wmsordercode='"+result.get("OrderId")+"',":"")+"pi_sendwmsstatus='同步成功' ,PI_SENDWMSERR_COUNT=0,pi_sendwmserr=null,pi_sendwmsflag=-1 where pi_id = "+id);
+                        }else{
+                            String message = result.get("message") == null ? "同步失败" : result.get("message").toString().replaceAll("'", "''");
+                            baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='同步失败',PI_SENDWMSERR_COUNT=NVL(PI_SENDWMSERR_COUNT,0)+1,pi_sendwmserr=('" + message + "') where pi_id = " + id);
+                            if(errCount == 4){
+                                StringBuffer msg = new StringBuffer();
+                                msg.append("账套:").append(master).append(",").append(toSendList.getGeneralString("pi_class"))
+                                        .append("[").append(inoutno).append("]")
+                                        .append("对接WMS失败已达5次,请确认失败原因。");
+                                docCommonService.sendErrToRobot("263a7170-3197-4ff5-8a29-be42b646a546",msg.toString());
+                            }
                         }
+                        logger.info("uploadfxML-Upload:caller {} id {} Upload res {}",caller,id,result.toString());
                     }
-                    logger.info("uploadfxML-Upload:caller {} id {} Upload res {}",caller,id,result.toString());
-                }
 //
+                }
+                logger.info("uploadfxML-End-master {}",master);
             }
-            logger.info("uploadfxML-End-master {}",master);
         }
         logger.info("uploadfxML-End");
     }