Jelajahi Sumber

【华信科】【富勒WMS对接】【出入库对接优化代码避免锁表】

wuyx 9 bulan lalu
induk
melakukan
3874b535f2

+ 12 - 7
src/main/java/com/uas/eis/service/Impl/ERPServiceImpl.java

@@ -692,13 +692,17 @@ public class ERPServiceImpl implements ERPService {
         String docOp = "创建";
         if(prodInOut.getPiSendwmsflag() == 0){
             errMsg = createIoToWms(piId,master,entryOrderAndDetRequest);
+            if(errMsg.startsWith("EntryOrderId:")){
+                retMap.put("EntryOrderId",errMsg.replaceAll("EntryOrderId:",""));
+                errMsg = null;
+            }
             //TODO 写入表:WMS_IO_RECORD_SEQ
         }else {
             docOp = "更新";
             errMsg = updateIoToWms(piId,master,entryOrderAndDetRequest);
         }
         if(errMsg!=null){
-            errMsg = docOp+"失败:"+errMsg.replaceAll("'","''");
+            errMsg =  errMsg.replaceAll("'","''");
             logger.info("sendIO-End-failure master {} piid {} errorTip {}",master,piId,errMsg);
             baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='"+docOp+"失败',pi_sendwmserr=UNISTR('"+errMsg+"') where pi_id = "+piId);
             retMap.put("success",false);
@@ -724,8 +728,9 @@ public class ERPServiceImpl implements ERPService {
                 BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
                 if(baseVastRespResponse!=null){
                     if("success".equals(baseVastRespResponse.getFlag())){
+                        eMsg = "EntryOrderId:"+baseVastRespResponse.getEntryOrderId();
                         logger.info("sendIO-add-response-success code: {} entryOrderId {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getEntryOrderId(),baseVastRespResponse.getMessage());
-                        baseDao.execute("update  "+master+".prodinout set pi_wmsordercode='"+baseVastRespResponse.getEntryOrderId()+"',pi_sendwmsstatus='同步成功' ,pi_sendwmserr=null,pi_sendwmsflag=-1 where pi_id = "+piId);
+//                        baseDao.execute("update  "+master+".prodinout set pi_wmsordercode='"+baseVastRespResponse.getEntryOrderId()+"',pi_sendwmsstatus='同步成功' ,pi_sendwmserr=null,pi_sendwmsflag=-1 where pi_id = "+piId);
                     }else {
                         eMsg = "(" + baseVastRespResponse.getCode() + ")";
                         String errorMessage = baseVastRespResponse.getMessage();
@@ -772,7 +777,7 @@ public class ERPServiceImpl implements ERPService {
                 if(baseVastRespResponse!=null){
                     if("success".equals(baseVastRespResponse.getFlag())){
                         logger.info("sendIO-update-response-success code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
-                        baseDao.execute("update  "+master+".prodinout set pi_sendwmsstatus='更新成功',pi_sendwmserr=null where pi_id = "+piId);
+//                        baseDao.execute("update  "+master+".prodinout set pi_sendwmsstatus='更新成功',pi_sendwmserr=null where pi_id = "+piId);
                     }else {
                         eMsg = "(" + baseVastRespResponse.getCode() + ")";
                         String errorMessage = baseVastRespResponse.getMessage();
@@ -799,7 +804,7 @@ public class ERPServiceImpl implements ERPService {
     @Override
     public Map<String, Object> cancelIO(String master, String id, String emCode, String caller,String cancelReason) {
         Map<String,Object> retMap = new HashMap<>();
-        String docOp = "对接操作:取消:";
+        String docOp = "取消";
         retMap.put("success",true);
         String eMsg = null;
         logger.info("sendIO-cancel-Begin:master {}  id {} cancelReason {}",master,id,cancelReason);
@@ -843,7 +848,7 @@ public class ERPServiceImpl implements ERPService {
                 if(baseVastRespResponse!=null){
                     if("success".equals(baseVastRespResponse.getFlag())){
                         logger.info("sendIO-cancel-response-success code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
-                        baseDao.execute("update  "+master+".prodinout set pi_sendwmsstatus='取消成功' ,pi_sendwmserr=null,pi_sendwmsflag=0,PI_WMSORDERCODE=null where pi_id = "+piId);
+//                        baseDao.execute("update  "+master+".prodinout set pi_sendwmsstatus='取消成功' ,pi_sendwmserr=null,pi_sendwmsflag=0,PI_WMSORDERCODE=null where pi_id = "+piId);
                         //TODO 删除表:WMS_IO_RECORD_SEQ
                     }else {
 //                        logger.info("sendIO-cancel-response-failure {}", response.getResponseText());
@@ -867,9 +872,9 @@ public class ERPServiceImpl implements ERPService {
             eMsg = StringUtil.nvl(e.getMessage(),"无").replaceAll("'","''");
         }
         if(eMsg!=null){
-            eMsg = docOp+"失败:"+eMsg.replaceAll("'","''");
+            eMsg = eMsg.replaceAll("'","''");
             logger.info("sendIO-cancel-End-failure master {} piid {} errorTip {}",master,piId,eMsg);
-            baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='取消失败',pi_sendwmserr=UNISTR('"+eMsg+"') where pi_id = "+piId);
+//            baseDao.execute("update "+master+".prodinout set pi_sendwmsstatus='取消失败',pi_sendwmserr=UNISTR('"+eMsg+"') where pi_id = "+piId);
             retMap.put("success",false);
             retMap.put("message",eMsg);
         }else {

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

@@ -59,7 +59,7 @@ public class UasEisApplicationTests {
 	public void testSendAddCGYS(){
 		// 设置测试数据
 		String master = "HUAXK";
-		String id = "50735621";
+		String id = "50735758";
 		String emCode = "test";
 		String caller = "ProdInOut!PurcCheckin";
 		Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);