From ea7c1df32b0c8830173ba01a647706a5ded10ce8 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 21 一月 2026 18:00:57 +0800
Subject: [PATCH] yys 1.调整生产管控流程
---
src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java | 69 ++++++++++++++++++++++++++++++++--
1 files changed, 64 insertions(+), 5 deletions(-)
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 104a712..902003b 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesQuotationServiceImpl.java
@@ -6,7 +6,17 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.approve.service.IApproveProcessService;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
+import com.ruoyi.approve.vo.ApproveGetAndUpdateVo;
+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;
import com.ruoyi.sales.dto.SalesQuotationDto;
import com.ruoyi.sales.mapper.SalesQuotationMapper;
import com.ruoyi.sales.mapper.SalesQuotationProductMapper;
@@ -19,6 +29,8 @@
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;
@@ -31,6 +43,9 @@
private SalesQuotationProductMapper salesQuotationProductMapper;
@Autowired
private SalesQuotationProductService salesQuotationProductService;
+
+ @Autowired
+ private ApproveProcessServiceImpl approveProcessService;
@Override
public IPage<SalesQuotationDto> listPage(Page page, SalesQuotationDto salesQuotationDto) {
IPage<SalesQuotationDto> salesQuotationDtoIPage = salesQuotationMapper.listPage(page, salesQuotationDto);
@@ -46,29 +61,49 @@
@Override
public boolean add(SalesQuotationDto salesQuotationDto) {
+// LoginUser loginUser = SecurityUtils.getLoginUser();
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
- String quotationNo = salesQuotation.getQuotationNo();
+ String quotationNo = OrderUtils.countTodayByCreateTime(salesQuotationMapper, "QT");
+ salesQuotation.setQuotationNo(quotationNo);
+ salesQuotation.setStatus("寰呭鎵�");
salesQuotationMapper.insert(salesQuotation);
-// if(salesQuotationMapper.insert(salesQuotation)!=1){
-// return false;
-// }
if(CollectionUtils.isEmpty(salesQuotationDto.getProducts())){
return true;
}
List<SalesQuotationProduct> products = salesQuotationDto.getProducts().stream().map(product -> {
SalesQuotationProduct salesQuotationProduct = new SalesQuotationProduct();
BeanUtils.copyProperties(product, salesQuotationProduct);
- salesQuotationProduct.setSalesQuotationId(salesQuotationMapper.selectOne(new LambdaQueryWrapper<SalesQuotation>().eq(SalesQuotation::getQuotationNo, quotationNo)).getId());
+ salesQuotationProduct.setSalesQuotationId(salesQuotation.getId());
return salesQuotationProduct;
}).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("瀹℃壒澶辫触");
+// }
return true;
}
@Override
public boolean edit(SalesQuotationDto salesQuotationDto) {
SalesQuotation salesQuotation = new SalesQuotation();
BeanUtils.copyProperties(salesQuotationDto, salesQuotation);
+ ApproveGetAndUpdateVo vo = new ApproveGetAndUpdateVo();
+ if("鎷掔粷".equals(salesQuotationDto.getStatus())){
+ vo.setApproveStatus(0);
+ salesQuotation.setStatus("寰呭鎵�");
+ }
if(salesQuotationMapper.updateById(salesQuotation)!=1){
return false;
}
@@ -82,9 +117,33 @@
salesQuotationProduct.setSalesQuotationId(salesQuotation.getId());
return salesQuotationProduct;
}).collect(Collectors.toList());
+
salesQuotationProductService.saveBatch(products);
+// // 淇敼鎶ヤ环瀹℃壒
+// 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);
--
Gitblit v1.9.3