From 0950b4eaf72d2b253fbc378f5dd56b59a2a6a4ab Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 19 九月 2024 10:43:07 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java |   67 ++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 27 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
index 9dac51d..4aed3c4 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java
@@ -14,6 +14,7 @@
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.WmsService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +37,8 @@
     private PlatformGroupMapper platformGroupMapper;
     @Autowired
     private CarsMapper carsMapper;
+    @Autowired
+    private MemberMapper memberMapper;
     @Autowired
     private PlatformJobMapper platformJobMapper;
     @Autowired
@@ -213,7 +216,6 @@
                         .last("limit 1" ));
 
                 if(job == null){
-
                     PlatformJob model =dealJobBizInbound(param);
                     job = new PlatformWmsJob();
                     job.setCreateDate(new Date());
@@ -282,17 +284,30 @@
         job.setIsdeleted(Constants.ZERO);
         job.setType(Constants.platformJobType.wxcxh);//榛樿鏄鍗忚溅鍗歌揣
         job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
+        job.setBillCode(param.getCarrierBillCode());
+        job.setCarrierName(param.getCarrierName());
+        job.setCarCodeFront(param.getPlateNumber());
+        job.setDrivierPhone(param.getDriverPhone());
+        job.setDriverName(param.getDriverName());
+        //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛屽嵏璐�
+        dealCarPlatformAndDriverInfo(job,0);
+        platformJobMapper.insert(job);
+        return job;
+    }
+
+    private void dealCarPlatformAndDriverInfo(PlatformJob job,int type) {
         //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
         Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
-                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
+                .select("*,(select count(1) from platform_job b where b.plate_num='"+job.getCarCodeFront()+"' and b.status in("+
                         Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
                 .lambda()
                 .eq(Cars::getIsdeleted,Constants.ZERO)
                 .eq(Cars::getType,Constants.ONE)
-                .eq(Cars::getCode,param.getPlateNumber()));
+                .eq(Cars::getCode,job.getCarCodeFront()));
         if(car !=null){
             //濡傛灉鏄嚜鏈夌墿娴佽溅
-            job.setType(Constants.platformJobType.zycxh);//鑷湁杞﹀嵏璐�
+            job.setType(type==0?Constants.platformJobType.zycxh:Constants.platformJobType.zyczh);//鑷湁杞﹀嵏璐�/瑁呰揣
+            job.setCarCodeBack(job.getCarCodeFront());//鑷湁杞﹂粯璁ゅ墠鍚庤溅鐗屼竴鏍�
             if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
                 //濡傛灉杞﹁締鍦ㄥ洯
                 job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
@@ -303,37 +318,35 @@
                 .eq(PlatformGroup::getType,Constants.ONE)
                 .last("limit 1") );//鏌ヨ鍗歌揣鏈堝彴缁勭紪鐮�
         job.setPlatformGroupId(group!=null?group.getId():null);
+        Member driver =  memberMapper.selectJoinOne(Member.class,new MPJLambdaWrapper<Member>()
+                .selectAll(Member.class)
+                .selectAs(Company::getCompanyNamePath,Member::getCompanyNamePath)
+                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getPhone,job.getDrivierPhone())
+                .last("limit 1") );//鏌ヨ瑁呰揣鏈堝彴缁勭紪鐮�
+        if(driver!=null){
+            job.setDriverId(driver.getId());
+            job.setCompanyId(driver.getCompanyId());
+            job.setCompanyNamePath(driver.getCompanyNamePath());
+        }
+
         platformJobMapper.insert(job);
-        return job;
     }
+
     private PlatformJob dealJobBizOutbound(WmsOutboundNoticeRequest param) {
         PlatformJob job = new PlatformJob();
         job.setCreateDate(new Date());
         job.setIsdeleted(Constants.ZERO);
         job.setType(Constants.platformJobType.wxczh);//榛樿鏄鍗忚溅瑁呭ソ
         job.setStatus(Constants.PlatformJobStatus.WAIT_CONFIRM.getKey());//榛樿寰呯‘璁ょ姸鎬�
-        //鏌ヨ杞﹁締鏄惁鑷湁杞︼紝浠ュ強jobNum琛ㄧず浣嗘眰浣滀笟鏁伴噺锛堥潪宸茬鍥殑浣滀笟鏁�)
-        Cars car = carsMapper.selectOne(new QueryWrapper<Cars>()
-                .select("*,(select count(1) from platform_job b where b.plate_num='"+param.getPlateNumber()+"' and b.status in("+
-                        Constants.PlatformJobStatus.LEAVED.getKey()+")) as jobNum")
-                .lambda()
-                .eq(Cars::getIsdeleted,Constants.ZERO)
-                .eq(Cars::getType,Constants.ONE)
-                .eq(Cars::getCode,param.getPlateNumber()));
-        if(car !=null){
-            //濡傛灉鏄嚜鏈夌墿娴佽溅
-            job.setType(Constants.platformJobType.zyczh);//鑷湁杞﹁璐�
-            if(Constants.equalsInteger(car.getInStatus(),Constants.ONE) && car.getJobNum() == 0) {
-                //濡傛灉杞﹁締鍦ㄥ洯
-                job.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
-            }
-        }
-        PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
-                .eq(PlatformGroup::getIsdeleted,Constants.ZERO)
-                .eq(PlatformGroup::getType,Constants.ZERO)
-                .last("limit 1") );//鏌ヨ瑁呰揣鏈堝彴缁勭紪鐮�
-        job.setPlatformGroupId(group!=null?group.getId():null);
-        platformJobMapper.insert(job);
+        job.setBillCode(param.getCarrierBillCode());
+        job.setCarrierName(param.getCarrierName());
+        job.setCarCodeFront(param.getPlateNumber());
+        job.setDrivierPhone(param.getDriverPhone());
+        job.setDriverName(param.getDriverName());
+        //澶勭悊浣滀笟鐨勮溅杈嗐�佸徃鏈恒�佹湀鍙扮粍鍏宠仈鍏崇郴锛岃璐�
+        dealCarPlatformAndDriverInfo(job,1);
         return job;
     }
     /**

--
Gitblit v1.9.3