From 75a48cf624bb06044207a2bc9b1310c326469a29 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 15 Sep 2022 14:59:52 +0800
Subject: [PATCH] 返回数量不为0的已出库库存数据
---
src/main/java/org/springblade/modules/process/controller/ProcessController.java | 35 +++++++++++++++++++++++++++++++++++
1 files changed, 35 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/process/controller/ProcessController.java b/src/main/java/org/springblade/modules/process/controller/ProcessController.java
index 7e3cb38..6367c02 100644
--- a/src/main/java/org/springblade/modules/process/controller/ProcessController.java
+++ b/src/main/java/org/springblade/modules/process/controller/ProcessController.java
@@ -28,7 +28,10 @@
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.entity.FarmProductStock;
import org.springblade.modules.farmplant.service.FarmProductStockService;
+import org.springblade.modules.processInv.entity.ProcessInv;
+import org.springblade.modules.processInv.service.IProcessInvService;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -36,6 +39,8 @@
import org.springblade.modules.process.vo.ProcessVO;
import org.springblade.modules.process.service.IProcessService;
import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.Date;
/**
* 加工记录表 控制器
@@ -51,6 +56,7 @@
private final IProcessService processService;
private final FarmProductStockService farmProductStockService;
+ private final IProcessInvService processInvService;
/**
* 详情
*/
@@ -117,6 +123,14 @@
}else {
//库存充足,减去相应库存
farmProductStockService.stockReduce(process.getSaleNum(),process.getProid());
+ //向加工产品库存表中添加数据
+ ProcessInv processInv = new ProcessInv();
+ processInv.setFpsId(process.getProid());
+ processInv.setProductId(Long.parseLong(process.getProcessId()));
+ processInv.setProductInventoryNum(process.getProcessNum());
+ processInv.setStrainId(Long.parseLong(process.getStrainId()));
+ processInv.setUpdateUser(process.getCreateUser());
+ processInvService.insertOrUpdate(processInv);
}
return R.status(processService.saveOrUpdate(process));
}
@@ -129,6 +143,27 @@
@ApiOperationSupport(order = 7)
@ApiOperation(value = "逻辑删除", notes = "传入ids")
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+ //对加工产品库存和农产品库存进行回滚
+ Process process = processService.getById(Long.parseLong(ids));
+ //通过strainId和landId 确定是由哪一个品种库存加工而来
+ FarmProductStock farmProductStock = farmProductStockService.selectBy2Id(process.getStrainId(),process.getLandId());
+ //通过strainId和processId(processId为产品id)确定对应的加工库存
+ ProcessInv processInv = processInvService.selectBySPId(process.getStrainId(),process.getProcessId(),farmProductStock.getId());
+ //农产品增加相应库存
+ Double weight = Double.parseDouble(farmProductStock.getWeight())+process.getSaleNum();
+ farmProductStock.setWeight(weight.toString());
+ farmProductStockService.updateById(farmProductStock);
+ //加工产品减少对应库存
+ Double num = processInv.getProductInventoryNum()-process.getProcessNum();
+ if (num<0){
+ //删除对应库存
+// processInvService.del(processInv.getId());
+ throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足,不能删除数据!"));
+ }else {
+ //更新库存
+ processInv.setProductInventoryNum(num);
+ processInvService.updateById(processInv);
+ }
return R.status(processService.deleteLogic(Func.toLongList(ids)));
}
--
Gitblit v1.9.3