ZQN
2024-06-21 cdb4df5b86eefa7c36e4746b7fc00d7d15b52ce6
数据权限优化,执法内容添加
1个文件已添加
14个文件已修改
245 ■■■■ 已修改文件
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/OrderCheckedQueryBo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-framework/src/main/java/com/project/framework/aspectj/DataScopeAspect.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysDeptMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysRoleMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-system/src/main/resources/mapper/system/SysUserMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
project-admin/src/main/java/com/project/admin/controller/enforce/EnforceOrderController.java
@@ -13,6 +13,7 @@
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.bo.queryBo.OrderCheckedQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.service.IEnforceOrderService;
@@ -61,7 +62,7 @@
        return AjaxResult.success(list);
    }
    @ApiOperation("执法单列表")
    @ApiOperation("列表——执法申请单")
    @GetMapping("/list")
    public TableDataInfo list(EnforceOrderQueryBo bo)
    {
@@ -70,7 +71,16 @@
        return getDataTable(list);
    }
    @ApiOperation("信息公式列表")
    @ApiOperation("列表——执法待上报")
    @GetMapping("/execute/list")
    public TableDataInfo executeList(EnforceOrderQueryBo bo)
    {
        startPage();
        List<EnforceOrderVo> list = iEnforceOrderService.getExecuteList(bo);
        return getDataTable(list);
    }
    @ApiOperation("列表——信息公式")
    @GetMapping("/showList")
    public TableDataInfo showList()
    {
@@ -80,7 +90,7 @@
    }
    @ApiOperation("审批人列表")
    @ApiOperation("列表——审批人待审批")
    @GetMapping("/checkList")
    public TableDataInfo checkList(EnforceOrderQueryBo bo)
    {
@@ -89,6 +99,31 @@
        return getDataTable(list);
    }
    @ApiOperation("列表——审批记录")
    @GetMapping("/checkedList")
    public TableDataInfo checkedList(OrderCheckedQueryBo bo)
    {
        startPage();
        List<EnforceOrderVo> list = iEnforceOrderService.queryCheckedList(bo);
        return getDataTable(list);
    }
    @ApiOperation("执法人扫码")
    @GetMapping("/getScanList")
    public AjaxResult scan(@RequestParam("companyCode") String companyCode)
    {
        List<EnforceOrderVo> list = iEnforceOrderService.getScanList(companyCode);
        return AjaxResult.success(list);
    }
    @ApiOperation("确认执法")
    @Log(title = "执法队员确认执法", businessType = BusinessType.UPDATE)
    @PostMapping("/doScanOrder/{orderId}")
    public AjaxResult doScanOrder(@PathVariable("orderId") Long orderId)
    {
        return AjaxResult.success(iEnforceOrderService.doScanOrder(orderId));
    }
    @ApiOperation("执法单节点")
    @GetMapping("/orderNodeList")
    public AjaxResult orderNodeList(@RequestParam("orderId") Long orderId)
project-enforce/src/main/java/com/project/enforce/domain/EnforceOrder.java
@@ -67,7 +67,11 @@
    private String regionName;
    @ApiModelProperty("执法原因")
    @ApiModelProperty("执法内容")
    private String enforceContent;
    @ApiModelProperty("执法主题")
    private String enforceReason;
    @ApiModelProperty("执法类型")
project-enforce/src/main/java/com/project/enforce/domain/bo/editBo/EnforceOrderBo.java
@@ -61,8 +61,11 @@
    @ApiModelProperty("所属区域")
    private String regionName;
    /** 执法原因 */
    @ApiModelProperty("执法原因")
    @ApiModelProperty("执法内容")
    private String enforceContent;
    @ApiModelProperty("执法主题")
    private String enforceReason;
    @ApiModelProperty("执法类型")
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/EnforceOrderQueryBo.java
@@ -62,8 +62,12 @@
    /** 所属区域 */
    @ApiModelProperty("所属区域")
    private String regionName;
    /** 执法原因 */
    @ApiModelProperty("执法原因")
    @ApiModelProperty("执法内容")
    private String enforceContent;
    @ApiModelProperty("执法主题")
    private String enforceReason;
    @ApiModelProperty("执法类型")
