From 84e6be1f3d51285ea8dcd16046fec0bda29b30b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Thu, 9 Jan 2025 17:14:54 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E8=B4=A2=E5=8A=A1=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=BA=94=E4=BB=98=E8=B4=A6=E6=AC=BE=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=85=B3=E8=81=94=E5=8D=95=E5=8F=B7=E5=92=8C?= =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E7=BC=96=E5=8F=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E5=BA=94=E4=BB=98=E8=B4=A6=E6=AC=BEmapper?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=BA=94?= =?UTF-8?q?=E4=BB=98=E8=B4=A6=E6=AC=BE=E6=89=8B=E5=8A=A8=E7=BB=93=E6=A1=88?= =?UTF-8?q?service=E6=96=B9=E6=B3=95=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=A7=94?= =?UTF-8?q?=E5=A4=96=E7=B1=BB=E5=9E=8B=E5=A4=84=E7=90=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancialAccountsPayableMapper.java | 5 ++ .../FinancialAccountsPayableServiceImpl.java | 56 +++++++++++++++++++ .../FinancialAccountsPayableMapper.xml | 8 +++ 3 files changed, 69 insertions(+) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialAccountsPayableMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialAccountsPayableMapper.java index 9f7e774d..38c01af1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialAccountsPayableMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialAccountsPayableMapper.java @@ -84,4 +84,9 @@ public interface FinancialAccountsPayableMapper * 根据关联编号查询财务应付账款 * */ FinancialAccountsPayable selectFinancialAccountsPayableByRelevanceCode(String relevanceCode); + + /** + * 根据关联单号和供应商编号查询财务应付账款 + * */ + FinancialAccountsPayable selectFinancialAccountsPayableByCode(FinancialAccountsPayable payable); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialAccountsPayableServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialAccountsPayableServiceImpl.java index 703f7a12..5f07c9a5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialAccountsPayableServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialAccountsPayableServiceImpl.java @@ -2,14 +2,21 @@ package com.ruoyi.financial.service.impl; import java.math.BigDecimal; import java.util.List; +import java.util.stream.Collectors; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.purchase.domain.PurchaseOrder; import com.ruoyi.purchase.mapper.PurchaseOrderMapper; +import com.ruoyi.system.domain.OutsourceOrder; +import com.ruoyi.system.domain.OutsourceOrderDetail; import com.ruoyi.system.domain.SysSupplier; +import com.ruoyi.system.domain.Vo.OutsourceOrderVO; +import com.ruoyi.system.mapper.OutsourceOrderDetailMapper; +import com.ruoyi.system.mapper.OutsourceOrderMapper; import com.ruoyi.system.mapper.SysSupplierMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,6 +47,12 @@ public class FinancialAccountsPayableServiceImpl implements IFinancialAccountsPa @Autowired private PurchaseOrderMapper purchaseOrderMapper; + @Autowired + private OutsourceOrderMapper outsourceOrderMapper; + + @Autowired + private OutsourceOrderDetailMapper outOrderDetailMapper; + /** * 查询财务应付账款 * @@ -197,6 +210,49 @@ public class FinancialAccountsPayableServiceImpl implements IFinancialAccountsPa throw new BusinessException("关联采购订单更新失败"); } } + else if(relatedCode.startsWith("WW")){ + OutsourceOrder outsourceOrder = outsourceOrderMapper.selectOutsourceOrderByNo(relatedCode); + String supplierCode = payable.getSupplierCode();; + OutsourceOrderDetail tempDetail = new OutsourceOrderDetail(); + tempDetail.setOutsourceOrderNo(relatedCode); + tempDetail.setSupplierCode(supplierCode); + List orderDetails = outOrderDetailMapper.selectOutsourceOrderDetailList(tempDetail); + if(StringUtils.isEmpty(orderDetails)){ + throw new BusinessException("关联委外订单详情为空!"); + } + List filtDetails = orderDetails.stream() + .filter(item -> item.getSupplierCode().equals(supplierCode)).collect(Collectors.toList()); + + for (OutsourceOrderDetail detail: filtDetails) { + detail.setClosedStatus("3"); + detail.setRemitStatus("3");//待结案 + detail.setUpdateBy(ShiroUtils.getLoginName()); + detail.setUpdateTime(DateUtils.getNowDate()); + int updateResult = outOrderDetailMapper.updateOutsourceOrderDetail(detail); + if(updateResult <= 0 ){ + throw new BusinessException("关联委外订单详情更新失败"); + } + } + /*更新关联委外订单结案状态*/ + boolean allToClose = true; + for (OutsourceOrderDetail detail: filtDetails) { + if(!detail.getRemitStatus().equals("2")&&!detail.getRemitStatus().equals("3")){ + allToClose = false; + break; + } + } + if(allToClose){ + OutsourceOrderVO orderVO = new OutsourceOrderVO(); + orderVO.setOutsourceOrderId(outsourceOrder.getOutsourceOrderId()); + orderVO.setClosedStatus("3");//待结案 + orderVO.setUpdateBy(ShiroUtils.getLoginName()); + orderVO.setUpdateTime(DateUtils.getNowDate()); + int updateResult = outsourceOrderMapper.updateOutsourceOrder(orderVO); + if(updateResult <= 0 ){ + throw new BusinessException("关联委外订单更新失败"); + } + } + } int result = financialAccountsPayableMapper.updateFinancialAccountsPayable(payable); return result; } diff --git a/ruoyi-admin/src/main/resources/mapper/financial/FinancialAccountsPayableMapper.xml b/ruoyi-admin/src/main/resources/mapper/financial/FinancialAccountsPayableMapper.xml index c27f91d2..d99e5f27 100644 --- a/ruoyi-admin/src/main/resources/mapper/financial/FinancialAccountsPayableMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/financial/FinancialAccountsPayableMapper.xml @@ -81,6 +81,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where relevance_code = #{relevanceCode} + + insert into financial_accounts_payable