diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/RepairTaskStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/RepairTaskStatusEnum.java index cf4d97d1..b18834b5 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/RepairTaskStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/RepairTaskStatusEnum.java @@ -14,6 +14,7 @@ public enum RepairTaskStatusEnum { TASK_STATUS_PROCESSING(0, "维修管理--进行中"), TASK_STATUS_COMPLETE(1, "维修管理--已完成"), TASK_STATUS_REJECT(2, "维修管理--驳回退料"), + TASK_STATUS_AUDIT_REJECT(3, "维修管理--修饰审核驳回"), TASK_STATUS_TO_EXAM(10, "修饰审核--待审核"), TASK_STATUS_REVIEW(11, "修饰审核--审核完成"), TASK_STATUS_NO_REVIEW(12, "修饰审核--审核不通过"), diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java index 951d42f2..8e7d70e4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java @@ -27,6 +27,12 @@ public class RepairTaskDetails extends BaseEntity { @ApiModelProperty(value = "任务ID") private Long taskId; + /** + * 新任务ID + */ + @ApiModelProperty(value = "新任务ID") + private Long newTaskId; + /** * 前任务ID */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index 067b1c0d..db2c5321 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -215,10 +215,10 @@ public interface RepairMapper { /** * 新增维修任务明细 - * @param bean + * @param repairTaskDetail * @return */ - int insertRepaired(RepairDeviceVO bean); + int insertRepaired(RepairTaskDetails repairTaskDetail); /** * 查询维修任务明细 @@ -233,4 +233,11 @@ public interface RepairMapper { * @return */ List getRepairDetailsById(RepairTaskDetails details); + + /** + * 修改维修任务明细 + * @param details + * @return + */ + int updateStatus(RepairTaskDetails details); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java index e90875cb..4689d8a2 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java @@ -16,6 +16,7 @@ import com.bonus.material.repair.domain.vo.ScrapAudit; import com.bonus.material.repair.mapper.RepairApplyDetailsMapper; import com.bonus.material.repair.mapper.RepairAuditDetailsMapper; import com.bonus.material.repair.mapper.RepairInputDetailsMapper; +import com.bonus.material.repair.mapper.RepairMapper; import com.bonus.material.repair.service.IRepairAuditDetailsService; import com.bonus.material.scrap.domain.ScrapApplyDetails; import com.bonus.material.scrap.mapper.ScrapApplyDetailsMapper; @@ -70,6 +71,9 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService @Resource private TmTaskAgreementMapper taskAgreementMapper; + @Resource + private RepairMapper repairMapper; + @Override public List getPartRecord(RepairAuditDetails repairAuditDetails) { RepairAuditDetails bean = repairAuditDetailsMapper.getRepairId(repairAuditDetails); @@ -489,6 +493,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService * @return 结果 */ @Override + @Transactional(rollbackFor = Exception.class) public int outerAudit(@NotNull List repairAuditDetails) { final List taskIds = repairAuditDetails.stream() .filter(Objects::nonNull) @@ -506,59 +511,120 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService // 1:通过 2:驳回 0:未处理 final String status = repairAuditDetails.get(0).getStatus(); - if ("1".equals(status)) { - for (final RepairAuditDetails repairAuditDetail : repairAuditDetails) { - // 删除repair_input_details 维修入库明细? - repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId()); - // 查询协议ID - Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId()); - // 查询维修审核明细 - final List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); - // 批量插入维修入库明细 - List scrapApplyDetails = new ArrayList<>(); - batchInsertRepairInputDetails(scrapApplyDetails, repairAuditDetailList, agreementId); - // 更新任务状态 - taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus()); - } - } else if ("2".equals(status)) { - for (RepairAuditDetails auditDetails : repairAuditDetails) { - // 处理 -- 修饰审核任务状态 - taskMapper.updateTaskStatus(String.valueOf(auditDetails.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus()); - // 处理 -- 原维修任务单的状态(提交修饰审核前拆分的任务) - TmTask preTmTaskInfo = taskMapper.selectTmTaskByTaskId(auditDetails.getTaskId()); - if (Objects.nonNull(preTmTaskInfo) && Objects.nonNull(preTmTaskInfo.getPreTaskId())) { - taskMapper.updateTaskStatus(String.valueOf(preTmTaskInfo.getPreTaskId()), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus()); + try { + if ("1".equals(status)) { + for (final RepairAuditDetails repairAuditDetail : repairAuditDetails) { + // 删除repair_input_details 维修入库明细? + repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId()); + // 查询协议ID + Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId()); + // 查询维修审核明细 + final List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); + // 批量插入维修入库明细 + List scrapApplyDetails = new ArrayList<>(); + batchInsertRepairInputDetails(scrapApplyDetails, repairAuditDetailList, agreementId); + // 更新任务状态 + taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus()); } - // 根据taskId查询维修审核明细 - final List repairAuditDetailsByTaskId = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskId(auditDetails.getTaskId()); - if (!CollectionUtils.isEmpty(repairAuditDetailsByTaskId)) { - for (RepairAuditDetails repairAuditDetail : repairAuditDetailsByTaskId) { - if ("1".equals(repairAuditDetail.getStatus()) || "2".equals(repairAuditDetail.getStatus())) { - continue; + } else if ("2".equals(status)) { + for (RepairAuditDetails auditDetails : repairAuditDetails) { + RepairTask task = new RepairTask(); + task.setTaskId(auditDetails.getTaskId()); + Long agreementId = repairMapper.getAgreementId(task); + // 插入任务表 + Long newTaskId = insertWxTt(SecurityUtils.getUsername()); + // 插入协议任务表 + insertTta(newTaskId, agreementId); + // 处理 -- 修饰审核任务状态 + taskMapper.updateTaskStatus(String.valueOf(auditDetails.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus()); + // 处理 -- 原维修任务单的状态(提交修饰审核前拆分的任务) + TmTask preTmTaskInfo = taskMapper.selectTmTaskByTaskId(auditDetails.getTaskId()); + List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(preTmTaskInfo.getPreTaskId()); + Long backId = null; + if (!CollectionUtils.isEmpty(detailsList)) { + backId = detailsList.get(0).getBackId(); + } + /*if (Objects.nonNull(preTmTaskInfo) && Objects.nonNull(preTmTaskInfo.getPreTaskId())) { + taskMapper.updateTaskStatus(String.valueOf(preTmTaskInfo.getPreTaskId()), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus()); + }*/ + // 根据taskId查询维修审核明细 + final List repairAuditDetailsByTaskId = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskId(auditDetails.getTaskId()); + if (!CollectionUtils.isEmpty(repairAuditDetailsByTaskId)) { + for (RepairAuditDetails repairAuditDetail : repairAuditDetailsByTaskId) { + /*if ("1".equals(repairAuditDetail.getStatus()) || "2".equals(repairAuditDetail.getStatus())) { + continue; + } + // 根据查询详情获取的维修ID,更新scrap_apply_details维修数量 + repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( + ObjectUtils.defaultIfNull(repairAuditDetail.getRepairedNum(),0).longValue(), + ObjectUtils.defaultIfNull(repairAuditDetail.getScrapNum(),0).longValue(), repairAuditDetail.getRepairId()); + repairApplyDetailsMapper.updateStatus(repairAuditDetail.getRepairId(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus());*/ + RepairTaskDetails repairTaskDetails = new RepairTaskDetails(); + repairTaskDetails.setNewTaskId(newTaskId); + repairTaskDetails.setMaId(repairAuditDetail.getMaId() == null ? null : repairAuditDetail.getMaId().toString()); + repairTaskDetails.setTypeId(repairAuditDetail.getTypeId().toString()); + repairTaskDetails.setRepairNum(repairAuditDetail.getRepairNum()); + repairTaskDetails.setCreateBy(SecurityUtils.getUsername()); + repairTaskDetails.setBackId(backId == null ? null : backId); + repairMapper.insertRepaired(repairTaskDetails); } - // 根据查询详情获取的维修ID,更新scrap_apply_details维修数量 - repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( - ObjectUtils.defaultIfNull(repairAuditDetail.getRepairedNum(),0).longValue(), - ObjectUtils.defaultIfNull(repairAuditDetail.getScrapNum(),0).longValue(), repairAuditDetail.getRepairId()); - repairApplyDetailsMapper.updateStatus(repairAuditDetail.getRepairId(), RepairTaskStatusEnum.TASK_STATUS_PROCESSING.getStatus()); } } } - } - try { - final List ids = repairAuditDetailsByQuery.stream() - .filter(Objects::nonNull) - .map(RepairAuditDetails::getId) - .filter(Objects::nonNull) - .collect(Collectors.toList()); - Long auditBy = SecurityUtils.getUserId(); - return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy); - } catch (final Exception e) { - throw new ServiceException("错误信息描述"); + try { + final List ids = repairAuditDetailsByQuery.stream() + .filter(Objects::nonNull) + .map(RepairAuditDetails::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + Long auditBy = SecurityUtils.getUserId(); + return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy); + } catch (final Exception e) { + throw new ServiceException("错误信息描述"); + } + } catch (ServiceException e) { + log.error("修改维修审核状态失败", e); + throw new ServiceException("修饰审核失败,请联系管理员"); } } + /** + * 新增维修任务 + * @param createBy + * @return + */ + private Long insertWxTt(String createBy) { + Long newTask = null; + int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()); + // 生成维修单号 + String code = genderNewWxTaskCode(thisMonthMaxOrder); + TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId(), RepairTaskStatusEnum.TASK_STATUS_AUDIT_REJECT.getStatus(), + null,thisMonthMaxOrder + 1, code); + tmTask.setCreateTime(DateUtils.getNowDate()); + tmTask.setCreateBy(createBy); + // 插入任务 + int taskId = taskMapper.insertTmTask(tmTask); + // 如果插入成功且返回的 taskId 大于 0 + if (taskId > 0 && tmTask.getTaskId() > 0) { + newTask = tmTask.getTaskId(); + } + return newTask; + } + + /** + * 生成维修单号 + * @param thisMonthMaxOrder + * @return + */ + private String genderNewWxTaskCode(int thisMonthMaxOrder) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date nowDate = DateUtils.getNowDate(); + String format = dateFormat.format(nowDate); + String result = format.replace("-", ""); + return MaterialConstants.REPAIR_TASK_TYPE_LABEL + result + String.format("-%03d", thisMonthMaxOrder + 1); + } + /** * 批量修改修试审核详细 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 886e9339..8d6ad4a8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -28,6 +28,7 @@ import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.model.LoginUser; +import lombok.extern.slf4j.Slf4j; import org.hibernate.validator.internal.util.StringHelper; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; @@ -49,6 +50,7 @@ import java.util.stream.Collectors; */ @Service("RepairService") @Validated +@Slf4j public class RepairServiceImpl implements RepairService { @Resource @@ -921,58 +923,130 @@ public class RepairServiceImpl implements RepairService { public AjaxResult endRepairTask(@NotNull List taskList) { LoginUser loginUser = SecurityUtils.getLoginUser(); - // 1.查询选择任务是否还有未完成维修的数据 - for (RepairTask task : taskList) { - if (0 == repairMapper.getUnFinish(task)) { - repairMapper.updateSingleTaskStatus(task, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus()); - } else { - throw new ServiceException("任务" + task.getTaskId() + "还有未完成维修的数据,请先完成维修"); - } - } - - // 3.业务逻辑处理 - for (RepairTask task : taskList) { - // 查询维修任务的详情表 - Long oldWxTaskId = task.getTaskId(); - List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId); - BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add); - if (!CollectionUtils.isEmpty(detailsList) && 0 < (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.ZERO)) { - task.setCreateBy(loginUser.getUserid()); - Long agreementId = repairMapper.getAgreementId(task); - // 新增tm_task表数据、修饰审核任务、状态是待审核 - task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); - task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); - int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); - // 生成维修单号 - String code = genderWsTaskCode(thisMonthMaxOrder); - task.setRepairCode(code); - task.setMonthOrder(thisMonthMaxOrder + 1); - // 插入之前的维修任务id标记前置任务 - task.setPreTaskId(task.getTaskId()); - // 注意:此处将会生成新的 taskId (审核入库用的) - repairMapper.addTask(task); - // 新增协议任务表tm_task_agreement--关联修饰任务与协议 - task.setAgreementId(agreementId); - repairMapper.createAgreementTask(task); - - // 新增审计记录 - for (RepairTaskDetails details : detailsList) { - RepairApplyDetails repairApplyDetails = createRepairDetailsCope(details); - repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails); - details.setCreateBy(String.valueOf(loginUser.getUserid())); - details.setTaskId(task.getTaskId()); - details.setRepairNum(details.getRepairNum()); - details.setRepairedNum(details.getRepairedNum()); - details.setScrapNum(details.getScrapNum()); - // 先根据id查询审核表中是否存在数据,存在则不用重复插入 - if (CollectionUtils.isEmpty(repairMapper.getAuditDetailsById(details))) { - repairMapper.addAuditDetails(details); + try { + // 1.查询选择任务是否还有未完成维修的数据 + for (RepairTask task : taskList) { + // 查询选择的任务中是否存在未维修的单子,进行不能提交审核提醒 + List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(task.getTaskId()); + if (!CollectionUtils.isEmpty(detailsList)) { + BigDecimal repairedNum = BigDecimal.ZERO; + BigDecimal scrapNum = BigDecimal.ZERO; + String taskCode = ""; + for (RepairTaskDetails repairTaskDetails : detailsList) { + repairedNum = repairedNum.add(repairTaskDetails.getRepairedNum()); + scrapNum = scrapNum.add(repairTaskDetails.getScrapNum()); + taskCode = repairTaskDetails.getTaskCode(); + } + if (repairedNum.add(scrapNum).compareTo(BigDecimal.ZERO) == 0) { + return AjaxResult.error("维修单号" + taskCode + "还未进行维修,请先维修后再提交审核!"); } } } + + // 3.业务逻辑处理 + for (RepairTask task : taskList) { + Long agreementId = null; + // 查询维修任务的详情表 + Long oldWxTaskId = task.getTaskId(); + List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId); + repairMapper.updateSingleTaskStatus(task, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus()); + // 维修拆分标志 + boolean isWxFlag = false; + // 维修拆分数据集合 + List repairTaskDetails = new ArrayList<>(); + if (!CollectionUtils.isEmpty(detailsList)) { + task.setCreateBy(loginUser.getUserid()); + agreementId = repairMapper.getAgreementId(task); + // 新增tm_task表数据、修饰审核任务、状态是待审核 + task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); + task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); + int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); + // 生成维修单号 + String code = genderWsTaskCode(thisMonthMaxOrder); + task.setRepairCode(code); + task.setMonthOrder(thisMonthMaxOrder + 1); + // 插入之前的维修任务id标记前置任务 + task.setPreTaskId(task.getTaskId()); + // 注意:此处将会生成新的 taskId (审核入库用的) + repairMapper.addTask(task); + // 新增协议任务表tm_task_agreement--关联修饰任务与协议 + task.setAgreementId(agreementId); + repairMapper.createAgreementTask(task); + // 新增审计记录 + for (RepairTaskDetails details : detailsList) { + if (StringUtils.isNotBlank(details.getMaId())) { + if ("0".equals(details.getStatus())) { + isWxFlag = true; + details.setLevel((StringUtils.isNotBlank(details.getLevel())) ? String.valueOf(Integer.parseInt(details.getLevel()) + 1) : "1"); + details.setParentId(details.getId()); + repairTaskDetails.add(details); + continue; + } + } else { + BigDecimal repairNum = details.getRepairNum(); + BigDecimal repairedNum = details.getRepairedNum(); + BigDecimal scrapNum = details.getScrapNum(); + if (repairedNum.add(scrapNum).compareTo(repairNum) < 0) { + isWxFlag = true; + RepairTaskDetails taskDetails = new RepairTaskDetails(); + taskDetails.setRepairNum(repairNum.subtract(repairedNum).subtract(scrapNum)); + taskDetails.setTypeId(details.getTypeId()); + taskDetails.setLevel((StringUtils.isNotBlank(details.getLevel())) ? String.valueOf(Integer.parseInt(details.getLevel()) + 1) : "1"); + taskDetails.setParentId(details.getId()); + taskDetails.setBackId(details.getBackId()); + repairTaskDetails.add(taskDetails); + } + } + details.setCreateBy(String.valueOf(loginUser.getUserid())); + details.setTaskId(task.getTaskId()); + details.setRepairNum(details.getRepairedNum() + .add(details.getScrapNum())); + // 将待修状态改为已维修 + int result = repairMapper.updateStatus(details); + if (result <= 0) { + throw new ServiceException("待修状态修改失败"); + } + // 先根据id查询审核表中是否存在数据,存在则不用重复插入 + if (CollectionUtils.isEmpty(repairMapper.getAuditDetailsById(details))) { + // 如果合格数和报废数都为0,则未进行维修,不插入审核表 + if (details.getRepairedNum().compareTo(BigDecimal.ZERO) == 0 && + details.getScrapNum().compareTo(BigDecimal.ZERO) == 0) { + continue; + } + result = repairMapper.addAuditDetails(details); + if (result <= 0) { + throw new ServiceException("审核任务插入失败"); + } + } + } + } + // 进行维修拆分 + if (isWxFlag) { + // 插入任务表 + Long newTaskId = insertTt(SecurityUtils.getUsername()); + // 插入协议任务表 + int res = insertTta(newTaskId, agreementId); + if (res <= 0) { + throw new ServiceException("协议任务表插入失败"); + } + if (!CollectionUtils.isEmpty(repairTaskDetails)) { + for (RepairTaskDetails repairTaskDetail : repairTaskDetails) { + repairTaskDetail.setTaskId(newTaskId); + repairTaskDetail.setCreateBy(SecurityUtils.getUsername()); + repairTaskDetail.setStatus("0"); + repairTaskDetail.setNewTaskId(newTaskId); + repairMapper.insertRepaired(repairTaskDetail); + } + } else { + throw new ServiceException("维修拆分数据组装错误"); + } + } + } + return AjaxResult.success("提交审核成功"); + } catch (ServiceException e) { + log.error("执行异常", e); + return AjaxResult.error("数据处理异常,请联系管理员"); } - return AjaxResult.success("执行完毕"); } /** diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml index 6d38b2ca..a73bd8d3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml @@ -141,7 +141,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" tt.code as taskCode, rad.back_id as backId, rad.status as status, - rad.level as level + rad.level as level, + tt.code as taskCode from repair_apply_details rad left join tm_task tt on rad.task_id = tt.task_id where rad.task_id = #{taskId} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml index 0fc6a7db..39a088d9 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -254,7 +254,8 @@ bui.unit_name AS backUnit, bpi.pro_name AS backPro, bai.CODE AS backCode, - GROUP_CONCAT(DISTINCT mt2.type_name) as type + GROUP_CONCAT(DISTINCT mt2.type_name) as type, + rd.level as level FROM repair_apply_details rd LEFT JOIN ma_type mt on rd.type_id = mt.type_id @@ -637,23 +638,18 @@