diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index dc87c11e..c85e5f45 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -713,8 +713,6 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { typeMapper.updateType(type); } // 批量插入详情数据 - // 将purchaseCheckDetailsList的status全部设置为2 - purchaseCheckDetailsList.forEach(o -> o.setStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus())); final int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList); if (0 < count) { return AjaxResult.success("新增任务成功"); @@ -1091,10 +1089,55 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { try { final Long[] ids = {purchaseCheckDto.getPurchaseCheckInfo().getId()}; purchaseCheckDetailsMapper.deleteDetails(ids); - insertPurchaseCheckDetails(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId()); + insertPurchaseCheckDetailsInfo(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId()); return purchaseCheckInfoMapper.updatePurchaseCheckInfo(purchaseCheckDto.getPurchaseCheckInfo()); } catch (final Exception e) { throw new ServiceException("错误信息描述"); } } + + /** + * 批量插入新购验收任务详情 + * @param purchaseCheckDetailsList + * @param taskId + * @return + */ + private int insertPurchaseCheckDetailsInfo(List purchaseCheckDetailsList, Long taskId) { + int count = 0; + if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) { + for (PurchaseCheckDetails details : purchaseCheckDetailsList) { + details.setTaskId(taskId); + details.setStatus(Objects.equals(PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus(), details.getStatus()) ? + PurchaseTaskStatusEnum.TO_CHECK.getStatus() : + PurchaseTaskStatusEnum.TO_NOTICE.getStatus()); + details.setInputStatus("0"); + final List bmFileInfos = details.getBmFileInfos(); + if (!CollectionUtils.isEmpty(bmFileInfos)) { + bmFileInfos.forEach(o -> { + o.setTaskId(taskId); + o.setModelId(details.getTypeId()); + o.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); + o.setCreateTime(DateUtils.getNowDate()); + }); + bmFileInfoMapper.insertBmFileInfos(bmFileInfos); + } + Type type = new Type(); + type.setTypeId(details.getTypeId()); + type.setUpdateTime(DateUtils.getNowDate()); + type.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString()); + type.setBuyPrice(details.getPurchaseTaxPrice()); + type.setNotTaxPrice(details.getPurchasePrice()); + Type maType = typeMapper.getMaType(details.getTypeId()); + if (maType != null && (maType.getRentPrice() == null || maType.getRentPrice().compareTo(BigDecimal.ZERO) == 0)) { + type.setRentPrice(details.getRentPrice()); + } + typeMapper.updateType(type); + } + // 批量插入详情数据 + // 将purchaseCheckDetailsList的status全部设置为2 + purchaseCheckDetailsList.forEach(o -> o.setStatus(PurchaseTaskStatusEnum.TO_CHECK.getStatus())); + count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList); + } + return count; + } }