From d431fae57e142fc6891c8f2eb0737e28e4554d9b Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 31 十月 2024 09:52:55 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |  108 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 83 insertions(+), 25 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 fb414c6..d1ca0f1 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
@@ -13,14 +13,19 @@
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
+import com.doumee.core.tms.model.response.TmsBaseResponse;
+import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
 import com.doumee.core.utils.*;
 import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.join.PlatformJobJoinMapper;
 import com.doumee.dao.business.join.PlatformJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.vo.LargeScreenDataVO;
 import com.doumee.dao.openapi.request.*;
 import com.doumee.dao.openapi.response.*;
+
 import com.doumee.dao.system.model.SystemUser;
 import com.doumee.dao.web.reqeust.*;
 import com.doumee.dao.web.response.DriverHomeVO;
@@ -32,9 +37,8 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.doumee.service.business.impl.hksync.HkSyncPushServiceImpl;
-import com.doumee.service.business.impl.thrid.WmsServiceImpl;
 import com.doumee.service.business.third.EmayService;
-import com.doumee.service.business.third.WmsService;
+import com.doumee.service.business.third.TmsService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -63,6 +67,8 @@
 
     @Autowired
     private PlatformJobMapper platformJobMapper;
+    @Autowired
+    private TmsService tmsService;
 
     @Autowired
     private PlatformDeviceMapper platformDeviceMapper;
@@ -412,22 +418,28 @@
 
     public void queryWaitNum(PlatformJob platformJob){
         if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
-            //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
-            List<PlatformJob> lineUpNum =  platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
+            //鏌ヨ褰撳墠鎵�鏈夋帓闃熸暟閲�
+            List<PlatformJob> lineUpAllList =  platformJobMapper.selectList(new QueryWrapper<PlatformJob>().lambda()
                     .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                     .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
                             ,Constants.PlatformJobStatus.IN_WAIT.getKey()
                             ,Constants.PlatformJobStatus.TRANSFERING.getKey())
-                    .gt(PlatformJob::getSignDate,platformJob.getSignDate())
+//                    .lt(PlatformJob::getSignDate,platformJob.getSignDate())
                     .eq(PlatformJob::getPlatformGroupId,platformJob.getPlatformGroupId())
-                    .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(platformJob.getArriveDate(),"yyyy-MM-dd")));
-            platformJob.setLineUpNum(lineUpNum.size());
-            BigDecimal sumWorkRate = platformJob.getTotalNum();
-            for (PlatformJob linePlatformJob:lineUpNum) {
+//                    .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(platformJob.getArriveDate(),"yyyy-MM-dd"))
+            );
+
+            for (PlatformJob linePlatformJob:lineUpAllList) {
                 this.getWmsJobData(linePlatformJob);
-                sumWorkRate = sumWorkRate.add(linePlatformJob.getTotalNum());
             }
-            if(lineUpNum.size()>Constants.ZERO){
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(lineUpAllList)){
+                //鏌ヨ鎺掗槦鍦ㄦ垜鍓嶉潰鐨勬暟鎹�
+                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();
+                for (PlatformJob linePlatformJob:lineUpNum) {
+                    sumWorkRate = sumWorkRate.add(linePlatformJob.getTotalNum());
+                }
                 //璁$畻棰勮绛夊緟鏃堕棿
                 List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda().eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId()));
                 BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add);
@@ -491,7 +503,6 @@
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                 .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile())
-//                .like(PlatformJob::getArriveDate,DateUtil.getCurrDate())
                 .orderByDesc(PlatformJob::getId)
         );
         for (PlatformJob platformJob:platformJobList) {
@@ -737,12 +748,12 @@
                             .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                             .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                             .eq(PlatformJob::getPlatformGroupId,platformGroup.getId())
-                            .le(Objects.nonNull(platformJob),PlatformJob::getSignDate,DateUtil.dateTypeToString(platformJob.getSignDate(),"yyyy-MM-dd HH:mm:ss"))
                             .in(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey(),
                                     Constants.PlatformJobStatus.IN_WAIT.getKey(),
                                     Constants.PlatformJobStatus.CALLED.getKey())
-                            .orderByDesc(PlatformJob::getStatus)
-                            .orderByDesc(PlatformJob::getSignDate));
+                            .orderByAsc(PlatformJob::getSignDate)
+                            .orderByAsc(PlatformJob::getSignNum)
+            );
             platformGroup.setSignJobList(platformJobSignInList);
             //鏌ヨ褰撳墠鏈堝彴缁勪笅
             List<PlatformJob> platformJobWorkList = platformJobJoinMapper.selectJoinList(PlatformJob.class,
@@ -962,6 +973,8 @@
                     .eq(VisitPark::getObjType,Constants.ONE)
                     .eq(VisitPark::getHkStatus,Constants.ONE)
                     .isNotNull(VisitPark::getHkId)
+                    .apply("  END_TIME > now() ")
+                    .orderByDesc(VisitPark::getCreateDate)
             );
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(visitParkList)){
                 for (VisitPark visitPark:visitParkList) {
@@ -1175,7 +1188,8 @@
                 SmsConstants.platformJobContent.platformJobMove,oldPlatform.getName(),platform.getName()
         );
 
-        platformJob.setPlatformName(platform.getName());
+        platformJob.setPlatformName(oldPlatform.getName());
+        platformJob.setPlatformId(oldPlatform.getId());
         this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
                 null
         );
