From dc3a872dd2f2cfcddd3db4e722efa376705482ec Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 05 一月 2026 16:04:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/hxsj' into hxsj
---
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java | 2 +
src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java | 5 ++
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 33 ++++++++++++++++
src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java | 31 +++++++++++++++
src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml | 4 ++
src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java | 5 ++
6 files changed, 79 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index 51beffd..7370882 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -1,5 +1,6 @@
package com.ruoyi.purchase.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
@@ -11,6 +12,8 @@
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.service.IPurchaseLedgerService;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.ISalesLedgerProductService;
import com.ruoyi.sales.service.ISalesLedgerService;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -19,6 +22,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 閲囪喘鍙拌处Controller
@@ -33,6 +37,7 @@
private IPurchaseLedgerService purchaseLedgerService;
private ISalesLedgerService salesLedgerService;
+ private ISalesLedgerProductService salesLedgerProductService;
/**
* 鏌ヨ閲囪喘鍙拌处鍒楄〃
@@ -78,6 +83,32 @@
return toAjax(purchaseLedgerService.addOrEditPurchase(purchaseLedgerDto));
}
/**
+ * 鏂板閲囪喘妯℃澘
+ */
+ @PostMapping("/addPurchaseTemplate")
+ public AjaxResult addPurchaseTemplate(@RequestBody PurchaseLedgerDto purchaseLedgerDto) throws IOException {
+ return toAjax(purchaseLedgerService.addPurchaseTemplate(purchaseLedgerDto));
+ }
+ /**
+ * 鏌ヨ閲囪喘妯℃澘
+ */
+ @GetMapping("/getPurchaseTemplateList")
+ public AjaxResult getPurchaseTemplateList() {
+ IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(new Page(1, -1), new PurchaseLedgerDto());
+ List<PurchaseLedgerDto> purchaseLedgers = purchaseLedgerDtoIPage.getRecords();
+ purchaseLedgers = purchaseLedgers.stream().filter(purchaseLedger -> purchaseLedger.getApprovalStatus() == 3).collect(Collectors.toList());
+
+ purchaseLedgers.forEach(purchaseLedgerDto -> {
+ LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedgerDto.getId());
+ List<SalesLedgerProduct> list = salesLedgerProductService.list(queryWrapper);
+ if (!list.isEmpty()) {
+ purchaseLedgerDto.setProductData(list);
+ }
+ });
+ return AjaxResult.success(purchaseLedgers);
+ }
+ /**
* 淇敼閲囪喘鍙拌处瀹℃壒鐘舵��
*/
@PostMapping("/updateApprovalStatus")
diff --git a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
index 5d56ac1..4808080 100644
--- a/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
+++ b/src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -187,5 +187,8 @@
private String paymentMethod;
@ApiModelProperty("瀹℃壒鐘舵��")
private Integer approvalStatus;
-
+ @ApiModelProperty(value = "妯℃澘鍚嶇О")
+ private String templateName;
+ @ApiModelProperty(value = "瀹℃壒浜篿d")
+ private Integer approverId;
}
diff --git a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
index 06b7a96..838976d 100644
--- a/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
+++ b/src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -153,4 +153,9 @@
@ApiModelProperty("瀹℃壒鐘舵��")
private Integer approvalStatus;
+ @ApiModelProperty(value = "妯℃澘鍚嶇О")
+ private String templateName;
+ @ApiModelProperty(value = "瀹℃壒浜篿d")
+ private Integer approverId;
+
}
diff --git a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
index 3979810..dfcbfaf 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -39,4 +39,6 @@
List<InvoiceRegistrationProduct> getProductBySalesNo(Long id);
String getPurchaseNo();
+
+ int addPurchaseTemplate(PurchaseLedgerDto purchaseLedgerDto);
}
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 61ccf52..6999852 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -109,7 +109,40 @@
}
return purchaseLedgerMapper.selectList(queryWrapper);
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public int addPurchaseTemplate(PurchaseLedgerDto purchaseLedgerDto) {
+ //褰曞叆浜�
+ SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId());
+ SupplierManage supplierManage = supplierManageMapper.selectById(purchaseLedgerDto.getSupplierId());
+
+ PurchaseLedger purchaseLedger = new PurchaseLedger();
+ purchaseLedgerDto.setApprovalStatus(3);
+ BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger);
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) {
+ purchaseLedger.setTenantId(loginUser.getTenantId());
+ }
+ purchaseLedger.setSupplierName(supplierManage.getSupplierName());
+ purchaseLedger.setRecorderName(sysUser.getNickName());
+ purchaseLedger.setPhoneNumber(sysUser.getPhonenumber());
+ purchaseLedger.setPurchaseContractNumber("11111");
+ purchaseLedger.setEntryDate(Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant()));
+ purchaseLedgerMapper.insert(purchaseLedger);
+
+ // 4. 澶勭悊瀛愯〃鏁版嵁
+ List<SalesLedgerProduct> productList = purchaseLedgerDto.getProductData();
+ if (productList != null && !productList.isEmpty()) {
+ productList.forEach(product -> {
+ product.setSalesLedgerId(purchaseLedger.getId());
+ product.setType(purchaseLedgerDto.getType());
+ });
+ productList.forEach(salesLedgerProductMapper::insert);
+ }
+
+ return 1;
+ }
@Override
@Transactional(rollbackFor = Exception.class)
public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException {
diff --git a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
index 464d77f..8eb9370 100644
--- a/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
+++ b/src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -14,13 +14,17 @@
pl.id,
pl.purchase_contract_number ,
pl.sales_contract_no,
+ pl.supplier_id,
pl.supplier_name,
pl.project_name,
pl.contract_amount,
sum(pr.tickets_amount)as receipt_payment_amount,
pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount,
pl.entry_date,
+ pl.recorder_id,
pl.recorder_name,
+ pl.template_name,
+ pl.approver_id,
sm.is_white,
pl.approval_status,
pl.payment_method
--
Gitblit v1.9.3