Преглед на файлове

更新了工时流程信息相关功能

verguenza преди 4 години
родител
ревизия
dcecb5320c

+ 7 - 5
src/main/java/com/galaxis/manatee/dao/ChuanyunMemberCostDao.java

@@ -3,7 +3,6 @@ package com.galaxis.manatee.dao;
 
 import com.galaxis.capsule.util.GalaxisRepository;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunMemberCostDO;
-import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfCostDO;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.stereotype.Repository;
 
@@ -24,19 +23,22 @@ public interface ChuanyunMemberCostDao extends GalaxisRepository<ChuanyunMemberC
             "SUM(chuanyun_self_cost.cost) AS cost," +
             "chuanyun_self_cost.project_type," +
             "chuanyun_self_cost.project_id," +
+            "chuanyun_self_cost.status," +
             "chuanyun_self_cost.user_id," +
             "chuanyun_self_cost.monthly_total_hour AS person_days"+
             " FROM chuanyun_self_cost " +
             "GROUP BY chuanyun_self_cost.project_id," +
+            "chuanyun_self_cost.status," +
             "chuanyun_self_cost.user_id",
             nativeQuery = true)
     List<ChuanyunMemberCostDO> getMemberCost();
 
     /**
      * 根据项目ID和人员ID获取工时成本数据
-     * @param userId
-     * @param projectId
-     * @return
+     * @param userId    用户ID
+     * @param projectId 项目Id
+     * @param status    项目流程状态
+     * @return  人员-项目工时
      */
-    ChuanyunMemberCostDO findByUserIdAndProjectId(String userId,String projectId);
+    ChuanyunMemberCostDO findByUserIdAndProjectIdAndStatus(String userId,String projectId,String status);
 }

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

@@ -23,9 +23,11 @@ public interface ChuanyunProjectCostDao extends GalaxisRepository<ChuanyunProjec
             "SUM(chuanyun_member_cost.total_hour) AS total_hour," +
             "SUM(chuanyun_member_cost.person_days) AS person_days," +
             "chuanyun_member_cost.project_type," +
+            "chuanyun_member_cost.status," +
             "chuanyun_member_cost.project_id " +
             "FROM chuanyun_member_cost " +
-            "GROUP BY chuanyun_member_cost.project_id",
+            "GROUP BY chuanyun_member_cost.project_id,"+
+            "chuanyun_member_cost.status",
             nativeQuery = true)
     List<ChuanyunProjectCostDO> getProjectCost();
 

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

@@ -36,12 +36,14 @@ public interface ChuanyunSelfWorkHourDao extends GalaxisRepository<ChuanyunSelfW
             "chuanyun_self_work_hour.user_id," +
             "chuanyun_self_work_hour.project_id," +
             "chuanyun_self_work_hour.project_type," +
+            "chuanyun_self_work_hour.status," +
             "chuanyun_self_work_hour.object_id " +
             "FROM chuanyun_self_work_hour " +
             "WHERE chuanyun_self_work_hour.user_id=? " +
             "GROUP BY chuanyun_self_work_hour.user_id," +
             "DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')," +
             "chuanyun_self_work_hour.project_id," +
+            "chuanyun_self_work_hour.status," +
             "chuanyun_self_work_hour.project_type",
             nativeQuery = true)
     List<ChuanyunSelfWorkHourDO> getMonthProjectHour(String userId);
@@ -50,19 +52,23 @@ public interface ChuanyunSelfWorkHourDao extends GalaxisRepository<ChuanyunSelfW
      * 获取人员月度标准工时汇总
      * @param userId    用户ID
      * @param dayLogDate    查询月份日期
+     * @param status        工时状态
      * @return  汇总数据
      */
     @Query(value="SELECT SUM(chuanyun_self_work_hour.standard_work_hour) AS standard_work_hour," +
             "chuanyun_self_work_hour.day_log_date," +
             "chuanyun_self_work_hour.user_id," +
+            "chuanyun_self_work_hour.status," +
             "chuanyun_self_work_hour.project_type," +
             "chuanyun_self_work_hour.project_id," +
             "chuanyun_self_work_hour.object_id "+
             "FROM chuanyun_self_work_hour " +
             "WHERE chuanyun_self_work_hour.user_id= ?1 " +
+            "AND  chuanyun_self_work_hour.status= ?3 "+
             "AND DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')=DATE_FORMAT(?2,'%Y-%m') "+
             "GROUP BY chuanyun_self_work_hour.user_id," +
+            "chuanyun_self_work_hour.status," +
             "DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')",
             nativeQuery = true)
