Просмотр исходного кода

智慧安防-安防人员信息

ZhangManMan 2 лет назад
Родитель
Сommit
6797f54c8f

+ 3 - 3
src/main/java/com/sky/ioc/controller/security/PersonController.java

@@ -1,6 +1,7 @@
 package com.sky.ioc.controller.security;
 
 import com.sky.ioc.entity.params.IocParam;
+import com.sky.ioc.entity.params.Security.PersonParam;
 import com.sky.ioc.service.personnel.PersonnelService;
 import com.sky.ioc.service.security.SecurityPersonService;
 import com.sky.ioc.service.security.SecurityService;
@@ -60,9 +61,8 @@ public class PersonController {
 
     @ApiOperation("今日值班情况")
     @PostMapping("/getDuty")
-    public ReturnMsg getDuty(@RequestParam(value = "type", required=true)  Integer type,
-                             @RequestParam(value = "name", required=false)String name){
-        return securityPersonService.getPersonList(type,name);
+    public ReturnMsg getDuty(@RequestBody PersonParam personParam){
+        return securityPersonService.getPersonList(personParam);
     }
 
 

+ 7 - 1
src/main/java/com/sky/ioc/entity/params/IocParam.java

@@ -31,7 +31,13 @@ public class IocParam {
     /**
      * 分页数
      */
-    private Integer limit =5;
+    private Integer pageSize =10;
+
+    /**
+     * 分页数
+     */
+    private Integer page =1;
+
     /**
      * 日期范围
      */

+ 30 - 0
src/main/java/com/sky/ioc/entity/params/Security/PersonParam.java

@@ -0,0 +1,30 @@
+package com.sky.ioc.entity.params.Security;
+
+import com.sky.ioc.entity.params.IocTimeRange;
+import lombok.Data;
+
+@Data
+public class PersonParam {
+    /**
+     * 人员类型
+     *  1安防人员 2前台人员
+     * */
+    private Integer type;
+
+    /**姓名*/
+    private String name;
+    /**
+     * 分页数
+     */
+    private Integer pageSize =10;
+
+    /**
+     * 分页数
+     */
+    private Integer pageStart =0;
+
+    /**
+     * 日期范围
+     */
+    private IocTimeRange timeRange;
+}

+ 23 - 0
src/main/java/com/sky/ioc/mapper/SecurityPersonMapper.java

@@ -2,9 +2,32 @@ package com.sky.ioc.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sky.ioc.entity.domain.security.SecurityPerson;
+import com.sky.ioc.entity.params.Security.PersonParam;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface SecurityPersonMapper extends BaseMapper<SecurityPerson> {
+  @Select("<script>" +
+          " SELECT name,work_number,phone,type,duty.scope,duty_start_time,duty_end_time " +
+          "from security_person_duty duty LEFT JOIN security_person person on duty.security_person_id = person.id " +
+          "where 1=1 " +
+          "<if test='personParam!=null and personParam.type!=null'>" +
+          " and person.type = #{personParam.type} " +
+          "</if>" +
+          "<if test='personParam!=null and personParam.name!=\"\" '>" +
+          " and person.name like #{personParam.name} " +
+          "</if>" +
+          "<if test='personParam!=null and personParam.timeRange!= null'>" +
+          " and duty_start_time between  #{personParam.timeRange.startTime} and #{personParam.timeRange.endTime} " +
+          " and duty_end_time between  #{personParam.timeRange.startTime} and #{personParam.timeRange.endTime} " +
+          "</if>" +
+          " order by person.id limit #{personParam.pageSize} offset #{personParam.pageStart} " +
+          "</script>")
+  List<Map<String,Object>> getListByTimeAndName(@Param("personParam")PersonParam personParam);
 
 }

+ 2 - 1
src/main/java/com/sky/ioc/service/security/SecurityPersonService.java

@@ -1,9 +1,10 @@
 package com.sky.ioc.service.security;
 
 import com.sky.ioc.entity.params.IocParam;
+import com.sky.ioc.entity.params.Security.PersonParam;
 import com.sky.ioc.tool.ReturnMsg;
 
 public interface SecurityPersonService {
 
-    ReturnMsg getPersonList(Integer type,String name);
+    ReturnMsg getPersonList(PersonParam personParam);
 }

+ 8 - 5
src/main/java/com/sky/ioc/service/security/impl/SecurityPersonServiceImpl.java

@@ -3,6 +3,7 @@ package com.sky.ioc.service.security.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sky.ioc.entity.domain.meeting.MeetingRecord;
 import com.sky.ioc.entity.domain.security.SecurityPerson;
+import com.sky.ioc.entity.params.Security.PersonParam;
 import com.sky.ioc.mapper.SecurityPersonMapper;
 import com.sky.ioc.service.security.SecurityPersonService;
 import com.sky.ioc.tool.ReturnMsg;
@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class SecurityPersonServiceImpl implements SecurityPersonService {
@@ -19,11 +21,12 @@ public class SecurityPersonServiceImpl implements SecurityPersonService {
 
 
     @Override
-    public ReturnMsg getPersonList(Integer type,String name) {
-        LambdaQueryWrapper<SecurityPerson> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(SecurityPerson::getType,type);
-        queryWrapper.like((name!=null&&!name.isEmpty()),SecurityPerson::getName,name);
-        List<SecurityPerson> list  = securityPersonMapper.selectList(queryWrapper);
+    public ReturnMsg getPersonList(PersonParam personParam) {
+        if(personParam!=null&&!personParam.getName().isEmpty()){
+            String name = "%"+personParam.getName()+"%";
+            personParam.setName(name);
+        }
+        List<Map<String,Object>> list = securityPersonMapper.getListByTimeAndName(personParam);
         return ReturnMsg.ok(list);
     }
 }