From e71881a6ade967e45ba62b802028e2a2d2dfdee0 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Wed, 15 Jun 2022 18:05:07 +0800
Subject: [PATCH] 农资库存管理
---
src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java | 189 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 185 insertions(+), 4 deletions(-)
diff --git a/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java b/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
index 45068c4..eec21db 100644
--- a/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
+++ b/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
@@ -21,12 +21,21 @@
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
+
import javax.validation.Valid;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.service.ISoldrService;
+import org.springblade.modules.soldrecord.entity.Soldrecord;
+import org.springblade.modules.soldrecord.service.ISoldrecordService;
+import org.springblade.modules.stock.entity.Stock;
+import org.springblade.modules.stock.service.IStockService;
+import org.springblade.modules.system.entity.DictBiz;
+import org.springblade.modules.system.service.IDictBizService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -34,6 +43,8 @@
import org.springblade.modules.stockrecord.vo.StockrecordVO;
import org.springblade.modules.stockrecord.service.IStockrecordService;
import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.List;
/**
* 出入库记录 控制器
@@ -48,6 +59,10 @@
public class StockrecordController extends BladeController {
private final IStockrecordService stockrecordService;
+ private final IStockService stockService;
+ private final IDictBizService dictService;
+ private final ISoldrecordService soldrecordService;
+ private final ISoldrService soldrService;
/**
* 详情
@@ -78,7 +93,42 @@
@ApiOperationSupport(order = 3)
@ApiOperation(value = "分页", notes = "传入stockrecord")
public R<IPage<StockrecordVO>> page(StockrecordVO stockrecord, Query query) {
- IPage<StockrecordVO> pages = stockrecordService.selectStockrecordPage(Condition.getPage(query), stockrecord);
+ IPage<StockrecordVO> pages = stockrecordService.seletStockRecordList(Condition.getPage(query), stockrecord);
+ for (int i = 0; i < pages.getRecords().size(); i++) {
+ String specs = pages.getRecords().get(i).getSpecs1();
+ String dic1 = pages.getRecords().get(i).getDic1();
+ String dic2 = pages.getRecords().get(i).getDic2();
+ String s = specs + dic1 + "/" + dic2;
+ //出库
+ if (pages.getRecords().get(i).getStockType1() == 0) {
+ String count = "-" + pages.getRecords().get(i).getAmount1() + dic2;
+ pages.getRecords().get(i).setCount(count);
+ } else {
+ String count = "+" + pages.getRecords().get(i).getAmount1() + dic2;
+ pages.getRecords().get(i).setCount(count);
+ }
+ pages.getRecords().get(i).setSpn(s);
+ //获取农资出入库类型 0:出库 1:入库
+ Integer stockType1 = pages.getRecords().get(i).getStockType1();
+ String type1 = pages.getRecords().get(i).getType1();
+ if (stockType1 == 0) {
+ List<DictBiz> tree = dictService.getList("stockPurchase1");
+ for (int j = 0; j < tree.size(); j++) {
+ if (tree.get(j).getDictKey().equals(type1)) {
+ pages.getRecords().get(i).setType1(tree.get(j).getDictValue());
+ }
+ }
+
+ } else {
+ List<DictBiz> tree = dictService.getList("stockPurchase");
+ for (int j = 0; j < tree.size(); j++) {
+ if (tree.get(j).getDictKey().equals(type1)) {
+ pages.getRecords().get(i).setType1(tree.get(j).getDictValue());
+ }
+ }
+ }
+
+ }
return R.data(pages);
}
@@ -88,7 +138,138 @@
@PostMapping("/save")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增", notes = "传入stockrecord")
- public R save(@Valid @RequestBody Stockrecord stockrecord) {
+ public R save(@Valid @RequestBody StockrecordVO stockrecord) {
+ Integer stockType1 = stockrecord.getStockType1();
+ //出库
+ if (stockType1 == 0) {
+ //库存量
+ Integer num = stockrecord.getNum();
+ //出库量
+ Integer amount1 = stockrecord.getAmount1();
+ //当前总量
+ int i = num - amount1;
+ Stock stock = new Stock();
+ stock.setId(stockrecord.getSid());
+ stock.setAmount(i);
+ //统计公斤
+ Integer specsValue1 = stockrecord.getSpecsVal1();
+ double v = 0;
+ //克
+ if (specsValue1 == 0) {
+ v = amount1 * 0.001;
+ }
+ //斤
+ if (specsValue1 == 1) {
+ v = amount1 * 0.5;
+ }
+ //公斤
+ if (specsValue1 == 2) {
+ v = amount1;
+ }
+ //吨
+ if (specsValue1 == 3) {
+ v = amount1 * 1000;
+ }
+ //毫升
+ if (specsValue1 == 4) {
+ //毫升换成升
+ double s = amount1 * 0.001;
+ //升换成公斤
+ v = s;
+ }
+ //升
+ if (specsValue1 == 5) {
+ v = amount1;
+ }
+ stockrecord.setCensus(v);
+ if (i == 0) {
+ stock.setState("1");
+ stockService.UpdaeAmountc(stock);
+ //同时删除所有农资记录
+ soldrecordService.delc(stockrecord.getStockId1());
+ soldrService.del(stockrecord.getSid());
+ } else {
+ stock.setState("0");
+ stockService.UpdaeAmountc(stock);
+ }
+ //已出库农资记录
+ Soldrecord soldrecord = new Soldrecord();
+ soldrecord.setStockId1(stockrecord.getStockId1());
+ soldrecord.setAmount1(amount1);
+ soldrecord.setSpecs1(stockrecord.getSpecs1());
+ soldrecord.setSpecsVal1(stockrecord.getSpecsVal1());
+ soldrecord.setSpecsVal2(stockrecord.getSpecsVal2());
+ soldrecord.setType(stockrecord.getType1());
+ soldrecord.setSid(stockrecord.getSid());
+ String type1 = stockrecord.getType1();
+ if (type1.equals("0")) {
+ //已出库农资数量记录
+ Soldr soldr = new Soldr();
+ soldr.setSid(stockrecord.getSid());
+ soldr.setStockId1(stockrecord.getStockId1());
+ soldr.setStockId1(stockrecord.getStockId1());
+ soldr.setAmount1(amount1);
+ soldr.setSpecs1(stockrecord.getSpecs1());
+ soldr.setSpecsVal1(stockrecord.getSpecsVal1());
+ soldr.setSpecsVal2(stockrecord.getSpecsVal2());
+ soldr.setType(stockrecord.getType1());
+ //已出库农资数量
+ Soldr detail = soldrService.getOne(Condition.getQueryWrapper(soldr));
+ if (null != detail) {
+ Integer amount11 = detail.getAmount1();
+ soldrecordService.updateSold(amount11 + amount1, detail.getSid());
+ } else {
+ soldrService.save(soldr);
+ }
+ //已出库农资
+ soldrecordService.save(soldrecord);
+ }
+ }
+ //入库
+ else {
+ //库存量
+ Integer num = stockrecord.getNum();
+ //入库量
+ Integer amount1 = stockrecord.getAmount1();
+ //当前总量
+ int i = num + amount1;
+ Stock stock = new Stock();
+ stock.setId(stockrecord.getSid());
+ stock.setAmount(i);
+ stock.setState("0");
+ stockService.UpdaeAmountc(stock);
+ //统计公斤
+ Integer specsValue1 = stockrecord.getSpecsVal1();
+ double v = 0;
+ //克
+ if (specsValue1 == 0) {
+ v = amount1 * 0.001;
+ }
+ //斤
+ if (specsValue1 == 1) {
+ v = amount1 * 0.5;
+ }
+ //公斤
+ if (specsValue1 == 2) {
+ v = amount1;
+ }
+ //吨
+ if (specsValue1 == 3) {
+ v = amount1 * 1000;
+ }
+ //毫升
+ if (specsValue1 == 4) {
+ //毫升换成升
+ double s = amount1 * 0.001;
+ //升换成公斤
+ v = s;
+ }
+ //升
+ if (specsValue1 == 5) {
+ v = amount1;
+ }
+ stockrecord.setCensus(v);
+ }
return R.status(stockrecordService.save(stockrecord));
}
@@ -112,7 +293,7 @@
return R.status(stockrecordService.saveOrUpdate(stockrecord));
}
-
+
/**
* 删除 出入库记录
*/
@@ -123,5 +304,5 @@
return R.status(stockrecordService.deleteLogic(Func.toLongList(ids)));
}
-
+
}
--
Gitblit v1.9.3