Ver código fonte

Merge branch 'V0.0.1' of http://10.87.10.227:4000/jzyd_yyds/soc into V0.0.1

jiawuxian 2 anos atrás
pai
commit
18746daca2
56 arquivos alterados com 696 adições e 235 exclusões
  1. 25 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteDeviceService.java
  2. 1 3
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteRoleService.java
  3. 11 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteUserService.java
  4. 9 13
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysDevice.java
  5. 2 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysUser.java
  6. 35 0
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteDeviceFallbackFactory.java
  7. 1 3
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteRoleFallbackFactory.java
  8. 8 1
      soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteUserFallbackFactory.java
  9. 13 6
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/domain/CoreEduTrainingTask.java
  10. 8 2
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/domain/CoreEduTrainingTaskToUser.java
  11. 9 6
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskEditDto.java
  12. 5 1
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskPageDto.java
  13. 32 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskReportDto.java
  14. 7 4
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskDetailVo.java
  15. 22 5
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskPageVo.java
  16. 29 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskReportVo.java
  17. 0 2
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/retrieval/domain/CoreMonitoringRetrievalTask.java
  18. 7 1
      soc-common/soc-common-security/src/main/java/com/xunmei/common/security/service/TokenService.java
  19. 14 10
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskMonitorInfoController.java
  20. 21 20
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationController.java
  21. 8 8
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationMonitorController.java
  22. 1 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/domain/CoreMonitoringTaskRegistrationMonitor.java
  23. 2 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/dto/CoreMonitoringTaskRegistrationDTO.java
  24. 18 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/dto/CoreMonitoringTaskRegistrationMonitorDTO.java
  25. 8 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskMonitorInfoMapper.java
  26. 2 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMapper.java
  27. 9 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMonitorMapper.java
  28. 4 3
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskMonitorInfoService.java
  29. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationMonitorService.java
  30. 51 9
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskMonitorInfoServiceImpl.java
  31. 36 14
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationMonitorServiceImpl.java
  32. 16 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java
  33. 1 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java
  34. 4 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/CoreMonitoringTaskRegistrationMonitorVO.java
  35. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/CoreMonitoringTaskRegistrationVO.java
  36. 16 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/controller/CoreEduTrainingTaskController.java
  37. 4 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingTaskMapper.java
  38. 0 48
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingTaskToUserMapper.java
  39. 6 1
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/ICoreEduTrainingTaskService.java
  40. 66 8
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java
  41. 13 13
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java
  42. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java
  43. 1 5
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java
  44. 5 0
      soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskMonitorInfoMapper.xml
  45. 15 0
      soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMonitorMapper.xml
  46. 50 8
      soc-modules/soc-modules-core/src/main/resources/mapper/edu/CoreEduTrainingTaskMapper.xml
  47. 18 1
      soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml
  48. 19 5
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeviceController.java
  49. 4 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDictDataController.java
  50. 5 4
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysRoleController.java
  51. 14 0
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysUserController.java
  52. 1 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysDeviceMapper.java
  53. 2 3
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysDeviceService.java
  54. 10 3
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java
  55. 14 13
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgServiceImpl.java
  56. 5 5
      soc-modules/soc-modules-system/src/main/resources/mapper/system/SysDeviceMapper.xml

+ 25 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteDeviceService.java

