From 45f553e1c5f9d1b948c131fd42ca89d7910ffe03 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 24 九月 2024 18:24:20 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |   95 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 77 insertions(+), 18 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 af60a31..11d0117 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
@@ -158,10 +158,12 @@
         queryWrapper
                 .selectAll(PlatformJob.class)
                 .selectAs(Platform::getName,PlatformJob::getPlatformName)
+                .selectAs(PlatformGroup::getName,PlatformJob::getPlatformGroupName)
                 .selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
                 .selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
                 .selectAs(SystemUser::getUsername,PlatformJob::getOutUserName)
                 .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
+                .leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                 .leftJoin(SystemUser.class,SystemUser::getId,PlatformJob::getOutUserId)
                 .eq(pageWrap.getModel().getId() != null, PlatformJob::getId, pageWrap.getModel().getId())
@@ -239,8 +241,11 @@
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
 
                 .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
-                .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
-                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
+                .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
+                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
+
+                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
+                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()))
                 .eq(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
                 .ne(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getType, Constants.platformJobType.sgscxh)
         ;
@@ -277,15 +282,31 @@
                 .leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
                 .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                 .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
-                .eq(Objects.nonNull(pageWrap.getModel().getCallType())
-                        &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+//                .eq(Objects.nonNull(pageWrap.getModel().getCallType())
+//                        &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
+//                        PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()
+//                )
+
+                .apply(Objects.nonNull(pageWrap.getModel().getCallType())
+                                &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
+                        " ( " +
+                                " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
+                                ") "
                 )
-                .and(Objects.nonNull(pageWrap.getModel().getCallType())
-                        &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.TWO),
-                        i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
-                                .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.IN_WAIT.getKey()).or()
-                                .apply(" ( t.status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" ) ")
+
+
+                .apply(Objects.nonNull(pageWrap.getModel().getCallType())
+                                &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.TWO),
+                                 " ( " +
+                                         " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
+                                         " or  " +
+                                         " (t.`STATUS` = "+Constants.PlatformJobStatus.IN_WAIT.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )" +
+                                         " or " +
+                                         "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
+                                         ") "
                 )
+
+
                 .and(Objects.nonNull(pageWrap.getModel().getCallType())
                                 &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.THREE),
                         i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
@@ -356,7 +377,7 @@
                 //璁$畻棰勮绛夊緟鏃堕棿
                 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);
-                if(sumWorkRate.compareTo(BigDecimal.ZERO) == Constants.ZERO|| workRate.compareTo(BigDecimal.ZERO)  == Constants.ZERO ){
+                if(sumWorkRate.compareTo(BigDecimal.ZERO) > Constants.ZERO && workRate.compareTo(BigDecimal.ZERO)  > Constants.ZERO ){
                     BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
                     Integer sumMinuteInteger = sumMinute.intValue();
                     Integer hours = sumMinuteInteger/60;
@@ -510,6 +531,8 @@
             ){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅");
             }
+            platformJob.setArriveDate(Objects.isNull(platformJob.getArriveDate())?new Date():null);
+            platformJob.setConfirmTaskDate(Objects.isNull(platformJob.getConfirmTaskDate())?new Date():null);
         }else{
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"绛惧埌绫诲瀷閿欒");
         }
@@ -707,7 +730,8 @@
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void platformInPark(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
-                || Objects.isNull(jobOperateDTO.getJobId())){
+                || Objects.isNull(jobOperateDTO.getJobId())
+                || Objects.isNull(jobOperateDTO.getPlatformId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId());
@@ -717,9 +741,26 @@
         if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.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(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+        }
+
+        //鍒ゆ柇鏄惁闇�瑕佸~鍏呰繘鍘�
+        if(StringUtils.isBlank(platformJob.getPlatforms())){
+            platformJob.setPlatforms(jobOperateDTO.getPlatformId().toString());
+            platformJob.setPlatformNames(platform.getName());
+        }else{
+            if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){
+                platformJob.setPlatforms(platformJob.getPlatforms() + "," +jobOperateDTO.getPlatformId().toString());
+                platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName());
+            }
+        }
+
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
-
+        platformJob.setPlatformId(platform.getId());
         platformJob.setInwaitDate(new Date());
         platformJob.setInwaitUserId(jobOperateDTO.getLoginUserInfo().getId());
         platformJob.setStatus(Constants.PlatformJobStatus.IN_WAIT.getKey());
