维修单分拆
This commit is contained in:
parent
29ce4f6aeb
commit
b970a71b9c
|
|
@ -1,7 +1,6 @@
|
|||
package com.bonus.material.repair.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.bonus.common.biz.domain.R;
|
||||
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
|
||||
import com.bonus.common.biz.enums.RepairTaskStatusEnum;
|
||||
import com.bonus.common.biz.enums.RepairTypeEnum;
|
||||
|
|
@ -462,6 +461,10 @@ public class RepairServiceImpl implements RepairService {
|
|||
continue;
|
||||
}
|
||||
|
||||
int innerRepairNum = 0;
|
||||
int outerRepairNum = 0;
|
||||
int scrapNum = 0;
|
||||
|
||||
// 处理配件--数量管理--内部维修
|
||||
if (CollectionUtil.isNotEmpty(bean.getNumberInRepairPartList())) {
|
||||
// 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量
|
||||
|
|
@ -473,20 +476,8 @@ public class RepairServiceImpl implements RepairService {
|
|||
|
||||
partList = bean.getNumberInRepairPartList();
|
||||
if (bean.getNumberInRepairPartList().get(0).getRepairNum() != null && bean.getNumberInRepairPartList().get(0).getRepairNum() != 0) {
|
||||
// ---------------校验维修数量-----------------
|
||||
// 统计已维修数量 + 本次维修数量
|
||||
// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + bean.getNumberInRepairPartList().get(0).getRepairNum();
|
||||
// // 统计报废数量 + 维修合计数量
|
||||
// int num = repairNum + details.getScrapNum();
|
||||
// if (num > details.getRepairNum()) {
|
||||
// throw new ServiceException("维修数量大于维修总量");
|
||||
// }
|
||||
|
||||
|
||||
// 分拆维修单
|
||||
int thisTimeRepairedNum = bean.getNumberInRepairPartList().get(0).getRepairNum();
|
||||
splitRepairList(bean, thisTimeRepairedNum, loginUser);
|
||||
|
||||
// 分拆维修单, 准备数据
|
||||
innerRepairNum = bean.getNumberInRepairPartList().get(0).getRepairNum();
|
||||
// 处理配件集合数据
|
||||
copeNumberManageInList(bean, partList, loginUser, bean.getManageType());
|
||||
}
|
||||
|
|
@ -509,21 +500,8 @@ public class RepairServiceImpl implements RepairService {
|
|||
|
||||
// 判断外部维修配件数量是否为空
|
||||
if (partList.get(0).getRepairNum() != null && partList.get(0).getRepairNum() != 0) {
|
||||
|
||||
// // 统计已维修数量 + 本次维修数量
|
||||
// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + partList.get(0).getRepairNum();
|
||||
// // 统计报废数量 + 维修合计数量
|
||||
// if ((repairNum + OptionalInt.of(details.getScrapNum()).orElse(0)) > details.getRepairNum()) {
|
||||
// throw new ServiceException("维修数量大于维修总量");
|
||||
// }
|
||||
//
|
||||
// // 更新维修数量、维修人员不变
|
||||
// repairMapper.updateRepairedNumTwo(bean.getId(), repairNum, loginUser.getUserid());
|
||||
|
||||
// 分拆维修单
|
||||
int thisTimeRepairedNum = partList.get(0).getRepairNum();
|
||||
splitRepairList(bean, thisTimeRepairedNum, loginUser);
|
||||
|
||||
// 分拆维修单, 准备数据
|
||||
outerRepairNum = partList.get(0).getRepairNum();
|
||||
|
||||
if (partList.get(0).getSupplierId() == null) {
|
||||
throw new ServiceException("请选择返厂厂家");
|
||||
|
|
@ -562,25 +540,8 @@ public class RepairServiceImpl implements RepairService {
|
|||
throw new ServiceException("此维修记录不存在,请检查后提交!");
|
||||
}
|
||||
|
||||
|
||||
// // -------------校验维修数量开始----------------
|
||||
// // 统计历史已报废数量 + 本次报废数量 = 报废总数
|
||||
// int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum();
|
||||
// // 统计 报废总数 + 历史已维修数量,
|
||||
// int num = scrapNum + details.getRepairedNum();
|
||||
// // 不能大与总的待维修数量
|
||||
// if (num > details.getRepairNum()) {
|
||||
// throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum());
|
||||
// }
|
||||
// // -------------校验维修数量结束----------------
|
||||
//
|
||||
// // 更新报废数量
|
||||
// repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid());
|
||||
|
||||
|
||||
// 维修单拆分--报废机具
|
||||
int thisTimeScrapNumber = bean.getNumberScrapRepairPartList().get(0).getScrapNum();
|
||||
splitRepairListToScrap(bean, thisTimeScrapNumber, loginUser);
|
||||
// 分拆维修单, 准备数据
|
||||
scrapNum = bean.getNumberScrapRepairPartList().get(0).getScrapNum();
|
||||
|
||||
|
||||
if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) {
|
||||
|
|
@ -621,6 +582,11 @@ public class RepairServiceImpl implements RepairService {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
// 拆分维修单
|
||||
SplitRepairDetailsToMultiple(bean, innerRepairNum, outerRepairNum, scrapNum, loginUser);
|
||||
|
||||
|
||||
} else {
|
||||
throw new ServiceException("请选择正确的维修类型");
|
||||
}
|
||||
|
|
@ -629,39 +595,25 @@ public class RepairServiceImpl implements RepairService {
|
|||
return AjaxResult.success("维修完成");
|
||||
}
|
||||
|
||||
private void splitRepairList(RepairDeviceVO bean, int thisTimeRepairedNum, LoginUser loginUser) {
|
||||
if ((bean.getRepairNum() - thisTimeRepairedNum) == 0) { //本次修完了
|
||||
repairMapper.updateRepairedNum(bean.getId(), thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
private void SplitRepairDetailsToMultiple(RepairDeviceVO bean, int innerRepairNum, int outerRepairNum, int scrapNum, LoginUser loginUser) {
|
||||
if ((bean.getRepairNum() - innerRepairNum - outerRepairNum - scrapNum) == 0) { //本次修完了
|
||||
repairMapper.updateRepairedNum(bean.getId(), innerRepairNum + outerRepairNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid());
|
||||
} else {
|
||||
RepairApplyDetails newDetail = new RepairApplyDetails();
|
||||
BeanUtils.copyProperties(bean, newDetail);
|
||||
newDetail.setRepairNum((long) (thisTimeRepairedNum));
|
||||
newDetail.setRepairedNum((long) thisTimeRepairedNum);
|
||||
newDetail.setRepairNum((long) (innerRepairNum + outerRepairNum + scrapNum));
|
||||
newDetail.setRepairedNum((long) innerRepairNum + outerRepairNum);
|
||||
newDetail.setScrapNum((long) scrapNum);
|
||||
newDetail.setCreateBy(SecurityUtils.getUsername());
|
||||
newDetail.setCreateTime(DateUtils.getNowDate());
|
||||
newDetail.setRepairer(SecurityUtils.getUsername());
|
||||
newDetail.setStatus("1");
|
||||
repairApplyDetailsMapper.insertRepairApplyDetails(newDetail);
|
||||
repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - innerRepairNum - outerRepairNum - scrapNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
}
|
||||
}
|
||||
|
||||
private void splitRepairListToScrap(RepairDeviceVO bean, int thisTimeScrapNum, LoginUser loginUser) {
|
||||
if ((bean.getRepairNum() - thisTimeScrapNum) == 0) {
|
||||
repairMapper.updateScrapNum(bean.getId(), thisTimeScrapNum, loginUser.getUserid());
|
||||
} else {
|
||||
RepairApplyDetails newDetail = new RepairApplyDetails();
|
||||
BeanUtils.copyProperties(bean, newDetail);
|
||||
newDetail.setRepairNum((long) (thisTimeScrapNum));
|
||||
newDetail.setScrapNum((long) thisTimeScrapNum);
|
||||
newDetail.setCreateBy(SecurityUtils.getUsername());
|
||||
newDetail.setCreateTime(DateUtils.getNowDate());
|
||||
newDetail.setRepairer(SecurityUtils.getUsername());
|
||||
newDetail.setStatus("1");
|
||||
repairApplyDetailsMapper.insertRepairApplyDetails(newDetail);
|
||||
repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeScrapNum, loginUser.getUserid(), loginUser.getUserid());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 配件列表价格合计
|
||||
|
|
|
|||
Loading…
Reference in New Issue