-    ChuanyunSelfWorkHourDO getMonthHour(@Param("userId") String userId,@Param("dayLogDate") String dayLogDate);
+    ChuanyunSelfWorkHourDO getMonthHour(@Param("userId") String userId,@Param("dayLogDate") String dayLogDate,@Param("status")String status);
 }

+ 15 - 3
src/main/java/com/galaxis/manatee/dao/ChuanyunWorkHourDao.java

@@ -25,25 +25,37 @@ public interface ChuanyunWorkHourDao extends GalaxisRepository<ChuanyunWorkHourD
             "chuanyun_day_log.project_id," +
             "chuanyun_day_log.project_type," +
             "chuanyun_log.user_id," +
+            "chuanyun_log.status," +
             "chuanyun_day_log.day_log_date " +
             "FROM chuanyun_day_log "+
             "LEFT JOIN chuanyun_log ON chuanyun_day_log.parent_object_id = chuanyun_log.object_id " +
             " WHERE chuanyun_log.user_id = ? " +
-            " GROUP BY chuanyun_day_log.project_id,chuanyun_log.user_id,chuanyun_day_log.day_log_date",
+            " GROUP BY chuanyun_day_log.project_id," +
+            "chuanyun_log.user_id," +
+            "chuanyun_log.status," +
+            "chuanyun_day_log.day_log_date",
             nativeQuery = true)
     List<ChuanyunWorkHourDO> getSelfWorkHour(String userId);
 
+    /**
+     * 根据用户ID和日期筛选工时数据
+     * @param userId    用户Id
+     * @param day   日期
+     * @return  人员工时数据
+     */
     @Query(value="SELECT chuanyun_day_log.object_id," +
             "SUM(chuanyun_day_log.hours_worked) AS hours_worked," +
             "chuanyun_day_log.project_id," +
             "chuanyun_day_log.project_type," +
             "chuanyun_log.user_id," +
+            "chuanyun_log.status," +
             "chuanyun_day_log.day_log_date " +
             "FROM chuanyun_day_log "+
             "LEFT JOIN chuanyun_log ON chuanyun_day_log.parent_object_id = chuanyun_log.object_id " +
-            "WHERE chuanyun_log.user_id = ? AND chuanyun_day_log.day_log_date =? " +
+            "WHERE chuanyun_log.user_id = ? " +
+            "AND chuanyun_day_log.day_log_date =? " +
             "GROUP BY chuanyun_log.user_id," +
             "chuanyun_day_log.day_log_date",
             nativeQuery = true)
-    ChuanyunWorkHourDO getDayWorkHour(String userId, LocalDateTime day);
+    ChuanyunWorkHourDO getDayWorkHour(String userId,LocalDateTime day);
 }

+ 8 - 5
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunMemberCostDO.java

@@ -2,10 +2,6 @@ package com.galaxis.manatee.entity.chuanyun.data.object;
 
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
-import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.hibernate.annotations.GenericGenerator;
@@ -14,7 +10,6 @@ import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
 import java.math.BigDecimal;
-import java.time.LocalDateTime;
 
 /**
  * @author kxuan
@@ -32,10 +27,18 @@ public class ChuanyunMemberCostDO {
 
     private String userId;
 
+    /**
+     * 项目类型
+     */
     private String projectType;
 
     private String projectId;
 
+    /**
+     * 项目流程状态
+     */
+    private String status;
+
     private BigDecimal totalHour;
 
     private BigDecimal cost;

+ 3 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunPersonDaysDO.java

@@ -9,6 +9,9 @@ import javax.persistence.Entity;
 import javax.persistence.Id;
 import java.math.BigDecimal;
 
