|
@@ -1013,13 +1013,9 @@ public class RepairApplicationFormServiceImpl
|
|
|
public void finish(RepairApplicationFormDTO dto) {
|
|
public void finish(RepairApplicationFormDTO dto) {
|
|
|
RepairTimeRecord query = new RepairTimeRecord();
|
|
RepairTimeRecord query = new RepairTimeRecord();
|
|
|
query.setRepairId(dto.getId());
|
|
query.setRepairId(dto.getId());
|
|
|
- query.setCompleteFlag(Boolean.FALSE);
|
|
|
|
|
List<RepairTimeRecord> recordList = repairTimeRecordMapper.select(query);
|
|
List<RepairTimeRecord> recordList = repairTimeRecordMapper.select(query);
|
|
|
if(CollectionUtils.isEmpty(recordList)){
|
|
if(CollectionUtils.isEmpty(recordList)){
|
|
|
- throw new DeniedException("该维修单没有开始维修记录,无法完成维修");
|
|
|
|
|
- }
|
|
|
|
|
- if (recordList.size() > 1){
|
|
|
|
|
- throw new DeniedException("该维修单多笔点了【开始/继续】的记录,操作异常,请联系开发人员");
|
|
|
|
|
|
|
+ throw new DeniedException("该维修单尚未开始维修,无法完成维修");
|
|
|
}
|
|
}
|
|
|
// 1. 将维修单的状态修改已完成
|
|
// 1. 将维修单的状态修改已完成
|
|
|
RepairApplicationForm applicationForm = mapper.selectById(dto.getId());
|
|
RepairApplicationForm applicationForm = mapper.selectById(dto.getId());
|
|
@@ -1038,21 +1034,25 @@ public class RepairApplicationFormServiceImpl
|
|
|
if (dto.getRepairEndTime() != null) {
|
|
if (dto.getRepairEndTime() != null) {
|
|
|
applicationForm.setRepairEndTime(dto.getRepairEndTime());
|
|
applicationForm.setRepairEndTime(dto.getRepairEndTime());
|
|
|
}
|
|
}
|
|
|
- // 补充记录
|
|
|
|
|
- RepairTimeRecord record = recordList.get(0);
|
|
|
|
|
- record.setUpdateTime(applicationForm.getRepairEndTime());
|
|
|
|
|
- record.setCompleteFlag(Boolean.TRUE);
|
|
|
|
|
- record.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
|
|
- record.setUpdateUserName(SecurityUtils.getUserInfo().getRealName());
|
|
|
|
|
- double repairHour = DateUtils.getDurationHours(record.getCreatedTime(), record.getUpdateTime());
|
|
|
|
|
- record.setRepairHour(BigDecimalUtil.valueOf(repairHour));
|
|
|
|
|
- record.setEndRecordFlag(Boolean.TRUE);
|
|
|
|
|
- repairTimeRecordMapper.updateByPrimaryKeySelective(record);
|
|
|
|
|
- // 修正实际维修时长
|
|
|
|
|
- double historyRepairHour = applicationForm.getRepairMinutes() == null ? 0.0 : applicationForm.getRepairMinutes();
|
|
|
|
|
- historyRepairHour = historyRepairHour + repairHour;
|
|
|
|
|
- applicationForm.setRepairMinutes(historyRepairHour);
|
|
|
|
|
applicationForm.setAssistantStatus(RepairAssistantStatusEnum.end.getValue());
|
|
applicationForm.setAssistantStatus(RepairAssistantStatusEnum.end.getValue());
|
|
|
|
|
+ query.setCompleteFlag(Boolean.FALSE);
|
|
|
|
|
+ recordList = repairTimeRecordMapper.select(query);
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(recordList)){ // 用户自己点过暂停维修,记录是齐全的
|
|
|
|
|
+ // 补充记录
|
|
|
|
|
+ RepairTimeRecord record = recordList.get(0);
|
|
|
|
|
+ record.setUpdateTime(applicationForm.getRepairEndTime());
|
|
|
|
|
+ record.setCompleteFlag(Boolean.TRUE);
|
|
|
|
|
+ record.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
|
|
|
|
|
+ record.setUpdateUserName(SecurityUtils.getUserInfo().getRealName());
|
|
|
|
|
+ double repairHour = DateUtils.getDurationHours(record.getCreatedTime(), record.getUpdateTime());
|
|
|
|
|
+ record.setRepairHour(BigDecimalUtil.valueOf(repairHour));
|
|
|
|
|
+ record.setEndRecordFlag(Boolean.TRUE);
|
|
|
|
|
+ repairTimeRecordMapper.updateByPrimaryKeySelective(record);
|
|
|
|
|
+ // 修正实际维修时长
|
|
|
|
|
+ double historyRepairHour = applicationForm.getRepairMinutes() == null ? 0.0 : applicationForm.getRepairMinutes();
|
|
|
|
|
+ historyRepairHour = historyRepairHour + repairHour;
|
|
|
|
|
+ applicationForm.setRepairMinutes(historyRepairHour);
|
|
|
|
|
+ }
|
|
|
if(applicationForm.getRepairMinutes() == null){
|
|
if(applicationForm.getRepairMinutes() == null){
|
|
|
// 老单据继续走之前的逻辑
|
|
// 老单据继续走之前的逻辑
|
|
|
applicationForm.setRepairMinutes(
|
|
applicationForm.setRepairMinutes(
|