@@ -0,0 +1,25 @@
+package com.xunmei.system.api;
+
+import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.constant.ServiceNameConstants;
+import com.xunmei.system.api.domain.SysDevice;
+import com.xunmei.system.api.factory.RemoteConfigFallbackFactory;
+import com.xunmei.system.api.factory.RemoteDeviceFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * @author :LuoWei
+ * @date : 2023/8/29
+ */
+@FeignClient(contextId = "remoteDeviceService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteDeviceFallbackFactory.class)
+public interface RemoteDeviceService {
+    @GetMapping("/device/getSysDeviceByOrgId")
+    List<SysDevice> getSysDeviceByOrgId(@RequestParam("orgId") Long orgId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    @GetMapping("/device/getSysDeviceByHostId")
+    List<SysDevice> getSysDeviceByHostId(@RequestParam("hostId")Long hostId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+}

+ 1 - 3
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteRoleService.java

@@ -3,8 +3,6 @@ package com.xunmei.system.api;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.constant.ServiceNameConstants;
 import com.xunmei.common.core.domain.IdName;
-import com.xunmei.common.core.domain.R;
-import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.system.api.Eto.RoleConditionEto;
 import com.xunmei.system.api.domain.SysRole;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -23,7 +21,7 @@ import java.util.List;
 public interface RemoteRoleService {
 
     @GetMapping("/role/getRoleById")
-    R<SysRole> getRoleById(@RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+    SysRole getRoleById(@RequestParam("id") Long id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
     @GetMapping("/role/getNames")
     List<IdNameVo> getNames(RoleConditionEto condition);

+ 11 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteUserService.java

@@ -9,6 +9,7 @@ import com.xunmei.system.api.model.LoginUser;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -51,4 +52,14 @@ public interface RemoteUserService {
     @PostMapping("/user/sync/batch")
     public R<Boolean> batchSaveSyncUser(@RequestBody List<SysUser> userList, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 
+    /**
+     * 记录用户最后一次登录信息
+     * @param loginTime
+     * @param loginIp
+     * @param source
+     * @return
+     */
+    @PostMapping("/user/userLoginInfo")
+    R<Boolean> userLoginInfo(@RequestParam("id") Long id,@RequestParam("loginTime") Date loginTime,@RequestParam("loginIp") String loginIp,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
 }

+ 9 - 13
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/domain/SysDevice.java → soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysDevice.java

@@ -1,27 +1,23 @@
-package com.xunmei.system.domain;
-
-import java.util.Date;
+package com.xunmei.system.api.domain;
 
+import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
+import com.xunmei.common.core.web.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
-import com.xunmei.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
 
 /**
- * 【请填写功能名称】对象 sys_device
- *
- * @author xunmei
- * @date 2023-08-22
+ * @author :LuoWei
+ * @date : 2023/8/29
  */
 @Data
 @EqualsAndHashCode(callSuper = false)

+ 2 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/domain/SysUser.java

@@ -22,7 +22,7 @@ import com.xunmei.common.core.web.domain.BaseEntity;
 import org.bouncycastle.util.Fingerprint;
 
 /**
- * 【请填写功能名称】对象 sys_user
+ * 用户管理对象 sys_user
  *
  * @author xunmei
  * @date 2023-08-09
@@ -218,6 +218,7 @@ public class SysUser extends BaseEntity {
     @ApiModelProperty(value = "同步人员的编码")
     private String code;
 
+
     /** 机构对象 */
     @TableField(exist = false)
     private Org org;

+ 35 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteDeviceFallbackFactory.java

@@ -0,0 +1,35 @@
+package com.xunmei.system.api.factory;
+
+import com.xunmei.system.api.RemoteDeviceService;
+import com.xunmei.system.api.domain.SysDevice;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author :LuoWei
+ * @date : 2023/8/29
+ */
+@Component
+public class RemoteDeviceFallbackFactory implements FallbackFactory<RemoteDeviceService> {
+    private static final Logger log = LoggerFactory.getLogger(RemoteDeviceFallbackFactory.class);
+
+    @Override
+    public RemoteDeviceService create(Throwable cause) {
+        log.error("用户服务调用失败:{}", cause.getMessage());
+        return new RemoteDeviceService() {
+            @Override
+            public List<SysDevice> getSysDeviceByOrgId(Long orgId, String source) {
+                return null;
+            }
+
+            @Override
+            public List<SysDevice> getSysDeviceByHostId(Long hostId, String source) {
+                return null;
+            }
+        };
+    }
+}

+ 1 - 3
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteRoleFallbackFactory.java

@@ -2,8 +2,6 @@ package com.xunmei.system.api.factory;
 
 
 import com.xunmei.common.core.domain.IdName;
-import com.xunmei.common.core.domain.R;
-import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.system.api.Eto.RoleConditionEto;
 import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.domain.SysRole;
@@ -29,7 +27,7 @@ public class RemoteRoleFallbackFactory implements FallbackFactory<RemoteRoleServ
         log.error("用户服务调用失败:{}", cause.getMessage());
         return new RemoteRoleService() {
             @Override
-            public R<SysRole> getRoleById(Long id, String source) {
+            public SysRole getRoleById(Long id, String source) {
                 return null;
             }
 

+ 8 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteUserFallbackFactory.java

@@ -9,11 +9,12 @@ import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 
 /**
  * 用户服务降级处理
- * 
+ *
  * @author xunmei
  */
 @Component
@@ -47,6 +48,12 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
             public R<Boolean> batchSaveSyncUser(List<SysUser> userList, String source) {
                 return null;
             }
+
+            @Override
+            public R<Boolean> userLoginInfo(Long id, Date loginTime, String loginIp, String source) {
+                return null;
+            }
+
         };
     }
 }

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

@@ -78,18 +78,24 @@ public class CoreEduTrainingTask extends BaseEntity {
 
     @TableField("start_date")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "开始日期")
+    @ApiModelProperty(value = "任务计划开始日期")
     private Date startDate;
 
     @TableField("end_date")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "截止日期")
+    @ApiModelProperty(value = "任务计划截止日期")
     private Date endDate;
 
-    @TableField("date_time")
+
+    @TableField("training_start_date_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "培训开始时间")
+    private Date trainingStartDateTime;
+
+    @TableField("training_end_date_time")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "培训时间")
-    private Date dateTime;
+    @ApiModelProperty(value = "培训截止时间")
+    private Date trainingEndDateTime;
 
     /**
      * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
@@ -138,7 +144,8 @@ public class CoreEduTrainingTask extends BaseEntity {
                 .append("content", getContent())
                 .append("title", getTitle())
                 .append("note", getNote())
-                .append("dateTime", getDateTime())
+                .append("trainingStartDateTime", getTrainingStartDateTime())
+                .append("trainingEndDateTime", getTrainingEndDateTime())
                 .append("hostId", getHostId())
                 .append("fileList", getFileList())
                 .append("imageList", getImageList())

+ 8 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/domain/CoreEduTrainingTaskToUser.java

@@ -2,7 +2,6 @@ package com.xunmei.common.core.domain.edu.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.xunmei.common.core.web.domain.BaseEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -22,7 +21,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 @Accessors(chain = true)
 @TableName("core_edu_training_task_to_user")
 @ApiModel(value = "CoreEduTrainingTaskToUser对象", description = "教育培训任务角色关系")
-public class CoreEduTrainingTaskToUser extends BaseEntity {
+public class CoreEduTrainingTaskToUser {
     private static final long serialVersionUID = 1L;
 
     @TableField("edu_training_task_id")
@@ -41,6 +40,13 @@ public class CoreEduTrainingTaskToUser extends BaseEntity {
     @ApiModelProperty(value = "1:参与人员,2:缺席人员")
     private Long type;
 
+    @TableField("sign")
+    @ApiModelProperty(value = "是否签名:0:未签名,1:已签名")
+    private int sign;
+
+    @TableField("sign_image")
+    @ApiModelProperty(value = "签名图片")
+    private String signImage;
 
     @Override
     public String toString() {

+ 9 - 6
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/dto/CoreEduTrainingTaskEditDto.java

@@ -1,6 +1,5 @@
 package com.xunmei.common.core.domain.edu.dto;
 
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
@@ -49,23 +48,27 @@ public class CoreEduTrainingTaskEditDto {
     private Date endDate;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "培训时间")
-    private Date dateTime;
+    @ApiModelProperty(value = "培训开始时间")
+    private Date trainingStartDateTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "培训截止时间")
+    private Date trainingEndDateTime;
 
 
-    @TableField("content")
     @ApiModelProperty(value = "内容")
     private String content;
 
 
-    @TableField("note")
     @ApiModelProperty(value = "总结")
     private String note;
 
-    @TableField("image_list")
     @ApiModelProperty(value = "图片")
     private String imageList;
 
+    @ApiModelProperty(value = "提交类型", notes = "1:暂存,2:提交")
+    private Integer submitType;
+
 
     @ApiModelProperty(value = "任务用户信息", notes = "1:参与人员,2:缺席人员")
     private List<CoreEduTrainingTaskToUser> taskUserList;

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

@@ -13,11 +13,15 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = true)
 public class CoreEduTrainingTaskPageDto extends PageRequest {
 
+    @ApiModelProperty(value = "培训机构")
+    private Long orgId;
+
+    @ApiModelProperty(value = "培训机构")
+    private String orgPath;
 
     @ApiModelProperty(value = "学习主题")
     private String title;
 
-
     @ApiModelProperty(value = "类型")
     private Integer type;
 

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

@@ -0,0 +1,32 @@
+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;
+
+@Data
+public class CoreEduTrainingTaskReportDto {
+
+    @NotNull(message = "请选择计划进行查看!")
+    @ApiModelProperty(value = "教育培训计划Id")
+    private Long planId;
+
+    @NotNull(message = "请选择机构进行查看!")
+    @ApiModelProperty(value = "机构")
+    private Long orgId;
+
+    @NotNull(message = "请选择具体月份进行查看!")
+    @DateTimeFormat(pattern = "yyyy-MM")
+    @ApiModelProperty(value = "统计月份")
+    private Date date;
+
+    @ApiModelProperty(value = "统计月份开始日期")
+    private Date startDate;
+
+    @ApiModelProperty(value = "统计月份结束日期")
+    private Date endDate;
+
+}

+ 7 - 4
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/edu/vo/CoreEduTrainingTaskDetailVo.java

@@ -58,17 +58,20 @@ public class CoreEduTrainingTaskDetailVo {
     private Long recorderName;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "开始日期")
+    @ApiModelProperty(value = "计划任务开始日期")
     private Date startDate;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "截止日期")
+    @ApiModelProperty(value = "计划任务截止日期")
     private Date endDate;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "培训时间")
-    private Date dateTime;
+    @ApiModelProperty(value = "培训开始时间")
+    private Date trainingStartDateTime;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value = "培训截止时间")
+    private Date trainingEndDateTime;
 
     @TableField("content")
     @ApiModelProperty(value = "内容")

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

@@ -1,5 +1,13 @@
 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;
@@ -45,16 +53,24 @@ public class CoreEduTrainingTaskPageVo {
 
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "开始日期")
+    @ApiModelProperty(value = "任务计划开始日期")
     private Date startDate;
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @ApiModelProperty(value = "截止日期")
+    @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 dateTime;
+    @ApiModelProperty(value = "培训开始时间")
+    private Date trainingStartDateTime;
+
+//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+//    @ApiModelProperty(value = "培训开始时间")
+//    private Date trainingEndDateTime;
 
     /**
      * @see com.xunmei.common.core.enums.edu.EduTrainingDoStatus
@@ -67,4 +83,5 @@ public class CoreEduTrainingTaskPageVo {
 
     private String taskRoleNameList;
 
-}
+  @ApiModelProperty(value = "pdf下载地址")
+    private String pdfUrl;}

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

@@ -0,0 +1,29 @@
+package com.xunmei.common.core.domain.edu.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CoreEduTrainingTaskReportVo {
+
+    @ApiModelProperty(value = "教育培训计划Id")
+    private Integer no;
+
+    @ApiModelProperty(value = "机构")
+    private Long orgId;
+
+    @ApiModelProperty(value = "机构名称")
+    private String orgName;
+
+
+    @ApiModelProperty(value = "应培训数量")
+    private Integer shouldFinish;
+
+    @ApiModelProperty(value = "已培训数量")
+    private Integer finish;
+
+    @ApiModelProperty(value = "培训完成率")
+    private String finishRate;
+
+
+}

+ 0 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/retrieval/domain/CoreMonitoringRetrievalTask.java

@@ -4,9 +4,7 @@ import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
-
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;

+ 7 - 1
soc-common/soc-common-security/src/main/java/com/xunmei/common/security/service/TokenService.java

@@ -9,11 +9,13 @@ import com.xunmei.common.core.utils.ip.IpUtils;
 import com.xunmei.common.core.utils.uuid.IdUtils;
 import com.xunmei.common.redis.service.RedisService;
 import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.system.api.RemoteUserService;
 import com.xunmei.system.api.model.LoginUser;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -28,6 +30,9 @@ public class TokenService {
     @Autowired
     private RedisService redisService;
 
+    @Autowired
+    private RemoteUserService remoteUserService;
+
     protected static final long MILLIS_SECOND = 1000;
 
     protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
@@ -146,6 +151,7 @@ public class TokenService {
         loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存
         String userKey = getTokenKey(loginUser.getToken());
+        remoteUserService.userLoginInfo(loginUser.getUserid(), new Date(), loginUser.getIpaddr(), SecurityConstants.INNER);
         //登陆后删除之前的token
         redisService.deleteByPrefix(userKey);
         redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
@@ -154,4 +160,4 @@ public class TokenService {
     private String getTokenKey(String token) {
         return ACCESS_TOKEN + token;
     }
-}
+}

+ 14 - 10
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskMonitorInfoController.java

@@ -2,7 +2,9 @@ package com.xunmei.core.access.controller;
 
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
+import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationMonitorDTO;
 import com.xunmei.core.access.service.ICoreMonitoringTaskMonitorInfoService;
+import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationMonitorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -33,17 +35,18 @@ import io.swagger.annotations.ApiOperation;
 public class CoreMonitoringTaskMonitorInfoController extends BaseController {
     @Autowired
     private ICoreMonitoringTaskMonitorInfoService coreMonitoringTaskMonitorInfoService;
+    @Autowired
+    private ICoreMonitoringTaskRegistrationMonitorService coreMonitoringTaskRegistrationMonitorService;
 
-    /**
+/*    *//**
      * 查询调阅任务登记检查情况列表
-     */
+     *//*
     @ApiOperation(value = "查询CoreMonitoringTaskMonitorInfo列表")
     @RequiresPermissions("system:info:list")
     @GetMapping("/list")
     public TableDataInfo<CoreMonitoringTaskMonitorInfo> list(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
         return null;
-        //  return coreMonitoringTaskMonitorInfoService.selectPage( coreMonitoringTaskMonitorInfo);
-    }
+    }*/
 
 
     /**
@@ -53,7 +56,8 @@ public class CoreMonitoringTaskMonitorInfoController extends BaseController {
     @RequiresPermissions("system:info:query")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(coreMonitoringTaskMonitorInfoService.selectCoreMonitoringTaskMonitorInfoById(id));
+        //传入监控id,因为一个监控对应一个项目
+        return success(coreMonitoringTaskRegistrationMonitorService.selectMonitorById(id));
     }
 
     /**
@@ -63,7 +67,7 @@ public class CoreMonitoringTaskMonitorInfoController extends BaseController {
     @RequiresPermissions("system:info:add")
     @Log(title = "调阅任务登记检查情况", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
+    public AjaxResult add(@RequestBody CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskMonitorInfo) {
         return toAjax(coreMonitoringTaskMonitorInfoService.insertCoreMonitoringTaskMonitorInfo(coreMonitoringTaskMonitorInfo));
     }
 
@@ -74,18 +78,18 @@ public class CoreMonitoringTaskMonitorInfoController extends BaseController {
     @RequiresPermissions("system:info:edit")
     @Log(title = "调阅任务登记检查情况", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
+    public AjaxResult edit(@RequestBody CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskMonitorInfo) {
         return toAjax(coreMonitoringTaskMonitorInfoService.updateCoreMonitoringTaskMonitorInfo(coreMonitoringTaskMonitorInfo));
     }
 
-    /**
+/*    *//**
      * 删除调阅任务登记检查情况
-     */
+     *//*
     @ApiOperation(value = "删除CoreMonitoringTaskMonitorInfo")
     @RequiresPermissions("system:info:remove")
     @Log(title = "调阅任务登记检查情况", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(coreMonitoringTaskMonitorInfoService.deleteCoreMonitoringTaskMonitorInfoByIds(ids));
-    }
+    }*/
 }

+ 21 - 20
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationController.java

@@ -1,10 +1,13 @@
 package com.xunmei.core.access.controller;
 
 import java.util.List;
+
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
 import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
+import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationMonitorService;
 import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
+import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -30,27 +33,25 @@ import io.swagger.annotations.ApiOperation;
  * @author xunmei
  * @date 2023-08-28
  */
-@Api(tags = {"CoreMonitoringTaskRegistration" })
+@Api(tags = {"CoreMonitoringTaskRegistration"})
 @RestController
 @RequestMapping("/registration")
 public class CoreMonitoringTaskRegistrationController extends BaseController {
     @Autowired
     private ICoreMonitoringTaskRegistrationService coreMonitoringTaskRegistrationService;
+    @Autowired
+    private ICoreMonitoringTaskRegistrationMonitorService coreMonitoringTaskRegistrationMonitorService;
 
-/**
- * 查询【请填写功能名称】列表
- */
-@ApiOperation(value = "查询CoreMonitoringTaskRegistration列表")
-@RequiresPermissions("system:registration:list")
-@GetMapping("/list")
-    public TableDataInfo<CoreMonitoringTaskRegistration> list(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
-
-     //   return coreMonitoringTaskRegistrationService.selectPage( coreMonitoringTaskRegistration);
-    return null;
+    /**
+     * 查询【请填写功能名称】列表
+     */
+    @ApiOperation(value = "查询CoreMonitoringTaskRegistration列表")
+    @RequiresPermissions("system:registration:list")
+    @GetMapping("/list")
+    public AjaxResult list(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
+        return success(coreMonitoringTaskRegistrationMonitorService.selectCoreMonitoringTaskRegistrationList(coreMonitoringTaskRegistration.getTaskId()));
     }
 
-
-
     /**
      * 获取【请填写功能名称】详细信息
      */
@@ -66,7 +67,7 @@ public class CoreMonitoringTaskRegistrationController extends BaseController {
      */
     @ApiOperation(value = "新增CoreMonitoringTaskRegistration")
     @RequiresPermissions("system:registration:add")
-    @Log(title = "【调阅任务登记NCF开始】" , businessType = BusinessType.INSERT)
+    @Log(title = "【调阅任务登记NCF开始】", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
         return toAjax(coreMonitoringTaskRegistrationService.insertCoreMonitoringTaskRegistration(coreMonitoringTaskRegistration));
@@ -77,20 +78,20 @@ public class CoreMonitoringTaskRegistrationController extends BaseController {
      */
     @ApiOperation(value = "修改CoreMonitoringTaskRegistration")
     @RequiresPermissions("system:registration:edit")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.UPDATE)
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
         return toAjax(coreMonitoringTaskRegistrationService.updateCoreMonitoringTaskRegistration(coreMonitoringTaskRegistration));
     }
-
-    /**
+    /*
+     *//**
      * 删除【请填写功能名称】
-     */
+     *//*
     @ApiOperation(value = "删除CoreMonitoringTaskRegistration")
     @RequiresPermissions("system:registration:remove")
-    @Log(title = "【请填写功能名称】" , businessType = BusinessType.DELETE)
+    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(coreMonitoringTaskRegistrationService.deleteCoreMonitoringTaskRegistrationByIds(ids));
-    }
+    }*/
 }

+ 8 - 8
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/controller/CoreMonitoringTaskRegistrationMonitorController.java

@@ -33,10 +33,10 @@ import com.xunmei.common.security.annotation.RequiresPermissions;
 public class CoreMonitoringTaskRegistrationMonitorController extends BaseController {
     @Autowired
     private ICoreMonitoringTaskRegistrationMonitorService coreMonitoringTaskRegistrationMonitorService;
-
-/**
+/*
+*//**
  * 查询调阅任务登记监控列表
- */
+ *//*
 @ApiOperation(value = "查询CoreMonitoringTaskRegistrationMonitor列表")
 @RequiresPermissions("system:monitor:list")
 @GetMapping("/list")
@@ -44,7 +44,7 @@ public class CoreMonitoringTaskRegistrationMonitorController extends BaseControl
 
       //  return coreMonitoringTaskRegistrationMonitorService.selectPage( coreMonitoringTaskRegistrationMonitor);
    return  null;
-    }
+    }*/
 
 
 
@@ -79,15 +79,15 @@ public class CoreMonitoringTaskRegistrationMonitorController extends BaseControl
     public AjaxResult edit(@RequestBody CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskRegistrationMonitor) {
         return toAjax(coreMonitoringTaskRegistrationMonitorService.updateCoreMonitoringTaskRegistrationMonitor(coreMonitoringTaskRegistrationMonitor));
     }
-
-    /**
+/*
+    *//**
      * 删除调阅任务登记监控
-     */
+     *//*
     @ApiOperation(value = "删除CoreMonitoringTaskRegistrationMonitor")
     @RequiresPermissions("system:monitor:remove")
     @Log(title = "调阅任务登记监控" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
         return toAjax(coreMonitoringTaskRegistrationMonitorService.deleteCoreMonitoringTaskRegistrationMonitorByIds(ids));
-    }
+    }*/
 }

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/domain/CoreMonitoringTaskRegistrationMonitor.java

