From 568b782afa3be4b55f617e7330aa1f2c0e54e693 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 27 Jun 2022 09:03:01 +0800
Subject: [PATCH] 地块管理

---
 src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 73 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java b/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
index 55143a2..71528a9 100644
--- a/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
+++ b/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
@@ -29,6 +29,11 @@
 import org.springblade.modules.farm.entity.FarmingRecord;
 import org.springblade.modules.farm.service.FarmingRecordService;
 import org.springblade.modules.farm.vo.FarmingRecordVO;
+import org.springblade.modules.soldr.entity.Soldr;
+import org.springblade.modules.soldr.service.ISoldrService;
+import org.springblade.modules.soldrecord.service.ISoldrecordService;
+import org.springblade.modules.stockfactory.entity.Stockfactory;
+import org.springblade.modules.stockfactory.service.IStockfactoryService;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
@@ -36,8 +41,9 @@
 
 /**
  * 农事记录控制器
- * @since 2022-05-13
+ *
  * @author zhongrj
+ * @since 2022-05-13
  */
 @RestController
 @AllArgsConstructor
@@ -45,6 +51,9 @@
 public class FarmingRecordController extends BladeController {
 
 	private final FarmingRecordService farmService;
+	private final ISoldrService soldrService;
+	private final ISoldrecordService soldrecordService;
+	private final IStockfactoryService stockfactoryService;
 
 	/**
 	 * 详情
@@ -85,8 +94,66 @@
 	@PostMapping("/save")
 	@ApiOperationSupport(order = 4)
 	@ApiOperation(value = "新增", notes = "传入farm")
-	public R save(@Valid @RequestBody FarmingRecord farm) {
+	public R save(@Valid @RequestBody FarmingRecordVO farm) {
+		//通过已出资农资id查询已出农资详情
+		Soldr soldr = new Soldr();
 		farm.setCreateTime(new Date());
+		if(farm.getStockId()!=""){
+			Long id = Long.valueOf(farm.getStockId());
+			soldr.setId(id);
+			//返回已出农资详情
+			Soldr detail = soldrService.getOne(Condition.getQueryWrapper(soldr));
+			//统计公斤
+			Integer specsValue1 = detail.getSpecsVal1();
+			String specs1 = detail.getSpecs1();
+			int spe = Integer.parseInt(specs1);
+			//已出农资数量
+			Integer amount1 = detail.getAmount1();
+			double v = 0;
+			//克
+			if (specsValue1 == 0) {
+				v = farm.getSnum() * spe * 0.001;
+			}
+			//斤
+			if (specsValue1 == 1) {
+				v = farm.getSnum() * spe * 0.5;
+			}
+			//公斤
+			if (specsValue1 == 2) {
+				v = farm.getSnum() * spe;
+			}
+			//吨
+			if (specsValue1 == 3) {
+				v = farm.getSnum() * spe * 1000;
+			}
+			//毫升
+			if (specsValue1 == 4) {
+				//毫升换成升
+				double s = farm.getSnum() * spe * 0.001;
+				//升换成公斤
+				v = s;
+			}
+			//升
+			if (specsValue1 == 5) {
+				v = farm.getSnum() * spe;
+			}
+		    Long ids = Long.valueOf(detail.getStockId1());
+			farm.setStockId(detail.getStockId1());
+			farm.setCensus(v);
+			farm.setCreateTime(new Date());
+			Stockfactory stockfactory = new Stockfactory();
+			stockfactory.setId(ids);
+			Stockfactory detailstock = stockfactoryService.getOne(Condition.getQueryWrapper(stockfactory));
+			String agriculturalName = detailstock.getAgriculturalName();
+			String content=agriculturalName+"   "+v+"公斤";
+			farm.setContent(content);
+			//使用农资数量等于已出农资数量
+			if (farm.getSnum() == detail.getAmount1()) {
+				soldrService.dels(id);
+			} else {
+				soldrecordService.updateSold(amount1 - farm.getSnum(), id, detail.getCensus() - v);
+			}
+		}
 		return R.status(farmService.save(farm));
 	}
 
@@ -124,19 +191,21 @@
 
 	/**
 	 * 查询统计本年农事记录操作总数
+	 *
 	 * @return
 	 */
 	@GetMapping("/getFarmingCount")
-	public R getFarmingCount(){
+	public R getFarmingCount() {
 		return R.data(farmService.getFarmingCount());
 	}
 
 	/**
 	 * 查询统计本年农事记录操作,按分类统计
+	 *
 	 * @return
 	 */
 	@GetMapping("/getFarmingStatis")
-	public R getFarmingStatis(){
+	public R getFarmingStatis() {
 		return R.data(farmService.getFarmingStatis());
 	}
 

--
Gitblit v1.9.3