智慧农业后台管理
tangzy
2022-06-27 568b782afa3be4b55f617e7330aa1f2c0e54e693
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());
   }