Преглед изворни кода

1.删除氚云流程中数据

WoNiu пре 4 година
родитељ
комит
1b71270d9d

+ 1 - 1
src/main/java/com/galaxis/manatee/dao/ChuanyunWeekMemberHourDao.java

@@ -45,5 +45,5 @@ public interface ChuanyunWeekMemberHourDao extends GalaxisRepository<ChuanyunWee
      * @param week
      * @return
      */
-    ChuanyunWeekMemberHourDO findByProjectIdAndUserIdAndWeekAndStatusAndProjectType(String projectId,String userId,String week,String status,String projectType);
+    ChuanyunWeekMemberHourDO findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(String projectId,String userId,String week,String status,String projectType,String year);
 }

+ 6 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunProjectMemberWeekHourDO.java

@@ -51,6 +51,12 @@ public class ChuanyunProjectMemberWeekHourDO extends BasicDO{
     private BigDecimal personDays;
 
     /**
+     * 年份
+     */
+    @JsonProperty("F0000008")
+    private String year;
+
+    /**
      * 周数
      */
     @JsonProperty("F0000006")

+ 8 - 0
src/main/java/com/galaxis/manatee/manager/ChuanYunManager.java

@@ -88,4 +88,12 @@ public interface ChuanYunManager {
      * @return 保存结果
      */
     ChuanyunSaveDTO update(String schemaCode,String bizObjectId, String bizObject) throws BigSizeException;
+
+    /**
+     * 删除
+     * @param schemaCode
+     * @param bizObjectId
+     * @return
+     */
+    ChuanyunSaveDTO delete(String schemaCode, String bizObjectId);
 }

+ 27 - 0
src/main/java/com/galaxis/manatee/manager/impl/DefaultChuanyunManagerImpl.java

@@ -252,4 +252,31 @@ public class DefaultChuanyunManagerImpl implements ChuanYunManager {
         }
         return chuanyunSaveResponse;
     }
+
+    @Override
+    public ChuanyunSaveDTO delete(String schemaCode, String bizObjectId) {
+        @Data
+        class Find{
+            @JsonProperty(value = "ActionName")
+            private String actionName="RemoveBizObject";
+            @JsonProperty(value = "SchemaCode")
+            private String schemaCode;
+            @JsonProperty(value = "BizObjectId")
+            private String bizObjectId;
+
+            public Find(String schemaCode, String bizObjectId) {
+                this.schemaCode = schemaCode;
+                this.bizObjectId = bizObjectId;
+            }
+        }
+        Find find=new Find(schemaCode,bizObjectId);
+        //请求客户端
+        RestTemplate restTemplate=new RestTemplate();
+        HttpHeaders httpHeaders=new HttpHeaders();
+        httpHeaders.add("EngineCode",ChuanYunConstant.ENGINE_CODE);
+        httpHeaders.add("EngineSecret",ChuanYunConstant.ENGINE_SECRET);
+        HttpEntity<Find> httpEntity=new HttpEntity<>(find,httpHeaders);
+        ChuanyunSaveDTO chuanyunSaveResponse =new ChuanyunSaveDTO();
+        return chuanyunSaveResponse = restTemplate.postForObject(ChuanYunConstant.CHUAN_YUN_INVOKE_URL,httpEntity, chuanyunSaveResponse.getClass());
+    }
 }

+ 33 - 1
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -423,8 +423,9 @@ public class ChuanyunProjectScheduledTask {
                 weekMemberHourDO.setStandardWorkHour(chuanyunWeekMemberHourDO.getStandardWorkHour());
                 weekMemberHourDO.setStatus(chuanyunWeekMemberHourDO.getStatus());
                 weekMemberHourDO.setUserId(chuanyunWeekMemberHourDO.getUserId());
+                weekMemberHourDO.setYear(chuanyunWeekMemberHourDO.getYear());
                 weekMemberHourDO.setWeek(chuanyunWeekMemberHourDO.getWeek());
-                ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectType(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getStatus(),chuanyunWeekMemberHourDO.getProjectType());
+                ChuanyunWeekMemberHourDO oldWeekHour = chuanyunWeekMemberHourDao.findByProjectIdAndUserIdAndWeekAndStatusAndProjectTypeAndYear(chuanyunWeekMemberHourDO.getProjectId(),chuanyunWeekMemberHourDO.getUserId(),chuanyunWeekMemberHourDO.getWeek(),chuanyunWeekMemberHourDO.getStatus(),chuanyunWeekMemberHourDO.getProjectType(),chuanyunWeekMemberHourDO.getYear());
                 if (oldWeekHour != null) {
                     chuanyunWeekMemberHourDao.delete(oldWeekHour);
                 }
@@ -644,6 +645,7 @@ public class ChuanyunProjectScheduledTask {
                         matchers.add("F0000001_2,"+chuanyunWeekMemberHourDO.getProjectId());
                         matchers.add("F0000002_2,"+chuanyunWeekMemberHourDO.getUserId());
                         matchers.add("F0000006_2,"+chuanyunWeekMemberHourDO.getWeek());
+                        matchers.add("F0000008_2,"+chuanyunWeekMemberHourDO.getYear());
                         matchers.add("F0000003_2,"+chuanyunWeekMemberHourDO.getProjectType());
                         matchers.add("F0000007_2,"+chuanyunWeekMemberHourDO.getStatus());
                         var filter= Filter.instance(0,1,true,"And",matchers);
@@ -681,6 +683,8 @@ public class ChuanyunProjectScheduledTask {
         var pageSize = 20;
         var page = 0;
         log.info("开始更新月工时汇总");
+        //删除氚云表单审核中数据
+        deleteExamineStatus(ChuanyunMemberMonthCostDO.SCHEMA_CODE,"F0000009");
         long startTime=Instant.now().getEpochSecond();
         while(flag) {
             var pageable = PageRequest.of(page, pageSize);
@@ -732,6 +736,34 @@ public class ChuanyunProjectScheduledTask {
         }
         log.info("月工时更新花费"+(Instant.now().getEpochSecond()-startTime));
     }
+
+    /**
+     * 删除状态为审核中数据
+     * @param schemaCode
+     * @param buttonCode
+     */
+    public void deleteExamineStatus(String schemaCode,String buttonCode) {
+        try {
+            List<String> matchers = new ArrayList<>();
+            matchers.add(buttonCode+"_2,"+"2");
+            var filter= Filter.instance(0,1,true,"And",matchers);
+            var chuanyunFindAllResponse=chuanYunManager.findAll(schemaCode,filter);
+            if (chuanyunFindAllResponse.getReturnData()!=null){
+                List<BasicDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                result.forEach(basicDO -> {
+                    ChuanyunSaveDTO chuanyunSaveDTO = chuanYunManager.delete(schemaCode,basicDO.getObjectId());
+                    if(chuanyunSaveDTO.getSuccessful()){
+                        log.info("删除状态为审核中数据成功");
+                    }else{
+                        log.warn("删除状态为审核中数据失败");
+                    }
+                });
+            }
+        }catch (Exception e) {
+            e.printStackTrace();
+            log.error(e.getMessage());
+        }
+    }
 }
 
 @Data