Browse Source

1.立项更新项目组成员

WoNiu 4 years ago
parent
commit
6fa1c3f83e

+ 27 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunManagerProjectDO.java

@@ -0,0 +1,27 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Entity;
+
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Entity
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunManagerProjectDO extends BasicDO{
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789ManagermentProjectNo";
+
+    @JsonProperty("SeqNo")
+    private String seqNo;
+
+    @JsonProperty("F0000002")
+    private String projectName;
+}

+ 0 - 2
src/main/java/com/galaxis/manatee/entity/chuanyun/dto/ChuanyunWebServiceDTO.java

@@ -8,6 +8,4 @@ public class ChuanyunWebServiceDTO {
     private String Message;
     private String Message;
 
 
     private String ResultCode;
     private String ResultCode;
-
-    private String projectId;
 }
 }

+ 5 - 0
src/main/java/com/galaxis/manatee/service/ChuanyunService.java

@@ -37,4 +37,9 @@ public interface ChuanyunService {
      * 设备配置信息导入
      * 设备配置信息导入
      */
      */
     void importEquipment(List<ChuanyunEquipmentDO> list);
     void importEquipment(List<ChuanyunEquipmentDO> list);
+
+    /**
+     * 更新项目中受益部门名称
+     */
+    void updateU9Department();
 }
 }

+ 89 - 0
src/main/java/com/galaxis/manatee/service/impl/ChuanyunServiceImpl.java

@@ -16,9 +16,11 @@ import com.galaxis.manatee.entity.chuanyun.dto.Filter;
 import com.galaxis.manatee.exception.BigSizeException;
 import com.galaxis.manatee.exception.BigSizeException;
 import com.galaxis.manatee.manager.ChuanYunManager;
 import com.galaxis.manatee.manager.ChuanYunManager;
 import com.galaxis.manatee.service.ChuanyunService;
 import com.galaxis.manatee.service.ChuanyunService;
+import com.galaxis.manatee.task.ChuanyunFinancialScheduledTask;
 import lombok.Data;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
@@ -257,6 +259,71 @@ public class ChuanyunServiceImpl implements ChuanyunService {
         });
         });
     }
     }
 
 
+    @Override
+    public void updateU9Department() {
+        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(ChuanyunU9DepartmentDO.SCHEMA_CODE,filter);
+                if(chuanyunFindAllResponse.getReturnData()==null){
+                    flag=false;
+                    continue;
+                }
+                if(chuanyunFindAllResponse.getReturnData().getTotalCount()>=start+pageSize){
+                    start+=pageSize;
+                }else{
+                    flag=false;
+                }
+                List<ChuanyunU9DepartmentDO> result = objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                result.forEach(chuanyunU9DepartmentDO -> {
+                    synchroOutDepartment(chuanyunU9DepartmentDO);
+                });
+            }catch (JsonProcessingException  e){
+                e.printStackTrace();
+                log.warn(e.getMessage());
+            }
+        }
+    }
+
+    /**
+     * 更新外部部门名称
+     * @param
+     */
+    private void synchroOutDepartment(ChuanyunU9DepartmentDO chuanyunU9DepartmentDO) {
+        try {
+            if (!StringUtils.isEmpty(chuanyunU9DepartmentDO.getActualDepartmentObject().getObjectId())){
+                var objectMapper=new ObjectMapper();
+                List<String> matchers = new ArrayList<>();
+                matchers.add("F0000001_2,"+chuanyunU9DepartmentDO.getActualDepartmentObject().getObjectId());
+                var filter= Filter.instance(0,1,true,"And",matchers);
+                var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunOutDepartmentDO.SCHEMA_CODE,filter);
+                if (chuanyunFindAllResponse.getReturnData()!=null) {
+                    List<ChuanyunOutDepartmentDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                    ChuanyunOutDepartmentDO firstResult = result.get(0);
+                    chuanyunU9DepartmentDO.setDepartmentName(firstResult.getOutDepartment());
+                    chuanyunU9DepartmentDO.setDepartmentCode(firstResult.getDepartmentCode());
+                }
+                outDepartmentDTO departmentDTO = new outDepartmentDTO(chuanyunU9DepartmentDO);
+                var departmentString = objectMapper.writeValueAsString(departmentDTO);
+                ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.update(ChuanyunU9DepartmentDO.SCHEMA_CODE,chuanyunU9DepartmentDO.getObjectId(),departmentString);
+                if(chuanyunSaveDTO.getSuccessful()){
+                    log.info("更新外部部门名称成功");
+                }else{
+                    log.warn("更新外部部门名称失败");
+                }
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+            log.error(e.getMessage());
+        }
+
+    }
+
     /**
     /**
      * 如果没有项目组成员,判断是否是EBG的实施、研发二开、售后维保项目,如果是,则添加EBG全体成员
      * 如果没有项目组成员,判断是否是EBG的实施、研发二开、售后维保项目,如果是,则添加EBG全体成员
      * @param chuanyunGroupProjectDO    项目对象
      * @param chuanyunGroupProjectDO    项目对象
@@ -327,6 +394,28 @@ public class ChuanyunServiceImpl implements ChuanyunService {
         }
         }
     }
     }
 
 
+
+    @Data
+    class outDepartmentDTO {
+
+        @JsonProperty("F0000062")
+        private String outDepartment;
+
+        @JsonProperty("F0000063")
+        private String departmentCode;
+
+        public outDepartmentDTO(ChuanyunU9DepartmentDO chuanyunU9DepartmentDO) {
+            if (null!=chuanyunU9DepartmentDO){
+                if(null!=chuanyunU9DepartmentDO.getDepartmentName()){
+                    this.outDepartment=chuanyunU9DepartmentDO.getDepartmentName();
+                }
+                if (null!=chuanyunU9DepartmentDO.getDepartmentCode()){
+                    this.departmentCode=chuanyunU9DepartmentDO.getDepartmentCode();
+                }
+            }
+        }
+    }
+
     @Data
     @Data
     class EquipmentDTO{
     class EquipmentDTO{
         /**
         /**