Quellcode durchsuchen

教育培训任务代码提交

jingyuanchao vor 2 Jahren
Ursprung
Commit
8366d34470

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

@@ -60,7 +60,7 @@ public class CoreEduTrainingTask extends BaseEntity {
 
 
     /**
-     * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
+     * @see com.xunmei.common.core.enums.edu.EduTrainingType
      * 类型
      */
     @TableField("type")

+ 8 - 14
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskPageDto.java

@@ -1,23 +1,17 @@
 package com.xunmei.common.core.domain.edu.dto;
 
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ObjectUtil;
 import com.xunmei.common.core.web.domain.PageRequest;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.time.LocalDate;
 import java.util.Date;
 
 @Data
 @EqualsAndHashCode(callSuper = true)
 public class CoreEduTrainingTaskPageDto extends PageRequest {
 
-    @ApiModelProperty(value = "培训机构")
-    private Long orgId;
-
-    @ApiModelProperty(value = "培训机构")
-    private String orgPath;
 
     @ApiModelProperty(value = "学习主题")
     private String title;
@@ -28,19 +22,19 @@ public class CoreEduTrainingTaskPageDto extends PageRequest {
     @ApiModelProperty(value = "状态")
     private Integer status;
 
-    @ApiModelProperty("任务时间范围")
+    @ApiModelProperty(value = "任务时间范围", notes = "web端传递此参数")
     private Date[] range;
 
+
     private Date startTime;
 
     private Date endTime;
 
+    @ApiModelProperty(value = "任务时间范围", notes = "App传递此参数")
+    private LocalDate date;
+
+    @ApiModelProperty(value = "是否是App端查询", notes = "App端查询传递此参数")
+    private Integer isAppSelect;
 
-    public CoreEduTrainingTaskPageDto() {
-        if (ObjectUtil.isNotEmpty(this.range)) {
-            this.startTime = DateUtil.beginOfDay(this.range[0]);
-            this.endTime = DateUtil.endOfDay(this.range[0]);
-        }
-    }
 
 }

+ 10 - 17
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskPageVo.java

@@ -1,13 +1,5 @@
 package com.xunmei.common.core.domain.edu.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import io.swagger.annotations.ApiModelProperty;
@@ -36,7 +28,7 @@ public class CoreEduTrainingTaskPageVo {
     private String title;
 
     /**
-     * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
+     * @see com.xunmei.common.core.enums.edu.EduTrainingType
      * 类型
      */
     @ApiModelProperty(value = "类型")
@@ -60,17 +52,14 @@ public class CoreEduTrainingTaskPageVo {
     @ApiModelProperty(value = "任务计划截止日期")
     private Date endDate;
 
-//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-//    @ApiModelProperty(value = "培训时间")
-//    private Date dateTime;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @ApiModelProperty(value = "培训开始时间")
     private Date trainingStartDateTime;
 
-//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-//    @ApiModelProperty(value = "培训开始时间")
-//    private Date trainingEndDateTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "培训开始时间")
+    private Date trainingEndDateTime;
 
     /**
      * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
@@ -83,5 +72,9 @@ public class CoreEduTrainingTaskPageVo {
 
     private String taskRoleNameList;
 
-  @ApiModelProperty(value = "pdf下载地址")
-    private String pdfUrl;}
+    @ApiModelProperty(value = "pdf下载地址")
+    private String pdfUrl;
+
+    @ApiModelProperty(value = "签名情况", notes = "已签名人数/总人数")
+    private String signNums;
+}

+ 12 - 4
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/controller/CoreEduTrainingTaskController.java

@@ -40,13 +40,21 @@ public class CoreEduTrainingTaskController extends BaseController {
      */
     @ApiOperation(value = "查询CoreEduTrainingTask列表")
     @RequiresPermissions("core:eduTask:list")
-    @GetMapping("/list")
-    public TableDataInfo<CoreEduTrainingTaskPageVo> list(CoreEduTrainingTaskPageDto coreEduTrainingTask) {
-
-        //return  new TableDataInfo<CoreEduTrainingTaskPageVo>();
+    @PostMapping("/list")
+    public TableDataInfo<CoreEduTrainingTaskPageVo> list(@RequestBody CoreEduTrainingTaskPageDto coreEduTrainingTask) {
         return coreEduTrainingTaskService.selectPage(coreEduTrainingTask);
     }
 
+    /**
+     * App端获取签名情况
+     */
+    @ApiOperation(value = "App端获取签名情况")
+    @RequiresPermissions("core:eduTask:list")
+    @GetMapping("/signUserList/{id}")
+    public AjaxResult signUserList(@PathVariable Long id) {
+        return success(coreEduTrainingTaskService.signUserList(id));
+    }
+
 
     /**
      * 获取教育任务详细信息

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/ICoreEduTrainingTaskService.java

@@ -3,6 +3,7 @@ package com.xunmei.core.edu.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
+import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskEditDto;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskPageDto;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskReportDto;
@@ -90,4 +91,6 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
     AjaxResult buildEduPdf(Long id);
 
     String buildEduTask(Integer cycle, Date date);
+
+    List<CoreEduTrainingTaskToUser> signUserList(Long taskId);
 }

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

@@ -87,6 +87,22 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
 
     @Override
     public TableDataInfo<CoreEduTrainingTaskPageVo> selectPage(CoreEduTrainingTaskPageDto request) {
+        //如果是web段的查询
+        if (ObjectUtil.isNotEmpty(request.getRange())) {
+            request.setStartTime(DateUtil.beginOfDay(request.getRange()[0]));
+            request.setEndTime(DateUtil.endOfDay(request.getRange()[1]));
+        }
+        //如果是App段的查询
+        if (ObjectUtil.isNotNull(request.getDate())) {
+            Date date = java.sql.Date.valueOf(request.getDate());
+            request.setStartTime(DateUtil.beginOfDay(date));
+            request.setEndTime(DateUtil.endOfDay(date));
+
+        }
+        if (ObjectUtil.equal(1, request.getIsAppSelect())) {
+            request.setCheckSub(true);
+        }
+        //App 默认下穿
         if (Boolean.TRUE.equals(request.getCheckSub())) {
             SysOrg org = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectOrgById(request.getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
             request.setOrgPath(org.getPath());
@@ -106,6 +122,11 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                     continue;
                 }
                 record.setTaskRoleNameList(coreEduTrainingTaskToRoles.stream().map(CoreEduTrainingTaskToRole::getRoleName).collect(Collectors.joining(",")));
+
+                List<CoreEduTrainingTaskToUser> userList = taskToUserMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
+                        .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, record.getId()));
+                int signNums = (int) userList.stream().filter(user -> user.getSign() == 1).count();
+                record.setSignNums(signNums + "/" + userList.size());
             }
         }
 
@@ -113,6 +134,11 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         return TableDataInfo.build(pageData);
     }
 
+    @Override
+    public List<CoreEduTrainingTaskToUser> signUserList(Long taskId) {
+        return taskToUserMapper.selectList(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
+                .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, taskId));
+    }
 
     /**
      * 查询教育任务
@@ -179,6 +205,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
 
         coreEduTrainingTask.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getId().toString());
         coreEduTrainingTask.setUpdateTime(DateUtils.getNowDate());
+        taskToUserMapper.deleteByMap(MapUtil.of("edu_training_task_id", request.getId()));
         return coreEduTrainingTaskMapper.updateById(coreEduTrainingTask);
     }
 
@@ -443,6 +470,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         }
         return "创建成功";
     }
+
+
 }
 
 

+ 3 - 3
soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingTaskMapper.xml

@@ -83,7 +83,7 @@
         <!--            </if>-->
         <!--        </where>-->
         select t.id, plan_id, t.org_id, t.org_name, title, type, status, host_id,u.name as hostName,
-        start_date, end_date, training_start_date_time,training_end_date_time
+        start_date, end_date, t.training_start_date_time,t.training_end_date_time
         from core_edu_training_task t left join sys_user u on t.host_id=u.id
         <where>
             <choose>
@@ -104,10 +104,10 @@
                 and t.status=#{request.status}
             </if>
             <if test="request.startTime != null">
-                and t.date_time >=#{request.startTime}
+                and t.start_time >=#{request.startTime}
             </if>
             <if test="request.endTime != null">
-                and t.date_time <![CDATA[<=]]> #{request.endTime}
+                and t.end_time <![CDATA[<=]]> #{request.endTime}
             </if>
         </where>
     </select>