@@ -186,7 +190,7 @@
    @ApiModelProperty("申请部门ids")
    private List<Long> applyDeptIds;
    @ApiModelProperty("是否审批查询:1是")
    private Integer isCheckQuery;
}
project-enforce/src/main/java/com/project/enforce/domain/bo/queryBo/OrderCheckedQueryBo.java
New file
@@ -0,0 +1,19 @@
package com.project.enforce.domain.bo.queryBo;
import lombok.Data;
/**
 * 功能描述:
 *
 * @author ZQN
 * @version 1.0
 */
@Data
public class OrderCheckedQueryBo
{
    private String enforceReason;//执法主题
    private Integer checkStatus ; //1通过,-1拒绝
    private Long userId;//审批人id
}
project-enforce/src/main/java/com/project/enforce/domain/vo/EnforceOrderVo.java
@@ -53,8 +53,12 @@
    @Excel(name = "所属区域")
    @ApiModelProperty("所属区域")
    private String regionName;
    @Excel(name = "执法原因")
    @ApiModelProperty("执法原因")
    @ApiModelProperty("执法内容")
    private String enforceContent;
    @ApiModelProperty("执法主题")
    private String enforceReason;
    @ApiModelProperty("执法类型")
project-enforce/src/main/java/com/project/enforce/mapper/EnforceOrderMapper.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -17,5 +19,8 @@
    List<EnforceOrderVo> selectCheckList(EnforceOrderQueryBo bo);
    List<EnforceOrderVo> selectCheckedList(OrderCheckedQueryBo bo);
    List<EnforceOrderVo> selectScanList(@Param("companyCode") String companyCode,@Param("userId") Long userId);
}
project-enforce/src/main/java/com/project/enforce/service/IEnforceOrderService.java
@@ -4,6 +4,7 @@
import com.project.enforce.domain.EnforceOrder;
import com.project.enforce.domain.bo.editBo.EnforceOrderBo;
import com.project.enforce.domain.bo.queryBo.EnforceOrderQueryBo;
import com.project.enforce.domain.bo.queryBo.OrderCheckedQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
@@ -23,9 +24,23 @@
    List<EnforceOrderVo> queryList(EnforceOrderQueryBo bo);
    /**
     * 执法上报列表
     * @param bo    参数
     * @return    列表
     */
    List<EnforceOrderVo> getExecuteList(EnforceOrderQueryBo bo);
    /**
     * 查询待审核列表
     */
    List<EnforceOrderVo> queryCheckList(EnforceOrderQueryBo bo);
    /**
     * 审批人审批记录列表
     * @param bo    参数
     * @return    列表
     */
    List<EnforceOrderVo> queryCheckedList(OrderCheckedQueryBo bo);
    /**
     * 信息公式列表
@@ -77,4 +92,21 @@
     * @return    节点
     */
    List<OrderNodeVo> orderNodeList(Long orderId);
    /**
     * 执法扫码
     * @param companyCode    企业编码
     * @return 执法单
     */
    List<EnforceOrderVo> getScanList(String companyCode);
    /**
     * 确认执法
     * @param orderId    执法单id
     * @return    结果
     */
    Boolean doScanOrder(Long orderId);
}
project-enforce/src/main/java/com/project/enforce/service/impl/CheckServiceImpl.java
@@ -113,7 +113,7 @@
        checkLog.setCheckId(loginUser.getUserId());
        checkLog.setCheckUser(loginUser.getUserName());
        checkLog.setCheckPhone(loginUser.getPhonenumber());
        checkLog.setCheckStatus(bo.getCheckStatus());
        checkLog.setCheckStatus(bo.getCheckStatus()>0?1:-1);
        checkLog.setCheckTime(DateUtils.getNowDate());
        checkLog.setCheckReason(bo.getCheckReason());
        boolean save = checkLogService.save(checkLog);
