From c5cc7da07c7f202f336468c0cd0d2789b4775b03 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 09 十月 2024 11:31:15 +0800
Subject: [PATCH] 最新版本

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |   92 ++++++++++++++++-----------------------------
 1 files changed, 33 insertions(+), 59 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 56d8e4e..191e785 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
@@ -4,6 +4,7 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
 import com.doumee.core.haikang.model.param.BaseResponse;
 import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest;
 import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest;
@@ -360,12 +361,30 @@
             List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda()
                     .eq(PlatformWmsDetail::getIsdeleted,Constants.ZERO)
                     .eq(PlatformWmsDetail::getJobId,platformJob.getId()));
+
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){
                 platformJob.setTotalNum(
                         platformWmsDetailList.stream().map(m->m.getIoQty()).reduce(BigDecimal.ZERO,BigDecimal::add)
                 );
                 platformWmsJob.setPlatformWmsDetailList(platformWmsDetailList);
                 platformJob.setPlatformWmsJob(platformWmsJob);
+
+                if(Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zyczh)
+                        || Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxczh)){
+
+                    Integer unLockCount = platformWmsDetailList.stream().filter(i->Constants.equalsInteger(i.getLockStatus(),Constants.ZERO)).collect(Collectors.toList()).size();
+                    if(Constants.equalsInteger(unLockCount,Constants.ZERO)){
+                        platformJob.setLockStatus(Constants.TWO);  //鍏ㄩ儴涓婇攣
+                    }else if(Constants.equalsInteger(unLockCount,platformWmsDetailList.size())){
+                        platformJob.setLockStatus(Constants.ZERO);  //鏈笂閿�
+                    }else{
+                        platformJob.setLockStatus(Constants.ONE);   //閮ㄥ垎涓婇攣
+                    }
+
+                }
+
+
+
             }
         } 
     }
@@ -407,7 +426,7 @@
                     platformJob.setWaitTime(waitTime);
                 }
             }else{
-                platformJob.setWaitTime("绛夊緟鍙彿");
+                platformJob.setWaitTime("棰勮绛夊緟锛�-灏忔椂-鍒嗛挓");
             }
         }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())
         || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){
@@ -429,7 +448,6 @@
                     .ne(PlatformLog::getParam3,Constants.ZERO+"")
                     .orderByDesc(PlatformLog::getCreateDate));
             platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum));
-
 
         }
     }
@@ -462,7 +480,6 @@
             //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
             this.queryWaitNum(platformJob);
         }
-
 
         driverHomeVO.setPlatformJobList(platformJobList);
 