@@ -28,7 +28,7 @@ public class CoreMonitoringTaskRegistrationMonitor extends BaseEntity
 private static final long serialVersionUID=1L;
 
     /** 主键 */
-    private String id;
+    private Long id;
 
     /** 调阅任务扫描主键 */
             @ApiModelProperty(value = "调阅任务扫描主键")

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/dto/CoreMonitoringTaskRegistrationDTO.java

@@ -1,6 +1,7 @@
 package com.xunmei.core.access.dto;
 
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
@@ -11,5 +12,6 @@ import java.util.Date;
  */
 @Data
 public class CoreMonitoringTaskRegistrationDTO extends CoreMonitoringRetrievalTask {
+    @ApiModelProperty(value = "月份")
     private Date moth;
 }

+ 18 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/dto/CoreMonitoringTaskRegistrationMonitorDTO.java

@@ -0,0 +1,18 @@
+package com.xunmei.core.access.dto;
+
+import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
+import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author :LuoWei
+ * @date : 2023/8/29
+ */
+@Data
+public class CoreMonitoringTaskRegistrationMonitorDTO extends CoreMonitoringTaskRegistrationMonitor {
+    @ApiModelProperty(value = "项目列表")
+    private List<CoreMonitoringTaskMonitorInfo>coreMonitoringTaskMonitorInfoList;
+}

+ 8 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskMonitorInfoMapper.java

@@ -3,6 +3,7 @@ package com.xunmei.core.access.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 
@@ -12,6 +13,7 @@ import java.util.List;
  * @author xunmei
  * @date 2023-08-29
  */
+@Mapper
 public interface CoreMonitoringTaskMonitorInfoMapper extends BaseMapper<CoreMonitoringTaskMonitorInfo> {
     /**
      * 查询调阅任务登记检查情况
@@ -30,6 +32,12 @@ public interface CoreMonitoringTaskMonitorInfoMapper extends BaseMapper<CoreMoni
     List<CoreMonitoringTaskMonitorInfo> selectCoreMonitoringTaskMonitorInfoList(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo);
 
     /**
+     *根据监控id查询项目
+     * @param monitorId
+     * @return
+     */
+    List<CoreMonitoringTaskMonitorInfo> selectCoreMonitoringTaskMonitorInfoByMonitorId(Long monitorId);
+    /**
      * 新增调阅任务登记检查情况
      *
      * @param coreMonitoringTaskMonitorInfo 调阅任务登记检查情况

+ 2 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMapper.java

@@ -3,6 +3,7 @@ package com.xunmei.core.access.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 
@@ -12,6 +13,7 @@ import java.util.List;
  * @author xunmei
  * @date 2023-08-28
  */
+@Mapper
 public interface CoreMonitoringTaskRegistrationMapper extends BaseMapper<CoreMonitoringTaskRegistration> {
     /**
      * 查询【请填写功能名称】

+ 9 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/mapper/CoreMonitoringTaskRegistrationMonitorMapper.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationMonitorVO;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
+import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
 
@@ -14,6 +15,7 @@ import java.util.List;
  * @author xunmei
  * @date 2023-08-29
  */
+@Mapper
 public interface CoreMonitoringTaskRegistrationMonitorMapper extends BaseMapper<CoreMonitoringTaskRegistrationMonitor> {
     /**
      * 查询调阅任务登记监控
@@ -76,4 +78,11 @@ public interface CoreMonitoringTaskRegistrationMonitorMapper extends BaseMapper<
      * @return
      */
  List<CoreMonitoringTaskRegistrationMonitorVO>    selectMonitorByTaskRegistrationId(Long taskRegistrationId);
+
+    /**
+     * 根据监控id查询监控
+      * @param id
+     * @return
+     */
+ CoreMonitoringTaskRegistrationMonitorVO selectMonitorById(Long id);
 }

+ 4 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskMonitorInfoService.java

@@ -4,6 +4,7 @@ package com.xunmei.core.access.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
+import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationMonitorDTO;
 
 import java.util.List;
 
@@ -33,10 +34,10 @@ public interface ICoreMonitoringTaskMonitorInfoService extends IService<CoreMoni
     /**
      * 新增调阅任务登记检查情况
      *
-     * @param coreMonitoringTaskMonitorInfo 调阅任务登记检查情况
+     * @param coreMonitoringTaskRegistrationMonitorDTO 调阅任务登记检查情况
      * @return 结果
      */
-    int insertCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo);
+    int insertCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskRegistrationMonitorDTO);
 
     /**
      * 修改调阅任务登记检查情况
@@ -44,7 +45,7 @@ public interface ICoreMonitoringTaskMonitorInfoService extends IService<CoreMoni
      * @param coreMonitoringTaskMonitorInfo 调阅任务登记检查情况
      * @return 结果
      */
-    int updateCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo);
+    int updateCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskMonitorInfo);
 
     /**
      * 批量删除调阅任务登记检查情况

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/ICoreMonitoringTaskRegistrationMonitorService.java

@@ -4,6 +4,7 @@ package com.xunmei.core.access.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
+import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationMonitorVO;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 
 import java.util.List;
@@ -71,4 +72,6 @@ public interface ICoreMonitoringTaskRegistrationMonitorService extends IService<
      */
 
     CoreMonitoringTaskRegistrationVO selectCoreMonitoringTaskRegistrationList(Long taskId);
