From a8c8e4281c0298ce9a946b1d65166a2fe438ce1c Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 26 九月 2024 09:04:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/wms/WmsServiceImpl.java |   79 ++++++++++++++++++++++++---------------
 1 files changed, 49 insertions(+), 30 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..fb0e58e 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,17 +216,18 @@
                         .last("limit 1" ));
 
                 if(job == null){
-
                     PlatformJob model =dealJobBizInbound(param);
                     job = new PlatformWmsJob();
                     job.setCreateDate(new Date());
                     job.setIsdeleted(Constants.ZERO);
                     job.setIsNew(Constants.ONE);
+                    job.setStatus(Constants.ONE);
                     job.setCarryBillCode(param.getCarrierBillCode());
                     job.setIocode(param.getIoCode());
                     job.setCarrierName(param.getCarrierName());
+                    job.setDriverName(param.getDriverName());
                     job.setPlateNumber(param.getPlateNumber());
-                    job.setType(Constants.ONE);
+                    job.setType(Constants.ZERO);
                     job.setIoCreatedate(param.getCreateDate());
                     job.setJobId(model.getId());
                     job.setDriverPhone(param.getDriverPhone());
@@ -282,17 +286,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());//鍦ㄥ洯鏃犱綔涓氱姸鎬侊紝鍒欒嚜鍔ㄣ�愬凡绛惧埌銆戝鐞�
@@ -300,40 +317,37 @@
         }
         PlatformGroup group = platformGroupMapper.selectOne(new QueryWrapper<PlatformGroup>().lambda()
                 .eq(PlatformGroup::getIsdeleted,Constants.ZERO)
-                .eq(PlatformGroup::getType,Constants.ONE)
+                .eq(PlatformGroup::getType,type==0?Constants.ZERO: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;
     }
     /**
@@ -369,15 +383,20 @@
                     job = new PlatformWmsJob();
                     job.setCreateDate(new Date());
                     job.setIsdeleted(Constants.ZERO);
+                    job.setStatus(Constants.ZERO);
                     job.setIsNew(Constants.ONE);
                     job.setCarryBillCode(param.getCarrierBillCode());
                     job.setIocode(param.getIoCode());
                     job.setCarrierName(param.getCarrierName());
                     job.setPlateNumber(param.getPlateNumber());
+                    job.setDriverName(param.getDriverName());
                     job.setType(Constants.ONE);
                     job.setIoCreatedate(param.getCreateDate());
-                    job.setJobId(job.getId());
+                    job.setJobId(model.getId());
+                    job.setRepertotyAddress(param.getRepertotyAddress());
+                    job.setContractNum(param.getContractNum());
                     job.setDriverPhone(param.getDriverPhone());
+                    job.setDriverName(param.getDriverName());
                     platformWmsJobMapper.insert(job);
                     jobList.add(model);
                 }

--
Gitblit v1.9.3