维修管理优化 完善记录信息

This commit is contained in:
syruan 2024-11-19 15:39:27 +08:00
parent 750c0af1df
commit 8781a3b74e
3 changed files with 31 additions and 15 deletions

View File

@ -63,6 +63,13 @@ public class RepairTaskDetails extends BaseEntity {
*/ */
@ApiModelProperty(value = "维修总量") @ApiModelProperty(value = "维修总量")
private int repairNum; private int repairNum;
/**
* 维修方式: 1内部 2外部返厂 3报废
*/
@ApiModelProperty(value = "维修方式: 1内部 2外部 3报废")
private Integer repairType;
/** /**
* 维修合格数量 * 维修合格数量
*/ */

View File

@ -373,18 +373,20 @@ public class RepairServiceImpl implements RepairService {
throw new ServiceException("请选择返厂厂家"); throw new ServiceException("请选择返厂厂家");
} }
// 数量管理--外部返厂维修 // 数量管理--外部返厂维修 -- 记录表插入数据
RepairApplyRecord repairApplyRecord = new RepairApplyRecord(); RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId()) for (RepairPartDetails repairPartDetails : partList) {
.setRepairType(outRepairType).setRepairNum(partList.get(0).getRepairNum()).setScrapNum(0) repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId())
.setPartName(partList.get(0).getPartName()).setPartType(partList.get(0).getPartType()) .setRepairType(outRepairType).setRepairNum(repairPartDetails.getRepairNum()).setScrapNum(0)
.setRepairContent(partList.get(0).getRepairContent()).setSupplierId(partList.get(0).getSupplierId()) .setPartName(repairPartDetails.getPartName()).setPartType(repairPartDetails.getPartType())
.setPartNum(partList.get(0).getPartNum()).setRepairer(loginUser.getUsername()) .setRepairContent(repairPartDetails.getRepairContent()).setSupplierId(repairPartDetails.getSupplierId())
.setPartPrice(Optional.ofNullable(partList.get(0).getPartPrice()).orElse(new BigDecimal(0))) .setPartNum(repairPartDetails.getPartNum()).setRepairer(loginUser.getUsername())
.setCreateBy(loginUser.getUsername()); .setPartPrice(Optional.ofNullable(repairPartDetails.getPartPrice()).orElse(new BigDecimal(0)))
.setCreateBy(loginUser.getUsername());
// 新增维修记录表 // 新增维修记录表
repairMapper.addRecord(repairApplyRecord); repairMapper.addRecord(repairApplyRecord);
}
sfCosts = countPartCosts(partList, sfCosts); sfCosts = countPartCosts(partList, sfCosts);
// TODO: 判断是否是收费配件因数据存在多条可能有些是免费配件 有些收费所以这里用价格统一做处理后续讨论 // TODO: 判断是否是收费配件因数据存在多条可能有些是免费配件 有些收费所以这里用价格统一做处理后续讨论
@ -503,10 +505,10 @@ public class RepairServiceImpl implements RepairService {
// 内部维修 // 内部维修
if (bean.getRepairType() == inRepairType) { if (bean.getRepairType() == inRepairType) {
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
// 遍历配件列表判断配件类型收费还是不收费 // 遍历配件列表判断配件类型收费还是不收费
for (RepairPartDetails partDetails : partList) { for (RepairPartDetails partDetails : partList) {
// 维修记录表信息 // 维修记录表信息
RepairApplyRecord repairApplyRecord = new RepairApplyRecord();
repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId()).setRepairType(bean.getRepairType()); repairApplyRecord.setTaskId(bean.getTaskId()).setMaId(bean.getMaId()).setTypeId(bean.getTypeId()).setRepairType(bean.getRepairType());
if (manageType == manageTypeByCode) { if (manageType == manageTypeByCode) {
repairApplyRecord.setRepairNum(scrapRepairType != bean.getRepairType() ? 1 : 0); repairApplyRecord.setRepairNum(scrapRepairType != bean.getRepairType() ? 1 : 0);
@ -547,6 +549,11 @@ public class RepairServiceImpl implements RepairService {
repairMapper.addRecord(repairApplyRecord); repairMapper.addRecord(repairApplyRecord);
} }
} }
BigDecimal sfCosts = countPartCosts(partList, new BigDecimal(0));
// TODO: 判断是否是收费配件因数据存在多条可能有些是免费配件 有些收费所以这里用价格统一做处理后续讨论
// SQL: 新增维修费用记录表
repairMapper.addRepairCost(repairApplyRecord, sfCosts, sfCosts.equals(new BigDecimal("0")) ? "0" : "1");
} }
// 外部维修 // 外部维修

View File

@ -22,13 +22,15 @@
</insert> </insert>
<insert id="addAuditDetails"> <insert id="addAuditDetails">
insert into repair_audit_details (task_id,repair_id,ma_id,type_id,repair_num,repaired_num,scrap_num,status,create_by,create_time,company_id) insert into repair_audit_details (task_id,repair_id,ma_id,type_id,repair_num,repaired_num,scrap_num,status,
values (#{taskId},#{id},#{maId},#{typeId},#{repairNum},#{repairedNum},#{scrapNum},'0',#{createBy},now(),#{companyId}); create_by,create_time,company_id)
values (#{taskId},#{id},#{maId},#{typeId},#{repairNum},#{repairedNum},#{scrapNum},'0',#{createBy},now(),
#{companyId});
</insert> </insert>
<insert id="addRepairCost"> <insert id="addRepairCost">
insert into repair_cost (task_id,repair_id,type_id,ma_id,repair_num,costs,part_type,status) insert into repair_cost (task_id,repair_id,type_id,ma_id,repair_num,costs,part_type,status,repair_type)
values (#{bean.taskId},#{bean.id},#{bean.typeId},#{bean.maId},#{bean.repairNum},#{costs},#{partType},'0'); values (#{bean.taskId},#{bean.id},#{bean.typeId},#{bean.maId},#{bean.repairNum},#{costs},#{partType},'0',#{bean.repairType});
</insert> </insert>
<update id="updateRepairedNum"> <update id="updateRepairedNum">