diff --git a/src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java b/src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java index 05248fa..f246f09 100644 --- a/src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java +++ b/src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java @@ -179,25 +179,22 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp if (ApplyTypeEnum.CHECK_BILL_APPLY.getType().equals(x.getType()) || ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(x.getType())) { OrderLockFieldVO orderLockFieldVO = JSONObject.parseObject(fields, OrderLockFieldVO.class); // 解决待审批列表中的应付款要显示内部编码。 这里开始 - /* if(Objects.nonNull(orderLockFieldVO.getCheckBillOrderDO()) && StringUtils.isNotBlank(orderLockFieldVO.getCheckBillOrderDO().getCheckNo())){ - List<CheckBillMappingDO> checkBillMappingDOList= checkBillMappingService.list(new LambdaQueryWrapper<CheckBillMappingDO>() - .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) - .eq(CheckBillMappingDO::getCheckNo, orderLockFieldVO.getCheckBillOrderDO().getCheckNo())); - if(CollectionUtils.isNotEmpty(checkBillMappingDOList)){ - Set<Long> orderIds = checkBillMappingDOList.stream().map(CheckBillMappingDO::getOrderId).filter(Objects::nonNull).collect(Collectors.toSet()); - if(CollectionUtils.isNotEmpty(orderIds)){ - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds); - if(CollectionUtils.isNotEmpty(orderBaseInfoDOList)){ - Set<String> innerNoList = orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getInnerNo).filter(Objects::nonNull).collect(Collectors.toSet()); - if(CollectionUtils.isNotEmpty(innerNoList)){ + //对于生产科发票特殊处理。 + if(ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(x.getType())){ + if(Objects.nonNull(orderLockFieldVO.getCheckBillOrderDO()) && StringUtils.isNotBlank(orderLockFieldVO.getCheckBillOrderDO().getCheckNo())){ + Long orderId = orderLockFieldVO.getCheckBillOrderDO().getOrderId(); + if(Objects.nonNull(orderId)){ + OrderBaseInfoDO orderBaseInfoDO = orderBaseInfoService.getById(orderId); + if(Objects.nonNull(orderBaseInfoDO)){ + if(StringUtils.isNotBlank(orderBaseInfoDO.getInnerNo())){ OrderBaseInfoVO orderBaseInfoVO = new OrderBaseInfoVO(); resultVO.setOrderBaseInfo(orderBaseInfoVO); - orderBaseInfoVO.setInnerNo(resultVO.getOrderBaseInfo().getInnerNo().join(",", innerNoList)); + orderBaseInfoVO.setInnerNo(orderBaseInfoDO.getInnerNo()); } } } - } - }//这里结束 上述为待审核列表中应收款要显示内部编码。*/ //这部分不需要了。 + + }}//这里结束 上述为待审核列表中应收款要显示内部编码。 //这部分不需要了。 //这部分的目的是,对于跟单员和业务员他们也能查看到应收款和应付款中各自负责订单的审核情况。 而财务和admin则会执行else{},会看到所有的审核订单信息。 if(RoleEnum.BUSINESS_USER.getCode().equals(roleEnum.getCode())){ if(Objects.nonNull(orderLockFieldVO.getProducePaymentCheckBillFieldVO()) && orderLockFieldVO.getProducePaymentCheckBillFieldVO().getBusinesPerson().equals(loginUserName)){ @@ -623,9 +620,10 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp } else if(ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(applyDO.getType())){ OrderLockFieldVO lockFieldVO = JSONObject.parseObject(applyDO.getFields(), OrderLockFieldVO.class); ProducePaymentCheckBillOrderDO checkBillOrderDO = lockFieldVO.getCheckBillOrderDO(); - checkBillOrderDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_REFUSE.getStatus()); + ProducePaymentCheckBillOrderDO invoiceInfoDO = checkBillOrderService.getById(checkBillOrderDO.getId()); + invoiceInfoDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_REFUSE.getStatus()); //传递给审核一直都是最新的发票。 if(com.order.erp.common.utils.StringUtils.isNotBlank(invoiceInfoDO.getInvoiceUrl())){ log.info("checkBillOrderDO.getInvoiceUrl() 极有可能为空: {}", checkBillOrderDO.getInvoiceUrl()); @@ -636,12 +634,12 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp // 将更新后的 List 转换回逗号分隔的字符串并重新设置 String updatedInvoiceUrls = String.join(",", urlList); - checkBillOrderDO.setInvoiceUrl(updatedInvoiceUrls); + invoiceInfoDO.setInvoiceUrl(updatedInvoiceUrls); } }else{ - checkBillOrderDO.setInvoiceUrl(null); + invoiceInfoDO.setInvoiceUrl(null); } - checkBillOrderService.updateById(checkBillOrderDO); + checkBillOrderService.updateById(invoiceInfoDO); } OrderAuditLogDO auditLogDO = OrderAuditLogDO.builder().applyId(applyDO.getId()).orderId(applyDO.getOrderId()).optType(ApplyStatusEnum.AUDIT_REFUSE.getDesc()).build(); @@ -821,9 +819,9 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp applyDO.setStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); OrderLockFieldVO lockFieldVO = JSONObject.parseObject(applyDO.getFields(), OrderLockFieldVO.class); ProducePaymentCheckBillOrderDO checkBillOrderDO = lockFieldVO.getCheckBillOrderDO(); - checkBillOrderDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); //查询旧的。 ProducePaymentCheckBillOrderDO invoiceInfoDO = checkBillOrderService.getById(checkBillOrderDO.getId()); + invoiceInfoDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); //传递给审核一直都是最新的发票。 if(com.order.erp.common.utils.StringUtils.isNotBlank(invoiceInfoDO.getInvoiceUrl())){ if(com.order.erp.common.utils.StringUtils.isNotBlank(checkBillOrderDO.getInvoiceUrl())){ @@ -832,15 +830,15 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp if(!deductUrlSet.contains(checkBillOrderDO.getInvoiceUrl())){ deductUrlSet.add(checkBillOrderDO.getInvoiceUrl()); String updateDeductUrl=String.join(",",deductUrlSet); - checkBillOrderDO.setInvoiceUrl(updateDeductUrl); + invoiceInfoDO.setInvoiceUrl(updateDeductUrl); } } }else{ if(com.order.erp.common.utils.StringUtils.isNotBlank(checkBillOrderDO.getInvoiceUrl())){ - checkBillOrderDO.setInvoiceUrl(checkBillOrderDO.getInvoiceUrl()); + invoiceInfoDO.setInvoiceUrl(checkBillOrderDO.getInvoiceUrl()); } } - checkBillOrderService.updateById(checkBillOrderDO); + checkBillOrderService.updateById(invoiceInfoDO); } OrderAuditLogDO auditLogDO = OrderAuditLogDO.builder().applyId(applyDO.getId()).orderId(applyDO.getOrderId()).optType(ApplyStatusEnum.AUDIT_PASS.getDesc()).build(); diff --git a/src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java b/src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java index 74bab23..ef11daf 100644 --- a/src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java +++ b/src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java @@ -822,6 +822,7 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce throw new BusinessException("应付款单据已审核通过,无法编辑"); } //todo 已完成。 + checkCommitApply(deductInfoVO.getId()); checkApply(new ArrayList<>(Arrays.asList(deductInfoVO.getId()))); //需要判断一下是否为空?不然知己以逗号分隔会报错。 if(StringUtils.isNotBlank(checkBillOrderDO.getDeductUrl())){ @@ -868,6 +869,7 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce throw new BusinessException("已完成收款,无法更新!"); } //todo 已完成。 + checkCommitApply(amountInfoVO.getId()); checkApply(new ArrayList<>(Arrays.asList(amountInfoVO.getId()))); checkBillOrderDO.setActualPayedAmount1(amountInfoVO.getActualPayedAmount1() != null ? amountInfoVO.getActualPayedAmount1().setScale(2, BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP));