Эх сурвалжийг харах

【越加红】【WMS对接】【新增测试环境】

wuyx 7 сар өмнө
parent
commit
f6f9f27ded

+ 67 - 2
src/main/java/com/uas/eis/config/VwmsConfig.java

@@ -9,6 +9,9 @@ import org.springframework.context.annotation.PropertySource;
 @PropertySource("classpath:vwms.properties")
 @Data
 public class VwmsConfig {
+    private String ev;
+    private String DC_MASTER;
+
     @Value("${api_url}")
     private String apiUrl;
 
@@ -21,6 +24,68 @@ public class VwmsConfig {
     @Value("${vwms.warehouse.code}")
     private String warehouseCode;
 
-//    @Value("${ownerCode}")
-//    private String ownerCode;
+
+    @Value("${api_url_test}")
+    private String apiUrlTest;
+
+    @Value("${app_key_test}")
+    private String appKeyTest;
+
+    @Value("${customerId_test}")
+    private String customerIdTest;
+
+    @Value("${vwms.warehouse.code_test}")
+    private String warehouseCodeTest;
+
+
+
+    public String getEv() {
+        return ev;
+    }
+
+    public void setEv(String ev) {
+        this.ev = ev;
+    }
+
+    //    @Value("${ownerCode}")
+    //    private String ownerCode;
+    public String getDC_MASTER() {
+        if("test".equals(getEv())){
+            return "YUEJH_TEST";
+        }else {
+            return "DATACENTER";
+        }
+    }
+
+    public String getApiUrl() {
+        if("test".equals(getEv())){
+            return apiUrlTest;
+        }else {
+            return apiUrl;
+        }
+    }
+
+    public String getAppKey() {
+        if("test".equals(getEv())){
+            return appKeyTest;
+        }else {
+            return appKey;
+        }
+    }
+
+    public String getCustomerId() {
+        if("test".equals(getEv())){
+            return customerIdTest;
+        }else {
+            return customerId;
+        }
+    }
+
+    public String getWarehouseCode() {
+        if("test".equals(getEv())){
+            return warehouseCodeTest;
+        }else {
+            return warehouseCode;
+        }
+    }
 }

+ 1 - 0
src/main/java/com/uas/eis/service/DocCommonService.java

@@ -12,6 +12,7 @@ import java.util.Map;
  * @date 2025-03-04
  */
 public interface DocCommonService {
+    String getMasterEv(String master);
     ProdInout getIO(String master,String id,String pdIds);
     String sendOutToWms(ProdInout prodInOut, String masterName);
     String sendInToWms(ProdInout prodInOut, String masterName);

+ 15 - 8
src/main/java/com/uas/eis/service/Impl/DocCommonServiceImpl.java

@@ -43,7 +43,14 @@ public class DocCommonServiceImpl implements DocCommonService {
 
     @Autowired
     private ObjectMapper objectMapper;  // 注入Jackson的ObjectMapper
-
+    @Override
+    public String getMasterEv(String master){
+        if(baseDao.checkIf("DATACENTER_P.master","ma_user = '"+master+"' and ma_function like '%测试%' ")){
+            return "test";
+        }else {
+            return "prod";
+        }
+    }
     @Override
     public ProdInout getIO(String master,String id,String pdIds){
         // 查询主表信息
@@ -58,7 +65,7 @@ public class DocCommonServiceImpl implements DocCommonService {
         if (!prodInOut.getPiWmsstatus().equals("已确认")) {
             updateWmsTables(master, prodInOut, detSql);
         }
-        if("YUEJH_TEST".equals(master)){
+        /*if("YUEJH_TEST".equals(master)){
             prodInOut.setCurrentMaster("YUEJH");
         }
         if("YJH_T".equals(master)){
@@ -66,8 +73,8 @@ public class DocCommonServiceImpl implements DocCommonService {
         }
         if("YIT_T".equals(master)){
             prodInOut.setCurrentMaster("YJH_HK");
-        }
-        if(StringUtil.hasText(prodInOut.getToMasterCode())){
+        }*/
+        /*if(StringUtil.hasText(prodInOut.getToMasterCode())){
             if("YUEJH_TEST".equals(prodInOut.getToMasterCode())){
                 prodInOut.setToMasterCode("YUEJH");
             }
@@ -77,7 +84,7 @@ public class DocCommonServiceImpl implements DocCommonService {
             if("YIT_T".equals(prodInOut.getToMasterCode())){
                 prodInOut.setToMasterCode("YJH_HK");
             }
-        }
+        }*/
         return prodInOut;
     }
 
@@ -100,7 +107,7 @@ public class DocCommonServiceImpl implements DocCommonService {
             sqlBuilder.append("select pd_piid pdPiid,(pd_id) pdId,(pd_pdno) pdPdno,pd_prodcode pdProdcode,pr_detail pdProdname,pr_brand pdBrandName" +
                     "   ,(nvl(pd_inqty,0)+nvl(pd_outqty,0)) pdQty ,wh_code pdWhcode,wh_description pdWhname ")
                     .append(" from ").append(master).append(".prodiodetail ").append(" left join ").append(master).append(".prodinout on pi_id = pd_piid ")
-                    .append(" left join ").append(master).append(".product on pr_code = pd_prodcode ")
+                    .append(" left join ").append(vwmsConfig.getDC_MASTER()).append(".product on pr_code = pd_prodcode ")
                     .append(" left join ").append(master).append(".warehouse on wh_Code = (case when pi_class='拨出单' and PI_TYPE='寄售退货' then pd_inwhcode else pd_whcode end) ")
                     .append(" where pd_piid = "+prodInOut.getPiId()+" and nvl(pr_sendwmsflag,0) = -1 ")
                     .append(" order by pd_pdno ");
@@ -113,7 +120,7 @@ public class DocCommonServiceImpl implements DocCommonService {
                                 ",pd_sendprice pdSendPrice ")
                         .append("from ").append(master).append(".prodiodetail ")
                         .append(" left join ").append(master).append(".prodinout on pi_id = pd_piid ")
-                        .append(" left join ").append(master).append(".product on pr_code = pd_prodcode ")
+                        .append(" left join ").append(vwmsConfig.getDC_MASTER()).append(".product on pr_code = pd_prodcode ")
                         .append(" left join ").append(master).append(".warehouse on wh_Code = pd_whcode ")
                         .append(" left join ").append(master).append(".saledetail on sd_Code = pd_ordercode and sd_Detno = pd_orderdetno ")
                         .append(" left join ").append(master).append(".TRANSFERSTOCK ON PI_INOUTNO = TS_CODE ")
@@ -131,7 +138,7 @@ public class DocCommonServiceImpl implements DocCommonService {
                                 ",pd_sendprice pdSendPrice ")
                         .append("from ").append(master).append(".prodiodetail ")
                         .append(" left join ").append(master).append(".prodinout on pi_id = pd_piid ")
-                        .append(" left join ").append(master).append(".product on pr_code = pd_prodcode ")
+                        .append(" left join ").append(vwmsConfig.getDC_MASTER()).append(".product on pr_code = pd_prodcode ")
                         .append(" left join ").append(master).append(".warehouse on wh_Code = pd_whcode ")
                         .append(" left join ").append(master).append(".saledetail on sd_Code = pd_ordercode and sd_Detno = pd_orderdetno ")
                         .append("where pd_piid = ").append(prodInOut.getPiId()).append(" and nvl(pr_sendwmsflag,0) = -1");

+ 8 - 3
src/main/java/com/uas/eis/service/Impl/ERPSWMServiceImpl.java

@@ -2,6 +2,7 @@ package com.uas.eis.service.Impl;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+import com.uas.eis.config.VwmsConfig;
 import com.uas.eis.dao.BaseDao;
 import com.uas.eis.dao.SqlRowList;
 import com.uas.eis.entity.vwms.req.AdjustConfirm;
@@ -11,6 +12,7 @@ import com.uas.eis.entity.vwms.req.OUTConfirm;
 import com.uas.eis.entity.vwms.resp.IOResp;
 import com.uas.eis.sdk.entity.WMSApiResult;
 import com.uas.eis.sdk.entity.WMSApiResultResp;
+import com.uas.eis.service.DocCommonService;
 import com.uas.eis.service.ERPService;
 import com.uas.eis.service.ERPWMSService;
 import com.uas.eis.utils.StringUtil;
@@ -34,7 +36,9 @@ public class ERPSWMServiceImpl implements ERPWMSService {
     @Autowired
     private BaseDao baseDao;
     @Autowired
-    private ERPService erpService;
+    private VwmsConfig vwmsConfig;
+    @Autowired
+    private DocCommonService docCommonService;
 
     @Override
     public WMSApiResult IOConfirm(String method, HttpServletRequest request) throws IOException {
@@ -76,8 +80,9 @@ public class ERPSWMServiceImpl implements ERPWMSService {
             wmsApiResult.setMessage("没有找到对应的账套");
             return wmsApiResult;
         }
+        vwmsConfig.setEv(docCommonService.getMasterEv(masterCode));
         //测试阶段
-        if("YUEJH".equals(masterCode)){
+        /*if("YUEJH".equals(masterCode)){
             masterCode ="YUEJH_TEST";
         }
         if("AIFL".equals(masterCode)){
@@ -85,7 +90,7 @@ public class ERPSWMServiceImpl implements ERPWMSService {
         }
         if("YJH_HK".equals(masterCode)){
             masterCode ="YIT_T";
-        }
+        }*/
         logger.info("IOConfirm-Begin:masterCode {} method {} inoutno {}",masterCode, method, orderCode);
         SqlRowList piMsg = baseDao.queryForRowSet("select pi_id,pi_inoutno,pi_class,pi_wmsordertype from " + masterCode + ".PRODINOUT WHERE PI_INOUTNO = '" + orderCode + "'");
         if (!piMsg.next()) {

+ 6 - 3
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -41,9 +41,10 @@ public class ERPServiceImpl implements ERPService {
         Map<String, Object> retMap = new HashMap<>();
         retMap.put("success", true);
         logger.info("sendProd-Begin:master {} id {}", master, id);
+        vwmsConfig.setEv(docCommonService.getMasterEv(master));
         // 执行查询
         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 " +
-                " from " + master + ".product where pr_id = " + id);
+                " from " + vwmsConfig.getDC_MASTER() + ".product where pr_id = " + id);
         if (!docMsg.next()) {
 //            baseDao.execute("update " + master + ".product set pr_sendwmsstatus='同步失败',pr_sendwmserr='没有需要同步的商品。' where pr_id = " + id);
             retMap.put("success", false);
@@ -176,8 +177,9 @@ public class ERPServiceImpl implements ERPService {
         Map<String, Object> retMap = new HashMap<>();
         retMap.put("success", true);
         logger.info("sendIO-Begin:master {}  id {}", master, id);
+        vwmsConfig.setEv(docCommonService.getMasterEv(master));
         // 执行查询
-        if (!baseDao.checkIf(master + ".prodiodetail left join " + master + ".product on pr_code = pd_prodcode "
+        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")) {
             logger.info("sendIO-End:master {} id {} res {}", master, id, "没有需要对接的明细。");
             retMap.put("success", false);
@@ -246,6 +248,7 @@ public class ERPServiceImpl implements ERPService {
         Map<String, Object> retMap = new HashMap<>();
         retMap.put("success", true);
         logger.info("cancelIO-Begin:master {}  id {}", master, piId);
+        vwmsConfig.setEv(docCommonService.getMasterEv(master));
         if(CollectionUtil.isEmpty(gstore)) {
             logger.info("cancelIO-End:master {} id {} res {}", master, piId, "没有需要对接的明细。");
             retMap.put("success", false);
@@ -265,7 +268,7 @@ public class ERPServiceImpl implements ERPService {
             }
         }
         // 执行查询
-        if (!baseDao.checkIf(master + ".prodiodetail left join " + master + ".product on pr_code = pd_prodcode "
+        if (!baseDao.checkIf(master + ".prodiodetail left join " + vwmsConfig.getDC_MASTER() + ".product on pr_code = pd_prodcode "
                 , "pd_id in (" + pdIds + ") and nvl(pr_sendwmsflag,0) = -1")) {
             logger.info("cancelIO-End:master {} id {} res {}", master, piId, "明细不需要对接WMS。");
             retMap.put("success", false);

+ 6 - 0
src/main/resources/vwms.properties

@@ -4,6 +4,12 @@ customerId=YJH
 vwms.warehouse.code=YJHCK
 #ownerCode=YUEJH
 
+#?????????
+api_url_test=http://159.75.210.136:8099/ERP
+app_key_test=YJHUAS
+customerId_test=YJH
+vwms.warehouse.code_test=YJHCK
+
 
 
 

+ 1 - 1
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -132,7 +132,7 @@ public class UasEisApplicationTests {
 		String master = "YUEJH_TEST";
 		String emCode = "test";
 		String caller = "Product";
-		String id = baseDao.queryForObject("select pr_id from "+master+".product where pr_code = 'U00014725'",String.class);
+		String id = baseDao.queryForObject("select pr_id from "+vwmsConfig.getDC_MASTER()+".product where pr_code = 'U00014725'",String.class);
 		// 调用待测方法
 		Map<String, Object> result = erpService.sendProd(master, id, emCode,caller);
 		System.out.println("result:"+result.toString());