|
@@ -1,5 +1,7 @@
|
|
|
package com.galaxis.manatee.task;
|
|
|
|
|
|
+import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.galaxis.manatee.constant.ChuanYunConstant;
|
|
@@ -7,6 +9,7 @@ import com.galaxis.manatee.dao.*;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.*;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
+import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -23,7 +26,7 @@ import java.util.List;
|
|
|
@Slf4j
|
|
|
public class ChuanyunBasicDataScheduledTask {
|
|
|
|
|
|
- private final Integer pageSize=20; final ObjectMapper objectMapper=new ObjectMapper();
|
|
|
+ private final Integer pageSize=20;
|
|
|
private final ChuanYunManager chuanYunManager;
|
|
|
private final ChuanyunGroupProjectDao chuanyunGroupProjectDao;
|
|
|
private final ChuanyunUserDao chuanyunUserDao;
|
|
@@ -69,6 +72,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 从氚云中获取用户列表
|
|
|
*/
|
|
|
private void getUserList() {
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var chuanyunFindAllDTO=chuanYunManager.findAll(ChuanyunUserDO.APP_CODE,ChuanyunUserDO.ACTION_NAME,ChuanyunUserDO.CONTROLLER);
|
|
|
var totalCount=0;
|
|
|
try {
|
|
@@ -91,6 +95,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 从氚云获取集团项目信息
|
|
|
*/
|
|
|
private void getGroupProject(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -123,6 +128,22 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
if(!StringUtils.isEmpty(chuanyunGroupProjectDO.getProjectOwner())){
|
|
|
chuanyunGroupProjectDO.setProjectOwner(chuanyunGroupProjectDO.getProjectOwnerObject().getObjectId());
|
|
|
}
|
|
|
+ //通过更新集团项目中的EBG项目经理、IBG项目经理
|
|
|
+ //TODO 测试结束后需要扩大范围到所有项目
|
|
|
+ if ("实施".equals(chuanyunGroupProjectDO.getProjectType())&&"EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())){
|
|
|
+ GroupProjectUpdateDTO groupProjectUpdateDTO=new GroupProjectUpdateDTO();
|
|
|
+ try {
|
|
|
+ chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ groupProjectUpdateDTO=new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
|
|
|
+ try {
|
|
|
+ chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
chuanyunGroupProjectDao.saveAll(result);
|
|
|
}catch (Exception e){
|
|
@@ -137,6 +158,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 获取供应商信息
|
|
|
*/
|
|
|
private void getSupplier(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -172,6 +194,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 更新公司信息
|
|
|
*/
|
|
|
private void getCompany(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -207,6 +230,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 更新成本中心
|
|
|
*/
|
|
|
private void getCost(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -242,6 +266,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 获取人员-归属公司信息
|
|
|
*/
|
|
|
private void getUserCompany(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -287,6 +312,7 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
* 获取报销科目
|
|
|
*/
|
|
|
private void getReimbursementSubject(){
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
var start=0;
|
|
|
var totalCount=0L;
|
|
|
var flag=true;
|
|
@@ -317,4 +343,46 @@ public class ChuanyunBasicDataScheduledTask {
|
|
|
}
|
|
|
log.info("报销科目信息保存保存"+totalCount);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用于刷新项目经理权限的对象
|
|
|
+ */
|
|
|
+ @Data
|
|
|
+ class GroupProjectUpdateDTO{
|
|
|
+ /**
|
|
|
+ * 项目总监
|
|
|
+ * U9项目责任人
|
|
|
+ */
|
|
|
+ @JsonProperty(value = "F0000006")
|
|
|
+ private String projectOwner;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * IBG项目经理
|
|
|
+ */
|
|
|
+ @JsonProperty("F0000012")
|
|
|
+ private String ibgProjectManager;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * EBG项目经理
|
|
|
+ */
|
|
|
+ @JsonProperty("F0000011")
|
|
|
+ private String ebgProjectManager;
|
|
|
+
|
|
|
+ public GroupProjectUpdateDTO() {
|
|
|
+ }
|
|
|
+
|
|
|
+ public GroupProjectUpdateDTO(ChuanyunGroupProjectDO chuanyunGroupProjectDO) {
|
|
|
+ if(null!=chuanyunGroupProjectDO){
|
|
|
+ if(null!=chuanyunGroupProjectDO.getProjectOwnerObject()){
|
|
|
+ this.projectOwner=chuanyunGroupProjectDO.getProjectOwnerObject().getObjectId();
|
|
|
+ }
|
|
|
+ if(null!=chuanyunGroupProjectDO.getIbgProjectManagerObject()){
|
|
|
+ this.ibgProjectManager=chuanyunGroupProjectDO.getIbgProjectManagerObject().getObjectId();
|
|
|
+ }
|
|
|
+ if(null!=chuanyunGroupProjectDO.getEbgProjectManagerObject()){
|
|
|
+ this.ebgProjectManager=chuanyunGroupProjectDO.getEbgProjectManagerObject().getObjectId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|