浏览代码

1.修改项目所属部门

WoNiu 4 年之前
父节点
当前提交
c44ab2603e

+ 2 - 2
src/main/java/com/galaxis/manatee/controller/GetController.java

@@ -116,8 +116,8 @@ public class GetController {
     }
 
     @GetMapping("/test/updateProjectDept")
-    public void updateProjectDept() {
-        chuanyunService.updateChuanyunDept();
+    public void updateProjectDept(String code) {
+        chuanyunService.updateChuanyunDept(code);
     }
 
 

+ 2 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunUserCompanyDao.java

@@ -20,4 +20,6 @@ public interface ChuanyunUserCompanyDao extends GalaxisRepository<ChuanyunUserCo
      * @return  返回值
      */
     List<ChuanyunUserCompanyDO> findAllByUserId(String userId);
+
+    ChuanyunUserCompanyDO findByUserId(String userId);
 }

+ 32 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunUpdateDeptDO.java

@@ -0,0 +1,32 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.galaxis.capsule.bo.ChuanyunObject;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Entity;
+import javax.persistence.Transient;
+
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunUpdateDeptDO extends BasicDO{
+
+    /**
+     * 拥有者
+     */
+    @JsonProperty("OwnerId")
+    private String ownerId;
+
+    /**
+     * 拥有者对象
+     */
+    @Transient
+    @JsonProperty("OwnerIdObject")
+    private ChuanyunObject ownerIdObject;
+}

+ 5 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunUserCompanyDO.java

