浏览代码

新增了专项处理数据

verguenza 5 年之前
父节点
当前提交
3b11b35ada

+ 14 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunSpecialProcedureDao.java

@@ -0,0 +1,14 @@
+package com.galaxis.manatee.dao;
+
+import com.galaxis.capsule.util.GalaxisRepository;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSpecialProcedureDO;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/6/6 10:07 上午
+ */
+@Repository
+public interface ChuanyunSpecialProcedureDao extends GalaxisRepository<ChuanyunSpecialProcedureDO,String> {
+}

+ 40 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunSpecialProcedureDO.java

@@ -0,0 +1,40 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Entity;
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/6/6 10:03 上午
+ */
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Entity(name = "CHUANYUN_SPECIAL_PROCEDURE")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunSpecialProcedureDO extends BasicSubDO{
+
+    public static final String SCHEMA_CODE="D001789Fb1f097907edc4fab84b5b18368a6d7dd";
+    /**
+     * 集团项目Id
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 分配比例
+     */
+    @JsonProperty("F0000013")
+    private BigDecimal rate;
+    /**
+     * 成本中心
+     */
+    @JsonProperty("F0000023")
+    private String costCenterId;
+}

+ 41 - 1
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -39,8 +39,9 @@ public class ChuanyunBasicDataScheduledTask {
     private final ChuanyunCostDao chuanyunCostDao;
     private final ChuanyunReimbursementSubjectDao chuanyunReimbursementSubjectDao;
     private final ChuanyunProjectTypeDao chuanyunProjectTypeDao;
+    private final ChuanyunSpecialProcedureDao chuanyunSpecialProcedureDao;
 
-    public ChuanyunBasicDataScheduledTask(ChuanYunManager chuanYunManager, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunUserDao chuanyunUserDao, ChuanyunSupplierDao chuanyunSupplierDao, ChuanyunCompanyDao chuanyunCompanyDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunCostDao chuanyunCostDao, ChuanyunReimbursementSubjectDao chuanyunReimbursementSubjectDao, ChuanyunProjectTypeDao chuanyunProjectTypeDao) {
+    public ChuanyunBasicDataScheduledTask(ChuanYunManager chuanYunManager, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunUserDao chuanyunUserDao, ChuanyunSupplierDao chuanyunSupplierDao, ChuanyunCompanyDao chuanyunCompanyDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunCostDao chuanyunCostDao, ChuanyunReimbursementSubjectDao chuanyunReimbursementSubjectDao, ChuanyunProjectTypeDao chuanyunProjectTypeDao, ChuanyunSpecialProcedureDao chuanyunSpecialProcedureDao) {
         this.chuanYunManager = chuanYunManager;
         this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
         this.chuanyunUserDao = chuanyunUserDao;
@@ -50,6 +51,7 @@ public class ChuanyunBasicDataScheduledTask {
         this.chuanyunCostDao = chuanyunCostDao;
         this.chuanyunReimbursementSubjectDao = chuanyunReimbursementSubjectDao;
         this.chuanyunProjectTypeDao = chuanyunProjectTypeDao;
+        this.chuanyunSpecialProcedureDao = chuanyunSpecialProcedureDao;
     }
 
     /**
@@ -57,6 +59,8 @@ public class ChuanyunBasicDataScheduledTask {
      */
     @Scheduled(fixedDelay = 3600000L)
     private void getDataFromChuanyun() {
+        //专项费用分摊
+        getSpecialProcedure();
         //获取人员-归属公司信息
         getUserCompany();
         //支出档案类型
@@ -408,6 +412,42 @@ public class ChuanyunBasicDataScheduledTask {
     }
 
     /**
+     * 获取专项分摊规则
+     */
+    private void getSpecialProcedure(){
+        var objectMapper=new ObjectMapper();
+        var start=0;
+        var totalCount=0L;
+        var flag=true;
+        while (flag){
+            try {
+                //从氚云查询数据
+                var filter= Filter.instance(start,start+pageSize,true);
+                var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunSpecialProcedureDO.SCHEMA_CODE,filter);
+                if(chuanyunFindAllResponse.getReturnData()==null){
+                    flag=false;
+                    continue;
+                }
+                if(chuanyunFindAllResponse.getReturnData().getTotalCount()>=start+pageSize){
+                    start+=pageSize;
+                }else{
+                    flag=false;
+                }
+                //转化为POJO
+                List<ChuanyunSpecialProcedureDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                //获取项目总数
+                totalCount=chuanyunFindAllResponse.getReturnData().getTotalCount();
+                //保存
+                chuanyunSpecialProcedureDao.saveAll(result);
+            }catch (Exception e){
+                log.error(e.getMessage());
+                e.printStackTrace();
+            }
+        }
+        log.info("人员归属公司信息保存保存"+totalCount);
+    }
+
+    /**
      * 获取人员-归属公司信息
      */
     private void getUserCompany(){