接口优化新增

This commit is contained in:
mashuai 2024-11-20 13:27:54 +08:00
parent efffcf2c6a
commit 5d02bcebdf
8 changed files with 144 additions and 44 deletions

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -15,8 +15,6 @@ import java.util.List;
@Data
public class BackApplyRequestVo {
private Long id;
/**
* 退料申请信息
*/

View File

@ -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);
}

View File

@ -80,4 +80,11 @@ public interface IBackApplyInfoService {
* @return
*/
AjaxResult insertApp(BackApplyRequestVo dto);
/**
* app内层删除退料任务
* @param backApplyInfo
* @return
*/
AjaxResult delete(BackApplyInfo backApplyInfo);
}

View File

@ -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<BackApplyDetails> backApplyDetailsList = backApplyInfoMapper.selectBackApplyDetailsListByTaskId(id);
List<MaCodeVo> 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<MaCodeVo> 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());
}
/**

View File

@ -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());
</insert>
<delete id="deleteBackApplyInfoById" parameterType="Long">
delete from back_apply_info where id = #{id}
</delete>
<delete id="deleteBackApply">
delete from back_apply_info where id = #{id}
</delete>
@ -523,4 +522,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<delete id="deleteCheckDetails">
delete from back_check_details where parent_id = #{id}
</delete>
<delete id="deleteApplyDetails">
delete from back_apply_details where id = #{id}
</delete>
<delete id="deleteDetails">
delete from back_apply_details where parent_id = #{parentId} and type_id = #{typeId}
</delete>
</mapper>