diff --git a/hzims-service-api/basic-api/pom.xml b/hzims-service-api/basic-api/pom.xml
index ab3c5b0..cf979da 100644
--- a/hzims-service-api/basic-api/pom.xml
+++ b/hzims-service-api/basic-api/pom.xml
@@ -7,6 +7,12 @@
com.hnac.hzims
4.0.0-SNAPSHOT
+
+
+ com.alibaba
+ easyexcel
+
+
4.0.0
basic-api
jar
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java
index 056acc8..13d20c5 100644
--- a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/entity/CertificatetNoticeEntity.java
@@ -1,6 +1,7 @@
package com.hnac.hzims.basic.entity;
import com.baomidou.mybatisplus.annotation.SqlCondition;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -41,4 +42,10 @@ public class CertificatetNoticeEntity extends TenantEntity {
@ApiModelProperty(value = "通知用户")
@QueryField(condition = SqlCondition.LIKE)
private String noticeUsers;
+ /**
+ * 通知用户
+ */
+ @TableField(exist = false)
+ @ApiModelProperty(value = "通知用户")
+ private String noticeUserNames;
}
diff --git a/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java
new file mode 100644
index 0000000..3d3f388
--- /dev/null
+++ b/hzims-service-api/basic-api/src/main/java/com/hnac/hzims/basic/vo/PersonManagemetExportVo.java
@@ -0,0 +1,122 @@
+package com.hnac.hzims.basic.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnore;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+
+/**
+ * 实体类
+ * @author Chill
+ */
+@Data
+@ApiModel(value = "档案管理导出类",description = "档案管理导出类")
+public class PersonManagemetExportVo{
+
+ private static final long serialVersionUID = 1L;
+
+ @ExcelIgnore()
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "用户ID")
+ private String userId;
+
+ /**
+ * 单位名称
+ */
+ @ExcelProperty(value = "单位名称", index = 0)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "单位名称")
+ private String unitName;
+
+ /**
+ * 用户名称
+ */
+ @ExcelProperty(value = "用户名称", index = 1)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "用户名称")
+ private String name;
+
+
+ /**
+ * 性别
+ */
+ @ExcelProperty(value = "性别", index = 2)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "性别")
+ private String sex;
+ /**
+ * 职位
+ */
+ @ExcelProperty(value = "职位", index = 3)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "职位")
+ private String job;
+ /**
+ * 职称
+ */
+ @ExcelProperty(value = "职称", index = 4)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "职称")
+ private String academicTitle;
+ /**
+ * 电话号码
+ */
+ @ExcelProperty(value = "电话号码", index = 5)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "电话号码")
+ private String phone;
+
+ /**
+ * 档案类型
+ */
+ @ExcelProperty(value = "档案类型", index = 6)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "档案类型")
+ private String type;
+
+ /**
+ * 到期时间
+ */
+ @ExcelProperty(value = "到期时间", index = 7)
+ @ColumnWidth(value = 20)
+ @DateTimeFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @ApiModelProperty(value = "到期时间")
+ private Date deadTime;
+
+ /**
+ * 创建时间
+ */
+ @ExcelProperty(value = "创建时间", index = 8)
+ @ColumnWidth(value = 20)
+ @DateTimeFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss"
+ )
+ @ApiModelProperty(value = "创建时间")
+ private Date createTime;
+
+ /**
+ * 是否过期
+ */
+ @ExcelProperty(value = "是否过期", index = 9)
+ @ColumnWidth(value = 20)
+ @ApiModelProperty(value = "是否过期")
+ private String isDead;
+
+
+
+}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java
index 90cd677..6e392f6 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/CertificatetNoticeController.java
@@ -1,5 +1,6 @@
package com.hnac.hzims.basic.controller;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.hnac.hzims.basic.entity.CertificatetNoticeEntity;
@@ -10,8 +11,14 @@ import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.system.user.cache.UserCache;
+import org.springblade.system.user.entity.User;
import org.springframework.web.bind.annotation.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* 控制器
@@ -46,7 +53,7 @@ public class CertificatetNoticeController extends BladeController {
/**
* 新增或修改
*/
- @PostMapping("/getCertificatetNotice")
+ @GetMapping("/getCertificatetNotice")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "增加", notes = "传入imsDutyClass")
public R getCertificatetNotice() {
@@ -54,10 +61,21 @@ public class CertificatetNoticeController extends BladeController {
.eq(CertificatetNoticeEntity::getIsDeleted, 0)
.last("limit 1;"));
if (ObjectUtil.isNotEmpty(res)) {
+ if (StringUtils.isNotBlank(res.getNoticeUsers())) {
+ String noticeUsers = res.getNoticeUsers();
+ List list = Arrays.asList(noticeUsers.split(","));
+ String names = list.stream().map(s -> {
+ if (ObjectUtil.isNotEmpty(UserCache.getUser(Long.valueOf(s)))) {
+ return UserCache.getUser(Long.valueOf(s));
+ }else {
+ return new User();
+ }
+ }).filter(s->ObjectUtil.isNotEmpty(s)).map(User::getName).collect(Collectors.joining(","));
+ res.setNoticeUserNames(names);
+ }
return R.data(res);
}
return R.data("");
-
}
}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java
index 4c6f7ff..51334ae 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/controller/PresonManagementController.java
@@ -1,31 +1,30 @@
package com.hnac.hzims.basic.controller;
-import com.alibaba.spring.util.BeanUtils;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.alibaba.druid.support.json.JSONUtils;
+import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
-import com.hnac.hzims.basic.entity.PersonManagemetEntity;
import com.hnac.hzims.basic.service.IImsPresonManagementService;
+import com.hnac.hzims.basic.vo.PersonManagemetExportVo;
import com.hnac.hzims.basic.vo.PersonManagemetVo;
import com.hnac.hzims.common.logs.annotation.OperationAnnotation;
import com.hnac.hzims.common.logs.enums.BusinessType;
import com.hnac.hzims.common.logs.enums.OperatorType;
-import com.hnac.hzims.operational.duty.entity.ImsDutyClassEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
-import org.springblade.core.mp.support.Condition;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.core.tool.utils.CollectionUtil;
-import org.springblade.core.tool.utils.Func;
import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
@@ -79,5 +78,44 @@ public class PresonManagementController extends BladeController {
return R.fail("删除失败");
}
+ /**
+ * 分页 代码自定义代号
+ */
+ @GetMapping("/exportPersonManagemetVo")
+ @ApiOperationSupport(order = 2)
+ @ApiOperation(value = "分页", notes = "传入imsDutyClass")
+ @OperationAnnotation(moduleName = "档案管理",title = "档案管理",operatorType = OperatorType.MOBILE,businessType =
+ BusinessType.GENCODE,action
+ = "档案管理")
+ public void exportPersonManagemetVo(HttpServletResponse response,PersonManagemetVo personManagemetVo) {
+ try {
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
+ String fileName = URLEncoder.encode("档案管理报表", "UTF-8");
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ List list=iImsPresonManagementService.exportPersonManagemet(personManagemetVo);
+ if(list!=null && list.size()>0){
+ System.out.println("---------------- size = " + list.size());
+ // 这里需要设置不关闭流
+ EasyExcel.write(response.getOutputStream(), PersonManagemetExportVo.class).autoCloseStream(Boolean.FALSE).sheet("档案管理报表")
+ .doWrite(list);
+ }
+ } catch (Exception e) {
+ System.out.println("exportExcel = " + e.toString());
+ // 重置response
+ response.reset();
+ response.setContentType("application/json");
+ response.setCharacterEncoding("utf-8");
+ Map map = new HashMap<>();
+ map.put("isSuccess", "false");
+ map.put("msg", "档案管理报表导出失败" + e.getMessage());
+ try {
+ response.getWriter().println(JSONUtils.toJSONString(map));
+ } catch (IOException e3) {
+ throw new ServiceException( "发生异常 :" + e.toString());
+ }
+ }
+ }
}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java
index 708bb7f..fdbaf20 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.java
@@ -2,6 +2,7 @@ package com.hnac.hzims.basic.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.vo.PersonManagemetExportVo;
import com.hnac.hzims.basic.vo.PersonManagemetVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -27,4 +28,9 @@ public interface PersonManagemetMapper extends UserDataScopeBaseMapper exportPersonManagemet(
+ @Param(value = "type")String type, @Param(value = "deadStartTime") Date deadStartTime, @Param(value = "deadTime")Date deadTime,
+ @Param(value = "name")String name, @Param(value = "unitName")String unitName, @Param(value = "sex")String sex, @Param(value = "job")String job,
+ @Param(value = "academicTitle")String academicTitle, @Param(value = "status")Integer status) ;
+
}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml
index e4c173b..6cf6c05 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/mapper/PersonManagemetMapper.xml
@@ -58,6 +58,7 @@
and a.academic_title like CONCAT('%',#{academic_title},'%')
+ ORDER BY a.CREATE_TIME,BCREATE_TIME DESC
LIMIT #{current}, #{size}
@@ -95,5 +96,45 @@
and b.status =#{status}
+
+
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java
index 2ff68b8..408e4be 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/IImsPresonManagementService.java
@@ -3,10 +3,13 @@ package com.hnac.hzims.basic.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hnac.hzims.basic.entity.PersonManagemetEntity;
+import com.hnac.hzims.basic.vo.PersonManagemetExportVo;
import com.hnac.hzims.basic.vo.PersonManagemetVo;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import java.util.List;
+
/**
* 服务类
*
@@ -19,4 +22,6 @@ public interface IImsPresonManagementService extends IService exportPersonManagemet(PersonManagemetVo personManagemetVo);
}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java
index e73e684..830a440 100644
--- a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/service/impl/PresonManagementServiceImpl.java
@@ -9,6 +9,8 @@ import com.hnac.hzims.basic.entity.PersonManagemetEntity;
import com.hnac.hzims.basic.mapper.PersonManagemetMapper;
import com.hnac.hzims.basic.service.IImsCertificatetService;
import com.hnac.hzims.basic.service.IImsPresonManagementService;
+import com.hnac.hzims.basic.utils.CertificatetType;
+import com.hnac.hzims.basic.vo.PersonManagemetExportVo;
import com.hnac.hzims.basic.vo.PersonManagemetVo;
import com.hnac.hzims.common.logs.utils.StringUtils;
import lombok.RequiredArgsConstructor;
@@ -131,5 +133,22 @@ public class PresonManagementServiceImpl extends BaseServiceImpl exportPersonManagemet(PersonManagemetVo personManagemetVo) {
+ List list = baseMapper.exportPersonManagemet(personManagemetVo.getType(), personManagemetVo.getDeadStartTime(), personManagemetVo.getDeadTime(),
+ personManagemetVo.getName(), personManagemetVo.getUnitName(), personManagemetVo.getSex(), personManagemetVo.getJob(),
+ personManagemetVo.getAcademicTitle(), personManagemetVo.getStatus());
+ list = list.stream().map(s -> {
+ CertificatetType[] types = CertificatetType.values();
+ for (int i = 0; i < types.length; i++) {
+ if (types[i].getValue().equals(s.getType())) {
+ s.setType(types[i].getKey());
+ }
+ }
+ return s;
+ }).collect(Collectors.toList());
+ return list;
+ }
+
}
diff --git a/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java
new file mode 100644
index 0000000..041f5fe
--- /dev/null
+++ b/hzims-service/hzims-basic/src/main/java/com/hnac/hzims/basic/utils/CertificatetType.java
@@ -0,0 +1,41 @@
+package com.hnac.hzims.basic.utils;
+
+
+import lombok.Getter;
+
+/**
+ * 证书类型
+ * @author ty
+ */
+public enum CertificatetType
+{
+ /**
+ * 电工证
+ */
+ Electrician("1","电工证"),
+
+ /**
+ * 安全员证
+ */
+ Safety("2","安全员证"),
+
+ /**
+ * 登高证
+ */
+ Climbe("3","登高证"),
+
+ /**
+ * 桥机证
+ */
+ Bridge("4","桥机证");
+ @Getter
+ private String value;
+
+ @Getter
+ private String key;
+
+ CertificatetType(String value, String key){
+ this.key = key;
+ this.value = value;
+ }
+}