From 7b1d4ea5a82843e76655f4e5955ec7ab58767b5a Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 15 Jul 2021 22:39:41 +0800
Subject: [PATCH] 1.工作汇报接口新增 2.新增保安人员树接口

---
 src/main/java/org/springblade/modules/system/mapper/UserMapper.xml                       |    8 
 src/main/java/org/springblade/modules/workreport/controller/WorkReportController.java    |  192 +++++++++++++++++
 src/main/java/org/springblade/modules/workreport/vo/WorkReportVo.java                    |   35 +++
 src/main/java/org/springblade/modules/system/controller/DeptController.java              |   11 +
 src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java           |   12 +
 src/main/java/org/springblade/modules/workreport/service/WorkReportService.java          |   35 +++
 src/main/java/org/springblade/modules/workreport/service/impl/WorkReportServiceImpl.java |   42 +++
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.java                      |    8 
 src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml                       |   37 +++
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java           |    9 
 src/main/java/org/springblade/modules/system/service/IDeptService.java                   |    6 
 src/main/java/org/springblade/modules/workreport/entity/WorkReport.java                  |  107 +++++++++
 src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.java            |   40 +++
 src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.xml             |   87 +++++++
 src/main/java/org/springblade/modules/system/mapper/UserMapper.java                      |    6 
 src/main/java/org/springblade/modules/system/service/IUserService.java                   |    7 
 src/main/resources/application.yml                                                       |    1 
 17 files changed, 643 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/controller/DeptController.java b/src/main/java/org/springblade/modules/system/controller/DeptController.java
index 0a140b7..2066d38 100644
--- a/src/main/java/org/springblade/modules/system/controller/DeptController.java
+++ b/src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -124,6 +124,17 @@
 		return R.data(tree);
 	}
 
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)
+	 * @return
+	 */
+	@GetMapping("/lazy-tree-user")
+	public R<List<DeptVO>> lazyTreeUser(String tenantId, Long parentId, BladeUser bladeUser) {
+		List<DeptVO> tree = deptService.lazyTreeUser(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+		return R.data(tree);
+	}
+
 	/**
 	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
 	 */
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
index bdb5b2b..e0ee495 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.java
@@ -16,6 +16,7 @@
  */
 package org.springblade.modules.system.mapper;
 
+import com.baomidou.mybatisplus.annotation.SqlParser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springblade.modules.system.entity.Dept;
 import org.springblade.modules.system.vo.DeptVO;
@@ -85,4 +86,11 @@
 	 * 懒加载获取部门树形结构,不包含顶级管理员公安局
 	 */
 	List<DeptVO> securityLazyTree(String tenantId, Long parentId);
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)
+	 * @return
+	 */
+	@SqlParser(filter=true)
+	List<DeptVO> lazyTreeUser(String tenantId, Long parentId);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
index a66b5b3..3f6f796 100644
--- a/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/DeptMapper.xml
@@ -128,6 +128,43 @@
         ORDER BY dept.sort
     </select>
 
+    <!--懒加载获取部门树形结构(包含用户数据)-->
+    <select id="lazyTreeUser" resultMap="treeNodeResultMap" >
+        select DISTINCT  * from (
+            (SELECT
+              dept.id,
+              dept.parent_id,
+              dept.dept_name AS title,
+              dept.id AS "value",
+              dept.id AS "key",
+                        (
+                            SELECT
+                                CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+                            FROM
+                                blade_dept
+                            WHERE
+                                parent_id = dept.id and is_deleted = 0
+                        ) AS "has_children"
+                    FROM
+                        blade_dept dept
+                    WHERE
+                        dept.is_deleted = 0
+            )
+
+            union
+
+            (select
+                id,
+                dept_id  parent_id,
+                real_name AS title,
+                id AS "value",
+                id AS "key",
+                0 as "has_children"
+                from blade_user
+            )
+        )c
+    </select>
+
 
 
     <select id="lazyTrees" resultMap="treeNodeResultMap" >
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
index 3935273..659db23 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.java
@@ -61,4 +61,10 @@
 	 */
 	List<UserExcel> exportUser(@Param("ew") Wrapper<User> queryWrapper);
 
