|
@@ -9,6 +9,7 @@ import com.galaxis.manatee.constant.ChuanYunConstant;
|
|
|
import com.galaxis.manatee.constant.StringConstant;
|
|
|
import com.galaxis.manatee.dao.ChuanyunCostCollectionDao;
|
|
|
import com.galaxis.manatee.dao.ChuanyunEquipmentInformDao;
|
|
|
+import com.galaxis.manatee.dao.ChuanyunGroupProjectDao;
|
|
|
import com.galaxis.manatee.dao.ChuanyunUserCompanyDao;
|
|
|
import com.galaxis.manatee.entity.chuanyun.data.object.*;
|
|
|
import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
|
|
@@ -16,14 +17,13 @@ import com.galaxis.manatee.entity.chuanyun.dto.Filter;
|
|
|
import com.galaxis.manatee.exception.BigSizeException;
|
|
|
import com.galaxis.manatee.manager.ChuanYunManager;
|
|
|
import com.galaxis.manatee.service.ChuanyunService;
|
|
|
-import com.galaxis.manatee.task.ChuanyunFinancialScheduledTask;
|
|
|
+import com.galaxis.manatee.task.ChuanyunBasicDataScheduledTask;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
@@ -38,13 +38,16 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
private final ChuanyunCostCollectionDao chuanyunCostCollectionDao;
|
|
|
private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
|
|
|
private final ChuanyunEquipmentInformDao chuanyunEquipmentInformDao;
|
|
|
- private String[] leader = {"e1feb431-91fd-4a01-8d81-a2e618b571ff","1c8c4dfa-7e22-4f4e-a672-3e080e01a283","18bf4c09-f7d7-4c01-8509-ec554c6592f0","9df86c86-87f4-4d91-ba1e-29657c6cdb65","3fcbf0e0-bf06-411b-9ce4-b77dc897ee93","0fb67380-3408-4786-bac4-44dfef738110"};
|
|
|
+ private final ChuanyunGroupProjectDao chuanyunGroupProjectDao;
|
|
|
+ private final ChuanyunBasicDataScheduledTask chuanyunBasicDataScheduledTask;
|
|
|
|
|
|
- public ChuanyunServiceImpl(ChuanYunManager chuanYunManager, ChuanyunCostCollectionDao chuanyunCostCollectionDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunEquipmentInformDao chuanyunEquipmentInformDao) {
|
|
|
+ public ChuanyunServiceImpl(ChuanYunManager chuanYunManager, ChuanyunCostCollectionDao chuanyunCostCollectionDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao, ChuanyunEquipmentInformDao chuanyunEquipmentInformDao, ChuanyunGroupProjectDao chuanyunGroupProjectDao, ChuanyunBasicDataScheduledTask chuanyunBasicDataScheduledTask) {
|
|
|
this.chuanYunManager = chuanYunManager;
|
|
|
this.chuanyunCostCollectionDao = chuanyunCostCollectionDao;
|
|
|
this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
|
|
|
this.chuanyunEquipmentInformDao = chuanyunEquipmentInformDao;
|
|
|
+ this.chuanyunGroupProjectDao = chuanyunGroupProjectDao;
|
|
|
+ this.chuanyunBasicDataScheduledTask = chuanyunBasicDataScheduledTask;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -159,67 +162,6 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public void deleteProjectMember() {
|
|
|
- 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(ChuanyunGroupProjectDO.SCHEMA_CODE,filter);
|
|
|
- if(chuanyunFindAllResponse.getReturnData()==null){
|
|
|
- flag=false;
|
|
|
- continue;
|
|
|
- }
|
|
|
- if(chuanyunFindAllResponse.getReturnData().getTotalCount()>=start+pageSize){
|
|
|
- start+=pageSize;
|
|
|
- }else{
|
|
|
- flag=false;
|
|
|
- }
|
|
|
- //转化为POJO
|
|
|
- List<ChuanyunGroupProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
|
|
|
- //保存
|
|
|
- result.forEach(chuanyunGroupProjectDO -> {
|
|
|
- if (chuanyunGroupProjectDO.getProjectMemberObject()!=null&&chuanyunGroupProjectDO.getProjectMemberObject().size()>0){
|
|
|
- //判断是否是实施、研发二开、售后维保项目
|
|
|
- var specifiedProjectTypeFlag=("实施".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "维保".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "研发二开".equals(chuanyunGroupProjectDO.getProjectType())||
|
|
|
- "售后".equals(chuanyunGroupProjectDO.getProjectType()));
|
|
|
- var specifiedBusinessGroupFlag=ChuanyunGroupProjectDO.EBG.equals(chuanyunGroupProjectDO.getBusinessGroup());
|
|
|
- //项目组成员去除领导
|
|
|
- List<String> projectMember = new ArrayList<String>();
|
|
|
- if (specifiedBusinessGroupFlag&&specifiedProjectTypeFlag){
|
|
|
- List<ChuanyunObject> list = chuanyunGroupProjectDO.getProjectMemberObject();
|
|
|
- for (ChuanyunObject chuanyunObject:list){
|
|
|
- if (!Arrays.asList(leader).contains(chuanyunObject.getObjectId())){
|
|
|
- projectMember.add(chuanyunObject.getObjectId());
|
|
|
- }
|
|
|
- }
|
|
|
- chuanyunGroupProjectDO.setProjectMemberList(projectMember.toArray(new String[0]));
|
|
|
- GroupProjectUpdateDTO groupProjectUpdateDTO = new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
|
|
|
- try {
|
|
|
- var groupProjectUpdateString=objectMapper.writeValueAsString(groupProjectUpdateDTO);
|
|
|
- ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectUpdateString);
|
|
|
- if(chuanyunSaveDTO.getSuccessful()){
|
|
|
- log.info("删除项目组成员成功");
|
|
|
- }else{
|
|
|
- log.warn("删除项目组成员失败");
|
|
|
- }
|
|
|
- } catch (JsonProcessingException | BigSizeException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }catch (Exception e){
|
|
|
- log.error(e.getMessage());
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
@Override
|
|
|
public void importEquipment(List<ChuanyunEquipmentDO> list) {
|
|
@@ -290,6 +232,22 @@ public class ChuanyunServiceImpl implements ChuanyunService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateMember(String param) {
|
|
|
+ var objectMapper=new ObjectMapper();
|
|
|
+ param=param.substring(14,param.length()-2);
|
|
|
+ var chuanyunFindResponse = chuanYunManager.find(ChuanyunManagerProjectDO.SCHEMA_CODE,param);
|
|
|
+ if (chuanyunFindResponse.getReturnData()!=null){
|
|
|
+ ChuanyunManagerProjectDO chuanyunManagerProjectDO = objectMapper.convertValue(chuanyunFindResponse.getReturnData().getBizObject(), new TypeReference<>(){});
|
|
|
+ log.info("管理项目"+chuanyunManagerProjectDO);
|
|
|
+ ChuanyunGroupProjectDO chuanyunGroupProjectDO = chuanyunGroupProjectDao.findByProjectCode(chuanyunManagerProjectDO.getSeqNo());
|
|
|
+ chuanyunBasicDataScheduledTask.chuanyunUpdateProjectMemberManually(chuanyunGroupProjectDO);
|
|
|
+ log.info("更新项目组成员成功"+chuanyunGroupProjectDO);
|
|
|
+ }else {
|
|
|
+ log.info("更新项目组成员失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 更新外部部门名称
|
|
|
* @param
|