From d3bd74b5e0d6b768ba87111e87969827c704732f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期三, 29 四月 2026 13:07:54 +0800
Subject: [PATCH] fix: 合并回款与收付款方式相关修复
---
src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java | 93 ++++++++++++++++++++++++++++++----------------
1 files changed, 60 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
index 56b3e15..49ef859 100644
--- a/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ShippingInfoController.java
@@ -2,21 +2,29 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
+import com.ruoyi.approve.bean.vo.ApproveProcessVO;
+import com.ruoyi.common.utils.OrderUtils;
+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.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.sales.dto.ShippingInfoDto;
import com.ruoyi.sales.mapper.ShippingInfoMapper;
-import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.ShippingInfo;
import com.ruoyi.sales.service.ShippingInfoService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.time.LocalDate;
import java.util.List;
/**
@@ -25,71 +33,90 @@
*/
@RestController
@RequestMapping("/shippingInfo")
-@Api(tags = "鍙戣揣淇℃伅绠$悊")
+@Tag(name = "鍙戣揣淇℃伅绠$悊")
+@AllArgsConstructor
public class ShippingInfoController extends BaseController {
- @Autowired
private ShippingInfoService shippingInfoService;
+ private ApproveProcessServiceImpl approveProcessService;
+ private ShippingInfoMapper shippingInfoMapper;
@GetMapping("/listPage")
- @ApiOperation("鍙戣揣淇℃伅鍒楄〃")
+ @Operation(summary = "鍙戣揣淇℃伅鍒楄〃")
public AjaxResult listPage(Page page, ShippingInfo req) {
- IPage<ShippingInfo> listPage = shippingInfoService.listPage(page,req);
+ IPage<ShippingInfoDto> listPage = shippingInfoService.listPage(page,req);
return AjaxResult.success(listPage);
}
@PostMapping("/add")
- @ApiOperation("娣诲姞鍙戣揣淇℃伅")
- public AjaxResult add(@RequestBody ShippingInfo req) {
+ @Operation(summary = "娣诲姞鍙戣揣淇℃伅")
+ @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","shipping_no");
+ // 鍙戣揣瀹℃壒
+ ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+ approveProcessVO.setApproveType(7);
+ approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
+ approveProcessVO.setApproveReason(req.getType() + ":" +sh);
+ 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();
}
+ @Operation(summary = "鍙戣揣鎵e簱瀛�")
+ @PostMapping("/deductStock")
+ @Transactional(rollbackFor = Exception.class)
+ @Log(title = "鍙戣揣淇℃伅绠$悊", businessType = BusinessType.UPDATE)
+ public AjaxResult deductStock(@RequestBody ShippingInfoDto req) throws IOException {
+ return shippingInfoService.deductStock( req) ? AjaxResult.success() : AjaxResult.error();
+ }
+
@PostMapping("/update")
- @ApiOperation("淇敼鍙戣揣淇℃伅")
+ @Operation(summary = "淇敼鍙戣揣淇℃伅")
+ @Transactional(rollbackFor = Exception.class)
+ @Log(title = "鍙戣揣淇℃伅绠$悊", businessType = BusinessType.UPDATE)
public AjaxResult update(@RequestBody ShippingInfo req) {
ShippingInfo byId = shippingInfoService.getById(req.getId());
if (byId == null) {
return AjaxResult.error("鍙戣揣淇℃伅涓嶅瓨鍦�");
- }
- Long userId = getLoginUser().getUserId();
- if(!userId.equals(Long.parseLong(byId.getCreateUser().toString()))){
- return AjaxResult.error("鎮ㄦ病鏈夋潈闄愪慨鏀规鍙戣揣淇℃伅");
}
boolean update = shippingInfoService.updateById(req);
return update ? AjaxResult.success() : AjaxResult.error();
}
@DeleteMapping("/delete")
- @ApiOperation("鍒犻櫎鍙戣揣淇℃伅")
+ @Operation(summary = "鍒犻櫎鍙戣揣淇℃伅")
+ @Transactional(rollbackFor = Exception.class)
+ @Log(title = "鍙戣揣淇℃伅绠$悊", businessType = BusinessType.DELETE)
public AjaxResult delete(@RequestBody List<Long> ids) {
- Long userId = getLoginUser().getUserId();
- ids.forEach(id -> {
- ShippingInfo byId = shippingInfoService.getById(id);
- if (byId == null) {
- throw new RuntimeException("鍙戣揣淇℃伅涓嶅瓨鍦�");
- }
- if(!userId.equals(Long.parseLong(byId.getCreateUser().toString()))){
- throw new RuntimeException("鎮ㄦ病鏈夋潈闄愬垹闄ゆ鍙戣揣淇℃伅");
- }
- });
- boolean delete = shippingInfoService.removeBatchByIds(ids);
- return delete ? AjaxResult.success("鍒犻櫎鎴愬姛") : AjaxResult.error("鍒犻櫎澶辫触");
- }
- @Autowired
- private ShippingInfoMapper shippingInfoMapper;
+ return shippingInfoService.delete(ids) ? AjaxResult.success("鍒犻櫎鎴愬姛") : AjaxResult.error("鍒犻櫎澶辫触");
+ }
/**
* 瀵煎嚭鍙戣揣淇℃伅绠$悊
*/
@PostMapping("/export")
- @ApiOperation("瀵煎嚭鍙戣揣淇℃伅")
+ @Operation(summary = "瀵煎嚭鍙戣揣淇℃伅")
public void export(HttpServletResponse response) {
List<ShippingInfo> list = shippingInfoMapper.listAll();
ExcelUtil<ShippingInfo> util = new ExcelUtil<ShippingInfo>(ShippingInfo.class);
util.exportExcel(response, list, "鍙戣揣淇℃伅");
}
+
+ @GetMapping("/getByCustomerName")
+ @Operation(summary = "閫氳繃瀹㈡埛鍚嶇О鏌ヨ")
+ public AjaxResult getByCustomerName(String customerName) {
+ return AjaxResult.success(shippingInfoService.getShippingInfoByCustomerName(customerName));
+ }
}
--
Gitblit v1.9.3