This commit is contained in:
mashuai 2025-02-21 03:47:55 +08:00
parent 1bea1f7f8b
commit 20159734dd
1 changed files with 1 additions and 51 deletions

View File

@ -1104,57 +1104,7 @@ public class RepairServiceImpl implements RepairService {
@Override
@Transactional(rollbackFor = Exception.class)
public int batchQualified(ArrayList<Long> ids) {
int result = 0;
try {
// 根据id查询任务状态
RepairAuditDetails dto = repairApplyDetailsMapper.selectById(ids.get(0));
List<RepairTaskDetails> detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(dto.getTaskId());
if (!CollectionUtils.isEmpty(detailsList)) {
Set<Long> idsSet = new HashSet<>(ids);
// 如果detailsList中的status除了ids中的数据其余皆为已完成则不需要创建新的维修单
boolean hasStatus = false;
for (RepairTaskDetails details : detailsList) {
if (!idsSet.contains(details.getId()) && "0".equals(details.getStatus())) {
hasStatus = true;
break;
}
}
if (hasStatus) {
// 查询协议ID
Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(dto.getTaskId());
// 插入任务表
Long newTaskId = insertTt(SecurityUtils.getUsername());
// 插入协议任务表
int res = insertTta(newTaskId, agreementId);
if (res <= 0) {
throw new ServiceException("协议任务表插入失败");
}
List<RepairTaskDetails> list = repairApplyDetailsMapper.getList(ids);
for (RepairTaskDetails details : list) {
RepairDeviceVO bean = new RepairDeviceVO();
bean.setTaskId(newTaskId);
bean.setMaId(details.getMaId() == null ? null :Long.valueOf(details.getMaId()));
bean.setTypeId(Long.valueOf(details.getTypeId()));
bean.setRepairNum(details.getRepairNum().subtract(details.getRepairedNum() == null ? BigDecimal.ZERO : details.getRepairedNum()));
bean.setRepairedNum(details.getRepairNum().subtract(details.getRepairedNum() == null ? BigDecimal.ZERO : details.getRepairedNum()));
bean.setStatus("1");
bean.setCreateBy(SecurityUtils.getUsername());
bean.setBackId(details.getBackId());
bean.setParentId(details.getId());
bean.setLevel((StringUtils.isNotBlank(details.getLevel())) ? String.valueOf(Integer.parseInt(details.getLevel()) + 1) : "1");
if ("0".equals(details.getStatus())) {
repairMapper.insertRepaired(bean);
}
}
}
}
result += repairMapper.batchQualified(ids, SecurityUtils.getLoginUser().getUserid());
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
return result;
return repairMapper.batchQualified(ids, SecurityUtils.getLoginUser().getUserid());
}
@Override