Selaa lähdekoodia

新增淘汰功能接口(新增查询、添加、删除淘汰明细)

zhuoning 2 vuotta sitten
vanhempi
commit
c04c6ac373

+ 21 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/EliminateController.java

@@ -0,0 +1,21 @@
+package com.huimv.env.produce.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@RestController
+@RequestMapping("/eliminate")
+public class EliminateController {
+
+}
+

+ 48 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/controller/EliminateDetailController.java

@@ -0,0 +1,48 @@
+package com.huimv.env.produce.controller;
+
+
+import com.huimv.common.utils.Result;
+import com.huimv.env.produce.service.EliminateDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import java.text.ParseException;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@RestController
+@RequestMapping("/v1.0.0/eliminate")
+public class EliminateDetailController {
+    @Autowired
+    private EliminateDetailService eliminateDetailService;
+
+    //查询
+    @PostMapping("/getEliminate")
+    public Result getEliminateCount(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return eliminateDetailService.getEliminateCount(paramsMap);
+    }
+
+    //新增
+    @PostMapping("/save")
+    public Result save(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return eliminateDetailService.save(paramsMap);
+    }
+
+    //删除
+    @PostMapping("/remove")
+    public Result remove(@RequestBody Map<String, String> paramsMap) throws ParseException {
+        return eliminateDetailService.remove(paramsMap);
+    }
+}
+

+ 40 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/Eliminate.java

@@ -0,0 +1,40 @@
+package com.huimv.env.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Eliminate implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer totalCount;
+
+    private Integer boarCount;
+
+    private Integer sowCount;
+
+    private Integer fatpigsCount;
+
+    private String farmCode;
+
+    private Integer year;
+
+
+}

+ 42 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/entity/EliminateDetail.java

@@ -0,0 +1,42 @@
+package com.huimv.env.produce.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class EliminateDetail implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer boarCount;
+
+    private Integer sowCount;
+
+    private Integer fatpigsCount;
+
+    private String farmCode;
+
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    private Date addDate;
+
+
+}

+ 16 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/EliminateDetailMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.produce.mapper;
+
+import com.huimv.env.produce.entity.EliminateDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+public interface EliminateDetailMapper extends BaseMapper<EliminateDetail> {
+
+}

+ 16 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/EliminateMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.produce.mapper;
+
+import com.huimv.env.produce.entity.Eliminate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+public interface EliminateMapper extends BaseMapper<Eliminate> {
+
+}

+ 20 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/xml/EliminateDetailMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.produce.mapper.EliminateDetailMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.produce.entity.EliminateDetail">
+        <id column="id" property="id" />
+        <result column="boar_count" property="boarCount" />
+        <result column="sow_count" property="sowCount" />
+        <result column="fatpigs_count" property="fatpigsCount" />
+        <result column="farm_code" property="farmCode" />
+        <result column="add_date" property="addDate" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, boar_count, sow_count, fatpigs_count, farm_code, add_date
+    </sql>
+
+</mapper>

+ 21 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/mapper/xml/EliminateMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.produce.mapper.EliminateMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.produce.entity.Eliminate">
+        <id column="id" property="id" />
+        <result column="total_count" property="totalCount" />
+        <result column="boar_count" property="boarCount" />
+        <result column="sow_count" property="sowCount" />
+        <result column="fatpigs_count" property="fatpigsCount" />
+        <result column="farm_code" property="farmCode" />
+        <result column="year" property="year" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, total_count, boar_count, sow_count, fatpigs_count, farm_code, year
+    </sql>
+
+</mapper>

+ 25 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/EliminateDetailService.java

@@ -0,0 +1,25 @@
+package com.huimv.env.produce.service;
+
+import com.huimv.common.utils.Result;
+import com.huimv.env.produce.entity.EliminateDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.text.ParseException;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+public interface EliminateDetailService extends IService<EliminateDetail> {
+
+    Result getEliminateCount(Map<String, String> paramsMap);
+
+    Result save(Map<String, String> paramsMap) throws ParseException;
+
+    Result remove(Map<String, String> paramsMap);
+}

+ 16 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/EliminateService.java

@@ -0,0 +1,16 @@
+package com.huimv.env.produce.service;
+
+import com.huimv.env.produce.entity.Eliminate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+public interface EliminateService extends IService<Eliminate> {
+
+}

+ 125 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/EliminateDetailServiceImpl.java