@@ -1197,9 +1211,16 @@
         if(Objects.isNull(platformJob)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+
         if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�");
         }
+
+        Platform platform = platformJoinMapper.selectById(jobOperateDTO.getPlatformId());
+        if(Objects.isNull(platform)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+        }
+
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
@@ -1214,7 +1235,10 @@
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
                 SmsConstants.platformJobContent.platformJobOverNum,null,null
         );
-
+        platformJob.setPlatformName(platform.getName());
+        this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
+                null
+        );
 
         return platformJob;
     }
@@ -1353,14 +1377,40 @@
         savePlatformLog(Constants.PlatformJobLogType.DONE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.DONE.getInfo());
 
-        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)){
-            //TODO 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+        if(Constants.equalsInteger(platformJob.getType(),Constants.THREE)){
+            // 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
+            List<PlatformWmsDetail> details = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda()
+                    .eq(PlatformWmsDetail::getJobId,platformJob.getId())
+                    .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.getIocode());
+                }
+                TmsLockStatusQueryRequest tmsLock = new TmsLockStatusQueryRequest();
+                tmsLock.setContractNumbers(codeList);
+                TmsBaseResponse<List<TmsLockStatusQueryResponse>>  lockResult =  tmsService.lockStatusQuery(tmsLock);
+                if(lockResult!=null && lockResult.isSuccess()&& lockResult.getData()!=null ){
+                     for(TmsLockStatusQueryResponse s : lockResult.getData()){
+                         platformWmsDetailMapper.update(null,new UpdateWrapper<PlatformWmsDetail>().lambda()
+                                 .eq(PlatformWmsDetail::getIocode,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));
+                     }
+                }
+            }
 
         }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
             //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐�
 
         }
- 
+
+
         //鍙戦�佺煭淇′俊鎭�
         SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
                 emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
@@ -1637,11 +1687,15 @@
         //鑾峰彇鏈堝彴涓嬬殑鎵�鏈変綔涓氭暟鎹�
         List<PlatformJob> platformJobList =  platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
                 .selectAll(PlatformJob.class)
+                .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate  ")
+                .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 order by pl.CREATE_DATE desc  limit 1  ) as newCallDate  ")
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
+                .selectAs(PlatformBooks::getId,PlatformJob::getBookId)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getJobId,PlatformJob::getId)
+                .leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
                 .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                 .in(PlatformJob::getStatus,
                         Constants.PlatformJobStatus.WAIT_CALL.getKey(),
@@ -1998,7 +2052,8 @@
         List<PlatformJob> platformJobList =  platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
                 .selectAll(PlatformJob.class)
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
-                .select(" ( now() > DATE_ADD( ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 order by pl.CREATE_DATE desc  limit 1  )  ,INTERVAL t2.WAIT_CALL_TIME MINUTE) ) as isTimeOut   ")
+                .select(" ( now() >= DATE_ADD( ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = 4 " +
+                        "order by pl.CREATE_DATE desc  limit 1  )  ,INTERVAL t2.WAIT_CALL_TIME MINUTE) ) as isTimeOut   ")
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
                 .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                 .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
@@ -2006,10 +2061,13 @@
         );
         //濡傛灉瓒呮椂 澶勭悊鏁版嵁 骞跺彂閫乴ed涓庡箍鎾�
         for (PlatformJob platformJob:platformJobList) {
-            JobOperateDTO jobOperateDTO = new JobOperateDTO();
-            jobOperateDTO.setJobId(platformJob.getId());
-            this.platformOverNumber(jobOperateDTO);
-            this.cancelInPark(platformJob);
+            if(Constants.equalsInteger(platformJob.getIsTimeOut(),Constants.ONE)){
+                JobOperateDTO jobOperateDTO = new JobOperateDTO();
+                jobOperateDTO.setJobId(platformJob.getId());
+                this.platformOverNumber(jobOperateDTO);
+                this.cancelInPark(platformJob);
+            }
+
         }
     }
 

--
Gitblit v1.9.3