@@ -65,6 +65,11 @@ public class ChuanyunUserCompanyDO extends BasicDO{
      */
     @JsonProperty("F0000007")
     private String department;
+
+    /**
+     * 人员所属部门ID
+     */
+    private String departmentId;
     /**
      * 人工专项处理
      */

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

@@ -17,5 +17,5 @@ public interface ChuanyunService {
 
     List<ChuanyunCostCollectionDO> getAllCostCollection();
 
-    void updateChuanyunDept();
+    void updateChuanyunDept(String code);
 }

+ 27 - 18
src/main/java/com/galaxis/manatee/service/impl/ChuanyunServiceImpl.java

@@ -8,9 +8,8 @@ import com.galaxis.capsule.bo.ChuanyunObject;
 import com.galaxis.manatee.constant.ChuanYunConstant;
 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.dao.ChuanyunUserCompanyDao;
+import com.galaxis.manatee.entity.chuanyun.data.object.*;
 import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.Filter;
 import com.galaxis.manatee.exception.BigSizeException;
@@ -33,10 +32,12 @@ public class ChuanyunServiceImpl implements ChuanyunService {
     private final Integer pageSize=20;
     private final ChuanYunManager chuanYunManager;
     private final ChuanyunCostCollectionDao chuanyunCostCollectionDao;
+    private final ChuanyunUserCompanyDao chuanyunUserCompanyDao;
 
-    public ChuanyunServiceImpl(ChuanYunManager chuanYunManager, ChuanyunCostCollectionDao chuanyunCostCollectionDao) {
+    public ChuanyunServiceImpl(ChuanYunManager chuanYunManager, ChuanyunCostCollectionDao chuanyunCostCollectionDao, ChuanyunUserCompanyDao chuanyunUserCompanyDao) {
         this.chuanYunManager = chuanYunManager;
         this.chuanyunCostCollectionDao = chuanyunCostCollectionDao;
+        this.chuanyunUserCompanyDao = chuanyunUserCompanyDao;
     }
 
     @Override
@@ -102,7 +103,7 @@ public class ChuanyunServiceImpl implements ChuanyunService {
     }
 
     @Override
-    public void updateChuanyunDept() {
+    public void updateChuanyunDept(String code) {
         var objectMapper=new ObjectMapper();
         var start=0;
         var flag=true;
@@ -110,7 +111,7 @@ public class ChuanyunServiceImpl implements ChuanyunService {
             try {
                 //从氚云查询数据
                 var filter= Filter.instance(start,start+pageSize,true);
-                var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectDO.SCHEMA_CODE,filter);
+                var chuanyunFindAllResponse=chuanYunManager.findAll(code,filter);
                 if(chuanyunFindAllResponse.getReturnData()==null){
                     flag=false;
                     continue;
@@ -121,20 +122,22 @@ public class ChuanyunServiceImpl implements ChuanyunService {
                     flag=false;
                 }
                 //转化为POJO
-                List<ChuanyunProjectDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
-                result.forEach(chuanyunProjectDO ->  {
+                List<ChuanyunUpdateDeptDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                result.forEach(chuanyunUpdateDeptDO ->  {
                     //更新拥有者id,更新所属部门
-                    chuanyunProjectDO.setOwnerId(chuanyunProjectDO.getOwnerIdObject().getObjectId());
-                    ProjectUpdateDTO projectUpdateDTO = new ProjectUpdateDTO(chuanyunProjectDO);
+//                    chuanyunUpdateDeptDO.setOwnerId(chuanyunUpdateDeptDO.getOwnerIdObject().getObjectId());
+                    ChuanyunUserCompanyDO chuanyunUserCompanyDO = chuanyunUserCompanyDao.findByUserId(chuanyunUpdateDeptDO.getOwnerIdObject().getObjectId());
+                    chuanyunUpdateDeptDO.setOwnerDepartmentId(chuanyunUserCompanyDO.getDepartmentId());
+                    ProjectUpdateDTO projectUpdateDTO = new ProjectUpdateDTO(chuanyunUpdateDeptDO);
                     try {
                         var groupProjectUpdateString=objectMapper.writeValueAsString(projectUpdateDTO);
-                        ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunProjectDO.SCHEMA_CODE,chuanyunProjectDO.getObjectId(),groupProjectUpdateString);
+                        ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunProjectDO.SCHEMA_CODE,chuanyunUpdateDeptDO.getObjectId(),groupProjectUpdateString);
                         if(chuanyunSaveDTO.getSuccessful()){
-                            log.info(chuanyunProjectDO.getObjectId()+"更新项目拥有者成功");
+                            log.info(chuanyunUpdateDeptDO.getObjectId()+"更新项目拥有者成功");
 
                         }else{
-                            log.warn(chuanyunProjectDO.getObjectId()+"更新项目拥有者失败");
-                            log.warn(chuanyunProjectDO+"");
+                            log.warn(chuanyunUpdateDeptDO.getObjectId()+"更新项目拥有者失败");
+                            log.warn(chuanyunUpdateDeptDO+"");
                         }
                     } catch (JsonProcessingException | BigSizeException e) {
                         e.printStackTrace();
@@ -224,10 +227,16 @@ public class ChuanyunServiceImpl implements ChuanyunService {
         @JsonProperty("OwnerId")
         private String ownerId;
 
-        public ProjectUpdateDTO(ChuanyunProjectDO chuanyunProjectDO) {
-            if(null!=chuanyunProjectDO) {
-                if(null!=chuanyunProjectDO.getOwnerId()) {
-                    this.ownerId = chuanyunProjectDO.getOwnerId();
+        /**
+         * 拥有者所在部门Id
+         */
+        @JsonProperty("OwnerDeptId")
+        private String ownerDepartmentId;
+
+        public ProjectUpdateDTO(ChuanyunUpdateDeptDO chuanyunUpdateDeptDO) {
+            if(null!=chuanyunUpdateDeptDO) {
+                if(null!=chuanyunUpdateDeptDO.getOwnerDepartmentId()) {
+                    this.ownerDepartmentId = chuanyunUpdateDeptDO.getOwnerDepartmentId();
                 }
             }
         }

+ 3 - 0
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -635,6 +635,9 @@ public class ChuanyunBasicDataScheduledTask {
                         if(chuanyunUserCompanyDO.getUser()!=null){
                             chuanyunUserCompanyDO.setUserId(chuanyunUserCompanyDO.getUser().getObjectId());
                         }
+                        if (!StringUtils.isEmpty(chuanyunUserCompanyDO.getDepartment())) {
+                            chuanyunUserCompanyDO.setDepartmentId(chuanyunUserCompanyDO.getDepartmentObject().getObjectId());
+                        }
                     }catch (Exception exception){
                         log.warn(chuanyunUserCompanyDO+"");
                         log.warn(exception.getMessage());