From 4d60a2ee6bbfe76e2740307c832c8f309090a41e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 19 Aug 2022 10:42:06 +0800
Subject: [PATCH] 加工产品在销售记录表和损耗记录表中加上相应的地块
---
src/main/java/org/springblade/modules/sale/controller/SaleController.java | 85 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 77 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/springblade/modules/sale/controller/SaleController.java b/src/main/java/org/springblade/modules/sale/controller/SaleController.java
index b2ee976..6c0b34f 100644
--- a/src/main/java/org/springblade/modules/sale/controller/SaleController.java
+++ b/src/main/java/org/springblade/modules/sale/controller/SaleController.java
@@ -28,6 +28,12 @@
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.modules.farmplant.service.FarmProductStockService;
+import org.springblade.modules.process.service.IProcessService;
+import org.springblade.modules.processInv.entity.ProcessInv;
+import org.springblade.modules.processInv.service.IProcessInvService;
+import org.springblade.modules.processInv.vo.ProcessInvVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -35,6 +41,8 @@
import org.springblade.modules.sale.vo.SaleVO;
import org.springblade.modules.sale.service.ISaleService;
import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.Date;
/**
* 销售记录表 控制器
@@ -49,7 +57,9 @@
public class SaleController extends BladeController {
private final ISaleService saleService;
-
+ private final FarmProductStockService farmProductStockService;
+// private final IProcessService processService;
+ private final IProcessInvService processInvService;
/**
* 详情
*/
@@ -109,10 +119,51 @@
@PostMapping("/submit")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "新增或修改", notes = "传入sale")
- public R submit(@Valid @RequestBody Sale sale) {
+ public R submit(@Valid @RequestBody SaleVO sale) {
+ boolean res = farmProductStockService.stockCompare(sale.getSaleNum(),sale.getProid());
+ if (!res){
+ throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足!"));
+ }else {
+ //库存充足,减去相应库存
+ farmProductStockService.stockReduce(sale.getSaleNum(),sale.getProid());
+ }
return R.status(saleService.saveOrUpdate(sale));
}
+ /**
+ * 新增或修改 销售记录表(加工产品)
+ */
+ @PostMapping("/submitProcess")
+ @ApiOperationSupport(order = 8)
+ @ApiOperation(value = "新增或修改", notes = "传入sale")
+ public R submitProcess(@Valid @RequestBody SaleVO sale) {
+// //对比加工表库存量
+// boolean res = processService.stockCompare(sale.getSaleNum(),sale.getProid());
+// if (!res){
+// throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足!"));
+// }else {
+// //库存充足,减去相应库存
+// processService.stockReduce(sale.getSaleNum(),sale.getProid());
+// }
+// return R.status(saleService.saveOrUpdate(sale));
+ //对比加工表库存量
+ boolean res = processInvService.stockCompare(sale.getSaleNum(),sale.getProid());
+ if (!res){
+ throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足!"));
+ }else {
+ //库存充足,减去相应库存
+ processInvService.stockReduce(sale.getSaleNum(),sale.getProid());
+ //更新updateTIme 和 updateUser
+ ProcessInv processInv = new ProcessInv();
+ processInv.setUpdateUser(sale.getCreateUser());
+ processInv.setUpdateTime(new Date());
+ processInv.setId(Long.parseLong(sale.getProid()));
+ ProcessInvVO processInvVO = processInvService.getLand(processInv);
+ sale.setLandId(processInvVO.getLandId());
+ processInvService.updateById(processInv);
+ }
+ return R.status(saleService.saveOrUpdate(sale));
+ }
/**
* 删除 销售记录表
@@ -127,17 +178,35 @@
/**
* 大屏销售统计
*/
- @PostMapping("/selctSaletCount")
- public R selctSaletCount(String year) {
- return R.data(saleService.selctSaletCount(year));
+ @GetMapping("/selctSaletCount")
+ public R selctSaletCount(String farmId) {
+ return R.data(saleService.selctSaletCount(farmId));
}
/**
* 统计今年和去年的销售总额
*/
- @PostMapping("/selctSaletZ")
- public R selctSaletZ() {
- return R.data(saleService.selctSaletZ());
+ @GetMapping("/selctSaletZ")
+ public R selctSaletZ(SaleVO sale) {
+ return R.data(saleService.selctSaletZ(sale));
+ }
+
+ /**
+ * 统计市场流通/去年流通量/本月流通量
+ * @param sale
+ * @return
+ */
+ @GetMapping("/selectMarketCirculate")
+ public R selectMarketCirculate(SaleVO sale) {
+ return R.data(saleService.selectMarketCirculate(sale));
+ }
+
+ /**
+ * 按行政区统计市场流通
+ */
+ @GetMapping("/selectMarketDistrict")
+ public R selectMarketDistrict(String farmId,String startTime,String endTime) {
+ return R.data(saleService.selectMarketDistrict(farmId,startTime,endTime));
}
}
--
Gitblit v1.9.3