From bb383098e5b87b67038b9cbcca5d081e3c699a75 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十二月 2024 10:08:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java | 258 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 203 insertions(+), 55 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 a2b09a9..4203b81 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,13 +17,18 @@
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.utils.*;
+import com.doumee.core.wx.wxPlat.WxPlatConstants;
+import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
+import com.doumee.dao.business.dao.SmsConfigMapper;
+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;
@@ -35,10 +40,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.TmsService;
-import com.doumee.service.business.third.WmsService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -46,14 +49,17 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.net.URLEncoder;
import java.util.*;
import java.util.Date;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -114,9 +120,15 @@
private EmayService emayService;
@Autowired
+ private RedisTemplate<String, Object> redisTemplate;
+ @Autowired
private PlatformBroadcastLogMapper platformBroadcastLogMapper;
@Autowired
private PlatformWarnEventServiceImpl platformWarnEventService;
+ @Autowired
+ private MemberMapper memberMapper;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
@Override
public Integer create(PlatformJob platformJob) {
@@ -321,6 +333,7 @@
.selectAs(Platform::getName,PlatformJob::getPlatformName)
.selectAs(Platform::getWorkRate,PlatformJob::getWorkRate)
.selectAs(PlatformWmsJob::getCarrierName,PlatformJob::getCarrierName)
+ .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 ioQty ")
.leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
.leftJoin(PlatformWmsJob.class,PlatformWmsJob::getCarryBillCode,PlatformJob::getBillCode)
.leftJoin(PlatformBooks.class,PlatformBooks::getJobId,PlatformJob::getId)
@@ -362,8 +375,9 @@
IPage<PlatformJob> platformJobIPage = platformJobJoinMapper.selectJoinPage(page,PlatformJob.class,queryWrapper);
platformJobIPage.getRecords().forEach(i->{
i.dealTime();
- this.getWmsJobData(i);
- this.queryWaitNum(i);
+ i.setTotalNum(i.getIoQty());
+// this.getWmsJobData(i);
+// this.queryWaitNum(i);
});
return PageData.from(platformJobIPage);
}
@@ -374,7 +388,6 @@
|| Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.zyczh)
|| Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxcxh)
|| Constants.equalsInteger(platformJob.getType(),Constants.platformJobType.wxczh)) {
-
PlatformWmsJob platformWmsJob = platformWmsJobMapper.selectOne(new QueryWrapper<PlatformWmsJob>().lambda()
.eq(PlatformWmsJob::getIsdeleted,Constants.ZERO)
.eq(PlatformWmsJob::getJobId,platformJob.getId())
@@ -406,11 +419,7 @@
}else{
platformJob.setLockStatus(Constants.ONE); //閮ㄥ垎涓婇攣
}
-
}
-
-
-
}
}
}
@@ -418,24 +427,31 @@
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()));
+ 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 ){
BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
@@ -497,7 +513,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) {
@@ -641,11 +656,11 @@
}
public void sceneSignIn(SignInDTO signInDTO){
-
if( StringUtils.isNotBlank(signInDTO.getQrCodeKey())){
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
- if(!signInDTO.getQrCodeKey().equals(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode())){
+ if(!signInDTO.getQrCodeKey().equals(
+ systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode() + systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode())){
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"浜岀淮鐮佸凡杩囨湡,璇峰埛鏂伴噸璇�");
}
}
@@ -690,7 +705,7 @@
}
}
platformJob.dealTime();
- this.getWorkTime(platformJob);
+ this.getWorkTime(platformJob,platformLogMapper);
this.getWmsJobData(platformJob);
return platformJob;
}
@@ -743,12 +758,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,
@@ -772,7 +787,7 @@
* 鑾峰彇宸蹭綔涓氭椂闂�
* @param platformJob
*/
- public Long getWorkTime(PlatformJob platformJob){
+ public static Long getWorkTime(PlatformJob platformJob,PlatformLogMapper platformLogMapper){
List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>()
.lambda().eq(PlatformLog::getIsdeleted,Constants.ZERO)
.eq(PlatformLog::getJobId,platformJob.getId())
@@ -795,7 +810,7 @@
.last(" limit 1 ")
);
if(Objects.nonNull(lastBeginPlatform)){
- String v = Long.toString(System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() / 1000) ;
+ String v = Long.toString((System.currentTimeMillis() - lastBeginPlatform.getCreateDate().getTime() )/ 1000) ;
optTime = optTime + Long.valueOf(v);
}
}
@@ -856,6 +871,20 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobCallIn,null,null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobCallIn,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
return platformJob;
}
@@ -961,6 +990,7 @@
public void cancelInPark(PlatformJob platformJob){
if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
|| Constants.equalsInteger(platformJob.getType(),Constants.THREE)
+ || StringUtils.isBlank(platformJob.getCarCodeFront())
|| Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda()
@@ -968,6 +998,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) {
@@ -1050,6 +1082,21 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobSingIn,platform.getName(),null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())){
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper,platformJob,
+ WxPlatConstants.platformJobContent.platformJobSingIn,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
@@ -1181,7 +1228,22 @@
SmsConstants.platformJobContent.platformJobMove,oldPlatform.getName(),platform.getName()
);
- platformJob.setPlatformName(platform.getName());
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobMove,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
+ platformJob.setPlatformName(oldPlatform.getName());
+ platformJob.setPlatformId(oldPlatform.getId());
this.broadcastAndLEed(platformJob, StringUtils.isBlank(oldPlatform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():oldPlatform.getLedContent(),
null
);
@@ -1203,9 +1265,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(platformJob.getPlatformId());
+ if(Objects.isNull(platform)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鏈堝彴淇℃伅");
+ }
+
PlatformJob oldPlatformJob = new PlatformJob();
BeanUtils.copyProperties(platformJob,oldPlatformJob);
@@ -1221,6 +1290,24 @@
SmsConstants.platformJobContent.platformJobOverNum,null,null
);
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())){
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())){
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper,platformJob,
+ WxPlatConstants.platformJobContent.platformJobOverNum,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
+ platformJob.setPlatformName(platform.getName());
+ this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
+ null
+ );
return platformJob;
}
@@ -1263,6 +1350,20 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobError,platform.getName(),null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobError,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob, StringUtils.isBlank(platform.getLedContent())?Constants.PlatformLedContent.IDEL_CONTNET.getName():platform.getLedContent(),
@@ -1313,7 +1414,19 @@
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobWorking,platform.getName(),null
);
-
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobWorking,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.WORKING.getInfo(),
@@ -1323,10 +1436,19 @@
return platformJob;
}
-
- /**
- * 瀹屾垚浣滀笟
- */
+ public PlatformJob getLastWaitJob(String uuid, LoginUserInfo loginUser){
+ String u = (String) redisTemplate.opsForValue().get(Constants.RedisKeys.BIGSCREEN_UUID);
+ if(!StringUtils.equals(u,uuid)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝浜岀淮鐮佸凡澶辨晥锛�");
+ }
+ PlatformJob platformJob = platformJobMapper.selectOne(new QueryWrapper<PlatformJob>().lambda()
+ .eq(PlatformJob::getDrivierPhone,loginUser.getMobile())
+ .eq(PlatformJob::getIsdeleted,Constants.ZERO)
+ .eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
+ .orderByDesc(PlatformJob::getCreateDate)
+ .last(" limit 1 ") );
+ return platformJob;
+ }
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public PlatformJob finishWork(JobOperateDTO jobOperateDTO){
@@ -1393,13 +1515,26 @@
}
-
-
//鍙戦�佺煭淇′俊鎭�
SmsEmailServiceImpl.sendPlatformJobSms(systemDictDataBiz,
emayService,smsEmailMapper,smsConfigMapper,platformJobMapper,platformJob.getId(),
SmsConstants.platformJobContent.platformJobFinish,platform.getName(),null
);
+
+ //鍏紬鍙锋ā鏉挎秷鎭�
+ if(Objects.nonNull(platformJob.getDriverId())) {
+ Member member = memberMapper.selectById(platformJob.getDriverId());
+ if (Objects.nonNull(member) && StringUtils.isNotBlank(member.getOpenid())) {
+ WxPlatNotice wxPlatNotice = new WxPlatNotice();
+ wxPlatNotice.sendPlatformJobTemplateNotice(
+ wxNoticeConfigMapper, platformJob,
+ WxPlatConstants.platformJobContent.platformJobFinish,
+ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM, Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+ Arrays.asList(member.getOpenid().split(","))
+ );
+ }
+ }
+
//骞挎挱 led閫氱煡
platformJob.setPlatformName(platform.getName());
this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.DONE.getInfo(),
@@ -1669,13 +1804,18 @@
@Override
public PlatformWorkVO getPlatformWorkVOById(Integer platformId){
//鑾峰彇鏈堝彴涓嬬殑鎵�鏈変綔涓氭暟鎹�
- List<PlatformJob> platformJobList = platformJobJoinMapper.selectJoinList(PlatformJob.class,new MPJLambdaWrapper<PlatformJob>()
+ List<PlatformJob> allPlatformJobList = 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 = "+Constants.PlatformJobLogType.WORKING.getKey()+" 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 = "+Constants.PlatformJobLogType.CALLED.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newCallDate ")
+ .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 ioQty ")
.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(),
@@ -1688,13 +1828,13 @@
)
.orderByDesc(PlatformJob::getId)
);
- for (PlatformJob platformJob:platformJobList) {
- //澶勭悊WSM鏁伴噺
- this.getWmsJobData(platformJob);
- //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
- this.queryWaitNum(platformJob);
- }
- PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platformJoinMapper.selectById(platformId),platformJobList);
+// List<PlatformJob> platformJobList = allPlatformJobList.stream().filter(i->Constants.equalsInteger(i.getPlatformId(),platformId)).collect(Collectors.toList());
+// for (PlatformJob platformJob:platformJobList) {
+// platformJob.setTotalNum(platformJob.getIoQty());
+// //鏌ヨ鍓嶆柟鎺掗槦鏁伴噺
+// this.queryWaitNum(platformJob);
+// }
+ PlatformWorkVO platformWorkVO = PlatformGroupServiceImpl.getPlatformWorkVO(platformJoinMapper.selectById(platformId),allPlatformJobList);
return platformWorkVO;
}
@@ -1746,8 +1886,8 @@
.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 ")
+ .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+" 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 = "+Constants.PlatformJobLogType.CALLED.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newCallDate ")
.leftJoin(Platform.class, Platform::getId, PlatformJob::getPlatformId)
.eq(PlatformJob::getStatus, Constants.PlatformJobStatus.WORKING.getKey())
.eq(PlatformJob::getPlatformId, platform.getId())
@@ -1947,8 +2087,8 @@
.selectAs(Platform::getName,PlatformJob::getPlatformName)
.selectAs(PlatformGroup::getWaitCallTime,PlatformJob::getWorktimeOutAlarmTime)
.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 ")
+ .select(" ( select pl.CREATE_DATE from platform_log pl where t.id = pl.obj_id and pl.OBJ_TYPE = "+Constants.PlatformJobLogType.WORKING.getKey()+" 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 = "+Constants.PlatformJobLogType.CALLED.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newCallDate ")
.leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
.leftJoin(PlatformGroup.class,PlatformGroup::getId,Platform::getGroupId)
.eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -1982,7 +2122,11 @@
List<PlatformJob> calledList = platformJobList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())).collect(Collectors.toList());
largeScreenDataVO.setWaitWorkList(calledList);
}
- largeScreenDataVO.setQrCode(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE).getCode());
+ String u = UUID.randomUUID().toString();
+ redisTemplate.opsForValue().set(Constants.RedisKeys.BIGSCREEN_UUID,u,3, TimeUnit.MINUTES);
+ String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(),Constants.WxUrlParams.BISCREEN_CODE,u);
+ largeScreenDataVO.setQrCode(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url));
+ largeScreenDataVO.setAttention(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_ATTENTION).getCode());
return largeScreenDataVO;
}
@@ -2032,7 +2176,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 = "+Constants.PlatformJobLogType.CALLED.getKey()+" " +
+ "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())
@@ -2040,10 +2185,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);
+ }
+
}
}
@@ -2060,7 +2208,7 @@
.selectAs(Platform::getWorkRate, PlatformJob::getWorkRate)
.selectAs(Platform::getWorkTimeoutAlarmTime, PlatformJob::getWorktimeOutAlarmTime)
.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 = "+Constants.PlatformJobLogType.WORKING.getKey()+" order by pl.CREATE_DATE desc limit 1 ) as newStartDate ")
.leftJoin(Platform.class,Platform::getId,PlatformJob::getPlatformId)
.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WORKING.getKey())
.eq(PlatformJob::getInOut,Constants.ONE)
--
Gitblit v1.9.3