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/controller/GdTaskResultController.java
@@ -70,15 +70,24 @@ return R.data(GdTaskResultWrapper.build().entityVO(detail)); } /** * 成果表 分页 * 成果表 列表 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入gdTaskResult") public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) { IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class)); return R.data(GdTaskResultWrapper.build().pageVO(pages)); @ApiOperation(value = "列表", notes = "传入patrolTaskId") public R<List<GdTaskResultVO>> list(@ApiParam(value = "巡查任务ID", required = true) @RequestParam Long patrolTaskId) { return R.data(gdTaskResultService.listByPatrolTaskId(patrolTaskId)); } // /** // * 成果表 分页 // */ // @GetMapping("/list") // @ApiOperationSupport(order = 2) // @ApiOperation(value = "分页", notes = "传入gdTaskResult") // public R<IPage<GdTaskResultVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdTaskResult, Query query) { // IPage<GdTaskResultEntity> pages = gdTaskResultService.page(Condition.getPage(query), Condition.getQueryWrapper(gdTaskResult, GdTaskResultEntity.class)); // return R.data(GdTaskResultWrapper.build().pageVO(pages)); // } /** * 成果表 自定义分页 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdClueEventEntity.java
@@ -58,16 +58,6 @@ @ApiModelProperty(value = "处置部门") private String disposeDept; /** * 分发人员 */ @ApiModelProperty(value = "分发人员") private String distributeUser; /** * 分发部门 */ @ApiModelProperty(value = "分发部门") private String distributeDept; /** * 分发时间 */ @ApiModelProperty(value = "分发时间") drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdClueEventMapper.xml
@@ -9,8 +9,6 @@ <result column="work_order_id" property="workOrderId"/> <result column="dispose_user" property="disposeUser"/> <result column="dispose_dept" property="disposeDept"/> <result column="distribute_user" property="distributeUser"/> <result column="distribute_dept" property="distributeDept"/> <result column="distribute_time" property="distributeTime"/> <result column="work_order_location" property="workOrderLocation"/> <result column="event_status" property="eventStatus"/> 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
@@ -3,7 +3,7 @@ <mapper namespace="org.sxkj.gd.workorder.mapper.GdPatrolTaskMapper"> <!-- 通用查询映射结果 --> <resultMap id="gdPatrolTaskResultMap" type="org.sxkj.gd.workorder.entity.GdPatrolTaskEntity"> <resultMap id="gdPatrolTaskResultMap" type="org.sxkj.gd.workorder.vo.GdPatrolTaskVO"> <result column="id" property="id"/> <result column="work_order_id" property="workOrderId"/> <result column="patrol_task_name" property="patrolTaskName"/> @@ -22,13 +22,26 @@ <result column="update_time" property="updateTime"/> <result column="status" property="status"/> <result column="is_deleted" property="isDeleted"/> <result column="result_count" property="resultCount"/> <result column="issue_event_count" property="issueEventCount"/> </resultMap> <select id="selectGdPatrolTaskPage" resultMap="gdPatrolTaskResultMap"> select pt.*, wo.work_order_name select pt.*, wo.work_order_name, IFNULL(tr.result_count, 0) as result_count, IFNULL(tr.issue_event_count, 0) as issue_event_count from ja_gd_patrol_task pt left join ja_gd_work_order wo on pt.work_order_id = wo.id left join ( select patrol_task_id, count(*) as result_count, sum(case when distribute_status in (1,2) then 1 else 0 end) as issue_event_count from ja_gd_task_result where is_deleted = 0 group by patrol_task_id ) tr on tr.patrol_task_id = pt.id <where> <if test="param2.workOrderId != null and param2.workOrderId != ''"> and pt.work_order_id = #{param2.workOrderId} @@ -42,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/mapper/GdTaskResultMapper.java
@@ -42,6 +42,8 @@ */ List<GdTaskResultVO> selectGdTaskResultPage(IPage page, GdTaskResultVO gdTaskResult); List<GdTaskResultVO> selectGdTaskResultListByPatrolTaskId(@Param("patrolTaskId") Long patrolTaskId); /** * 获取导出数据 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/mapper/GdTaskResultMapper.xml
@@ -3,7 +3,7 @@ <mapper namespace="org.sxkj.gd.workorder.mapper.GdTaskResultMapper"> <!-- 通用查询映射结果 --> <resultMap id="gdTaskResultResultMap" type="org.sxkj.gd.workorder.entity.GdTaskResultEntity"> <resultMap id="gdTaskResultResultMap" type="org.sxkj.gd.workorder.vo.GdTaskResultVO"> <result column="id" property="id"/> <result column="patrol_task_id" property="patrolTaskId"/> <result column="result_code" property="resultCode"/> @@ -20,6 +20,8 @@ <result column="update_time" property="updateTime"/> <result column="status" property="status"/> <result column="is_deleted" property="isDeleted"/> <result column="distribute_user_name" property="distributeUserName"/> <result column="distribute_dept_name" property="distributeDeptName"/> </resultMap> @@ -27,6 +29,18 @@ select * from ja_gd_task_result where is_deleted = 0 </select> <select id="selectGdTaskResultListByPatrolTaskId" resultMap="gdTaskResultResultMap"> select tr.*, IFNULL(bu.real_name, bu.name) as distribute_user_name, bd.dept_name as distribute_dept_name from ja_gd_task_result tr left join ja_gd_clue_event ce on ce.result_id = tr.id and ce.is_deleted = 0 left join blade_user bu on bu.id = ce.create_user and bu.is_deleted = 0 left join blade_dept bd on bd.id = ce.create_dept and bd.is_deleted = 0 where tr.is_deleted = 0 and tr.patrol_task_id = #{patrolTaskId} </select> <select id="exportGdTaskResult" resultType="org.sxkj.gd.workorder.excel.GdTaskResultExcel"> SELECT * FROM ja_gd_task_result ${ew.customSqlSegment} drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdPatrolTaskService.java
@@ -40,7 +40,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/IGdTaskResultService.java
@@ -40,6 +40,8 @@ */ IPage<GdTaskResultVO> selectGdTaskResultPage(IPage<GdTaskResultVO> page, GdTaskResultVO gdTaskResult); List<GdTaskResultVO> listByPatrolTaskId(Long patrolTaskId); /** * 导出数据 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -55,8 +55,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)); } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdTaskResultServiceImpl.java
@@ -41,6 +41,11 @@ return page.setRecords(baseMapper.selectGdTaskResultPage(page, gdTaskResult)); } @Override public List<GdTaskResultVO> listByPatrolTaskId(Long patrolTaskId) { return baseMapper.selectGdTaskResultListByPatrolTaskId(patrolTaskId); } @Override public List<GdTaskResultExcel> exportGdTaskResult(Wrapper<GdTaskResultEntity> queryWrapper) { drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdPatrolTaskVO.java
@@ -32,5 +32,10 @@ public class GdPatrolTaskVO extends GdPatrolTaskEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "成果数量") private Long resultCount; @ApiModelProperty(value = "问题事件数量") private Long issueEventCount; } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/vo/GdTaskResultVO.java
@@ -16,6 +16,7 @@ */ package org.sxkj.gd.workorder.vo; import io.swagger.annotations.ApiModelProperty; import org.sxkj.gd.workorder.entity.GdTaskResultEntity; import lombok.Data; import lombok.EqualsAndHashCode; @@ -31,4 +32,10 @@ public class GdTaskResultVO extends GdTaskResultEntity { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "分发人员") private String distributeUserName; @ApiModelProperty(value = "分发部门") private String distributeDeptName; }