Ver código fonte

pms 保养工单 通过左侧部门树筛选数据

zhangcl 2 semanas atrás
pai
commit
4d1273b957

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/iotmainworkorder/IotMainWorkOrderMapper.java

@@ -106,5 +106,5 @@ public interface IotMainWorkOrderMapper extends BaseMapperX<IotMainWorkOrderDO>
      * @return
      */
     IPage<IotMainWorkOrderRespVO> sortedMainWorkOrders(IPage<IotMainWorkOrderDO> page, @Param("reqVO") IotMainWorkOrderPageReqVO reqVO,
-                                              @Param("alarmWorkOrderIds") Collection<Long> alarmWorkOrderIds);
+                                              @Param("alarmWorkOrderIds") Collection<Long> alarmWorkOrderIds, @Param("deptIds") Collection<Long> deptIds);
 }

+ 7 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/iotmainworkorder/IotMainWorkOrderServiceImpl.java

@@ -281,9 +281,15 @@ public class IotMainWorkOrderServiceImpl implements IotMainWorkOrderService {
             // 对集合 resultMap 中所有数据进行排序 按照 map 的value值 去除后面的 字符后 升序排列
             // 排序后输出一个 List<Long> 类型的集合,排序对应上面的排序规则 集合中的元素是 保养工单id
             List<Long> sortedWorkOrderIds = sortByNumericValue(resultMap);
+            // 查询选择部门下面所有子部门
+            Set<Long> ids = new HashSet<>();
+            if (Objects.nonNull(pageReqVO.getDeptId())) {
+                ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
+                ids.add(pageReqVO.getDeptId());
+            }
             // 查询所有设备列表 通过SQL形式 使用 FIELD 字段
             IPage<IotMainWorkOrderRespVO> page = iotMainWorkOrderMapper.sortedMainWorkOrders(
-                    new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, sortedWorkOrderIds);
+                    new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, sortedWorkOrderIds, ids);
             if (CollUtil.isNotEmpty(page.getRecords())) {
                 Map<Long, String> finalResultMap = resultMap;
                 page.getRecords().forEach(order -> {

+ 7 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/resources/mapper/static/IotMainWorkOrderMapper.xml

@@ -31,7 +31,13 @@
             *
         FROM rq_iot_main_work_order mwo
         WHERE mwo.deleted = 0
-        <if test="reqVO.name != null and reqVO.name != ''">
+        <if test="deptIds != null and deptIds.size &gt; 0">
+            AND mwo.dept_id IN
+            <foreach collection="deptIds" index="index" item="key" open="(" separator="," close=")">
+                #{key}
+            </foreach>
+        </if>
+          <if test="reqVO.name != null and reqVO.name != ''">
             AND mwo.name LIKE concat(concat("%",#{reqVO.name}),"%")
         </if>
         <if test="reqVO.result != null">