فهرست منبع

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

zhulu 2 سال پیش
والد
کامیت
7d0be6791d
12فایلهای تغییر یافته به همراه412 افزوده شده و 131 حذف شده
  1. 33 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/CoreSafeMonthScoreDetailPageDto.java
  2. 27 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/CoreSafeMonthScorePageDto.java
  3. 27 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/CoreSafeMonthScoreDetailPageVo.java
  4. 39 0
      soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/CoreSafeMonthScorePageVo.java
  5. 32 6
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/edu/service/impl/CoreEduTrainingTaskServiceImpl.java
  6. 20 12
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/controller/CoreSafeMonthScoreController.java
  7. 10 3
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/mapper/CoreSafeMonthScoreMapper.java
  8. 8 2
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafeMonthScoreService.java
  9. 56 16
      soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafeMonthScoreServiceImpl.java
  10. 158 90
      soc-modules/soc-modules-core/src/main/resources/mapper/safetyindex/CoreSafeMonthScoreMapper.xml
  11. 1 1
      soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysUserController.java
  12. 1 1
      soc-modules/soc-modules-system/src/main/resources/mapper/system/SysWorkTimeMapper.xml

+ 33 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/CoreSafeMonthScoreDetailPageDto.java

@@ -0,0 +1,33 @@
+package com.xunmei.common.core.domain.safetyindex.dto;
+
+import cn.hutool.core.date.DateUtil;
+import com.xunmei.common.core.web.domain.PageRequest;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@EqualsAndHashCode(callSuper = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class CoreSafeMonthScoreDetailPageDto extends PageRequest {
+
+    private Date date;
+
+    private Integer dataYear;
+
+    private Integer dataMonth;
+
+    private Long levelId;
+
+    public void setDate(Date date) {
+        this.date = date;
+        if (null != date){
+            this.dataYear = DateUtil.year(this.date);
+            this.dataMonth = DateUtil.month(this.date) + 1;
+        }
+    }
+}

+ 27 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/dto/CoreSafeMonthScorePageDto.java

@@ -0,0 +1,27 @@
+package com.xunmei.common.core.domain.safetyindex.dto;
+
+import cn.hutool.core.date.DateUtil;
+import com.xunmei.common.core.web.domain.PageRequest;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class CoreSafeMonthScorePageDto extends PageRequest {
+
+    private Date date;
+
+    private Integer dataYear;
+
+    private Integer dataMonth;
+
+    public void setDate(Date date) {
+        this.date = date;
+        if (null != date){
+            this.dataYear = DateUtil.year(this.date);
+            this.dataMonth = DateUtil.month(this.date) + 1;
+        }
+    }
+}

+ 27 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/CoreSafeMonthScoreDetailPageVo.java

@@ -0,0 +1,27 @@
+package com.xunmei.common.core.domain.safetyindex.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class CoreSafeMonthScoreDetailPageVo {
+
+    private String orgName;
+
+    private Integer orgType;
+
+    //该机构月度得分
+    private Double orgScore;
+
+    //指标等级(参见安全指标等级需求)
+    private String levelName;
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long orgId;
+
+}

+ 39 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/safetyindex/vo/CoreSafeMonthScorePageVo.java

@@ -0,0 +1,39 @@
+package com.xunmei.common.core.domain.safetyindex.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class CoreSafeMonthScorePageVo {
+
+    //数据产生年份
+    private Integer dataYear;
+
+    //数据产生月份
+    private Integer dataMonth;
+
+    //机构名
+    private String orgName;
+
+    //>=90分
+    private Long level_gt90;
+
+    //>=80,<90
+    private Long level_80_90;
+
+    //<80,>=70
+    private Long level_70_80;
+
+    //<=70
+    private Long level_lt70;
+
+    //机构id
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long orgId;
+
+}

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

@@ -293,12 +293,12 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     public int updateCoreEduTrainingTask(CoreEduTrainingTaskEditDto request) {
         CoreEduTrainingTask coreEduTrainingTask = coreEduTrainingTaskMapper.selectById(request.getId());
         boolean isAdd = false;
-        if (coreEduTrainingTask==null){
+        if (coreEduTrainingTask == null) {
             isAdd = true;
             SysOrg sysOrg = RemoteCallHandlerExecutor.executeRemoteCall(() ->
                             orgService.selectOrgById(SecurityUtils.getLoginUser().getSysUser().getOrgId(), SecurityConstants.INNER),
                     ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-            coreEduTrainingTask=new CoreEduTrainingTask();
+            coreEduTrainingTask = new CoreEduTrainingTask();
             coreEduTrainingTask.setId(IdWorker.getId());
             coreEduTrainingTask.setOrgId(sysOrg.getId());
             coreEduTrainingTask.setOrgName(sysOrg.getShortName());
@@ -344,7 +344,7 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
         coreEduTrainingTask.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getId().toString());
         coreEduTrainingTask.setUpdateTime(DateUtils.getNowDate());
 
-        if (isAdd){
+        if (isAdd) {
             return coreEduTrainingTaskMapper.insert(coreEduTrainingTask);
         }
         return coreEduTrainingTaskMapper.updateById(coreEduTrainingTask);
@@ -486,9 +486,9 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
                 trainingTask.setStartDate(DateUtils.getPreciseTime(dateRange.getStartTime()));
                 trainingTask.setEndDate(DateUtils.getPreciseTime(dateRange.getEndTime()));
                 trainingTask.setContent(null);
-                if (plan.getExecTimes()>1){
-                    trainingTask.setTitle(plan.getPlanName()+"第"+i+"次培训");
-                }else {
+                if (plan.getExecTimes() > 1) {
+                    trainingTask.setTitle(plan.getPlanName() + "第" + i + "次培训");
+                } else {
                     trainingTask.setTitle(plan.getPlanName());
                 }
 
@@ -819,13 +819,39 @@ public class CoreEduTrainingTaskServiceImpl extends ServiceImpl<CoreEduTrainingT
     @Override
     public List<PanelListVo> selectCurUserTaskList(PanelListDto panelListDto) {
         List<PanelListVo> list = coreEduTrainingTaskMapper.selectCurUserTaskList(panelListDto);
+        if (ObjectUtil.isEmpty(list)) {
+            return new ArrayList<>();
+        }
         list.removeIf(item -> DateUtil.compare(new Date(), item.getEndTime()) > 0);
         list.forEach(item -> {
             item.setType(PanelTypeEnums.EDU_TRAINING.getCode());
         });
+        //处理签名数据
+        dealEduTrainingSign(list);
         return list;
     }
 
+    private void dealEduTrainingSign(List<PanelListVo> list) {
+        //sql中查询了待签名的数据,但是没对数据范围做控制,需要排除不是自己的签名任务,
+        // 并且多个参与人员的情况,当前用户已经签署过了,也不需要显示该条数据
+        List<Long> needRemoveList = new ArrayList<>();
+        for (PanelListVo vo : list) {
+            if (ObjectUtil.notEqual(EduTrainingDoStatus.WAIT_SIGN.getCode(), vo.getStatus())) {
+                continue;
+            }
+            int value = coreEduTrainingTaskToUserMapper.selectCount(new LambdaQueryWrapper<CoreEduTrainingTaskToUser>()
+                    .eq(CoreEduTrainingTaskToUser::getEduTrainingTaskId, vo.getId())
+                    .eq(CoreEduTrainingTaskToUser::getUserId, SecurityUtils.getUserId())
+                    .eq(CoreEduTrainingTaskToUser::getType, 1)
+                    .eq(CoreEduTrainingTaskToUser::getSign, 0))
+                    .intValue();
+            if (value == 0) {
+                needRemoveList.add(vo.getId());
+            }
+        }
+        list.removeIf(x -> needRemoveList.contains(x.getId()));
+    }
+
     @Override
     public void taskChangeForTimeWorkChange(WorkTimeChangeEvent event) {
         String date = LocalDate.now().format(DateTimeFormatter.ofPattern(Constants.DAILY_FORMAT));

+ 20 - 12
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/controller/CoreSafeMonthScoreController.java

@@ -1,12 +1,16 @@
 package com.xunmei.core.safetyindex.controller;
 
+import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailPageVo;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
 import com.xunmei.common.core.web.controller.BaseController;
 import com.xunmei.common.core.web.domain.AjaxResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.log.annotation.Log;
 import com.xunmei.common.log.enums.BusinessType;
 import com.xunmei.common.security.annotation.RequiresPermissions;
-import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
 import com.xunmei.core.safetyindex.service.ICoreSafeMonthScoreService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -32,25 +36,29 @@ public class CoreSafeMonthScoreController extends BaseController {
     @ApiOperation(value = "查询CoreSafeMonthScore列表")
     @RequiresPermissions("core:safeMonthScore:list")
     @GetMapping("/list")
-    public TableDataInfo<CoreSafeMonthScore> list(CoreSafeMonthScore coreSafeMonthScore) {
+    public TableDataInfo<CoreSafeMonthScorePageVo> list(CoreSafeMonthScorePageDto request) {
 
-        return coreSafeMonthScoreService.selectPage(coreSafeMonthScore);
+        return coreSafeMonthScoreService.selectPage(request);
     }
 
 
-    /**
-     * 获取安全指数机构月度得分详细信息
-     */
+
     @ApiOperation(value = "获取CoreSafeMonthScore详细信息")
     @RequiresPermissions("core:safeMonthScore:query")
-    @GetMapping(value = "/{id}")
-    public AjaxResult getInfo(@PathVariable("id") Long id) {
-        return success(coreSafeMonthScoreService.selectCoreSafeMonthScoreById(id));
+    @PostMapping(value = "/detail")
+    public TableDataInfo<CoreSafeMonthScoreDetailPageVo> getInfo(@RequestBody CoreSafeMonthScoreDetailPageDto request) {
+        return coreSafeMonthScoreService.selectDetailPageData(request);
     }
 
-    /**
-     * 新增安全指数机构月度得分
-     */
+
+    @ApiOperation(value = "获取CoreSafeMonthScore详细信息")
+    @RequiresPermissions("core:safeMonthScore:query")
+    @PostMapping("/find/singleOrg")
+    public Object singleOrg(@RequestBody CoreSafeMonthScorePageDto request) {
+        return coreSafeMonthScoreService.singleOrg(request);
+    }
+
+
     @ApiOperation(value = "新增CoreSafeMonthScore")
     @RequiresPermissions("core:safeMonthScore:add")
     @Log(title = "安全指数机构月度得分", businessType = BusinessType.INSERT)

+ 10 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/mapper/CoreSafeMonthScoreMapper.java

@@ -1,9 +1,14 @@
 package com.xunmei.core.safetyindex.mapper;
 
-import java.util.List;
-
-import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 安全指数机构月度得分Mapper接口
@@ -59,4 +64,6 @@ public interface CoreSafeMonthScoreMapper extends BaseMapper<CoreSafeMonthScore>
      * @return 结果
      */
     int deleteCoreSafeMonthScoreByIds(Long[] ids);
+
+    IPage<CoreSafeMonthScorePageVo> selectPageData(Page<CoreSafeMonthScorePageVo> pageRequest, @Param("request") CoreSafeMonthScorePageDto req);
 }

+ 8 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/ICoreSafeMonthScoreService.java

@@ -2,6 +2,10 @@ package com.xunmei.core.safetyindex.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailPageVo;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
 import com.xunmei.common.core.web.page.TableDataInfo;
 
 import java.util.List;
@@ -19,7 +23,7 @@ public interface ICoreSafeMonthScoreService extends IService<CoreSafeMonthScore>
      * @param id 安全指数机构月度得分主键
      * @return 安全指数机构月度得分
      */
-     CoreSafeMonthScore selectCoreSafeMonthScoreById(Long id);
+    TableDataInfo<CoreSafeMonthScoreDetailPageVo> selectDetailPageData(CoreSafeMonthScoreDetailPageDto request);
 
     /**
      * 查询安全指数机构月度得分列表
@@ -67,11 +71,13 @@ public interface ICoreSafeMonthScoreService extends IService<CoreSafeMonthScore>
      * @param coreSafeMonthScore 查询条件对象
      * @return Page
      */
-    TableDataInfo<CoreSafeMonthScore> selectPage(CoreSafeMonthScore coreSafeMonthScore);
+    TableDataInfo<CoreSafeMonthScorePageVo> selectPage(CoreSafeMonthScorePageDto request);
 
     void checkAndSaveBatchData(List<CoreSafeMonthScore> listSafeMonthScore);
 
 
     void checkAndSaveData(CoreSafeMonthScore monthScore);
 
+    Object singleOrg(CoreSafeMonthScorePageDto request);
+
 }

+ 56 - 16
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyindex/service/impl/CoreSafeMonthScoreServiceImpl.java

@@ -2,18 +2,29 @@ package com.xunmei.core.safetyindex.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScoreDetailPageDto;
+import com.xunmei.common.core.domain.safetyindex.dto.CoreSafeMonthScorePageDto;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScoreDetailPageVo;
+import com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo;
+import com.xunmei.common.core.util.BeanHelper;
+import com.xunmei.common.core.web.page.TableDataInfo;
+import com.xunmei.core.safetyindex.mapper.CoreSafeLevelMapper;
 import com.xunmei.core.safetyindex.mapper.CoreSafeMonthScoreMapper;
 import com.xunmei.core.safetyindex.service.ICoreSafeMonthScoreService;
 import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysOrg;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 安全指数机构月度得分Service业务层处理
@@ -27,17 +38,14 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
     private CoreSafeMonthScoreMapper coreSafeMonthScoreMapper;
     @Autowired
     private RemoteOrgService orgService;
-
+    @Autowired
+    private CoreSafeLevelMapper safeLevelMapper;
     @Override
-    public TableDataInfo<CoreSafeMonthScore> selectPage(CoreSafeMonthScore coreSafeMonthScore) {
-
-        Page<CoreSafeMonthScore> page=new Page<>(1,10);
+    public TableDataInfo<CoreSafeMonthScorePageVo> selectPage(CoreSafeMonthScorePageDto req) {
 
-        //查询条件
-        QueryWrapper<CoreSafeMonthScore> query = new QueryWrapper<>(coreSafeMonthScore);
 
         //获取数据
-        page = coreSafeMonthScoreMapper.selectPage(page, query);
+        IPage<CoreSafeMonthScorePageVo> page = coreSafeMonthScoreMapper.selectPageData(req.getPageRequest(), req);
         //抓换为TableDataInfo适配前端
         return TableDataInfo.build(page);
 
@@ -45,15 +53,47 @@ public class CoreSafeMonthScoreServiceImpl extends ServiceImpl<CoreSafeMonthScor
     }
 
 
-    /**
-     * 查询安全指数机构月度得分
-     *
-     * @param id 安全指数机构月度得分主键
-     * @return 安全指数机构月度得分
-     */
     @Override
-    public CoreSafeMonthScore selectCoreSafeMonthScoreById(Long id) {
-        return coreSafeMonthScoreMapper.selectById(id);
+    public TableDataInfo<CoreSafeMonthScoreDetailPageVo> selectDetailPageData(CoreSafeMonthScoreDetailPageDto request) {
+        Long orgId = request.getOrgId();
+        List<SysOrg> childrenIds = this.orgService.selectSysOrgByParentId(orgId,SecurityConstants.INNER);
+        List<Long> idList = childrenIds.stream().map(SysOrg::getId).collect(Collectors.toList());
+        idList.add(request.getOrgId());
+        LambdaQueryWrapper<CoreSafeMonthScore> wrapper = Wrappers.lambdaQuery();
+        wrapper.in(CoreSafeMonthScore::getOrgId, idList);
+        if (request.getDate() != null) {
+            wrapper.eq(CoreSafeMonthScore::getDataMonth, request.getDataMonth())
+                    .eq(CoreSafeMonthScore::getDataYear, request.getDataYear());
+        }
+        Long levelId = request.getLevelId();
+        if (null != levelId) {
+            wrapper.eq(CoreSafeMonthScore::getLevelId, levelId);
+        }
+        Page<CoreSafeMonthScore> page = baseMapper.selectPage(request.getPageRequest(), wrapper);
+        if (page.getRecords().size()>0){
+            IPage<CoreSafeMonthScoreDetailPageVo> page1 = page.convert(this::getSafeMonthScoreDetailPageVo);
+            return TableDataInfo.build(page1);
+        }
+
+        return TableDataInfo.build();
+    }
+
+    private CoreSafeMonthScoreDetailPageVo getSafeMonthScoreDetailPageVo(CoreSafeMonthScore safeMonthScore) {
+        CoreSafeMonthScoreDetailPageVo vo = new CoreSafeMonthScoreDetailPageVo();
+        BeanHelper.copyProperties(vo, safeMonthScore);
+        String levelName = this.safeLevelMapper.selectById(safeMonthScore.getLevelId()).getLevelName();
+        vo.setLevelName(levelName);
+        Long orgId = safeMonthScore.getOrgId();
+        SysOrg org = this.orgService.selectOrgById(orgId, SecurityConstants.INNER);
+        vo.setOrgName(org.getName());
+        vo.setOrgType(org.getType());
+        vo.setOrgId(org.getId());
+        return vo;
+    }
+
+    @Override
+    public Object singleOrg(CoreSafeMonthScorePageDto request) {
+        return null;
     }
 
     /**

+ 158 - 90
soc-modules/soc-modules-core/src/main/resources/mapper/safetyindex/CoreSafeMonthScoreMapper.xml

@@ -3,128 +3,161 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xunmei.core.safetyindex.mapper.CoreSafeMonthScoreMapper">
-
     <resultMap type="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore" id="CoreSafeMonthScoreResult">
-                <result property="id" column="id"/>
-                <result property="levelId" column="level_id"/>
-                <result property="orgId" column="org_id"/>
-                <result property="dataYear" column="data_year"/>
-                <result property="dataMonth" column="data_month"/>
-                <result property="orgScore" column="org_score"/>
-                <result property="releaseStatus" column="release_status"/>
-                <result property="orgPath" column="org_path"/>
+        <result property="id" column="id"/>
+        <result property="levelId" column="level_id"/>
+        <result property="orgId" column="org_id"/>
+        <result property="dataYear" column="data_year"/>
+        <result property="dataMonth" column="data_month"/>
+        <result property="orgScore" column="org_score"/>
+        <result property="releaseStatus" column="release_status"/>
+        <result property="orgPath" column="org_path"/>
     </resultMap>
 
     <sql id="selectCoreSafeMonthScoreVo">
-        select id, level_id, org_id, data_year, data_month, org_score, release_status, org_path
+        select id,
+               level_id,
+               org_id,
+               data_year,
+               data_month,
+               org_score,
+               release_status,
+               org_path
         from core_safe_month_score
     </sql>
 
-    <select id="selectCoreSafeMonthScoreList" parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore"
+    <select id="selectCoreSafeMonthScoreList"
+            parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore"
             resultMap="CoreSafeMonthScoreResult">
         <include refid="selectCoreSafeMonthScoreVo"/>
         <where>
-                        <if test="levelId != null ">
-                            and level_id = #{levelId}
-                        </if>
-                        <if test="orgId != null ">
-                            and org_id = #{orgId}
-                        </if>
-                        <if test="dataYear != null ">
-                            and data_year = #{dataYear}
-                        </if>
-                        <if test="dataMonth != null ">
-                            and data_month = #{dataMonth}
-                        </if>
-                        <if test="orgScore != null ">
-                            and org_score = #{orgScore}
-                        </if>
-                        <if test="releaseStatus != null ">
-                            and release_status = #{releaseStatus}
-                        </if>
-                        <if test="orgPath != null  and orgPath != ''">
-                            and org_path = #{orgPath}
-                        </if>
+            <if test="levelId != null ">
+                and level_id = #{levelId}
+            </if>
+            <if test="orgId != null ">
+                and org_id = #{orgId}
+            </if>
+            <if test="dataYear != null ">
+                and data_year = #{dataYear}
+            </if>
+            <if test="dataMonth != null ">
+                and data_month = #{dataMonth}
+            </if>
+            <if test="orgScore != null ">
+                and org_score = #{orgScore}
+            </if>
+            <if test="releaseStatus != null ">
+                and release_status = #{releaseStatus}
+            </if>
+            <if test="orgPath != null  and orgPath != ''">
+                and org_path = #{orgPath}
+            </if>
         </where>
     </select>
 
     <select id="selectCoreSafeMonthScoreById" parameterType="Long"
             resultMap="CoreSafeMonthScoreResult">
-            <include refid="selectCoreSafeMonthScoreVo"/>
-            where id = #{id}
+        <include refid="selectCoreSafeMonthScoreVo"/>
+        where id = #{id}
     </select>
 
-    <insert id="insertCoreSafeMonthScore" parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore">
+    <insert id="insertCoreSafeMonthScore"
+            parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore">
         insert into core_safe_month_score
         <trim prefix="(" suffix=")" suffixOverrides=",">
-                    <if test="id != null">id,
-                    </if>
-                    <if test="levelId != null">level_id,
-                    </if>
-                    <if test="orgId != null">org_id,
-                    </if>
-                    <if test="dataYear != null">data_year,
-                    </if>
-                    <if test="dataMonth != null">data_month,
-                    </if>
-                    <if test="orgScore != null">org_score,
-                    </if>
-                    <if test="releaseStatus != null">release_status,
-                    </if>
-                    <if test="orgPath != null">org_path,
-                    </if>
+            <if test="id != null">
+                id,
+            </if>
+            <if test="levelId != null">
+                level_id,
+            </if>
+            <if test="orgId != null">
+                org_id,
+            </if>
+            <if test="dataYear != null">
+                data_year,
+            </if>
+            <if test="dataMonth != null">
+                data_month,
+            </if>
+            <if test="orgScore != null">
+                org_score,
+            </if>
+            <if test="releaseStatus != null">
+                release_status,
+            </if>
+            <if test="orgPath != null">
+                org_path,
+            </if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-                    <if test="id != null">#{id},
-                    </if>
-                    <if test="levelId != null">#{levelId},
-                    </if>
-                    <if test="orgId != null">#{orgId},
-                    </if>
-                    <if test="dataYear != null">#{dataYear},
-                    </if>
-                    <if test="dataMonth != null">#{dataMonth},
-                    </if>
-                    <if test="orgScore != null">#{orgScore},
-                    </if>
-                    <if test="releaseStatus != null">#{releaseStatus},
-                    </if>
-                    <if test="orgPath != null">#{orgPath},
-                    </if>
+            <if test="id != null">
+                #{id},
+            </if>
+            <if test="levelId != null">
+                #{levelId},
+            </if>
+            <if test="orgId != null">
+                #{orgId},
+            </if>
+            <if test="dataYear != null">
+                #{dataYear},
+            </if>
+            <if test="dataMonth != null">
+                #{dataMonth},
+            </if>
+            <if test="orgScore != null">
+                #{orgScore},
+            </if>
+            <if test="releaseStatus != null">
+                #{releaseStatus},
+            </if>
+            <if test="orgPath != null">
+                #{orgPath},
+            </if>
         </trim>
     </insert>
 
-    <update id="updateCoreSafeMonthScore" parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore">
+    <update id="updateCoreSafeMonthScore"
+            parameterType="com.xunmei.common.core.domain.safetyindex.domain.CoreSafeMonthScore">
         update core_safe_month_score
         <trim prefix="SET" suffixOverrides=",">
-                    <if test="levelId != null">level_id =
-                        #{levelId},
-                    </if>
-                    <if test="orgId != null">org_id =
-                        #{orgId},
-                    </if>
-                    <if test="dataYear != null">data_year =
-                        #{dataYear},
-                    </if>
-                    <if test="dataMonth != null">data_month =
-                        #{dataMonth},
-                    </if>
-                    <if test="orgScore != null">org_score =
-                        #{orgScore},
-                    </if>
-                    <if test="releaseStatus != null">release_status =
-                        #{releaseStatus},
-                    </if>
-                    <if test="orgPath != null">org_path =
-                        #{orgPath},
-                    </if>
+            <if test="levelId != null">
+                level_id =
+                #{levelId},
+            </if>
+            <if test="orgId != null">
+                org_id =
+                #{orgId},
+            </if>
+            <if test="dataYear != null">
+                data_year =
+                #{dataYear},
+            </if>
+            <if test="dataMonth != null">
+                data_month =
+                #{dataMonth},
+            </if>
+            <if test="orgScore != null">
+                org_score =
+                #{orgScore},
+            </if>
+            <if test="releaseStatus != null">
+                release_status =
+                #{releaseStatus},
+            </if>
+            <if test="orgPath != null">
+                org_path =
+                #{orgPath},
+            </if>
         </trim>
         where id = #{id}
     </update>
 
     <delete id="deleteCoreSafeMonthScoreById" parameterType="Long">
         delete
-        from core_safe_month_score where id = #{id}
+        from core_safe_month_score
+        where id = #{id}
     </delete>
 
     <delete id="deleteCoreSafeMonthScoreByIds" parameterType="String">
@@ -133,4 +166,39 @@
             #{id}
         </foreach>
     </delete>
+    <resultMap id="CoreSafeMonthScorePageVo"
+               type="com.xunmei.common.core.domain.safetyindex.vo.CoreSafeMonthScorePageVo">
+        <result column="org_id" property="orgId"/>
+        <result column="org_name" property="orgName"/>
+        <result column="data_month" property="dataMonth"/>
+        <result column="data_year" property="dataYear"/>
+        <result column="level_70_80" property="level_70_80"/>
+        <result column="level_80_90" property="level_80_90"/>
+        <result column="level_gt90" property="level_gt90"/>
+        <result column="level_lt70" property="level_lt70"/>
+    </resultMap>
+    <select id="selectPageData" resultMap="CoreSafeMonthScorePageVo">
+        SELECT q.org_id,
+        q.org_name,
+        q.data_year,
+        q.data_month,
+        max(if(q.level_id=1,q.size,0)) level_gt90,
+        max(if(q.level_id=2,q.size,0)) level_80_90,
+        max(if(q.level_id=3,q.size,0)) level_70_80,
+        max(if(q.level_id=4,q.size,0)) level_lt70
+        FROM (select m.org_id, m.org_name, m.level_id, m.data_year, m.data_month, count(1) size
+        from (select a.id org_id, a.`name` org_name, t.level_id, t.data_year, t.data_month
+        from (select id, name, path from sys_org where parent_id = #{request.orgId,jdbcType=BIGINT}) a
+        , (SELECT a.*, b.path from core_safe_month_score a, sys_org b where a.org_id = b.id and b.deleted = 0
+        <if test="request.date != null">
+            and a.data_year = #{request.dataYear,javaType=int}
+            and a.data_month = #{request.dataMonth,javaType=int}
+        </if>
+        ) t
+        where t.path LIKE CONCAT(a.path, '%')
+        ) m
+        GROUP BY m.org_id, m.org_name, m.level_id, m.data_year, m.data_month) q
+        WHERE q.data_year is not null
+        GROUP BY q.org_id, q.org_name, q.data_year, q.data_month
+    </select>
 </mapper>

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

@@ -636,7 +636,7 @@ public class SysUserController extends BaseController {
                 }
             }
         }).sheet().doRead();
-        return success();
+        return success("导入成功!");
     }
 
     /***

+ 1 - 1
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysWorkTimeMapper.xml

@@ -126,7 +126,7 @@
     <select id="selectByPage" resultType="com.xunmei.system.dto.SysWorkTimeDto">
         SELECT
             t.*,
-            o.NAME as orgName
+            o.short_name as orgName
         FROM
             sys_work_time t
                 LEFT JOIN sys_org o ON t.org_id = o.id