فهرست منبع

Merge branch '1.0' of codeup.aliyun.com:5ec7ea24405cdab50f3fd8f0/galaxis/manatee into 1.0

 Conflicts:
	src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java
WoNiu 5 سال پیش
والد
کامیت
b05365c366

+ 25 - 12
src/main/java/com/galaxis/manatee/task/ChuanyunBasicDataScheduledTask.java

@@ -8,6 +8,7 @@ import com.galaxis.capsule.bo.ChuanyunObject;
 import com.galaxis.manatee.constant.ChuanYunConstant;
 import com.galaxis.manatee.dao.*;
 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.manager.ChuanYunManager;
 import lombok.Data;
@@ -57,7 +58,7 @@ public class ChuanyunBasicDataScheduledTask {
     private void getDataFromChuanyun() {
 
         //支出档案类型
-        updateCostCenter();
+        getProjectType();
         //获取报销科目
         getReimbursementSubject();
         //获取成本中心
@@ -144,17 +145,28 @@ public class ChuanyunBasicDataScheduledTask {
                     }
                     //通过更新集团项目中的EBG项目经理、IBG项目经理
                     //TODO 测试结束后需要扩大范围到所有项目
-                    if ("实施".equals(chuanyunGroupProjectDO.getProjectType())&&"EBG".equals(chuanyunGroupProjectDO.getBusinessGroup())){
-                        GroupProjectUpdateDTO groupProjectUpdateDTO=new GroupProjectUpdateDTO();
-                        try {
-                            chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
-                        } catch (JsonProcessingException e) {
-                            e.printStackTrace();
-                        }
-                        groupProjectUpdateDTO=new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
+                    GroupProjectUpdateDTO groupProjectUpdateDTO=new GroupProjectUpdateDTO();
+                    try {
+                        chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
+                    } catch (JsonProcessingException e) {
+                        e.printStackTrace();
+                    }
+                    groupProjectUpdateDTO=new GroupProjectUpdateDTO(chuanyunGroupProjectDO);
+                    //保证项目经理信息更新成功
+                    boolean updateFlag=false;
+                    while (!updateFlag){
                         try {
-                            chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),objectMapper.writeValueAsString(groupProjectUpdateDTO));
-                        } catch (JsonProcessingException e) {
+                            var groupProjectUpdateString=objectMapper.writeValueAsString(groupProjectUpdateDTO);
+                            ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunGroupProjectDO.SCHEMA_CODE,chuanyunGroupProjectDO.getObjectId(),groupProjectUpdateString);
+                            if(chuanyunSaveDTO.getSuccessful()){
+                                log.info(chuanyunGroupProjectDO.getObjectId()+"更新项目经理成功"+groupProjectUpdateString);
+                                updateFlag=true;
+                            }else{
+                                log.warn(chuanyunGroupProjectDO.getObjectId()+"更新项目经理失败"+groupProjectUpdateString);
+                                log.warn(chuanyunGroupProjectDO+"");
+                                Thread.sleep(5000L);
+                            }
+                        } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
@@ -171,6 +183,7 @@ public class ChuanyunBasicDataScheduledTask {
                         chuanyunGroupProjectDO.setProjectMember(idlist);
                         log.info("成员已更新");
                     }
+
                 });
                 chuanyunGroupProjectDao.saveAll(result);
             }catch (Exception e){
@@ -220,7 +233,7 @@ public class ChuanyunBasicDataScheduledTask {
     /**
      * 更新支出档案类型
      */
-    public void updateCostCenter() {
+    public void getProjectType() {
         var objectMapper=new ObjectMapper();
         var start=0;
         var totalCount=0L;

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

@@ -43,8 +43,8 @@ public class ChuanyunHumanResourceScheduledTask {
     /**
      * 每天3点更新日志记录
      */
-    @Scheduled(fixedDelay = 1000000000L)
-//    @Scheduled(cron = "0 0 3 * * *")
+//    @Scheduled(fixedDelay = 1000000000L)
+    @Scheduled(cron = "0 0 3 * * *")
     private void updateLog() {
         var objectMapper = new ObjectMapper();
         var start = 0;
@@ -114,7 +114,7 @@ public class ChuanyunHumanResourceScheduledTask {
     }
 
     @Scheduled(fixedDelay = 1000000000L)
-    private void updateHolidaySalaryRule() {
+    private void getHolidaySalaryRule() {
         var objectMapper = new ObjectMapper();
         var start = 0;
         var totalCount = 0L;