server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/PlatformWmsDetailCloudController.java
@@ -11,7 +11,8 @@ import com.doumee.service.business.PlatformWmsDetailService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.xpath.operations.Bool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -88,4 +89,10 @@ public ApiResponse findById(@PathVariable Integer id) { return ApiResponse.success(platformWmsDetailService.findById(id)); } @ApiOperation("WSM任务是否完成") @GetMapping("/checkWmsFinish") public ApiResponse<Boolean> checkWmsFinish(@RequestParam Integer jobId) { return ApiResponse.success(platformWmsDetailService.checkWmsFinish(jobId)); } } server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -43,7 +43,7 @@ String xkzx = "xkzx";//消控中心 String ngzx = "ngzx";//能管中心 String jsc = "jsc";//物业后勤 String kqgzt = "kqgzt";//考勤管理 String kqgzt = "attendance_workstand";//考勤管理 } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -262,7 +262,7 @@ @TableField(exist = false) private String ledContent ; @ApiModelProperty(value = "是否超时:0=是;1=否", example = "1") @ApiModelProperty(value = "是否超时:1=是;0=否", example = "1") @TableField(exist = false) private Integer isTimeOut; server/visits/dmvisit_service/src/main/java/com/doumee/service/business/PlatformWmsDetailService.java
@@ -94,4 +94,14 @@ * @return long */ long count(PlatformWmsDetail platformWmsDetail); /** * 查询任务是否全部已完成 * @param jobId * @return */ Boolean checkWmsFinish(Integer jobId); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1671,11 +1671,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(), @@ -2032,7 +2036,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()) @@ -2040,10 +2045,13 @@ ); //如果超时 处理数据 并发送led与广播 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); } } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWmsDetailServiceImpl.java
@@ -2,6 +2,7 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.PlatformWmsDetailMapper; import com.doumee.dao.business.model.PlatformWmsDetail; @@ -15,6 +16,7 @@ import org.springframework.util.CollectionUtils; import java.util.List; import java.util.stream.Collectors; /** * 月台_WMS作业通知单明细Service实现 @@ -122,4 +124,21 @@ QueryWrapper<PlatformWmsDetail> wrapper = new QueryWrapper<>(platformWmsDetail); return platformWmsDetailMapper.selectCount(wrapper); } @Override public Boolean checkWmsFinish(Integer jobId){ List<PlatformWmsDetail> platformWmsDetailList = platformWmsDetailMapper.selectList(new QueryWrapper<PlatformWmsDetail>().lambda().eq(PlatformWmsDetail::getJobId,jobId)); if(CollectionUtils.isEmpty(platformWmsDetailList)){ return true; } if(platformWmsDetailList.stream().filter(i-> Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size()>Constants.ZERO){ return false; }else{ return true; } } }