|
@@ -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(){
|