diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/BackTaskStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/BackTaskStatusEnum.java index 00b463a4..a4dbdf7a 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/BackTaskStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/BackTaskStatusEnum.java @@ -12,7 +12,7 @@ public enum BackTaskStatusEnum { BACK_TASK_NO_FINISHED(0, "退料未完成"), BACK_TASK_TO_REJECT(1, "维修驳回"), - BACK_TASK_IN_FINISHED(3, "退料已完成"); + BACK_TASK_IN_FINISHED(2, "退料已完成"); private final Integer status; private final String statusName; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java index 672b85a9..58e53773 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/controller/BackApplyInfoController.java @@ -174,4 +174,16 @@ public class BackApplyInfoController extends BaseController { public AjaxResult remove(@PathVariable Long id) { return backApplyInfoService.deleteBackApplyInfoById(id); } + + /** + * app内层删除退料任务 + */ + @ApiOperation(value = "app内层删除退料任务") + @PreventRepeatSubmit + @RequiresPermissions("back:info:remove") + @SysLog(title = "退料任务", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除退料任务") + @PostMapping("/delete") + public AjaxResult delete(@RequestBody BackApplyInfo backApplyInfo) { + return backApplyInfoService.delete(backApplyInfo); + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java index d19cbb18..44fe921b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/BackApplyInfo.java @@ -55,6 +55,11 @@ public class BackApplyInfo { @ApiModelProperty(value = "类型id") private String typeId; + @ApiModelProperty(value = "物资类型") + private String materialType; + + private String materialName; + @ApiModelProperty(value = "类型名称") @Excel(name = "物资类型") private String typeName; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/vo/BackApplyRequestVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/vo/BackApplyRequestVo.java index 7aca1fcc..f4d995d4 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/vo/BackApplyRequestVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/domain/vo/BackApplyRequestVo.java @@ -15,8 +15,6 @@ import java.util.List; @Data public class BackApplyRequestVo { - private Long id; - /** * 退料申请信息 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index ccac5e25..3996f451 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -211,4 +211,18 @@ public interface BackApplyInfoMapper { * @return */ int updateBackApplyDetails(BackApplyDetails applyDetail); + + /** + * 删除详情 + * @param backApplyInfo + * @return + */ + int deleteApplyDetails(BackApplyInfo backApplyInfo); + + /** + * 删除详情 + * @param backApplyInfo + * @return + */ + int deleteDetails(BackApplyInfo backApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java index fbe37ccb..4d95fd5c 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/IBackApplyInfoService.java @@ -80,4 +80,11 @@ public interface IBackApplyInfoService { * @return */ AjaxResult insertApp(BackApplyRequestVo dto); + + /** + * app内层删除退料任务 + * @param backApplyInfo + * @return + */ + AjaxResult delete(BackApplyInfo backApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index bd87b8da..efef9664 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -246,7 +246,6 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { tmTask.setCreateTime(DateUtils.getNowDate()); tmTask.setCreateBy(SecurityUtils.getUsername()); BackApplyInfo backApplyInfo = dto.getBackApplyInfo(); - backApplyInfo.setTaskId(tmTask.getTaskId()); backApplyInfo.setCode(code); backApplyInfo.setCreateBy(SecurityUtils.getUsername()); backApplyInfo.setCreateTime(DateUtils.getNowDate()); @@ -257,6 +256,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { tmTaskAgreement.setCreateTime(DateUtils.getNowDate()); tmTaskAgreement.setCreateBy(SecurityUtils.getUsername()); taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement); + backApplyInfo.setTaskId(tmTask.getTaskId()); result += backApplyInfoMapper.insertBackApplyInfo(backApplyInfo); } // 保存退料详情 @@ -328,6 +328,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { // 设置每个 MaCodeDto 的独立属性 details.setMaId(maCodeDto.getMaId()); details.setPreNum(1); + details.setApDetection(maCodeDto.getApDetection()); // 插入 CheckDetails result += backApplyInfoMapper.insertCheckDetails(details); if (CollectionUtils.isNotEmpty(maCodeDto.getBmFileInfos())) { @@ -395,7 +396,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { */ @Override public AjaxResult updateBackApplyInfo(BackApplyRequestVo dto) { - if (dto == null || dto.getBackApplyInfo() == null || CollectionUtils.isEmpty(dto.getBackApplyDetailsList())) { + if (dto == null || dto.getBackApplyInfo() == null || dto.getBackApplyInfo().getId() == null || CollectionUtils.isEmpty(dto.getBackApplyDetailsList())) { return AjaxResult.error("参数为空,请重新选择后上传!"); } //对提交的退料详情树木进行校验 @@ -413,48 +414,26 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { return AjaxResult.error("手机号格式不正确,请重新填写!"); } // 查询信息 - Long id = dto.getId(); - BackApplyInfo backApplyInfo = backApplyInfoMapper.selectBackApplyInfoById(id); + Long id = dto.getBackApplyInfo().getId(); List backApplyDetailsList = backApplyInfoMapper.selectBackApplyDetailsListByTaskId(id); List maCodeList = backApplyInfoMapper.selectByCode(id); // 删除相关任务信息 int result = 0; - result += taskMapper.deleteTmTaskByTaskId(backApplyInfo.getTaskId()); - result += taskAgreementMapper.deleteTmTaskAgreementByTaskId(backApplyInfo.getTaskId()); - result += backApplyInfoMapper.deleteBackApplyDetails(backApplyInfo.getId()); - result += backApplyInfoMapper.deleteCheckDetails(backApplyInfo.getId()); + result += backApplyInfoMapper.deleteBackApplyDetails(id); + result += backApplyInfoMapper.deleteCheckDetails(id); // 删除退料详情附件 result += deleteFileInfoForDetails(backApplyDetailsList, id); // 删除编码设备附件 result += deleteFileInfoForMaCodes(maCodeList, id); - if (result > 0) { //执行新增操作 - backApplyInfo.setTaskType(TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId()); - backApplyInfo.setTaskStatus(BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus()); - backApplyInfo.setId(id); - backApplyInfo.setUpdateTime(DateUtils.getNowDate()); - backApplyInfo.setUpdateBy(SecurityUtils.getUsername()); - backApplyInfo.setBackPerson(dto.getBackApplyInfo().getBackPerson()); - backApplyInfo.setPhone(dto.getBackApplyInfo().getPhone()); - backApplyInfo.setRemark(dto.getBackApplyInfo().getRemark() == null ? backApplyInfo.getRemark() : dto.getBackApplyInfo().getRemark()); - int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId()); - TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId(), BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus(), - null,thisMonthMaxOrder + 1, backApplyInfo.getCode()); - tmTask.setCreateTime(DateUtils.getNowDate()); - tmTask.setCreateBy(SecurityUtils.getUsername()); - // 保存退料信息到 tm_task 表中 - result += taskMapper.insertTmTask(tmTask); - backApplyInfo.setTaskId(tmTask.getTaskId()); - if (result > 0) { - TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), dto.getBackApplyInfo().getAgreementId()); - tmTaskAgreement.setCreateTime(DateUtils.getNowDate()); - tmTaskAgreement.setCreateBy(SecurityUtils.getUsername()); - taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement); - result += backApplyInfoMapper.updateBackApplyInfo(backApplyInfo); - } + BackApplyInfo info = dto.getBackApplyInfo(); + info.setId(id); + info.setUpdateTime(DateUtils.getNowDate()); + info.setUpdateBy(SecurityUtils.getUsername()); + result += backApplyInfoMapper.updateBackApplyInfo(info); // 保存退料详情 - result = saveBackApplyDetails(dto, backApplyInfo, result); + result = saveBackApplyDetails(dto, info, result); return AjaxResult.success(result); } } catch (Exception e) { @@ -587,7 +566,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { // 设置更新信息 backApplyInfo.setUpdateBy(SecurityUtils.getUsername()); backApplyInfo.setUpdateTime(DateUtils.getNowDate()); - backApplyInfo.setTaskStatus(2); + backApplyInfo.setTaskStatus(BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus()); // 更新任务表及退料申请表状态 result += updateTaskAndBackInfo(backApplyInfo); if (result > 0 && CollectionUtils.isNotEmpty(applyInfoList)) { @@ -646,7 +625,85 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { */ @Override public AjaxResult insertApp(BackApplyRequestVo dto) { - return null; + int result = 0; + if (dto != null && dto.getBackApplyInfo() != null && CollectionUtils.isEmpty(dto.getBackApplyDetailsList())) { + //只新增主任务单 + //对传入的手机号进行校验 + if (StringUtils.isNotBlank(dto.getBackApplyInfo().getPhone()) && !PhoneUtil.isMobile(dto.getBackApplyInfo().getPhone())) { + return AjaxResult.error("手机号格式不正确,请重新填写!"); + } + //生成退料单号 + String code = getString(); + if (StringUtils.isBlank(code)) { + return AjaxResult.error("后台退料编号生成异常,请重试!"); + } + + int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId()); + TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId(), + BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus(), + null,thisMonthMaxOrder + 1, code); + tmTask.setCreateTime(DateUtils.getNowDate()); + tmTask.setCreateBy(SecurityUtils.getUsername()); + BackApplyInfo backApplyInfo = dto.getBackApplyInfo(); + backApplyInfo.setCode(code); + backApplyInfo.setCreateBy(SecurityUtils.getUsername()); + backApplyInfo.setCreateTime(DateUtils.getNowDate()); + // 保存退料信息到 tm_task 表中 + result += taskMapper.insertTmTask(tmTask); + if (result > 0) { + TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), dto.getBackApplyInfo().getAgreementId()); + tmTaskAgreement.setCreateTime(DateUtils.getNowDate()); + tmTaskAgreement.setCreateBy(SecurityUtils.getUsername()); + taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement); + backApplyInfo.setTaskId(tmTask.getTaskId()); + result += backApplyInfoMapper.insertBackApplyInfo(backApplyInfo); + } + if (result > 0) { + return AjaxResult.success(); + } + } else if (dto != null && dto.getBackApplyInfo() != null && dto.getBackApplyInfo().getId() != null) { + // 保存退料详情 + result = saveBackApplyDetails(dto, dto.getBackApplyInfo(), result); + if (result > 0) { + return AjaxResult.success(); + } + } else { + return insertBackApplyInfo(dto); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); + } + + /** + * app内层删除退料任务 + * @param backApplyInfo + * @return + */ + @Override + public AjaxResult delete(BackApplyInfo backApplyInfo) { + //先查询相关编码信息 + List maCodeVoList = backApplyInfoMapper.selectByCode(backApplyInfo.getParentId()); + //需要清除明细表以及可能存储的文件信息 + //清除back_apply_details表信息 + int result = backApplyInfoMapper.deleteApplyDetails(backApplyInfo); + //删除back_check_details表信息 + result += backApplyInfoMapper.deleteDetails(backApplyInfo); + //清除file文件表信息 + BmFileInfo fileInfo = new BmFileInfo(); + fileInfo.setTaskId(backApplyInfo.getParentId()); + fileInfo.setModelId(backApplyInfo.getId()); + result += bmFileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo); + if (CollectionUtils.isNotEmpty(maCodeVoList)) { + for (MaCodeVo maCodeVo : maCodeVoList) { + BmFileInfo bmFileInfo = new BmFileInfo(); + bmFileInfo.setTaskId(backApplyInfo.getId()); + bmFileInfo.setModelId(maCodeVo.getMaId()); + result += bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfo); + } + } + if (result > 0) { + return AjaxResult.success(); + } + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg()); } /** diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index a000a667..3e8189a4 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -100,9 +100,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mm.ma_id AS maId, mm.ma_code AS maCode, mm.ma_status AS maStatus, - mt1.type_name AS materialName, + mt1.type_name AS typeName, mm.type_id AS typeId, - mt.type_name AS typeName + mt.type_name AS materialName, + mt2.type_name AS materialType FROM lease_out_details lod LEFT JOIN ma_machine mm ON lod.ma_id = mm.ma_id @@ -110,6 +111,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND mt.del_flag = '0' LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' + LEFT JOIN ma_type mt2 ON mt1.parent_id = mt2.type_id + AND mt2.del_flag = '0' LEFT JOIN lease_apply_info lai ON lod.parent_id = lai.id LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id @@ -508,10 +511,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" values (#{info.agreementId},#{info.typeId},#{info.maId},#{many},#{info.startTime},#{info.status},#{info.leaseId},#{info.leasePrice},#{info.buyPrice},'0',#{info.companyId},#{info.leaseType},now()); - - delete from back_apply_info where id = #{id} - - delete from back_apply_info where id = #{id} @@ -523,4 +522,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from back_check_details where parent_id = #{id} + + + delete from back_apply_details where id = #{id} + + + + delete from back_apply_details where parent_id = #{parentId} and type_id = #{typeId} + \ No newline at end of file