+
+    CoreMonitoringTaskRegistrationMonitorVO selectMonitorById(Long id);
 }

+ 51 - 9
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskMonitorInfoServiceImpl.java

@@ -4,12 +4,19 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
+import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
+import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationMonitorDTO;
 import com.xunmei.core.access.mapper.CoreMonitoringTaskMonitorInfoMapper;
+import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMonitorMapper;
 import com.xunmei.core.access.service.ICoreMonitoringTaskMonitorInfoService;
+import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationMonitorVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.Arrays;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
@@ -25,7 +32,8 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 public class CoreMonitoringTaskMonitorInfoServiceImpl extends ServiceImpl<CoreMonitoringTaskMonitorInfoMapper, CoreMonitoringTaskMonitorInfo> implements ICoreMonitoringTaskMonitorInfoService {
     @Autowired
     private CoreMonitoringTaskMonitorInfoMapper coreMonitoringTaskMonitorInfoMapper;
-
+    @Autowired
+    private CoreMonitoringTaskRegistrationMonitorMapper coreMonitoringTaskRegistrationMonitorMapper;
 
 /*    @Override
     public TableDataInfo<CoreMonitoringTaskMonitorInfo> selectPage(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
@@ -85,25 +93,59 @@ public class CoreMonitoringTaskMonitorInfoServiceImpl extends ServiceImpl<CoreMo
     /**
      * 新增调阅任务登记检查情况
      *
-     * @param coreMonitoringTaskMonitorInfo 调阅任务登记检查情况
+     * @param coreMonitoringTaskRegistrationMonitorDTO 调阅任务登记检查情况
      * @return 结果
      */
     @Override
-    public int insertCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
-                coreMonitoringTaskMonitorInfo.setCreateTime(DateUtils.getNowDate());
-            return coreMonitoringTaskMonitorInfoMapper.insert(coreMonitoringTaskMonitorInfo);
+    public int insertCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskRegistrationMonitorDTO) {
+        //新增监控
+        CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskMonitorInfo = new CoreMonitoringTaskRegistrationMonitor();
+        coreMonitoringTaskMonitorInfo.setDelFlag("0");
+        coreMonitoringTaskMonitorInfo.setHost(coreMonitoringTaskRegistrationMonitorDTO.getHost());
+        coreMonitoringTaskMonitorInfo.setVideoChannel(coreMonitoringTaskRegistrationMonitorDTO.getVideoChannel());
+        coreMonitoringTaskMonitorInfo.setTaskRegistrationId(coreMonitoringTaskRegistrationMonitorDTO.getTaskRegistrationId());
+        coreMonitoringTaskMonitorInfo.setCreateTime(DateUtils.getNowDate());
+        coreMonitoringTaskMonitorInfo.setCreateBy(SecurityUtils.getUsername());
+        coreMonitoringTaskRegistrationMonitorMapper.insertCoreMonitoringTaskRegistrationMonitor(coreMonitoringTaskMonitorInfo);
+        //新增项目
+        List<CoreMonitoringTaskMonitorInfo> coreMonitoringTaskMonitorInfoList = coreMonitoringTaskRegistrationMonitorDTO.getCoreMonitoringTaskMonitorInfoList();
+        int i = 0;
+        for (CoreMonitoringTaskMonitorInfo c : coreMonitoringTaskMonitorInfoList) {
+            c.setCreateTime(DateUtils.getNowDate());
+            c.setCreateBy(SecurityUtils.getUsername());
+            i = coreMonitoringTaskMonitorInfoMapper.insertCoreMonitoringTaskMonitorInfo(c);
+            if (i < 1) {
+                return i;
+            }
+        }
+        return i;
     }
 
     /**
      * 修改调阅任务登记检查情况
      *
-     * @param coreMonitoringTaskMonitorInfo 调阅任务登记检查情况
+     * @param coreMonitoringTaskRegistrationMonitorDTO 调阅任务登记检查情况
      * @return 结果
      */
     @Override
-    public int updateCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskMonitorInfo coreMonitoringTaskMonitorInfo) {
-                coreMonitoringTaskMonitorInfo.setUpdateTime(DateUtils.getNowDate());
-        return coreMonitoringTaskMonitorInfoMapper.updateById(coreMonitoringTaskMonitorInfo);
+    public int updateCoreMonitoringTaskMonitorInfo(CoreMonitoringTaskRegistrationMonitorDTO coreMonitoringTaskRegistrationMonitorDTO) {
+        //修改监控
+        CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskRegistrationMonitor = coreMonitoringTaskRegistrationMonitorMapper.selectById(coreMonitoringTaskRegistrationMonitorDTO.getId());
+        coreMonitoringTaskRegistrationMonitor.setHost(coreMonitoringTaskRegistrationMonitorDTO.getHost());
+        coreMonitoringTaskRegistrationMonitor.setVideoChannel(coreMonitoringTaskRegistrationMonitorDTO.getVideoChannel());
+        coreMonitoringTaskRegistrationMonitor.setUpdateTime(DateUtils.getNowDate());
+        coreMonitoringTaskRegistrationMonitor.setUpdateBy(SecurityUtils.getUsername());
+        coreMonitoringTaskRegistrationMonitorMapper.updateById(coreMonitoringTaskRegistrationMonitor);
+        int i = 0;
+        for (CoreMonitoringTaskMonitorInfo c : coreMonitoringTaskRegistrationMonitorDTO.getCoreMonitoringTaskMonitorInfoList()) {
+            c.setUpdateTime(DateUtils.getNowDate());
+            c.setUpdateBy(SecurityUtils.getUsername());
+            i = coreMonitoringTaskMonitorInfoMapper.updateById(c);
+            if (i < 1) {
+                return i;
+            }
+        }
+        return i;
     }
 
     /**

+ 36 - 14
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationMonitorServiceImpl.java

@@ -1,20 +1,26 @@
 package com.xunmei.core.access.service.impl;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
+
+import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.utils.DateUtils;
+import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
+import com.xunmei.core.access.mapper.CoreMonitoringTaskMonitorInfoMapper;
 import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMonitorMapper;
 import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationMonitorService;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationMonitorVO;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
 import java.util.Arrays;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.xunmei.common.core.web.page.TableDataInfo;
 
 
 /**
@@ -27,7 +33,8 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 public class CoreMonitoringTaskRegistrationMonitorServiceImpl extends ServiceImpl<CoreMonitoringTaskRegistrationMonitorMapper, CoreMonitoringTaskRegistrationMonitor> implements ICoreMonitoringTaskRegistrationMonitorService {
     @Autowired
     private CoreMonitoringTaskRegistrationMonitorMapper coreMonitoringTaskRegistrationMonitorMapper;
-
+    @Autowired
+    private CoreMonitoringTaskMonitorInfoMapper coreMonitoringTaskMonitorInfoMapper;
 
 /*    @Override
     public TableDataInfo<CoreMonitoringTaskRegistrationMonitor> selectPage(CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskRegistrationMonitor) {
@@ -92,8 +99,8 @@ public class CoreMonitoringTaskRegistrationMonitorServiceImpl extends ServiceImp
      */
     @Override
     public int insertCoreMonitoringTaskRegistrationMonitor(CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskRegistrationMonitor) {
-                coreMonitoringTaskRegistrationMonitor.setCreateTime(DateUtils.getNowDate());
-            return coreMonitoringTaskRegistrationMonitorMapper.insert(coreMonitoringTaskRegistrationMonitor);
+        coreMonitoringTaskRegistrationMonitor.setCreateTime(DateUtils.getNowDate());
+        return coreMonitoringTaskRegistrationMonitorMapper.insert(coreMonitoringTaskRegistrationMonitor);
     }
 
     /**
@@ -104,7 +111,7 @@ public class CoreMonitoringTaskRegistrationMonitorServiceImpl extends ServiceImp
      */
     @Override
     public int updateCoreMonitoringTaskRegistrationMonitor(CoreMonitoringTaskRegistrationMonitor coreMonitoringTaskRegistrationMonitor) {
-                coreMonitoringTaskRegistrationMonitor.setUpdateTime(DateUtils.getNowDate());
+        coreMonitoringTaskRegistrationMonitor.setUpdateTime(DateUtils.getNowDate());
         return coreMonitoringTaskRegistrationMonitorMapper.updateById(coreMonitoringTaskRegistrationMonitor);
     }
 
@@ -132,15 +139,30 @@ public class CoreMonitoringTaskRegistrationMonitorServiceImpl extends ServiceImp
 
     @Override
     public CoreMonitoringTaskRegistrationVO selectCoreMonitoringTaskRegistrationList(Long taskId) {
-       // CoreMonitoringTaskRegistrationVO coreMonitoringTaskRegistrationVO=new CoreMonitoringTaskRegistrationVO();
+       //查询任务
         CoreMonitoringTaskRegistrationVO coreMonitoringTaskRegistrationVO = coreMonitoringTaskRegistrationMonitorMapper.selectTaskName(taskId);
-       if (null!=coreMonitoringTaskRegistrationVO){
-           List<CoreMonitoringTaskRegistrationMonitorVO> coreMonitoringTaskRegistrationMonitorVOS = coreMonitoringTaskRegistrationMonitorMapper.selectMonitorByTaskRegistrationId(coreMonitoringTaskRegistrationVO.getId());
-
-
-       }
-
+        if (null != coreMonitoringTaskRegistrationVO) {
+            //查询视频
+            List<CoreMonitoringTaskRegistrationMonitorVO> coreMonitoringTaskRegistrationMonitorVOS = coreMonitoringTaskRegistrationMonitorMapper.selectMonitorByTaskRegistrationId(coreMonitoringTaskRegistrationVO.getId());
+            if (CollectionUtils.isNotEmpty(coreMonitoringTaskRegistrationMonitorVOS)) {
+                coreMonitoringTaskRegistrationMonitorVOS.forEach(c -> {
+                    //查询项目
+                    List<CoreMonitoringTaskMonitorInfo> coreMonitoringTaskMonitorInfos = coreMonitoringTaskMonitorInfoMapper.selectCoreMonitoringTaskMonitorInfoByMonitorId(c.getId());
+                    c.setCoreMonitoringTaskMonitorInfoList(coreMonitoringTaskMonitorInfos);
+                });
+                coreMonitoringTaskRegistrationVO.setCoreMonitoringTaskRegistrationMonitorVOList(coreMonitoringTaskRegistrationMonitorVOS);
+            }
+        }
+        return coreMonitoringTaskRegistrationVO;
+    }
 
-        return null;
+    @Override
+    public CoreMonitoringTaskRegistrationMonitorVO selectMonitorById(Long id) {
+        //查询视频
+        CoreMonitoringTaskRegistrationMonitorVO coreMonitoringTaskRegistrationMonitorVO = baseMapper.selectMonitorById(id);
+       //根据视频查询项目
+        List<CoreMonitoringTaskMonitorInfo> coreMonitoringTaskMonitorInfos = coreMonitoringTaskMonitorInfoMapper.selectCoreMonitoringTaskMonitorInfoByMonitorId(coreMonitoringTaskRegistrationMonitorVO.getId());
+        coreMonitoringTaskRegistrationMonitorVO.setCoreMonitoringTaskMonitorInfoList(coreMonitoringTaskMonitorInfos);
+        return coreMonitoringTaskRegistrationMonitorVO;
     }
 }

