luowei 1 سال پیش
والد
کامیت
8749e4cc31

+ 0 - 3
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/evaluate/service/impl/CoreEvaluateTaskServiceImpl.java

@@ -64,9 +64,6 @@ public class CoreEvaluateTaskServiceImpl extends ServiceImpl<CoreEvaluateTaskMap
 
     @Override
     public TableDataInfo<CoreEvaluateTaskVO> selectPage(EvaluateTaskDTO evaluateTaskDTO) {
-//        EvaluateTaskStatisticsDTO evaluateTaskStatisticsDTO = new EvaluateTaskStatisticsDTO();
-//        BeanUtils.copyProperties(evaluateTaskDTO, evaluateTaskStatisticsDTO);
-//        statistics(evaluateTaskStatisticsDTO);
         Page<CoreEvaluateTaskVO> page;
         //分页
         if (evaluateTaskDTO.getPageNum() != null && evaluateTaskDTO.getPageSize() != null) {

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

@@ -29,6 +29,7 @@ import com.xunmei.system.domain.vo.UserRoleVo;
 import com.xunmei.system.api.dto.SysPlanOrgDTO;
 import com.xunmei.system.mapper.SysOrgMapper;
 import com.xunmei.system.service.*;
+import com.xunmei.system.util.SecurityUserExport;
 import com.xunmei.system.util.UserExport;
 import com.xunmei.system.util.UserImport;
 import io.swagger.annotations.ApiOperation;
@@ -535,6 +536,33 @@ public class SysUserController extends BaseController {
     @RequiresPermissions("system:user:exportSecurity")
     @PostMapping("/exportSecurity")
     public void exportSecurity(SysUser user, HttpServletResponse response) {
+        List<SecurityUserExport> securityUserExports = userService.downSecurityUser();
+        if (ObjectUtil.isEmpty(securityUserExports)) {
+            throw new RuntimeException("导出数据为空!");
+        }
+        AtomicInteger xh = new AtomicInteger();
+        xh.getAndIncrement();
+        securityUserExports.forEach(e -> {
+
+            e.setXh(String.valueOf(xh.getAndIncrement()));
+        });
+        if (securityUserExports.size() > 10000) {
+            throw new RuntimeException("导出数据量过大(单次导出限量10000条数据),请填写条件分批导出");
+        }
+        try {
+            // 设置响应头
+            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("用户数据", "utf-8"));
+            response.setContentType("application/octet-stream;charset=UTF-8");
+            response.setCharacterEncoding("utf-8");
+            // 数据导出
+            EasyExcel.write(response.getOutputStream(), SecurityUserExport.class)
+                    .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).sheet("用户数据").doWrite(securityUserExports);
+        } catch (Exception e) {
+            // 重置response
+            response.reset();
+            response.setContentType("application/json");
+            response.setCharacterEncoding("utf-8");
+        }
 
     }
     /**

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

@@ -159,7 +159,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
     List<SysUser> selectUserListByRoleAndOrg(@Param("sysRoleOrgDTO") SysPlanOrgDTO sysRoleOrgDTO);
 
     List<UserExport> select(@Param("info") SysUser user);
-   // List<SecurityUserExport>selectSecurityUser();
+    List<SecurityUserExport>selectSecurityUser();
 
     List<String> selectCountByNames(@Param("names")List<String> names);
 }

+ 6 - 3
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/ISysUserService.java

@@ -29,10 +29,11 @@ public interface ISysUserService extends IService<SysUser> {
 
     /**
      * 用户选择窗口查询用户分页列表
+     *
      * @param user
      * @return
      */
-    TableDataInfo<SysUser>  userSelectorList(SysUser user);
+    TableDataInfo<SysUser> userSelectorList(SysUser user);
 
     List<SysUser> selectSyncUserList(SysUser user);
 
@@ -235,8 +236,10 @@ public interface ISysUserService extends IService<SysUser> {
     List<SysUser> selectAllUser(String userName);
 
     List<UserExport> down(SysUser user);
-List<SecurityUserExport> downSecurityUser();
+
+    List<SecurityUserExport> downSecurityUser();
+
     List<String> selectCountByNames(List<String> names);
 
-    List<SysUser>  selectUserListData(SysUser user);
+    List<SysUser> selectUserListData(SysUser user);
 }

+ 1 - 2
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysUserServiceImpl.java

@@ -696,8 +696,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public List<SecurityUserExport> downSecurityUser() {
         SysOrg sysOrg = sysOrgMapper.selectById(SecurityUtils.getLoginUser().getOrgId());
-
-        return null;
+        return userMapper.selectSecurityUser();
     }
 
     @Override

+ 15 - 10
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/util/SecurityUserExport.java

@@ -1,11 +1,13 @@
 package com.xunmei.system.util;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.write.style.ColumnWidth;
 import com.alibaba.excel.annotation.write.style.ContentRowHeight;
 import com.alibaba.excel.annotation.write.style.HeadRowHeight;
 import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.util.Date;
 
@@ -19,6 +21,9 @@ import java.util.Date;
 @HeadRowHeight(16) //表头行高
 @ContentRowHeight(16) //数据行高
 public class SecurityUserExport {
+
+    @ExcelIgnore
+    private Long orgId;
     @ExcelProperty(value = "序号", index = 0)
     @TableField(exist = false)
     private String xh;
@@ -40,24 +45,24 @@ public class SecurityUserExport {
     private String nowDuties;
     @ExcelProperty(value = "是否专职(专职是指专职做安全保卫部门相应岗位工作,不再兼任其他岗位或部门工作)", index = 9)
     private String isFullTime;
-    @ExcelProperty(value = "用工形式", index = 9)
+    @ExcelProperty(value = "用工形式", index = 10)
     private String workType;
-    @ExcelProperty(value = "现任职时间", index = 10)
+    @ExcelProperty(value = "现任职时间", index = 11)
     private Date entryTime;
-    @ExcelProperty(value = "工作年限", index = 11)
+    @ExcelProperty(value = "工作年限", index = 12)
     private String workDuration;
-    @ExcelProperty(value = "最高学历", index = 12)
+    @ExcelProperty(value = "最高学历", index = 13)
     private String highestEducation;
-    @ExcelProperty(value = "取得方式", index = 13)
+    @ExcelProperty(value = "取得方式", index = 14)
     private String educationType;
-    @ExcelProperty(value = "初级以上(含初级)相关专业技术职业资格", index = 14)
+    @ExcelProperty(value = "初级以上(含初级)相关专业技术职业资格", index = 15)
     private String professionalQualifications;
-    @ExcelProperty(value = "持证上岗考试通过情况", index = 15)
-    private String certificateWork;
     @ExcelProperty(value = "持证上岗考试通过情况", index = 16)
+    private String certificateWork;
+    @ExcelProperty(value = "持证上岗考试通过情况", index = 17)
     private String certificateFailReason;
-    @ExcelProperty(value = "分管领导姓名", index = 17)
+    @ExcelProperty(value = "分管领导姓名", index = 18)
     private String responsibilitiesLeaderName;
-    @ExcelProperty(value = "分管领导职务", index = 18)
+    @ExcelProperty(value = "分管领导职务", index = 19)
     private String responsibilitiesLeaderDuties;
 }

+ 29 - 0
soc-modules/soc-modules-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -706,4 +706,33 @@
             #{name}
         </foreach>
     </select>
+    <select id="selectSecurityUser" resultType="com.xunmei.system.util.SecurityUserExport">
+        SELECT
+            c.id AS orgId,
+            c.short_name AS orgName,
+            b.`name` AS name,
+            b.gender AS gender,
+            b.card AS card,
+            TIMESTAMPDIFF( YEAR, a.born_time, NOW() ) AS age,
+            a.dept_id AS departmentName,
+            a.duties AS nowDuties,
+            a.is_full_time AS isFullTime,
+            a.work_type AS workType,
+            a.entry_time AS entryTime,
+            TIMESTAMPDIFF( MONTH, a.work_time, NOW() ) AS workDuration,
+            a.highest_education AS highestEducation,
+            a.education_type AS educationType,
+            a.professional_qualifications AS professionalQualifications,
+            a.certificate_work AS certificateWork,
+            a.certificate_fail_reason AS certificateFailReason,
+            a.responsibilities_leader_name AS responsibilitiesLeaderName,
+            a.responsibilities_leader_duties AS responsibilitiesLeaderDuties
+        FROM
+            sys_user_information a
+                LEFT JOIN sys_user b ON a.user_id = b.id
+                LEFT JOIN sys_org c ON c.id = b.org_id
+        WHERE
+            b.deleted = 0
+
+    </select>
 </mapper>