@@ -764,10 +805,19 @@
         if(Objects.isNull(platform)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
         }
+
+        //鏌ヨ鏈堝彴浠诲姟绛夊緟浣滀笟鏁伴噺
+        if(platformJobMapper.selectCount(new QueryWrapper<PlatformJob>().lambda()
+                .eq(PlatformJob::getPlatformId,platform.getId())
+                .in(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey(),Constants.PlatformJobStatus.WORKING.getKey())
+        )>platform.getWorkingNum()){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瓒呭嚭鏈堝彴鍙悓鏃朵綔涓氭暟閲廩"+platform.getWorkingNum()+"杈哴");
+        };
+
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
 
-        platformJob.setCallDate(new Date());
+        platformJob.setCallDate(Objects.isNull(platformJob.getCallDate())?new Date():null);
         platformJob.setCallUserId(jobOperateDTO.getLoginUserInfo().getId());
         platformJob.setStatus(Constants.PlatformJobStatus.CALLED.getKey());
         platformJob.setPlatformId(jobOperateDTO.getPlatformId());
@@ -776,8 +826,10 @@
             platformJob.setPlatforms(jobOperateDTO.getPlatformId().toString());
             platformJob.setPlatformNames(platform.getName());
         }else{
-            platformJob.setPlatforms(platformJob.getPlatforms() + "," +jobOperateDTO.getPlatformId().toString());
-            platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName());
+            if(!Constants.equalsInteger(platform.getId(),platformJob.getPlatformId())){
+                platformJob.setPlatforms(platformJob.getPlatforms() + "," +jobOperateDTO.getPlatformId().toString());
+                platformJob.setPlatformNames(platformJob.getPlatformNames() + "," +platform.getName());
+            }
         }
         platformJob.setEditDate(new Date());
         platformJobMapper.updateById(platformJob);
@@ -924,10 +976,9 @@
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
         }
 
+
         PlatformJob oldPlatformJob = new PlatformJob();
         BeanUtils.copyProperties(platformJob,oldPlatformJob);
-
-
         if(Objects.isNull(platformJob.getStartDate())){
             platformJob.setStartDate(new Date());
         }
@@ -1006,7 +1057,6 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.AUTHED_LEAVE.getKey(),oldPlatformJob,platformJob ,
                 Constants.PlatformJobLogType.AUTHED_LEAVE.getInfo());
-
         //TODO 鎺堟潈杞﹁締绂诲満鏉冮檺
     }
 
@@ -1372,7 +1422,16 @@
                 if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(platformWmsDetailList)){
                     List<String> stringList = platformWmsDetailList.stream().map(m->m.getInRepertotyCode()).collect(Collectors.toList());
                     response.setInRepertotyCode(stringList);
+                    List<PlatformDataWmsInfoResponse> platformDataWmsInfoResponseList = new ArrayList<>();
+                    for (PlatformWmsDetail platformWmsDetail:platformWmsDetailList) {
+                        PlatformDataWmsInfoResponse platformDataWmsInfoResponse = new PlatformDataWmsInfoResponse();
+                        platformDataWmsInfoResponse.setMaterialName(platformWmsDetail.getMaterialName());
+                        platformDataWmsInfoResponse.setIoQty(platformWmsDetail.getIoQty());
+                        platformDataWmsInfoResponseList.add(platformDataWmsInfoResponse);
+                    }
+                    response.setPlatformDataWmsInfoResponseList(platformDataWmsInfoResponseList);
                 }
+
             }
         }
         return response;

--
Gitblit v1.9.3