Browse Source

增加了集团日志调整历史数据的方法

verguenza 5 years ago
parent
commit
42c65707ff

+ 2 - 13
pom.xml

@@ -15,8 +15,8 @@
     <description>galaxis first step into cloud</description>
 
     <properties>
-        <java.version>13</java.version>
-        <spring-cloud.version>Hoxton.SR3</spring-cloud.version>
+        <java.version>14</java.version>
+        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
     </properties>
 
     <dependencies>
@@ -118,17 +118,6 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.8.0</version>
-                <configuration>
-                    <release>13</release>
-                    <compilerArgs>
-                        <arg>--enable-preview</arg>
-                    </compilerArgs>
-                    <forceJavacCompilerUse>true</forceJavacCompilerUse>
-                </configuration>
-            </plugin>
         </plugins>
     </build>
 

+ 59 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLog.java

@@ -0,0 +1,59 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+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.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:41 上午
+ */
+@Slf4j
+@Entity(name = "CHUANYUN_DAY_LOG")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLog extends BasicSubDO{
+    /**
+     * 日期
+     */
+    @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
+    @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
+    private LocalDateTime dayLogDate;
+    /**
+     * 项目类型
+     */
+    @JsonProperty("projectType")
+    private String projectType;
+    /**
+     * 项目Id
+     */
+    @JsonProperty("project")
+    private String projectId;
+    /**
+     * 工厂地址ID
+     */
+    @JsonProperty("factoryLocation")
+    private String factoryLocationId;
+    /**
+     * 工时
+     */
+    private BigDecimal hoursWorked;
+    /**
+     * 日志
+     */
+    @Column(length = Integer.MAX_VALUE)
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogApply.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogApply {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogDevelopment.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogDevelopment {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogFactory.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogFactory {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000037")
+    private String factoryLocationId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogMaintenance.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogMaintenance {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogManagement.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogManagement {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogResearch.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogResearch {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 39 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunDayLogSale.java

@@ -0,0 +1,39 @@
+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.extern.slf4j.Slf4j;
+
+import java.math.BigDecimal;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:50 上午
+ */
+@Slf4j
+@Data
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunDayLogSale {
+    /**
+     * 主键
+     */
+    @JsonProperty("ObjectId")
+    private String objectId;
+    /**
+     * 项目
+     */
+    @JsonProperty("F0000010")
+    private String projectId;
+    /**
+     * 工时
+     */
+    @JsonProperty("F0000014")
+    private BigDecimal hoursWorked;
+    /**
+     * 工作内容
+     */
+    @JsonProperty("F0000015")
+    private String content;
+}

+ 124 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunLogDO.java

@@ -0,0 +1,124 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.galaxis.capsule.bo.ChuanyunObject;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.persistence.*;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 10:38 上午
+ */
+@Slf4j
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Entity(name = "CHUANYUN_LOG")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunLogDO extends BasicDO{
+
+    /**
+     * 表名
+     */
+    public static final String SCHEMA_CODE ="D001789cb1cc1bf7bc04964970c65d70be99142";
+
+
+    /**
+     * 用户公司
+     */
+    @JsonProperty("userCompany")
+    private String userCompanyId;
+    /**
+     * 用户
+     */
+    @JsonProperty("user")
+    private String userId;
+    /**
+     * 日志时间
+     */
+    @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
+    @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
+    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
+    @JsonProperty("logDate")
+    private LocalDateTime logDate;
+    /**
+     * 日期
+     */
+    @JsonSerialize(using = ChuanyunLocalDateTimeSerializer.class)
+    @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
+    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
+    @JsonProperty("F0000001")
+    private LocalDateTime oldDate;
+    /**
+     * 日志明细
+     */
+    @JsonProperty("D001789DayLog")
+    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true,fetch = FetchType.EAGER)
+    private List<ChuanyunDayLog> dayLogList;
+
+    /**
+     * 周日志明细
+     */
+    @JsonProperty("D001789WeekLog")
+    @Transient
+    private List<Object> weekLogList;
+    /**
+     * 销售日志
+     */
+    @JsonProperty("D001789F25fd6427f96240aaae768b40ed975b9c")
+    @Transient
+    private List<ChuanyunDayLogSale> chuanyunDayLogSaleList;
+    /**
+     * 管理日志
+     */
+    @JsonProperty("D00178971c566cde3ef422ba5ea6f44a5c07b6a")
+    @Transient
+    private List<ChuanyunDayLogManagement> chuanyunDayLogManagementList;
+    /**
+     * 研发日志
+     */
+    @JsonProperty("D001789be4afb48703740129d653208758179ff")
+    @Transient
+    private List<ChuanyunDayLogResearch> chuanyunDayLogResearchList;
+    /**
+     * 工厂日志
+     */
+    @JsonProperty("D0017891e7c14c23fbc4495a73fc7dc4096203e")
+    @Transient
+    private List<ChuanyunDayLogFactory> chuanyunDayLogFactoryList;
+    /**
+     * 实施日志
+     */
+    @JsonProperty("D001789f6f1ba94c7084686a8a656b115e68377")
+    @Transient
+    private List<ChuanyunDayLogApply> chuanyunDayLogApplyList;
+    /**
+     * 二开日志
+     */
+    @JsonProperty("D00178963d9f808c5c64fef8c0622774fc96f1c")
+    @Transient
+    private List<ChuanyunDayLogDevelopment> chuanyunDayLogDevelopmentList;
+    /**
+     * 售后日志
+     */
+    @JsonProperty("D00178991743b607faa4c13bd47c80f643f48fa")
+    @Transient
+    private List<ChuanyunDayLogMaintenance> chuanyunDayLogMaintenanceList;
+    /**
+     * 创建者
+     */
+    @JsonProperty("CreatedByObject")
+    @Transient
+    private ChuanyunObject createdByObject;
+}

+ 218 - 0
src/main/java/com/galaxis/manatee/task/TestService.java

@@ -0,0 +1,218 @@
+package com.galaxis.manatee.task;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunDayLog;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunLogDO;
+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;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author zcj
+ * @version 0.1
+ * @date 2020/5/9 11:09 上午
+ */
+@Slf4j
+@Service
+public class TestService {
+
+    private final ChuanYunManager chuanYunManager;
+
+    public TestService(ChuanYunManager chuanYunManager) {
+        this.chuanYunManager = chuanYunManager;
+    }
+
+    /**
+     * 这个是补全日志历史数据的方法不需要调用
+     */
+    private void fixLogData(){
+        var objectMapper=new ObjectMapper();
+        var pageSize=20;
+        var start=0;
+        var totalCount=0L;
+        var flag=true;
+        List<String> matchersString=new ArrayList<>();
+        matchersString.add("Status_2,1");
+        matchersString.add("CreatedTime_3,2020-05-07 01:00:00");
+        while (flag){
+            try {
+                //从氚云查询数据
+                var filter= Filter.instance(start,start+pageSize,true,Filter.AND,matchersString);
+                var chuanyunFindAllResponse=chuanYunManager.findAll(ChuanyunLogDO.SCHEMA_CODE,filter);
+                if(chuanyunFindAllResponse.getReturnData()==null){
+                    flag=false;
+                    continue;
+                }
+                if(chuanyunFindAllResponse.getReturnData().getTotalCount()>=start+pageSize){
+                    start+=pageSize;
+                }else{
+                    flag=false;
+                }
+                //转化为POJO
+                List<ChuanyunLogDO> result=objectMapper.convertValue(chuanyunFindAllResponse.getReturnData().getBizObjectArray(), new TypeReference<>(){});
+                result.forEach(chuanyunLogDO -> {
+                    String logDateString=chuanyunLogDO.getOldDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+                    LogDTO logDTO=new LogDTO();
+                    logDTO.setTitle(logDateString);
+                    logDTO.setUser(chuanyunLogDO.getCreatedByObject().getObjectId());
+                    logDTO.setLogDate(logDateString);
+                    logDTO.setDayOrWeek("每天填写");
+
+                    List<ChuanyunDayLog> chuanyunDayLogList=new ArrayList<>();
+                    List<ChuanyunDayLog> list=chuanyunLogDO.getDayLogList();
+                    if(list==null&&chuanyunLogDO.getWeekLogList()==null){
+                        log.info(chuanyunLogDO+"");
+                        //销售项目
+                        chuanyunLogDO.getChuanyunDayLogSaleList().forEach(chuanyunDayLogSale -> {
+                            if(chuanyunDayLogSale.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogSale.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogSale.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogSale.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogSale.getHoursWorked());
+                                chuanyunDayLog.setProjectType("销售项目");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //管理项目
+                        chuanyunLogDO.getChuanyunDayLogManagementList().forEach(chuanyunDayLogManagement -> {
+                            if(chuanyunDayLogManagement.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogManagement.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogManagement.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogManagement.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogManagement.getHoursWorked());
+                                chuanyunDayLog.setProjectType("管理项目");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //研发项目
+                        chuanyunLogDO.getChuanyunDayLogResearchList().forEach(chuanyunDayLogResearch -> {
+                            if(chuanyunDayLogResearch.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogResearch.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogResearch.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogResearch.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogResearch.getHoursWorked());
+                                chuanyunDayLog.setProjectType("研发项目");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //生产项目
+                        chuanyunLogDO.getChuanyunDayLogFactoryList().forEach(chuanyunDayLogFactory -> {
+                            if(chuanyunDayLogFactory.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogFactory.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogFactory.getContent());
+                                chuanyunDayLog.setFactoryLocationId(chuanyunDayLogFactory.getFactoryLocationId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogFactory.getHoursWorked());
+                                chuanyunDayLog.setProjectType("生产项目");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //实施项目
+                        chuanyunLogDO.getChuanyunDayLogApplyList().forEach(chuanyunDayLogApply -> {
+                            if(chuanyunDayLogApply.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogApply.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogApply.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogApply.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogApply.getHoursWorked());
+                                chuanyunDayLog.setProjectType("实施");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //二开项目
+                        chuanyunLogDO.getChuanyunDayLogDevelopmentList().forEach(chuanyunDayLogDevelopment -> {
+                            if(chuanyunDayLogDevelopment.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogDevelopment.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogDevelopment.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogDevelopment.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogDevelopment.getHoursWorked());
+                                chuanyunDayLog.setProjectType("研发二开");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        //售后项目
+                        chuanyunLogDO.getChuanyunDayLogMaintenanceList().forEach(chuanyunDayLogMaintenance -> {
+                            if(chuanyunDayLogMaintenance.getHoursWorked()!=null){
+                                ChuanyunDayLog chuanyunDayLog=new ChuanyunDayLog();
+                                chuanyunDayLog.setObjectId(chuanyunDayLogMaintenance.getObjectId());
+                                chuanyunDayLog.setDayLogDate(chuanyunLogDO.getOldDate());
+                                chuanyunDayLog.setContent(chuanyunDayLogMaintenance.getContent());
+                                chuanyunDayLog.setProjectId(chuanyunDayLogMaintenance.getProjectId());
+                                chuanyunDayLog.setHoursWorked(chuanyunDayLogMaintenance.getHoursWorked());
+                                chuanyunDayLog.setProjectType("售后");
+                                chuanyunDayLog.setParentObjectId(chuanyunLogDO.getObjectId());
+                                chuanyunDayLogList.add(chuanyunDayLog);
+                            }
+                        });
+                        logDTO.setDayLogList(chuanyunDayLogList);
+                        //保存
+                        try {
+                            String bizObjectString=objectMapper.writeValueAsString(logDTO);
+                            ChuanyunSaveDTO chuanyunSaveDTO=chuanYunManager.update(ChuanyunLogDO.SCHEMA_CODE,chuanyunLogDO.getObjectId(),bizObjectString);
+                            log.info(chuanyunSaveDTO+"");
+                        } catch (JsonProcessingException e) {
+                            e.printStackTrace();
+                        }
+
+                    }
+                    if(chuanyunDayLogList.size()>0){
+                         try {
+                            log.info(objectMapper.writeValueAsString(chuanyunDayLogList));
+                        } catch (JsonProcessingException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+                //获取项目总数
+                totalCount=chuanyunFindAllResponse.getReturnData().getTotalCount();
+            }catch (Exception e){
+                log.error(e.getMessage());
+                e.printStackTrace();
+            }
+        }
+        log.info("集团日志保存保存"+totalCount);
+    }
+}
+
+@Data
+class LogDTO{
+    private String title;
+
+    private String user;
+
+    private String logDate;
+
+    private String dayOrWeek;
+
+    /**
+     * 日志明细
+     */
+    @JsonProperty("D001789DayLog")
+    private List<ChuanyunDayLog> dayLogList;
+}