智慧农业后台管理
tangzy
2022-06-06 fe9a0e82ce550d4c819cd002ca98f9c4aeb028cc
src/main/java/org/springblade/modules/farmplant/controller/FarmPlantController.java
@@ -16,6 +16,7 @@
 */
package org.springblade.modules.farmplant.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.ApiOperation;
@@ -31,11 +32,17 @@
import org.springblade.modules.farmplant.entity.FarmPlant;
import org.springblade.modules.farmplant.service.FarmPlantService;
import org.springblade.modules.farmplant.vo.FarmPlantVO;
import org.springblade.modules.farmplant.vo.StrainVO;
import org.springblade.modules.lang.entity.Land;
import org.springblade.modules.lang.service.ILandService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
 * 农场养殖记录表控制器
@@ -51,6 +58,9 @@
   private final FarmingRecordService farmingRecordService;
   private final ILandService landService;
   /**
    * 详情
@@ -109,11 +119,16 @@
            record.setType("11");
         }
         record.setLandId(farmPlant.getLandId());
         record.setTime(farmPlant.getTransplanTime());
         record.setOperator(farmPlant.getCreateUser());
         record.setRemarks("品种: "+farmPlant.getVarieties());
         //新增
         farmingRecordService.save(record);
         //更新地块是否已耕种
         Land land = new Land();
         land.setType(0);
         land.setId(Long.parseLong(farmPlant.getLandId()));
         landService.updateById(land);
      }
      return R.status(save);
   }
@@ -124,9 +139,32 @@
   @PostMapping("/update")
   @ApiOperationSupport(order = 5)
   @ApiOperation(value = "修改", notes = "传入farmPlant")
   @Transactional(rollbackFor = Exception.class)
   public R update(@Valid @RequestBody FarmPlant farmPlant) {
      boolean status = false;
      //如果是结束
      if (farmPlant.getStatus().equals("2")){
         //更新
         status = farmplantService.updateById(farmPlant);
         //判断该地块是否还有种植的农产品
         FarmPlant farmPlant2 = farmplantService.getById(farmPlant.getId());
         FarmPlant farmPlant1 = new FarmPlant();
         farmPlant1.setLandId(farmPlant2.getLandId());
         farmPlant1.setStatus("1");
         List<FarmPlant> list = farmplantService.list(new QueryWrapper<>(farmPlant1));
         if (list.size()<1){
            //更新该地块的耕种状态
            Land land = new Land();
            land.setType(1);
            land.setId(Long.parseLong(farmPlant2.getLandId()));
            landService.updateById(land);
         }
      }else {
         //更新
         status = farmplantService.updateById(farmPlant);
      }
      //更新并返回
      return R.status(farmplantService.updateById(farmPlant));
      return R.status(status);
   }
   /**
@@ -150,4 +188,36 @@
      return R.status(farmplantService.removeByIds(Func.toLongList(ids)));
   }
   /**
    * 农产品种养统计
    * @param farmPlantVO 农产品种植对象
    * @param query 分页查询对象
    * @return
    */
   @GetMapping("/getFarmPlantStatistics")
   public R<IPage<FarmPlantVO>> getFarmPlantStatistics(FarmPlantVO farmPlantVO, Query query) {
      return R.data(farmplantService.getFarmPlantStatistics(Condition.getPage(query),farmPlantVO));
   }
   /**
    * 农产品种养统计(累计和)
    * @param farmPlantVO 农产品种植对象
    * @return
    */
   @GetMapping("/getFarmPlantStatisticsCount")
   public R<FarmPlantVO> getFarmPlantStatisticsCount(FarmPlantVO farmPlantVO) {
      return R.data(farmplantService.getFarmPlantStatisticsCount(farmPlantVO));
   }
   /**
    * 农产品列表
    * @param farm 农产品对象
    * @return
    */
   @GetMapping("/strain-tree")
   public R strainTree(FarmPlantVO farm){
      return R.data(farmplantService.strainTree(farm));
   }
}