|
@@ -180,11 +180,13 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void updateBatch(List<SbInfoVO> list) {
|
|
|
mapper.updateBatch(list);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void updateBatchValue(List<SbInfo> list) {
|
|
|
mapper.updateBatchValue(list);
|
|
|
}
|
|
@@ -497,6 +499,45 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void modModelByDTOIgnore(SbInfoDTO model) {
|
|
|
+ /* SbModelVO sbModelVO = sbModelMapper.getById(model.getModelId());
|
|
|
+ if (sbModelVO == null) {
|
|
|
+ throw new BusinessException("找不到型号,modelID: " + model.getModelId());
|
|
|
+ }
|
|
|
+ model.setUnit(sbModelVO.getUnit());
|
|
|
+ model.setTypeId(sbModelVO.getTypeId());
|
|
|
+ model.setLevel(sbModelVO.getLevel());
|
|
|
+ model.setProducerId(sbModelVO.getProducerId());
|
|
|
+ model.setName(sbModelVO.getName());
|
|
|
+ model.setModel(sbModelVO.getModel());
|
|
|
+ model.setNameModel(sbModelVO.getNameModel());*/
|
|
|
+ if(model.getIsFinancing() == null){
|
|
|
+ model.setIsFinancing(SbInfoFinancingEnum.NOT.getValue());
|
|
|
+ }
|
|
|
+ if (model.getIsChild()==null) {
|
|
|
+ model.setIsChild(SbInfoChildEnum.IS_NORMAL.getValue());
|
|
|
+ }
|
|
|
+ if (model.getIsShow()==null) {
|
|
|
+ model.setIsChild(SbInfoShowEnum.NOT_SHOW.getValue());
|
|
|
+ }
|
|
|
+ if (model.getIsFinancing()==null) {
|
|
|
+ model.setIsFinancing(SbInfoFinancingEnum.NOT.getValue());
|
|
|
+ }
|
|
|
+ this.saveFile(model);
|
|
|
+ setSaveDept(model);
|
|
|
+ setSbStatusLogAndStopLogIgnore(model);
|
|
|
+ super.modModelByDTO(model);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public void updateStatus(SbInfoDTO model) {
|
|
|
+ setSbStatusLogAndStopLogIgnore(model);
|
|
|
+ super.modModelByDTO(model);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void modImagesByDTO(SbInfoDTO model) {
|
|
|
this.saveImageFile(model);
|
|
@@ -514,11 +555,16 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
return;
|
|
|
}
|
|
|
UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
+ String actualUser = model.getActualUser();
|
|
|
+ if(StringUtils.isBlank(actualUser)){
|
|
|
+ actualUser = sysUserMapper.selectByPrimaryKey(userInfo.getUserId()).getRealName();
|
|
|
+ }
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
SbStatusLog log = new SbStatusLog();
|
|
|
log.setSbId(model.getId());
|
|
|
+ log.setActualUser(actualUser);
|
|
|
log.setId(IdGeneratorUtils.getObjectId());
|
|
|
- log.setChangeReason("");
|
|
|
+ log.setChangeReason(model.getChangeReason());
|
|
|
log.setAfterStatus(model.getStatus());
|
|
|
log.setPreStatus(old.getStatus());
|
|
|
log.setChangeTime(now);
|
|
@@ -536,8 +582,8 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
stopLog.setId(IdGeneratorUtils.getObjectId());
|
|
|
stopLog.setSbId(model.getId());
|
|
|
stopLog.setStopTime(now);
|
|
|
- stopLog.setStopUserId(userInfo.getUserId());
|
|
|
- stopLog.setStopReason("");
|
|
|
+ stopLog.setStopUserId(actualUser);
|
|
|
+ stopLog.setStopReason(model.getChangeReason());
|
|
|
stopLog.setCreatedTime(now);
|
|
|
stopLog.setCreatedUserId(userInfo.getUserId());
|
|
|
stopLog.setUpdateTime(now);
|
|
@@ -555,8 +601,9 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
if(stopLog == null){
|
|
|
return;
|
|
|
}
|
|
|
- stopLog.setStartUserId(userInfo.getUserId());
|
|
|
+ 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);
|
|
@@ -565,6 +612,75 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 如果是未登录的时候,变更了状态,需要记录状态变更表,人员默认都是管理员操作的
|
|
|
+ * 如果是启用,则要更新停机记录表数据
|
|
|
+ *
|
|
|
+ * @param model
|
|
|
+ */
|
|
|
+ private void setSbStatusLogAndStopLogIgnore(SbInfoDTO model) {
|
|
|
+ SbInfo 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 设置当前归属部门
|
|
|
*
|
|
@@ -1615,6 +1731,7 @@ public class SbInfoServiceImpl extends BaseServiceImpl<SbInfoMapper, SbInfo, SbI
|
|
|
this.modModelByDTO(sbInfoDTO);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void submitScrapAudit(SbInfoDTO sbInfoDTO) {
|