From b67dbc6737b5a8751bbc6932724c34ae4b19c34e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 20 一月 2026 18:02:32 +0800
Subject: [PATCH] yys 优化影响的模块
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 16 ++++-
src/main/java/com/ruoyi/production/controller/ProductOrderController.java | 12 ++++
src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java | 15 +++++
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java | 2
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 3
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 60 +++++++++++++------
src/main/java/com/ruoyi/sales/service/SalesQuotationService.java | 5 +
src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java | 15 ----
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 16 ++---
src/main/java/com/ruoyi/sales/pojo/SalesQuotationProduct.java | 9 ++
src/main/resources/application-hsxny.yml | 2
11 files changed, 106 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
index f24a2d2..4f7f5f7 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerServiceImpl.java
@@ -176,19 +176,8 @@
}
@Override
- public List<Map<String, Object>> customerList(Customer customer) {
- LambdaQueryWrapper<Customer> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.select(Customer::getId, Customer::getCustomerName, Customer::getTaxpayerIdentificationNumber);
-
- // 鑾峰彇鍘熷鏌ヨ缁撴灉
- List<Map<String, Object>> result = customerMapper.selectMaps(queryWrapper);
-
- // 灏嗕笅鍒掔嚎鍛藉悕杞崲涓洪┘宄板懡鍚�
- return result.stream().map(map -> map.entrySet().stream()
- .collect(Collectors.toMap(
- entry -> underlineToCamel(entry.getKey()),
- Map.Entry::getValue))
- ).collect(Collectors.toList());
+ public List<Customer> customerList(Customer customer) {
+ return customerMapper.selectList( null);
}
/**
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index 5cc269c..46f1cd6 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -586,17 +586,15 @@
}
- @Autowired
- private ReceiptPaymentServiceImpl receiptPaymentService;
-
@Override
public Long overdueReceivable() {
- // 閫氳繃寮�绁ㄦ棩鏈熻秴杩�15澶╃殑鏈洖娆炬彁绀�
- ReceiptPaymentDto receiptPaymentDto = new ReceiptPaymentDto();
- receiptPaymentDto.setTimeOut(true);
- receiptPaymentDto.setStatus(false);
- IPage<ReceiptPaymentDto> receiptPaymentDtoIPage = receiptPaymentService.bindInvoiceNoRegPage(new Page<>(-1, -1), receiptPaymentDto);
- return receiptPaymentDtoIPage.getTotal();
+ // 閫氳繃鐧昏鏃ユ湡瓒呰繃15澶╃殑鏈洖娆炬彁绀�
+ LambdaQueryWrapper<SalesLedgerProduct> lambdaWrapper = new LambdaQueryWrapper<>();
+ // 鏃堕棿鏉′欢锛歳egisterDate < 褰撳墠鏃堕棿 - 15澶�
+ lambdaWrapper.apply("register_date < DATE_SUB(NOW(), INTERVAL 15 DAY)");
+ // 鏈洖娆炬潯浠讹細pendingInvoiceTotal > 0
+ lambdaWrapper.gt(SalesLedgerProduct::getPendingInvoiceTotal, 0);
+ return salesLedgerProductMapper.selectCount(lambdaWrapper);
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
index 658b40a..8ea79cd 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -10,6 +10,8 @@
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.service.ProductOrderService;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
+import com.ruoyi.sales.service.impl.SalesLedgerProductServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,6 +28,16 @@
@Autowired
private ProductOrderService productOrderService;
+ @Autowired
+ private SalesLedgerProductServiceImpl salesLedgerProductService;
+
+ @PostMapping("/add")
+ @ApiOperation("娣诲姞鐢熶骇璁㈠崟")
+ public R add(@RequestBody SalesLedgerProduct salesLedgerProduct) {
+ salesLedgerProductService.addProductionData(salesLedgerProduct);
+ return R.ok(1);
+ }
+
@ApiOperation("鍒嗛〉鏌ヨ")
@GetMapping("page")
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java b/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
index f9ea1df..7ea82b7 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesQuotationController.java
@@ -51,6 +51,21 @@
public AjaxResult update(@RequestBody SalesQuotationDto salesQuotationDto) {
return AjaxResult.success(salesQuotationService.edit(salesQuotationDto));
}
+
+ /**
+ * 璇︽儏
+ * @param type 瀹㈡埛绫诲瀷
+ * @param productName 浜у搧鍚嶇О
+ * @param specification 瑙勬牸
+ * @return
+ */
+ @ApiOperation("璇︽儏")
+ @GetMapping("/detail")
+ public AjaxResult detail(@RequestParam("type") String type,
+ @RequestParam("productName")String productName,
+ @RequestParam("specification")String specification) {
+ return AjaxResult.success(salesQuotationService.detail(type, productName, specification));
+ }
@DeleteMapping("/delete")
public AjaxResult delete(@RequestBody Long id) {
return AjaxResult.success(salesQuotationService.delete(id));
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index 79cb32f..b6ed374 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -104,7 +104,7 @@
private String invoiceType;
/**
- * 鍙拌处绫诲瀷 1.閿�鍞� 2锛岄噰璐�
+ * 鍙拌处绫诲瀷 1.閿�鍞� 2锛岄噰璐� 3: 鐢熶骇璁㈠崟
*/
private Integer type;
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesQuotationProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesQuotationProduct.java
index 709dacf..eba5dbc 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesQuotationProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesQuotationProduct.java
@@ -4,6 +4,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@@ -21,8 +22,14 @@
private String specification;
@ApiModelProperty(value = "鍗曚綅")
private String unit;
+ @ApiModelProperty(value = "涓�鎵瑰晢鍗曚环")
+ private BigDecimal unitPrice;
+
+ @ApiModelProperty(value = "缁堢鍟嗗崟浠�")
+ private BigDecimal unitPriceTwo;
+
@ApiModelProperty(value = "鍗曚环")
- private Double unitPrice;
+ private BigDecimal unitPriceThree;
@ApiModelProperty(value = "鏁伴噺")
private Integer quantity;
@ApiModelProperty(value = "閲戦")
diff --git a/src/main/java/com/ruoyi/sales/service/SalesQuotationService.java b/src/main/java/com/ruoyi/sales/service/SalesQuotationService.java
index 7f29a7f..8e40fcb 100644
--- a/src/main/java/com/ruoyi/sales/service/SalesQuotationService.java
+++ b/src/main/java/com/ruoyi/sales/service/SalesQuotationService.java
@@ -6,6 +6,8 @@
import com.ruoyi.sales.pojo.SalesQuotation;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import java.math.BigDecimal;
+
public interface SalesQuotationService extends IService<SalesQuotation> {
IPage listPage(Page page, SalesQuotationDto salesQuotationDto);
@@ -14,4 +16,7 @@
boolean delete(Long id);
boolean edit(SalesQuotationDto salesQuotationDto);
+
+
+ BigDecimal detail(String type, String productName, String specification);
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 270f256..32bccc4 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -7,6 +7,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
@@ -32,6 +34,7 @@
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.function.Function;
@@ -260,11 +263,18 @@
/**
* 鏂板鐢熶骇鏁版嵁
*/
+ @Transactional(rollbackFor = Exception.class)
public void addProductionData(SalesLedgerProduct salesLedgerProduct) {
+ // 鍥犱负鐢熶骇闇�姹傛敼鍔紝闇�瑕侀澶栫粰sales_ledger_product鏂板鏁版嵁锛宼ype锛�3
+ salesLedgerProduct.setType(3);
+ salesLedgerProduct.setRegister(SecurityUtils.getLoginUser().getNickName());
+ salesLedgerProduct.setRegisterDate(LocalDateTime.now());
+
+ salesLedgerProductMapper.insert(salesLedgerProduct);
ProductOrder productOrder = new ProductOrder();
productOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
productOrder.setProductModelId(salesLedgerProduct.getId());
- productOrder.setNpsNo("SC" + String.format("%08d", salesLedgerProduct.getId()));
+ productOrder.setNpsNo(OrderUtils.countTodayByCreateTime(productOrderMapper, "SC"));
productOrder.setQuantity(salesLedgerProduct.getQuantity());//闇�姹傛暟閲�
productOrder.setCompleteQuantity(BigDecimal.ZERO);//瀹屾垚鏁伴噺
productOrderMapper.insert(productOrder);
@@ -422,9 +432,9 @@
salesLedgerProductDtoIPage.getRecords().forEach(item -> {
// 鍒ゆ柇鐘舵��
if(item.getTaxInclusiveTotalPrice().compareTo(item.getInvoiceTotal()) == 0){
- item.setStatusName("宸插畬鎴愪粯娆�");
+ item.setStatusName("宸插畬鎴愬洖娆�");
}else{
- item.setStatusName("鏈畬鎴愪粯娆�");
+ item.setStatusName("鏈畬鎴愬洖娆�");
}
});
return salesLedgerProductDtoIPage;
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 e297168..83c3587 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -695,13 +695,14 @@
// 鎵ц鎻掑叆鎿嶄綔
if (!insertList.isEmpty()) {
for (SalesLedgerProduct salesLedgerProduct : insertList) {
+ salesLedgerProduct.setRegisterDate(LocalDateTime.now());
salesLedgerProduct.setType(type);
salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
// 娣诲姞鐢熶骇鏁版嵁
- salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
+// salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
}
}
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
index db9e181..902003b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -13,6 +13,7 @@
import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.common.utils.OrderUtils;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.framework.security.LoginUser;
@@ -28,6 +29,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.stream.Collectors;
@@ -59,7 +61,7 @@
@Override
public boolean add(SalesQuotationDto salesQuotationDto) {
- LoginUser loginUser = SecurityUtils.getLoginUser();
+// LoginUser loginUser = SecurityUtils.getLoginUser();
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
String quotationNo = OrderUtils.countTodayByCreateTime(salesQuotationMapper, "QT");
@@ -77,20 +79,20 @@
}).collect(Collectors.toList());
salesQuotationProductService.saveBatch(products);
// 鎶ヤ环瀹℃壒
- ApproveProcessVO approveProcessVO = new ApproveProcessVO();
- approveProcessVO.setApproveType(6);
- approveProcessVO.setApproveDeptId(loginUser.getTenantId());
- approveProcessVO.setApproveReason(quotationNo);
- approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds());
- approveProcessVO.setApproveUser(loginUser.getUserId());
- approveProcessVO.setApproveTime(LocalDate.now().toString());
- approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
- try {
- approveProcessService.addApprove(approveProcessVO);
- }catch (Exception e){
- log.error("SalesQuotationServiceImpl error:{}", e);
- throw new RuntimeException("瀹℃壒澶辫触");
- }
+// ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+// approveProcessVO.setApproveType(6);
+// approveProcessVO.setApproveDeptId(loginUser.getTenantId());
+// approveProcessVO.setApproveReason(quotationNo);
+// approveProcessVO.setApproveUserIds(salesQuotationDto.getApproveUserIds());
+// approveProcessVO.setApproveUser(loginUser.getUserId());
+// approveProcessVO.setApproveTime(LocalDate.now().toString());
+// approveProcessVO.setPrice(salesQuotationDto.getTotalAmount());
+// try {
+// approveProcessService.addApprove(approveProcessVO);
+// }catch (Exception e){
+// log.error("SalesQuotationServiceImpl error:{}", e);
+// throw new RuntimeException("瀹℃壒澶辫触");
+// }
return true;
}
@Override
@@ -117,13 +119,31 @@
}).collect(Collectors.toList());
salesQuotationProductService.saveBatch(products);
- // 淇敼鎶ヤ环瀹℃壒
- vo.setApproveUserIds(salesQuotationDto.getApproveUserIds());
- vo.setApproveType(6);
- vo.setApproveReason(salesQuotationDto.getQuotationNo());
- approveProcessService.updateApproveUser(vo);
+// // 淇敼鎶ヤ环瀹℃壒
+// vo.setApproveUserIds(salesQuotationDto.getApproveUserIds());
+// vo.setApproveType(6);
+// vo.setApproveReason(salesQuotationDto.getQuotationNo());
+// approveProcessService.updateApproveUser(vo);
return true;
}
+
+ @Override
+ public BigDecimal detail(String type, String productName, String specification) {
+ if(StringUtils.isEmpty(type)) return null;
+ SalesQuotationProduct salesQuotationProduct = salesQuotationProductMapper.selectOne(new LambdaQueryWrapper<SalesQuotationProduct>()
+ .eq(SalesQuotationProduct::getProduct, productName)
+ .eq(SalesQuotationProduct::getSpecification, specification)
+ .last("limit 1"));
+ if(salesQuotationProduct==null) return null;
+ switch (type){
+ case "涓�鎵瑰晢":
+ return salesQuotationProduct.getUnitPrice();
+ case "缁堢鍟�":
+ return salesQuotationProduct.getUnitPriceTwo();
+ default:
+ return salesQuotationProduct.getUnitPriceThree();
+ }
+ }
@Override
public boolean delete(Long id) {
salesQuotationMapper.deleteById(id);
diff --git a/src/main/resources/application-hsxny.yml b/src/main/resources/application-hsxny.yml
index 4c0a3f3..cdac434 100644
--- a/src/main/resources/application-hsxny.yml
+++ b/src/main/resources/application-hsxny.yml
@@ -62,7 +62,7 @@
druid:
# 涓诲簱鏁版嵁婧�
master:
- url: jdbc:mysql://172.17.0.1:3306/product-inventory-management-hsxny?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://172.17.0.1:3306/product-inventory-management-hsxnynew?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: xd@123456..
# 浠庡簱鏁版嵁婧�
--
Gitblit v1.9.3