Browse Source

重要指标

yjj 2 years ago
parent
commit
6af9e440f9

+ 14 - 3
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/IndicatorController.java

@@ -2,6 +2,7 @@ package com.huimv.env.produce.controller;
 
 
 import com.huimv.common.utils.Result;
+import com.huimv.env.produce.entity.Indicator;
 import com.huimv.env.produce.service.IndicatorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -11,7 +12,7 @@ import java.util.Map;
 
 /**
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  *
  * @author zn
@@ -43,9 +44,9 @@ public class IndicatorController {
     }
 
     @PostMapping("/edit")
-    public Result edit(@RequestBody Map<String, String> paramsMap) throws ParseException {
+    public Result edit(@RequestBody Indicator indicator) throws ParseException {
         //
-        return indicatorService.edit(paramsMap);
+        return indicatorService.edit(indicator);
     }
 
     @PostMapping("/remove")
@@ -54,6 +55,16 @@ public class IndicatorController {
         return indicatorService.remove(paramsMap);
     }
 
+    @PostMapping("/findIndicator")
+    public Result find(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        //
+        return indicatorService.findIndicator(paramsMap);
+    }
 
+    @PostMapping("/preserve")
+    public Result preserve(@RequestBody Indicator indicator) throws ParseException {
+        //
+        return indicatorService.preserve(indicator);
+    }
 }
 

+ 5 - 1
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/IndicatorService.java

@@ -22,7 +22,11 @@ public interface IndicatorService extends IService<Indicator> {
 
     Result add(Map<String, String> paramsMap);
 
-    Result edit(Map<String, String> paramsMap);
+    Result edit(Indicator indicator);
 
     Result remove(Map<String, String> paramsMap);
+
+    Result findIndicator(Map<String,String> paramsMap);
+
+    Result preserve(Indicator indicator);
 }

+ 228 - 12
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/IndicatorServiceImpl.java

@@ -1,21 +1,29 @@
 package com.huimv.env.produce.service.impl;
 
+import com.alibaba.druid.sql.visitor.functions.Isnull;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.env.common.utils.DateUtil;
+import com.huimv.env.produce.entity.Board;
 import com.huimv.env.produce.entity.Indicator;
 import com.huimv.env.produce.mapper.IndicatorMapper;
 import com.huimv.env.produce.service.IndicatorService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.netty.util.internal.ObjectUtil;
+import io.netty.util.internal.StringUtil;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Map;
+import java.math.BigDecimal;
+import java.time.Month;
+import java.util.*;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author zn
@@ -25,38 +33,246 @@ import java.util.Map;
 public class IndicatorServiceImpl extends ServiceImpl<IndicatorMapper, Indicator> implements IndicatorService {
     @Autowired
     private IndicatorMapper indicatorMapper;
+    @Autowired
+    private static final String globalFarmCode = "14";
 
     @Override
     public Result getIndicator(Map<String, String> paramsMap) {
         DateUtil dateUtil = new DateUtil();
         String farmCode = paramsMap.get("farmCode");
         QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_code",farmCode);
-        queryWrapper.eq("year",dateUtil.getThisYear());
-        queryWrapper.eq("month",dateUtil.getThisMonth());
-        return new Result(ResultCode.SUCCESS,indicatorMapper.selectList(queryWrapper));
+        queryWrapper.eq("farm_code", farmCode);
+        queryWrapper.eq("year", dateUtil.getThisYear());
+        queryWrapper.eq("month", dateUtil.getThisMonth());
+        return new Result(ResultCode.SUCCESS, indicatorMapper.selectList(queryWrapper));
     }
 
     @Override
     public Result list(Map<String, String> paramsMap) {
         String farmCode = paramsMap.get("farmCode");
         QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("farm_code",farmCode);
-        return new Result(ResultCode.SUCCESS,indicatorMapper.selectList(queryWrapper));
+        queryWrapper.eq("farm_code", farmCode);
+        return new Result(ResultCode.SUCCESS, indicatorMapper.selectList(queryWrapper));
     }
 
     @Override
     public Result add(Map<String, String> paramsMap) {
-        return null;
+       /* String farmCode = paramsMap.get("farmCode");
+        List<Indicator> farm_code = indicatorMapper.selectList(new QueryWrapper<Indicator>().eq("farm_code", farmCode));
+        if (farm_code.isEmpty()) {
+            return new Result(10001, "牧场编码不存在", false);
+        }*/
+
+        Indicator indicator = new Indicator();
+
+        indicator.setFarmCode(paramsMap.get("farmCode"));
+        indicator.setYear(new Integer(paramsMap.get("year")));
+        indicator.setMonth(new Integer(paramsMap.get("month")));
+
+
+        if (paramsMap.get("roomSurvivalRate") != null && !paramsMap.get("roomSurvivalRate").equals("")) {
+            indicator.setRoomSurvRate(new BigDecimal(paramsMap.get("roomSurvivalRate")));
+        }
+
+        if (paramsMap.get("fatSurvRate") != null && !paramsMap.get("fatSurvRate").equals("")) {
+            indicator.setFatSurvRate(new BigDecimal(paramsMap.get("fatSurvRate")));
+        }
+
+        if (paramsMap.get("dismatchRate") != null && !paramsMap.get("dismatchRate").equals("")) {
+            indicator.setDismatchRate(new BigDecimal(paramsMap.get("dismatchRate")));
+        }
+
+        if (paramsMap.get("matingRate") != null && !paramsMap.get("matingRate").equals("")) {
+            indicator.setMatingRate(new BigDecimal(paramsMap.get("matingRate")));
+        }
+
+        if (paramsMap.get("psy") != null && !paramsMap.get("psy").equals("")) {
+            indicator.setPsy(new BigDecimal(paramsMap.get("psy")));
+        }
+
+        if (paramsMap.get("addDate") != null && !paramsMap.get("addDate").equals("")) {
+            indicator.setAddDate(new Date(paramsMap.get("addDate")));
+        }
+
+        return new Result(ResultCode.SUCCESS, indicatorMapper.insert(indicator));
     }
 
     @Override
-    public Result edit(Map<String, String> paramsMap) {
-        return null;
+    public Result edit(Indicator indicator) {
+
+        String farmCode = indicator.getFarmCode();
+        QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
+        QueryWrapper<Indicator> ind = queryWrapper.eq("farm_code", farmCode);
+        Indicator idr = indicatorMapper.selectOne(ind);
+
+        idr.setRoomSurvRate(indicator.getRoomSurvRate());
+        idr.setFatSurvRate(indicator.getFatSurvRate());
+        idr.setDismatchRate(indicator.getDismatchRate());
+        idr.setMatingRate(indicator.getMatingRate());
+        idr.setPsy(indicator.getPsy());
+        idr.setAddDate(indicator.getAddDate());
+
+        return new Result(ResultCode.SUCCESS, indicatorMapper.updateById(idr));
     }
 
+
+  /* @Override
+    public Result edit(Map<String, String> paramsMap) {
+
+        String farmCode = paramsMap.get("farmCode");
+        QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
+        QueryWrapper<Indicator> ind = queryWrapper.eq("farm_code", farmCode);
+        Indicator indicator = indicatorMapper.selectOne(ind);
+
+        if (paramsMap.get("roomSurvivalRate") != null && !paramsMap.get("roomSurvivalRate").equals("")) {
+            indicator.setRoomSurvRate(new BigDecimal(paramsMap.get("roomSurvivalRate")));
+        }
+
+       if (paramsMap.get("fatSurvRate") != null && !paramsMap.get("fatSurvRate").equals("")) {
+            indicator.setFatSurvRate(new BigDecimal(paramsMap.get("fatSurvRate")));
+        }
+
+         if (paramsMap.get("dismatchRate") != null && !paramsMap.get("dismatchRate").equals("")) {
+            indicator.setDismatchRate(new BigDecimal(paramsMap.get("dismatchRate")));
+        }
+
+        if (paramsMap.get("matingRate") != null && !paramsMap.get("matingRate").equals("")) {
+            indicator.setMatingRate(new BigDecimal(paramsMap.get("matingRate")));
+        }
+
+        if (paramsMap.get("psy") != null && !paramsMap.get("psy").equals("")) {
+            indicator.setPsy(new BigDecimal(paramsMap.get("psy")));
+        }
+
+        if (paramsMap.get("addDate") != null && !paramsMap.get("addDate").equals("")) {
+            indicator.setAddDate(new Date(paramsMap.get("addDate")));
+        }
+
+
+        return new Result(ResultCode.SUCCESS, indicatorMapper.updateById(indicator));
+    } */
+
+
     @Override
     public Result remove(Map<String, String> paramsMap) {
-        return null;
+        String ids = paramsMap.get("ids");
+        String[] idArray = ids.split(",");
+        List<String> idList = Arrays.asList(idArray);
+
+        return new Result(ResultCode.SUCCESS, indicatorMapper.deleteBatchIds(idList));
+    }
+
+    @Override
+    public Result findIndicator(Map<String, String> paramsMap) {
+        String farmCode = paramsMap.get("farmCode");
+        if (farmCode==null) {
+            farmCode = globalFarmCode;
+        }
+        QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        Indicator indicator = indicatorMapper.selectOne(queryWrapper);
+        JSONObject resultJo = new JSONObject();
+        if(indicator == null){
+            resultJo.put("roomSurvRate",0);
+            resultJo.put("conservSurvRate",0);
+            resultJo.put("fatSurvRate",0);
+            resultJo.put("dismatchRate",0);
+            resultJo.put("matingRate",0);
+            resultJo.put("psy",0);
+        }else{
+            resultJo.put("roomSurvRate",indicator.getRoomSurvRate());
+            resultJo.put("conservSurvRate",indicator.getConservSurvRate());
+            resultJo.put("fatSurvRate", indicator.getFatSurvRate());
+            resultJo.put("dismatchRate",indicator.getDismatchRate());
+            resultJo.put("matingRate",indicator.getMatingRate());
+            resultJo.put("psy", indicator.getPsy());
+        }
+        return new Result(ResultCode.SUCCESS,resultJo);
+    }
+
+    @Override
+    public Result preserve(Indicator indicator) {
+        String farmCode = indicator.getFarmCode();
+        if (farmCode==null) {
+            farmCode = globalFarmCode;
+        }
+        QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        Indicator indicator1 = indicatorMapper.selectOne(queryWrapper);
+        if (indicator1 != null) {
+            indicator1.setRoomSurvRate(indicator.getRoomSurvRate());
+            indicator1.setConservSurvRate(indicator.getConservSurvRate());
+            indicator1.setFatSurvRate(indicator.getFatSurvRate());
+            indicator1.setDismatchRate(indicator.getDismatchRate());
+            indicator1.setMatingRate(indicator.getMatingRate());
+            indicator1.setPsy(indicator.getPsy());
+            baseMapper.updateById(indicator1);
+        } else {
+            indicator1.setRoomSurvRate(indicator.getRoomSurvRate());
+            indicator1.setConservSurvRate(indicator.getConservSurvRate());
+            indicator1.setFatSurvRate(indicator.getFatSurvRate());
+            indicator1.setDismatchRate(indicator.getDismatchRate());
+            indicator1.setMatingRate(indicator.getMatingRate());
+            indicator1.setPsy(indicator.getPsy());
+            baseMapper.insert(indicator1);
+        }
+        return new Result(ResultCode.SUCCESS,indicator);
     }
+/*
+    @Override
+    public Result save(Map<String, String> paramMap) {
+
+        String roomSurvRate = paramMap.get("roomSurvRate");
+        if(roomSurvRate == null){
+            roomSurvRate = "0";
+        }
+
+        String conservSurvRate = paramMap.get("conservSurvRate");
+        if(conservSurvRate == null){
+            conservSurvRate = "0";
+        }
+
+        String fatSurvRate = paramMap.get("fatSurvRate");
+        if(fatSurvRate == null){
+            fatSurvRate = "0";
+        }
+
+        String dismatchRate = paramMap.get("dismatchRate");
+        if(dismatchRate == null){
+            dismatchRate = "0";
+        }
+
+        String matingRate = paramMap.get("matingRate");
+        if(matingRate == null){
+            matingRate = "0";
+        }
+
+        String psy = paramMap.get("psy");
+        if(psy == null){
+            psy = "0";
+        }
+
+        String farmCode = paramMap.get("farmCode");
+        if (farmCode==null) {
+            farmCode = globalFarmCode;
+        }
+        QueryWrapper<Indicator> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
+        Indicator indicator = indicatorMapper.selectOne(queryWrapper);
+        IndicatorService indicatorService = new IndicatorServiceImpl();
+        if (indicator == null) {
+            indicatorService.add(paramMap);
+        } else {
+            indicator.setRoomSurvRate(roomSurvRate);
+            indicator.setConservSurvRate(new BigDecimal(paramMap.get("conservSurvRate")));
+            indicator.setFatSurvRate(new BigDecimal(paramMap.get("fatSurvRate")));
+            indicator.setDismatchRate(new BigDecimal(paramMap.get("dismatchRate")));
+            indicator.setMatingRate(new BigDecimal(paramMap.get("matingRate")));
+            indicator.setPsy(new BigDecimal(paramMap.get("psy")));
+            indicatorMapper.updateById(indicator);
+        }
+        return new Result(ResultCode.SUCCESS,indicator);
+    }*/
+
+
 }