+/**
+ * @author kxuan
+ */
 @Slf4j
 @Data
 @Entity

+ 8 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunProjectCostDO.java

@@ -25,10 +25,18 @@ public class ChuanyunProjectCostDO {
     @GenericGenerator(name ="idGeneratorUser" ,strategy="com.galaxis.capsule.util.GalaxisIdGenerator")
     private Long objectId;
 
+    /**
+     * 项目类型
+     */
     private String projectType;
 
     private String projectId;
 
+    /**
+     * 工时状态
+     */
+    private String status;
+
     private BigDecimal totalHour;
 
     private BigDecimal cost;

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

@@ -47,6 +47,11 @@ public class ChuanyunSelfCostDO {
     private String projectId;
 
     /**
+     * 流程状态
+     */
+    private String status;
+
+    /**
      * 月份
      */
     @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)

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

@@ -36,6 +36,11 @@ public class ChuanyunSelfWorkHourDO {
 
     private String projectId;
 
+    /**
+     * 流程状态
+     */
+    private String status;
+
     @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
     @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
     private LocalDateTime dayLogDate;

+ 8 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunWorkHourDO.java

@@ -28,10 +28,18 @@ public class ChuanyunWorkHourDO {
 
     private String userId;
 
+    /**
+     * 项目类型
+     */
     private String projectType;
 
     private String projectId;
 
+    /**
+     * 流程状态
+     */
+    private String status;
+
     @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
     @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
     private LocalDateTime dayLogDate;

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

@@ -12,7 +12,6 @@ import com.galaxis.manatee.entity.chuanyun.dto.ChuanyunSaveDTO;
 import com.galaxis.manatee.entity.chuanyun.dto.Filter;
 import com.galaxis.manatee.manager.ChuanYunManager;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -60,14 +59,17 @@ public class ChuanyunHumanResourceScheduledTask {
     /**
      * 每天3点更新日志记录
      */
-    @Scheduled(cron = "0 0 3 * * *")
+//    @Scheduled(cron = "0 0 3 * * *")
+    @Scheduled(fixedRate = 86400000L)
     private void updateLog() {
         var objectMapper = new ObjectMapper();
         var start = 0;
         var totalCount = 0L;
         var flag = true;
         List<String> matchersString=new ArrayList<>();
-        matchersString.add("Status_2,1");
+        //由于需要统计流程中的日志,在日志数据同步时将状态为2的数据一并统计
+//        matchersString.add("Status_2,1");
+        matchersString.add("Status_6,[1,2]");
         while (flag) {
             try {
                 //从氚云查询数据
@@ -93,7 +95,7 @@ public class ChuanyunHumanResourceScheduledTask {
                     }else{
                         //如果有重复就删除
                         chuanyunLogDao.findById(chuanyunLogDO.getObjectId()).ifPresent(toDelete -> {
-                            log.info("删除" + toDelete.getObjectId());
+//                            log.info("删除" + toDelete.getObjectId());
                             chuanyunLogDao.delete(toDelete);
                         });
                         //根据projectId获取code,如果是生产项目,则不用处理

+ 60 - 9
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java

@@ -331,15 +331,15 @@ public class ChuanyunProjectScheduledTask {
         var page = 0;
         while(flag) {
             var pageable= PageRequest.of(page,pageSize);
-            var chuanyunUserCompanyDOS = chuanyunUserCompanyDao.findAllByStatus(1,pageable);
-            if (page<=chuanyunUserCompanyDOS.getTotalPages()){
+            var chuanyunUserCompanyList = chuanyunUserCompanyDao.findAllByStatus(1,pageable);
+            if (page<=chuanyunUserCompanyList.getTotalPages()){
                 page += 1;
             }else {
                 flag = false;
                 break;
             }
             //逐个将员工每天工时进行统计汇总
-            List<ChuanyunUserCompanyDO> userCompanyDOList = chuanyunUserCompanyDOS.getContent();
+            List<ChuanyunUserCompanyDO> userCompanyDOList = chuanyunUserCompanyList.getContent();
             userCompanyDOList.forEach(chuanyunUserCompanyDO -> {
                 //工时标准化
                 standardHour(chuanyunUserCompanyDO);
@@ -353,6 +353,7 @@ public class ChuanyunProjectScheduledTask {
                     log.info("########"+chuanyunMemberCostDO+"");
                 }else{
                     //计算项目中每人人天
+                    //TODO 计算人天是不是可以直接用总工时除8来计算
                     List<ChuanyunPersonDaysDO> personDaysList = chuanyunPersonDaysDao.getSelfUserWorkHour(chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getUserId());
                     BigDecimal standard = new BigDecimal(8);
                     BigDecimal personDays = new BigDecimal(0);
@@ -370,8 +371,9 @@ public class ChuanyunProjectScheduledTask {
                     memberCostDO.setProjectId(chuanyunMemberCostDO.getProjectId());
                     memberCostDO.setUserId(chuanyunMemberCostDO.getUserId());
                     memberCostDO.setTotalHour(chuanyunMemberCostDO.getTotalHour());
+                    memberCostDO.setStatus(chuanyunMemberCostDO.getStatus());
                     memberCostDO.setPersonDays(personDays);
-                    ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectId(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId());
+                    ChuanyunMemberCostDO oldCostDO = chuanyunMemberCostDao.findByUserIdAndProjectIdAndStatus(chuanyunMemberCostDO.getUserId(),chuanyunMemberCostDO.getProjectId(),chuanyunMemberCostDO.getStatus());
                     if (oldCostDO !=null) {
                         chuanyunMemberCostDao.delete(oldCostDO);
                     }
@@ -385,9 +387,11 @@ public class ChuanyunProjectScheduledTask {
                         chuanyunProjectMemberCostDTO.setCost(chuanyunMemberCostDO.getCost());
                         chuanyunProjectMemberCostDTO.setWorkHour(chuanyunMemberCostDO.getTotalHour());
                         chuanyunProjectMemberCostDTO.setProjectType(chuanyunMemberCostDO.getProjectType());
+                        chuanyunProjectMemberCostDTO.setStatus(chuanyunMemberCostDO.getStatus());
                         chuanyunProjectMemberCostDTO.setPersonDays(personDays);
                         List<String> matchers = new ArrayList<>();
                         matchers.add("F0000001_2,"+chuanyunMemberCostDO.getProjectId());
+                        matchers.add("F0000007_2,"+chuanyunMemberCostDO.getStatus());
                         matchers.add("F0000002_2,"+chuanyunMemberCostDO.getUserId());
                         var filter= Filter.instance(0,1,true,"And",matchers);
                         var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectMemberCostDO.SCHEMA_CODE,filter);
@@ -417,8 +421,10 @@ public class ChuanyunProjectScheduledTask {
            list1.forEach(chuanyunProjectCostDO -> {
                ChuanyunProjectCostDO projectCostDO = new ChuanyunProjectCostDO();
                projectCostDO.setCost(chuanyunProjectCostDO.getCost());
+               projectCostDO.setProjectType(chuanyunProjectCostDO.getProjectType());
                projectCostDO.setProjectId(chuanyunProjectCostDO.getProjectId());
                projectCostDO.setTotalHour(chuanyunProjectCostDO.getTotalHour());
+               projectCostDO.setStatus(chuanyunProjectCostDO.getStatus());
                projectCostDO.setPersonDays(chuanyunProjectCostDO.getPersonDays());
                ChuanyunProjectCostDO oldProjectDO = chuanyunProjectCostDao.findByProjectId(chuanyunProjectCostDO.getProjectId());
                if (oldProjectDO !=null) {
@@ -430,10 +436,12 @@ public class ChuanyunProjectScheduledTask {
                    chuanyunProjectTotalCostDTO.setProjectType(chuanyunProjectCostDO.getProjectType());
                    chuanyunProjectTotalCostDTO.setProjectId(chuanyunProjectCostDO.getProjectId());
                    chuanyunProjectTotalCostDTO.setCost(chuanyunProjectCostDO.getCost());
+                   chuanyunProjectTotalCostDTO.setStatus(chuanyunProjectCostDO.getStatus());
                    chuanyunProjectTotalCostDTO.setWorkHour(chuanyunProjectCostDO.getTotalHour());
                    chuanyunProjectTotalCostDTO.setPersonDays(chuanyunProjectCostDO.getPersonDays());
                    List<String> matchers = new ArrayList<>();
                    matchers.add("F0000001_2,"+chuanyunProjectCostDO.getProjectId());
+                   matchers.add("F0000006_2,"+chuanyunProjectCostDO.getStatus());
                    var filter= Filter.instance(0,1,true,"And",matchers);
                    var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunProjectTotalCostDO.SCHEMA_CODE,filter);
                    var projectTotalString=objectMapper.writeValueAsString(chuanyunProjectTotalCostDTO);
@@ -469,6 +477,7 @@ public class ChuanyunProjectScheduledTask {
         selfList.forEach(self->{
             try{
                 ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO = new ChuanyunSelfWorkHourDO();
+                chuanyunSelfWorkHourDO.setStatus(self.getStatus());
                 chuanyunSelfWorkHourDO.setUserId(chuanyunUserCompanyDO.getUserId());
                 chuanyunSelfWorkHourDO.setProjectType(self.getProjectType());
                 if(ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType())){
@@ -499,11 +508,15 @@ public class ChuanyunProjectScheduledTask {
                     chuanyunSelfWorkHourDTO.setProjectId(self.getProjectId());
                     chuanyunSelfWorkHourDTO.setUserId(chuanyunUserCompanyDO.getUserId());
                     chuanyunSelfWorkHourDTO.setDayLogDate(self.getDayLogDate());
+                    chuanyunSelfWorkHourDTO.setProjectType(self.getProjectType());
+                    chuanyunSelfWorkHourDTO.setStatus(self.getStatus());
                     chuanyunSelfWorkHourDTO.setStandardWorkHour(chuanyunSelfWorkHourDO.getStandardWorkHour());
                     List<String> matchers = new ArrayList<>();
                     matchers.add("F0000001_2,"+self.getProjectId());
                     matchers.add("F0000002_2,"+chuanyunUserCompanyDO.getUserId());
                     matchers.add("F0000003_2,"+self.getDayLogDate());
+                    matchers.add("F0000005_2,"+self.getProjectType());
+                    matchers.add("F0000006_2,"+self.getStatus());
                     var filter= Filter.instance(0,1,true,"And",matchers);
                     var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunMemberHourDO.SCHEMA_CODE,filter);
                     var selfMonthString=objectMapper.writeValueAsString(chuanyunSelfWorkHourDTO);
@@ -516,7 +529,7 @@ public class ChuanyunProjectScheduledTask {
                         chuanyunSaveDTO =chuanYunManager.save(ChuanyunMemberHourDO.SCHEMA_CODE,selfMonthString,true);
                     }
                     if(chuanyunSaveDTO.getSuccessful()){
-//                    log.info("新增工时标准化成功");
+                    log.info("新增工时标准化成功");
                     }else{
                         log.warn("新增工时标准化失败");
                     }
@@ -539,8 +552,8 @@ public class ChuanyunProjectScheduledTask {
         List<ChuanyunSelfWorkHourDO> list = chuanyunSelfWorkHourDao.getMonthProjectHour(chuanyunUserCompanyDO.getUserId());
         DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         list.forEach(projectMonth->{
-            //获取人员月度标准工时汇总
-            ChuanyunSelfWorkHourDO monthHour = chuanyunSelfWorkHourDao.getMonthHour(projectMonth.getUserId(),df.format(projectMonth.getDayLogDate()));
+            //获取人员-月度-相同工时状态标准工时汇总
+            ChuanyunSelfWorkHourDO monthHour = chuanyunSelfWorkHourDao.getMonthHour(projectMonth.getUserId(),df.format(projectMonth.getDayLogDate()),projectMonth.getStatus());
 
             //获取人员月度工资信息
             //TODO 张曦铭的薪资信息同步之后需要使用U9中的数据更新薪资信息
@@ -555,6 +568,7 @@ public class ChuanyunProjectScheduledTask {
                 chuanyunSelfCostDO.setCost(BigDecimal.ZERO);
                 chuanyunMemberMonthCostDTO.setCost(BigDecimal.ZERO);
             }
+            chuanyunSelfCostDO.setStatus(projectMonth.getStatus());
             chuanyunSelfCostDO.setMonthlyTotalHour(monthHour.getStandardWorkHour());
             chuanyunSelfCostDO.setProjectId(projectMonth.getProjectId());
             chuanyunSelfCostDO.setProjectType(projectMonth.getProjectType());
@@ -574,6 +588,7 @@ public class ChuanyunProjectScheduledTask {
             //更新氚云数据
             chuanyunMemberMonthCostDTO.setProjectId(projectMonth.getProjectId());
             chuanyunMemberMonthCostDTO.setProjectType(projectMonth.getProjectType());
+            chuanyunMemberMonthCostDTO.setStatus(projectMonth.getStatus());
             chuanyunMemberMonthCostDTO.setUserId(projectMonth.getUserId());
             chuanyunMemberMonthCostDTO.setMonthWorkHour(monthHour.getStandardWorkHour());
             chuanyunMemberMonthCostDTO.setDayLogDate(projectMonth.getDayLogDate().withDayOfMonth(1));
@@ -581,6 +596,7 @@ public class ChuanyunProjectScheduledTask {
             try {
                 List<String> matchers = new ArrayList<>();
                 matchers.add("F0000003_2,"+projectMonth.getProjectId());
+                matchers.add("F0000009_2,"+projectMonth.getStatus());
                 matchers.add("F0000002_2,"+projectMonth.getUserId());
                 matchers.add("F0000004_2,"+projectMonth.getDayLogDate().withDayOfMonth(1));
                 var filter= Filter.instance(0,1,true,"And",matchers);
@@ -595,7 +611,7 @@ public class ChuanyunProjectScheduledTask {
                     chuanyunSaveDTO =chuanYunManager.save(ChuanyunMemberMonthCostDO.SCHEMA_CODE,memberMonthString,true);
                 }
                 if(chuanyunSaveDTO.getSuccessful()){
-//                    log.info("新增项目成员月度成本汇总成功");
+                    log.info("新增项目成员月度成本汇总成功");
                 }else{
                     log.warn("新增项目成员月度成本汇总失败");
                 }
@@ -622,6 +638,12 @@ class ChuanyunMemberMonthCostDTO{
     private String projectType;
 
     /**
+     * 日志流程状态
+     */
+    @JsonProperty("F0000009")
+    private String status;
+
+    /**
      * 用户ID
      */
     @JsonProperty("F0000002")
@@ -692,8 +714,17 @@ class ChuanyunProjectMemberCostDTO {
      */
     @JsonProperty("F0000006")
     private BigDecimal personDays;
+
+    /**
+     * 工时状态
+     */
+    @JsonProperty("F0000007")
+    private String status;
 }
 
+/**
+ * 项目汇总工时
+ */
 @Data
 class ChuanyunProjectTotalCostDTO{
 
@@ -726,6 +757,12 @@ class ChuanyunProjectTotalCostDTO{
      */
     @JsonProperty("F0000005")
     private BigDecimal personDays;
+
+    /**
+     * 工时状态
+     */
+    @JsonProperty("F0000006")
+    private String status;
 }
 
 @Data
@@ -733,7 +770,6 @@ class ChuanyunAdjustAccountDTO {
     @JsonProperty("F0000002")
     private String projectCode;
 
-
     /**
      * 核算实施人天
      */
@@ -765,6 +801,9 @@ class ChuanyunAdjustAccountDTO {
     private String projectId;
 }
 
+/**
+ * 工时标准化更新数据
+ */
 @Data
 class ChuanyunSelfWorkHourDTO {
 
@@ -774,6 +813,18 @@ class ChuanyunSelfWorkHourDTO {
     @JsonProperty("F0000001")
     private String projectId;
 
+    /**
+     * 项目类型
+     */
+    @JsonProperty("F0000005")
+    private String projectType;
+
+    /**
+     * 流程状态
+     */
+    @JsonProperty("F0000006")
+    private String status;
+
     @JsonProperty("F0000003")
     @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
     @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)