添加报废费用记录功能
- 在 RepairTaskDetails 中添加 buyPrice 字段,用于获取采购原值 - 在 RepairServiceImpl 中实现报废费用记录的新增逻辑 - 修改 Mapper XML,增加获取采购原值的 SQL 查询
This commit is contained in:
parent
547af18752
commit
9cdfee2f1c
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
||||
}
|
||||
}
|
||||
// 拆分维修单
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue