Merge remote-tracking branch 'origin/master'

This commit is contained in:
hongchao 2025-09-14 21:04:38 +08:00
commit 76e36697f4
3 changed files with 31 additions and 6 deletions

View File

@ -181,6 +181,9 @@ public class RepairTaskDetails extends BaseEntity {
@ApiModelProperty(value = "一级类型id") @ApiModelProperty(value = "一级类型id")
private Long firstId; private Long firstId;
@ApiModelProperty(value = "采购原值")
private BigDecimal buyPrice;
public RepairTaskDetails(Long taskId) { public RepairTaskDetails(Long taskId) {
this.taskId = taskId; this.taskId = taskId;
} }

View File

@ -638,6 +638,20 @@ public class RepairServiceImpl implements RepairService {
case TO_SCRAP: { case TO_SCRAP: {
// 报废无需上传配件直接初始化空集合 // 报废无需上传配件直接初始化空集合
partList = bean.getCodeScrapRepairPartList(); partList = bean.getCodeScrapRepairPartList();
// 获取维修详情表中的维修详情记录待维修已维修已报废的数量
RepairTaskDetails details = repairMapper.getById(bean.getId());
if (Objects.isNull(details)) {
throw new ServiceException("此维修记录不存在,请检查后提交!");
}
RepairApplyRecord scrapCostsRecord = new RepairApplyRecord();
scrapCostsRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId())
.setRepairType(bean.getRepairType()).setRepairNum(BigDecimal.ONE).setStatus(0L).setId(bean.getId())
.setPartType(bean.getCodeScrapRepairPartList().get(0).getPartType()).setRepairType(3);
// SQL: 新增报废费用记录表
repairMapper.addRepairCost(scrapCostsRecord, details.getBuyPrice(), bean.getCodeScrapRepairPartList().get(0).getScrapType());
// 更新报废数量 // 更新报废数量
repairMapper.updateScrapNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid()); repairMapper.updateScrapNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid());
break; break;
@ -791,8 +805,14 @@ public class RepairServiceImpl implements RepairService {
throw new ServiceException("此维修记录不存在,请检查后提交!"); throw new ServiceException("此维修记录不存在,请检查后提交!");
} }
// 分拆维修单, 准备数据 // 分拆维修单, 准备数据
scrapNum = bean.getNumberScrapRepairPartList().get(0).getScrapNum(); scrapNum = Optional.ofNullable(bean.getNumberScrapRepairPartList().get(0).getScrapNum()).orElse(BigDecimal.ZERO);
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
// 计算报废金额
BigDecimal scrapCosts = Optional.ofNullable(details.getBuyPrice()).orElse(BigDecimal.ZERO).multiply(scrapNum);
if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) { if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) {
for (BmFileInfo fileInfo : bean.getNumberScrapRepairPartList().get(0).getFileList()) { for (BmFileInfo fileInfo : bean.getNumberScrapRepairPartList().get(0).getFileList()) {
@ -804,11 +824,10 @@ public class RepairServiceImpl implements RepairService {
// 报废类型无需配件所以配件为空添加维修记录表 // 报废类型无需配件所以配件为空添加维修记录表
// 维修记录表信息 // 维修记录表信息
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId()) repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId())
.setRepairType(RepairTypeEnum.TO_SCRAP.getTypeId()).setStatus(0L).setIsSlt(0L).setPartNum(0) .setRepairType(RepairTypeEnum.TO_SCRAP.getTypeId()).setStatus(0L).setIsSlt(0L).setPartNum(0)
.setFileIds(null == fileInfo.getId() ? "" : String.valueOf(fileInfo.getId())) .setFileIds(null == fileInfo.getId() ? "" : String.valueOf(fileInfo.getId()))
.setRepairNum(BigDecimal.valueOf(0)).setScrapNum(bean.getNumberScrapRepairPartList().get(0).getScrapNum()) .setRepairNum(scrapNum).setScrapNum(bean.getNumberScrapRepairPartList().get(0).getScrapNum())
.setScrapId(bean.getNumberScrapRepairPartList().get(0).getScrapId()) .setScrapId(bean.getNumberScrapRepairPartList().get(0).getScrapId())
.setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason()) .setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason())
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType()) .setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
@ -819,10 +838,9 @@ public class RepairServiceImpl implements RepairService {
} else { } else {
// 报废类型无需配件所以配件为空添加维修记录表 // 报废类型无需配件所以配件为空添加维修记录表
// 维修记录表信息 // 维修记录表信息
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId()) repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId())
.setRepairType(RepairTypeEnum.TO_SCRAP.getTypeId()).setStatus(0L).setIsSlt(0L).setPartNum(0) .setRepairType(RepairTypeEnum.TO_SCRAP.getTypeId()).setStatus(0L).setIsSlt(0L).setPartNum(0)
.setRepairNum(BigDecimal.valueOf(0)).setScrapNum(bean.getNumberScrapRepairPartList().get(0).getScrapNum()) .setRepairNum(scrapNum).setScrapNum(bean.getNumberScrapRepairPartList().get(0).getScrapNum())
.setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason()) .setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason())
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType()) .setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
.setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername()); .setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername());
@ -830,6 +848,9 @@ public class RepairServiceImpl implements RepairService {
repairMapper.addRecord(repairApplyRecord); repairMapper.addRecord(repairApplyRecord);
} }
// SQL: 新增报废费用记录表
repairMapper.addRepairCost(repairApplyRecord, scrapCosts, repairApplyRecord.getScrapType());
} }
} }
// 拆分维修单 // 拆分维修单

View File

@ -518,9 +518,10 @@
<select id="getById" resultType="com.bonus.material.repair.domain.RepairTaskDetails"> <select id="getById" resultType="com.bonus.material.repair.domain.RepairTaskDetails">
select rad.id as id, select rad.id as id,
rad.repair_num as repairNum, rad.repair_num as repairNum,
rad.repaired_num as repairedNum, rad.repaired_num as repairedNum,mt.buy_price as buyPrice,
rad.scrap_num as scrapNum rad.scrap_num as scrapNum
from repair_apply_details rad from repair_apply_details rad
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
where rad.id = #{id} where rad.id = #{id}
</select> </select>