ZQN
2024-06-21 6acee0d1d79a05f7a3a3c386e9df02e9a741f544
执法单节点添加,审批修改
2个文件已添加
18个文件已修改
293 ■■■■ 已修改文件
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/tool/TestController.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-common/src/main/java/com/project/common/core/domain/BaseQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/vo/OrderNodeVo.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-framework/src/main/java/com/project/framework/aspectj/DataScopeAspect.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/service/ISysDeptService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysDeptMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysRoleMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysUserMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -4,13 +4,20 @@
import com.project.common.annotation.RepeatSubmit;
import com.project.common.core.controller.BaseController;
import com.project.common.core.domain.AjaxResult;
import com.project.common.core.domain.entity.SysDept;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.core.page.TableDataInfo;
import com.project.common.enums.BusinessType;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.common.utils.poi.ExcelUtil;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.service.IEnforceOrderService;
import com.project.system.service.ISysDeptService;
import com.project.system.service.ISysUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@@ -32,6 +39,27 @@
public class EnforceOrderController extends BaseController {
    private final IEnforceOrderService iEnforceOrderService;
    private final ISysUserService userService;
    private final ISysDeptService deptService;
    @ApiOperation("获取同行人")
    @GetMapping("/peerList")
    public AjaxResult peerList(String nickName, String deptId)
    {
        List<SysUser> list = userService.list(userService.lq()
                .ne(SysUser::getUserType,"02")
                .ne(SysUser::getUserName,"admin")
                .ne(SysUser::getUserId, SecurityUtils.getUserId())
                .eq(StringUtils.isNotEmpty(nickName), SysUser::getNickName,nickName)
                .eq(deptId!=null, SysUser::getDeptId,deptId)
        );
        list.forEach(user->{
            SysDept sysDept = deptService.selectDeptById(user.getDeptId());
            sysDept.setDeptName(deptService.getDeptAllName(sysDept.getDeptId()));
            user.setDept(sysDept);
        });
        return AjaxResult.success(list);
    }
    @ApiOperation("执法单列表")
    @GetMapping("/list")
@@ -61,6 +89,14 @@
        return getDataTable(list);
    }
    @ApiOperation("执法单节点")
    @GetMapping("/orderNodeList")
    public AjaxResult orderNodeList(@RequestParam("orderId") Long orderId)
    {
        List<OrderNodeVo> list = iEnforceOrderService.orderNodeList(orderId);
        return AjaxResult.success(list);
    }
    @ApiOperation("导出执法单列表")
    //@PreAuthorize("@ss.hasPermi('enforce:order:export')")
@@ -83,6 +119,7 @@
    }
    @ApiOperation("新增执法单")
    //@PreAuthorize("@ss.hasPermi('enforce:order:add')")
    @Log(title = "执法单", businessType = BusinessType.INSERT)
project-admin/src/main/java/com/project/admin/controller/tool/TestController.java
New file
@@ -0,0 +1,37 @@
package com.project.admin.controller.tool;
import com.project.common.core.domain.AjaxResult;
import com.project.enforce.service.IEnforceOrderService;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 功能描述:
 *
 * @author ZQN
 * @version 1.0
 * @date 2024年06月21日
 */
