瀏覽代碼

Merge branch 'V0.0.4' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.0.4

jiawuxian 1 年之前
父節點
當前提交
60e9bc314c
共有 18 個文件被更改,包括 404 次插入104 次删除
  1. 0 1
      project_data/sql/0.0.4/soc/soc.sql
  2. 23 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/DictConstants.java
  3. 4 2
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/panel/enums/PanelTypeEnums.java
  4. 30 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/panel/vo/WebPanelResult.java
  5. 1 1
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/enums/edu/EduTrainingDoStatus.java
  6. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillTaskService.java
  7. 15 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java
  8. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/ICoreEduTrainingTaskService.java
  9. 15 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java
  10. 4 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/ICoreIntroduceLetterService.java
  11. 86 71
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/impl/CoreIntroduceLetterServiceImpl.java
  12. 22 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/controller/PanelController.java
  13. 6 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/PanelService.java
  14. 128 29
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java
  15. 4 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/IQuestionService.java
  16. 37 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/impl/QuestionServiceImpl.java
  17. 3 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/ICoreSafetyTaskService.java
  18. 20 0
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafetyTaskServiceImpl.java

+ 0 - 1
project_data/sql/0.0.4/soc/soc.sql

@@ -292,7 +292,6 @@ CALL schema_change ();
 
 -- 删除知识库标签管理菜单权限
 set @id = (select id from sys_menu where menu_name='知识库标签管理' limit 1);
-select @id;
 update sys_menu  set id =1731954732809224193 where id=@id;
 update sys_menu  set parent_id =1731954732809224193 where parent_id=@id;
 -- 隐藏知识库标签管理菜单

+ 23 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/DictConstants.java

@@ -256,5 +256,28 @@ public class DictConstants {
     public static final String LETTER_ID_TYPE = "letter_id_type";
 
 
+    /**
+     * 安全检查状态
+     */
+    public static final String SAFETY_CHECK_STATUS = "safety_check_status";
+
+
+    /**
+     * 出入申请审批状态
+     */
+    public static final String OUT_IN_APPROVE_STATUS = "out_in_approve_status";
+
+    /**
+     * 问题整改状态
+     */
+    public static final String QUESTION_REFORM_STATUS = "question_reform_status";
+
+
+    /**
+     * 问题确认状态
+     */
+    public static final String QUESTION_CONFIRM_STATUS = "question_confirm_status";
+
+
 
 }

+ 4 - 2
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/panel/enums/PanelTypeEnums.java

@@ -28,8 +28,10 @@ public enum PanelTypeEnums {
     OTHER(6, "其他任务"),
     DRILL_REC(7, "推优评优"),
     OUT_EVALUATION(8,"外包评价"),
-	QUESTION(9,"隐患管理")
-
+	QUESTION(9,"隐患管理"),
+	VISIT_APPROVE(10,"来访审批"),
+    HIDDEN_DANGER_QUESTION(11,"隐患问题"),
+    HIDDEN_DANGER_RECTIFICATION(12,"隐患整改"),
     ;
 
 

+ 30 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/panel/vo/WebPanelResult.java

@@ -0,0 +1,30 @@
+package com.xunmei.common.core.domain.panel.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+
+/**
+ * @author jingyuanchao
+ * @date 2023/12/7 14:14
+ */
+@Builder
+@Data
+public class WebPanelResult {
+
+    @ApiModelProperty(value = "状态")
+    private int status;
+
+    @ApiModelProperty(value = "状态名称")
+    private String statusText;
+
+    @ApiModelProperty(value = "任务类型")
+    private int taskType;
+
+    @ApiModelProperty(value = "任务类型名称")
+    private String taskTypeText;
+
+    @ApiModelProperty(value = "任务数量")
+    private int nums;
+
+}

+ 1 - 1
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/enums/edu/EduTrainingDoStatus.java

@@ -10,7 +10,7 @@ import java.util.Map;
 @AllArgsConstructor
 public enum EduTrainingDoStatus {
 
-    WAIT_RECORDED(0, "待培训"),
+    WAIT_RECORDED(0, "待登记"),
     WAIT_SIGN(1, "待签名"),
     DONE(2, "已完成"),
     OVERDUE(3, "已逾期"),

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/ICoreDrillTaskService.java

@@ -9,6 +9,7 @@ import com.xunmei.common.core.domain.drill.vo.*;
 import com.xunmei.common.core.domain.edu.dto.CoreEduTrainingTaskPageDto;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.event.WorkTimeChangeEvent;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
@@ -118,4 +119,6 @@ public interface ICoreDrillTaskService extends IService<CoreDrillTask> {
 
     void exportReport(CoreDrillTaskReportDto request, HttpServletResponse response);
 
+    WebPanelResult selectWebIndexData(PanelListDto panelListDto);
+
 }

+ 15 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/drill/service/impl/CoreDrillTaskServiceImpl.java

@@ -25,6 +25,7 @@ import com.xunmei.common.core.domain.drill.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.domain.registerbook.domain.CoreRegisterBookPdf;
 import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
@@ -1164,6 +1165,20 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
     }
 
     @Override
+    public WebPanelResult selectWebIndexData(PanelListDto req) {
+        final int count = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
+                .eq(CoreDrillTask::getOrgId, req.getOrgId())
+                .eq(CoreDrillTask::getStatus,DrillDoStatus.WAIT_RECORDED.getCode())).intValue();
+        return WebPanelResult
+                .builder()
+                .status(DrillDoStatus.WAIT_RECORDED.getCode())
+                .statusText(DrillDoStatus.WAIT_RECORDED.getName())
+                .taskType(PanelTypeEnums.DRILL.ordinal())
+                .taskTypeText(PanelTypeEnums.DRILL.getName())
+                .nums(count).build();
+    }
+
+    @Override
     public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto) {
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
                 orgService.selectSysOrgById(panelListDto.getOrgId(), SecurityConstants.FROM_SOURCE), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);

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

