Bladeren bron

生产经营

wwh 2 jaren geleden
bovenliggende
commit
1039bd0698
27 gewijzigde bestanden met toevoegingen van 707 en 44 verwijderingen
  1. 7 0
      huimv-admin/src/main/java/com/huimv/admin/controller/CameraBaseController.java
  2. 22 0
      huimv-admin/src/main/java/com/huimv/admin/controller/ProdAnalysisController.java
  3. 32 0
      huimv-admin/src/main/java/com/huimv/admin/controller/ProdProductionController.java
  4. 24 1
      huimv-admin/src/main/java/com/huimv/admin/controller/ProdSaleController.java
  5. 16 0
      huimv-admin/src/main/java/com/huimv/admin/controller/ProdStockController.java
  6. 5 1
      huimv-admin/src/main/java/com/huimv/admin/entity/ProdAnalysis.java
  7. 3 0
      huimv-admin/src/main/java/com/huimv/admin/entity/ProdProduction.java
  8. 3 0
      huimv-admin/src/main/java/com/huimv/admin/entity/ProdSale.java
  9. 3 0
      huimv-admin/src/main/java/com/huimv/admin/entity/ProdStock.java
  10. 26 0
      huimv-admin/src/main/java/com/huimv/admin/entity/dto/CameraNameDto.java
  11. 12 0
      huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProAnalysisVo.java
  12. 17 0
      huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProdSaleVo.java
  13. 24 0
      huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProdStockVo.java
  14. 7 1
      huimv-admin/src/main/java/com/huimv/admin/mapper/ProdProductionMapper.java
  15. 6 1
      huimv-admin/src/main/java/com/huimv/admin/mapper/ProdStockMapper.java
  16. 3 0
      huimv-admin/src/main/java/com/huimv/admin/service/ICameraBaseService.java
  17. 6 1
      huimv-admin/src/main/java/com/huimv/admin/service/IProdAnalysisService.java
  18. 10 0
      huimv-admin/src/main/java/com/huimv/admin/service/IProdProductionService.java
  19. 6 0
      huimv-admin/src/main/java/com/huimv/admin/service/IProdSaleService.java
  20. 9 1
      huimv-admin/src/main/java/com/huimv/admin/service/IProdStockService.java
  21. 78 16
      huimv-admin/src/main/java/com/huimv/admin/service/impl/CameraBaseServiceImpl.java
  22. 110 0
      huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdAnalysisServiceImpl.java
  23. 62 0
      huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdProductionServiceImpl.java
  24. 115 1
      huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdSaleServiceImpl.java
  25. 58 0
      huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdStockServiceImpl.java
  26. 35 20
      huimv-admin/src/main/resources/com/huimv/admin/mapper/ProdProductionMapper.xml
  27. 8 1
      huimv-admin/src/main/resources/com/huimv/admin/mapper/ProdStockMapper.xml

+ 7 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/CameraBaseController.java

@@ -9,7 +9,9 @@ import com.huimv.admin.service.ICameraBaseService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -34,4 +36,9 @@ public class CameraBaseController {
     private Result getCameraDetails(@RequestBody CameraListsVo cameraListsVo) {
     private Result getCameraDetails(@RequestBody CameraListsVo cameraListsVo) {
        return cameraService.getCameraDetails(cameraListsVo);
        return cameraService.getCameraDetails(cameraListsVo);
     }
     }
+
+    @PostMapping("/listName")
+    public Result listName(HttpServletRequest httpServletRequest,@RequestBody Map<String, String> paramsMap) {
+        return cameraService.list(httpServletRequest,paramsMap);
+    }
 }
 }

+ 22 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProdAnalysisController.java

@@ -1,10 +1,19 @@
 package com.huimv.admin.controller;
 package com.huimv.admin.controller;
 
 
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.ProdAnalysis;
+import com.huimv.admin.service.IProdAnalysisService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 重要指标 前端控制器
  * 重要指标 前端控制器
@@ -15,6 +24,19 @@ import org.springframework.web.bind.annotation.RestController;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/prod-analysis")
 @RequestMapping("/prod-analysis")