@@ -1519,42 +1536,34 @@
                 .eq(Platform::getStatus,Constants.ZERO)
         );
         for (Platform platform:platformList) {
-            PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
+            PlatformDataListResponse platformDataListResponse = new PlatformDataListResponse();
             platformDataListResponse.setId(platform.getId());
             platformDataListResponse.setHkId(platform.getHkId());
             platformDataListResponse.setName(platform.getName());
             platformDataListResponse.setWorkStatus(Constants.ZERO);
             //鏌ヨ褰撳墠浣滀笟杞﹁締
-//            PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>()
-//                    .select(" * , ( select pl.CREATE_DATE from platform_log pl where platform_job.id = pl.obj_id and pl.OBJ_TYPE = 5 order by pl.CREATE_DATE desc  limit 1  ) as newStartDate ," +
-//                            " case when platform_job.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = platform_job.id  ) else platform_job.total_num end workNum ")
-//                    .eq("isdeleted",Constants.ZERO)
-//                    .eq("status",Constants.PlatformJobStatus.WORKING.getKey())
-//                    .orderByDesc("START_DATE")
-//                    .last(" limit 1")
-//            );
 
-            PlatformJob platformJob = platformJobJoinMapper.selectJoinOne(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+            PlatformJob platformJob = platformJobJoinMapper.selectJoinOne(PlatformJob.class, new MPJLambdaWrapper<PlatformJob>()
                     .selectAll(PlatformJob.class)
-                    .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
-                    .selectAs(Platform::getName,PlatformJob::getPlatformName)
+                    .selectAs(Platform::getWorkRate, PlatformJob::getWorkRate)
+                    .selectAs(Platform::getName, PlatformJob::getPlatformName)
                     .select(" case when t.total_num is null  then ( select sum(pwd.IO_QTY) from platform_wms_detail pwd where pwd.JOB_ID = t.id  ) else t.total_num end workNum ")
                     .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  ")
-                    .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+                    .leftJoin(Platform.class, Platform::getId, PlatformJob::getPlatformId)
                     .eq(PlatformJob::getStatus, Constants.PlatformJobStatus.WORKING.getKey())
-                            .eq(PlatformJob::getPlatformId,platform.getId())
+                    .eq(PlatformJob::getPlatformId, platform.getId())
                     .orderByDesc(PlatformJob::getStatus)
                     .orderByDesc(PlatformJob::getStartDate)
                     .last(" limit 1")
             );
 
-            if(Objects.nonNull(platformJob)){
+            if (Objects.nonNull(platformJob)) {
                 platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
                 platformDataListResponse.setWorkType(
-                        Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
-                                ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
-                        ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
+                        Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.zycxh)
+                                || Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.wxcxh)
+                                || Constants.equalsInteger(platformJob.getType(), Constants.platformJobType.sgscxh) ? Constants.ZERO : Constants.ONE
                 );
                 platformDataListResponse.setWorkStatus(Constants.ONE);
                 //鏌ヨ浣滀笟鏃堕暱
@@ -1562,51 +1571,16 @@
                         this.getWorkTime(platformJob)
                 );
                 //璁$畻宸蹭綔涓氭椂闀� 鏍规嵁鏈堝彴宸ヤ綔鏁堢巼 璁$畻浠诲姟閲忛渶瑕佹椂闂�
-                if(Objects.isNull(platformJob.getWorkNum()) || Objects.isNull(platformJob.getWorkRate())){
+                if (Objects.isNull(platformJob.getWorkNum()) || Objects.isNull(platformJob.getWorkRate())) {
                     platformDataListResponse.setFinishTime(null);
-                }else{
+                } else {
                     Integer workMinute = platformJob.getWorkNum().multiply(new BigDecimal(60)).divide(platformJob.getWorkRate()).intValue();
-                    Date overDate = DateUtil.getXMinuteAfterDate(platformJob.getNewStartDate(),workMinute);
+                    Date overDate = DateUtil.getXMinuteAfterDate(platformJob.getNewStartDate(), workMinute);
                     platformDataListResponse.setFinishTime(overDate);
-                }
-        try {
-            List<Platform> platformList = platformJoinMapper.selectList(
-                    new MPJLambdaWrapper<Platform>().eq(Platform::getIsdeleted,Constants.ZERO)
-                            .eq(Platform::getStatus,Constants.ZERO)
-            );
-            for (Platform platform:platformList) {
-                PlatformDataListResponse platformDataListResponse  = new PlatformDataListResponse();
-                platformDataListResponse.setId(platform.getId());
-                platformDataListResponse.setHkId(platform.getHkId());
-                platformDataListResponse.setName(platform.getName());
-                platformDataListResponse.setWorkStatus(Constants.ZERO);
-                //鏌ヨ褰撳墠浣滀笟杞﹁締
-                PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
-                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
-                        .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
-                        .orderByDesc(PlatformJob::getWorkTime)
-                        .last(" limit 1")
-                );
-                if(Objects.nonNull(platformJob)){
-                    platformDataListResponse.setCarCode(platformJob.getCarCodeFront());
-                    platformDataListResponse.setWorkType(
-                            Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zycxh)
-                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
-                                    ||Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.sgscxh)?Constants.ZERO:Constants.ONE
-                    );
-                    platformDataListResponse.setWorkStatus(Constants.ONE);
-                    //鏌ヨ浣滀笟鏃堕暱
-                    platformDataListResponse.setWorkTime(
-                            this.getWorkTime(platformJob)
-                    );
                 }
             }
             platformDataListResponseList.add(platformDataListResponse);
-        }catch (Exception e){
-            System.out.println("===============================鎶ラ敊鍟︼細\n");
-            e.printStackTrace();
         }
-
         return platformDataListResponseList;
     }
 

--
Gitblit v1.9.3