@@ -11,6 +11,7 @@ import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskPageVo;
 import com.xunmei.common.core.domain.edu.vo.CoreEduTrainingTaskReportVo;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.event.WorkTimeChangeEvent;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
@@ -111,4 +112,6 @@ public interface ICoreEduTrainingTaskService extends IService<CoreEduTrainingTas
     void export(CoreEduTrainingTaskPageDto request, HttpServletResponse response);
 
     void exportReport(CoreEduTrainingTaskReportDto request,HttpServletResponse response);
+
+    WebPanelResult selectWebIndexData(PanelListDto panelListDto);
 }

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

@@ -26,6 +26,7 @@ import com.xunmei.common.core.domain.edu.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.domain.registerbook.domain.CoreRegisterBookPdf;
 import com.xunmei.common.core.domain.worktime.domain.SysWorkTime;
 import com.xunmei.common.core.domain.worktime.dto.WorkTimeDto;
@@ -973,6 +974,20 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     }
 
     @Override
+    public WebPanelResult selectWebIndexData(PanelListDto req) {
+        final int count = coreEduTrainingTaskMapper.selectCount(new LambdaQueryWrapper<CoreEduTrainingTask>()
+                .eq(CoreEduTrainingTask::getOrgId, req.getOrgId())
+                .eq(CoreEduTrainingTask::getStatus, EduTrainingDoStatus.WAIT_RECORDED.getCode())).intValue();
+        return WebPanelResult
+                .builder()
+                .status(EduTrainingDoStatus.WAIT_RECORDED.getCode())
+                .statusText(EduTrainingDoStatus.WAIT_RECORDED.getName())
+                .taskType(PanelTypeEnums.EDU_TRAINING.ordinal())
+                .taskTypeText(PanelTypeEnums.EDU_TRAINING.getName())
+                .nums(count).build();
+    }
+
+    @Override
     public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto) {
         List<PanelListVo> list = coreEduTrainingTaskMapper.selectCurUserTaskList(panelListDto);
         if (ObjectUtil.isEmpty(list)) {

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/ICoreIntroduceLetterService.java

@@ -8,6 +8,8 @@ import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterApproveReques
 import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterRequestDto;
 import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterUpdateStatusDto;
 import com.xunmei.common.core.domain.letter.vo.*;
+import com.xunmei.common.core.domain.panel.dto.PanelListDto;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 
 import java.util.List;
@@ -90,4 +92,6 @@ public interface ICoreIntroduceLetterService extends IService<CoreIntroduceLette
     List<CoreIntroduceLetterApprovedPersonVo> getOutInApprovedPersonList(CoreIntroduceLetterApproveRequestDto requestDto);
 
     void timedTaskUpdateLetterStatus();
+
+    WebPanelResult selectWebIndexData(PanelListDto req);
 }

+ 86 - 71
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/impl/CoreIntroduceLetterServiceImpl.java

@@ -11,17 +11,24 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.letter.domain.*;
 import com.xunmei.common.core.domain.letter.dto.*;
 import com.xunmei.common.core.domain.letter.vo.*;
+import com.xunmei.common.core.domain.panel.dto.PanelListDto;
+import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.util.BeanHelper;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
+import com.xunmei.core.letter.mapper.CoreIntroduceLetterApproveLogMapper;
 import com.xunmei.core.letter.mapper.CoreIntroduceLetterMapper;
 import com.xunmei.core.letter.mapper.CoreOutInRecordMapper;
 import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
+import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
 import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
@@ -47,6 +54,8 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
 
     @Resource
     private CoreOutInRecordMapper coreOutInRecordMapper;
+    @Resource
+    private CoreIntroduceLetterApproveLogMapper approveLogMapper;
 
 
     @Resource
@@ -57,26 +66,23 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
         //未删除
         Page<CoreIntroduceLetterVo> page;
         //分页
-        if (request.getPageNum()!=null&&request.getPageSize()!=null)
-        {
+        if (request.getPageNum() != null && request.getPageSize() != null) {
             page = new Page<>(request.getPageNum(), request.getPageSize());
-        }else{
+        } else {
             page = new Page<>();
         }
 //        if (ObjectUtil.isNotNull(request.getRequestFromWeb()) && request.getRequestFromWeb() ) {
 //            request.setType(1);
 //        }
-        if(ObjectUtil.equal(request.getRequestFromWeb(),true)){
+        if (ObjectUtil.equal(request.getRequestFromWeb(), true)) {
             //获取数据
             page = coreIntroduceLetterMapper.selectPageList(page, request);
-        }
-        else
-        {
+        } else {
             page = coreIntroduceLetterMapper.selectPageListForApp(page, request);
         }
 
 
-        if(CollectionUtils.isNotEmpty(page.getRecords())){
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
             List<SysOrg> orgList = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.findAllOrg(SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
             page = this.buildPageVo(page, orgList);
         }
@@ -84,8 +90,6 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
         return TableDataInfo.build(page);
 
 
-
-
     }
 
     @Override
@@ -93,16 +97,15 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
         //未删除
         Page<CoreIntroduceLetterApproveVo> page;
         //分页
-        if (requestDto.getPageNum()!=null&&requestDto.getPageSize()!=null)
-        {
+        if (requestDto.getPageNum() != null && requestDto.getPageSize() != null) {
             page = new Page<>(requestDto.getPageNum(), requestDto.getPageSize());
-        }else{
+        } else {
             page = new Page<>();
         }
         //获取数据
         page = coreIntroduceLetterMapper.selectApproveListPage(page, requestDto);
-        if(CollectionUtils.isNotEmpty(page.getRecords())){
-            page.getRecords().stream().forEach(vo->{
+        if (CollectionUtils.isNotEmpty(page.getRecords())) {
+            page.getRecords().stream().forEach(vo -> {
                 vo.setLetterFile(ObjectUtil.isNotEmpty(vo.getLetterFileStr()) ? JSON.parseArray(vo.getLetterFileStr(), String.class) : null);
             });
 
@@ -122,12 +125,12 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
 
     @Override
     public List<CoreIntroduceLetterApprovedPersonVo> getOutInApprovedPersonList(CoreIntroduceLetterApproveRequestDto requestDto) {
-         List<CoreIntroduceLetterApprovedPersonVo> outInApprovedPersonList = coreIntroduceLetterMapper.getOutInApprovedPersonList(requestDto);
-         if(ObjectUtil.isNotEmpty(outInApprovedPersonList)){
-             outInApprovedPersonList.stream().forEach(vo->{
-                 vo.setLetterFile(ObjectUtil.isNotEmpty(vo.getLetterFileStr()) ? JSON.parseArray(vo.getLetterFileStr(), String.class) : null);
-             });
-         }
+        List<CoreIntroduceLetterApprovedPersonVo> outInApprovedPersonList = coreIntroduceLetterMapper.getOutInApprovedPersonList(requestDto);
+        if (ObjectUtil.isNotEmpty(outInApprovedPersonList)) {
+            outInApprovedPersonList.stream().forEach(vo -> {
+                vo.setLetterFile(ObjectUtil.isNotEmpty(vo.getLetterFileStr()) ? JSON.parseArray(vo.getLetterFileStr(), String.class) : null);
+            });
+        }
         return outInApprovedPersonList;
     }
 
@@ -141,7 +144,6 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
     }
 
 
-
     private Page<CoreIntroduceLetterVo> buildPageVo(Page<CoreIntroduceLetterVo> page, List<SysOrg> orgList) {
         List<CoreIntroduceLetterVo> records = page.getRecords();
         if (ObjectUtil.isNotEmpty(records)) {
@@ -152,7 +154,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
                 String orgNames = orgIds.stream().map(orgId -> orgList.stream().filter(org -> org.getId().equals(orgId)).findFirst().get().getShortName()).collect(Collectors.joining(","));
                 record.setReceptionOrgIds(orgIds);
                 record.setReceptionOrgNames(orgNames);
-                record.setHaveOutInRecord(letterOutInRecordList.stream().anyMatch(x->ObjectUtil.equal(x.getLetterId(),record.getId())));
+                record.setHaveOutInRecord(letterOutInRecordList.stream().anyMatch(x -> ObjectUtil.equal(x.getLetterId(), record.getId())));
             }
         }
         return page;
@@ -168,7 +170,7 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
     @Override
     public CoreIntroduceLetterInfoVo selectCoreIntroduceLetterById(Long id) {
         //获取介绍信信息
-        CoreIntroduceLetterInfoVo   coreIntroduceLetterVo = coreIntroduceLetterMapper.selectOneById(id);
+        CoreIntroduceLetterInfoVo coreIntroduceLetterVo = coreIntroduceLetterMapper.selectOneById(id);
         coreIntroduceLetterVo.setLetterFile(ObjectUtil.isNotEmpty(coreIntroduceLetterVo.getLetterFileStr()) ? JSON.parseArray(coreIntroduceLetterVo.getLetterFileStr(), String.class) : null);
         coreIntroduceLetterVo.setStartTimeStr(coreIntroduceLetterVo.getStartTime());
         coreIntroduceLetterVo.setEndTimeStr(coreIntroduceLetterVo.getEndTime());
@@ -177,23 +179,23 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
         List<CoreIntroduceLetterInfoVo> list = new ArrayList<>();
         list.add(coreIntroduceLetterVo);
         List<CoreIntroduceLetterToOrg> toOrgList = coreIntroduceLetterMapper.findToOrgListB(list);
-        if(CollectionUtils.isNotEmpty(toOrgList)){
+        if (CollectionUtils.isNotEmpty(toOrgList)) {
             List<Long> orgIds = toOrgList.stream().filter(toOrg -> toOrg.getLetterId().equals(coreIntroduceLetterVo.getId())).map(CoreIntroduceLetterToOrg::getOrgId).collect(Collectors.toList());
-            String  orgNames = orgIds.stream().map(orgId -> orgList.stream().filter(org -> org.getId().equals(orgId)).findFirst().get().getShortName()).collect(Collectors.joining(","));
+            String orgNames = orgIds.stream().map(orgId -> orgList.stream().filter(org -> org.getId().equals(orgId)).findFirst().get().getShortName()).collect(Collectors.joining(","));
             coreIntroduceLetterVo.setReceptionOrgIds(orgIds);
             coreIntroduceLetterVo.setReceptionOrgNames(orgNames);
         }
         //获取人员信息
         List<CoreIntroduceLetterUserAddDto> userList = coreIntroduceLetterMapper.findUserList(list);
-         if (CollectionUtils.isNotEmpty(userList)){
-             coreIntroduceLetterVo.setUserInfos(userList);
-         }
+        if (CollectionUtils.isNotEmpty(userList)) {
+            coreIntroduceLetterVo.setUserInfos(userList);
+        }
         CoreIntroduceLetterApproveLog
-                checkLog = coreIntroduceLetterMapper.findCheckLog(id,SecurityUtils.getLoginUser().getOrgId());
+                checkLog = coreIntroduceLetterMapper.findCheckLog(id, SecurityUtils.getLoginUser().getOrgId());
         coreIntroduceLetterVo.setApproveLog(checkLog);
 
         List<CoreIntroduceLetterApproveVo> approveVoList = coreIntroduceLetterMapper.findLetterApproveInfos(id);
-        if(CollectionUtils.isNotEmpty(approveVoList)){
+        if (CollectionUtils.isNotEmpty(approveVoList)) {
             coreIntroduceLetterVo.setApproveInfos(approveVoList);
         }
         return coreIntroduceLetterVo;
@@ -217,41 +219,41 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
      * @return 结果
      */
     @Override
-    @Transactional(rollbackFor =  Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     public void insertCoreIntroduceLetter(CoreIntroduceLetterAddDto coreIntroduceLetter) {
 
-             Map<String,Object> map = this.buildEditLetterMap(coreIntroduceLetter);
-             CoreIntroduceLetter introduceLetter = (CoreIntroduceLetter) map.get("introduceLetter");
-             List<CoreIntroduceLetterUser> userList = (List<CoreIntroduceLetterUser>)map.get("userList");
-             List<CoreIntroduceLetterToOrg> toOrgList = (List<CoreIntroduceLetterToOrg>)map.get("toOrgList");
-             List<CoreIntroduceLetterApproveLog> checkLogs = (List<CoreIntroduceLetterApproveLog>) map.get("checkLogs");
-             coreIntroduceLetterMapper.insert(introduceLetter);
-             coreIntroduceLetterMapper.saveUserList(userList);
-             coreIntroduceLetterMapper.saveToOrgList(toOrgList);
-             coreIntroduceLetterMapper.saveCheckLogs(checkLogs);
+        Map<String, Object> map = this.buildEditLetterMap(coreIntroduceLetter);
+        CoreIntroduceLetter introduceLetter = (CoreIntroduceLetter) map.get("introduceLetter");
+        List<CoreIntroduceLetterUser> userList = (List<CoreIntroduceLetterUser>) map.get("userList");
+        List<CoreIntroduceLetterToOrg> toOrgList = (List<CoreIntroduceLetterToOrg>) map.get("toOrgList");
+        List<CoreIntroduceLetterApproveLog> checkLogs = (List<CoreIntroduceLetterApproveLog>) map.get("checkLogs");
+        coreIntroduceLetterMapper.insert(introduceLetter);
+        coreIntroduceLetterMapper.saveUserList(userList);
+        coreIntroduceLetterMapper.saveToOrgList(toOrgList);
+        coreIntroduceLetterMapper.saveCheckLogs(checkLogs);
     }
 
     private Map<String, Object> buildEditLetterMap(CoreIntroduceLetterAddDto coreIntroduceLetter) {
         SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgById(SecurityUtils.getLoginUser().getOrgId(), SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        Map<String,Object> objectMap = new HashMap<>();
+        Map<String, Object> objectMap = new HashMap<>();
         Date date = new Date();
         String username = SecurityUtils.getUsername();
         Long letterId = IdWorker.getId();
         CoreIntroduceLetter introduceLetter = new CoreIntroduceLetter();
-        BeanHelper.copyProperties(introduceLetter,coreIntroduceLetter);
-        if(coreIntroduceLetter.getId()==null){
+        BeanHelper.copyProperties(introduceLetter, coreIntroduceLetter);
+        if (coreIntroduceLetter.getId() == null) {
             introduceLetter.setDeleted(0);
             introduceLetter.setId(letterId);
             introduceLetter.setCreateTime(date);
             introduceLetter.setCreateBy(username);
 //            introduceLetter.setStatus(0);
         }
-        introduceLetter.setLetterFile( ObjectUtil.isNotEmpty(coreIntroduceLetter.getLetterFile()) ? JSON.toJSONString(coreIntroduceLetter.getLetterFile()) : null);
+        introduceLetter.setLetterFile(ObjectUtil.isNotEmpty(coreIntroduceLetter.getLetterFile()) ? JSON.toJSONString(coreIntroduceLetter.getLetterFile()) : null);
         introduceLetter.setOrgId(sysOrg.getId());
         introduceLetter.setOrgPath(sysOrg.getPath());
         introduceLetter.setOrgName(sysOrg.getName());
         introduceLetter.setStartTime(DateUtil.beginOfDay(coreIntroduceLetter.getStartTime()));
-        introduceLetter.setEndTime(DateUtil.offsetDay(introduceLetter.getStartTime(),coreIntroduceLetter.getEffectiveDays()-1));
+        introduceLetter.setEndTime(DateUtil.offsetDay(introduceLetter.getStartTime(), coreIntroduceLetter.getEffectiveDays() - 1));
 //        if(ObjectUtil.isNotEmpty(coreIntroduceLetter.getRange())) {
 //            introduceLetter.setStartTime(coreIntroduceLetter.getRange().get(0));
 //            introduceLetter.setEndTime(coreIntroduceLetter.getRange().get(1));
@@ -262,12 +264,12 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
 //            introduceLetter.setEndTime(DateUtil.offsetDay(coreIntroduceLetter.getStartTime(),coreIntroduceLetter.getEffectiveDays()-1));
 //        }
         //封装人员信息
-        List<CoreIntroduceLetterUserAddDto> userAddVoList =coreIntroduceLetter.getUserInfos();
+        List<CoreIntroduceLetterUserAddDto> userAddVoList = coreIntroduceLetter.getUserInfos();
         List<CoreIntroduceLetterUser> userList = new ArrayList<>();
-        userAddVoList.forEach(r->{
+        userAddVoList.forEach(r -> {
             CoreIntroduceLetterUser user = new CoreIntroduceLetterUser();
-            BeanHelper.copyProperties(user,r);
-            if(r.getId()==null){
+            BeanHelper.copyProperties(user, r);
+            if (r.getId() == null) {
                 user.setId(IdWorker.getId());
                 user.setLetterId(introduceLetter.getId());
                 user.setCreateTime(date);
@@ -275,11 +277,11 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
             }
             userList.add(user);
         });
-       //封装接待机构
-        List<CoreIntroduceLetterToOrg> toOrgList =new ArrayList<>();
+        //封装接待机构
+        List<CoreIntroduceLetterToOrg> toOrgList = new ArrayList<>();
         List<CoreIntroduceLetterApproveLog> checkLogs = new ArrayList<>();
-        List<Long> orgIds =  coreIntroduceLetter.getReceptionOrgIds();
-        orgIds.forEach(r->{
+        List<Long> orgIds = coreIntroduceLetter.getReceptionOrgIds();
+        orgIds.forEach(r -> {
             CoreIntroduceLetterToOrg toOrg = new CoreIntroduceLetterToOrg();
             toOrg.setLetterId(introduceLetter.getId());
             toOrg.setOrgId(r);
@@ -293,11 +295,26 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
             checkLogs.add(checkLog);
         });
 
-        objectMap.put("introduceLetter",introduceLetter);
-        objectMap.put("userList",userList);
-        objectMap.put("toOrgList",toOrgList);
-        objectMap.put("checkLogs",checkLogs);
-        return  objectMap;
+        objectMap.put("introduceLetter", introduceLetter);
+        objectMap.put("userList", userList);
+        objectMap.put("toOrgList", toOrgList);
+        objectMap.put("checkLogs", checkLogs);
+        return objectMap;
+    }
+
+    @Override
+    public WebPanelResult selectWebIndexData(PanelListDto req) {
+        final int count = approveLogMapper.selectCount(new LambdaQueryWrapper<CoreIntroduceLetterApproveLog>()
+                        .eq(CoreIntroduceLetterApproveLog::getOrgId, req.getOrgId())
+                        .eq(CoreIntroduceLetterApproveLog::getApproveStatus, 0))
+                .intValue();
+        return WebPanelResult
+                .builder()
+                .status(0)
+                .statusText(DictUtils.getDictLabel(DictConstants.OUT_IN_APPROVE_STATUS, 0))
+                .taskType(PanelTypeEnums.VISIT_APPROVE.ordinal())
+                .taskTypeText(PanelTypeEnums.VISIT_APPROVE.getName())
+                .nums(count).build();
     }
 
     /**
@@ -309,10 +326,10 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void updateCoreIntroduceLetter(CoreIntroduceLetterAddDto coreIntroduceLetter) {
-        Map<String,Object> map = this.buildEditLetterMap(coreIntroduceLetter);
+        Map<String, Object> map = this.buildEditLetterMap(coreIntroduceLetter);
         CoreIntroduceLetter introduceLetter = (CoreIntroduceLetter) map.get("introduceLetter");
-        List<CoreIntroduceLetterUser> userList = (List<CoreIntroduceLetterUser>)map.get("userList");
-        List<CoreIntroduceLetterToOrg> toOrgList = (List<CoreIntroduceLetterToOrg>)map.get("toOrgList");
+        List<CoreIntroduceLetterUser> userList = (List<CoreIntroduceLetterUser>) map.get("userList");
+        List<CoreIntroduceLetterToOrg> toOrgList = (List<CoreIntroduceLetterToOrg>) map.get("toOrgList");
         List<CoreIntroduceLetterApproveLog> checkLogs = (List<CoreIntroduceLetterApproveLog>) map.get("checkLogs");
 
         coreIntroduceLetterMapper.updateById(introduceLetter);
@@ -363,23 +380,21 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
     @Override
     public void timedTaskUpdateLetterStatus() {
         final LambdaQueryWrapper<CoreIntroduceLetter> oqw = new LambdaQueryWrapper<CoreIntroduceLetter>();
-        oqw.ne(CoreIntroduceLetter::getStatus,2).eq(CoreIntroduceLetter::getDeleted,0);
+        oqw.ne(CoreIntroduceLetter::getStatus, 2).eq(CoreIntroduceLetter::getDeleted, 0);
         List<CoreIntroduceLetter> coreIntroduceLetters = coreIntroduceLetterMapper.selectList(oqw);
-        List<CoreIntroduceLetter> overdueLettersList=new ArrayList<>();
-        if(ObjectUtil.isNotEmpty(coreIntroduceLetters))
-        {
-            Date currentDate =DateUtil.beginOfDay(new Date());
+        List<CoreIntroduceLetter> overdueLettersList = new ArrayList<>();
+        if (ObjectUtil.isNotEmpty(coreIntroduceLetters)) {
+            Date currentDate = DateUtil.beginOfDay(new Date());
 
-            coreIntroduceLetters.stream().forEach(x->{
+            coreIntroduceLetters.stream().forEach(x -> {
                 final int result = currentDate.compareTo(x.getEndTime());
-                if(result>0)
-                {
+                if (result > 0) {
                     x.setStatus(2);
                     overdueLettersList.add(x);
                 }
             });
         }
-        if(ObjectUtil.isNotEmpty(overdueLettersList)){
+        if (ObjectUtil.isNotEmpty(overdueLettersList)) {
             saveOrUpdateBatch(overdueLettersList);
         }
     }

+ 22 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/controller/PanelController.java

@@ -39,4 +39,26 @@ public class PanelController {
         return AjaxResult.success(panelService.selectPage());
     }
 
+
+    /**
+     * App面板接口
+     */
+    @ApiOperation(value = "Web面板接口")
+    //@RequiresPermissions("core:panel:list")
+    @GetMapping("/data")
+    public AjaxResult data() throws ExecutionException, InterruptedException, TimeoutException {
+        return AjaxResult.success(panelService.selectWebData());
+    }
+
+
+    /**
+     * App面板接口
+     */
+    @ApiOperation(value = "Web面板接口")
+    //@RequiresPermissions("core:panel:list")
+    @GetMapping("/other")
+    public AjaxResult other() {
+        return AjaxResult.success(panelService.selectWebOtherData());
+    }
+
 }

+ 6 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/PanelService.java

@@ -2,12 +2,18 @@ package com.xunmei.core.panel.service;
 
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.panel.vo.PanelResultVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
 
 public interface PanelService {
     List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException;
 
+    List<WebPanelResult> selectWebData() throws ExecutionException, InterruptedException, TimeoutException;
+
+    Map<String,Object> selectWebOtherData();
+
 }

+ 128 - 29
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java

@@ -1,18 +1,32 @@
 package com.xunmei.core.panel.service.impl;
 
+import com.google.common.collect.Lists;
+
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson2.JSONArray;
 import com.xunmei.common.core.constant.Constants;
 import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.edu.dto.SysLearningMaterialsPageDto;
+import com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsPageVo;
+import com.xunmei.common.core.domain.message.dto.CoreAnnouncementNotificationAppPageDto;
+import com.xunmei.common.core.domain.message.vo.MessageAppPageVo;
 import com.xunmei.common.core.domain.panel.adapter.PanelAdapter;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.panel.vo.PanelResultVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
+import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.drill.service.ICoreDrillTaskService;
 import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
+import com.xunmei.core.edu.service.ISysLearningMaterialsService;
 import com.xunmei.core.evaluate.service.ICoreEvaluateTaskService;
+import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
+import com.xunmei.core.message.service.ICoreAnnouncementNotificationService;
 import com.xunmei.core.panel.service.PanelService;
 import com.xunmei.core.question.service.IQuestionService;
 import com.xunmei.core.resumption.service.IProtectionService;
@@ -20,14 +34,18 @@ import com.xunmei.core.resumption.service.ResumptionService;
 import com.xunmei.core.retrieval.service.ICoreMonitoringRetrievalTaskService;
 import com.xunmei.core.safetyCheck.service.ICoreSafetyTaskService;
 import com.xunmei.core.thread.ThreadPoolConfig;
+import com.xunmei.system.api.RemoteOrgService;
 import com.xunmei.system.api.RemoteRoleService;
+import com.xunmei.system.api.domain.SysOrg;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import com.xunmei.system.api.model.LoginUser;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
@@ -43,7 +61,8 @@ public class PanelServiceImpl implements PanelService {
     public static final int TIMEOUT = 3;
     @Autowired
     private ResumptionService resumptionService;
-
+    @Autowired
+    private RemoteOrgService remoteOrgService;
     @Autowired
     private ICoreMonitoringRetrievalTaskService coreMonitoringRetrievalTaskService;
     @Autowired
@@ -66,6 +85,12 @@ public class PanelServiceImpl implements PanelService {
     private ThreadPoolTaskExecutor threadPoolTaskExecutor;
     @Autowired
     private ICoreEvaluateTaskService iCoreEvaluateTaskService;
+    @Resource
+    private ICoreIntroduceLetterService coreIntroduceLetterService;
+    @Autowired
+    private ISysLearningMaterialsService materialsService;
+    @Autowired
+    private ICoreAnnouncementNotificationService notificationService;
 
     @Override
     public List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException {
@@ -147,39 +172,113 @@ public class PanelServiceImpl implements PanelService {
             vo.setDataList(data);
             list.add(vo);
         }
-        /*for (Integer type : listMap.keySet()) {
-            PanelResultVo vo = new PanelResultVo();
-            vo.setTaskType(type);
-            List<PanelListVo> data = listMap.get(type);
-            vo.setNums(data.size());
-            vo.setTaskTypeText(PanelTypeEnums.getName(type));
-            vo.setDataList(data);
-            list.add(vo);
-        }*/
-
         return list;
 
     }
 
-    private void dealResult(List<PanelListVo> resumptionTaskResult, List<PanelListVo> protectionTaskResult, List<PanelListVo> monitorTaskResult, List<PanelListVo> safetyTaskResult, List<PanelListVo> drillTaskResult, List<PanelListVo> eduTrainingTaskResult) {
-        resumptionTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.RESUMPTION.getCode());
-        });
-        protectionTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.PROTECTION.getCode());
-        });
-        monitorTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.MONITORING_RETRIEVAL.getCode());
-        });
-        safetyTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.SAFETY_CHECK.getCode());
-        });
-        drillTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.DRILL.getCode());
-        });
-        eduTrainingTaskResult.forEach(item -> {
-            item.setType(PanelTypeEnums.EDU_TRAINING.getCode());
+    @Override
+    public List<WebPanelResult> selectWebData() throws ExecutionException, InterruptedException, TimeoutException {
+        List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(
+                () -> roleService.getUserRoleId(SecurityUtils.getUserId(), SecurityConstants.FROM_SOURCE),
+                ErrorMsgConstants.QUERY_USER_ROLE_ERROR);
+
+        PanelListDto req = PanelAdapter.getMapperSelectParam(SecurityUtils.getLoginUser().getOrgId(),
+                roles, SecurityUtils.getUserId());
+        List<CompletableFuture<WebPanelResult>> list = new ArrayList<>();
+        //教育培训
+        CompletableFuture<WebPanelResult> eduTrainingTaskFuture = CompletableFuture.supplyAsync(() ->
+                eduTrainingTaskService.selectWebIndexData(req), threadPoolTaskExecutor
+        );
+        //预案演练
+        CompletableFuture<WebPanelResult> drillTaskFuture = CompletableFuture.supplyAsync(() ->
+                drillTaskService.selectWebIndexData(req), threadPoolTaskExecutor
+        );
+        //安全检查
+        CompletableFuture<WebPanelResult> safetyTaskFuture = CompletableFuture.supplyAsync(() ->
+                safetyTaskService.selectWebIndexData(req), threadPoolTaskExecutor
+        );
+        //来访审批
+        CompletableFuture<WebPanelResult> visitApproveFuture = CompletableFuture.supplyAsync(() ->
+                coreIntroduceLetterService.selectWebIndexData(req), threadPoolTaskExecutor
+        );
+        //   隐患问题
+        CompletableFuture<WebPanelResult> questionTaskFuture = CompletableFuture.supplyAsync(() ->
+                questionService.selectWebIndexData(req), threadPoolTaskExecutor
+        );
+        //   隐患整改
+        CompletableFuture<WebPanelResult> questionTaskFuture2 = CompletableFuture.supplyAsync(() ->
+                questionService.selectWebIndexData2(req), threadPoolTaskExecutor
+        );
+        Collections.addAll(list, eduTrainingTaskFuture, drillTaskFuture, safetyTaskFuture, visitApproveFuture, questionTaskFuture, questionTaskFuture2);
+        List<WebPanelResult> result = new ArrayList<>();
+        final CompletableFuture<Void> allFuture = CompletableFuture.allOf(list.toArray(new CompletableFuture[0]));
+        allFuture.get(TIMEOUT, TimeUnit.SECONDS);
+        list.forEach(future -> {
+            try {
+                result.add(future.get());
+            } catch (InterruptedException | ExecutionException e) {
+                throw new RuntimeException(e);
+            }
         });
 
+        return result;
+    }
+
+    @Override
+    public Map<String, Object> selectWebOtherData() {
+        final Long userId = SecurityUtils.getLoginUser().getSysUser().getId();
+        Map<String, Object> hashMap = new HashMap<>();
+
+        //知识库附件
+        getMaterials(hashMap);
+        getNotification(hashMap, userId);
+
+
+        return hashMap;
+    }
+
+    private void getNotification(Map<String, Object> hashMap, Long userId) {
+        List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(
+                () -> roleService.getUserRoleId(userId, SecurityConstants.FROM_SOURCE),
+                ErrorMsgConstants.QUERY_USER_ROLE_ERROR);
+
+        CoreAnnouncementNotificationAppPageDto req = new CoreAnnouncementNotificationAppPageDto();
+        req.setPageNum(1L);
+        req.setPageSize(10L);
+        req.setOrgId(SecurityUtils.getLoginUser().getOrgId());
+        req.setUserId(SecurityUtils.getUserId());
+        req.setTagRoleIds(roles);
+        final TableDataInfo<MessageAppPageVo> page = notificationService.selectAppPage(req);
+        hashMap.put("index1", page.getRows());
+    }
+
+    private void getMaterials(Map<String, Object> hashMap) {
+        //知识库
+        SysLearningMaterialsPageDto req = new SysLearningMaterialsPageDto();
+        req.setPageSize(Integer.MAX_VALUE);
+        req.setPageNum(1);
+        req.setCheckSub(true);
+        final SysOrg sysOrg = remoteOrgService.selectTopOrg(SecurityConstants.INNER);
+        req.setOrgId(sysOrg.getId());
+        final TableDataInfo tableDataInfo = materialsService.selectPage(req);
+        final List<SysLearningMaterialsPageVo> rows = tableDataInfo.getRows();
+        if (ObjectUtil.isEmpty(rows)) {
+            hashMap.put("index2", new ArrayList<>());
+        } else {
+            List<String> fileLit = new ArrayList<>();
+            for (SysLearningMaterialsPageVo vo : rows) {
+                final String json = vo.getFileList();
+                if (ObjectUtil.isEmpty(json)) {
+                    continue;
+                }
+                final List<String> list = JSON.parseArray(json, String.class);
+                list.forEach(item -> {
+                    final Map map = JSON.parseObject(item, Map.class);
+                    final String fileName = map.get("url").toString();
+                    fileLit.add(fileName);
+                });
+            }
+            hashMap.put("index2", fileLit);
+        }
     }
 }

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/IQuestionService.java

@@ -3,6 +3,7 @@ package com.xunmei.core.question.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.question.domain.Question;
 import com.xunmei.core.question.dto.QuestionConfirmDto;
@@ -68,4 +69,7 @@ public interface IQuestionService extends IService<Question> {
      * @return
      */
     List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto);
+
+    WebPanelResult selectWebIndexData(PanelListDto req);
+    WebPanelResult selectWebIndexData2(PanelListDto req);
 }

+ 37 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/question/service/impl/QuestionServiceImpl.java

@@ -3,18 +3,24 @@ package com.xunmei.core.question.service.impl;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.R;
+import com.xunmei.common.core.domain.letter.domain.CoreIntroduceLetterApproveLog;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.exception.ServiceException;
 import com.xunmei.common.core.utils.IDHelper;
 import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.question.QuestionConfirmEnum;
 import com.xunmei.core.question.QuestionReformEnum;
@@ -324,6 +330,37 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         EasyExcel.write(response.getOutputStream(), QuestionExportDto.class).sheet("Sheet1").doWrite(list);
     }
 
+    @Override
+    public WebPanelResult selectWebIndexData(PanelListDto req) {
+        final int waitConfirm = baseMapper.selectCount(new LambdaQueryWrapper<Question>()
+                        .eq(Question::getOrgId, req.getOrgId())
+                        .eq(Question::getConfirmStatus, 0))
+                        .intValue();
+
+        return WebPanelResult
+                .builder()
+                .status(0)
+                .statusText(DictUtils.getDictLabel(DictConstants.QUESTION_CONFIRM_STATUS, 0))
+                .taskType(PanelTypeEnums.HIDDEN_DANGER_QUESTION.ordinal())
+                .taskTypeText(PanelTypeEnums.HIDDEN_DANGER_QUESTION.getName())
+                .nums(waitConfirm).build();
+    }
+
+    @Override
+    public WebPanelResult selectWebIndexData2(PanelListDto req) {
+        final int waitRectification = baseMapper.selectCount(new LambdaQueryWrapper<Question>()
+                        .eq(Question::getOrgId, req.getOrgId())
+                        .eq(Question::getReformStatus, 10))
+                .intValue();
+        return WebPanelResult
+                .builder()
+                .status(10)
+                .statusText(DictUtils.getDictLabel(DictConstants.QUESTION_REFORM_STATUS, 10))
+                .taskType(PanelTypeEnums.HIDDEN_DANGER_RECTIFICATION.ordinal())
+                .taskTypeText(PanelTypeEnums.HIDDEN_DANGER_RECTIFICATION.getName())
+                .nums(waitRectification).build();
+    }
+
     /**
      * 当前用户的工作台。有所属机构+有整改权限的待整改、所属机构+有确认权限的待确认、异议提出人+异议状态的异议审批
      *

+ 3 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/ICoreSafetyTaskService.java

@@ -6,6 +6,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
 import com.xunmei.core.safetyCheck.vo.CheckNfcRecord;
@@ -88,4 +89,6 @@ public interface ICoreSafetyTaskService extends IService<CoreSafetyTask> {
     void deleteByOrgIdAndRange(Long orgId, Date startDate, Date endDate, Integer cycle);
 
     List<CoreSafetyTaskExport> down(CoreSafetyTask coreSafetyTask);
+
+    WebPanelResult selectWebIndexData(PanelListDto req);
 }

+ 20 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/CoreSafetyTaskServiceImpl.java

@@ -8,12 +8,17 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.xunmei.common.core.constant.DictConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.drill.domain.CoreDrillTask;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
 import com.xunmei.common.core.domain.panel.vo.PanelListVo;
+import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
+import com.xunmei.common.core.enums.drill.DrillDoStatus;
 import com.xunmei.common.core.utils.DateUtils;
 import com.xunmei.common.core.vo.IdNameVo;
+import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
 import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
 import com.xunmei.core.safetyCheck.enums.SafetyTaskSourceType;
@@ -208,6 +213,21 @@ public class CoreSafetyTaskServiceImpl extends ServiceImpl<CoreSafetyTaskMapper,
     }
 
     @Override
+    public WebPanelResult selectWebIndexData(PanelListDto req) {
+        final int count = coreSafetyTaskMapper.selectCount(new LambdaQueryWrapper<CoreSafetyTask>()
+                .eq(CoreSafetyTask::getOrgId, req.getOrgId())
+                .eq(CoreSafetyTask::getStatus, 1))
+                .intValue();
+        return WebPanelResult
+                .builder()
+                .status(1)
+                .statusText(DictUtils.getDictLabel(DictConstants.SAFETY_CHECK_STATUS,1))
+                .taskType(PanelTypeEnums.SAFETY_CHECK.ordinal())
+                .taskTypeText(PanelTypeEnums.SAFETY_CHECK.getName())
+                .nums(count).build();
+    }
+
+    @Override
     public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto) {
         List<PanelListVo> list = coreSafetyTaskMapper.selectCurUserTaskList(panelListDto);
         list.removeIf(item -> DateUtil.compare(new Date(), item.getEndTime()) > 0);