From b421d2fedd1dfbe400363b89a6281c0759508651 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 19 九月 2024 10:08:20 +0800 Subject: [PATCH] 最新版本 --- 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