project-enforce/src/main/java/com/project/enforce/service/impl/EnforceOrderServiceImpl.java
@@ -16,6 +16,7 @@
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.bo.queryBo.OrderCheckedQueryBo;
import com.project.enforce.domain.vo.EnforceOrderVo;
import com.project.enforce.domain.vo.OrderNodeVo;
import com.project.enforce.mapper.EnforceOrderMapper;
@@ -55,9 +56,16 @@
    public List<EnforceOrderVo> queryList(EnforceOrderQueryBo bo)
    {
        QueryWrapper<EnforceOrder> qw = getQw(bo);
        if (StringUtils.isNotEmpty(bo.getParams())) {
            qw.apply(bo.getParams().get("dataScope") != null, bo.getParams().get("dataScope").toString());//数据权限控制
        }
        qw.apply(StringUtils.isNotEmpty(bo.getParams().get("dataScope").toString()), bo.getParams().get("dataScope").toString());//数据权限控制
        List<EnforceOrder> list = this.list(qw);
        return Convert.toList(EnforceOrderVo.class , list);
    }
    @Override//执法上报列表
    @DataScope(deptAlias = "execute_dept_id", userAlias = "execute_id")
    public List<EnforceOrderVo> getExecuteList(EnforceOrderQueryBo bo) {
        QueryWrapper<EnforceOrder> qw = getQw(bo);
        qw.apply(StringUtils.isNotEmpty(bo.getParams().get("dataScope").toString()), bo.getParams().get("dataScope").toString());//数据权限控制
        List<EnforceOrder> list = this.list(qw);
        return Convert.toList(EnforceOrderVo.class , list);
    }
@@ -74,6 +82,13 @@
            bo.setApplyDeptIds(null);
        }
        return this.baseMapper.selectCheckList(bo);
    }
    @Override
    public List<EnforceOrderVo> queryCheckedList(OrderCheckedQueryBo bo)
    {
        bo.setUserId(SecurityUtils.getUserId());
        return this.baseMapper.selectCheckedList(bo);
    }
    @Override//信息公式列表
@@ -172,16 +187,38 @@
                    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));
            }
        }
        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;
    }
    @Override//扫码结果
    public List<EnforceOrderVo> getScanList(String companyCode)
    {
        Long userId = SecurityUtils.getUserId();
        return this.baseMapper.selectScanList(companyCode, userId);
    }
    @Override//确认扫码执法
    @Transactional
    public Boolean doScanOrder(Long orderId)
    {
        EnforceOrder order = this.getById(orderId);
        order.setOrderStatus(3);
        SysUser user = SecurityUtils.getLoginUser().getUser();
        order.setExecuteId(user.getUserId());
        order.setExecuteUser(user.getNickName());
        order.setExecutePhone(user.getRecommendPhone());
        order.setExecuteDeptId(user.getDeptId());
        order.setExecuteDeptName(deptService.getDeptAllName(user.getDeptId()));
        order.setInTime(DateUtils.getNowDate());
        return this.updateById(order);
    }
@@ -235,7 +272,8 @@
        qw.eq(StringUtils.isNotEmpty(bo.getCompanyAddress()), "company_address", bo.getCompanyAddress());
        qw.eq(StringUtils.isNotEmpty(bo.getRegionCode()), "region_code", bo.getRegionCode());
        qw.like(StringUtils.isNotEmpty(bo.getRegionName()), "region_name", bo.getRegionName());
        qw.eq(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason());
        qw.like(StringUtils.isNotEmpty(bo.getEnforceReason()), "enforce_reason", bo.getEnforceReason());
        qw.like(StringUtils.isNotEmpty(bo.getEnforceContent()), "enforce_content", bo.getEnforceContent());
        qw.eq(StringUtils.isNotEmpty(bo.getEnforceType()), "enforce_type", bo.getEnforceType());
        qw.eq(bo.getApplyId() != null, "apply_id", bo.getApplyId());
        qw.eq(StringUtils.isNotEmpty(bo.getApplyUser()), "apply_user", bo.getApplyUser());
project-enforce/src/main/resources/mapper/enforce/EnforceOrderMapper.xml
@@ -15,6 +15,7 @@
        <result property="companyAddress"    column="company_address"    />
        <result property="regionCode"    column="region_code"    />
        <result property="regionName"    column="region_name"    />
        <result property="enforceContent"    column="enforce_content"    />
        <result property="enforceReason"    column="enforce_reason"    />
        <result property="enforceType"    column="enforce_type"    />
        <result property="applyId"    column="apply_id"    />
