From 34f587564c9a34515e7deda4dcd02eb748480e1f Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 13 一月 2025 18:05:24 +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/PlatformJobServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 104 insertions(+), 9 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 265e4a9..acee3db 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 @@ -10,6 +10,7 @@ import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest; import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse; import com.doumee.core.haikang.service.HKService; +import com.doumee.service.business.third.WmsService; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -305,7 +306,8 @@ .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd())) .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum) .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum) - ; + .exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()), + "select tt.id from platform_wms_detail tt where tt.isdeleted=0 and tt.contract_num='"+pageWrap.getModel().getWmsContractNum()+"' and tt.job_id=t.id"); for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { @@ -448,9 +450,9 @@ //鏌ヨ鎺掗槦鍦ㄦ垜鍓嶉潰鐨勬暟鎹� List<PlatformJob> lineUpNum = lineUpAllList.stream().filter(i->Objects.nonNull(i.getSignDate())&&i.getSignDate().getTime()<platformJob.getSignDate().getTime()).collect(Collectors.toList()); platformJob.setLineUpNum(lineUpNum.size()); - BigDecimal sumWorkRate = platformJob.getTotalNum(); + BigDecimal sumWorkRate = Constants.formatBigdecimal(platformJob.getTotalNum()); for (PlatformJob linePlatformJob:lineUpNum) { - sumWorkRate = sumWorkRate.add(linePlatformJob.getTotalNum()); + sumWorkRate = sumWorkRate.add(Constants.formatBigdecimal(linePlatformJob.getTotalNum())); } //璁$畻棰勮绛夊緟鏃堕棿 List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda() @@ -629,7 +631,8 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈湪宸ヤ綔鏃堕棿["+platformGroup.getStartTime() + "-" + platformGroup.getEndTime() +"]锛屾棤娉曡繘琛岀鍒�"); } //鏌ヨ浠婃棩鏈�澶х殑绛惧埌鏁� - List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda().apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null ")); + List<PlatformJob> signList = platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda() + .apply(" DATE(SIGN_DATE) = DATE(NOW()) and sign_date is not null ")); if(CollectionUtils.isEmpty(signList)){ platformJob.setSignNum(Constants.ONE); } else{ @@ -924,6 +927,23 @@ @Override public void sendInPark(PlatformJob platformJob){ log.info("銆愪笅鍙戝仠杞﹀満鏉冮檺銆�================寮�濮�===="+platformJob.getCarCodeFront()); + if(Constants.equalsInteger(platformJob.getType(),Constants.THREE) + && Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey()) ){ + //濡傛灉鏄凡瀹屾垚鐨勫鍗忚溅鍗歌揣浣滀笟锛屾煡璇㈡墍鏈夊悎鍚屾槸鍚︿互涓婄數瀛愰攣锛屽鏋滄病鏈夛紝涓嶈嚜鍔ㄦ巿鏉冪鍥� + List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda() + .select(PlatformWmsDetail::getLockStatus,PlatformWmsDetail::getId) + .eq(PlatformWmsDetail::getJobId,platformJob.getId()) + .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO) + ); + if(details!=null && details.size()>0){ + for(PlatformWmsDetail d : details){ + if(Constants.equalsInteger(d.getLockStatus(),Constants.ZERO)){ + //濡傛灉瀛樺湪鏈笂閿侊紝涓嶈嚜鍔ㄦ巿鏉冪鍥� + return; + } + } + } + } if(Constants.equalsInteger(platformJob.getType(),Constants.TWO) || Constants.equalsInteger(platformJob.getType(),Constants.THREE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ @@ -1005,6 +1025,10 @@ platformJob.setInHkdate(new Date()); if(sendStatus){ platformJob.setInHkstatus(Constants.TWO); + if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){ + //濡傛灉宸蹭笅鍙戞垚鍔燂紝鏍囪宸叉巿鏉冪鍥姸鎬� + platformJob.setStatus(Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()); + } }else{ platformJob.setInHkstatus(Constants.THREE); } @@ -1478,19 +1502,21 @@ Date date = new Date(); List<String> codeList =new ArrayList<>(); for(PlatformWmsDetail d : details){ - codeList.add(d.getIocode()); + codeList.add(d.getContractNum()); } TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest(); tmsLock.setContractNumbers(codeList); TmsBaseResponse<List<TmsLockStatusQueryResponse>> lockResult = tmsService.lockStatusQuery(tmsLock); - if(lockResult!=null && lockResult.isSuccess()&& lockResult.getData()!=null ){ + if(lockResult!=null && lockResult.getCode()!=null && lockResult.getCode().equals("0")&& lockResult.getData()!=null ){ for(TmsLockStatusQueryResponse s : lockResult.getData()){ + if(StringUtils.isBlank(s.getContractNumber())){ + continue; + } platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda() - .eq(PlatformWmsDetail::getIocode,s.getContractNumber()) + .eq(PlatformWmsDetail::getContractNum,s.getContractNumber()) .set(PlatformWmsDetail::getEditDate,date) .set(PlatformWmsDetail::getLockDate,s.getOutDate()) .set(PlatformWmsDetail::getLockStatus,Constants.ONE) - .eq(PlatformWmsDetail::getJobId,platformJob.getId()) .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)); } } @@ -1498,7 +1524,6 @@ }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐� - } @@ -1519,6 +1544,76 @@ Constants.PlatformBroadcastContent.DONE.getInfo()); return platformJob; } + @Override + public void checkWmsLockStatus(){ + List<PlatformWmsDetail> details = platformWmsDetailMapper.selectJoinList(PlatformWmsDetail.class,new MPJLambdaWrapper<PlatformWmsDetail>() + .selectAll(PlatformWmsDetail.class) + .leftJoin(PlatformJob.class,PlatformJob::getId,PlatformWmsDetail::getJobId) + .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey())//鏌ヨ宸插畬鎴愪綔涓氱殑 + .eq(PlatformJob::getIsdeleted,Constants.ZERO) + .and(wr->{wr.isNull(PlatformWmsDetail::getLockStatus).or().eq(PlatformWmsDetail::getLockStatus,Constants.ZERO);}) + .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)); + if(details !=null && details.size()>0){ + Date date = new Date(); + List<String> codeList =new ArrayList<>(); + for(PlatformWmsDetail d : details){ + codeList.add(d.getContractNum()); + } + TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest(); + tmsLock.setContractNumbers(codeList); + List<Integer> jobIds = new ArrayList<>(); + TmsBaseResponse<List<TmsLockStatusQueryResponse>> lockResult = tmsService.lockStatusQuery(tmsLock); + if(lockResult!=null && lockResult.getCode()!=null && lockResult.getCode().equals("0")&& lockResult.getData()!=null ){ + for(TmsLockStatusQueryResponse s : lockResult.getData()){ + try { + //寮傚父澶勭悊锛岃兘澶勭悊涓�涓槸涓�涓� + platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda() + .eq(PlatformWmsDetail::getContractNum,s.getContractNumber()) + .set(PlatformWmsDetail::getEditDate,date) + .set(PlatformWmsDetail::getLockDate,s.getOutDate()) + .set(PlatformWmsDetail::getLockStatus,Constants.ONE) + .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)); + PlatformWmsDetail job = getJobByContractnumFromDetail(s.getContractNumber(),details); + if(job != null){ + jobIds.add(job.getJobId()); + } + }catch (Exception e){ + logger.error("=============鏇存柊鐢靛瓙閿佺姸鎬佷俊鎭紓甯革細"+e.getMessage()); + } + } + } + if(jobIds.size()>0){ + List<PlatformJob> list = platformJobMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>() + .selectAll(PlatformJob.class) + .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey()) + .in(PlatformJob::getId,jobIds) + ); + if(list!=null){ + for(PlatformJob platformJob : list){ + sendInPark(platformJob);//妫�鏌ユ槸鍚﹂渶瑕佽嚜鍔ㄦ巿鏉冪鍥� + } + } + } + } + + } + + private PlatformWmsJob getJobByContractnum(String contractNumber, List<PlatformWmsJob> details) { + for(PlatformWmsJob d : details){ + if(StringUtils.equals(contractNumber,d.getContractNum())){ + return d; + } + } + return null; + } + private PlatformWmsDetail getJobByContractnumFromDetail(String contractNumber, List<PlatformWmsDetail> details) { + for(PlatformWmsDetail d : details){ + if(StringUtils.equals(contractNumber,d.getContractNum())){ + return d; + } + } + return null; + } /** -- Gitblit v1.9.3