|
@@ -1,5 +1,6 @@
|
|
|
package com.galaxis.manatee.service.impl;
|
|
|
|
|
|
+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;
|
|
@@ -12,6 +13,7 @@ import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
import com.galaxis.manatee.service.ChuanyunService;
|
|
|
import com.galaxis.manatee.task.ChuanyunBasicDataScheduledTask;
|
|
|
import com.galaxis.manatee.task.ChuanyunHumanResourceScheduledTask;
|
|
|
+import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -62,25 +64,24 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
result.forEach(chuanyunGroupProjectDO -> {
|
|
|
|
|
|
//处理项目对象中的项目成员数据(改为手动调用处理)
|
|
|
+ GroupProjectUpdateDTO groupProjectUpdateDTO= new GroupProjectUpdateDTO();
|
|
|
chuanyunBasicDataScheduledTask.projectMemberCheck(chuanyunGroupProjectDO);
|
|
|
try {
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(chuanyunGroupProjectDO));
|
|
|
+ groupProjectUpdateDTO=new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
|
|
|
+ var groupProjectUpdateString=objectMapper.writeValueAsString(groupProjectUpdateDTO);
|
|
|
+ ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectUpdateString);
|
|
|
if(chuanyunSaveDTO.getSuccessful()){
|
|
|
- log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目经理成功");
|
|
|
+ log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目组成员成功");
|
|
|
|
|
|
}else{
|
|
|
- log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目经理失败");
|
|
|
+ log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目组成员失败");
|
|
|
log.warn(chuanyunGroupProjectDO+"");
|
|
|
- Thread.sleep(5000L);
|
|
|
}
|
|
|
} catch (BigSizeException e) {
|
|
|
e.printStackTrace();
|
|
|
} catch (JsonProcessingException e) {
|
|
|
e.printStackTrace();
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
});
|
|
|
chuanyunGroupProjectDao.saveAll(result);
|
|
|
}catch (Exception e){
|
|
@@ -89,4 +90,68 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用于刷新项目经理权限的对象
|
|
|
+ */
|
|
|
+ @Data
|
|
|
+ class GroupProjectUpdateDTO{
|
|
|
+// /**
|
|
|
+// * 项目总监
|
|
|
+// * U9项目责任人
|
|
|
+// */
|
|
|
+// @JsonProperty(value = "F0000006")
|
|
|
+// private String projectOwner;
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * IBG项目经理
|
|
|
+// */
|
|
|
+// @JsonProperty("F0000012")
|
|
|
+// private String ibgProjectManager;
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * EBG项目经理
|
|
|
+// */
|
|
|
+// @JsonProperty("F0000011")
|
|
|
+// private String ebgProjectManager;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 项目组成员(前端传数据用)
|
|
|
+ */
|
|
|
+ @JsonProperty("F0000034")
|
|
|
+ private String[] projectMemberList;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * 项目组织信息
|
|
|
+// * TODO 这个DTO是用于更新氚云数据的,不需要使用@OneToMany注解吧?使用目的是啥
|
|
|
+// */
|
|
|
+// @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.EAGER)
|
|
|
+// @JsonProperty("D001789Fd992bf8fbe114c9babe0f98cf676f8a2")
|
|
|
+//// @JsonProperty("D001789Fvspc68z01idftf5nqt66pkuc0")
|
|
|
+// private List<ChuanyunGroupProjectDetailDO> detailList;
|
|
|
+
|
|
|
+ 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();
|
|
|
+// }
|
|
|
+ //TODO 更新项目经理时更新项目组织信息会是这两个业务流程耦合,不方便后续维护需要考虑单独一个DTO作为更新项目组织信息的对象
|
|
|
+ if(null!=chuanyunGroupProjectDO.getProjectMemberList()){
|
|
|
+ this.projectMemberList =chuanyunGroupProjectDO.getProjectMemberList();
|
|
|
+ }
|
|
|
+// if(null!=chuanyunGroupProjectDO.getDetailList()){
|
|
|
+// this.detailList=chuanyunGroupProjectDO.getDetailList();
|
|
|
+// }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|