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")
private Long firstId;
@ApiModelProperty(value = "采购原值")
private BigDecimal buyPrice;
public RepairTaskDetails(Long taskId) {
this.taskId = taskId;
}

View File

@ -638,6 +638,20 @@ public class RepairServiceImpl implements RepairService {
case TO_SCRAP: {
// 报废无需上传配件直接初始化空集合
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());
break;
@ -791,8 +805,14 @@ public class RepairServiceImpl implements RepairService {
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())) {
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())
.setRepairType(RepairTypeEnum.TO_SCRAP.getTypeId()).setStatus(0L).setIsSlt(0L).setPartNum(0)
.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())
.setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason())
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
@ -819,10 +838,9 @@ public class RepairServiceImpl implements RepairService {
} else {
// 报废类型无需配件所以配件为空添加维修记录表
// 维修记录表信息
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId())
.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())
.setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType())
.setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername());
@ -830,6 +848,9 @@ public class RepairServiceImpl implements RepairService {
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 rad.id as id,
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
from repair_apply_details rad
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
where rad.id = #{id}
</select>