+@CrossOrigin
 public class ProdAnalysisController {
 public class ProdAnalysisController {
 
 
+    @Autowired
+    private IProdAnalysisService prodAnalysisService;
+
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String,String> paramsMap) {
+        return prodAnalysisService.list(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/edit")
+    public Result edit(HttpServletRequest httpServletRequest, @RequestBody ProdAnalysis prodAnalysis) {
+        return prodAnalysisService.edit(httpServletRequest,prodAnalysis);
+    }
 }
 }

+ 32 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProdProductionController.java

@@ -1,10 +1,19 @@
 package com.huimv.admin.controller;
 package com.huimv.admin.controller;
 
 
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.ProdProduction;
+import com.huimv.admin.service.IProdProductionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 生产情况 前端控制器
  * 生产情况 前端控制器
@@ -15,6 +24,29 @@ import org.springframework.web.bind.annotation.RestController;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/prod-production")
 @RequestMapping("/prod-production")
+@CrossOrigin
 public class ProdProductionController {
 public class ProdProductionController {
 
 
+    @Autowired
+    private IProdProductionService prodProductionService;
+
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return prodProductionService.list(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/add")
+    public Result add(HttpServletRequest httpServletRequest, @RequestBody ProdProduction prodProduction) {
+        return prodProductionService.add(httpServletRequest,prodProduction);
+    }
+
+    @RequestMapping("/listProd")
+    public Result listProd(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return prodProductionService.listProd(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/addProd")
+    public Result addProd(HttpServletRequest httpServletRequest, @RequestBody ProdProduction prodProduction) {
+        return prodProductionService.addProd(httpServletRequest,prodProduction);
+    }
 }
 }

+ 24 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/ProdSaleController.java

@@ -1,13 +1,23 @@
 package com.huimv.admin.controller;
 package com.huimv.admin.controller;
 
 
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.ProdSale;
+import com.huimv.admin.service.IProdSaleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
- *  前端控制器
+ * 前端控制器
  * </p>
  * </p>
  *
  *
  * @author author
  * @author author
@@ -15,6 +25,19 @@ import org.springframework.web.bind.annotation.RestController;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/prod-sale")
 @RequestMapping("/prod-sale")
+@CrossOrigin
 public class ProdSaleController {
 public class ProdSaleController {
 
 
+    @Autowired
+    private IProdSaleService prodSaleService;
+
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return prodSaleService.list(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/add")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody ProdSale prodSale) {
+        return prodSaleService.add(httpServletRequest,prodSale);
+    }
 }
 }

+ 16 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProdStockController.java

@@ -1,10 +1,18 @@
 package com.huimv.admin.controller;
 package com.huimv.admin.controller;
 
 
 
 
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IProdStockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 存栏结构 前端控制器
  * 存栏结构 前端控制器
@@ -15,6 +23,14 @@ import org.springframework.web.bind.annotation.RestController;
  */
  */
 @RestController
 @RestController
 @RequestMapping("/prod-stock")
 @RequestMapping("/prod-stock")
+@CrossOrigin
 public class ProdStockController {
 public class ProdStockController {
 
 
+    @Autowired
+    private IProdStockService prodStockService;
+
+    @RequestMapping("/list")
+    public Result list(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return prodStockService.list(httpServletRequest,paramsMap);
+    }
 }
 }

+ 5 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/ProdAnalysis.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -58,7 +61,8 @@ public class ProdAnalysis implements Serializable {
      */
      */
     private Integer type;
     private Integer type;
 
 
-    private LocalDateTime creatTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date creatTime;
 
 
     private Integer farmId;
     private Integer farmId;
 
 

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/ProdProduction.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -93,6 +95,7 @@ public class ProdProduction implements Serializable {
      */
      */
     private String psy;
     private String psy;
 
 
+    @JsonFormat(pattern = "yyyy-MM",timezone = "GTM+8")
     private LocalDateTime creatTime;
     private LocalDateTime creatTime;
 
 
     private Integer farmId;
     private Integer farmId;

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/ProdSale.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -38,6 +40,7 @@ public class ProdSale implements Serializable {
      */
      */
     private Integer saleQuantity;
     private Integer saleQuantity;
 
 
+    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
     private LocalDateTime creatTime;
     private LocalDateTime creatTime;
 
 
     private Integer farmId;
     private Integer farmId;

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/ProdStock.java

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.io.Serializable;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
@@ -81,6 +83,7 @@ public class ProdStock implements Serializable {
     /**
     /**
      * 商品猪存栏
      * 商品猪存栏
      */
      */
+    @JsonFormat(pattern = "yyyy-MM",timezone = "GMT+8")
     private LocalDateTime creatTime;
     private LocalDateTime creatTime;
 
 
     private Integer farmId;
     private Integer farmId;

+ 26 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/dto/CameraNameDto.java

@@ -0,0 +1,26 @@
+package com.huimv.admin.entity.dto;
+
+import com.huimv.admin.entity.CameraBase;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+@Data
+/*@AllArgsConstructor
+@NoArgsConstructor*/
+public class CameraNameDto {
+   /* private static final long serialVersionUID=1L;*/
+
+    private Integer id;
+
+    private String areaName;
+
+    private List<CameraBase> cameraBases;
+/*
+    private Integer parentId;
+    private String farmId;*/
+
+  /*  private List<CameraNameDto> childNode;*/
+}

+ 12 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProAnalysisVo.java

@@ -0,0 +1,12 @@
+package com.huimv.admin.entity.vo;
+
+import com.huimv.admin.entity.ProdAnalysis;
+import lombok.Data;
+
+@Data
+public class ProAnalysisVo {
+    private String count;
+    private ProdAnalysis feed;
+    private ProdAnalysis share;
+    private ProdAnalysis drug;
+}

+ 17 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProdSaleVo.java

@@ -0,0 +1,17 @@
+package com.huimv.admin.entity.vo;
+
+import com.huimv.admin.entity.ProdSale;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProdSaleVo {
+    private String quantityRate;
+    private String moneyRate;
+    private List<ProdSale> sales;
+    private String moneyCount;
+    private String quantityCount;
+    private String moneyCountLast;
+    private String quantityCountLast;
+}

+ 24 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/ProdStockVo.java

@@ -0,0 +1,24 @@
+package com.huimv.admin.entity.vo;
+
+import com.huimv.admin.entity.ProdStock;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ProdStockVo {
+    private Integer count;
+    private String mzclTRate;
+    private String gzclTRate;
+    private String brzclTRate;
+    private String byzclTRate;
+    private String yfzclRate;
+    private String hbzclRate;
+    private String rczclTRate;
+    private String brmzclRate;
+    private String khzclRate;
+    private String spzclRate;
+    private List<ProdStock> prodStocks;
+    private ProdStock prodStock;
+
+}

+ 7 - 1
huimv-admin/src/main/java/com/huimv/admin/mapper/ProdProductionMapper.java

@@ -1,7 +1,13 @@
 package com.huimv.admin.mapper;
 package com.huimv.admin.mapper;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.ProdProduction;
 import com.huimv.admin.entity.ProdProduction;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -12,5 +18,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface ProdProductionMapper extends BaseMapper<ProdProduction> {
 public interface ProdProductionMapper extends BaseMapper<ProdProduction> {
-
+    List<ProdProduction> listDay(@Param(Constants.WRAPPER)QueryWrapper<ProdProduction> queryWrapper);
 }
 }

+ 6 - 1
huimv-admin/src/main/java/com/huimv/admin/mapper/ProdStockMapper.java

@@ -1,7 +1,12 @@
 package com.huimv.admin.mapper;
 package com.huimv.admin.mapper;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.huimv.admin.entity.ProdStock;
 import com.huimv.admin.entity.ProdStock;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -12,5 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface ProdStockMapper extends BaseMapper<ProdStock> {
 public interface ProdStockMapper extends BaseMapper<ProdStock> {
-
+    List<ProdStock> listDay(@Param(Constants.WRAPPER) QueryWrapper<ProdStock> queryWrapper);
 }
 }

+ 3 - 0
huimv-admin/src/main/java/com/huimv/admin/service/ICameraBaseService.java

@@ -7,6 +7,7 @@ import com.huimv.admin.entity.hkwsdto.CameraDto1;
 import com.huimv.admin.entity.vo.CameraListVo;
 import com.huimv.admin.entity.vo.CameraListVo;
 import com.huimv.admin.entity.vo.CameraListsVo;
 import com.huimv.admin.entity.vo.CameraListsVo;
 
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -27,4 +28,6 @@ public interface ICameraBaseService extends IService<CameraBase> {
     void sync(Map<String, Integer> params, List<CameraDto1> list);
     void sync(Map<String, Integer> params, List<CameraDto1> list);
 
 
     void updateCameraOnlin(List<CameraDto1> list);
     void updateCameraOnlin(List<CameraDto1> list);
+
+    Result list(HttpServletRequest httpServletRequest, Map<String,String>paramsMap);
 }
 }

+ 6 - 1
huimv-admin/src/main/java/com/huimv/admin/service/IProdAnalysisService.java

@@ -1,8 +1,12 @@
 package com.huimv.admin.service;
 package com.huimv.admin.service;
 
 
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.ProdAnalysis;
 import com.huimv.admin.entity.ProdAnalysis;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 重要指标 服务类
  * 重要指标 服务类
@@ -12,5 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface IProdAnalysisService extends IService<ProdAnalysis> {
 public interface IProdAnalysisService extends IService<ProdAnalysis> {
-
+    Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
+    Result edit(HttpServletRequest httpServletRequest, ProdAnalysis prodAnalysis);
 }
 }

+ 10 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IProdProductionService.java

@@ -1,8 +1,12 @@
 package com.huimv.admin.service;
 package com.huimv.admin.service;
 
 
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.ProdProduction;
 import com.huimv.admin.entity.ProdProduction;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 生产情况 服务类
  * 生产情况 服务类
@@ -12,5 +16,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface IProdProductionService extends IService<ProdProduction> {
 public interface IProdProductionService extends IService<ProdProduction> {
+    Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
+
+    Result add(HttpServletRequest httpServletRequest,ProdProduction prodProduction);
+
+    Result listProd(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 
 
+    Result addProd(HttpServletRequest httpServletRequest, ProdProduction prodProduction);
 }
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IProdSaleService.java

@@ -1,8 +1,12 @@
 package com.huimv.admin.service;
 package com.huimv.admin.service;
 
 
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.ProdSale;
 import com.huimv.admin.entity.ProdSale;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  *  服务类
  *  服务类
@@ -12,5 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface IProdSaleService extends IService<ProdSale> {
 public interface IProdSaleService extends IService<ProdSale> {
+    Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 
 
+    Result add(HttpServletRequest httpServletRequest,ProdSale prodSale);
 }
 }

+ 9 - 1
huimv-admin/src/main/java/com/huimv/admin/service/IProdStockService.java

@@ -1,7 +1,15 @@
 package com.huimv.admin.service;
 package com.huimv.admin.service;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.entity.ProdStock;
 import com.huimv.admin.entity.ProdStock;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.apache.ibatis.annotations.Param;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -12,5 +20,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-02-22
  * @since 2023-02-22
  */
  */
 public interface IProdStockService extends IService<ProdStock> {
 public interface IProdStockService extends IService<ProdStock> {
-
+    Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 }
 }

+ 78 - 16
huimv-admin/src/main/java/com/huimv/admin/service/impl/CameraBaseServiceImpl.java

@@ -9,14 +9,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.Result;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.common.utils.ResultUtil;
 import com.huimv.admin.common.utils.ResultUtil;
+import com.huimv.admin.entity.BasePigpen;
 import com.huimv.admin.entity.CameraArea;
 import com.huimv.admin.entity.CameraArea;
 import com.huimv.admin.entity.CameraBase;
 import com.huimv.admin.entity.CameraBase;
 import com.huimv.admin.entity.CameraBrand;
 import com.huimv.admin.entity.CameraBrand;
+import com.huimv.admin.entity.dto.CameraNameDto;
 import com.huimv.admin.entity.hkwsdto.CameraDto1;
 import com.huimv.admin.entity.hkwsdto.CameraDto1;
 import com.huimv.admin.entity.hkwsdto.UnitDto1;
 import com.huimv.admin.entity.hkwsdto.UnitDto1;
 import com.huimv.admin.entity.vo.CameraListVo;
 import com.huimv.admin.entity.vo.CameraListVo;
 import com.huimv.admin.entity.vo.CameraListsVo;
 import com.huimv.admin.entity.vo.CameraListsVo;
 import com.huimv.admin.entity.vo.CameraVo;
 import com.huimv.admin.entity.vo.CameraVo;
+import com.huimv.admin.entity.vo.TreeBasePigpen;
 import com.huimv.admin.mapper.CameraAreaMapper;
 import com.huimv.admin.mapper.CameraAreaMapper;
 import com.huimv.admin.mapper.CameraBaseMapper;
 import com.huimv.admin.mapper.CameraBaseMapper;
 import com.huimv.admin.mapper.CameraBrandMapper;
 import com.huimv.admin.mapper.CameraBrandMapper;
@@ -25,15 +28,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  * </p>
  *
  *
  * @author author
  * @author author
@@ -46,6 +48,8 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
     private CameraAreaMapper cameraAreaMapper;
     private CameraAreaMapper cameraAreaMapper;
     @Autowired
     @Autowired
     private CameraBrandMapper cameraBrandMapper;
     private CameraBrandMapper cameraBrandMapper;
+    @Autowired
+    private CameraBaseMapper cameraBaseMapper;
 
 
     @Override
     @Override
     public Result listPage(CameraListVo cameraListVo) {
     public Result listPage(CameraListVo cameraListVo) {
@@ -58,11 +62,11 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
         Integer onLineStatus = cameraListVo.getOnLineStatus();
         Integer onLineStatus = cameraListVo.getOnLineStatus();
         String regionUuuid = cameraListVo.getRegionUuuid();
         String regionUuuid = cameraListVo.getRegionUuuid();
         QueryWrapper<CameraBase> wrapper = new QueryWrapper<>();
         QueryWrapper<CameraBase> wrapper = new QueryWrapper<>();
-        if (null == current ) {
-            current =1;
+        if (null == current) {
+            current = 1;
         }
         }
-        if (null ==size) {
-            size =10;
+        if (null == size) {
+            size = 10;
         }
         }
         if (farmId != null) {
         if (farmId != null) {
             wrapper.eq("farm_id", farmId);
             wrapper.eq("farm_id", farmId);
@@ -98,7 +102,7 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
             String regionUuid = cameraBase.getRegionUuid();
             String regionUuid = cameraBase.getRegionUuid();
             CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", regionUuid));
             CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", regionUuid));
             // http://61.153.248.106:6713/mag/hls/6bf5d2cf30bb440cad3fc126512f5188/1/live.m3u8
             // http://61.153.248.106:6713/mag/hls/6bf5d2cf30bb440cad3fc126512f5188/1/live.m3u8
-            String hls ="http://"+cameraArea.getPublicUrl()+cameraBrand.getStreamType()+cameraBase.getCameraUuid()+"/"+ cameraBrand.getMainStream()+"/"+"live.m3u8";
+            String hls = "http://" + cameraArea.getPublicUrl() + cameraBrand.getStreamType() + cameraBase.getCameraUuid() + "/" + cameraBrand.getMainStream() + "/" + "live.m3u8";
             CameraVo cameraVo = new CameraVo();
             CameraVo cameraVo = new CameraVo();
             cameraVo.setHlsUrl(hls);
             cameraVo.setHlsUrl(hls);
             cameraVo.setId(cameraBase.getId());
             cameraVo.setId(cameraBase.getId());
@@ -120,14 +124,14 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
         CopyOnWriteArrayList<String> huatongDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(huatongCameraId);
         CopyOnWriteArrayList<String> huatongDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(huatongCameraId);
         haikangDeviceIdCopy.removeAll(huatongCameraId);
         haikangDeviceIdCopy.removeAll(huatongCameraId);
         //TODO 想不出来,回头优化
         //TODO 想不出来,回头优化
-        if (haikangDeviceIdCopy.size() >0){
+        if (haikangDeviceIdCopy.size() > 0) {
             for (String s : haikangDeviceIdCopy) {
             for (String s : haikangDeviceIdCopy) {
                 for (CameraDto1 cameraDto1 : list) {
                 for (CameraDto1 cameraDto1 : list) {
-                    if (s.equals(cameraDto1.getCameraUuid())){
+                    if (s.equals(cameraDto1.getCameraUuid())) {
                         CameraBase cameraBase = new CameraBase();
                         CameraBase cameraBase = new CameraBase();
-                        BeanUtil.copyProperties(cameraDto1,cameraBase);
+                        BeanUtil.copyProperties(cameraDto1, cameraBase);
                         CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", cameraDto1.getRegionUuid()));
                         CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", cameraDto1.getRegionUuid()));
-                        if (ObjectUtil.isNotEmpty(cameraArea)){
+                        if (ObjectUtil.isNotEmpty(cameraArea)) {
                             cameraBase.setAreaName(cameraArea.getAreaName());
                             cameraBase.setAreaName(cameraArea.getAreaName());
                         }
                         }
                         cameraBase.setBrandName("海康威视");
                         cameraBase.setBrandName("海康威视");
@@ -139,8 +143,8 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
         }
         }
         //删除
         //删除
         huatongDeviceIdCopy.removeAll(haikangCarmearId);
         huatongDeviceIdCopy.removeAll(haikangCarmearId);
-        if (huatongDeviceIdCopy.size() >0){
-            this.remove(new QueryWrapper<CameraBase>().in("camera_uuid",huatongDeviceIdCopy));
+        if (huatongDeviceIdCopy.size() > 0) {
+            this.remove(new QueryWrapper<CameraBase>().in("camera_uuid", huatongDeviceIdCopy));
         }
         }
 
 
     }
     }
@@ -151,7 +155,65 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
         for (CameraDto1 cameraDto1 : list) {
         for (CameraDto1 cameraDto1 : list) {
             String cameraUuid = cameraDto1.getCameraUuid();
             String cameraUuid = cameraDto1.getCameraUuid();
             CameraBase one = this.getOne(new QueryWrapper<CameraBase>().eq("camera_uuid", cameraUuid));
             CameraBase one = this.getOne(new QueryWrapper<CameraBase>().eq("camera_uuid", cameraUuid));
-            one.setOnLineStatus(1 ==cameraDto1.getOnLineStatus());
+            one.setOnLineStatus(1 == cameraDto1.getOnLineStatus());
+        }
+    }
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<CameraArea> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        List<CameraArea> cameraAreas = cameraAreaMapper.selectList(queryWrapper);
+
+        List<CameraNameDto> cameraNameDtoList = new LinkedList();
+        for (CameraArea cameraArea : cameraAreas) {
+            CameraNameDto cameraNameDto = new CameraNameDto();
+            QueryWrapper<CameraBase> baseQueryWrapper = new QueryWrapper<>();
+            baseQueryWrapper.eq("farm_id", farmId).eq("area_name", cameraArea.getAreaName());
+            List<CameraBase> cameraBases = cameraBaseMapper.selectList(baseQueryWrapper);
+
+            cameraNameDto.setCameraBases(cameraBases);
+            cameraNameDto.setId(cameraArea.getId());
+            cameraNameDto.setAreaName(cameraArea.getAreaName());
+
+            cameraNameDtoList.add(cameraNameDto);
+
+
         }
         }
+
+        return new Result(ResultCode.SUCCESS, cameraNameDtoList);
     }
     }
+
+
+    /* *//**
+     * 查询结果 转换成树形结构
+     * @param bizBaseAreas 原始数据
+     * @return 树
+     *//*
+    private List<CameraNameDto> parseBizBaseArea(List<CameraBase> bizBaseAreas){
+        //构建需要展示的树形节点结构
+        Map<String, CameraNameDto> nodeMap = bizBaseAreas.stream().map(basePigpen -> {
+            CameraNameDto  baseVo = new CameraNameDto();
+            baseVo.setId(basePigpen.getId()+"");
+            baseVo.setCameraName(basePigpen.getCameraName());
+            baseVo.setFarmId(basePigpen.getFarmId().toString());
+            baseVo.setChildNode(new ArrayList<>());
+            return baseVo;
+        }).collect(Collectors.toMap(CameraNameDto::getId, b -> b,(k1, k2)->k1));
+        //创建数组存父亲节点
+        ArrayList<CameraNameDto> roots = new ArrayList<>();
+        //构建树形
+        nodeMap.values().forEach(item->{
+            String parentCode = item.getParentId()+"";
+            if (nodeMap.get(parentCode) == null){
+                //父节点为空,说明当前节点就已经是父节点了 将该节点存起来
+                roots.add(item);
+            }else {
+                //父节点 不为空,说明有父节点,拿到该节点的父节点的孩子节点(就是我自己),将该节点存起来
+                nodeMap.get(parentCode).getChildNode().add(item);
+            }
+        });
+        return roots;
+    }*/
 }
 }

+ 110 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdAnalysisServiceImpl.java

@@ -1,11 +1,23 @@
 package com.huimv.admin.service.impl;
 package com.huimv.admin.service.impl;
 
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProdAnalysis;
 import com.huimv.admin.entity.ProdAnalysis;
+import com.huimv.admin.entity.vo.ProAnalysisVo;
 import com.huimv.admin.mapper.ProdAnalysisMapper;
 import com.huimv.admin.mapper.ProdAnalysisMapper;
 import com.huimv.admin.service.IProdAnalysisService;
 import com.huimv.admin.service.IProdAnalysisService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.servlet.http.HttpServletRequest;
+import javax.xml.crypto.Data;
+import java.util.Date;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 重要指标 服务实现类
  * 重要指标 服务实现类
@@ -17,4 +29,102 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ProdAnalysisServiceImpl extends ServiceImpl<ProdAnalysisMapper, ProdAnalysis> implements IProdAnalysisService {
 public class ProdAnalysisServiceImpl extends ServiceImpl<ProdAnalysisMapper, ProdAnalysis> implements IProdAnalysisService {
 
 
+    @Autowired
+    private ProdAnalysisMapper prodAnalysisMapper;
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        ProAnalysisVo proAnalysisVo = new ProAnalysisVo();
+        Integer count=null;
+        Integer count1=null;
+        Integer count2=null;
+
+        QueryWrapper<ProdAnalysis> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId).eq("type", 1).orderByDesc("creat_time")
+                .last(" limit 1");
+        ProdAnalysis prodAnalysis = prodAnalysisMapper.selectOne(queryWrapper);
+        if (ObjectUtil.isEmpty(prodAnalysis)) {
+            ProdAnalysis prodAnalysis3 = new ProdAnalysis();
+            prodAnalysis3.setZcb("0");
+            prodAnalysis3.setByzq("0");
+            prodAnalysis3.setFarmId(Integer.parseInt(farmId));
+            prodAnalysis3.setHbzq("0");
+            prodAnalysis3.setId(0);
+            prodAnalysis3.setJczq("0");
+            prodAnalysis3.setType(3);
+            prodAnalysis3.setYfzq("0");
+            prodAnalysis3.setCreatTime(new Date());
+            proAnalysisVo.setFeed(prodAnalysis3);
+            count = 0;
+        } else {
+            count = Integer.parseInt(prodAnalysis.getZcb());
+            proAnalysisVo.setFeed(prodAnalysis);
+        }
+
+        QueryWrapper<ProdAnalysis> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).eq("type", 2).orderByDesc("creat_time")
+                .last(" limit 1");
+        ProdAnalysis prodAnalysis1 = prodAnalysisMapper.selectOne(queryWrapper1);
+        if (ObjectUtil.isEmpty(prodAnalysis1)) {
+            ProdAnalysis prodAnalysis3 = new ProdAnalysis();
+            prodAnalysis3.setZcb("0");
+            prodAnalysis3.setByzq("0");
+            prodAnalysis3.setFarmId(Integer.parseInt(farmId));
+            prodAnalysis3.setHbzq("0");
+            prodAnalysis3.setId(0);
+            prodAnalysis3.setJczq("0");
+            prodAnalysis3.setType(3);
+            prodAnalysis3.setYfzq("0");
+            prodAnalysis3.setCreatTime(new Date());
+            proAnalysisVo.setShare(prodAnalysis3);
+            count1 = 0;
+        } else {
+            count1 = Integer.parseInt(prodAnalysis1.getZcb());
+            proAnalysisVo.setShare(prodAnalysis1);
+        }
+
+
+        QueryWrapper<ProdAnalysis> queryWrapper2 = new QueryWrapper<>();
+        queryWrapper2.eq("farm_id", farmId).eq("type", 3).orderByDesc("creat_time")
+                .last(" limit 1");
+        ProdAnalysis prodAnalysis2 = prodAnalysisMapper.selectOne(queryWrapper2);
+        if (ObjectUtil.isEmpty(prodAnalysis2)) {
+            ProdAnalysis prodAnalysis3 = new ProdAnalysis();
+            prodAnalysis3.setZcb("0");
+            prodAnalysis3.setByzq("0");
+            prodAnalysis3.setFarmId(Integer.parseInt(farmId));
+            prodAnalysis3.setHbzq("0");
+            prodAnalysis3.setId(0);
+            prodAnalysis3.setJczq("0");
+            prodAnalysis3.setType(3);
+            prodAnalysis3.setYfzq("0");
+            prodAnalysis3.setCreatTime(new Date());
+            proAnalysisVo.setDrug(prodAnalysis3);
+            count2 = 0;
+        } else {
+            count2 = Integer.parseInt(prodAnalysis2.getZcb());
+            proAnalysisVo.setDrug(prodAnalysis2);
+        }
+
+        proAnalysisVo.setCount(String.valueOf(count+count1+count2));
+
+        return new Result(ResultCode.SUCCESS,proAnalysisVo);
+    }
+
+    @Override
+    public Result edit(HttpServletRequest httpServletRequest, ProdAnalysis prodAnalysis) {
+
+        QueryWrapper<ProdAnalysis> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", prodAnalysis.getId());
+        ProdAnalysis prodAnalysis1 = prodAnalysisMapper.selectOne(queryWrapper);
+        ProdAnalysis prodAnalysis2 = new ProdAnalysis();
+        if (ObjectUtil.isEmpty(prodAnalysis1)) {
+            prodAnalysisMapper.insert(prodAnalysis);
+            return new Result(ResultCode.SUCCESS,"添加成功");
+        } else {
+            prodAnalysisMapper.updateById(prodAnalysis);
+            return new Result(ResultCode.SUCCESS,"修改成功");
+        }
+
+    }
 }
 }

+ 62 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdProductionServiceImpl.java

@@ -1,11 +1,22 @@
 package com.huimv.admin.service.impl;
 package com.huimv.admin.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProdProduction;
 import com.huimv.admin.entity.ProdProduction;
 import com.huimv.admin.mapper.ProdProductionMapper;
 import com.huimv.admin.mapper.ProdProductionMapper;
 import com.huimv.admin.service.IProdProductionService;
 import com.huimv.admin.service.IProdProductionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mysql.cj.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 生产情况 服务实现类
  * 生产情况 服务实现类
@@ -17,4 +28,55 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ProdProductionServiceImpl extends ServiceImpl<ProdProductionMapper, ProdProduction> implements IProdProductionService {
 public class ProdProductionServiceImpl extends ServiceImpl<ProdProductionMapper, ProdProduction> implements IProdProductionService {
 
 
+    @Autowired
+    private ProdProductionMapper productionMapper;
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+        QueryWrapper<ProdProduction> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        if (StringUtils.isNullOrEmpty(startTime) || StringUtils.isNullOrEmpty(endTime)) {
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化时间
+            //获取前12个月的第一天
+            Calendar cal_1 = Calendar.getInstance();//获取当前日期
+            cal_1.add(Calendar.MONTH, -12);
+            cal_1.set(Calendar.DAY_OF_MONTH, 1);//设置为1号
+            cal_1.set(Calendar.HOUR_OF_DAY, 0);
+            cal_1.set(Calendar.MINUTE, 0);
+            cal_1.set(Calendar.SECOND, 0);
+            String firstDay = format.format(cal_1.getTime());
+            queryWrapper.ge("creat_time", firstDay);
+        } else {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("creat_time", startTime, endTime);
+        }
+
+        List<ProdProduction> prodProductions = productionMapper.listDay(queryWrapper);
+        return new Result(ResultCode.SUCCESS,prodProductions);
+    }
+
+    @Override
+    public Result add(HttpServletRequest httpServletRequest, ProdProduction prodProduction) {
+        productionMapper.insert(prodProduction);
+        return new Result(ResultCode.SUCCESS,"添加成功");
+    }
+
+    @Override
+    public Result listProd(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<ProdProduction> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        queryWrapper.orderByDesc("creat_time").last(" limit 1");
+        ProdProduction prodProduction = productionMapper.selectOne(queryWrapper);
+        return new Result(ResultCode.SUCCESS,prodProduction);
+    }
+
+    @Override
+    public Result addProd(HttpServletRequest httpServletRequest, ProdProduction prodProduction) {
+        productionMapper.insert(prodProduction);
+        return new Result(ResultCode.SUCCESS,"添加成功");
+    }
 }
 }

+ 115 - 1
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdSaleServiceImpl.java

@@ -1,14 +1,29 @@
 package com.huimv.admin.service.impl;
 package com.huimv.admin.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.admin.common.utils.DataUill;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProdSale;
 import com.huimv.admin.entity.ProdSale;
+import com.huimv.admin.entity.vo.ProdSaleVo;
 import com.huimv.admin.mapper.ProdSaleMapper;
 import com.huimv.admin.mapper.ProdSaleMapper;
 import com.huimv.admin.service.IProdSaleService;
 import com.huimv.admin.service.IProdSaleService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  * </p>
  *
  *
  * @author author
  * @author author
@@ -17,4 +32,103 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ProdSaleServiceImpl extends ServiceImpl<ProdSaleMapper, ProdSale> implements IProdSaleService {
 public class ProdSaleServiceImpl extends ServiceImpl<ProdSaleMapper, ProdSale> implements IProdSaleService {
 
 
+    @Autowired
+    private ProdSaleMapper saleMapper;
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String startTime = paramsMap.get("startTime");
+        String endTime = paramsMap.get("endTime");
+
+        Integer moneyCount = 0;
+        Integer quantityCount = 0;
+        Integer moneyCount1 = 0;
+        Integer quantityCount1 = 0;
+
+
+        ProdSaleVo prodSaleVo = new ProdSaleVo();
+        QueryWrapper<ProdSale> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        if (StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7);
+            queryWrapper.ge("creat_time", calendar.getTime()).orderByAsc("creat_time");
+            List<ProdSale> prodSales = saleMapper.selectList(queryWrapper);
+            if (prodSales.size() == 0) {
+                prodSaleVo.setMoneyRate("0");
+                prodSaleVo.setQuantityRate("0");
+                prodSaleVo.setSales(null);
+            } else {
+                prodSaleVo.setSales(prodSales);
+            }
+        } else {
+            startTime = startTime + " 00:00:00";
+            endTime = endTime + " 23:59:59";
+            queryWrapper.between("creat_time", startTime, endTime).orderByAsc("creat_time");
+            List<ProdSale> prodSales = saleMapper.selectList(queryWrapper);
+            if (prodSales.size() == 0) {
+                prodSaleVo.setMoneyRate("0");
+                prodSaleVo.setQuantityRate("0");
+                prodSaleVo.setSales(null);
+            } else {
+                prodSaleVo.setSales(prodSales);
+            }
+        }
+
+        //本月
+        Date timesMonthmorning = DataUill.getTimesMonthmorning();
+        QueryWrapper<ProdSale> saleQueryWrapper = new QueryWrapper<>();
+        saleQueryWrapper.ge("creat_time", timesMonthmorning).eq("farm_id", farmId);
+        List<ProdSale> prodSales = saleMapper.selectList(saleQueryWrapper);
+        for (ProdSale prodSale : prodSales) {
+            moneyCount = moneyCount + Integer.parseInt(prodSale.getSaleMoney());
+            quantityCount = quantityCount + prodSale.getSaleQuantity();
+        }
+
+
+        //上个月
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化时间
+        //获取上个月的第一天
+        Calendar cal_1 = Calendar.getInstance();//获取当前日期
+        cal_1.add(Calendar.MONTH, -1);
+        cal_1.set(Calendar.DAY_OF_MONTH, 1);//设置为1号
+        cal_1.set(Calendar.HOUR_OF_DAY, 0);
+        cal_1.set(Calendar.MINUTE, 0);
+        cal_1.set(Calendar.SECOND, 0);
+        String firstDay = format.format(cal_1.getTime());
+
+        //获取上个月的最后一天
+        Calendar cal_2 = Calendar.getInstance();
+        cal_2.set(Calendar.DAY_OF_MONTH, 0);//设置为1号,当前日期既为本月第一天
+        cal_2.set(Calendar.HOUR_OF_DAY, 23);
+        cal_2.set(Calendar.MINUTE, 59);
+        cal_2.set(Calendar.SECOND, 59);
+        String lastDay = format.format(cal_2.getTime());
+        QueryWrapper<ProdSale> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.between("creat_time", firstDay, lastDay);
+        List<ProdSale> prodSales1 = saleMapper.selectList(queryWrapper1);
+        for (ProdSale prodSale : prodSales1) {
+            moneyCount1 = moneyCount1 + Integer.parseInt(prodSale.getSaleMoney());
+            quantityCount1 = quantityCount1 + prodSale.getSaleQuantity();
+        }
+
+        prodSaleVo.setMoneyCountLast(moneyCount1.toString());
+        prodSaleVo.setQuantityCountLast(quantityCount1.toString());
+        prodSaleVo.setMoneyCount(moneyCount.toString());//本月销售数量
+        prodSaleVo.setQuantityCount(quantityCount.toString());//本月销售额
+        double a = (moneyCount.doubleValue() - moneyCount1.doubleValue()) / moneyCount1.doubleValue();
+        double b = (quantityCount.doubleValue() - quantityCount1.doubleValue())/ quantityCount1.doubleValue();
+        NumberFormat nt = NumberFormat.getPercentInstance();
+        nt.setMinimumFractionDigits(2);
+        prodSaleVo.setMoneyRate(nt.format(a));
+        prodSaleVo.setQuantityRate(nt.format(b));
+        return new Result(ResultCode.SUCCESS, prodSaleVo);
+    }
+
+    @Override
+    public Result add(HttpServletRequest httpServletRequest, ProdSale prodSale) {
+        saleMapper.insert(prodSale);
+        return new Result(ResultCode.SUCCESS,"添加成功");
+    }
 }
 }

+ 58 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdStockServiceImpl.java

@@ -1,11 +1,23 @@
 package com.huimv.admin.service.impl;
 package com.huimv.admin.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
 import com.huimv.admin.entity.ProdStock;
 import com.huimv.admin.entity.ProdStock;
+import com.huimv.admin.entity.vo.ProdStockVo;
 import com.huimv.admin.mapper.ProdStockMapper;
 import com.huimv.admin.mapper.ProdStockMapper;
 import com.huimv.admin.service.IProdStockService;
 import com.huimv.admin.service.IProdStockService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.servlet.http.HttpServletRequest;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 存栏结构 服务实现类
  * 存栏结构 服务实现类
@@ -17,4 +29,50 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class ProdStockServiceImpl extends ServiceImpl<ProdStockMapper, ProdStock> implements IProdStockService {
 public class ProdStockServiceImpl extends ServiceImpl<ProdStockMapper, ProdStock> implements IProdStockService {
 
 
+    @Autowired
+    private ProdStockMapper prodStockMapper;
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+
+
+        QueryWrapper<ProdStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //格式化时间
+        //获取前12个月的第一天
+        Calendar cal_1 = Calendar.getInstance();//获取当前日期
+        cal_1.add(Calendar.MONTH, -12);
+        cal_1.set(Calendar.DAY_OF_MONTH, 1);//设置为1号
+        cal_1.set(Calendar.HOUR_OF_DAY, 0);
+        cal_1.set(Calendar.MINUTE, 0);
+        cal_1.set(Calendar.SECOND, 0);
+        String firstDay = format.format(cal_1.getTime());
+        queryWrapper.ge("creat_time", firstDay);
+        List<ProdStock> prodStocks = prodStockMapper.listDay(queryWrapper);
+
+        QueryWrapper<ProdStock> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("farm_id", farmId).orderByDesc("creat_time").last(" limit 1");
+        ProdStock prodStock = prodStockMapper.selectOne(queryWrapper1);
+        Integer count = prodStock.getMzcl() + prodStock.getGzcl() + prodStock.getBrzcl() + prodStock.getByzcl() + prodStock.getYfzcl() +
+                prodStock.getHbzcl() + prodStock.getRszcl() + prodStock.getBrmzcl() + prodStock.getKhzcl() + prodStock.getSpzcl();
+        NumberFormat nt = NumberFormat.getPercentInstance();
+        nt.setMinimumFractionDigits(2);
+
+        ProdStockVo prodStockVo = new ProdStockVo();
+        prodStockVo.setCount(count);
+        prodStockVo.setProdStock(prodStock);
+        prodStockVo.setProdStocks(prodStocks);
+        prodStockVo.setMzclTRate(nt.format((double)prodStock.getMzcl()/count));
+        prodStockVo.setGzclTRate(nt.format((double) prodStock.getGzcl() / count));
+        prodStockVo.setBrzclTRate(nt.format((double) prodStock.getBrzcl() / count));
+        prodStockVo.setByzclTRate(nt.format((double) prodStock.getByzcl() / count));
+        prodStockVo.setYfzclRate(nt.format((double) prodStock.getYfzcl() / count));
+        prodStockVo.setHbzclRate(nt.format((double) prodStock.getHbzcl() / count));
+        prodStockVo.setRczclTRate(nt.format((double) prodStock.getRszcl() / count));
+        prodStockVo.setBrmzclRate(nt.format((double) prodStock.getBrmzcl() / count));
+        prodStockVo.setKhzclRate(nt.format((double) prodStock.getKhzcl() / count));
+        prodStockVo.setSpzclRate(nt.format((double) prodStock.getSpzcl() / count));
+        return new Result(ResultCode.SUCCESS,prodStockVo);
+    }
 }
 }

+ 35 - 20
huimv-admin/src/main/resources/com/huimv/admin/mapper/ProdProductionMapper.xml

@@ -4,25 +4,40 @@
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.huimv.admin.entity.ProdProduction">
     <resultMap id="BaseResultMap" type="com.huimv.admin.entity.ProdProduction">
-        <id column="id" property="id" />
-        <result column="CFCHL" property="cfchl" />
-        <result column="BYCHL" property="bychl" />
-        <result column="FZCHL" property="fzchl" />
-        <result column="QRDPL" property="qrdpl" />
-        <result column="PZFML" property="pzfml" />
-        <result column="PJWCZS" property="pjwczs" />
-        <result column="PJWCHZS" property="pjwchzs" />
-        <result column="PJWCZCZS" property="pjwczczs" />
-        <result column="WDNZZS" property="wdnzzs" />
-        <result column="PJWDNZ" property="pjwdnz" />
-        <result column="FCCTS" property="fccts" />
-        <result column="SCWS" property="scws" />
-        <result column="PSY" property="psy" />
-        <result column="creat_time" property="creatTime" />
-        <result column="farm_id" property="farmId" />
-        <result column="other1" property="other1" />
-        <result column="other2" property="other2" />
-        <result column="other3" property="other3" />
+        <id column="id" property="id"/>
+        <result column="CFCHL" property="cfchl"/>
+        <result column="BYCHL" property="bychl"/>
+        <result column="FZCHL" property="fzchl"/>
+        <result column="QRDPL" property="qrdpl"/>
+        <result column="PZFML" property="pzfml"/>
+        <result column="PJWCZS" property="pjwczs"/>
+        <result column="PJWCHZS" property="pjwchzs"/>
+        <result column="PJWCZCZS" property="pjwczczs"/>
+        <result column="WDNZZS" property="wdnzzs"/>
+        <result column="PJWDNZ" property="pjwdnz"/>
+        <result column="FCCTS" property="fccts"/>
+        <result column="SCWS" property="scws"/>
+        <result column="PSY" property="psy"/>
+        <result column="creat_time" property="creatTime"/>
+        <result column="farm_id" property="farmId"/>
+        <result column="other1" property="other1"/>
+        <result column="other2" property="other2"/>
+        <result column="other3" property="other3"/>
     </resultMap>
     </resultMap>
-
+    <select id="listDay" resultType="com.huimv.admin.entity.ProdProduction">
+        SELECT Convert((IFNULL(AVG(CFCHL),0)),DECIMAL(10,2)) 'cfchl'
+         ,Convert((IFNULL(AVG(BYCHL),0)),DECIMAL(10,2)) 'bychl',
+         Convert((IFNULL(AVG(FZCHL),0)),DECIMAL(10,2)) 'fzchl',
+         Convert((IFNULL(AVG(QRDPL),0)),DECIMAL(10,2)) 'qrdpl',
+         Convert((IFNULL(AVG(PJWDNZ),0)),DECIMAL(10,2)) 'pjwdnz',
+         Convert((IFNULL(AVG(PJWCZS),0)),DECIMAL(10,2)) 'pjwczs',
+         Convert((IFNULL(AVG(PJWCHZS),0)),DECIMAL(10,2)) 'pjwchzs',
+         Convert((IFNULL(AVG(PJWCZCZS),0)),DECIMAL(10,2)) 'pjwczczs',
+         Convert((IFNULL(AVG(WDNZZS),0)),DECIMAL(10,2)) 'wdnzzs',
+         creat_time
+         FROM prod_production
+         ${ew.customSqlSegment}
+         GROUP BY DATE_FORMAT(creat_time,'%Y-%m-%d')
+         ORDER BY creat_time ASC
+    </select>
 </mapper>
 </mapper>

+ 8 - 1
huimv-admin/src/main/resources/com/huimv/admin/mapper/ProdStockMapper.xml

@@ -21,5 +21,12 @@
         <result column="other2" property="other2" />
         <result column="other2" property="other2" />
         <result column="other3" property="other3" />
         <result column="other3" property="other3" />
     </resultMap>
     </resultMap>
-
+<select id="listDay" resultType="com.huimv.admin.entity.ProdStock">
+    select sum(MZCL) 'MZCL',sum(GZCL) 'GZCL',sum(BRZCL) 'BRZCL',sum(BYZCL) 'BYZCL',sum(YFZCL) 'YFZCL',
+    sum(HBZCL) 'HBZCL',sum(RSZCL) 'RSZCL',sum(BRMZCL) 'BRMZCL',sum(KHZCL) 'KHZCL',sum(SPZCL) 'SPZCL',creat_time
+    from prod_stock
+    ${ew.customSqlSegment}
+    GROUP BY DATE_FORMAT(creat_time,'%Y-%m-%d')
+    ORDER BY creat_time ASC
+</select>
 </mapper>
 </mapper>