ソースを参照

添加应付接口取数和数据入库功能。

zhuoning 3 年 前
コミット
fb95781361

+ 104 - 0
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/entity/ProdPayableRankEntity.java

@@ -0,0 +1,104 @@
+package com.huimv.production.autoGetData.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+@Entity
+@Table(name = "prod_payable_rank")
+public class ProdPayableRankEntity 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 = "rank")
+    private Integer rank;
+
+    @Column(name = "money")
+    private Float money;
+
+    @Column(name = "supplier")
+    private String supplier;
+
+    @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 getArmName() {
+        return farmName;
+    }
+
+    public void setRank(Integer rank) {
+        this.rank = rank;
+    }
+
+    public Integer getRank() {
+        return rank;
+    }
+
+    public void setMoney(Float money) {
+        this.money = money;
+    }
+
+    public Float getMoney() {
+        return money;
+    }
+
+    public void setSupplier(String supplier) {
+        this.supplier = supplier;
+    }
+
+    public String getSupplier() {
+        return supplier;
+    }
+
+    public void setAddDate(Date addDate) {
+        this.addDate = addDate;
+    }
+
+    public Date getAddDate() {
+        return addDate;
+    }
+
+    @Override
+    public String toString() {
+        return "ProdPayableRankEntity{" +
+                "id=" + id + '\'' +
+                "farmId=" + farmId + '\'' +
+                "armName=" + farmName + '\'' +
+                "rank=" + rank + '\'' +
+                "money=" + money + '\'' +
+                "supplier=" + supplier + '\'' +
+                "addDate=" + addDate + '\'' +
+                '}';
+    }
+}

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

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

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

@@ -41,7 +41,7 @@ public interface IAutoGetErpData {
     void getPrepareStatusQuantity() throws IOException, ParseException;
 
     //应付接口取数(无数据)
-    void getPayable();
+    void getPayable() throws ParseException, IOException;
 
     //销售接口取数
     void getSales() throws IOException, ParseException;

+ 50 - 2
huimv-hy-production/huimv.hy.autoGetData/src/main/java/com/huimv/production/autoGetData/service/impl/AutoGetErpDataImpl.java

@@ -1269,9 +1269,58 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
         }
     }
 
+    @Autowired
+    private ProdPayableRankRepo payableRankRepo;
+
     @Override
-    public void getPayable() {
+    public void getPayable() throws ParseException, IOException {
+        //
+        Map timeoutMap = httpClientUtil.setTimeout(connectTimeout, requestTimeout, socketTimeout);
+        //
+        String token = getRemoteToken();
+        //
+        Map<String, String> paramsMap = new HashMap<String, String>();
+        paramsMap.put("accessToken", token);
+
+        String url = apiIp + apiPort + serviceName + "/getPayable";
+        log.info("销售数据接口访问地址=" + url);
+        log.info("业务请求参数=" + paramsMap.toString());
+        log.info("开始取数=" + new Date(System.currentTimeMillis()));
+        //
+        JSONObject outJo = httpClientUtil.doGet(url, paramsMap);
+        log.info("返回结果=" + outJo);
+        log.info("结束取数=" + new Date(System.currentTimeMillis()));
+        if (outJo.getBoolean("status")) {
+            JSONObject contentJo = outJo.getJSONObject("content");
+            if (contentJo.getBoolean("success")) {
+                JSONArray dataJa = contentJo.getJSONArray("data");
+                if (dataJa.size() == 0) {
+                    log.info("未取到数据 。");
+                } else {
+                    //删除旧数据
+                    ProdPayableRankEntity delPayableRankEntity = new ProdPayableRankEntity();
+                    delPayableRankEntity.setAddDate(dateUtil.getTodayDate());
+                    Example<ProdPayableRankEntity> example = Example.of(delPayableRankEntity);
+                    payableRankRepo.deleteAll(payableRankRepo.findAll(example));
 
+                    //获取牧场所有名称数据
+                    List<ProdFarmNameEntity> farmNameEntityList = prodFarmNameRepo.findAll();
+                    //获取牧场所有名称数据
+                    for (int a = 0; a < dataJa.size(); a++) {
+                        JSONObject dataJo = dataJa.getJSONObject(a);
+                        ProdPayableRankEntity addPayableRankEntity = new ProdPayableRankEntity();
+                        addPayableRankEntity.setFarmName(dataJo.getString("mcmc"));
+                        //
+                        addPayableRankEntity.setFarmId(_getFarmIdByShortName(dataJo.getString("mcmc"), farmNameEntityList));
+                        addPayableRankEntity.setRank(dataJo.getInteger("rank"));
+                        addPayableRankEntity.setMoney(dataJo.getFloat("je"));
+                        addPayableRankEntity.setSupplier(dataJo.getString("supplier"));
+                        addPayableRankEntity.setAddDate(new Timestamp(new Date().getTime()));
+                        payableRankRepo.save(addPayableRankEntity);
+                    }
+                }
+            }
+        }
     }
 
     @Autowired
@@ -1329,7 +1378,6 @@ public class AutoGetErpDataImpl implements IAutoGetErpData {
                         addSalesEntity.setAddDate(new Timestamp(new Date().getTime()));
                         salesRepo.save(addSalesEntity);
                     }
-
                 }
             }
         }