From fe371739b664c4e87914bcc7f3f550fec7e93121 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 18 Aug 2022 11:42:27 +0800
Subject: [PATCH] 保留农资退回记录,修复当农资库存为1时出库再退回,农资库存数据有误
---
src/main/java/org/springblade/modules/soldr/controller/SoldrController.java | 56 ++++++++++++++++++++++++---
src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java | 3 +
src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java | 11 +++--
src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml | 2
src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java | 4 +-
src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml | 1
src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java | 2
src/main/java/org/springblade/modules/soldr/service/ISoldrService.java | 2
src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml | 2
9 files changed, 65 insertions(+), 18 deletions(-)
diff --git a/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java b/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java
index 6b17768..5321715 100644
--- a/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java
+++ b/src/main/java/org/springblade/modules/soldr/controller/SoldrController.java
@@ -29,9 +29,12 @@
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.soldr.vo.SoldrVOs;
+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.stockrecord.entity.Stockrecord;
+import org.springblade.modules.stockrecord.service.IStockrecordService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -40,10 +43,7 @@
import org.springblade.modules.soldr.service.ISoldrService;
import org.springblade.core.boot.ctrl.BladeController;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 已出库存数量记录表 控制器
@@ -60,6 +60,7 @@
private final ISoldrService soldrService;
private final ISoldrecordService soldrecordService;
private final IStockService stockService;
+ private final IStockrecordService stockrecordService;
/**
* 详情
@@ -155,20 +156,21 @@
* @return
*/
@PostMapping("/out")
- public R out(Integer num, Long id, Integer type) {
+ public R out(Integer num, Long id, Integer type,Long createUser,Long createDept) {
//如果等于就修改并删除
- if (type == 0) {
+ if (type == 0) {//退回数量等于库存数量
Stock stock = new Stock();
stock.setId(id);
Stock detail1 = stockService.getOne(Condition.getQueryWrapper(stock));
Integer amount = detail1.getAmount();
stock.setAmount(amount + num);
+ stock.setState("0");
stockService.Updaet(stock);
//删除
soldrService.del(id);
}
//如果小于就修改
- else {
+ else {//退回数量小于库存数量
Soldr soldr = new Soldr();
soldr.setSid(id);
//通过农资库存id找到已出库农资表中对应的农资
@@ -213,9 +215,49 @@
Stock detail1 = stockService.getOne(Condition.getQueryWrapper(stock));
Integer amount = detail1.getAmount();
stock.setAmount(amount + num);
+ stock.setState("0");
//更新库存表
stockService.Updaet(stock);
+ //更新已出库待使用农资记录表
+ Soldrecord soldrecord = new Soldrecord();
+ soldrecord.setAmount1(num);
+ soldrecord.setSid(detail1.getId());
+ soldrecord.setSpecs1(detail1.getSpecs());
+ soldrecord.setSpecsVal1(detail1.getSpecsValue1());
+ soldrecord.setSpecsVal2(detail1.getSpecsValue2());
+ soldrecord.setType("4");
+ soldrecord.setStockId1(detail1.getStockId());
+ soldrecord.setIsDeleted(0);
+ soldrecord.setStatus(1);
+ soldrecord.setCreateTime(new Date());
+ soldrecord.setUpdateTime(new Date());
+ soldrecord.setCreateUser(createUser);
+ soldrecord.setCreateDept(createDept);
+ soldrecord.setUpdateUser(createUser);
+ soldrecordService.save(soldrecord);
+ //更新出入库记录表
+ Stockrecord stockrecord = new Stockrecord();
+ stockrecord.setAmount1(num);
+ stockrecord.setCensus(v);
+ stockrecord.setDeptId(detail1.getDeptId());
+ stockrecord.setSid(detail1.getId());
+ stockrecord.setStockId1(detail1.getStockId());
+ stockrecord.setTime1(new Date());
+ stockrecord.setType1(detail1.getType());//入库类型?
+ stockrecord.setSpecs1(detail1.getSpecs());
+ stockrecord.setSpecsVal1(detail1.getSpecsValue1());
+ stockrecord.setSpecsVal2(detail1.getSpecsValue2());
+ stockrecord.setCreateUser(createUser);
+ stockrecord.setCreateDept(createDept);
+ stockrecord.setCreateTime(new Date());
+// stockrecord.setUpdateUser();
+ stockrecord.setStatus(1);
+ stockrecord.setIsDeleted(0);
+ stockrecord.setStockType1(1);//入库还是出库?暂定为入库
+ stockrecord.setSrId(soldrecord.getId());
+ stockrecordService.save(stockrecord);
}
+
return R.success("退回成功");
}
diff --git a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java
index 7840b82..c268ab2 100644
--- a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java
+++ b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.java
@@ -46,7 +46,7 @@
void del(Long id);
void dels(Long id);
List<SoldrVO> selectSol(@Param("farmId") String farmId);
- List<Map<String, Object>> selectCz(Long sid);
+ List<Map<String, Object>> selectCz(@Param("sid") Long sid,@Param("deptId") String deptId);
/**
* 根据stockId、specs1、specs_val1、specs_val2、sid 找到soldr表中对应的数据
* @param stockId1 种类id
diff --git a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml
index 58af5da..87c6b5a 100644
--- a/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml
+++ b/src/main/java/org/springblade/modules/soldr/mapper/SoldrMapper.xml
@@ -116,7 +116,7 @@
<select id="selectCz" resultType="java.util.Map">
SELECT census, sid, amount1
FROM `sys_soldr`
- WHERE sid = #{sid}
+ WHERE sid = #{sid} AND dept_id = #{deptId}
</select>
<!-- 根据stockId、specs1、specs_val1、specs_val2、sid-->
<select id="getByServalParam" resultType="org.springblade.modules.soldr.entity.Soldr">
diff --git a/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java b/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java
index bc98c05..088896e 100644
--- a/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java
+++ b/src/main/java/org/springblade/modules/soldr/service/ISoldrService.java
@@ -44,7 +44,7 @@
void del(Long id);
void dels(Long id);
List<SoldrVO> selectSol(String farmId);
- List<Map<String, Object>> selectCz(Long sid);
+ List<Map<String, Object>> selectCz(Long sid,String deptId);
/**
* 根据stockId、amount1、specs1、specs_val1、specs_val2、sid 找到soldr表中对应的数据
diff --git a/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java b/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java
index ca5cb71..c1f8241 100644
--- a/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java
+++ b/src/main/java/org/springblade/modules/soldr/service/impl/SoldrServiceImpl.java
@@ -62,8 +62,8 @@
}
@Override
- public List<Map<String, Object>> selectCz(Long sid) {
- return baseMapper.selectCz(sid);
+ public List<Map<String, Object>> selectCz(Long sid,String deptId) {
+ return baseMapper.selectCz(sid,deptId);
}
@Override
diff --git a/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java b/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
index ecfafae..1ec56a9 100644
--- a/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
+++ b/src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
@@ -39,4 +39,7 @@
String agrname;
Integer cnum;
String codes;
+
+ Integer outNum;
+ Integer outType;
}
diff --git a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
index 2a735ab..ac597dc 100644
--- a/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
+++ b/src/main/java/org/springblade/modules/soldrecord/mapper/SoldrecordMapper.xml
@@ -103,6 +103,7 @@
<if test="soldrecord.deptId != null and soldrecord.deptId !=''">
and str.dept_id = #{soldrecord.deptId}
</if>
+ ORDER BY st.create_time DESC
</select>
<update id="updateSold">
diff --git a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
index e7abe23..b4824f9 100644
--- a/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
+++ b/src/main/java/org/springblade/modules/stock/mapper/StockMapper.xml
@@ -137,7 +137,7 @@
<!--入库出库-->
<update id="Updaet">
update sys_stock
- set amount = #{stock.amount}
+ set amount = #{stock.amount},state = #{stock.state}
where id = #{stock.id}
</update>
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 8c8b82c..83b8eee 100644
--- a/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
+++ b/src/main/java/org/springblade/modules/stockrecord/controller/StockrecordController.java
@@ -144,6 +144,7 @@
@ApiOperation(value = "新增", notes = "传入stockrecord")
public R save(@Valid @RequestBody StockrecordVO stockrecord) {
Integer stockType1 = stockrecord.getStockType1();
+ //0出库 1入库
//出库
if (stockType1 == 0) {
//库存量
@@ -193,8 +194,8 @@
stock.setState("1");
stockService.UpdaeAmountc(stock);
//同时删除所有农资记录
- soldrecordService.delc(stockrecord.getStockId1());
- soldrService.del(stockrecord.getSid());
+// soldrecordService.delc(stockrecord.getStockId1());
+// soldrService.del(stockrecord.getSid());
} else {
stock.setState("0");
stockService.UpdaeAmountc(stock);
@@ -209,7 +210,7 @@
soldrecord.setType(stockrecord.getType1());
soldrecord.setSid(stockrecord.getSid());
String type1 = stockrecord.getType1();
- if (type1.equals("0")) {
+ if (type1.equals("0")) { //0 采购入库
//已出库农资数量记录
Soldr soldr = new Soldr();
soldr.setSid(stockrecord.getSid());
@@ -222,8 +223,8 @@
soldr.setCensus(v);
soldr.setDeptId(stockrecord.getDeptId());
//已出库农资数量
- List<Map<String, Object>> maps = soldrService.selectCz(stockrecord.getSid());
- if (maps.size()!=0) {
+ List<Map<String, Object>> maps = soldrService.selectCz(stockrecord.getSid(),stockrecord.getDeptId());
+ if (maps.size()!=0) {//已出库存表中有重复的
String a = maps.get(0).get("amount1").toString();
Integer amount11=Integer.parseInt(a);
String amount12 = maps.get(0).get("amount1").toString();
--
Gitblit v1.9.3