+	/**
+	 * 通过 身份证号查询用户信息
+	 * @param idCardNo 身份证号
+	 * @return
+	 */
+    User getUserInfoByIdCardNo(String idCardNo);
 }
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index dcfe229..b29e034 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -109,4 +109,12 @@
         SELECT id, tenant_id, user_type, account, name, real_name, email, phone, birthday, role_id, dept_id, post_id FROM blade_user ${ew.customSqlSegment}
     </select>
 
+    <!--通过 身份证号查询用户信息-->
+    <select id="getUserInfoByIdCardNo" resultType="org.springblade.modules.system.entity.User">
+        SELECT id, name, real_name RealName
+            FROM
+        blade_user
+        where cardid = #{param1}
+    </select>
+
 </mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IDeptService.java b/src/main/java/org/springblade/modules/system/service/IDeptService.java
index 2867f24..07a3e9b 100644
--- a/src/main/java/org/springblade/modules/system/service/IDeptService.java
+++ b/src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -131,4 +131,10 @@
 	 */
 	List<DeptVO> securityLazyTree(String tenantId, Long parentId);
 	List<String> selectIn();
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)
+	 * @return
+	 */
+	List<DeptVO> lazyTreeUser(String tenantId, Long parentId);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/IUserService.java b/src/main/java/org/springblade/modules/system/service/IUserService.java
index 932d0a5..7938aa7 100644
--- a/src/main/java/org/springblade/modules/system/service/IUserService.java
+++ b/src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -206,4 +206,11 @@
 	 * @return
 	 */
 	UserVO platformDetail(User user);
+
+	/**
+	 * 通过 身份证号查询用户信息
+	 * @param idCardNo 身份证号
+	 * @return
+	 */
+    User getUserInfoByIdCardNo(String idCardNo);
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
index 4cf8335..6223454 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -199,4 +199,16 @@
 	public List<String> selectIn() {
 		return baseMapper.selectIn();
 	}
+
+	/**
+	 * 懒加载获取部门树形结构(包含用户数据)
+	 * @return
+	 */
+	@Override
+	public List<DeptVO> lazyTreeUser(String tenantId, Long parentId) {
+		if (AuthUtil.isAdministrator()) {
+			tenantId = StringPool.EMPTY;
+		}
+		return ForestNodeMerger.merge(baseMapper.lazyTreeUser(tenantId, parentId));
+	}
 }
diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 3ab1c72..97380af 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -422,4 +422,13 @@
 		return userVO;
 	}
 
+	/**
+	 * 通过 身份证号查询用户信息
+	 * @param idCardNo 身份证号
+	 * @return
+	 */
+	@Override
+	public User getUserInfoByIdCardNo(String idCardNo) {
+		return baseMapper.getUserInfoByIdCardNo(idCardNo);
+	}
 }
