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 | 173 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 149 insertions(+), 24 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 a4b0ac7..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 @@ -17,6 +17,7 @@ import com.doumee.dao.business.model.*; 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; import com.doumee.dao.web.response.LineUpVO; @@ -94,6 +95,15 @@ platformJobMapper.deleteById(id); } + + @Override + public void delete(Integer id) { + platformJobMapper.update(null,new UpdateWrapper<PlatformJob>().lambda() + .set(PlatformJob::getIsdeleted,Constants.ONE) + .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CANCEL.getKey()) + .eq(PlatformJob::getId,id)); + } + @Override public void delete(PlatformJob platformJob) { UpdateWrapper<PlatformJob> deleteWrapper = new UpdateWrapper<>(platformJob); @@ -148,10 +158,14 @@ 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()) .eq(pageWrap.getModel().getCreator() != null, PlatformJob::getCreator, pageWrap.getModel().getCreator()) .ge(pageWrap.getModel().getCreateDate() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) @@ -225,6 +239,15 @@ .eq(pageWrap.getModel().getInType() != null, PlatformJob::getInType, pageWrap.getModel().getInType()) .eq(pageWrap.getModel().getTotalNum() != null, PlatformJob::getTotalNum, pageWrap.getModel().getTotalNum()) .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::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) ; for(PageWrap.SortData sortData: pageWrap.getSorts()) { @@ -259,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() @@ -275,7 +314,7 @@ .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()).or() .apply(" ( t.status = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_GROUP_ID = "+pageWrap.getModel().getPlatformGroupId()+" ) ") ) - .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(new Date(),"yyyy-MM-dd")) +// .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(new Date(),"yyyy-MM-dd")) .orderByDesc(PlatformJob::getStatus) ; IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper); @@ -338,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; @@ -355,7 +394,8 @@ }else{ platformJob.setWaitTime("绛夊緟鍙彿"); } - }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){ + }else if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WORKING.getKey()) + || Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){ //鏌ヨ鏈�鍚庡紑濮嬩换鍔$殑鏈堝彴璁板綍 鏃ュ織琛� 鍥犱负瀛樺湪寮傚父鎸傝捣 杞Щ 绛夐棶棰� PlatformLog platformLog = platformLogMapper.selectOne(new QueryWrapper<PlatformLog>().lambda() .eq(PlatformLog::getJobId,platformJob.getId()) @@ -398,7 +438,7 @@ .leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId) .eq(PlatformJob::getIsdeleted,Constants.ZERO) .eq(PlatformJob::getDrivierPhone,loginUserInfo.getMobile()) - .like(PlatformJob::getArriveDate,DateUtil.getCurrDate()) +// .like(PlatformJob::getArriveDate,DateUtil.getCurrDate()) .orderByDesc(PlatformJob::getId) ); for (PlatformJob platformJob:platformJobList) { @@ -444,8 +484,9 @@ PlatformJob oldPlatformJob = new PlatformJob(); BeanUtils.copyProperties(platformJob,oldPlatformJob); - + platformJob.setConfirmTaskDate(new Date()); platformJob.setArriveDate(confirmTaskDTO.getArriveDate()); + platformJob.setCarCodeBack(confirmTaskDTO.getCarCodeBack()); platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); platformJob.setEditDate(new Date()); platformJobMapper.updateById(platformJob); @@ -470,19 +511,33 @@ if(Objects.isNull(platformJob)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } - if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅"); - } + PlatformJob oldPlatformJob = new PlatformJob(); BeanUtils.copyProperties(platformJob,oldPlatformJob); if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ZERO)){ + if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅"); + } this.distanceSignIn(signInDTO,platformJob); }else if(Constants.equalsInteger(signInDTO.getSignType(),Constants.ONE)){ + if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓氬姟鐘舵�佸凡娴佽浆锛岃鍒锋柊鏌ョ湅"); + } this.sceneSignIn(signInDTO); + }else if(Constants.equalsInteger(signInDTO.getSignType(),Constants.TWO)){ + if(!(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())|| + Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())) + ){ + 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(),"绛惧埌绫诲瀷閿欒"); } platformJob.setSignDate(new Date()); - platformJob.setSingType(Constants.ZERO); + platformJob.setSingType(signInDTO.getSignType()); platformJob.setStatus(Constants.PlatformJobStatus.WAIT_CALL.getKey()); platformJobMapper.updateById(platformJob); //瀛樺偍鎿嶄綔鏃ュ織 @@ -490,12 +545,12 @@ Constants.PlatformJobLogType.SIGN.getInfo()); } - public void distanceSignIn(SignInDTO signInDTO , PlatformJob platformJob){ if(Objects.isNull(signInDTO.getLat()) || Objects.isNull(signInDTO.getLnt())){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忕含搴︿俊鎭紓甯�"); } + //鑾峰彇绛惧埌鐐圭殑缁忕含搴� Double lat = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LAT).getCode()); Double lnt = Double.parseDouble(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_PLACE_LNT).getCode()); @@ -511,6 +566,7 @@ } public void sceneSignIn(SignInDTO signInDTO){ + if( StringUtils.isNotBlank(signInDTO.getQrCodeKey())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -674,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()); @@ -684,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()); @@ -697,6 +771,7 @@ || Constants.equalsInteger(platformJob.getType(),Constants.THREE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){ //TODO 涓嬪彂鍏ュ洯鏉冮檺 + } //瀛樺偍鎿嶄綔鏃ュ織 @@ -730,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()); @@ -742,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); @@ -890,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()); } @@ -942,6 +1027,37 @@ //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐佃繘琛屼笅鍙戠鍥潈闄� } + } + + + /** + * 鎺堟潈绂诲洯 + */ + @Override + @Transactional(rollbackFor = {Exception.class,BusinessException.class}) + public void powerLevel(JobOperateDTO jobOperateDTO){ + if(Objects.isNull(jobOperateDTO) + || Objects.isNull(jobOperateDTO.getJobId())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + PlatformJob platformJob = platformJobMapper.selectById(jobOperateDTO.getJobId()); + if(Objects.isNull(platformJob)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.DONE.getKey())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧�,涓氬姟鐘舵�佸凡娴佽浆锛�"); + } + PlatformJob oldPlatformJob = new PlatformJob(); + BeanUtils.copyProperties(platformJob,oldPlatformJob); + platformJob.setOutUserId(jobOperateDTO.getLoginUserInfo().getId()); + platformJob.setOutHkdate(new Date()); + platformJob.setStatus(Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()); + platformJob.setEditDate(new Date()); + platformJobMapper.updateById(platformJob); + //瀛樺偍鎿嶄綔鏃ュ織 + savePlatformLog(Constants.PlatformJobLogType.AUTHED_LEAVE.getKey(),oldPlatformJob,platformJob , + Constants.PlatformJobLogType.AUTHED_LEAVE.getInfo()); + //TODO 鎺堟潈杞﹁締绂诲満鏉冮檺 } @@ -1306,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