Browse Source

【华信科】【富勒WMS对接】【入库确认返回对象调整】

wuyx 11 months ago
parent
commit
e35bd2ffbd

+ 2 - 1
src/main/java/com/uas/eis/controller/ERPWMSController.java

@@ -3,6 +3,7 @@ package com.uas.eis.controller;
 import com.uas.eis.entity.vwms.req.BaseReq;
 import com.uas.eis.entity.vwms.req.IOConfirm;
 import com.uas.eis.sdk.entity.WMSApiResult;
+import com.uas.eis.sdk.entity.WMSApiResultResp;
 import com.uas.eis.service.ERPWMSService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -30,7 +31,7 @@ public class ERPWMSController {
      */
     @RequestMapping(value="/wms",method=RequestMethod.POST)
     @ResponseBody
-    public WMSApiResult IOConfirm(String method,HttpServletRequest request) throws IOException {
+    public WMSApiResultResp IOConfirm(String method, HttpServletRequest request) throws IOException {
         // 从request属性中获取缓存的请求体
         String cachedBody = (String) request.getAttribute("cachedRequestBody");
         // 使用Jackson将JSON字符串转换为BaseReq<IOConfirm>对象

+ 8 - 0
src/main/java/com/uas/eis/sdk/entity/WMSApiResultResp.java

@@ -0,0 +1,8 @@
+package com.uas.eis.sdk.entity;
+
+import lombok.Data;
+
+@Data
+public class WMSApiResultResp {
+    WMSApiResult response;
+}

+ 2 - 1
src/main/java/com/uas/eis/service/ERPWMSService.java

@@ -5,6 +5,7 @@ package com.uas.eis.service;
 import com.uas.eis.entity.vwms.req.BaseReq;
 import com.uas.eis.entity.vwms.req.IOConfirm;
 import com.uas.eis.sdk.entity.WMSApiResult;
+import com.uas.eis.sdk.entity.WMSApiResultResp;
 
 import java.util.Map;
 
@@ -13,5 +14,5 @@ import java.util.Map;
  * @email wuyx@usoftchina.com
  */
 public interface ERPWMSService {
-    WMSApiResult IOConfirm(String method, BaseReq<IOConfirm> ioConfirmBaseReq);
+    WMSApiResultResp IOConfirm(String method, BaseReq<IOConfirm> ioConfirmBaseReq);
 }

+ 20 - 5
src/main/java/com/uas/eis/service/Impl/ERPSWMServiceImpl.java

@@ -6,6 +6,7 @@ import com.uas.eis.dao.SqlRowList;
 import com.uas.eis.entity.vwms.req.BaseReq;
 import com.uas.eis.entity.vwms.req.IOConfirm;
 import com.uas.eis.sdk.entity.WMSApiResult;
+import com.uas.eis.sdk.entity.WMSApiResultResp;
 import com.uas.eis.service.ERPWMSService;
 import com.uas.eis.utils.BaseUtil;
 import org.slf4j.Logger;
@@ -28,7 +29,8 @@ public class ERPSWMServiceImpl implements ERPWMSService {
     private BaseDao baseDao;
 
     @Override
-    public WMSApiResult IOConfirm(String method, BaseReq<IOConfirm> ioConfirmBaseReq) {
+    public WMSApiResultResp IOConfirm(String method, BaseReq<IOConfirm> ioConfirmBaseReq) {
+        WMSApiResultResp resp = new WMSApiResultResp();
         WMSApiResult wmsApiResult = new WMSApiResult();
         IOConfirm ioConfirm = ioConfirmBaseReq.getRequest();
         IOConfirm.EntryOrder entryOrder = ioConfirm.getEntryOrder();
@@ -38,19 +40,26 @@ public class ERPSWMServiceImpl implements ERPWMSService {
             wmsApiResult.setFlag("failure");
             wmsApiResult.setCode("400");
             wmsApiResult.setMessage("没有找到对应的账套");
-            return wmsApiResult;
+            resp.setResponse(wmsApiResult);
+            return resp;
         }
         logger.info("IOConfirm-Begin:method {} inoutno {}",method, entryOrder.getEntryOrderCode());
         SqlRowList piMsg = baseDao.queryForRowSet("select pi_id,pi_inoutno from "+masterCode+".PRODINOUT WHERE PI_INOUTNO = '"+entryOrder.getEntryOrderCode()+"'");
         if(!piMsg.next()){
+            wmsApiResult.setFlag("failure");
+            wmsApiResult.setCode("404");
             wmsApiResult.setMessage("没有找到对应的入库单");
-            return wmsApiResult;
+            resp.setResponse(wmsApiResult);
+            return resp;
         }
         Long piId = piMsg.getGeneralLong("pi_id");
         String inoutno = piMsg.getGeneralString("pi_inoutno");
         if(piId == null){
+            wmsApiResult.setFlag("failure");
+            wmsApiResult.setCode("404");
             wmsApiResult.setMessage("没有找到对应的入库单");
-            return wmsApiResult;
+            resp.setResponse(wmsApiResult);
+            return resp;
         }
         List<String> sqls = new ArrayList<>();
         sqls.add(ioConfirm.getGenerateMainSql(masterCode,piId,inoutno));
@@ -60,8 +69,14 @@ public class ERPSWMServiceImpl implements ERPWMSService {
         String res = baseDao.callProcedure(masterCode+".DOCWMS_IO_CONFIRM",new Object[] { piId,null });
         if (res != null && !res.trim().equals("")) {
             logger.info("IOConfirm-Err: {}",res);
+            wmsApiResult.setFlag("failure");
+            wmsApiResult.setCode("403");
+            wmsApiResult.setMessage(res);
+            resp.setResponse(wmsApiResult);
+            return resp;
         }
         logger.info("IOConfirm-End:method {} inoutno {}",method, entryOrder.getEntryOrderCode());
-        return wmsApiResult;
+        resp.setResponse(wmsApiResult);
+        return resp;
     }
 }