@@ -0,0 +1,125 @@
+package com.huimv.env.produce.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+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.Eliminate;
+import com.huimv.env.produce.entity.EliminateDetail;
+import com.huimv.env.produce.mapper.EliminateDetailMapper;
+import com.huimv.env.produce.mapper.EliminateMapper;
+import com.huimv.env.produce.service.EliminateDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@Service
+public class EliminateDetailServiceImpl extends ServiceImpl<EliminateDetailMapper, EliminateDetail> implements EliminateDetailService {
+    @Autowired
+    private EliminateMapper eliminateMapper;
+    @Autowired
+    private EliminateDetailMapper eliminateDetailMapper;
+    //默认牧场
+    private static final String DEFAULT_FARM_CODE = "14";
+
+    @Override
+    public Result getEliminateCount(Map<String, String> paramsMap) {
+        //
+        String farmCode = paramsMap.get("farmCode");
+        if(farmCode == null){
+            farmCode = DEFAULT_FARM_CODE;
+        }
+        JSONObject resultJo = new JSONObject();
+        //查询淘汰总数
+        QueryWrapper<Eliminate> queryWrapper = new QueryWrapper();
+        queryWrapper.eq("farm_code",farmCode);
+        Eliminate eliminate = eliminateMapper.selectOne(queryWrapper);
+        if(eliminate == null){
+            resultJo.put("all",0);
+            resultJo.put("boarCount",0);
+            resultJo.put("sowCount",0);
+            resultJo.put("fatpigsCount",0);
+        }else{
+            resultJo.put("all",eliminate.getTotalCount());
+            resultJo.put("boarCount",eliminate.getBoarCount());
+            resultJo.put("sowCount",eliminate.getSowCount());
+            resultJo.put("fatpigsCount",eliminate.getFatpigsCount());
+        }
+        //查询每天记录
+        QueryWrapper<EliminateDetail> queryWrapperDetail = new QueryWrapper();
+        queryWrapperDetail.eq("farm_code",farmCode);
+        List<EliminateDetail> EliminateDetailList =  eliminateDetailMapper.selectList(queryWrapperDetail);
+        resultJo.put("list",EliminateDetailList);
+        return new Result(ResultCode.SUCCESS,resultJo);
+    }
+
+    @Override
+    public Result save(Map<String, String> paramsMap) throws ParseException {
+        //farmCode
+        String farmCode = paramsMap.get("farmCode");
+        if(farmCode == null){
+            farmCode = DEFAULT_FARM_CODE;
+        }
+        //
+        String list = paramsMap.get("list");
+        JSONArray listJa = JSONArray.parseArray(list);
+        DateUtil dateUtil = new DateUtil();
+        //删除原来淘汰明细记录
+        QueryWrapper<EliminateDetail> detailQueryWrapper = new QueryWrapper<>();
+        detailQueryWrapper.eq("farm_code",farmCode);
+        eliminateDetailMapper.delete(detailQueryWrapper);
+        //删除原来淘汰总记录
+        QueryWrapper<Eliminate> allQueryWrapper = new QueryWrapper<>();
+        allQueryWrapper.eq("farm_code",farmCode);
+        eliminateMapper.delete(allQueryWrapper);
+        //新增记录
+        int boarCount=0;
+        int sowCount = 0;
+        int fatpigsCount = 0;
+        for(int a=0;a<listJa.size();a++){
+            JSONObject listJo = listJa.getJSONObject(a);
+            EliminateDetail eliminateDetail = new EliminateDetail();
+            eliminateDetail.setBoarCount(listJo.getInteger("boarCount"));
+            eliminateDetail.setSowCount(listJo.getInteger("sowCount"));
+            eliminateDetail.setFatpigsCount(listJo.getInteger("fatpigsCount"));
+            eliminateDetail.setFarmCode(farmCode);
+            eliminateDetail.setAddDate(dateUtil.getTodayDate());
+            eliminateDetailMapper.insert(eliminateDetail);
+            boarCount+=listJo.getInteger("boarCount");
+            sowCount+=listJo.getInteger("sowCount");
+            fatpigsCount+=listJo.getInteger("fatpigsCount");
+        }
+        //新增总记录
+        Eliminate eliminate = new Eliminate();
+        eliminate.setBoarCount(boarCount);
+        eliminate.setSowCount(sowCount);
+        eliminate.setFatpigsCount(fatpigsCount);
+        eliminate.setTotalCount(boarCount+sowCount+fatpigsCount);
+        eliminate.setFarmCode(farmCode);
+        eliminate.setYear(Integer.parseInt(dateUtil.getThisYear()));
+        eliminateMapper.insert(eliminate);
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result remove(Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        eliminateDetailMapper.deleteById(id);
+        return new Result(ResultCode.SUCCESS);
+    }
+}

+ 20 - 0
huimv-env-platform/huimv-env-produce/src/main/java/com/huimv/env/produce/service/impl/EliminateServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.env.produce.service.impl;
+
+import com.huimv.env.produce.entity.Eliminate;
+import com.huimv.env.produce.mapper.EliminateMapper;
+import com.huimv.env.produce.service.EliminateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-11-01
+ */
+@Service
+public class EliminateServiceImpl extends ServiceImpl<EliminateMapper, Eliminate> implements EliminateService {
+
+}