维修管理优化
This commit is contained in:
parent
0fde9252fe
commit
dbabe955ef
|
|
@ -25,13 +25,6 @@ public class RemoteStoreLogFallbackFactory implements FallbackFactory<RemoteStor
|
||||||
public RemoteStoreLogService create(Throwable throwable)
|
public RemoteStoreLogService create(Throwable throwable)
|
||||||
{
|
{
|
||||||
log.error("日志服务调用失败:{}", throwable.getMessage());
|
log.error("日志服务调用失败:{}", throwable.getMessage());
|
||||||
return new RemoteStoreLogService()
|
return (bmStorageLogList, source) -> R.fail("保存物资库存日志失败:" + throwable.getMessage());
|
||||||
{
|
|
||||||
@Override
|
|
||||||
public R<Boolean> batchInsert(List<BmStorageLog> bmStorageLogList, String source) throws Exception {
|
|
||||||
return R.fail("保存物资库存日志失败:" + throwable.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ public class RepairAuditDetailsController extends BaseController {
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
@SysLog(title = "导出修试审核任务列表", businessType = OperaType.EXPORT, module = "机具系统->导出修试审核任务列表")
|
@SysLog(title = "导出修试审核任务列表", businessType = OperaType.EXPORT, module = "机具系统->导出修试审核任务列表")
|
||||||
public void exportAudit(HttpServletResponse response, RepairAuditDetails bean) {
|
public void exportAudit(HttpServletResponse response, RepairAuditDetails bean) {
|
||||||
if (bean == null) {
|
if (Objects.isNull(bean)) {
|
||||||
bean = new RepairAuditDetails();
|
bean = new RepairAuditDetails();
|
||||||
}
|
}
|
||||||
if (Objects.isNull(bean.getTaskType())) {
|
if (Objects.isNull(bean.getTaskType())) {
|
||||||
|
|
@ -153,7 +153,7 @@ public class RepairAuditDetailsController extends BaseController {
|
||||||
@PostMapping("/exportEasyExcel")
|
@PostMapping("/exportEasyExcel")
|
||||||
public void export(HttpServletResponse response, RepairAuditDetails repairAuditDetails) {
|
public void export(HttpServletResponse response, RepairAuditDetails repairAuditDetails) {
|
||||||
List<RepairAuditDetails> list = repairAuditDetailsService.selectRepairAuditDetailsList(repairAuditDetails);
|
List<RepairAuditDetails> list = repairAuditDetailsService.selectRepairAuditDetailsList(repairAuditDetails);
|
||||||
ExcelUtil<RepairAuditDetails> util = new ExcelUtil<RepairAuditDetails>(RepairAuditDetails.class);
|
ExcelUtil<RepairAuditDetails> util = new ExcelUtil<>(RepairAuditDetails.class);
|
||||||
util.exportExcel(response, list, "修试审核详细数据");
|
util.exportExcel(response, list, "修试审核详细数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
package com.bonus.material.repair.domain.vo;
|
package com.bonus.material.repair.domain.vo;
|
||||||
|
|
||||||
import com.bonus.common.core.annotation.Excel;
|
|
||||||
import com.bonus.material.basic.domain.BmFileInfo;
|
import com.bonus.material.basic.domain.BmFileInfo;
|
||||||
import com.bonus.material.repair.domain.RepairPartDetails;
|
import com.bonus.material.repair.domain.RepairPartDetails;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import org.apache.poi.hssf.record.crypto.Biff8DecryptingStream;
|
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,9 @@ public interface RepairService {
|
||||||
*/
|
*/
|
||||||
AjaxResult fastRepairApply(List<RepairTaskDetails> list);
|
AjaxResult fastRepairApply(List<RepairTaskDetails> list);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量维修
|
||||||
|
*/
|
||||||
AjaxResult batchRepairApply(@NotNull List<RepairDeviceVO> repairDeviceVOList);
|
AjaxResult batchRepairApply(@NotNull List<RepairDeviceVO> repairDeviceVOList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -98,17 +98,11 @@ public class RepairServiceImpl implements RepairService {
|
||||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
// BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add);
|
// BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
vo.setRepairDeviceList(tempList)
|
vo.setRepairDeviceList(tempList)
|
||||||
.setIds(ids)
|
.setIds(ids).setTypeRepairNum(repairNumSum).setTypeRepairedNum(repairedNumSum)
|
||||||
.setTypeRepairNum(repairNumSum)
|
.setTypeScrapNum(scrapNumSum).setTaskId(tempList.get(0).getTaskId())
|
||||||
.setTypeRepairedNum(repairedNumSum)
|
.setCode(tempList.get(0).getCode()).setTypeName(tempList.get(0).getTypeName())
|
||||||
.setTypeScrapNum(scrapNumSum)
|
.setTypeId(tempList.get(0).getTypeId()).setType(tempList.get(0).getType())
|
||||||
.setTaskId(tempList.get(0).getTaskId())
|
.setUnitName(tempList.get(0).getUnitName()).setManageType(tempList.get(0).getManageType());
|
||||||
.setCode(tempList.get(0).getCode())
|
|
||||||
.setTypeName(tempList.get(0).getTypeName())
|
|
||||||
.setTypeId(tempList.get(0).getTypeId())
|
|
||||||
.setType(tempList.get(0).getType())
|
|
||||||
.setUnitName(tempList.get(0).getUnitName())
|
|
||||||
.setManageType(tempList.get(0).getManageType());
|
|
||||||
// .setTypeCost(typeCostSum);
|
// .setTypeCost(typeCostSum);
|
||||||
repairDeviceSummaryVoList.add(vo);
|
repairDeviceSummaryVoList.add(vo);
|
||||||
}
|
}
|
||||||
|
|
@ -203,10 +197,9 @@ public class RepairServiceImpl implements RepairService {
|
||||||
|
|
||||||
List<RepairPart> repairPartList = repairAuditDetailsMapper.getPartDetailsByTaskId(new RepairAuditDetails().setTaskId(taskId));
|
List<RepairPart> repairPartList = repairAuditDetailsMapper.getPartDetailsByTaskId(new RepairAuditDetails().setTaskId(taskId));
|
||||||
repairPartList = mergePartsNum(repairPartList);
|
repairPartList = mergePartsNum(repairPartList);
|
||||||
RepairTicketVo result = new RepairTicketVo()
|
RepairTicketVo result = new RepairTicketVo().setRepairTaskInfo(repairTaskInfo)
|
||||||
.setRepairTaskInfo(repairTaskInfo)
|
|
||||||
.setRepairDeviceSummaryList(repairDeviceSummaryList)
|
.setRepairDeviceSummaryList(repairDeviceSummaryList)
|
||||||
.setRepairPartArray(Optional.of(repairPartList).orElse(new ArrayList<>()));
|
.setRepairPartArray(Optional.of(repairPartList).orElse(Collections.emptyList()));
|
||||||
|
|
||||||
return AjaxResult.success(result);
|
return AjaxResult.success(result);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
|
|
@ -229,7 +222,7 @@ public class RepairServiceImpl implements RepairService {
|
||||||
);
|
);
|
||||||
List<RepairPart> list = new ArrayList<>(map.values());
|
List<RepairPart> list = new ArrayList<>(map.values());
|
||||||
list.forEach(item -> item.setPartCost(Optional.ofNullable(item.getPartPrice()).orElse(BigDecimal.ZERO)
|
list.forEach(item -> item.setPartCost(Optional.ofNullable(item.getPartPrice()).orElse(BigDecimal.ZERO)
|
||||||
.multiply(new BigDecimal(Optional.ofNullable(item.getPartNum()).orElse(0))))
|
.multiply(BigDecimal.valueOf(Optional.ofNullable(item.getPartNum()).orElse(0))))
|
||||||
);
|
);
|
||||||
return list;
|
return list;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -261,8 +254,7 @@ public class RepairServiceImpl implements RepairService {
|
||||||
String sfPart = "1";
|
String sfPart = "1";
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(partList)) {
|
if (CollectionUtil.isNotEmpty(partList)) {
|
||||||
bean.setRepairNum(partList.get(0).getRepairNum());
|
bean.setRepairNum(partList.get(0).getRepairNum()).setRepairer(partList.get(0).getRepairer());
|
||||||
bean.setRepairer(partList.get(0).getRepairer());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据维修类型,更新维修数量、报废数量
|
// 根据维修类型,更新维修数量、报废数量
|
||||||
|
|
@ -280,9 +272,9 @@ public class RepairServiceImpl implements RepairService {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TO_SCRAP: {
|
case TO_SCRAP: {
|
||||||
BigDecimal scrapNum = details.getScrapNum().add(bean.getScrapNum()) ;
|
BigDecimal scrapNum = details.getScrapNum().add(bean.getScrapNum());
|
||||||
BigDecimal num = scrapNum.add(details.getRepairedNum()) ;
|
BigDecimal totalNum = scrapNum.add(details.getRepairedNum());
|
||||||
if (num.compareTo( details.getRepairNum()) >0) {
|
if (totalNum.compareTo(details.getRepairNum()) > 0) {
|
||||||
throw new ServiceException("维修数量大于维修总量");
|
throw new ServiceException("维修数量大于维修总量");
|
||||||
}
|
}
|
||||||
// 更新报废数量
|
// 更新报废数量
|
||||||
|
|
@ -304,11 +296,11 @@ public class RepairServiceImpl implements RepairService {
|
||||||
if (partDetails.getPartCost() == null) {
|
if (partDetails.getPartCost() == null) {
|
||||||
partDetails.setPartCost(BigDecimal.ZERO);
|
partDetails.setPartCost(BigDecimal.ZERO);
|
||||||
}
|
}
|
||||||
partDetails.setTaskId(bean.getTaskId());
|
partDetails.setTaskId(bean.getTaskId())
|
||||||
partDetails.setMaId(bean.getMaId());
|
.setMaId(bean.getMaId())
|
||||||
partDetails.setTypeId(bean.getTypeId());
|
.setTypeId(bean.getTypeId())
|
||||||
partDetails.setCreateBy(String.valueOf(loginUser.getUserid()));
|
.setCompanyId(bean.getCompanyId())
|
||||||
partDetails.setCompanyId(bean.getCompanyId());
|
.setCreateBy(String.valueOf(Optional.ofNullable(loginUser.getUserid()).orElse(0L)));
|
||||||
|
|
||||||
// 根据 partId 找配件单价
|
// 根据 partId 找配件单价
|
||||||
BigDecimal partPrice = repairMapper.selectPartPrice(partDetails.getPartId());
|
BigDecimal partPrice = repairMapper.selectPartPrice(partDetails.getPartId());
|
||||||
|
|
@ -341,21 +333,16 @@ public class RepairServiceImpl implements RepairService {
|
||||||
} else {
|
} else {
|
||||||
bean.setSupplierId(partList.get(0).getSupplierId());
|
bean.setSupplierId(partList.get(0).getSupplierId());
|
||||||
}
|
}
|
||||||
if (partList.get(0).getPartPrice() == null) {
|
bean.setPartPrice(partList.get(0).getPartPrice() == null ? BigDecimal.ZERO : partList.get(0).getPartPrice());
|
||||||
bean.setPartPrice(BigDecimal.ZERO);
|
|
||||||
} else {
|
|
||||||
bean.setPartPrice(partList.get(0).getPartPrice());
|
|
||||||
}
|
|
||||||
bean.setPartNum(partList.get(0).getPartNum());
|
bean.setPartNum(partList.get(0).getPartNum());
|
||||||
// 新增【维修记录表】
|
// 新增【维修记录表】
|
||||||
repairMapper.addRecord(bean);
|
repairMapper.addRecord(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配件费用计算
|
// 配件费用计算
|
||||||
sfCosts = countPartCosts(partList, sfCosts);
|
sfCosts = countPartCosts(partList, sfCosts);
|
||||||
|
|
||||||
// 判断是否是收费配件
|
// 判断是否是收费配件
|
||||||
if (sfPart.equals(sfCosts.toString())) {
|
if (Objects.equals(sfPart, sfCosts.toString())) {
|
||||||
// SQL: 新增【维修费用记录表】
|
// SQL: 新增【维修费用记录表】
|
||||||
repairMapper.addRepairCost(bean, sfCosts, sfPart);
|
repairMapper.addRepairCost(bean, sfCosts, sfPart);
|
||||||
}
|
}
|
||||||
|
|
@ -373,7 +360,16 @@ public class RepairServiceImpl implements RepairService {
|
||||||
if (bean == null || bean.getRepairNum() == null) {
|
if (bean == null || bean.getRepairNum() == null) {
|
||||||
throw new ServiceException("维修数量不能为空");
|
throw new ServiceException("维修数量不能为空");
|
||||||
}
|
}
|
||||||
BigDecimal repairNum = details.getRepairedNum().add( bean.getRepairNum()) ;
|
if (details.getRepairedNum() == null) {
|
||||||
|
details.setRepairedNum(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
if (details.getScrapNum() == null) {
|
||||||
|
details.setScrapNum(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
if (details.getRepairNum() == null) {
|
||||||
|
details.setRepairNum(BigDecimal.ZERO);
|
||||||
|
}
|
||||||
|
BigDecimal repairNum = details.getRepairedNum().add(bean.getRepairNum()) ;
|
||||||
|
|
||||||
if (repairNum.add(details.getScrapNum()).compareTo(details.getRepairNum())>0) {
|
if (repairNum.add(details.getScrapNum()).compareTo(details.getRepairNum())>0) {
|
||||||
throw new ServiceException("维修数量大于维修总量");
|
throw new ServiceException("维修数量大于维修总量");
|
||||||
|
|
@ -396,7 +392,7 @@ public class RepairServiceImpl implements RepairService {
|
||||||
|
|
||||||
// 执行SQL: 1.增加【维修记录表】、 2.修改【维修明细表】的维修数量
|
// 执行SQL: 1.增加【维修记录表】、 2.修改【维修明细表】的维修数量
|
||||||
for (RepairTaskDetails bean : list) {
|
for (RepairTaskDetails bean : list) {
|
||||||
BigDecimal repairedNum =bean.getRepairNum().subtract(bean.getRepairedNum()).subtract(bean.getScrapNum());
|
BigDecimal repairedNum = bean.getRepairNum().subtract(bean.getRepairedNum()).subtract(bean.getScrapNum());
|
||||||
RepairApplyRecord repairRecord = new RepairApplyRecord();
|
RepairApplyRecord repairRecord = new RepairApplyRecord();
|
||||||
repairRecord.setTaskId(bean.getTaskId());
|
repairRecord.setTaskId(bean.getTaskId());
|
||||||
repairRecord.setMaId(Long.valueOf(bean.getMaId()));
|
repairRecord.setMaId(Long.valueOf(bean.getMaId()));
|
||||||
|
|
@ -407,8 +403,8 @@ public class RepairServiceImpl implements RepairService {
|
||||||
repairRecord.setCreateBy(String.valueOf(loginUser.getUserid()));
|
repairRecord.setCreateBy(String.valueOf(loginUser.getUserid()));
|
||||||
repairRecord.setCompanyId(bean.getCompanyId());
|
repairRecord.setCompanyId(bean.getCompanyId());
|
||||||
repairMapper.addRecord(repairRecord);
|
repairMapper.addRecord(repairRecord);
|
||||||
BigDecimal i = repairedNum.add(bean.getRepairedNum());
|
BigDecimal repairNum = repairedNum.add(bean.getRepairedNum());
|
||||||
repairMapper.updateRepairedNumTwo(bean.getId(), i, loginUser.getUserid());
|
repairMapper.updateRepairedNumTwo(bean.getId(), repairNum, loginUser.getUserid());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 执行完毕,无异常返回至前端
|
// 执行完毕,无异常返回至前端
|
||||||
|
|
@ -439,20 +435,20 @@ public class RepairServiceImpl implements RepairService {
|
||||||
case INNER_REPAIR: {
|
case INNER_REPAIR: {
|
||||||
partList = bean.getCodeInRepairPartList();
|
partList = bean.getCodeInRepairPartList();
|
||||||
// 更新维修数量、并修改维修人员
|
// 更新维修数量、并修改维修人员
|
||||||
repairMapper.updateRepairedNumAndStatus(bean.getId(), BigDecimal.ZERO, 1, loginUser.getUserid(), loginUser.getUserid());
|
repairMapper.updateRepairedNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid(), loginUser.getUserid());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case RETURN_FACTORY: {
|
case RETURN_FACTORY: {
|
||||||
partList = bean.getCodeOutRepairPartList();
|
partList = bean.getCodeOutRepairPartList();
|
||||||
// 更新维修数量、维修人员不变
|
// 更新维修数量、维修人员不变
|
||||||
repairMapper.updateRepairedNumTwoAndStatus(bean.getId(), BigDecimal.ZERO, 1, loginUser.getUserid());
|
repairMapper.updateRepairedNumTwoAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case TO_SCRAP: {
|
case TO_SCRAP: {
|
||||||
// 报废无需上传配件、直接初始化空集合
|
// 报废无需上传配件、直接初始化空集合
|
||||||
partList = bean.getCodeScrapRepairPartList();
|
partList = bean.getCodeScrapRepairPartList();
|
||||||
// 更新报废数量
|
// 更新报废数量
|
||||||
repairMapper.updateScrapNumAndStatus(bean.getId(), BigDecimal.ZERO, 1, loginUser.getUserid());
|
repairMapper.updateScrapNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
@ -613,6 +609,7 @@ public class RepairServiceImpl implements RepairService {
|
||||||
throw new ServiceException("本次维修提交总数过大");
|
throw new ServiceException("本次维修提交总数过大");
|
||||||
}
|
}
|
||||||
//本次修完了
|
//本次修完了
|
||||||
|
// TODO 这里需要完善,要全部先走This后,再提交时PUT到真实修改数量
|
||||||
if ((bean.getRepairNum().subtract(innerRepairNum).subtract(outerRepairNum).subtract(scrapNum).compareTo(BigDecimal.valueOf(0)) ) == 0) {
|
if ((bean.getRepairNum().subtract(innerRepairNum).subtract(outerRepairNum).subtract(scrapNum).compareTo(BigDecimal.valueOf(0)) ) == 0) {
|
||||||
repairMapper.updateRepairedNum(bean.getId(), innerRepairNum.add(outerRepairNum) , loginUser.getUserid(), loginUser.getUserid());
|
repairMapper.updateRepairedNum(bean.getId(), innerRepairNum.add(outerRepairNum) , loginUser.getUserid(), loginUser.getUserid());
|
||||||
repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid());
|
repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue