From a04d388d2f0912eb56920f4ca83d405a6e007c4f Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 17 Oct 2022 10:14:27 +0800
Subject: [PATCH] 修改farmplant类 per、plantNumber、plantSpacing的更新策略为IGNORED

---
 src/main/java/org/springblade/modules/retrieval/controller/RetrievalController.java |   64 ++++++++++++++++++++++++++++++++
 1 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/retrieval/controller/RetrievalController.java b/src/main/java/org/springblade/modules/retrieval/controller/RetrievalController.java
index 410185a..304929e 100644
--- a/src/main/java/org/springblade/modules/retrieval/controller/RetrievalController.java
+++ b/src/main/java/org/springblade/modules/retrieval/controller/RetrievalController.java
@@ -29,7 +29,13 @@
 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.InventoryLoss.entity.Inventory;
+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.springblade.modules.processInv.vo.ProcessInvVO;
+import org.springblade.modules.sale.vo.SaleVO;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -37,6 +43,8 @@
 import org.springblade.modules.retrieval.vo.RetrievalVO;
 import org.springblade.modules.retrieval.service.IRetrievalService;
 import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.Date;
 
 /**
  * 库存出库记录表 控制器
@@ -52,6 +60,7 @@
 
 	private final IRetrievalService retrievalService;
 	private final FarmProductStockService farmProductStockService;
+	private final IProcessInvService processInvService;
 
 	/**
 	 * 详情
@@ -120,9 +129,45 @@
 			//库存充足,减去相应库存
 			farmProductStockService.stockReduce(retrieval.getSaleNum(), retrieval.getProid());
 		}
+		retrieval.setProdId(retrieval.getProid());
 		return R.status(retrievalService.saveOrUpdate(retrieval));
 	}
 
+	/**
+	 * 新增或修改 库存出库记录表(加工产品)
+	 */
+	@PostMapping("/submitProcess")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "新增或修改", notes = "传入sale")
+	public R submitProcess(@Valid @RequestBody RetrievalVO retrieval) {
+//		//对比加工表库存量
+//		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(retrieval.getSaleNum(),retrieval.getProid());
+		if (!res){
+			throw new org.springblade.core.log.exception.ServiceException(StringUtil.format("当前库存不足!"));
+		}else {
+			//库存充足,减去相应库存
+			processInvService.stockReduce(retrieval.getSaleNum(),retrieval.getProid());
+			//更新updateTIme 和 updateUser
+			ProcessInv processInv = new ProcessInv();
+			processInv.setUpdateUser(retrieval.getCreateUser());
+			processInv.setUpdateTime(new Date());
+			processInv.setId(Long.parseLong(retrieval.getProid()));
+			ProcessInvVO processInvVO = processInvService.getLand(processInv);
+			retrieval.setLandId(processInvVO.getLandId());
+			processInvService.updateById(processInv);
+		}
+		retrieval.setProdId(retrieval.getProid());
+		return R.status(retrievalService.saveOrUpdate(retrieval));
+	}
 
 	/**
 	 * 删除 库存出库记录表
@@ -131,6 +176,25 @@
 	@ApiOperationSupport(order = 7)
 	@ApiOperation(value = "逻辑删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+//		Retrieval retrieval = retrievalService.getById(Long.parseLong(ids));
+//		FarmProductStock farmProductStock = farmProductStockService.selectBy2Id(retrieval.getStrainId(), retrieval.getLandId());
+//		Double weight = Double.parseDouble(farmProductStock.getWeight())+retrieval.getSaleNum();
+//		farmProductStock.setWeight(weight.toString());
+//		farmProductStockService.updateById(farmProductStock);
+//		return R.status(retrievalService.deleteLogic(Func.toLongList(ids)));
+
+		Retrieval retrieval = retrievalService.getById(Long.parseLong(ids));
+		if (retrieval.getType() == 0){
+			FarmProductStock farmProductStock = farmProductStockService.getById(retrieval.getProdId());
+			Double weight = Double.parseDouble(farmProductStock.getWeight())+retrieval.getSaleNum();
+			farmProductStock.setWeight(weight.toString());
+			farmProductStockService.updateById(farmProductStock);
+		}else {
+			ProcessInv inv = processInvService.findById(retrieval.getProdId());
+			Double weight = inv.getProductInventoryNum()+retrieval.getSaleNum();
+			inv.setProductInventoryNum(weight);
+			processInvService.updateById(inv);
+		}
 		return R.status(retrievalService.deleteLogic(Func.toLongList(ids)));
 	}
 

--
Gitblit v1.9.3