智慧农业后台管理
Administrator
2022-07-13 9d1892790a7a18d18c19b8b1cf643056d1547f01
src/main/java/org/springblade/modules/farm/controller/FarmingRecordController.java
@@ -29,15 +29,25 @@
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.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,6 +55,9 @@
public class FarmingRecordController extends BladeController {
   private final FarmingRecordService farmService;
   private final ISoldrService soldrService;
   private final ISoldrecordService soldrecordService;
   private final IStockfactoryService stockfactoryService;
   /**
    * 详情
@@ -80,13 +93,81 @@
   }
   /**
    * 查询农事操作记录(不分页)
    * @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();
         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,20 +205,44 @@
   /**
    * 查询统计本年农事记录操作总数
    *
    * @return
    */
   @GetMapping("/getFarmingCount")
   public R getFarmingCount(){
      return R.data(farmService.getFarmingCount());
   public R getFarmingCount(String deptId) {
      return R.data(farmService.getFarmingCount(deptId));
   }
   /**
    * 查询统计本年农事记录操作,按分类统计
    *
    * @return
    */
   @GetMapping("/getFarmingStatis")
   public R getFarmingStatis(){
      return R.data(farmService.getFarmingStatis());
   public R getFarmingStatis(String deptId) {
      return R.data(farmService.getFarmingStatis(deptId));
   }
   /**
    * 大屏农资使用概况统计
    * @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);
   }
}