退料优化

This commit is contained in:
mashuai 2026-02-04 10:42:25 +08:00
parent e9523d17ad
commit d9c50682d3
1 changed files with 41 additions and 4 deletions

View File

@ -1291,7 +1291,12 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
if(applyDetail.getTypeId()!=null){
if (applyDetail.getTypeId().equals(typeTreeNode.getTypeId())) {
if (applyDetail.getPreNum().compareTo(typeTreeNode.getNum()) > 0) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "退料数量不能大于在用数量");
String nameModel = StringUtils.joinWith("-", applyDetail.getTypeName(), applyDetail.getTypeModel());
// 1. 先获取BigDecimal数值空值兜底
BigDecimal decimal = Optional.ofNullable(typeTreeNode.getNum()).orElse(BigDecimal.ZERO);
// 2. 核心处理去除末尾的0无小数则变成整数有小数保留原数避免科学计数法
String num = decimal.stripTrailingZeros().toPlainString();
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), nameModel + "的退料数量不能大于在用数量" + num);
}
}
}
@ -1796,10 +1801,16 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
* @return
*/
private int deleteBmFileInfoByParentId(Long parentId, Long modelId) {
int result = 0;
BmFileInfo fileInfo = new BmFileInfo();
fileInfo.setTaskId(parentId);
fileInfo.setModelId(modelId);
return bmFileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo);
// 先根据相关信息查询是否存在文件存在即删除
List<BmFileInfo> list = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
if (!CollectionUtils.isEmpty(list)) {
result = bmFileInfoMapper.deleteBmFileInfoByBizInfo(fileInfo);
}
return result;
}
/**
@ -1814,7 +1825,10 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
BmFileInfo bmFileInfo = new BmFileInfo();
bmFileInfo.setTaskId(taskId);
bmFileInfo.setModelId(maCodeVo.getMaId());
result += bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfo);
List<BmFileInfo> list = bmFileInfoMapper.selectBmFileInfoList(bmFileInfo);
if (!CollectionUtils.isEmpty(list)) {
result += bmFileInfoMapper.deleteBmFileInfoByBizInfo(bmFileInfo);
}
}
return result;
}
@ -2586,7 +2600,30 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
int result = 0;
//先查询退料详情信息
List<BackApplyDetails> applyDetails = backApplyInfoMapper.selectBackApplyDetailsListByTaskId(backApplyInfo);
if (CollectionUtils.isEmpty(applyDetails)) {
// 先查第四层类型
backApplyInfo.setAgreementId(agreementId);
List<TypeTreeNode> listL4 = mapper.getUseTypeTreeL4(backApplyInfo);
if (CollectionUtils.isNotEmpty(applyDetails)) {
for (BackApplyDetails applyDetail : applyDetails) {
if (CollectionUtils.isNotEmpty(listL4)) {
for (TypeTreeNode typeTreeNode : listL4) {
if(applyDetail.getTypeId()!=null){
if (applyDetail.getTypeId().equals(typeTreeNode.getTypeId())) {
if (applyDetail.getPreNum().compareTo(typeTreeNode.getNum()) > 0) {
String nameModel = StringUtils.joinWith("-", applyDetail.getTypeName(), applyDetail.getTypeModel());
// 1. 先获取BigDecimal数值空值兜底
BigDecimal decimal = Optional.ofNullable(typeTreeNode.getNum()).orElse(BigDecimal.ZERO);
// 2. 核心处理去除末尾的0无小数则变成整数有小数保留原数避免科学计数法
String num = decimal.stripTrailingZeros().toPlainString();
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), nameModel + "的退料数量不能大于在用数量" + num);
}
}
}
}
}
}
} else {
return AjaxResult.error("退料物资为空,无法进行提交");
}
for (BackApplyDetails applyDetail : applyDetails) {