From 72b971c98c46531064d74b68fc8fe8864ed0b544 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:04:56 +0800
Subject: [PATCH] 大屏溯源统计次数sql修改

---
 src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java |  152 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 149 insertions(+), 3 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 abb4766..8cfca56 100644
--- a/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
+++ b/src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
@@ -29,15 +29,27 @@
 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.farmplant.entity.Strain;
+import org.springblade.modules.farmplant.service.StrainService;
+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.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 农事记录控制器
- * @since 2022-05-13
+ *
  * @author zhongrj
+ * @since 2022-05-13
  */
 @RestController
 @AllArgsConstructor
@@ -45,7 +57,10 @@
 public class FarmingRecordController extends BladeController {
 
 	private final FarmingRecordService farmService;
-
+	private final ISoldrService soldrService;
+	private final ISoldrecordService soldrecordService;
+	private final IStockfactoryService stockfactoryService;
+	private final StrainService strainService;
 	/**
 	 * 详情
 	 */
@@ -55,6 +70,16 @@
 	public R<FarmingRecord> detail(FarmingRecord farm) {
 		FarmingRecord detail = farmService.getOne(Condition.getQueryWrapper(farm));
 		return R.data(detail);
+	}
+
+	/**
+	 * 获取农事记录详情带中文
+	 * @param farmingRecordVO
+	 * @return
+	 */
+	@GetMapping("/details")
+	public R details(FarmingRecordVO farmingRecordVO){
+		return R.data(farmService.getDetails(farmingRecordVO));
 	}
 
 	/**
@@ -79,14 +104,93 @@
 		return R.data(pages);
 	}
 
+	@GetMapping("/pageNz")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入farm")
+	public R<IPage<FarmingRecordVO>> pageNz(FarmingRecordVO farm, Query query) {
+		IPage<FarmingRecordVO> pages = farmService.selectFarmingRecordPageByNz(Condition.getPage(query), farm);
+		return R.data(pages);
+	}
+
+	/**
+	 * 查询农事操作记录(不分页)
+	 * @param farm
+	 * @return
+	 */
+	@GetMapping("/getFarmingRecordList")
+	public R getFarmingRecordList(FarmingRecordVO farm) {
+		return R.data(farmService.getFarmingRecordListfarm(farm));
+	}
+
 	/**
 	 * 新增
 	 */
 	@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();
+			Strain strain = strainService.getById(farm.getStrainId());
+			String content =strain.getStrainName()+"-"+ agriculturalName + "   " + v + "公斤";
+			farm.setContent(content);
+			//使用农资数量等于已出农资数量
+			if (farm.getSnum() == detail.getAmount1()) {
+				soldrService.dels(id);
+			} else {
+				soldrecordService.updateSold(amount1 - farm.getSnum(), id, detail.getCensus() - v);
+				detail.setAmount1(detail.getAmount1()-farm.getSnum());
+				soldrService.updateById(detail);
+			}
+		}
 		return R.status(farmService.save(farm));
 	}
 
@@ -122,4 +226,46 @@
 		return R.status(farmService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 查询统计本年农事记录操作总数
+	 *
+	 * @return
+	 */
+	@GetMapping("/getFarmingCount")
+	public R getFarmingCount(String farmId) {
+		return R.data(farmService.getFarmingCount(farmId));
+	}
+
+
+	/**
+	 * 查询统计本年农事记录操作,按分类统计
+	 *
+	 * @return
+	 */
+	@GetMapping("/getFarmingStatis")
+	public R getFarmingStatis(String farmId) {
+		return R.data(farmService.getFarmingStatis(farmId));
+	}
+
+
+	/**
+	 * 大屏农资使用概况统计
+	 * @param farmId 农场id
+	 * @return
+	 */
+	@GetMapping("/getStockCount")
+	public R getStockCount(String farmId) {
+		//今年
+		Double aDouble = farmService.selectJyCount(farmId);
+		//去年
+		Double aDouble1 = farmService.selectQyCount(farmId);
+		//本月
+		Double aDouble2 = farmService.selectByCount(farmId);
+		Map map = new HashMap();
+		map.put("jn", aDouble);
+		map.put("qn", aDouble1);
+		map.put("by", aDouble2);
+		return R.data(map);
+	}
+
 }

--
Gitblit v1.9.3