hfxc226 3 years ago
parent
commit
ec9e4b448d

+ 5 - 0
platform-dao/src/main/java/com/platform/dao/dto/sb/SbMeasureLogDTO.java

@@ -109,6 +109,11 @@ public class SbMeasureLogDTO extends BaseDTO implements Serializable {
      * 设备部位
      */
     private String part;
+    /**
+     * 设备状态
+     */
+    @Transient
+    private Integer sbStatus;
     /**
      * 标准工时
      */

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/entity/sb/SbMeasureLog.java

@@ -154,6 +154,8 @@ public class SbMeasureLog implements Serializable {
     @Transient
     private String sbName;//
     @Transient
+    private Integer sbStatus;//
+    @Transient
     private String sbModel;//
     @Transient
     private String sbNo;//

+ 16 - 14
platform-rest/src/main/java/com/platform/rest/controller/sb/SbInfoMeasureController.java

@@ -11,6 +11,7 @@ import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbInfoMeasure;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.util.TreeUtil;
+import com.platform.dao.vo.export.sb.ExportSbInfoMeasureTwoVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoMeasureVO;
 import com.platform.dao.vo.export.sb.ExportSbInfoVO;
 import com.platform.dao.vo.sb.SbInfoMeasureVO;
@@ -106,20 +107,6 @@ public class SbInfoMeasureController {
         return new R<>();
     }
 
-    /**
-     * 更新计量设备状态:位置等其他信息
-     *
-     * @param sbInfoDTO 计量设备基础信息DTO
-     * @return R
-     */
-    @SysLog("修改计量设备状态基础信息")
-    @PutMapping("/status/{id}")
-    @PreAuthorize("@pms.hasPermission('sb-infos-edit')")
-    public R updateStatus(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody SbInfoMeasureDTO sbInfoDTO) {
-        sbInfoService.updateStatus(sbInfoDTO);
-        return new R<>();
-    }
-
     /**
      * 通过id删除一条记录
      *
@@ -216,6 +203,21 @@ public class SbInfoMeasureController {
         ExcelUtil.exportResponseDict(response, ExportSbInfoMeasureVO.class, sbInfoMeasureVOS, "计量计量设备基础信息");
     }
 
+    /**
+     * 计量设备基础信息导出:需要检定的设备导出
+     *
+     * @param sbInfoDTO 计量设备基础信息DTO
+     * @return R
+     */
+    @GetMapping("/export/measure")
+    @SysLog("计量设备基础信息导出")
+    @PreAuthorize("@pms.hasPermission('sb-infos-export')")
+    public void exportForMeasure(HttpServletResponse response, SbInfoMeasureDTO sbInfoDTO) {
+        List<SbInfoMeasureVO> list = sbInfoService.selectExportVOList(sbInfoDTO);
+        List<ExportSbInfoMeasureTwoVO> sbInfoMeasureVOS = BeanConverterUtil.copyListProperties(list, ExportSbInfoMeasureTwoVO.class);
+        ExcelUtil.exportResponseDict(response, ExportSbInfoMeasureTwoVO.class, sbInfoMeasureVOS, "计量设备检定信息");
+    }
+
     /**
      * 导入计量设备:
      * 新增导入,且对应的供应商、类型、等级等都已经在数据库添加好了

+ 0 - 7
platform-service/src/main/java/com/platform/service/sb/SbInfoMeasureService.java

@@ -79,13 +79,6 @@ public interface SbInfoMeasureService extends IBaseService<SbInfoMeasure, SbInfo
      */
     int countByStatus(Integer... status);
 
-    /**
-     * 改变设备状态
-     *
-     * @param model :
-     */
-    void updateStatus(SbInfoMeasureDTO model);
-
     String importListByAdd(MultipartFile file);
     String importListByUpdateALl(MultipartFile file);
 

+ 0 - 88
platform-service/src/main/java/com/platform/service/sb/impl/SbInfoMeasureServiceImpl.java

@@ -88,17 +88,9 @@ import java.util.stream.Collectors;
 @Service("sbInfoMeasureService")
 public class SbInfoMeasureServiceImpl extends BaseServiceImpl<SbInfoMeasureMapper, SbInfoMeasure, SbInfoMeasureDTO> implements SbInfoMeasureService {
 
-    private final Environment environment;
     private final SysDeptMapper deptMapper;
-    private final SbStatusLogMapper sbStatusLogMapper;
-    private final SbStopLogMapper sbStopLogMapper;
     private final SysUserMapper sysUserMapper;
-    private final SbTypeMapper sbTypeMapper;
-    private final SbPositionMapper sbPositionMapper;
     private final SysFileMapper sysFileMapper;
-    private final SysUserDeptService sysUserDeptService;
-    private final SysDeptService sysDeptService;
-    private final FirmProducerMapper firmProducerMapper;
 
     @Override
     public int batchDelete(List<String> ids) {
@@ -162,86 +154,6 @@ public class SbInfoMeasureServiceImpl extends BaseServiceImpl<SbInfoMeasureMappe
         super.modModelByDTO(model);
     }
 
-    @Override
-    @Transactional(rollbackFor = Exception.class)
-    public void updateStatus(SbInfoMeasureDTO model) {
-        setSbStatusLogAndStopLogIgnore(model);
-        SbInfoMeasure info = new SbInfoMeasure();
-        info.setId(model.getId());
-        info.setCph(model.getCph());
-        info.setStatus(model.getStatus());
-        mapper.updateByPrimaryKeySelective(info);
-    }
-
-    /**
-     * 如果是未登录的时候,变更了状态,需要记录状态变更表,人员默认都是管理员操作的
-     * 如果是启用,则要更新停机记录表数据
-     *
-     * @param model
-     */
-    private void setSbStatusLogAndStopLogIgnore(SbInfoMeasureDTO model) {
-        SbInfoMeasure old = mapper.selectByPrimaryKey(model.getId());
-        if (old.getStatus() != null && old.getStatus().equals(model.getStatus())) {
-            return;
-        }
-        String userId = model.getSaveUser();
-        String actualUser = model.getActualUser();
-        if (StringUtils.isBlank(actualUser)) {
-            actualUser = sysUserMapper.selectByPrimaryKey(userId).getRealName();
-        }
-        LocalDateTime now = LocalDateTime.now();
-        SbStatusLog log = new SbStatusLog();
-        log.setSbId(model.getId());
-        log.setId(IdGeneratorUtils.getObjectId());
-        log.setChangeReason(model.getChangeReason());
-        log.setActualUser(actualUser);
-        log.setAfterStatus(model.getStatus());
-        log.setPreStatus(old.getStatus());
-        log.setChangeTime(now);
-        log.setChangeUserId(userId);
-        log.setCreatedTime(now);
-        log.setCreatedUserId(userId);
-        log.setUpdateTime(now);
-        log.setUpdateUserId(userId);
-        log.setRemark("");
-        sbStatusLogMapper.insert(log);
-
-        // 新增停机记录
-        if (model.getStatus() != null && model.getStatus().equals(SbInfoStatusEnum.IN_STOP.getValue())) {
-            SbStopLog stopLog = new SbStopLog();
-            stopLog.setStopUserId(actualUser);
-            stopLog.setId(IdGeneratorUtils.getObjectId());
-            stopLog.setSbId(model.getId());
-            stopLog.setStopTime(now);
-            stopLog.setStopReason(model.getChangeReason());
-            stopLog.setCreatedTime(now);
-            stopLog.setCreatedUserId(userId);
-            stopLog.setUpdateTime(now);
-            stopLog.setStatus(0);
-            stopLog.setUpdateUserId(userId);
-            sbStopLogMapper.insert(stopLog);
-        }
-
-        // 更新开机记录,并记录时长
-        if (model.getStatus() != null && model.getStatus().equals(SbInfoStatusEnum.IN_USE.getValue())) {
-            Weekend<SbStopLog> weekend = new Weekend<>(SbStopLog.class);
-            weekend.weekendCriteria().andEqualTo(SbStopLog::getSbId, model.getId()).andEqualTo(SbStopLog::getStatus, 0);
-            SbStopLog stopLog = sbStopLogMapper.selectOneByExample(weekend);
-            // 创建新的记录,直接跳过,不记录了
-            if (stopLog == null) {
-                return;
-            }
-            stopLog.setStartUserId(actualUser);
-            stopLog.setStartTime(now);
-            stopLog.setStartReason(model.getChangeReason());
-            stopLog.setStatus(1);
-            stopLog.setStopDuration(new BigDecimal(DateUtils.getDurationMinutes(stopLog.getStopTime(), stopLog.getStartTime())));
-            stopLog.setUpdateTime(now);
-            stopLog.setUpdateUserId(userId);
-            sbStopLogMapper.updateByPrimaryKey(stopLog);
-        }
-    }
-
     @Override
     public List<SbInfoMeasureVO> selectVOList(SbInfoMeasureDTO model) {
         return mapper.selectVOList(model);

+ 6 - 13
platform-service/src/main/java/com/platform/service/sb/impl/SbMeasureLogServiceImpl.java

@@ -22,9 +22,7 @@ import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.entity.sb.SbInfoMeasure;
 import com.platform.dao.entity.sb.SbMeasureLog;
 import com.platform.dao.entity.upms.SysFile;
-import com.platform.dao.enums.CheckJobStatusEnum;
-import com.platform.dao.enums.CheckPlanPeriodTypeEnum;
-import com.platform.dao.enums.SysFileTypeEnum;
+import com.platform.dao.enums.*;
 import com.platform.dao.mapper.check.CheckJobMapper;
 import com.platform.dao.mapper.check.CheckProjectStandardRelationMapper;
 import com.platform.dao.mapper.check.CheckStandardMapper;
@@ -106,14 +104,11 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
         }else{
             throw new BusinessException("检定设备的检定周期为设置,无法计算下次检定日期,请先设置");
         }
-        if(model.getCardNo() != null){
-            sbInfo.setCardNo(model.getCardNo());
-        }
-        sbInfo.setNextCheckDate(model.getLastDate().minusMonths(-checkPeriod));
+        sbInfo.setNextCheckDate(model.getLastDate().minusMonths(-checkPeriod).minusDays(1));
         sbInfo.setZaiz(model.getName());// 检定单位
         sbInfo.setSbdh(model.getNo());// 检定编号
         sbInfo.setDph(model.getRequirement());// 检定人
-        // 检定单位
+        sbInfo.setStatus(model.getSbStatus());// 每次检定后,状态变更也要更新
         sbInfoMeasureMapper.updateByPrimaryKey(sbInfo);
 
         // 保存文件
@@ -141,13 +136,11 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
         }else{
             throw new BusinessException("检定设备的检定周期为设置,无法计算下次检定日期,请先设置");
         }
-        if(model.getCardNo() != null){
-            sbInfo.setCardNo(model.getCardNo());
-        }
-        sbInfo.setNextCheckDate(model.getLastDate().minusMonths(-checkPeriod));
+        sbInfo.setNextCheckDate(model.getLastDate().minusMonths(-checkPeriod).minusDays(1));
         sbInfo.setZaiz(model.getName());// 检定单位
         sbInfo.setSbdh(model.getNo());// 检定编号
         sbInfo.setDph(model.getRequirement());// 检定人
+        sbInfo.setStatus(model.getSbStatus());// 每次检定后,状态变更也要更新
         sbInfoMeasureMapper.updateByPrimaryKey(sbInfo);
 
         // 保存文件
@@ -203,7 +196,7 @@ public class SbMeasureLogServiceImpl extends BaseServiceImpl<SbMeasureLogMapper,
         checkStandard.setCheckPeriod(sbInfo.getCheckPeriod());
         checkStandard.setCheckDate(sbInfo.getCheckDate());
         checkStandard.setNextCheckDate(sbInfo.getNextCheckDate());
-
+        checkStandard.setSbStatus(sbInfo.getStatus());
         Weekend<SysFile> weekendFile = new Weekend<>(SysFile.class);
         weekendFile.weekendCriteria().andEqualTo(SysFile::getTargetId, checkStandard.getId());
         List<SysFile> sysFiles = sysFileMapper.selectByExample(weekendFile);