From 66cc19d04d430a288028319bbcf059f837a348a1 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 24 三月 2026 12:35:54 +0800
Subject: [PATCH] 采购销售审批根据合同号查看详情
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 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 6493d46..a7c9c0d 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -11,6 +11,8 @@
import com.ruoyi.account.pojo.AccountExpense;
import com.ruoyi.account.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.approve.service.IApproveProcessService;
+import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.FileNameType;
@@ -23,6 +25,8 @@
import com.ruoyi.production.pojo.SalesLedgerScheduling;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
+import com.ruoyi.purchase.dto.PurchaseLedgerDto;
+import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.dto.MonthlyAmountDto;
import com.ruoyi.sales.dto.SalesLedgerDto;
import com.ruoyi.sales.mapper.*;
@@ -36,6 +40,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
+import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -46,6 +51,7 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
+import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.YearMonth;
@@ -68,6 +74,8 @@
private final AccountIncomeService accountIncomeService;
private final SalesLedgerMapper salesLedgerMapper;
+
+ private final IApproveProcessService approveProcessService;
private final CustomerMapper customerMapper;
@@ -431,12 +439,60 @@
if (salesLedgerDto.getTempFileIds() != null && !salesLedgerDto.getTempFileIds().isEmpty()) {
migrateTempFilesToFormal(salesLedger.getId(), salesLedgerDto.getTempFileIds());
}
+
+ //6.閿�鍞鍗曟寜绱ф�ョ▼搴﹀垎绫伙紝濡傛櫘閫氳鍗曚互鍙婄揣鎬ヨ鍗曪紱鏅�氳鍗曢渶娴佽浆鑷充笟鍔″崟鎹繘琛屽鎵癸紝绱ф�ヨ鍗曟棤闇�瀹℃壒銆�
+ if (salesLedger.getSalesType().equals("鏅��")){
+ //鏂板瀹℃壒鏁版嵁approve_process
+ ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+ approveProcessVO.setApproveDeptId(salesLedger.getTenantId());
+ approveProcessVO.setApproveReason(salesLedger.getSalesContractNo());//瀹℃壒鐞嗙敱鏄攢鍞悎鍚屽彿鐢ㄨ繖涓潵鍏宠仈
+ DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ approveProcessVO.setApproveTime(LocalDate.now().format(dateFormat));
+ approveProcessVO.setApproveType(6);//6鏄攢鍞彴璐�
+ approveProcessVO.setApproveUser(Long.parseLong(salesLedger.getEntryPerson()));//褰曞叆浜�=鐢宠浜�
+ approveProcessVO.setApproveUserIds(salesLedgerDto.getApproveUserIds());//瀹℃壒浜�
+ try {
+ approveProcessService.addApprove(approveProcessVO);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }else {
+ //绱ф�ラ粯璁ら�氳繃
+ salesLedger.setApprovalStatus(3);
+ salesLedgerMapper.updateById(salesLedger);
+ }
return 1;
} catch (IOException e) {
throw new BaseException("鏂囦欢杩佺Щ澶辫触: " + e.getMessage());
}
}
+ @Override
+ public SalesLedgerDto getSalesByCode(SalesLedgerDto salesLedgerDto) {
+ // 1. 鏌ヨ涓昏〃
+ SalesLedger salesLedger = salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
+ .eq(SalesLedger::getSalesContractNo, salesLedgerDto.getSalesContractNo())
+ .last("LIMIT 1"));
+ if (salesLedger == null) {
+ throw new BaseException("閿�鍞彴璐︿笉瀛樺湪");
+ }
+
+ // 2. 鏌ヨ瀛愯〃
+ LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
+ productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId())
+ .eq(SalesLedgerProduct::getType, 1);
+ List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
+
+ // 4. 杞崲 DTO
+ SalesLedgerDto resultDto = new SalesLedgerDto();
+ BeanUtils.copyProperties(salesLedger, resultDto);
+ if (!products.isEmpty()) {
+ resultDto.setHasChildren(true);
+ resultDto.setProductData(products);
+ }
+ return resultDto;
+ }
+
// 鏂囦欢杩佺Щ鏂规硶
/**
--
Gitblit v1.9.3