From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 14 十月 2025 16:34:22 +0800 Subject: [PATCH] 改bug --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 79 ++++++++++++++++++++++++++++++++------- 1 files changed, 64 insertions(+), 15 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java index c696282..d60b9ac 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java @@ -12,6 +12,7 @@ import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; import com.doumee.core.haikang.service.HKService; import com.doumee.dao.business.dao.UserActionMapper; +import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.third.WmsService; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; @@ -985,7 +986,7 @@ BeanUtils.copyProperties(platformJob,oldPlatformJob); platformJob.setPlatformId(platform.getId()); platformJob.setInwaitDate(new Date()); - platformJob.setInwaitUserId(jobOperateDTO.getLoginUserInfo().getId()); + platformJob.setInwaitUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId()); platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey()); platformJob.setEditDate(new Date()); platformJobMapper.updateById(platformJob); @@ -1226,7 +1227,7 @@ BeanUtils.copyProperties(platformJob,oldPlatformJob); platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null); - platformJob.setCallUserId(jobOperateDTO.getLoginUserInfo().getId()); + platformJob.setCallUserId(Objects.isNull(jobOperateDTO.getLoginUserInfo())?null:jobOperateDTO.getLoginUserInfo().getId()); platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey()); platformJob.setPlatformId(jobOperateDTO.getPlatformId()); //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘� @@ -2494,11 +2495,16 @@ BeanUtils.copyProperties(model,platformJob); platformJob.setPlatformGroupId(param.getPlatformGroupId()); platformJob.setEditDate(new Date()); + platformJob.setTagVirtual(Constants.ONE); + platformJob.setTagVirtualUser(platformJob.getEditor()); + platformJob.setTagVirtualTime(platformJob.getEditDate()); platformJob.setEditor(loginUser.getId()); int flag = platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() .set(PlatformJob::getEditDate,platformJob.getEditDate()) + .set(PlatformJob::getTagVirtualTime,platformJob.getTagVirtualTime()) .set(PlatformJob::getEditor,platformJob.getEditor()) .set(PlatformJob::getPlatformGroupId,param.getPlatformGroupId()) + .set(PlatformJob::getTagVirtualUser,platformJob.getEditor()) .set(PlatformJob::getPlatformId,null)//缃┖鍒嗛厤鐨勬湀鍙颁俊鎭� .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CONFIRM.getKey(), Constants.PlatformJobStatus.WART_SIGN_IN.getKey(), @@ -2573,12 +2579,13 @@ + @Override public void autoPlatformCallCar(WmsService wmsService){ //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁 List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO) .eq(PlatformGroup::getIsdeleted,Constants.ZERO).eq(PlatformGroup::getAutoCall,Constants.ONE) ); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allPlatformGroup)){ + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(allPlatformGroup)){ return; } //杩囨护褰撳墠鏃堕棿娈典笉鍦ㄦ椂闂村唴鐨勬湀鍙扮粍 AUTO_CALL_END_TIME AUTO_CALL_START_TIME @@ -2588,7 +2595,7 @@ && Integer.valueOf(i.getAutoCallStartTime().replaceAll(":","")) < nowHm && Integer.valueOf(i.getAutoCallEndTime().replaceAll(":","")) > nowHm ).collect(Collectors.toList()); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(autoCallGroup)){ + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(autoCallGroup)){ return; } //鏌ヨ鎵�鏈夋湀鍙� @@ -2596,7 +2603,8 @@ .lambda() .eq(Platform::getIsdeleted,Constants.ZERO) .eq(Platform::getStatus,Constants.ZERO) - .in(Platform::getId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList())) + .isNotNull(Platform::getWorkingNum) + .in(Platform::getGroupId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList())) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(platformList)){ return; @@ -2640,11 +2648,11 @@ .eq(PlatformJob::getIsdeleted,Constants.ZERO) .eq(PlatformJob::getPlatformGroupId, platformGroup.getId()) .apply(" ( " + - " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = "+platformGroup.getId()+" )" + + " ( `STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and PLATFORM_GROUP_ID = "+platformGroup.getId()+" )" + " or " + - " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and and t.PLATFORM_ID = "+platform.getId()+" ) " + + " ( `STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and PLATFORM_ID = "+platform.getId()+" ) " + " or " + - " (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+platform.getId()+" ) " + + " ( `STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and PLATFORM_ID = "+platform.getId()+" ) " + ") " ) //鎺掑簭鏂瑰紡 鏈堝彴浣滀笟绫诲瀷 锛堣浆绉讳腑 >鍙彿鍏ュ洯锛�> 鍔犳�� > 绛惧埌鏃堕棿 @@ -2655,8 +2663,12 @@ } for (int i = 0; i < workingNum - workNum ; i++) { PlatformJob platformJob = this.getAutoCallJob(platformJobList,platform,isDefaul,platformGroup); + if(Objects.isNull(platformJob)){ + continue; + } JobOperateDTO jobOperateDTO = new JobOperateDTO(); jobOperateDTO.setJobId(platformJob.getId()); + jobOperateDTO.setPlatformId(platform.getId()); PlatformJob callPlatformJob = this.platformCallNumber(jobOperateDTO); platformJobList = platformJobList.stream().filter(j->!Constants.equalsInteger(j.getId(),platformJob.getId())).collect(Collectors.toList()); try{ @@ -2678,12 +2690,13 @@ + @Override public void autoCallInParkCar(WmsService wmsService){ //鏌ヨ褰撳墠寮�鍚殑鏈堝彴鏁版嵁 List<PlatformGroup> allPlatformGroup = platformGroupMapper.selectList(new QueryWrapper<PlatformGroup>().lambda().eq(PlatformGroup::getStatus,Constants.ZERO) .eq(PlatformGroup::getIsdeleted,Constants.ZERO).eq(PlatformGroup::getAutoCall,Constants.ONE) ); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allPlatformGroup)){ + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(allPlatformGroup)){ return; } //杩囨护褰撳墠鏃堕棿娈典笉鍦ㄦ椂闂村唴鐨勬湀鍙扮粍 AUTO_CALL_END_TIME AUTO_CALL_START_TIME @@ -2693,7 +2706,7 @@ && Integer.valueOf(i.getAutoCallStartTime().replaceAll(":","")) < nowHm && Integer.valueOf(i.getAutoCallEndTime().replaceAll(":","")) > nowHm ).collect(Collectors.toList()); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(autoCallGroup)){ + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(autoCallGroup)){ return; } //鏌ヨ鎵�鏈夋湀鍙� @@ -2701,7 +2714,8 @@ .lambda() .eq(Platform::getIsdeleted,Constants.ZERO) .eq(Platform::getStatus,Constants.ZERO) - .in(Platform::getId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList())) + .isNotNull(Platform::getCallReadyNum) + .in(Platform::getGroupId,autoCallGroup.stream().map(i->i.getId()).collect(Collectors.toList())) ); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isEmpty(platformList)){ return; @@ -2741,7 +2755,7 @@ .lambda() .eq(PlatformJob::getIsdeleted,Constants.ZERO) .eq(PlatformJob::getPlatformGroupId, platformGroup.getId()) - .apply(" t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = "+platformGroup.getId()+" ) ") + .apply(" ( `STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and PLATFORM_GROUP_ID = "+platformGroup.getId()+" ) ") //鎺掑簭鏂瑰紡 鏈堝彴浣滀笟绫诲瀷 锛堝紓甯告寕璧�>鍙彿鍏ュ洯锛�> 鍔犳�� > 绛惧埌鏃堕棿 .orderByDesc(PlatformJob::getStatus,PlatformJob::getUrgeTime) .orderByAsc(PlatformJob::getSignDate)); @@ -2856,9 +2870,17 @@ if(Objects.isNull(platformWmsJob)){ continue; } - //TODO 鏆傛棤鍏ュ簱鐨勬暟鎹� - if(platformWmsJob.getCarrierName().equals("1") && Constants.equalsInteger(platform.getType(),Constants.ONE)){ - return platformJob; + SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.IN_REPERTOTY_CODE); + if(Objects.nonNull(systemDictData)){ + //鍒ゆ柇鏀剧疆浣嶇疆 + if(platformWmsDetailMapper.selectCount(new QueryWrapper<PlatformWmsDetail>().lambda().eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) + .eq(PlatformWmsDetail::getWmsJobId,platformWmsJob.getId()) + .apply(" find_in_set(IN_REPERTOTY_CODE ,'"+systemDictData.getCode()+"')") + .eq(PlatformWmsDetail::getInRepertotyCode,"") + .isNotNull(PlatformWmsDetail::getInRepertotyCode) + ) > Constants.ZERO && Constants.equalsInteger(platform.getType(),Constants.ONE)){ + return platformJob; + } } if(Constants.equalsInteger(platform.getType(),Constants.ZERO)){ return platformJob; @@ -2874,4 +2896,31 @@ return null; } + + @Override + public void jobUrge(Integer jobId,LoginUserInfo loginUserInfo){ + if(Objects.isNull(jobId)){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + PlatformJob platformJob = platformJobMapper.selectById(jobId); + if(Objects.isNull(platformJob)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey()) + || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey()) + || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.TRANSFERING.getKey()))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐘舵�佸凡娴佽浆"); + } + + platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() + .set(PlatformJob::getUrgeUser,loginUserInfo.getId()) + .set(PlatformJob::getUrgeTime,DateUtil.getCurrDateTime()) + .set(PlatformJob::getEditDate,DateUtil.getCurrDateTime()) + .eq(PlatformJob::getId,platformJob.getId()) + ); + } + + + + } -- Gitblit v1.9.3