@@ -59,7 +60,9 @@
            parameterType="EnforceOrderQueryBo"
            resultMap="EnforceOrderResult">
        <include refid="selectEnforceOrderVo"/>
        <where>
        where 1=1
            and check_status !=2
            and check_status!=-1
            <if test="orderNo != null and orderNo != ''">
                AND order_no like concat('%', #{orderNo}, '%')
            </if>
@@ -72,14 +75,44 @@
            <if test="checkIds != null and checkIds != '' ">
                AND check_ids like concat('%', #{checkIds}, '%')
            </if>
            <if test="enforceReason != null and enforceReason != '' ">
                AND enforce_reason like concat('%', #{enforceReason}, '%')
            </if>
            <if test="applyDeptIds != null and applyDeptIds !='' ">
                AND apply_dept_id in
                <foreach collection="applyDeptIds" item="applyDeptId" open="(" separator="," close=")">
                    #{applyDeptId}
                </foreach>
            </if>
        </where>
    </select>
    <select id="selectCheckedList"
            parameterType="OrderCheckedQueryBo"
            resultMap="EnforceOrderResult">
        select t2.*
            from enforce_check_log t1 join enforce_order t2 on t1.order_id = t2.order_id
        where t2.del_flag = 0
        and t1.check_id = #{userId}
        <if test="checkStatus != null">
            AND t2.check_status = #{checkStatus}
        </if>
        <if test="enforceReason != null and enforceReason != '' ">
            AND t2.enforce_reason like concat('%', #{enforceReason}, '%')
        </if>
    </select>
    <select id="selectScanList"
            resultMap="EnforceOrderResult">
        select t2.*
        from enforce_peer t1 join enforce_order t2 on t1.order_id = t2.order_id
        where
            t2.del_flag = 0
            and t2.order_status=2
            AND t1.peer_id = #{userId}
            AND t2.company_code = #{companyCode}
    </select>
</mapper>
project-framework/src/main/java/com/project/framework/aspectj/DataScopeAspect.java
@@ -82,6 +82,8 @@
                String permission = StringUtils.defaultIfEmpty(controllerDataScope.permission(), PermissionContextHolder.getContext());
                dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
                        controllerDataScope.userAlias(), permission);
            } else {
            }
        }
    }
@@ -173,5 +175,9 @@
            BaseEntity baseEntity = (BaseEntity) params;
            baseEntity.getParams().put(DATA_SCOPE, "");
        }
        else if (StringUtils.isNotNull(params) && params instanceof BaseQuery) {
            BaseQuery baseQuery = (BaseQuery) params;
            baseQuery.getParams().put(DATA_SCOPE, "");
        }
    }
}
project-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -43,7 +43,7 @@
            AND status = #{status}
        </if>
        <!-- 数据范围过滤 -->
        <if test="params != null and params.dataScope != null">
        <if test="params != null and params.dataScope != null and params.dataScope != ''">
            AND ${params.dataScope}
        </if>
        order by d.parent_id, d.order_num
project-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -52,7 +52,7 @@
            and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
        </if>
        <!-- 数据范围过滤 -->
        <if test="params != null and params.dataScope != null">
        <if test="params != null and params.dataScope != null and params.dataScope != ''">
            AND ${params.dataScope}
        </if>
        order by r.role_sort
project-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -92,7 +92,7 @@
            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>
        <!-- 数据范围过滤 -->
        <if test="params != null and params.dataScope != null">
        <if test="params != null and params.dataScope != null and params.dataScope != ''">
            AND ${params.dataScope}
        </if>
    </select>
@@ -111,7 +111,7 @@
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        <if test="params != null and params.dataScope != null">
        <if test="params != null and params.dataScope != null and params.dataScope != ''">
            AND ${params.dataScope}
        </if>
    </select>
@@ -131,7 +131,7 @@
            AND u.phonenumber like concat('%', #{phonenumber}, '%')
        </if>
        <!-- 数据范围过滤 -->
        <if test="params != null and params.dataScope != null">
        <if test="params != null and params.dataScope != null and params.dataScope != ''">
            AND ${params.dataScope}
        </if>
    </select>