Browse Source

添加成本接口取数和数据入库功能。

zhuoning 3 năm trước cách đây
mục cha
commit
7b1f90ab1e

+ 2 - 1
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/config/SaticScheduleTask.java

@@ -11,6 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.IOException;
+import java.text.ParseException;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -114,7 +115,7 @@ public class SaticScheduleTask  {
     }
 
     //    @Scheduled(cron = "60 * * * * ? ")
-    private void getCostWithManyFarm() throws IOException {
+    private void getCostWithManyFarm() throws IOException, ParseException {
         //获取多牧场生产成本
         iAutoGetErpData.getCostWithManyFarm();
     }

+ 2 - 1
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/controller/DataControll.java

@@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.IOException;
+import java.text.ParseException;
 
 /**
  * @Project : huimv.shiwan
@@ -42,7 +43,7 @@ public class DataControll {
     }
 
     @RequestMapping(value = "/getCostWithManyFarm",method = RequestMethod.GET)
-    public void getCostWithManyFarm() throws IOException {
+    public void getCostWithManyFarm() throws IOException, ParseException {
         //
         autoGetErpData.getCostWithManyFarm();
     }

+ 152 - 0
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/entity/ProdCostStatisticsEntity.java

@@ -0,0 +1,152 @@
+package com.huimv.production.autoGetData.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(name = "prod_cost_statistics")
+public class ProdCostStatisticsEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "farm_id")
+    private Integer farmId;
+
+    @Column(name = "farm_name")
+    private String farmName;
+
+    @Column(name = "base_group")
+    private String baseGroup;
+
+    @Column(name = "piglet_group")
+    private String pigletGroup;
+
+    @Column(name = "fatten_pig")
+    private String fattenPig;
+
+    @Column(name = "replace_gilt")
+    private String replaceGilt;
+
+    @Column(name = "common_cost")
+    private String commonCost;
+
+    @Column(name = "total")
+    private String total;
+
+    @Column(name = "project_name")
+    private String projectName;
+
+    @Column(name = "add_date")
+    private Date addDate;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setFarmId(Integer farmId) {
+        this.farmId = farmId;
+    }
+
+    public Integer getFarmId() {
+        return farmId;
+    }
+
+    public void setFarmName(String farmName) {
+        this.farmName = farmName;
+    }
+
+    public String getFarmName() {
+        return farmName;
+    }
+
+    public void setBaseGroup(String baseGroup) {
+        this.baseGroup = baseGroup;
+    }
+
+    public String getBaseGroup() {
+        return baseGroup;
+    }
+
+    public void setPigletGroup(String pigletGroup) {
+        this.pigletGroup = pigletGroup;
+    }
+
+    public String getPigletGroup() {
+        return pigletGroup;
+    }
+
+    public void setFattenPig(String fattenPig) {
+        this.fattenPig = fattenPig;
+    }
+
+    public String getFattenPig() {
+        return fattenPig;
+    }
+
+    public void setReplaceGilt(String replaceGilt) {
+        this.replaceGilt = replaceGilt;
+    }
+
+    public String getReplaceGilt() {
+        return replaceGilt;
+    }
+
+    public void setCommonCost(String commonCost) {
+        this.commonCost = commonCost;
+    }
+
+    public String getCommonCost() {
+        return commonCost;
+    }
+
+    public void setTotal(String total) {
+        this.total = total;
+    }
+
+    public String getTotal() {
+        return total;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setAddDate(Date addDate) {
+        this.addDate = addDate;
+    }
+
+    public Date getAddDate() {
+        return addDate;
+    }
+
+    @Override
+    public String toString() {
+        return "ProdCostStatisticsEntity{" +
+                "id=" + id + '\'' +
+                "farmId=" + farmId + '\'' +
+                "farmName=" + farmName + '\'' +
+                "baseGroup=" + baseGroup + '\'' +
+                "pigletGroup=" + pigletGroup + '\'' +
+                "fattenPig=" + fattenPig + '\'' +
+                "replaceGilt=" + replaceGilt + '\'' +
+                "commonCost=" + commonCost + '\'' +
+                "total=" + total + '\'' +
+                "projectName=" + projectName + '\'' +
+                "addDate=" + addDate + '\'' +
+                '}';
+    }
+}

+ 9 - 0
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/repo/ProdCostStatisticsRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.production.autoGetData.repo;
+
+import com.huimv.production.autoGetData.entity.ProdCostStatisticsEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface ProdCostStatisticsRepo extends JpaRepository<ProdCostStatisticsEntity, Integer>, JpaSpecificationExecutor<ProdCostStatisticsEntity> {
+
+}

+ 1 - 1
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/IAutoGetErpData.java

@@ -29,7 +29,7 @@ public interface IAutoGetErpData {
 
     void getManyFarmStock() throws IOException;
 
-    void getCostWithManyFarm() throws IOException;
+    void getCostWithManyFarm() throws IOException, ParseException;
 
     //预警接口取数
     void getWarningMessage() throws IOException, ParseException;

+ 41 - 14
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/impl/AutoGetErpDataImpl.java

@@ -993,20 +993,25 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         return farmId;
     }
 
+    @Autowired
+    private ProdCostStatisticsRepo costStatisticsRepo;
+
     @Override
-    public void getCostWithManyFarm() throws IOException {
+    public void getCostWithManyFarm() throws IOException, ParseException {
         //
         String token = getRemoteToken();
         //
         Map<String, String> paramsMap = new HashMap<String, String>();
         paramsMap.put("accessToken", token);
-        paramsMap.put("year", dateUtil.getThisYear());
-        paramsMap.put("month", dateUtil.getThisMonth());
+//        paramsMap.put("year", dateUtil.getThisYear());
+//        paramsMap.put("month", dateUtil.getThisMonth());
+        paramsMap.put("year", "2021");
+        paramsMap.put("month", "8");
         //
         Map<String, Integer> timeoutMap = new HashMap<String, Integer>();
-        timeoutMap.put("connectTimeout", 120000);
-        timeoutMap.put("requestTimeout", 120000);
-        timeoutMap.put("socketTimeout", 120000);
+        timeoutMap.put("connectTimeout", Integer.parseInt(connectTimeout));
+        timeoutMap.put("requestTimeout", Integer.parseInt(requestTimeout));
+        timeoutMap.put("socketTimeout", Integer.parseInt(socketTimeout));
         String url = apiIp + apiPort + serviceName + "/getCostWithManyFarm";
         log.info("获取多个牧场的成本数据访问地址=" + url);
         log.info("业务请求参数=" + paramsMap.toString());
@@ -1022,11 +1027,33 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                 JSONArray dataJa = contentJo.getJSONArray("data");
                 if (dataJa.size() == 0) {
                     log.info("未取到数据 。");
-                }
-                // 添加入库
-                for (int a = 0; a < dataJa.size(); a++) {
-                    JSONObject dataJo = dataJa.getJSONObject(a);
-                    System.out.println((a + 1) + " " + dataJo);
+                }else {
+                    //删除当天旧数据
+                    ProdCostStatisticsEntity delCostStatisticsEntity = new ProdCostStatisticsEntity();
+                    delCostStatisticsEntity.setAddDate(dateUtil.getTodayDate());
+                    Example<ProdCostStatisticsEntity> example = Example.of(delCostStatisticsEntity);
+                    costStatisticsRepo.deleteAll(costStatisticsRepo.findAll(example));
+
+                    //获取牧场所有名称数据
+                    List<ProdFarmNameEntity> farmNameEntityList = prodFarmNameRepo.findAll();
+                    // 添加入库
+                    for (int a = 0; a < dataJa.size(); a++) {
+                        JSONObject dataJo = dataJa.getJSONObject(a);
+//                        System.out.println((a + 1) + " " + dataJo);
+                        ProdCostStatisticsEntity costStatisticsEntity = new ProdCostStatisticsEntity();
+                        costStatisticsEntity.setFarmName(dataJo.getString("mcmc"));
+                        //牧场名称
+                        costStatisticsEntity.setFarmId(_getFarmIdByShortName(dataJo.getString("mcmc"), farmNameEntityList));
+                        costStatisticsEntity.setBaseGroup(dataJo.getString("jczq"));
+                        costStatisticsEntity.setPigletGroup(dataJo.getString("byzq"));
+                        costStatisticsEntity.setFattenPig(dataJo.getString("yf"));
+                        costStatisticsEntity.setReplaceGilt(dataJo.getString("hb"));
+                        costStatisticsEntity.setCommonCost(dataJo.getString("gtfy"));
+                        costStatisticsEntity.setTotal(dataJo.getString("hj"));
+                        costStatisticsEntity.setProjectName(dataJo.getString("xmmc"));
+                        costStatisticsEntity.setAddDate(new java.util.Date());
+                        costStatisticsRepo.save(costStatisticsEntity);
+                    }
                 }
             } else {
                 System.out.println("取数失败");
@@ -1080,9 +1107,9 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                 warningMsgRepo.deleteAll(warningMsgRepo.findAll(example));
                 //获取牧场所有名称数据
                 List<ProdFarmNameEntity> farmNameEntityList = prodFarmNameRepo.findAll();
-                for (ProdFarmNameEntity farmNameEntity : farmNameEntityList) {
-                    System.out.println("" + farmNameEntity.toString());
-                }
+//                for (ProdFarmNameEntity farmNameEntity : farmNameEntityList) {
+//                    System.out.println("" + farmNameEntity.toString());
+//                }
                 // 添加入库
                 for (int a = 0; a < dataJa.size(); a++) {
                     JSONObject dataJo = dataJa.getJSONObject(a);

+ 1 - 1
huimv-hy-production/huimv.hy.autoGetData/src/test/java/com/huimv/production/autoGetData/utils/AutoGetDataTEst.java

@@ -30,7 +30,7 @@ public class AutoGetDataTEst {
 
     //测试成本
     @Test
-    public void testGetCostWithManyFarm() throws IOException {
+    public void testGetCostWithManyFarm() throws IOException, ParseException {
         //
         autoGetErpData.getCostWithManyFarm();
     }