+ 16 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/CoreMonitoringTaskRegistrationServiceImpl.java

@@ -12,6 +12,7 @@ import com.xunmei.core.access.mapper.CoreMonitoringTaskRegistrationMapper;
 import com.xunmei.core.access.service.ICoreMonitoringTaskRegistrationService;
 import com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationVO;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
+import com.xunmei.core.retrieval.mapper.CoreMonitoringRetrievalTaskMapper;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,11 +26,14 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class CoreMonitoringTaskRegistrationServiceImpl extends ServiceImpl<CoreMonitoringTaskRegistrationMapper, CoreMonitoringTaskRegistration> implements ICoreMonitoringTaskRegistrationService {
+  private static  final Long ONE=1L;
+  private static final Long TWO=2L;
     @Autowired
     private CoreMonitoringTaskRegistrationMapper coreMonitoringTaskRegistrationMapper;
 @Autowired
 private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;
-
+@Autowired
+private CoreMonitoringRetrievalTaskMapper coreMonitoringRetrievalTaskMapper;
   /*  @Override
     public TableDataInfo<CoreMonitoringTaskRegistration> selectPage(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
         //未删除
@@ -102,6 +106,10 @@ private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;
         coreMonitoringTaskRegistration.setTaskStartTime(DateUtils.getNowDate());
         coreMonitoringTaskRegistration.setDelFlag("0");
         coreMonitoringTaskRegistration.setCreateBy(SecurityUtils.getUsername());
+        //修改任务状态为进行中
+        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = coreMonitoringRetrievalTaskMapper.selectCoreMonitoringRetrievalTaskById(coreMonitoringTaskRegistration.getTaskId());
+        coreMonitoringRetrievalTask.setStatus(ONE);
+        coreMonitoringRetrievalTaskMapper.updateById(coreMonitoringRetrievalTask);
         return coreMonitoringTaskRegistrationMapper.insert(coreMonitoringTaskRegistration);
     }
 
@@ -114,6 +122,13 @@ private ICoreMonitoringRetrievalTaskService iCoreMonitoringRetrievalTaskService;
     @Override
     public int updateCoreMonitoringTaskRegistration(CoreMonitoringTaskRegistration coreMonitoringTaskRegistration) {
         coreMonitoringTaskRegistration.setUpdateTime(DateUtils.getNowDate());
+        coreMonitoringTaskRegistration.setUpdateBy(SecurityUtils.getUsername());
+        //修改任务状态已完成
+        CoreMonitoringRetrievalTask coreMonitoringRetrievalTask = coreMonitoringRetrievalTaskMapper.selectById(coreMonitoringTaskRegistration.getTaskId());
+        coreMonitoringRetrievalTask.setStatus(TWO);
+        coreMonitoringRetrievalTask.setUpdateBy(SecurityUtils.getUsername());
+        coreMonitoringRetrievalTask.setUpdateTime(DateUtils.getNowDate());
+        coreMonitoringRetrievalTaskMapper.updateById(coreMonitoringRetrievalTask);
         return coreMonitoringTaskRegistrationMapper.updateById(coreMonitoringTaskRegistration);
     }
 

+ 1 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/service/impl/TMonitoringRetrievalPlanServiceImpl.java

@@ -165,8 +165,7 @@ public class TMonitoringRetrievalPlanServiceImpl extends ServiceImpl<TMonitoring
         tMonitoringRetrievalPlan.setCreateBy(SecurityUtils.getUsername());
         tMonitoringRetrievalPlan.setUpdateTime(DateUtils.getNowDate());
         tMonitoringRetrievalPlan.setUpdateBy(SecurityUtils.getUsername());
-        R<SysRole> roleById = remoteRoleService.getRoleById(tMonitoringRetrievalPlan.getRoleId(), SecurityConstants.INNER);
-        SysRole sysRole = roleById.getData();
+        SysRole sysRole = remoteRoleService.getRoleById(tMonitoringRetrievalPlan.getRoleId(), SecurityConstants.INNER);
         tMonitoringRetrievalPlan.setRoleName(sysRole.getRoleName());
         if (tMonitoringRetrievalPlan.getOrgType().equals("1")) {
             tMonitoringRetrievalPlan.setPlanStatus(1);

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/CoreMonitoringTaskRegistrationMonitorVO.java

@@ -2,6 +2,7 @@ package com.xunmei.core.access.vo;
 
 import com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo;
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -12,7 +13,10 @@ import java.util.List;
  */
 @Data
 public class CoreMonitoringTaskRegistrationMonitorVO extends CoreMonitoringTaskRegistrationMonitor {
+    @ApiModelProperty(value = "主机名")
     private String hostName;
+    @ApiModelProperty(value = "监控通道名")
     private String videoChannelName;
+    @ApiModelProperty(value = "项目列表")
     private List<CoreMonitoringTaskMonitorInfo>coreMonitoringTaskMonitorInfoList;
 }

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/access/vo/CoreMonitoringTaskRegistrationVO.java

@@ -1,6 +1,7 @@
 package com.xunmei.core.access.vo;
 
 import com.xunmei.core.access.domain.CoreMonitoringTaskRegistration;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.List;
@@ -11,6 +12,8 @@ import java.util.List;
  */
 @Data
 public class CoreMonitoringTaskRegistrationVO extends CoreMonitoringTaskRegistration {
+    @ApiModelProperty(value = "任务名")
     private String taskName;
+    @ApiModelProperty(value = "总列表")
     private List<CoreMonitoringTaskRegistrationMonitorVO>coreMonitoringTaskRegistrationMonitorVOList;
 }

+ 16 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/controller/CoreEduTrainingTaskController.java

@@ -2,7 +2,9 @@ package com.xunmei.core.edu.controller;
 
 
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
+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;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
 import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
@@ -14,6 +16,7 @@ import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -37,6 +40,7 @@ public class CoreEduTrainingTaskController extends BaseController {
     @GetMapping("/list")
     public TableDataInfo<CoreEduTrainingTaskPageVo> list(CoreEduTrainingTaskPageDto coreEduTrainingTask) {
 
+        //return  new TableDataInfo<CoreEduTrainingTaskPageVo>();
         return coreEduTrainingTaskService.selectPage(coreEduTrainingTask);
     }
 
@@ -69,7 +73,7 @@ public class CoreEduTrainingTaskController extends BaseController {
     @RequiresPermissions("core:eduTask:edit")
     @Log(title = "教育任务", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody CoreEduTrainingTask coreEduTrainingTask) {
+    public AjaxResult edit(@RequestBody CoreEduTrainingTaskEditDto coreEduTrainingTask) {
         return toAjax(coreEduTrainingTaskService.updateCoreEduTrainingTask(coreEduTrainingTask));
     }
 
@@ -94,4 +98,15 @@ public class CoreEduTrainingTaskController extends BaseController {
     public AjaxResult export() {
         return null;
     }
+
+    /**
+     * 导出教育任务
+     */
+    @ApiOperation(value = "导出CoreEduTrainingTask")
+    @RequiresPermissions("core:eduTask:report")
+    @Log(title = "教育任务", businessType = BusinessType.DELETE)
+    @DeleteMapping("report")
+    public AjaxResult report(@RequestBody @Validated CoreEduTrainingTaskReportDto request) {
+        return success(coreEduTrainingTaskService.selectCoreEduTrainingTaskReport(request));
+    }
 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingTaskMapper.java

@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTask;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskPageDto;
+import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskReportDto;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskDetailVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -24,4 +26,6 @@ public interface CoreEduTrainingTaskMapper extends BaseMapper<CoreEduTrainingTas
     Page<CoreEduTrainingTaskPageVo> selectPageData(Page<CoreEduTrainingTaskPageVo> page, @Param("request") CoreEduTrainingTaskPageDto request);
 
     CoreEduTrainingTaskDetailVo selectEduTrainingTaskDetail(@Param("id") Long id);
+
+    List<CoreEduTrainingTaskReportVo> selectReport(@Param("request") CoreEduTrainingTaskReportDto request);
 }

+ 0 - 48
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/mapper/CoreEduTrainingTaskToUserMapper.java

@@ -4,8 +4,6 @@ package com.xunmei.core.edu.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingTaskToUser;
 
-import java.util.List;
-
 /**
  * 教育培训任务角色关系Mapper接口
  *
@@ -13,51 +11,5 @@ import java.util.List;
  * @date 2023-08-28
  */
 public interface CoreEduTrainingTaskToUserMapper extends BaseMapper<CoreEduTrainingTaskToUser> {
-    /**
-     * 查询教育培训任务角色关系
-     *
-     * @param eduTrainingTaskId 教育培训任务角色关系主键
-     * @return 教育培训任务角色关系
-     */
-    CoreEduTrainingTaskToUser selectCoreEduTrainingTaskToUserByEduTrainingTaskId(Long eduTrainingTaskId);
-
-    /**
-     * 查询教育培训任务角色关系列表
-     *
-     * @param coreEduTrainingTaskToUser 教育培训任务角色关系
-     * @return 教育培训任务角色关系集合
-     */
-    List<CoreEduTrainingTaskToUser> selectCoreEduTrainingTaskToUserList(CoreEduTrainingTaskToUser coreEduTrainingTaskToUser);
-
-    /**
-     * 新增教育培训任务角色关系
-     *
-     * @param coreEduTrainingTaskToUser 教育培训任务角色关系
-     * @return 结果
-     */
-    int insertCoreEduTrainingTaskToUser(CoreEduTrainingTaskToUser coreEduTrainingTaskToUser);
-
-    /**
-     * 修改教育培训任务角色关系
-     *
-     * @param coreEduTrainingTaskToUser 教育培训任务角色关系
-     * @return 结果
-     */
-    int updateCoreEduTrainingTaskToUser(CoreEduTrainingTaskToUser coreEduTrainingTaskToUser);
-
-    /**
-     * 删除教育培训任务角色关系
-     *
-     * @param eduTrainingTaskId 教育培训任务角色关系主键
-     * @return 结果
-     */
-    int deleteCoreEduTrainingTaskToUserByEduTrainingTaskId(Long eduTrainingTaskId);
 
-    /**
-     * 批量删除教育培训任务角色关系
-     *
-     * @param eduTrainingTaskIds 需要删除的数据主键集合
-     * @return 结果
-     */
-    int deleteCoreEduTrainingTaskToUserByEduTrainingTaskIds(Long[] eduTrainingTaskIds);
 }

+ 6 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/ICoreEduTrainingTaskService.java

@@ -3,10 +3,13 @@ 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.dto.CoreEduTrainingTaskEditDto;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskPageDto;
+import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskReportDto;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanDataVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskDetailVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
 import com.xunmei.common.core.web.page.TableDataInfo;
 
 import java.util.Date;
@@ -49,7 +52,7 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
      * @param coreEduTrainingTask 教育任务
      * @return 结果
      */
-    int updateCoreEduTrainingTask(CoreEduTrainingTask coreEduTrainingTask);
+    int updateCoreEduTrainingTask(CoreEduTrainingTaskEditDto coreEduTrainingTask);
 
     /**
      * 批量删除教育任务
@@ -77,4 +80,6 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
 
 
     void createTaskForNow(CoreEduTrainingPlanDataVo plan, Date start, Date end);
+
+    List<CoreEduTrainingTaskReportVo> selectCoreEduTrainingTaskReport(CoreEduTrainingTaskReportDto request);
 }

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

@@ -1,5 +1,6 @@
 package com.xunmei.core.edu.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSON;
@@ -12,27 +13,36 @@ import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.DateRange;
 import com.xunmei.common.core.domain.edu.domain.*;
+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;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingPlanDataVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskDetailVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
+import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
 import com.xunmei.common.core.enums.edu.EduTrainingDoStatus;
 import com.xunmei.common.core.enums.edu.EduTrainingType;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskToRoleMapper;
 import com.xunmei.core.edu.mapper.CoreEduTrainingTaskToUserMapper;
 import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
 import com.xunmei.core.edu.service.ICoreEduTrainingTaskToRoleService;
+import com.xunmei.core.edu.service.ICoreEduTrainingTaskToUserService;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.NumberFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -55,6 +65,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     private CoreEduTrainingTaskToRoleMapper taskToRoleMapper;
     @Autowired
     private CoreEduTrainingTaskToUserMapper taskToUserMapper;
+    @Autowired
+    private ICoreEduTrainingTaskToUserService coreEduTrainingTaskToUserService;
 
     @Override
     public TableDataInfo<CoreEduTrainingTaskPageVo> selectPage(CoreEduTrainingTaskPageDto request) {
@@ -79,10 +91,9 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                 record.setTaskRoleNameList(coreEduTrainingTaskToRoles.stream().map(CoreEduTrainingTaskToRole::getRoleName).collect(Collectors.joining(",")));
             }
         }
+
         //抓换为TableDataInfo适配前端
         return TableDataInfo.build(pageData);
-
-
     }
 
 
@@ -95,8 +106,10 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     @Override
     public CoreEduTrainingTaskDetailVo selectCoreEduTrainingTaskById(Long id) {
         CoreEduTrainingTaskDetailVo detailVo = coreEduTrainingTaskMapper.selectEduTrainingTaskDetail(id);
-        List<CoreEduTrainingTaskToUser> userList = taskToUserMapper.selectByMap(MapUtil.of("plan_id", id));
-        detailVo.setTaskUserList(userList);
+        List<CoreEduTrainingTaskToUser> userList = taskToUserMapper.selectByMap(MapUtil.of("edu_training_task_id", id));
+        if(ObjectUtil.isNotEmpty(userList)){
+            detailVo.setTaskUserList(userList);
+        }
         return detailVo;
     }
 
@@ -126,11 +139,23 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     /**
      * 修改教育任务
      *
-     * @param coreEduTrainingTask 教育任务
+     * @param request 教育任务
      * @return 结果
      */
     @Override
-    public int updateCoreEduTrainingTask(CoreEduTrainingTask coreEduTrainingTask) {
+    public int updateCoreEduTrainingTask(CoreEduTrainingTaskEditDto request) {
+        CoreEduTrainingTask coreEduTrainingTask = coreEduTrainingTaskMapper.selectById(request.getId());
+        BeanUtils.copyProperties(request, coreEduTrainingTask);
+
+        List<CoreEduTrainingTaskToUser> taskUserList = request.getTaskUserList();
+        if (taskUserList != null && taskUserList.size() > 0) {
+            coreEduTrainingTaskToUserService.saveBatch(taskUserList);
+        }
+        if (ObjectUtil.equal(request.getSubmitType(), 2)) {
+            coreEduTrainingTask.setStatus(EduTrainingDoStatus.WAIT_SIGN.getCode());
+        }
+
+        coreEduTrainingTask.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getId().toString());
         coreEduTrainingTask.setUpdateTime(DateUtils.getNowDate());
         return coreEduTrainingTaskMapper.updateById(coreEduTrainingTask);
     }
@@ -198,8 +223,8 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                 trainingTask.setContent(null);
                 trainingTask.setTitle(plan.getPlanName());
                 trainingTask.setNote(null);
-                trainingTask.setDateTime(null);
-                trainingTask.setHostId(null);
+                trainingTask.setTrainingStartDateTime(null);
+                trainingTask.setTrainingEndDateTime(null);
                 trainingTask.setFileList(ObjectUtil.isEmpty(plan.getFileList()) ? null : JSON.toJSONString(plan.getFileList()));
                 trainingTask.setImageList(null);
                 trainingTask.setOrgId(org.getId());
@@ -229,6 +254,39 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
             coreEduTrainingTaskToRoleService.saveBatch(taskRoleList);
         }
     }
+
+
+    @Override
+    public List<CoreEduTrainingTaskReportVo> selectCoreEduTrainingTaskReport(CoreEduTrainingTaskReportDto request) {
+        request.setStartDate(DateUtil.beginOfMonth(request.getDate()));
+        request.setEndDate(DateUtil.endOfMonth(request.getDate()));
+        Long orgId = request.getOrgId();
+
+        List<SysOrg> sysOrgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
+        if (ObjectUtil.isEmpty(sysOrgList)) {
+
+            return new ArrayList<>();
+        }
+        List<CoreEduTrainingTaskReportVo> list = coreEduTrainingTaskMapper.selectReport(request);
+        list.forEach(item -> {
+            item.setFinishRate(calculatePercent(item.getShouldFinish(), item.getFinish()));
+        });
+
+
+        return list;
+    }
+
+    private String calculatePercent(Integer num1, Integer num2) {
+        if (num1 == 0 || num2 == 0) {
+            return "0%";
+        }
+        BigDecimal a1 = new BigDecimal(num1);
+        BigDecimal a2 = new BigDecimal(num2);
+        BigDecimal r = a1.divide(a2, 4, RoundingMode.HALF_UP);
+        NumberFormat percent = NumberFormat.getPercentInstance();
+        percent.setMaximumFractionDigits(4);
+        return percent.format(r.doubleValue());
+    }
 }
 
 

+ 13 - 13
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/controller/CoreMonitoringRetrievalTaskController.java

@@ -25,30 +25,32 @@ import java.util.List;
  * @author xunmei
  * @date 2023-08-25
  */
-@Api(tags = {"CoreMonitoringRetrievalTask" })
+@Api(tags = {"CoreMonitoringRetrievalTask"})
 @RestController
 @RequestMapping("/task")
 public class CoreMonitoringRetrievalTaskController extends BaseController {
     @Autowired
     private ICoreMonitoringRetrievalTaskService coreMonitoringRetrievalTaskService;
 
-/**
- * 查询监控调阅任务列表
- */
+    /**
+     * 查询监控调阅任务列表
+     */
     @ApiOperation(value = "查询CoreMonitoringRetrievalTask列表")
     @GetMapping("/list")
     public TableDataInfo list(RetrievalTaskPageDto request) {
 
-        return coreMonitoringRetrievalTaskService.selectPage( request);
+        return coreMonitoringRetrievalTaskService.selectPage(request);
     }
+
     /**
      * 查询监控调阅任务列表app
      */
     @ApiOperation(value = "app查询调阅任务列表")
     @GetMapping("/selectListApp")
-    public List<CoreMonitoringRetrievalTask>selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO){
-      return   coreMonitoringRetrievalTaskService.selectListApp(coreMonitoringTaskRegistrationDTO);
+    public AjaxResult selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
+        return success(coreMonitoringRetrievalTaskService.selectListApp(coreMonitoringTaskRegistrationDTO));
     }
+
     /**
      * 导出excel
      */
@@ -57,12 +59,10 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
     @Log(title = "导出监控调阅任务", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(RetrievalTaskPageDto request, HttpServletResponse response) throws IOException {
-        coreMonitoringRetrievalTaskService.export(request,response);
+        coreMonitoringRetrievalTaskService.export(request, response);
     }
 
 
-
-
     /**
      * 获取监控调阅任务详细信息
      */
@@ -78,7 +78,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
      */
     @ApiOperation(value = "新增CoreMonitoringRetrievalTask")
     @RequiresPermissions("core:task:add")
-    @Log(title = "监控调阅任务" , businessType = BusinessType.INSERT)
+    @Log(title = "监控调阅任务", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask) {
         return toAjax(coreMonitoringRetrievalTaskService.insertCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask));
@@ -89,7 +89,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
      */
     @ApiOperation(value = "修改CoreMonitoringRetrievalTask")
     @RequiresPermissions("core:task:edit")
-    @Log(title = "监控调阅任务" , businessType = BusinessType.UPDATE)
+    @Log(title = "监控调阅任务", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody CoreMonitoringRetrievalTask CoreMonitoringRetrievalTask) {
         return toAjax(coreMonitoringRetrievalTaskService.updateCoreMonitoringRetrievalTask(CoreMonitoringRetrievalTask));
@@ -100,7 +100,7 @@ public class CoreMonitoringRetrievalTaskController extends BaseController {
      */
     @ApiOperation(value = "删除CoreMonitoringRetrievalTask")
     @RequiresPermissions("core:task:remove")
-    @Log(title = "监控调阅任务" , businessType = BusinessType.DELETE)
+    @Log(title = "监控调阅任务", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids) {
         return toAjax(coreMonitoringRetrievalTaskService.deleteCoreMonitoringRetrievalTaskByIds(ids));

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/mapper/CoreMonitoringRetrievalTaskMapper.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask;
 import com.xunmei.common.core.domain.retrieval.dto.RetrievalTaskPageDto;
 import com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo;
+import com.xunmei.core.access.dto.CoreMonitoringTaskRegistrationDTO;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -65,4 +66,6 @@ public interface CoreMonitoringRetrievalTaskMapper extends BaseMapper<CoreMonito
     public int deleteCoreMonitoringRetrievalTaskByIds(Long[] ids);
 
     Page<CoreMonitoringRetrievalTaskVo> selectPageList(Page<CoreMonitoringRetrievalTaskVo> page, @Param("request") RetrievalTaskPageDto request);
+
+    List<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO);
 }

+ 1 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/retrieval/service/impl/CoreMonitoringRetrievalTaskServiceImpl.java

@@ -118,11 +118,7 @@ public class CoreMonitoringRetrievalTaskServiceImpl extends ServiceImpl<CoreMoni
 
     @Override
     public List<CoreMonitoringRetrievalTask> selectListApp(CoreMonitoringTaskRegistrationDTO coreMonitoringTaskRegistrationDTO) {
-       QueryWrapper queryWrapper=new QueryWrapper();
-        queryWrapper.eq("org_id",coreMonitoringTaskRegistrationDTO.getOrgId());
-        queryWrapper.eq("status",coreMonitoringTaskRegistrationDTO.getStatus());
-        queryWrapper.like("ymd_date",coreMonitoringTaskRegistrationDTO.getMoth());
-        return baseMapper.selectList(queryWrapper);
+        return baseMapper.selectListApp(coreMonitoringTaskRegistrationDTO);
     }
 
 

+ 5 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskMonitorInfoMapper.xml

@@ -46,6 +46,11 @@
             <include refid="selectCoreMonitoringTaskMonitorInfoVo"/>
             where id = #{id}
     </select>
+    <select id="selectCoreMonitoringTaskMonitorInfoByMonitorId"
+            resultType="com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo">
+        <include refid="selectCoreMonitoringTaskMonitorInfoVo"/>
+        where task_monitor_id = #{monitorId}
+    </select>
 
     <insert id="insertCoreMonitoringTaskMonitorInfo" parameterType="com.xunmei.core.access.domain.CoreMonitoringTaskMonitorInfo">
         insert into core_monitoring_task_monitor_info

+ 15 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/access/CoreMonitoringTaskRegistrationMonitorMapper.xml

@@ -68,6 +68,21 @@
         WHERE
             cmtrm.task_registration_id =#{taskRegistrationId}
     </select>
+    <select id="selectMonitorById"
+            resultType="com.xunmei.core.access.vo.CoreMonitoringTaskRegistrationMonitorVO">
+        SELECT
+            cmtrm.id AS id,
+            cmtrm.`host` AS `host`,
+            cmtrm.video_channel AS videoChannel,
+            sd.device_name AS hostName,
+            sd1.device_name AS videoChannelName
+        FROM
+            core_monitoring_task_registration_monitor cmtrm
+                LEFT JOIN sys_device sd ON sd.id = cmtrm.`host`
+                LEFT JOIN sys_device sd1 ON sd1.host_id = sd.id
+        WHERE
+            cmtrm.id = #{id}
+    </select>
 
     <insert id="insertCoreMonitoringTaskRegistrationMonitor" parameterType="com.xunmei.core.access.domain.CoreMonitoringTaskRegistrationMonitor">
         insert into core_monitoring_task_registration_monitor

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

@@ -18,7 +18,8 @@
         <result property="hostId" column="host_id"/>
         <result property="startDate" column="start_date"/>
         <result property="endDate" column="end_date"/>
-        <result property="dateTime" column="date_time"/>
+        <result property="trainingStartDateTime" column="training_start_date_time"/>
+        <result property="trainingEndDateTime" column="training_end_date_time"/>
         <result property="fileList" column="file_list"/>
         <result property="imageList" column="image_list"/>
         <result property="pdfUrl" column="pdf_url"/>
@@ -43,7 +44,8 @@
                host_id,
                start_date,
                end_date,
-               date_time,
+               training_start_date_time,
+               training_end_date_time,
                file_list,
                image_list,
                pdf_url,
@@ -62,10 +64,27 @@
         limit 1
     </select>
 
-    <select id="selectPageData" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo">
+    <select id="selectPageData" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo"
+            parameterType="com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskPageDto">
+        <!--        <include refid="selectCoreEduTrainingTaskVo"/>-->
+        <!--        <where>-->
+        <!--            <if test="request.title != null  and request.title != ''">-->
+        <!--                and title like concat('%', #{request.title}, '%')-->
+        <!--            </if>-->
+        <!--            <if test="request.type != null ">-->
+        <!--                and type = #{request.type}-->
+        <!--            </if>-->
+        <!--            <if test="request.status != null ">-->
+        <!--                and status = #{request.status}-->
+        <!--            </if>-->
+        <!--            <if test="request.range != null ">-->
+        <!--                and start_date >= #{request.range[0]}-->
+        <!--                and end_date <![CDATA[ <= ]]> #{request.range[1]}-->
+        <!--            </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, date_time
-        from core_edu_training_task t inner join sys_user u on t.host_id=u.id
+        start_date, end_date, training_start_date_time,training_end_date_time
+        from core_edu_training_task t left join sys_user u on t.host_id=u.id
         <where>
             <choose>
                 <when test="request.checkSub==true">
@@ -103,15 +122,38 @@
                type,
                start_date,
                end_date,
-               date_time,
+               training_start_date_time,
+               training_end_date_time,
                t.host_id,
                t.recorder_id,
                u.name  as hostName,
                u2.name as recorderName
         from core_edu_training_task t
-                 inner join sys_user u on u.id = t.host_id
-                 inner join sys_user u2 on u2.id = t.recorder_id
+                 left join sys_user u on u.id = t.host_id
+                 left join sys_user u2 on u2.id = t.recorder_id
 
         where t.id = #{id}
     </select>
+
+    <select id="selectReport" resultType="com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo">
+        SELECT t.org_id AS orgId,
+        t.org_name AS orgName,
+        ifnull(count(0),0) AS shouldFinish,
+        ifnull(SUM(t.status != 3),0) AS finish
+        from core_edu_training_task t inner join sys_org o on t.org_id = o.id
+        <where>
+            <if test="request.orgId != null">
+                and o.parent_id=#{request.orgId}
+            </if>
+            <if test="request.planId != null">
+                and t.plan_id=#{request.planId}
+            </if>
+            <if test="request.startDate != null">
+                and t.start_date>=#{request.startDate}
+            </if>
+            <if test="request.endDate != null">
+                and t.start_date <![CDATA[<=]]> #{request.endDate}
+            </if>
+        </where>
+    </select>
 </mapper>

+ 18 - 1
soc-modules/soc-modules-core/src/main/resources/mapper/retrieval/CoreMonitoringRetrievalTaskMapper.xml

@@ -67,7 +67,7 @@
     <select id="selectPageList" resultType="com.xunmei.common.core.domain.retrieval.vo.CoreMonitoringRetrievalTaskVo">
         select a.*,b.name as roleName,c.name as retrievalUserName from core_monitoring_retrieval_task a left join sys_role b on a.role_id = b.id left join sys_user c on a.retrieval_user = c.id
         where 1=1
-        <if test="request.orgId != null ">
+        <if test="coreMonitoringTaskRegistrationDTO.orgId != null ">
             and a.org_id = #{request.orgId}
         </if>
         <if test="request.orgPath != null  and request.orgPath != ''">
@@ -91,6 +91,23 @@
         </if>
         order by a.ymd_date desc
     </select>
+    <select id="selectListApp"
+            resultType="com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask">
+        SELECT
+            *
+        FROM
+            core_monitoring_retrieval_task
+        WHERE 1=1
+        <if test="orgId != null ">
+            and org_id = #{orgId}
+        </if>
+        <if test="status !=null">
+            and status =#{status}
+        </if>
+     <if test="ymdDate !=null">
+         and ymdDate like concat('%', #{ymd_date}, '%')
+     </if>
+    </select>
 
     <insert id="insertCoreMonitoringRetrievalTask" parameterType="com.xunmei.common.core.domain.retrieval.domain.CoreMonitoringRetrievalTask">
         insert into core_monitoring_retrieval_task

+ 19 - 5
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDeviceController.java

@@ -1,9 +1,9 @@
 package com.xunmei.system.controller;
 
 import java.util.List;
-import java.io.IOException;
-import javax.servlet.http.HttpServletResponse;
 
+import com.xunmei.common.security.annotation.InnerAuth;
+import com.xunmei.system.api.domain.SysDevice;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,13 +16,11 @@ import org.springframework.web.bind.annotation.RestController;
 import com.xunmei.common.log.annotation.Log;
 import com.xunmei.common.log.enums.BusinessType;
 import com.xunmei.common.security.annotation.RequiresPermissions;
-import com.xunmei.system.domain.SysDevice;
 import com.xunmei.system.service.ISysDeviceService;
 import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
 
 /**
@@ -45,7 +43,6 @@ public class SysDeviceController extends BaseController {
     @RequiresPermissions("system:device:list")
     @GetMapping("/list")
     public TableDataInfo<SysDevice> list(SysDevice sysDevice) {
-
         return sysDeviceService.selectPage(sysDevice);
     }
 
@@ -71,6 +68,23 @@ public class SysDeviceController extends BaseController {
     }
 
     /**
+     * 通过机构id查询主机
+     */
+    @ApiOperation(value = "通过机构id查询主机")
+    @InnerAuth
+    @GetMapping(value = "/getSysDeviceByOrgId")
+    public List<SysDevice> getSysDeviceByOrgId(Long orgId) {
+        return sysDeviceService.getHostByOrgId(orgId);
+    }
+
+    @ApiOperation(value = "通过主机查询视频监控")
+    @InnerAuth
+    @GetMapping(value = "/getSysDeviceByHostId")
+    public List<SysDevice> getSysDeviceByHostId(Long hostId) {
+        return sysDeviceService.getSysDeviceByHostId(hostId);
+    }
+
+    /**
      * 新增【请填写功能名称】
      */
     @ApiOperation(value = "新增SysDevice")

+ 4 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysDictDataController.java

@@ -11,6 +11,8 @@ import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.system.api.domain.SysDictData;
 import com.xunmei.system.service.ISysDictDataService;
 import com.xunmei.system.service.ISysDictTypeService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -24,6 +26,7 @@ import java.util.List;
  *
  * @author xunmei
  */
+@Api(tags = {"SysData"})
 @RestController
 @RequestMapping("/dict/data")
 public class SysDictDataController extends BaseController
@@ -56,6 +59,7 @@ public class SysDictDataController extends BaseController
     /**
      * 根据字典类型查询字典数据信息
      */
+    @ApiOperation(value = "根据字典类型查询字典数据信息")
     @GetMapping(value = "/type/{dictType}")
     public AjaxResult dictType(@PathVariable String dictType)
     {

+ 5 - 4
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysRoleController.java

@@ -19,6 +19,7 @@ import com.xunmei.system.domain.vo.SysUserVO;
 import com.xunmei.system.service.ISysDeptService;
 import com.xunmei.system.service.ISysRoleService;
 import com.xunmei.system.service.ISysUserService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -207,12 +208,12 @@ public class SysRoleController extends BaseController {
     public AjaxResult all() {
         return success(roleService.selectSimpleRoleAll(null));
     }
-
+    @ApiOperation(value = "根据id查询角色")
     @InnerAuth
     @GetMapping(value = "/getRoleById")
-    public R<SysRole> getRoleById(Long id) {
-        SysRole byId = roleService.getById(id);
-        return R.ok(byId);
+    public SysRole getRoleById(Long id) {
+        SysRole sysRole = roleService.getById(id);
+        return sysRole;
     }
 
 //    @InnerAuth

+ 14 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysUserController.java

@@ -347,5 +347,19 @@ public class SysUserController extends BaseController {
         userService.batchSaveOrUpdate(sysUserList);
         return R.ok(true);
     }
+    /**
+     * 查询机构列表
+     */
+    @ApiOperation(value = "记录用户最后一次登录")
+    @InnerAuth
+    @PostMapping("/userLoginInfo")
+    public R<Boolean> userLoginInfo(Long id,Date loginTime, String loginIp) {
+        SysUser sysUser = userService.selectUserById(id);
+        sysUser.setLastIp(loginIp);
+        sysUser.setLastTime(loginTime);
+        userService.saveOrUpdate(sysUser);
+        return R.ok(true);
+    }
+
 
 }

+ 1 - 1
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/mapper/SysDeviceMapper.java

@@ -2,8 +2,8 @@ package com.xunmei.system.mapper;
 
 import java.util.List;
 
-import com.xunmei.system.domain.SysDevice;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.system.api.domain.SysDevice;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 2 - 3
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysDeviceService.java

@@ -2,10 +2,9 @@ package com.xunmei.system.service;
 
 import java.util.List;
 
-import com.xunmei.system.domain.SysDevice;
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.system.api.domain.SysDevice;
 
 /**
  * 【设备管理】Service接口
@@ -36,7 +35,7 @@ public interface ISysDeviceService extends IService<SysDevice> {
      * @return 【设备管理】集合
      */
     List<SysDevice> selectSysDeviceList(SysDevice sysDevice);
-
+List<SysDevice> getSysDeviceByHostId(Long hostId);
     /**
      * 新增【设备管理】
      *

+ 10 - 3
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysDeviceServiceImpl.java

@@ -4,19 +4,17 @@ import java.util.List;
 
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.system.api.domain.SysDevice;
 import com.xunmei.system.api.domain.SysOrg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.xunmei.system.service.ISysOrgService;
-
 import java.util.Arrays;
-
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.system.mapper.SysDeviceMapper;
-import com.xunmei.system.domain.SysDevice;
 import com.xunmei.system.service.ISysDeviceService;
 
 /**
@@ -93,6 +91,15 @@ public class SysDeviceServiceImpl extends ServiceImpl<SysDeviceMapper, SysDevice
         return sysDeviceMapper.selectList(new QueryWrapper<>(sysDevice));
     }
 
+    @Override
+    public List<SysDevice> getSysDeviceByHostId(Long hostId) {
+        QueryWrapper queryWrapper=new QueryWrapper();
+        queryWrapper.eq("del_flag","0");
+        queryWrapper.eq("host_id",hostId);
+        List<SysDevice> list = baseMapper.selectList(queryWrapper);
+        return list;
+    }
+
     /**
      * 新增【请填写功能名称】
      *

+ 14 - 13
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysOrgServiceImpl.java

@@ -52,13 +52,11 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
      * 项目启动时,缓存机构数据
      */
     @PostConstruct
-    public void init()
-    {
+    public void init() {
         loadingOrgCache();
     }
 
 
-
     @Override
     public TableDataInfo<SysOrg> selectPage(SysOrg org) {
         //未删除
@@ -70,18 +68,21 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
         } else {
             page = new Page<>();
         }
+        Long parentId = org.getParentId();
+        if(parentId == null){
+            parentId = SecurityUtils.getLoginUser().getSysUser().getOrgId();
+        }
+        SysOrg sysOrg = sysOrgMapper.selectById(parentId);
+
+        org.setParentId(null);
         //查询条件
         QueryWrapper<SysOrg> query = new QueryWrapper<>(org);
         //下穿
         if (org.getCheckSub()) {
-            List<Long> ids = this.selectCheckSubOrgIdList(org.getParentId());
-            //清空前端传递的org_id
-            org.setParentId(null);
-            //添加in条件
-            query.in("id", ids);
-
+            query.lambda().likeRight(SysOrg::getPath, sysOrg.getPath());
+        } else {
+            query.lambda().eq(SysOrg::getPath,sysOrg.getPath());
         }
-
         //模糊查询
         if (StringUtils.isNotNull(org.getName())) {
             query.like("name", org.getName());
@@ -248,7 +249,7 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     @Override
     public void loadingOrgCache() {
         QueryWrapper<SysOrg> qw = new QueryWrapper<>();
-        qw.lambda().ge(SysOrg::getDeleted,0);
+        qw.lambda().ge(SysOrg::getDeleted, 0);
         List<SysOrg> list = baseMapper.selectList(qw);
         clearOrgCache();
         redisService.setCacheList(CacheConstants.ORG_CACHE_LIST_KEY, list);
@@ -264,9 +265,9 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     public boolean saveOrUpdateOrg(SysOrg org) {
 
         boolean isOk = false;
-        if(org.getId() != null){
+        if (org.getId() != null) {
             isOk = this.updateById(org);
-        }else{
+        } else {
             isOk = this.save(org);
         }
 

+ 5 - 5
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysDeviceMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunmei.system.mapper.SysDeviceMapper">
 
-    <resultMap type="com.xunmei.system.domain.SysDevice" id="SysDeviceResult">
+    <resultMap type="com.xunmei.system.api.domain.SysDevice" id="SysDeviceResult">
         <result property="id" column="id"/>
         <result property="orgId" column="org_id"/>
         <result property="orgName" column="org_name"/>
@@ -43,7 +43,7 @@
         from sys_device
     </sql>
 
-    <select id="selectSysDeviceList" parameterType="com.xunmei.system.domain.SysDevice"
+    <select id="selectSysDeviceList" parameterType="com.xunmei.system.api.domain.SysDevice"
             resultMap="SysDeviceResult">
         <include refid="selectSysDeviceVo"/>
         <where>
@@ -85,13 +85,13 @@
         <include refid="selectSysDeviceVo"/>
         where id = #{id}
     </select>
-    <select id="getHostByOrgId" resultType="com.xunmei.system.domain.SysDevice">
+    <select id="getHostByOrgId" resultType="com.xunmei.system.api.domain.SysDevice">
         <include refid="selectSysDeviceVo"/>
         WHERE
         org_id =#{orgId} and del_flag='0' and device_type='0'
     </select>
 
-    <insert id="insertSysDevice" parameterType="com.xunmei.system.domain.SysDevice">
+    <insert id="insertSysDevice" parameterType="com.xunmei.system.api.domain.SysDevice">
         insert into sys_device
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">id,
@@ -163,7 +163,7 @@
         </trim>
     </insert>
 
-    <update id="updateSysDevice" parameterType="com.xunmei.system.domain.SysDevice">
+    <update id="updateSysDevice" parameterType="com.xunmei.system.api.domain.SysDevice">
         update sys_device
         <trim prefix="SET" suffixOverrides=",">
             <if test="orgId != null">org_id =