Commit 334d388185278f2ee237e4e991a2cadbcf4998dd
1 parent
c399957d
fix:第二版财务,修复发票上传之后,再填充数据,造成早发票审核时导出的数据,与最新的数据不一致的情况。
Showing
2 changed files
with
22 additions
and
22 deletions
src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java
... | ... | @@ -179,25 +179,22 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp |
179 | 179 | if (ApplyTypeEnum.CHECK_BILL_APPLY.getType().equals(x.getType()) || ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(x.getType())) { |
180 | 180 | OrderLockFieldVO orderLockFieldVO = JSONObject.parseObject(fields, OrderLockFieldVO.class); |
181 | 181 | // 解决待审批列表中的应付款要显示内部编码。 这里开始 |
182 | - /* if(Objects.nonNull(orderLockFieldVO.getCheckBillOrderDO()) && StringUtils.isNotBlank(orderLockFieldVO.getCheckBillOrderDO().getCheckNo())){ | |
183 | - List<CheckBillMappingDO> checkBillMappingDOList= checkBillMappingService.list(new LambdaQueryWrapper<CheckBillMappingDO>() | |
184 | - .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN) | |
185 | - .eq(CheckBillMappingDO::getCheckNo, orderLockFieldVO.getCheckBillOrderDO().getCheckNo())); | |
186 | - if(CollectionUtils.isNotEmpty(checkBillMappingDOList)){ | |
187 | - Set<Long> orderIds = checkBillMappingDOList.stream().map(CheckBillMappingDO::getOrderId).filter(Objects::nonNull).collect(Collectors.toSet()); | |
188 | - if(CollectionUtils.isNotEmpty(orderIds)){ | |
189 | - List<OrderBaseInfoDO> orderBaseInfoDOList = orderBaseInfoService.listByIds(orderIds); | |
190 | - if(CollectionUtils.isNotEmpty(orderBaseInfoDOList)){ | |
191 | - Set<String> innerNoList = orderBaseInfoDOList.stream().map(OrderBaseInfoDO::getInnerNo).filter(Objects::nonNull).collect(Collectors.toSet()); | |
192 | - if(CollectionUtils.isNotEmpty(innerNoList)){ | |
182 | + //对于生产科发票特殊处理。 | |
183 | + if(ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(x.getType())){ | |
184 | + if(Objects.nonNull(orderLockFieldVO.getCheckBillOrderDO()) && StringUtils.isNotBlank(orderLockFieldVO.getCheckBillOrderDO().getCheckNo())){ | |
185 | + Long orderId = orderLockFieldVO.getCheckBillOrderDO().getOrderId(); | |
186 | + if(Objects.nonNull(orderId)){ | |
187 | + OrderBaseInfoDO orderBaseInfoDO = orderBaseInfoService.getById(orderId); | |
188 | + if(Objects.nonNull(orderBaseInfoDO)){ | |
189 | + if(StringUtils.isNotBlank(orderBaseInfoDO.getInnerNo())){ | |
193 | 190 | OrderBaseInfoVO orderBaseInfoVO = new OrderBaseInfoVO(); |
194 | 191 | resultVO.setOrderBaseInfo(orderBaseInfoVO); |
195 | - orderBaseInfoVO.setInnerNo(resultVO.getOrderBaseInfo().getInnerNo().join(",", innerNoList)); | |
192 | + orderBaseInfoVO.setInnerNo(orderBaseInfoDO.getInnerNo()); | |
196 | 193 | } |
197 | 194 | } |
198 | 195 | } |
199 | - } | |
200 | - }//这里结束 上述为待审核列表中应收款要显示内部编码。*/ //这部分不需要了。 | |
196 | + | |
197 | + }}//这里结束 上述为待审核列表中应收款要显示内部编码。 //这部分不需要了。 | |
201 | 198 | //这部分的目的是,对于跟单员和业务员他们也能查看到应收款和应付款中各自负责订单的审核情况。 而财务和admin则会执行else{},会看到所有的审核订单信息。 |
202 | 199 | if(RoleEnum.BUSINESS_USER.getCode().equals(roleEnum.getCode())){ |
203 | 200 | if(Objects.nonNull(orderLockFieldVO.getProducePaymentCheckBillFieldVO()) && orderLockFieldVO.getProducePaymentCheckBillFieldVO().getBusinesPerson().equals(loginUserName)){ |
... | ... | @@ -623,9 +620,10 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp |
623 | 620 | } else if(ApplyTypeEnum.DEPARTMENT_INVOICE_APPLY.getType().equals(applyDO.getType())){ |
624 | 621 | OrderLockFieldVO lockFieldVO = JSONObject.parseObject(applyDO.getFields(), OrderLockFieldVO.class); |
625 | 622 | ProducePaymentCheckBillOrderDO checkBillOrderDO = lockFieldVO.getCheckBillOrderDO(); |
626 | - checkBillOrderDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_REFUSE.getStatus()); | |
623 | + | |
627 | 624 | |
628 | 625 | ProducePaymentCheckBillOrderDO invoiceInfoDO = checkBillOrderService.getById(checkBillOrderDO.getId()); |
626 | + invoiceInfoDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_REFUSE.getStatus()); | |
629 | 627 | //传递给审核一直都是最新的发票。 |
630 | 628 | if(com.order.erp.common.utils.StringUtils.isNotBlank(invoiceInfoDO.getInvoiceUrl())){ |
631 | 629 | log.info("checkBillOrderDO.getInvoiceUrl() 极有可能为空: {}", checkBillOrderDO.getInvoiceUrl()); |
... | ... | @@ -636,12 +634,12 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp |
636 | 634 | |
637 | 635 | // 将更新后的 List 转换回逗号分隔的字符串并重新设置 |
638 | 636 | String updatedInvoiceUrls = String.join(",", urlList); |
639 | - checkBillOrderDO.setInvoiceUrl(updatedInvoiceUrls); | |
637 | + invoiceInfoDO.setInvoiceUrl(updatedInvoiceUrls); | |
640 | 638 | } |
641 | 639 | }else{ |
642 | - checkBillOrderDO.setInvoiceUrl(null); | |
640 | + invoiceInfoDO.setInvoiceUrl(null); | |
643 | 641 | } |
644 | - checkBillOrderService.updateById(checkBillOrderDO); | |
642 | + checkBillOrderService.updateById(invoiceInfoDO); | |
645 | 643 | } |
646 | 644 | |
647 | 645 | 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 |
821 | 819 | applyDO.setStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); |
822 | 820 | OrderLockFieldVO lockFieldVO = JSONObject.parseObject(applyDO.getFields(), OrderLockFieldVO.class); |
823 | 821 | ProducePaymentCheckBillOrderDO checkBillOrderDO = lockFieldVO.getCheckBillOrderDO(); |
824 | - checkBillOrderDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); | |
825 | 822 | //查询旧的。 |
826 | 823 | ProducePaymentCheckBillOrderDO invoiceInfoDO = checkBillOrderService.getById(checkBillOrderDO.getId()); |
824 | + invoiceInfoDO.setDepartmentInvoiceStatus(ApplyStatusEnum.AUDIT_PASS.getStatus()); | |
827 | 825 | //传递给审核一直都是最新的发票。 |
828 | 826 | if(com.order.erp.common.utils.StringUtils.isNotBlank(invoiceInfoDO.getInvoiceUrl())){ |
829 | 827 | if(com.order.erp.common.utils.StringUtils.isNotBlank(checkBillOrderDO.getInvoiceUrl())){ |
... | ... | @@ -832,15 +830,15 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl<OrderFieldLockAp |
832 | 830 | if(!deductUrlSet.contains(checkBillOrderDO.getInvoiceUrl())){ |
833 | 831 | deductUrlSet.add(checkBillOrderDO.getInvoiceUrl()); |
834 | 832 | String updateDeductUrl=String.join(",",deductUrlSet); |
835 | - checkBillOrderDO.setInvoiceUrl(updateDeductUrl); | |
833 | + invoiceInfoDO.setInvoiceUrl(updateDeductUrl); | |
836 | 834 | } |
837 | 835 | } |
838 | 836 | }else{ |
839 | 837 | if(com.order.erp.common.utils.StringUtils.isNotBlank(checkBillOrderDO.getInvoiceUrl())){ |
840 | - checkBillOrderDO.setInvoiceUrl(checkBillOrderDO.getInvoiceUrl()); | |
838 | + invoiceInfoDO.setInvoiceUrl(checkBillOrderDO.getInvoiceUrl()); | |
841 | 839 | } |
842 | 840 | } |
843 | - checkBillOrderService.updateById(checkBillOrderDO); | |
841 | + checkBillOrderService.updateById(invoiceInfoDO); | |
844 | 842 | } |
845 | 843 | |
846 | 844 | OrderAuditLogDO auditLogDO = OrderAuditLogDO.builder().applyId(applyDO.getId()).orderId(applyDO.getOrderId()).optType(ApplyStatusEnum.AUDIT_PASS.getDesc()).build(); | ... | ... |
src/main/java/com/order/erp/service/order/impl/ProducePaymentCheckBillOrderServiceImpl.java
... | ... | @@ -822,6 +822,7 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce |
822 | 822 | throw new BusinessException("应付款单据已审核通过,无法编辑"); |
823 | 823 | } |
824 | 824 | //todo 已完成。 |
825 | + checkCommitApply(deductInfoVO.getId()); | |
825 | 826 | checkApply(new ArrayList<>(Arrays.asList(deductInfoVO.getId()))); |
826 | 827 | //需要判断一下是否为空?不然知己以逗号分隔会报错。 |
827 | 828 | if(StringUtils.isNotBlank(checkBillOrderDO.getDeductUrl())){ |
... | ... | @@ -868,6 +869,7 @@ public class ProducePaymentCheckBillOrderServiceImpl extends ServiceImpl<Produce |
868 | 869 | throw new BusinessException("已完成收款,无法更新!"); |
869 | 870 | } |
870 | 871 | //todo 已完成。 |
872 | + checkCommitApply(amountInfoVO.getId()); | |
871 | 873 | checkApply(new ArrayList<>(Arrays.asList(amountInfoVO.getId()))); |
872 | 874 | |
873 | 875 | checkBillOrderDO.setActualPayedAmount1(amountInfoVO.getActualPayedAmount1() != null ? amountInfoVO.getActualPayedAmount1().setScale(2, BigDecimal.ROUND_HALF_UP) : BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP)); | ... | ... |