吉安感知网项目-后端
rain
2026-01-20 64660086b1f035128b4ecbef1f965b0c383467fa
任务巡查新增dept部门筛选
6 files modified
60 ■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/service/impl/GdSupplyDemandServiceImpl.java 38 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java 8 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java 2 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml 6 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java 2 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/orderdata/service/impl/GdSupplyDemandServiceImpl.java
@@ -59,7 +59,7 @@
    private static final String STATUS_APPLY = "1";
    private static final String STATUS_APPROVED = "2";
    private static final String STATUS_REJECTED = "3";
    /**
     * 审核状态常量:0-待审核、1-审核通过、2-审核拒绝
     */
@@ -72,7 +72,7 @@
    @Override
    public IPage<GdSupplyDemandVO> selectGdSupplyDemandPage(IPage<GdSupplyDemandVO> page, GdSupplyDemandPageParam gdSupplyDemand) {
        return page.setRecords(baseMapper.selectGdSupplyDemandPage(page, gdSupplyDemand, buildDeptIdList()));
        return page.setRecords(baseMapper.selectGdSupplyDemandPage(page, gdSupplyDemand, SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()))));
    }
    @Override
@@ -85,7 +85,7 @@
        if (Func.isEmpty(gdSupplyDemand)) {
            throw new ServiceException("需求参数不能为空");
        }
        GdSupplyDemandEntity detail = baseMapper.selectGdSupplyDemandDetail(gdSupplyDemand, buildDeptIdList());
        GdSupplyDemandEntity detail = baseMapper.selectGdSupplyDemandDetail(gdSupplyDemand, SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())));
        if (detail == null) {
            throw new ServiceException("未查询到数据");
        }
@@ -98,23 +98,23 @@
        if (Func.isEmpty(gdSupplyDemand)) {
            throw new ServiceException("需求参数不能为空");
        }
        // 获取前端传入的需求状态
        String demandStatus = gdSupplyDemand.getDemandStatus();
        if (StringUtil.isBlank(demandStatus)) {
            throw new ServiceException("需求状态不能为空");
        }
        // 校验状态值有效性
        if (!STATUS_DRAFT.equals(demandStatus) && !STATUS_APPLY.equals(demandStatus)) {
            throw new ServiceException("需求状态值无效,仅支持 0(草稿) 或 1(申请中)");
        }
        boolean isInsert = Func.isEmpty(gdSupplyDemand.getId());
        Long userId = AuthUtil.getUserId();
        Long deptId = Long.valueOf(AuthUtil.getDeptId());
        gdSupplyDemand.setUpdateUser(userId);
        boolean saved;
        if (isInsert) {
            gdSupplyDemand.setCreateUser(userId);
@@ -123,18 +123,18 @@
        } else {
            saved = baseMapper.updateGdSupplyDemand(gdSupplyDemand) > 0;
        }
        if (!saved) {
            return false;
        }
        // 仅当状态为"申请中"(1)时才创建审核记录
        if (STATUS_APPLY.equals(demandStatus)) {
            GdSupplyDemandEntity supplyDemand = loadSupplyDemandForAudit(gdSupplyDemand.getId());
            GdSupplyDemandAuditEntity auditEntity = buildAuditEntity(supplyDemand, AUDIT_PENDING, null);
            return gdSupplyDemandAuditService.saveSupplyDemandAudit(auditEntity);
        }
        // 状态为"草稿"(0)时直接返回成功
        return true;
    }
@@ -222,27 +222,11 @@
        }
        GdSupplyDemandDTO query = new GdSupplyDemandDTO();
        query.setId(demandId);
        GdSupplyDemandEntity detail = baseMapper.selectGdSupplyDemandDetail(query, buildDeptIdList());
        GdSupplyDemandEntity detail = baseMapper.selectGdSupplyDemandDetail(query, SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())));
        if (detail == null) {
            throw new ServiceException("需求数据不存在");
        }
        return detail;
    }
    private List<Long> buildDeptIdList() {
        if (AuthUtil.isAdministrator()) {
            return null;
        }
        Long deptId = Long.valueOf(AuthUtil.getDeptId());
        List<Long> deptIdList = SysCache.getDeptChildIds(deptId);
        List<Long> result = new ArrayList<>();
        if (Func.isNotEmpty(deptIdList)) {
            result.addAll(deptIdList);
        }
        if (!result.contains(deptId)) {
            result.add(deptId);
        }
        return result;
    }
    @Override
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdPatrolTaskController.java
@@ -26,6 +26,7 @@
import org.springblade.core.secure.BladeUser;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
@@ -44,6 +45,7 @@
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import org.sxkj.system.cache.SysCache;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
@@ -94,7 +96,11 @@
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入gdPatrolTask")
    public R<IPage<GdPatrolTaskVO>> page(GdPatrolTaskPageParam gdPatrolTask, Query query) {
        IPage<GdPatrolTaskVO> pages = gdPatrolTaskService.selectGdPatrolTaskPage(Condition.getPage(query), gdPatrolTask);
        IPage<GdPatrolTaskVO> pages = gdPatrolTaskService.selectGdPatrolTaskPage(
            Condition.getPage(query),
            gdPatrolTask,
            SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId()))
        );
        return R.data(pages);
    }
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.java
@@ -41,7 +41,7 @@
     * @param gdPatrolTask
     * @return
     */
    List<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage page, GdPatrolTaskPageParam gdPatrolTask);
    List<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage page, GdPatrolTaskPageParam gdPatrolTask, List<Long> deptIdList);
    /**
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdPatrolTaskMapper.xml
@@ -55,6 +55,12 @@
            <if test="param2.taskStatus != null and param2.taskStatus != ''">
                and pt.task_status = #{param2.taskStatus}
            </if>
            <if test="param3 != null and param3.size > 0">
                and pt.create_dept in
                <foreach collection="param3" item="deptId" open="(" separator="," close=")">
                    #{deptId}
                </foreach>
            </if>
            <if test="param2.startTime != null and param2.startTime != '' and param2.endTime != null and param2.endTime != '' ">
                and pt.execute_time BETWEEN #{param2.startTime} AND #{param2.endTime}
            </if>
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -39,7 +39,7 @@
     * @param gdPatrolTask
     * @return
     */
    IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask);
    IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask, List<Long> deptIdList);
    /**
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -54,8 +54,8 @@
    private IGdWorkOrderFlowService gdWorkOrderFlowService;
    @Override
    public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask) {
        return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask));
    public IPage<GdPatrolTaskVO> selectGdPatrolTaskPage(IPage<GdPatrolTaskVO> page, GdPatrolTaskPageParam gdPatrolTask, List<Long> deptIdList) {
        return page.setRecords(baseMapper.selectGdPatrolTaskPage(page, gdPatrolTask, deptIdList));
    }