Browse Source

教育培训任务代码提交

jingyuanchao 2 years ago
parent
commit
ba2d73b19f

+ 3 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/domain/CoreEduTrainingTask.java

@@ -14,6 +14,7 @@ import lombok.experimental.Accessors;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 
+import java.time.LocalDateTime;
 import java.util.Date;
 
 /**
@@ -90,12 +91,12 @@ public class CoreEduTrainingTask extends BaseEntity {
     @TableField("training_start_date_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "培训开始时间")
-    private Date trainingStartDateTime;
+    private LocalDateTime trainingStartDateTime;
 
     @TableField("training_end_date_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "培训截止时间")
-    private Date trainingEndDateTime;
+    private LocalDateTime trainingEndDateTime;
 
     /**
      * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus

+ 0 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskReportDto.java

@@ -2,7 +2,6 @@ package com.xunmei.common.core.domain.edu.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotNull;
 import java.util.Date;
@@ -19,7 +18,6 @@ public class CoreEduTrainingTaskReportDto {
     private Long orgId;
 
     @NotNull(message = "请选择具体月份进行查看!")
-    @DateTimeFormat(pattern = "yyyy-MM")
     @ApiModelProperty(value = "统计月份")
     private Date date;
 

+ 1 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskReportVo.java

@@ -7,7 +7,7 @@ import lombok.Data;
 public class CoreEduTrainingTaskReportVo {
 
     @ApiModelProperty(value = "教育培训计划Id")
-    private Integer no;
+    private Long planId;
 
     @ApiModelProperty(value = "机构")
     private Long orgId;

+ 19 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java

@@ -317,16 +317,30 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
 
         List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
         if (ObjectUtil.isEmpty(sysOrgList)) {
-
             return new ArrayList<>();
         }
+        List<CoreEduTrainingTaskReportVo> result = new ArrayList<>();
         List<CoreEduTrainingTaskReportVo> list = coreEduTrainingTaskMapper.selectReport(request);
-        list.forEach(item -> {
-            item.setFinishRate(calculatePercent(item.getShouldFinish(), item.getFinish()));
-        });
+        for (SysOrg org : sysOrgList) {
+            Optional<CoreEduTrainingTaskReportVo> optional = list.stream().filter(vo -> ObjectUtil.equal(vo.getOrgId(), org.getId())).findFirst();
+            CoreEduTrainingTaskReportVo reportVo;
+            if (!optional.isPresent()) {
+                reportVo = new CoreEduTrainingTaskReportVo();
+                reportVo.setPlanId(request.getPlanId());
+                reportVo.setOrgId(org.getId());
+                reportVo.setOrgName(org.getName());
+                reportVo.setShouldFinish(0);
+                reportVo.setFinish(0);
+                reportVo.setFinishRate("0%");
+            } else {
+                reportVo = optional.get();
+                reportVo.setFinishRate(calculatePercent(reportVo.getShouldFinish(), reportVo.getFinish()));
+            }
+            result.add(reportVo);
+        }
 
 
-        return list;
+        return result;
     }
 
     private String calculatePercent(Integer num1, Integer num2) {