@Slf4j
@RestController
@RequestMapping("/tool/test")
@RequiredArgsConstructor
public class TestController
{
    private final IEnforceOrderService orderService;
    @ApiOperation("获取审批人")
    @PostMapping(value = "/getCheckPhones")
    public AjaxResult getCheckPhones(Integer checkLevel, Long applyDeptId)
    {
        return AjaxResult.success(orderService.getCheckPhones(checkLevel, applyDeptId));
    }
}
project-admin/src/main/resources/application.yml
@@ -147,3 +147,4 @@
            - /verify/**
            - /report/**
            - /enforce/order/showList
            - /enforce/order/**
project-common/src/main/java/com/project/common/core/domain/BaseQuery.java
@@ -8,6 +8,7 @@
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
@@ -32,7 +33,19 @@
    private String endTime;
    public Map<String, Object> getParams()
    {
        if (params == null)
        {
            params = new HashMap<>();
        }
        return params;
    }
    public void setParams(Map<String, Object> params)
    {
        this.params = params;
    }
    public void setBeginTime(String beginTime) {
        this.beginTime = StringUtils.isEmpty(beginTime) ? null :  beginTime + " 00:00:00";
project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
@@ -1,8 +1,8 @@
package com.project.enforce.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.project.common.core.domain.BaseDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -21,7 +21,7 @@
@Accessors(chain = true)
@TableName("enforce_order")
@ApiModel("执法单实体对象")
public class EnforceOrder extends BaseDomain {
public class EnforceOrder {
    private static final long serialVersionUID=1L;
@@ -210,4 +210,10 @@
    @ApiModelProperty("投诉内容")
    private String complaintReason;
    /**
     * 逻辑删除状态
     */
    @TableLogic(value = "0",delval = "1")
    private Integer delFlag;
}
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
@@ -106,7 +106,7 @@
    @ApiModelProperty("预警原因")
    private String warnReason;
    /** 订单状态:-1撤回,0待提交,1已提交,2待执行,3已执行,4已评价 */
    @ApiModelProperty("订单状态:-1撤回,0待提交,1已提交,2已审批待执行,3已执行待上报,4已上报")
    @ApiModelProperty("订单状态:-1拒绝,0待提交,1已提交,2已审批待执行,3已执行待上报,4已上报")
    private Integer orderStatus;
    /** 审批人单位 */
    @ApiModelProperty("审批人单位")
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -2,12 +2,14 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.project.common.annotation.Excel;
import com.project.enforce.domain.EnforcePeer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@@ -81,7 +83,7 @@
    @Excel(name = "计划执法时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("计划执法时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date planTime;
    @ApiModelProperty("扫码入场时间")
@@ -174,4 +176,7 @@
    @ApiModelProperty("投诉内容")
    private String complaintReason;
    @ApiModelProperty("同行人数组")
    private List<EnforcePeer> peers;
}
project-enforce/src/main/java/com/project/enforce/domain/vo/OrderNodeVo.java
New file
@@ -0,0 +1,37 @@
package com.project.enforce.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
 * 功能描述:
 *
 * @author ZQN
 * @version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderNodeVo
{
    @ApiModelProperty("节点名")
    private String nodeName;
    @ApiModelProperty("节点用户")
    private String nodeUser;
    @ApiModelProperty("节点时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nodeTime;
    @ApiModelProperty("节点说明")
    private String nodeReason;
}
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
@@ -5,6 +5,7 @@
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import java.util.Collection;
import java.util.List;
@@ -70,4 +71,10 @@
    List<String> getCheckPhones(Integer checkLevel, Long applyDeptId);
    /**
     * 执法节点列表
     * @param orderId    执法单id
     * @return    节点
     */
    List<OrderNodeVo> orderNodeList(Long orderId);
}
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.convert.Convert;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.exception.base.BaseException;
import com.project.common.utils.DateUtils;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.enforce.domain.EnforceCheckLog;
@@ -73,11 +74,13 @@
                    //审批拒绝,给申请人发送短信,如果通知企业也给企业发送短信
                    smsService.sendCheckMsg(order.getApplyPhone(), order.getCheckStatus());
                } else {
                    List<String> phones = orderService.getCheckPhones(order.getCheckLevel(), order.getApplyDeptId());
                    List<String> phones = orderService.getCheckPhones(order.getCheckLevel()+1, order.getApplyDeptId());
                    if (StringUtils.isNotEmpty(phones)){
                        order.setCheckStatus(1);
                        //给下一级审批人发送短信
                        smsService.sendApplyMsg(phones, order.getApplyUser());
                        String checkPhones = StringUtils.join(phones, ",");
                        orderService.update(orderService.lu().set(EnforceOrder::getCheckIds, checkPhones).eq(EnforceOrder::getOrderId, order.getOrderId()));
                    } else {
                        order.setCheckStatus(2);
                        order.setOrderStatus(2);
@@ -111,6 +114,7 @@
        checkLog.setCheckUser(loginUser.getUserName());
        checkLog.setCheckPhone(loginUser.getPhonenumber());
        checkLog.setCheckStatus(bo.getCheckStatus());
        checkLog.setCheckTime(DateUtils.getNowDate());
        checkLog.setCheckReason(bo.getCheckReason());
        boolean save = checkLogService.save(checkLog);
        if (!save) {
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceCompanyLogServiceImpl.java
@@ -81,7 +81,7 @@
    //保存前校验
    private void validEntityBeforeSave(EnforceCompanyLog entity)
    {
        if (StringUtils.isEmpty(entity.getComeDeptName())){
        if (StringUtils.isEmpty(entity.getComeDeptName()) && entity.getComeDeptId()!=null){
            entity.setComeDeptName(deptService.getDeptAllName(entity.getComeDeptId()));
        }
    }
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceComplaintLogServiceImpl.java
@@ -82,7 +82,7 @@
    //保存前校验
    private void validEntityBeforeSave(EnforceComplaintLog entity)
    {
        if (StringUtils.isEmpty(entity.getExecuteDeptName())){
        if (StringUtils.isEmpty(entity.getExecuteDeptName()) && entity.getExecuteDeptName()!=null){
            entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
        }
    }
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -8,14 +8,18 @@
import com.project.common.core.domain.entity.SysUser;
import com.project.common.enums.OrderPre;
import com.project.common.sms.YPSmsApi;
import com.project.common.utils.DateUtils;
import com.project.common.utils.SecurityUtils;
import com.project.common.utils.StringUtils;
import com.project.enforce.domain.EnforceCheckLog;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.EnforcePeer;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.mapper.EnforceOrderMapper;
import com.project.enforce.service.IEnforceCheckLogService;
import com.project.enforce.service.IEnforceOrderService;
import com.project.enforce.service.IEnforcePeerService;
import com.project.system.service.ISysDeptService;
@@ -27,6 +31,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -43,13 +48,16 @@
    private final ISysDeptService deptService;
    private final ISysOrderNoService orderNoService;
    private final IEnforcePeerService peerService;
    private final IEnforceCheckLogService checkLogService;
    @Override//列表查询
    @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_user_id")
    @DataScope(deptAlias = "apply_dept_id", userAlias = "apply_id")
    public List<EnforceOrderVo> queryList(EnforceOrderQueryBo bo)
    {
        QueryWrapper<EnforceOrder> qw = getQw(bo);
        qw.apply(bo.getParams().get("dataScope") != null, bo.getParams().get("dataScope").toString());//数据权限控制
        if (StringUtils.isNotEmpty(bo.getParams())) {
            qw.apply(bo.getParams().get("dataScope") != null, bo.getParams().get("dataScope").toString());//数据权限控制
        }
        List<EnforceOrder> list = this.list(qw);
        return Convert.toList(EnforceOrderVo.class , list);
    }
@@ -59,7 +67,12 @@
    {
        SysUser loginUser = SecurityUtils.getLoginUser().getUser();
        bo.setCheckIds(loginUser.getPhonenumber());
        bo.setApplyDeptIds(deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId()));
        List<Long> deptIds = deptService.getApplyDeptIdsByLoginUserId(loginUser.getUserId());
        if (StringUtils.isNotEmpty(deptIds)){
            bo.setApplyDeptIds(deptIds);
        } else {
            bo.setApplyDeptIds(null);
        }
        return this.baseMapper.selectCheckList(bo);
    }
@@ -74,7 +87,10 @@
    public EnforceOrderVo queryById(Long orderId)
    {
        EnforceOrder db = this.baseMapper.selectById(orderId);
        return Convert.convert(EnforceOrderVo.class , db);
        EnforceOrderVo vo = Convert.convert(EnforceOrderVo.class, db);
        List<EnforcePeer> peers = peerService.list(peerService.lq().eq(EnforcePeer::getOrderId, orderId).eq(EnforcePeer::getPeerType,2));
        vo.setPeers(peers);
        return vo;
    }
@@ -91,7 +107,7 @@
            add.setCheckIds(checkPhones);
        }
        this.save(add);
        bo.getPeers().add(new EnforcePeer()
        bo.getPeers().add(0,new EnforcePeer()
                .setPeerType(1)
                .setPeerId(add.getApplyId())
                .setPeerUser(add.getApplyUser())
@@ -137,6 +153,37 @@
        return getCheckPhones(checkLevel, applyDeptId, 0);
    }
    @Override
    public List<OrderNodeVo> orderNodeList(Long orderId)
    {
        List<OrderNodeVo> vos = new ArrayList<>();
        EnforceOrder order = this.getById(orderId);
        List<EnforceCheckLog> checkLogs = checkLogService.list(checkLogService.lq()
                .eq(EnforceCheckLog::getOrderId, orderId).orderByAsc(EnforceCheckLog::getCheckTime)
        );
        if (order.getApplyTime()!=null){
            vos.add(new OrderNodeVo("提交申请",order.getApplyUser(),order.getApplyTime(), null));
        }
        if (StringUtils.isNotEmpty(checkLogs)){
            for (EnforceCheckLog checkLog : checkLogs) {
                if (checkLog.getCheckStatus()>0){
                    vos.add(new OrderNodeVo("审批通过",checkLog.getCheckUser(),checkLog.getCheckTime(), null));
                } else {
                    vos.add(new OrderNodeVo("审批拒绝",checkLog.getCheckUser(),checkLog.getCheckTime(), checkLog.getCheckReason()));
                }
            }
        } else {
            if (order.getInTime()!=null){
                vos.add(new OrderNodeVo("扫码入企",order.getExecuteUser(),order.getInTime(), null));
            }
            if (order.getExecuteTime()!=null){
                vos.add(new OrderNodeVo("结果上报",order.getExecuteUser(),order.getExecuteTime(), null));
            }
        }
        return vos;
    }
//-------------------------------------------------------------------------------------
@@ -150,9 +197,7 @@
    public void sendApplyMsg(List<String> phones, String applyUser)
    {
        String applyMsg = StringUtils.format(StringUtils.format(YPSmsApi.APPLY_TMP, applyUser));
        phones.forEach(phone->{
            YPSmsApi.sendSms(phone, applyMsg) ;
        });
        phones.forEach(phone-> YPSmsApi.sendSms(phone, applyMsg));
    }
    //保存前校验
@@ -162,14 +207,15 @@
            String orderNo = orderNoService.getOrderNo(OrderPre.ZFD.getIndex());
            entity.setOrderNo(orderNo);
            entity.setCheckDeptId(deptService.getCheckDeptIdByLoginDeptId(entity.getApplyDeptId()));
            entity.setApplyTime(DateUtils.getNowDate());
        }
        if (StringUtils.isEmpty(entity.getApplyDeptName())){
        if (StringUtils.isEmpty(entity.getApplyDeptName()) && entity.getApplyDeptId()!=null){
            entity.setApplyDeptName(deptService.getDeptAllName(entity.getApplyDeptId()));
        }
        if (StringUtils.isEmpty(entity.getExecuteDeptName())){
        if (StringUtils.isEmpty(entity.getExecuteDeptName()) && entity.getExecuteDeptId()!=null){
            entity.setExecuteDeptName(deptService.getDeptAllName(entity.getExecuteDeptId()));
        }
        if (StringUtils.isEmpty(entity.getCheckDeptName())){
        if (StringUtils.isEmpty(entity.getCheckDeptName()) && entity.getCheckDeptId()!=null){
            entity.setCheckDeptName(deptService.getDeptAllName(entity.getCheckDeptId()));
        }
@@ -245,7 +291,7 @@
                return null;
            }
            checkLevel = 0;
            deptId = deptService.getById(deptId).getParentId();
            deptId = deptService.selectDeptById(deptId).getParentId();
            current++;
            getCheckPhones(checkLevel, deptId, current);
        }
project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.project.enforce.mapper.EnforceOrderMapper">
    <resultMap type="EnforceOrder" id="EnforceOrderResult">
    <resultMap type="EnforceOrderVo" id="EnforceOrderResult">
        <result property="orderId"    column="order_id"    />
        <result property="orderNo"    column="order_no"    />
        <result property="companyId"    column="company_id"    />
@@ -48,18 +48,11 @@
        <result property="isShow"    column="is_show"    />
        <result property="isEva"    column="is_eva"    />
        <result property="totalScore"    column="total_score"    />
        <result property="delFlag"    column="del_flag"    />
    </resultMap>
    <sql id="selectEnforceOrderVo">
        select order_id, order_no, company_id, company_name, company_code, company_user, company_phone, company_address,
               region_code,region_name,enforce_reason,user_num,
               apply_id,apply_user,apply_phone,apply_dept_id,apply_dept_name,apply_time,
               warn_status,warn_reason,order_status,
               check_dept_id,check_dept_name,check_status,check_reason,check_level,
               execute_id,execute_user,execute_phone,execute_dept_id,execute_dept_name,execute_time,
               region_status,region_reason,region_imgs,region_videos,is_notice_company,is_show,is_eva,total_score
        from sys_job_log
        select *
        from enforce_order
    </sql>
    <select id="selectCheckList"
@@ -79,7 +72,7 @@
            <if test="checkIds != null and checkIds != '' ">
                AND check_ids like concat('%', #{checkIds}, '%')
            </if>
            <if test="applyDeptIds != null ">
            <if test="applyDeptIds != null and applyDeptIds !='' ">
                AND apply_dept_id in
                <foreach collection="applyDeptIds" item="applyDeptId" open="(" separator="," close=")">
                    #{applyDeptId}
project-framework/src/main/java/com/project/framework/aspectj/DataScopeAspect.java
@@ -2,6 +2,7 @@
import com.project.common.annotation.DataScope;
import com.project.common.core.domain.BaseEntity;
import com.project.common.core.domain.BaseQuery;
import com.project.common.core.domain.entity.SysRole;
import com.project.common.core.domain.entity.SysUser;
import com.project.common.core.domain.model.LoginUser;
@@ -124,19 +125,13 @@
            }
            else if (DATA_SCOPE_DEPT.equals(dataScope))
            {
                sqlString.append(StringUtils.format(" OR {}.dept_id = {} ", deptAlias, user.getDeptId()));
                sqlString.append(StringUtils.format(" OR {} = {} ", deptAlias, user.getDeptId()));
            }
            else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope))
            {
                sqlString.append(StringUtils.format(
                        " OR {} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
                        deptAlias, user.getDeptId(), user.getDeptId()));
            }
            else if (DATA_SCOPE_ORG.equals(dataScope))
            {
                sqlString.append(StringUtils.format(
                        " OR {} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
                        deptAlias, user.getRecommendUser(), user.getRecommendUser()));
            }
            else if (DATA_SCOPE_SELF.equals(dataScope))
            {
@@ -159,7 +154,10 @@
            if (StringUtils.isNotNull(params) && params instanceof BaseEntity)
            {
                BaseEntity baseEntity = (BaseEntity) params;
                baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
                baseEntity.getParams().put(DATA_SCOPE, "  (" + sqlString.substring(4) + ")");
            } else if (StringUtils.isNotNull(params) && params instanceof BaseQuery) {
                BaseQuery baseQuery = (BaseQuery) params;
                baseQuery.getParams().put(DATA_SCOPE, "  (" + sqlString.substring(4) + ")");
            }
        }
    }
project-system/src/main/java/com/project/system/service/ISysDeptService.java
@@ -146,4 +146,5 @@
     */
    String getDeptAllName(Long deptId);
}
project-system/src/main/java/com/project/system/service/impl/SysDeptServiceImpl.java
@@ -387,9 +387,13 @@
     * @return  names列表
     */
    public List<String> getAncestorsNames(long deptId, List<String> names) {
        SysDept dept = this.getById(deptId);
        SysDept dept = deptMapper.selectDeptById(deptId);
        if (dept == null) {
            return new ArrayList<>();
            return names;
        }
        if (deptId == 100) {
            names.add(dept.getDeptName());
            return names;
        }
        if (dept.getParentId() != null && dept.getParentId() == 100) {
            names.add(dept.getDeptName());
project-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -43,7 +43,9 @@
            AND status = #{status}
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
        <if test="params != null and params.dataScope != null">
            AND ${params.dataScope}
        </if>
        order by d.parent_id, d.order_num
    </select>
project-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -52,7 +52,9 @@
            and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
        <if test="params != null and params.dataScope != null">
            AND ${params.dataScope}
        </if>
        order by r.role_sort
    </select>
project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -92,7 +92,9 @@
            AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors) ))
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
        <if test="params != null and params.dataScope != null">
            AND ${params.dataScope}
        </if>
    </select>
    <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -109,7 +111,9 @@
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
        <if test="params != null and params.dataScope != null">
            AND ${params.dataScope}
        </if>
    </select>
    <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
@@ -127,7 +131,9 @@
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        ${params.dataScope}
        <if test="params != null and params.dataScope != null">
            AND ${params.dataScope}
        </if>
    </select>
    <select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">
@@ -241,9 +247,9 @@
            join sys_user_role ur on u.user_id = ur.user_id
            join sys_role r on r.role_id=ur.role_id
        where
          u.user_type = '01'
          u.user_type != '02'
          and r.role_key = #{roleKey}
          and (u.dept_id = #{deptId} or u.dept_id in (SELECT t.dept_id FROM sys_dept t WHERE find_in_set(#{deptId}, ancestors)))
          and u.dept_id = #{deptId}
    </select>
</mapper>