Parcourir la source

考勤组api 更新

shudonghui il y a 1 an
Parent
commit
428edfa5db

+ 10 - 2
sop-api/src/main/java/com/qmth/sop/server/api/SysDingGroupController.java

@@ -10,6 +10,8 @@ import com.qmth.sop.business.entity.SysDingGroup;
 import com.qmth.sop.business.service.SysDingGroupService;
 import com.qmth.sop.business.service.SysDingObjService;
 import com.qmth.sop.common.contant.SystemConstant;
+import com.qmth.sop.common.enums.MessageTypeEnum;
+import com.qmth.sop.common.enums.ServiceStatusEnum;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;
 import io.swagger.annotations.*;
@@ -48,11 +50,17 @@ public class SysDingGroupController {
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "考勤组表列表信息", response = SysDingGroupResult.class)})
     public Result query(
-            @ApiParam(value = "查询条件", required = false) @RequestParam(required = false) String query,
             @ApiParam(value = "服务单元id", required = false) @RequestParam(required = false) Long serviceId,
+            @ApiParam(value = "服务状态") @RequestParam(required = false) ServiceStatusEnum status,
+            @ApiParam(value = "适用供应商", required = false) @RequestParam(required = false) Long[] supplierIds,
+            @ApiParam(value = "适用考勤对象", required = false) @RequestParam(required = false) Long[] dingRoleIds,
+            @ApiParam(value = "审核角色", required = false) @RequestParam(required = false) Long[] approveRoleIds,
+            @ApiParam(value = "是否开启人脸", required = false) @RequestParam(required = false) Boolean faceOpen,
+            @ApiParam(value = "创建起始时间") @RequestParam(required = false) Long createStartTime,
+            @ApiParam(value = "创建截止时间") @RequestParam(required = false) Long createEndTime,
             @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
             @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<SysDingGroupResult> resultIPage = sysDingGroupService.query(new Page<>(pageNumber, pageSize), query, serviceId);
+        IPage<SysDingGroupResult> resultIPage = sysDingGroupService.query(new Page<>(pageNumber, pageSize), serviceId,status,supplierIds,dingRoleIds,approveRoleIds,faceOpen,createStartTime,createEndTime);
 
         return ResultUtil.ok(resultIPage);
     }

+ 2 - 2
sop-business/src/main/java/com/qmth/sop/business/mapper/SysDingGroupMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.sop.business.bean.result.SysDingGroupResult;
 import com.qmth.sop.business.entity.SysDingGroup;
+import com.qmth.sop.common.enums.ServiceStatusEnum;
 import org.apache.ibatis.annotations.Param;
 import java.util.Map;
 
@@ -23,6 +24,5 @@ public interface SysDingGroupMapper extends BaseMapper<SysDingGroup> {
 	 * @param iPage
 	 * @return
 	 */
-	public IPage<SysDingGroupResult> query(IPage<Map> iPage, @Param("query") String query, @Param("serviceId") Long serviceId);
-
+	public IPage<SysDingGroupResult> query(IPage<Map> iPage, @Param("serviceId") Long serviceId, @Param("status") ServiceStatusEnum status, @Param("supplierIds") Long[] supplierIds, @Param("query") Long[] dingRoleIds,@Param("approveRoleIds")  Long[] approveRoleIds, @Param("faceOpen") Boolean faceOpen,@Param("createStartTime")  Long createStartTime,@Param("createEndTime")  Long createEndTime);
 }

+ 5 - 2
sop-business/src/main/java/com/qmth/sop/business/service/SysDingGroupService.java

@@ -1,9 +1,12 @@
 package com.qmth.sop.business.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.sop.business.bean.result.SysDingGroupResult;
 import com.qmth.sop.business.entity.SysDingGroup;
+import com.qmth.sop.common.enums.ServiceStatusEnum;
+
 import java.util.Map;
 
 /**
@@ -23,8 +26,7 @@ public interface SysDingGroupService extends IService<SysDingGroup>{
     * @param iPage
     * @return
     */
