ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
@@ -1,5 +1,6 @@ package com.ycl.platform.controller; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.ReportQuery; import com.ycl.platform.domain.vo.ReportVO; import com.ycl.platform.domain.vo.YwUnitVO; @@ -83,8 +84,8 @@ @GetMapping("/work/list") @ApiOperation(value = "工单列表", notes = "工单列表") public Result workList() { return ywUnitService.workList(); public Result workList(DistributeWorkOrderQuery query) { return ywUnitService.workList(query); } @PostMapping("/export") ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.vo.YwUnitVO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; @@ -23,7 +25,7 @@ * 运维单位列表统计 * @return 数据 */ List<YwUnitVO> workList(); List<YwUnitVO> workList(@Param("query") DistributeWorkOrderQuery query); /** * 通过用户ID查找运维单位 ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.form.YwUnitForm; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.YwUnitQuery; import com.ycl.platform.domain.vo.YwUnitVO; import com.ycl.system.Result; @@ -77,7 +78,7 @@ * 列表 * @return */ Result workList(); Result workList(DistributeWorkOrderQuery query); /** * 设置登录用户的运维单位信息 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -7,6 +7,7 @@ import com.ycl.platform.base.BaseSelect; import com.ycl.platform.domain.entity.YwUnit; import com.ycl.platform.domain.form.YwUnitForm; import com.ycl.platform.domain.query.DistributeWorkOrderQuery; import com.ycl.platform.domain.query.YwUnitQuery; import com.ycl.platform.domain.vo.YwUnitVO; import com.ycl.platform.mapper.YwUnitMapper; @@ -23,6 +24,7 @@ import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; import lombok.RequiredArgsConstructor; import org.apache.ibatis.annotations.Param; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -211,8 +213,8 @@ } @Override public Result workList() { List<YwUnitVO> entities = baseMapper.workList(); public Result workList(DistributeWorkOrderQuery query) { List<YwUnitVO> entities = baseMapper.workList(query); return Result.ok().data(entities); } ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -35,16 +35,34 @@ <select id="workList" resultType="com.ycl.platform.domain.vo.YwUnitVO"> SELECT a.*, COUNT(b.id) AS work_order_count u.id AS id, u.unit_name, count(DISTINCT wot.id) AS work_order_count FROM t_yw_unit a t_yw_unit u LEFT JOIN t_work_order b ON a.id = b.unit_id AND b.deleted = 0 AND b.status = 'WAIT_DISTRIBUTE' WHERE a.deleted = 0 GROUP BY a.id; ( SELECT wo.id, wo.unit_id FROM t_work_order wo INNER JOIN t_monitor tm ON wo.serial_number = tm.serial_number INNER JOIN t_yw_point yp ON yp.serial_number = wo.serial_number AND yp.deleted = 0 INNER JOIN t_work_order_error_type et ON wo.work_order_no = et.work_order_no INNER JOIN sys_dict_data da ON da.dict_value = et.error_name AND da.dict_type = 'error_type' <if test="query.errorTypeList != null and query.errorTypeList.size() > 0">AND da.dict_value in <foreach collection="query.errorTypeList" open="(" separator="," close=")" item="errorType">#{errorType}</foreach> </if> WHERE wo.deleted = 0 <if test="query.status != null and query.status != ''"> AND wo.status = #{query.status} </if> <if test="query.keyword != null and query.keyword != ''"> AND (tm.name like concat('%', #{query.keyword}, '%') or tm.serial_number like concat('%', #{query.keyword}, '%')) </if> ) as wot ON wot.unit_id = u.id WHERE u.deleted = 0 group by u.id </select> <insert id="insertYwUnit" parameterType="YwUnit" useGeneratedKeys="true" keyProperty="id">