diff --git a/src/main/java/org/springblade/modules/workreport/controller/WorkReportController.java b/src/main/java/org/springblade/modules/workreport/controller/WorkReportController.java
new file mode 100644
index 0000000..c96da46
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/controller/WorkReportController.java
@@ -0,0 +1,192 @@
+package org.springblade.modules.workreport.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.workreport.entity.WorkReport;
+import org.springblade.modules.workreport.service.WorkReportService;
+import org.springblade.modules.workreport.vo.WorkReportVo;
+import org.springframework.web.bind.annotation.*;
+
+import java.sql.Wrapper;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author zhongrj
+ * @time 2021-07-12
+ * @desc 工作汇报管理控制层
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/workReport")
+public class WorkReportController {
+
+	private final WorkReportService workReportService;
+
+	private final IUserService userService;
+
+	private final IDeptService deptService;
+
+	/**
+	 * 自定义分页
+	 * @param query page,size
+	 * @param workReport 工作汇报信息对象
+	 */
+	@GetMapping("/page")
+	public R<IPage<WorkReportVo>> page(WorkReportVo workReport, Query query) {
+		IPage<WorkReportVo> pages = workReportService.selectWorkReportPage(Condition.getPage(query), workReport);
+		List<WorkReportVo> records = pages.getRecords();
+		for (WorkReportVo record : records) {
+			record.setReplyRealName(getReplyRealName(record));
+			record.setReplyDeptName(getReplyDeptName(record));
+		}
+		return R.data(pages);
+	}
+
+
+	/**
+	 * 自定义分页--接收到的汇报信息page
+	 * @param query page,size
+	 * @param workReport 工作汇报信息对象
+	 */
+	@GetMapping("/pageReply")
+	public R<IPage<WorkReportVo>> pageReply(WorkReportVo workReport, Query query) {
+		IPage<WorkReportVo> pages = workReportService.selectWorkReplyPage(Condition.getPage(query), workReport);
+//		List<WorkReportVo> records = pages.getRecords();
+//		for (WorkReportVo record : records) {
+//			record.setReplyRealName(getReplyRealName(record));
+//			record.setReplyDeptName(getReplyDeptName(record));
+//		}
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增
+	 * @param workReport 工作汇报信息对象
+	 */
+	@PostMapping("/save")
+	@ApiOperation(value = "新增", notes = "传入workReport")
+	public R save(@RequestBody WorkReport workReport) {
+		return R.status(workReportService.save(workReport));
+	}
+
+	/**
+	 * 修改
+	 * @param workReport 工作汇报信息对象
+	 */
+	@PostMapping("/update")
+	public R update(@RequestBody WorkReport workReport) {
+		return R.status(workReportService.updateById(workReport));
+	}
+
+	/**
+	 * 新增或修改
+	 * @param workReport 工作汇报信息对象
+	 */
+	@PostMapping("/submit")
+	public R submit(@RequestBody WorkReport workReport) {
+		if (null!=workReport.getId()){
+			workReport.setReplyTime(new Date());
+			workReport.setReplyDeptIds(getReplyDeptIds(workReport.getReceivedIds()));
+		}else {
+			workReport.setReportTime(new Date());
+			workReport.setReplyDeptIds(getReplyDeptIds(workReport.getReceivedIds()));
+		}
+		return R.status(workReportService.saveOrUpdate(workReport));
+	}
+
+	/**
+	 * 删除
+	 * @param ids 工作汇报信息ids 数组
+	 */
+	@PostMapping("/remove")
+	public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
+		return R.status(workReportService.removeByIds(Func.toLongList(ids)));
+	}
+
+	/**
+	 * 详情
+	 * @param workReport 工作汇报信息对象
+	 */
+	@GetMapping("/detail")
+	@ApiOperation(value = "详情", notes = "传入workReport")
+	public R<WorkReportVo> detail(WorkReport workReport) {
+		//查询工作汇报详情
+		WorkReportVo detail = workReportService.selectWorkReportInfo(workReport);
+		detail.setReplyRealName(getReplyRealName(detail));
+		detail.setReplyDeptName(getReplyDeptName(detail));
+		//查询接收人单位(名称)信息
+		return R.data(detail);
+	}
+
+	/**
+	 * 获取接收人的单位信息
+	 * @param detail 汇报详情
+	 * @return
+	 */
+	private String getReplyDeptName(WorkReportVo detail) {
+		List<String> replyDeptIds = Arrays.asList(detail.getReplyDeptIds().split(","));
+		StringBuilder replyDeptNameInfo = new StringBuilder();
+		for (String deptId : replyDeptIds) {
+			//查询接收人单位信息
+			Dept deptDetail = deptService.getById(Long.parseLong(deptId));
+			replyDeptNameInfo = replyDeptNameInfo.append(deptDetail.getDeptName()).append(",");
+		}
+		//截取
+		return replyDeptNameInfo.substring(0, replyDeptNameInfo.length() - 1);
+	}
+
+	/**
+	 * 获取接收人的单位id(dept)信息
+	 * @param
+	 * @return
+	 */
+	private String getReplyDeptIds(String detail) {
+		List<String> userIds = Arrays.asList(detail.split(","));
+		List<String> list = new ArrayList<>();
+		for (String userId : userIds) {
+			//查询接收人单位信息
+			User userDetail = userService.getById(userId);
+			list.add(userDetail.getDeptId());
+		}
+		//去重
+		List<String> collect = list.stream().distinct().collect(Collectors.toList());
+		//截取
+		return String.join(",",collect);
+	}
+
+	/**
+	 * 查询接收人姓名信息
+	 *
+	 * @param detail 汇报详情
+	 * @return
+	 */
+	private String getReplyRealName(WorkReportVo detail){
+		List<String> userIds = Arrays.asList(detail.getReceivedIds().split(","));
+		StringBuilder replyRealNameInfo = new StringBuilder();
+		for (String userId : userIds) {
+			//查询接收人姓名信息
+//			User user = new User();
+//			user.setCardid(idCardNo);
+//			User userDetail = userService.getOne(Condition.getQueryWrapper(user));
+			User userDetail = userService.getById(userId);
+			replyRealNameInfo = replyRealNameInfo.append(userDetail.getRealName()).append(",");
+		}
+		//截取
+		return replyRealNameInfo.substring(0, replyRealNameInfo.length() - 1);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/workreport/entity/WorkReport.java b/src/main/java/org/springblade/modules/workreport/entity/WorkReport.java
new file mode 100644
index 0000000..db97e56
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/entity/WorkReport.java
@@ -0,0 +1,107 @@
+package org.springblade.modules.workreport.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 工作汇报实体类
+ * @author zhongrj
+ * @time 2021-07-15
+ */
+@Data
+@TableName("sys_work_report")
+public class WorkReport implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 工作汇报主键id
+	 */
+	@TableId(value = "id",type = IdType.AUTO)
+	private Long id;
+
+
+	/**
+	 * 汇报类别(1:保安向保安,2:保安向民警汇报,3:民警向民警)
+	 */
+	private Integer category;
+
+	/**
+	 * 汇报类型  1:日报  2:周报  3:月报
+	 */
+	private Integer type;
+
+	/**
+	 * 汇报内容
+	 */
+	private String content;
+
+	/**
+	 * 备注
+	 */
+	@TableField("work_desc")
+	private String workDesc;
+
+	/**
+	 * 汇报人身份证号
+	 */
+	@TableField("id_card_no")
+	private String idCardNo;
+
+	/**
+	 * 接收人id(存身份证号)
+	 */
+	@TableField("received_ids")
+	private String receivedIds;
+
+
+
+	/**
+	 * 汇报时间
+	 */
+	@TableField("report_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date reportTime;
+
+	/**
+	 * 回复时间
+	 */
+	@TableField("reply_time")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date replyTime;
+
+	/**
+	 * 回复内容
+	 */
+	@TableField("reply_content")
+	private String replyContent;
+
+
+	/**
+	 * 发送人部门id
+	 */
+	@TableField("dept_id")
+	private String deptId;
+
+	/**
+	 * 接收人部门id
+	 */
+	@TableField("reply_dept_ids")
+	private String replyDeptIds;
+
+	/**
+	 * 汇报人 user id
+	 */
+	@TableField("user_id")
+	private Long userId;
+
+}
diff --git a/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.java b/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.java
new file mode 100644
index 0000000..ed00fa2
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.java
@@ -0,0 +1,40 @@
+package org.springblade.modules.workreport.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.modules.workreport.entity.WorkReport;
+import org.springblade.modules.workreport.vo.WorkReportVo;
+
+import java.util.List;
+
+/**
+ * 工作汇报Mapper 接口
+ * @author zhongrj
+ */
+public interface WorkReportMapper extends BaseMapper<WorkReport> {
+
+
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page   分页
+	 * @param workReport 实体
+	 * @return
+	 */
+	List<WorkReportVo> selectWorkReportPage(IPage page, @Param("workReport") WorkReportVo workReport);
+
+	/**
+	 * 详情
+	 * @param workReport 工作汇报信息对象
+	 */
+	WorkReportVo selectWorkReportInfo(@Param("workReport") WorkReport workReport);
+
+	/**
+	 * 自定义分页--接收到的汇报信息page
+	 * @param  page,size
+	 * @param workReport 工作汇报信息对象
+	 */
+    List<WorkReportVo> selectWorkReplyPage(IPage<WorkReportVo> page,@Param("workReport") WorkReportVo workReport);
+}
diff --git a/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.xml b/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.xml
new file mode 100644
index 0000000..a208717
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/mapper/WorkReportMapper.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.workreport.mapper.WorkReportMapper">
+
+    <!--工作汇报分页信息-->
+    <select id="selectWorkReportPage" resultType="org.springblade.modules.workreport.vo.WorkReportVo">
+        SELECT
+            swr.*,bu.real_name realName,bt.dept_name AS deptName
+        FROM
+            sys_work_report swr
+        left join
+            blade_user bu
+        on
+            bu.id = swr.user_id
+        LEFT JOIN
+            blade_dept bt
+        ON
+            swr.dept_id = bt.id
+        WHERE
+            1=1
+        <if test="workReport.realName!=null and  workReport.realName!=''">
+            and bu.real_name like concat('%', #{workReport.realName},'%')
+        </if>
+        <if test="workReport.type!=null">
+            and swr.type = #{workReport.type}
+        </if>
+        <if test="workReport.userId!=null">
+            and swr.user_id = #{workReport.userId}
+        </if>
+        <if test="workReport.category!=null">
+            and swr.category = #{workReport.category}
+        </if>
+    </select>
+
+    <!--工作汇报分页信息-->
+    <select id="selectWorkReplyPage" resultType="org.springblade.modules.workreport.vo.WorkReportVo">
+        SELECT
+            swr.*,bu.real_name realName,bt.dept_name AS deptName
+        FROM
+            sys_work_report swr
+        left join
+            blade_user bu
+        on
+            bu.id = swr.user_id
+        LEFT JOIN
+            blade_dept bt
+        ON
+            swr.dept_id = bt.id
+        WHERE
+            1=1
+        <if test="workReport.realName!=null and  workReport.realName!=''">
+            and bu.real_name like concat('%', #{workReport.realName},'%')
+        </if>
+        <if test="workReport.type!=null">
+            and swr.type = #{workReport.type}
+        </if>
+        <if test="workReport.userId!=null">
+            and swr.received_ids like concat('%', #{workReport.userId},'%')
+        </if>
+        <if test="workReport.category!=null">
+            and swr.category = #{workReport.category}
+        </if>
+    </select>
+
+
+
+    <!--工作汇报详情信息-->
+    <select id="selectWorkReportInfo" resultType="org.springblade.modules.workreport.vo.WorkReportVo">
+        SELECT
+        swr.*,bu.real_name realName,bt.dept_name AS deptName
+        FROM
+        sys_work_report swr
+        left join
+        blade_user bu
+        on
+        bu.id = swr.user_id
+        LEFT JOIN
+        blade_dept bt
+        ON
+        swr.dept_id = bt.id
+        WHERE
+        1=1
+        <if test="workReport.id!=null">
+            and swr.id = #{workReport.id}
+        </if>
+    </select>
+</mapper>
diff --git a/src/main/java/org/springblade/modules/workreport/service/WorkReportService.java b/src/main/java/org/springblade/modules/workreport/service/WorkReportService.java
new file mode 100644
index 0000000..dfb0f96
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/service/WorkReportService.java
@@ -0,0 +1,35 @@
+package org.springblade.modules.workreport.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.workreport.entity.WorkReport;
+import org.springblade.modules.workreport.vo.WorkReportVo;
+
+/**
+ * 工作汇报服务类
+ * @author zhongrj
+ */
+public interface WorkReportService extends IService<WorkReport> {
+
+	/**
+	 * 自定义分页
+	 * @param page
+	 * @param workReport
+	 * @return
+	 */
+	IPage<WorkReportVo> selectWorkReportPage(IPage<WorkReportVo> page, WorkReportVo workReport);
+
+	/**
+	 * 详情
+	 * @param workReport 工作汇报信息对象
+	 */
+	WorkReportVo selectWorkReportInfo(WorkReport workReport);
+
+
+	/**
+	 * 自定义分页--接收到的汇报信息page
+	 * @param  page,size
+	 * @param workReport 工作汇报信息对象
+	 */
+    IPage<WorkReportVo> selectWorkReplyPage(IPage<WorkReportVo> page, WorkReportVo workReport);
+}
diff --git a/src/main/java/org/springblade/modules/workreport/service/impl/WorkReportServiceImpl.java b/src/main/java/org/springblade/modules/workreport/service/impl/WorkReportServiceImpl.java
new file mode 100644
index 0000000..8f93fc5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/service/impl/WorkReportServiceImpl.java
@@ -0,0 +1,42 @@
+
+package org.springblade.modules.workreport.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.workreport.entity.WorkReport;
+import org.springblade.modules.workreport.mapper.WorkReportMapper;
+import org.springblade.modules.workreport.service.WorkReportService;
+import org.springblade.modules.workreport.vo.WorkReportVo;
+import org.springframework.stereotype.Service;
+
+/**
+ * 工作汇报服务实现类
+ * @author zhongrj
+ */
+@Service
+public class WorkReportServiceImpl extends ServiceImpl<WorkReportMapper, WorkReport> implements WorkReportService {
+
+	@Override
+	public IPage<WorkReportVo> selectWorkReportPage(IPage<WorkReportVo> page, WorkReportVo workReport) {
+		return page.setRecords(baseMapper.selectWorkReportPage(page, workReport));
+	}
+
+	/**
+	 * 详情
+	 * @param workReport 工作汇报信息对象
+	 */
+	@Override
+	public WorkReportVo selectWorkReportInfo(WorkReport workReport) {
+		return baseMapper.selectWorkReportInfo(workReport);
+	}
+
+	/**
+	 * 自定义分页--接收到的汇报信息page
+	 * @param  page,size
+	 * @param workReport 工作汇报信息对象
+	 */
+	@Override
+	public IPage<WorkReportVo> selectWorkReplyPage(IPage<WorkReportVo> page, WorkReportVo workReport) {
+		return page.setRecords(baseMapper.selectWorkReplyPage(page, workReport));
+	}
+}
diff --git a/src/main/java/org/springblade/modules/workreport/vo/WorkReportVo.java b/src/main/java/org/springblade/modules/workreport/vo/WorkReportVo.java
new file mode 100644
index 0000000..a87e71b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/workreport/vo/WorkReportVo.java
@@ -0,0 +1,35 @@
+package org.springblade.modules.workreport.vo;
+
+import lombok.Data;
+import org.springblade.modules.workreport.entity.WorkReport;
+
+import java.io.Serializable;
+
+/**
+ * @author zhongrj
+ */
+@Data
+public class WorkReportVo extends WorkReport implements Serializable {
+
+
+	/**
+	 * 发送人姓名
+	 */
+	private String realName;
+
+	/**
+	 * 汇报人所在单位名称
+	 */
+	private String deptName;
+
+	/**
+	 * 接收人所在单位名称
+	 */
+	private String replyDeptName;
+
+	/**
+	 * 接收人姓名
+	 */
+	private String replyRealName;
+
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 4c2b765..d63366b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -200,6 +200,7 @@
       - /car/**
       - /gun/**
       - /trainingRegistration/**
+      - /workReport/**
     #授权认证配置
     auth:
       - method: ALL

--
Gitblit v1.9.3