diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java new file mode 100644 index 0000000000..905a424c21 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java @@ -0,0 +1,21 @@ +package com.epmet.service; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StartPatrolFormDTO; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:39 + */ +public interface StaffPatrolService { + /** + * 结束巡查 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:40 + */ + Result endPatrol(StartPatrolFormDTO formDTO); +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java new file mode 100644 index 0000000000..43ffff5ad5 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java @@ -0,0 +1,33 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StartPatrolFormDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.service.StaffPatrolService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:40 + */ +@Service +public class StaffPatrolServiceImpl implements StaffPatrolService { + + @Resource + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + /** + * 结束巡查 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:40 + */ + @Override + public Result endPatrol(StartPatrolFormDTO formDTO) { + return epmetUserOpenFeignClient.endPatrolJob(formDTO); + } +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java new file mode 100644 index 0000000000..b0f06c377a --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java @@ -0,0 +1,40 @@ +package com.epmet.task; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.dto.form.StartPatrolFormDTO; +import com.epmet.service.StaffPatrolService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:36 + */ +@Component("endPatrolTask") +@Slf4j +public class EndPatrolTask implements ITask { + @Resource + private StaffPatrolService staffPatrolService; + @Override + public void run(String params) { + log.info("EndPatrolTask定时任务正在执行,参数为:{}", params); + ExtractOriginFormDTO dto = new ExtractOriginFormDTO(); + StartPatrolFormDTO formDTO = new StartPatrolFormDTO(); + if (StringUtils.isNotBlank(params)) { + dto = JSON.parseObject(params, ExtractOriginFormDTO.class); + formDTO.setCustomerId(dto.getCustomerId()); + } + Result result = staffPatrolService.endPatrol(formDTO); + if (result.success()) { + log.info("EndPatrolTask定时任务执行成功"); + } else { + log.error("EndPatrolTask定时任务执行失败:" + result.getMsg()); + } + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java index 1bf9d55e25..2c723e6177 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java @@ -39,4 +39,6 @@ public class StartPatrolFormDTO implements Serializable { private String staffPatrolRecId; private String patrolEndTime; + + private String customerId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index fcf24efc39..6cfb21aa99 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -595,4 +595,14 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/staffrole/getroles") Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); + + /** + * 结束巡查 定时任务 + * @author zhaoqifeng + * @date 2021/7/12 17:32 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("/epmetuser/staffpatrol/endpatrolJob") + Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index db88733c0e..b0b8723f01 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -409,4 +409,17 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); } + /** + * 结束巡查 定时任务 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:32 + */ + @Override + public Result endPatrolJob(StartPatrolFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "endPatrolJob", formDTO); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java index 4d510c5996..6708db5b5d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java @@ -87,6 +87,20 @@ public class StaffPatrolController { } + /** + * 结束巡查 定时任务 + * @author zhaoqifeng + * @date 2021/7/12 17:00 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("endpatrolJob") + public Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO) { + staffPatrolRecordService.endPatrolJob(formDTO); + return new Result(); + + } + /** * 上传巡查记录 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java index 7eae381718..e9cbb44ce7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java @@ -72,6 +72,14 @@ public interface StaffPatrolRecordService extends BaseService wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StaffPatrolRecordEntity :: getCustomerId, formDTO.getCustomerId()); + wrapper.eq(StaffPatrolRecordEntity :: getStatus, PatrolConstant.PATROLLING); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + String endTimeStr = DateUtils.format(item.getPatrolStartTime(), DateUtils.DATE_PATTERN_YYYYMMDD); + endTimeStr = endTimeStr.concat("235959"); + Date endTime = DateUtils.parse(endTimeStr, DateUtils.DATE_TIME_NO_SPLIT); + item.setPatrolEndTime(endTime); + item.setActrualEndTime(endTime); + item.setUpdatedTime(null); + }); + + updateBatchById(list); + } + } + /** * @Description 巡查结束时,添加巡查统计表逻辑 * @Param userId