|
@@ -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);
|