From 3bd3767aeb905dd8a560e251658d5b272a51ccf4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 03 四月 2026 11:17:13 +0800
Subject: [PATCH] fix: 新增台账没有状态
---
src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java | 102 +++++++++++++++++++++++++--------------------------
1 files changed, 50 insertions(+), 52 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
index 1be6dce..4f00394 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -1,18 +1,22 @@
package com.ruoyi.sales.controller;
-// import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.approve.mapper.ApproveProcessMapper;
// import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
// import com.ruoyi.approve.vo.ApproveProcessVO;
// import com.ruoyi.common.enums.FileNameType;
+import com.ruoyi.approve.service.IApproveProcessService;
+import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.common.utils.OrderUtils;
// import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
// import com.ruoyi.framework.security.LoginUser;
+import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
// import com.ruoyi.other.service.impl.TempFileServiceImpl;
@@ -38,7 +42,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
// import java.time.LocalDate;
-import java.util.ArrayList;
+import java.time.LocalDate;
import java.util.List;
/**
@@ -56,8 +60,8 @@
// @Autowired
// private CommonFileServiceImpl commonFileService;
- // @Autowired
- // private ApproveProcessServiceImpl approveProcessService;
+ @Autowired
+ private IApproveProcessService approveProcessService;
// @Autowired
// private StockUtils stockUtils;
@@ -67,6 +71,9 @@
@Autowired
private ISalesLedgerService salesLedgerService;
+
+ @Autowired
+ private com.ruoyi.sales.mapper.SalesLedgerProductMapper salesLedgerProductMapper;
@GetMapping("/listPage")
@@ -81,65 +88,56 @@
@Transactional(rollbackFor = Exception.class)
@Log(title = "鍙戣揣淇℃伅绠$悊", businessType = BusinessType.INSERT)
public AjaxResult add(@RequestBody ShippingInfoDto req) throws Exception {
- // LoginUser loginUser = SecurityUtils.getLoginUser();
- String sh = OrderUtils.countTodayByCreateTime(shippingInfoMapper, "SH");
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+
+ if (req.getSalesLedgerId() == null) {
+ return AjaxResult.error("鍏宠仈璁㈠崟 ID 涓嶈兘涓虹┖");
+ }
- /* // 鍘熸湁鐨勫崟浜у搧鍙戣揣鍙婂鎵归�昏緫
- // 鍙戣揣瀹℃壒
+ SalesLedger salesLedger = salesLedgerService.getById(req.getSalesLedgerId());
+ if (salesLedger == null) {
+ return AjaxResult.error("鍏宠仈璁㈠崟涓嶅瓨鍦�");
+ }
+
+ // 妫�鏌ユ槸鍚﹀凡缁忓湪瀹℃壒涓垨宸插彂璐�
+ if (salesLedger.getDeliveryStatus() != null && salesLedger.getDeliveryStatus() >= 2 && !salesLedger.getDeliveryStatus().equals(3)) {
+ return AjaxResult.error("璇ヨ鍗曞凡鍦ㄥ鎵逛腑鎴栧凡鍙戣揣锛屾棤娉曢噸澶嶅彂璧�");
+ }
+
+ String shNo = OrderUtils.countTodayByCreateTime(shippingInfoMapper, "SH");
+
+ // 鍙戣捣璁㈠鎵�
ApproveProcessVO approveProcessVO = new ApproveProcessVO();
approveProcessVO.setApproveType(7);
approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
- approveProcessVO.setApproveReason(req.getType() + ":" +sh);
+ // 瀹℃壒鐞嗙敱鍖呭惈鍚堝悓鍙凤紝鐢ㄤ簬鍚庣画瀹℃壒閫氳繃鍚庢壘鍥炶鍗�
+ approveProcessVO.setApproveReason("鍙戣揣瀹℃壒:" + salesLedger.getSalesContractNo());
approveProcessVO.setApproveUserIds(req.getApproveUserIds());
approveProcessVO.setApproveUser(loginUser.getUserId());
approveProcessVO.setApproveTime(LocalDate.now().toString());
approveProcessService.addApprove(approveProcessVO);
- // 娣诲姞鍙戣揣娑堟伅
- req.setShippingNo(sh);
- req.setStatus("寰呭鏍�");
- boolean save = shippingInfoService.save(req);
- return save ? AjaxResult.success() : AjaxResult.error();
- */
- // 鎸夋暣涓鍗曞彂璐э紝涓嶉渶瀹℃壒
- if (req.getSalesLedgerId() == null) {
- return AjaxResult.error("璇烽�夋嫨鍙戣揣璁㈠崟");
+ // 鏇存柊閿�鍞彴璐︾姸鎬佷负 2 (瀹℃壒涓�)
+ salesLedger.setDeliveryStatus(2);
+ salesLedgerService.updateById(salesLedger);
+
+ // 涓鸿鍗曚笅鐨勬瘡涓�涓骇鍝佺敓鎴愬彂璐у彴璐﹁褰� (鏄剧ず鍗曚釜浜у搧)
+ List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(new LambdaQueryWrapper<SalesLedgerProduct>()
+ .eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId()));
+
+ if (CollectionUtils.isNotEmpty(products)) {
+ for (SalesLedgerProduct product : products) {
+ ShippingInfo si = new ShippingInfo();
+ si.setSalesLedgerId(salesLedger.getId());
+ si.setSalesLedgerProductId(product.getId());
+ si.setShippingNo(shNo);
+ si.setStatus("寰呭鏍�");
+ si.setType(req.getType()); // 鏉ユ簮/绫诲瀷
+ shippingInfoService.save(si);
+ }
}
- // 鑾峰彇璇ヨ鍗曚笅鐨勬墍鏈変骇鍝�
- SalesLedgerProduct query = new SalesLedgerProduct();
- query.setSalesLedgerId(req.getSalesLedgerId());
- List<SalesLedgerProduct> productList = salesLedgerProductService.selectSalesLedgerProductList(query);
-
- if (CollectionUtils.isEmpty(productList)) {
- return AjaxResult.error("璇ヨ鍗曚笅鏃犲緟鍙戣揣浜у搧");
- }
-
- // 涓烘瘡涓骇鍝佸垱寤哄彂璐т俊鎭�
- List<ShippingInfo> shippingInfoList = new ArrayList<>();
- for (SalesLedgerProduct product : productList) {
- ShippingInfo shippingInfo = new ShippingInfo();
- shippingInfo.setSalesLedgerId(req.getSalesLedgerId());
- shippingInfo.setSalesLedgerProductId(product.getId());
- shippingInfo.setShippingNo(sh);
- shippingInfo.setStatus("瀹℃牳閫氳繃"); // 鐩存帴璁句负瀹℃牳閫氳繃锛岃烦杩囧鎵�
- shippingInfo.setType(req.getType());
- shippingInfo.setExpressCompany(req.getExpressCompany());
- shippingInfo.setExpressNumber(req.getExpressNumber());
- shippingInfo.setShippingDate(req.getShippingDate());
- shippingInfo.setShippingCarNumber(req.getShippingCarNumber());
- shippingInfoList.add(shippingInfo);
- }
-
- boolean save = shippingInfoService.saveBatch(shippingInfoList);
- if (save) {
- // 鏇存柊閿�鍞彴璐︾殑鍙戣揣鐘舵�佷负宸插彂璐�
- SalesLedger salesLedger = new SalesLedger();
- salesLedger.setId(req.getSalesLedgerId());
- salesLedger.setDeliveryStatus(1);
- salesLedgerService.updateById(salesLedger);
- }
- return save ? AjaxResult.success() : AjaxResult.error();
+ return AjaxResult.success("鍙戣揣瀹℃壒宸插彂璧�");
}
@ApiOperation("鍙戣揣鎵e簱瀛�")
--
Gitblit v1.9.3