From f569e2257372a2f940aace9ad151fd758196eb9a Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 13 六月 2026 14:34:42 +0800
Subject: [PATCH] 修改客户,销售,协同,报价,质量

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 7b71ef3..cb1eb3b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -12,6 +12,10 @@
 import com.ruoyi.account.mapper.sales.AccountSalesCollectionMapper;
 import com.ruoyi.account.pojo.sales.AccountInvoiceApplication;
 import com.ruoyi.account.pojo.sales.AccountSalesCollection;
+import com.ruoyi.approve.bean.dto.ApprovalInstanceDto;
+import com.ruoyi.approve.pojo.ApprovalTemplate;
+import com.ruoyi.approve.service.ApprovalInstanceService;
+import com.ruoyi.approve.service.ApprovalTemplateService;
 import com.ruoyi.basic.enums.ApplicationTypeEnum;
 import com.ruoyi.basic.enums.RecordTypeEnum;
 import com.ruoyi.basic.mapper.CustomerMapper;
@@ -21,6 +25,7 @@
 import com.ruoyi.basic.utils.FileUtil;
 import com.ruoyi.common.enums.FileNameType;
 import com.ruoyi.common.enums.SaleEnum;
+import com.ruoyi.common.enums.TypeEnums;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.EnumUtil;
@@ -125,6 +130,11 @@
     ;
     @Autowired
     private SysUserMapper sysUserMapper;
+
+    @Autowired
+    private ApprovalInstanceService approvalInstanceService;
+    @Autowired
+    private ApprovalTemplateService approvalTemplateService;
 
     @Override
     public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) {
@@ -578,7 +588,11 @@
                 contractNo = generateSalesContractNo(salesLedgerDto.getEntryDate());
             }
             salesLedger.setSalesContractNo(contractNo);
+            salesLedger.setApprovalStatus(0);
             salesLedgerMapper.insert(salesLedger);
+
+            // 鏂板鏃跺彂璧峰崗鍚屽鎵�
+            submitApproval(salesLedger);
         } else {
             salesLedgerMapper.updateById(salesLedger);
         }
@@ -625,8 +639,6 @@
             for (SalesLedgerProduct salesLedgerProduct : insertList) {
                 salesLedgerProduct.setType(type.getCode());
                 salesLedgerProductMapper.insert(salesLedgerProduct);
-                // 娣诲姞鐢熶骇鏁版嵁
-                salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
             }
         }
     }
@@ -770,4 +782,33 @@
             return totalAmount;
         }
     }
+
+    /**
+     * 鏂板閿�鍞彴璐︽椂鍙戣捣鍗忓悓瀹℃壒
+     */
+    private void submitApproval(SalesLedger salesLedger) {
+        LoginUser loginUser = SecurityUtils.getLoginUser();
+        ApprovalTemplate template = approvalTemplateService.getOne(
+                new LambdaQueryWrapper<ApprovalTemplate>()
+                        .eq(ApprovalTemplate::getBusinessType, TypeEnums.SALES_LEDGER_APPROVAL.getCode())
+                        .eq(ApprovalTemplate::getDeleted, 0)
+                        .orderByDesc(ApprovalTemplate::getId)
+                        .last("limit 1")
+        );
+        if (template == null) {
+            log.warn("閿�鍞鎵规ā鏉夸笉瀛樺湪锛岃烦杩囧彂璧峰鎵�");
+            return;
+        }
+        ApprovalInstanceDto instanceDto = new ApprovalInstanceDto();
+        instanceDto.setTemplateId(template.getId());
+        instanceDto.setTemplateName(template.getTemplateName());
+        instanceDto.setBusinessId(salesLedger.getId());
+        instanceDto.setBusinessType(TypeEnums.SALES_LEDGER_APPROVAL.getCode());
+        instanceDto.setCurrentLevel(1);
+        instanceDto.setTitle(salesLedger.getSalesContractNo() + "閿�鍞鎵�");
+        instanceDto.setApplicantId(loginUser.getUserId());
+        instanceDto.setApplicantName(loginUser.getNickName());
+        instanceDto.setApplyTime(LocalDateTime.now());
+        approvalInstanceService.add(instanceDto);
+    }
 }

--
Gitblit v1.9.3