|
@@ -1,23 +1,26 @@
|
|
|
package cn.iocoder.yudao.module.pms.service.qhse.measure;
|
|
package cn.iocoder.yudao.module.pms.service.qhse.measure;
|
|
|
|
|
|
|
|
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
|
import cn.iocoder.yudao.framework.common.exception.ErrorCode;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.qhse.measure.vo.IotMeasureDetectPageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.qhse.measure.vo.IotMeasureDetectPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.qhse.measure.vo.IotMeasureDetectSaveReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.qhse.measure.vo.IotMeasureDetectSaveReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.measure.IotMeasureBookDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.measure.IotMeasureDetectDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.qhse.measure.IotMeasureDetectDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.qhse.measure.IotMeasureBookMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.qhse.measure.IotMeasureDetectMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.qhse.measure.IotMeasureDetectMapper;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
-
|
|
|
|
|
-import java.util.*;
|
|
|
|
|
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
|
|
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
|
|
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
|
|
+import java.util.HashSet;
|
|
|
|
|
+import java.util.Objects;
|
|
|
|
|
+import java.util.Set;
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
|
|
|
|
@@ -34,12 +37,30 @@ public class IotMeasureDetectServiceImpl implements IotMeasureDetectService {
|
|
|
private IotMeasureDetectMapper iotMeasureDetectMapper;
|
|
private IotMeasureDetectMapper iotMeasureDetectMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private DeptService deptService;
|
|
private DeptService deptService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IotMeasureBookMapper iotMeasureBookMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Long createIotMeasureDetect(IotMeasureDetectSaveReqVO createReqVO) {
|
|
public Long createIotMeasureDetect(IotMeasureDetectSaveReqVO createReqVO) {
|
|
|
// 插入
|
|
// 插入
|
|
|
IotMeasureDetectDO iotMeasureDetect = BeanUtils.toBean(createReqVO, IotMeasureDetectDO.class);
|
|
IotMeasureDetectDO iotMeasureDetect = BeanUtils.toBean(createReqVO, IotMeasureDetectDO.class);
|
|
|
iotMeasureDetect.setDeleted(false);
|
|
iotMeasureDetect.setDeleted(false);
|
|
|
|
|
+ LocalDateTime validityPeriod = createReqVO.getValidityPeriod();
|
|
|
|
|
+ IotMeasureBookDO iotMeasureBookDO = iotMeasureBookMapper.selectById(createReqVO.getMeasureId());
|
|
|
|
|
+ if (Objects.isNull(iotMeasureBookDO)) {
|
|
|
|
|
+ throw new ServiceException(new ErrorCode(3, "不存在"));
|
|
|
|
|
+ }
|
|
|
|
|
+ if (validityPeriod.isBefore(LocalDateTime.now())) {
|
|
|
|
|
+ iotMeasureBookDO.setExpired(true);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ iotMeasureBookDO.setExpired(false);
|
|
|
|
|
+ }
|
|
|
|
|
+ //如果相差不到90天了就进行预警
|
|
|
|
|
+ if (validityPeriod.isAfter(LocalDateTime.now()) && ChronoUnit.DAYS.between(LocalDateTime.now(), validityPeriod) < 90) {
|
|
|
|
|
+ iotMeasureBookDO.setAlertWarn(true);
|
|
|
|
|
+ iotMeasureBookDO.setExpired(false);
|
|
|
|
|
+ }
|
|
|
|
|
+ iotMeasureBookMapper.updateById(iotMeasureBookDO);
|
|
|
iotMeasureDetectMapper.insert(iotMeasureDetect);
|
|
iotMeasureDetectMapper.insert(iotMeasureDetect);
|
|
|
// 返回
|
|
// 返回
|
|
|
return iotMeasureDetect.getId();
|
|
return iotMeasureDetect.getId();
|