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("退回成功"); } 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 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"> 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表中对应的数据 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 src/main/java/org/springblade/modules/soldr/vo/SoldrVO.java
@@ -39,4 +39,7 @@ String agrname; Integer cnum; String codes; Integer outNum; Integer outType; } 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"> 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> 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();