|
@@ -10,6 +10,7 @@ import com.galaxis.manatee.constant.StringConstant;
|
|
|
import com.galaxis.manatee.dao.ChuanyunCostCollectionDao;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunCostCollectionDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
|
|
|
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunProjectDO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
import com.galaxis.manatee.exception.BigSizeException;
|
|
@@ -100,6 +101,53 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
return chuanyunCostCollectionDao.findAll();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateChuanyunDept() {
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
+ var start=0;
|
|
|
+ var flag=true;
|
|
|
+ while (flag){
|
|
|
+ try {
|
|
|
+ //从氚云查询数据
|
|
|
+ var filter= Filter.instance(start,start+pageSize,true);
|
|
|
+ var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectDO.SCHEMA_CODE,filter);
|
|
|
+ if(chuanyunFindAllResponse.getReturnData()==null){
|
|
|
+ flag=false;
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(chuanyunFindAllResponse.getReturnData().getTotalCount()>=start+pageSize){
|
|
|
+ start+=pageSize;
|
|
|
+ }else{
|
|
|
+ flag=false;
|
|
|
+ }
|
|
|
+ //转化为POJO
|
|
|
+ List<ChuanyunProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
+ result.forEach(chuanyunProjectDO -> {
|
|
|
+ //更新拥有者id,更新所属部门
|
|
|
+ chuanyunProjectDO.setOwnerId(chuanyunProjectDO.getOwnerIdObject().getObjectId());
|
|
|
+ ProjectUpdateDTO projectUpdateDTO = new ProjectUpdateDTO(chuanyunProjectDO);
|
|
|
+ try {
|
|
|
+ var groupProjectUpdateString=objectMapper.writeValueAsString(projectUpdateDTO);
|
|
|
+ ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunProjectDO.SCHEMA_CODE,chuanyunProjectDO.getObjectId(),groupProjectUpdateString);
|
|
|
+ if(chuanyunSaveDTO.getSuccessful()){
|
|
|
+ log.info(chuanyunProjectDO.getObjectId()+"更新项目拥有者成功");
|
|
|
+
|
|
|
+ }else{
|
|
|
+ log.warn(chuanyunProjectDO.getObjectId()+"更新项目拥有者失败");
|
|
|
+ log.warn(chuanyunProjectDO+"");
|
|
|
+ }
|
|
|
+ } catch (JsonProcessingException | BigSizeException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error(e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 如果没有项目组成员,判断是否是EBG的实施、研发二开、售后维保项目,如果是,则添加EBG全体成员
|
|
|
* @param chuanyunGroupProjectDO 项目对象
|
|
@@ -169,4 +217,21 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Data
|
|
|
+ static class ProjectUpdateDTO{
|
|
|
+
|
|
|
+ @JsonProperty("OwnerId")
|
|
|
+ private String ownerId;
|
|
|
+
|
|
|
+ public ProjectUpdateDTO(ChuanyunProjectDO chuanyunProjectDO) {
|
|
|
+ if(null!=chuanyunProjectDO) {
|
|
|
+ if(null!=chuanyunProjectDO.getOwnerId()) {
|
|
|
+ this.ownerId = chuanyunProjectDO.getOwnerId();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|