-    IPage<SysDingGroupResult> query(IPage<Map> iPage, String query, Long serviceId);
-
+    IPage<SysDingGroupResult> query(IPage<Map> iPage, Long serviceId, ServiceStatusEnum status, Long[] supplierIds, Long[] dingRoleIds, Long[] approveRoleIds, Boolean faceOpen, Long createStartTime, Long createEndTime);
     /**
     * 新增考勤组表
     *
@@ -47,4 +49,5 @@ public interface SysDingGroupService extends IService<SysDingGroup>{
     void delete(Long id);
 
 
+
 }

+ 3 - 2
sop-business/src/main/java/com/qmth/sop/business/service/impl/SysDingGroupServiceImpl.java

@@ -10,6 +10,7 @@ import com.qmth.sop.business.entity.SysUser;
 import com.qmth.sop.business.mapper.SysDingGroupMapper;
 import com.qmth.sop.business.service.SysDingGroupService;
 import com.qmth.sop.business.service.SysDingObjService;
+import com.qmth.sop.common.enums.ServiceStatusEnum;
 import com.qmth.sop.common.util.ServletUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -39,8 +40,8 @@ public class SysDingGroupServiceImpl extends ServiceImpl<SysDingGroupMapper, Sys
      * @return
      */
     @Override
-    public IPage<SysDingGroupResult> query(IPage<Map> iPage, String query, Long serviceId) {
-        IPage<SysDingGroupResult> dingGroupResultIPage = this.baseMapper.query(iPage, query, serviceId);
+    public IPage<SysDingGroupResult> query(IPage<Map> iPage, Long serviceId, ServiceStatusEnum status, Long[] supplierIds, Long[] dingRoleIds, Long[] approveRoleIds, Boolean faceOpen, Long createStartTime, Long createEndTime) {
+        IPage<SysDingGroupResult> dingGroupResultIPage = this.baseMapper.query(iPage, serviceId,status,supplierIds,dingRoleIds,approveRoleIds,faceOpen,createStartTime,createEndTime);
         dingGroupResultIPage.getRecords().forEach(e -> {
             e.setDingObjs(sysDingObjService.getList(e.getId()));
         });

+ 36 - 2
sop-business/src/main/resources/mapper/SysDingGroupMapper.xml

@@ -7,12 +7,46 @@
         left join sys_user u on u.id = a.create_id
         left join sys_supplier s on s.id = a.supplier_id
         left join t_b_service t on t.id = a.service_id
+        left join sys_ding_obj do on do.ding_group_id=a.id
         <where>
+            <if test="supplierIds != null and supplierIds != ''">
+                and a.supplier_id in
+                <foreach collection="supplierIds" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+            <if test="dingRoleIds != null and dingRoleIds != ''">
+                and (do.type='DING' and do.role_id in
+                <foreach collection="dingRoleIds" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+                )
+            </if>
+            <if test="approveRoleIds != null and approveRoleIds != ''">
+                and (do.type='APPROVE' and do.role_id in
+                <foreach collection="approveRoleIds" item="id" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+                )
+            </if>
             <if test="serviceId != null and serviceId != ''">
                 and a.service_id = #{serviceId}
             </if>
-            <if test="query != null and query != ''">
-                and (a.name like concat('%', #{query} , '%'))
+            <if test="status != null">
+                AND t.status = #{status}
+            </if>
+            <if test="faceOpen != null">
+                AND a.face_open = #{faceOpen}
+            </if>
+            <if test="createStartTime != null and createStartTime != '' ">
+                <![CDATA[
+               and a.create_time >= #{createStartTime}
+               ]]>
+            </if>
+            <if test="createEndTime != null and createEndTime != ''">
+                <![CDATA[
+                and a.create_time <= #{createEndTime}
+                ]]>
             </if>
         </where>
         order by a.create_time desc