Browse Source

需求更改

Newspaper 1 year ago
parent
commit
14893acca8

+ 49 - 2
huimv-admin/src/main/java/com/huimv/admin/controller/ProdAnalysisController.java

@@ -50,12 +50,58 @@ public class ProdAnalysisController {
     public Result add(HttpServletRequest httpServletRequest, @RequestBody ProdAnalysisVo prodAnalysis) {
         String farmId = prodAnalysis.getFarmId();
         ProdAnalysis feed = prodAnalysis.getFeed();
+        ProdAnalysis drug = prodAnalysis.getDrug();
+        ProdAnalysis share = prodAnalysis.getShare();
+        double feedCost = Double.parseDouble(feed.getZcb());
+        double drugCost = Double.parseDouble(drug.getZcb());
+        double shareCost = Double.parseDouble(share.getZcb());
+
+        double feedRate = 0;
+        double drugRate = 0;
+        double shareRate = 0;
+
+        double totalCost = feedCost + drugCost + shareCost;
+
+        if (totalCost != 0.0) {
+            // 计算每个比例(乘以100后四舍五入到整数)
+            feedRate = Math.round((feedCost / totalCost) * 100);
+            drugRate = Math.round((drugCost / totalCost) * 100);
+            shareRate = Math.round((shareCost / totalCost) * 100);
+
+            // 确保比例的总和为100
+            double sum = feedRate + drugRate + shareRate;
+
+            if (sum != 100.0) {
+                // 如果总和不为100,调整比例以使其总和等于100
+                double diff = 100.0 - sum;
+
+                // 将差异添加到小数部分最大的比例
+                if (feedRate % 1 > drugRate % 1 && feedRate % 1 > shareRate % 1) {
+                    feedRate += diff;
+                } else if (drugRate % 1 > feedRate % 1 && drugRate % 1 > shareRate % 1) {
+                    drugRate += diff;
+                } else {
+                    shareRate += diff;
+                }
+            }
+        }
+
+
         feed.setCreatTime(new Date());
         feed.setFarmId(Integer.valueOf(farmId));
-        ProdAnalysis drug = prodAnalysis.getDrug();
+        feed.setFeedCost(String.valueOf(feedRate));
+        feed.setShareCost(String.valueOf(shareRate));
+        feed.setVaccineCost(String.valueOf(drugRate));
+
         drug.setFarmId(Integer.valueOf(farmId));
         drug.setCreatTime(new Date());
-        ProdAnalysis share = prodAnalysis.getShare();
+        drug.setFeedCost(String.valueOf(feedRate));
+        drug.setShareCost(String.valueOf(shareRate));
+        drug.setVaccineCost(String.valueOf(drugRate));
+
+        share.setFeedCost(String.valueOf(feedRate));
+        share.setShareCost(String.valueOf(shareRate));
+        share.setVaccineCost(String.valueOf(drugRate));
         share.setFarmId(Integer.valueOf(farmId));
         share.setCreatTime(new Date());
         List<ProdAnalysis> prodAnalyses = new ArrayList<>();
@@ -66,4 +112,5 @@ public class ProdAnalysisController {
         prodAnalysisService.saveBatch(prodAnalyses);
         return Result.SUCCESS();
     }
+
 }

+ 3 - 2
huimv-admin/src/main/java/com/huimv/admin/entity/ProdAnalysis.java

@@ -67,9 +67,10 @@ public class ProdAnalysis implements Serializable {
     private Integer farmId;
 
     private String feedCost;
-    private String energyCost;
+
+    private String shareCost;
+
     private String vaccineCost;
-    private String otherCost;
 
     private Integer displayType;
 

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

@@ -42,6 +42,22 @@ public class ProdProduction implements Serializable {
     private String bychl;
 
     /**
+     * 育肥成活率
+     */
+    private String yfchl;
+
+    /**
+     * 每日喂料量
+     */
+    private String mrwll;
+
+
+    /**
+     * 日增重
+     */
+    private String rzz;
+
+    /**
      * 肥猪成活率
      */
     private String fzchl;

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/entity/dto/EnvWarningDto.java

@@ -6,5 +6,5 @@ import lombok.Data;
 public class EnvWarningDto {
     private Integer id;
     private String buildName;
-    private Integer coutnTop;
+    private Integer countTop;
 }

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

@@ -18,4 +18,5 @@ import java.util.Map;
 public interface IProdAnalysisService extends IService<ProdAnalysis> {
     Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
     Result edit(HttpServletRequest httpServletRequest, ProdAnalysis prodAnalysis);
+
 }

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

@@ -83,9 +83,8 @@ public class ProdAnalysisServiceImpl extends ServiceImpl<ProdAnalysisMapper, Pro
             prodAnalysis3.setYfzq("0");
             prodAnalysis3.setCreatTime(new Date());
             prodAnalysis3.setFeedCost("57");
-            prodAnalysis3.setEnergyCost("18");
+            prodAnalysis3.setShareCost("36");
             prodAnalysis3.setVaccineCost("7");
-            prodAnalysis3.setOtherCost("18");
             proAnalysisVo.setShare(prodAnalysis3);
             count1 = 0;
         } else {
@@ -138,4 +137,5 @@ public class ProdAnalysisServiceImpl extends ServiceImpl<ProdAnalysisMapper, Pro
         }
 
     }
+
 }