From 447a83ebbdceb8a015c02cfa982aa16587450380 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期四, 17 四月 2025 14:29:56 +0800
Subject: [PATCH] art: 设备管理-点检工单-点检查询 数据权限过滤

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml         |    7 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java                  |   12 ++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderQuery.java            |   23 +++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java |   64 +++++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java         |   10 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java    |   17 +++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java            |   13 ++++
 7 files changed, 132 insertions(+), 14 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
index efe8da6..e6afd18 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java
@@ -13,6 +13,7 @@
 import org.jeecg.modules.eam.constant.BusinessCodeConst;
 import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
+import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
 import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
 import org.jeecg.modules.eam.service.IEamInspectionOrderService;
 import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
@@ -43,7 +44,7 @@
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
-	 * @param eamInspectionOrder
+	 * @param query
 	 * @param pageNo
 	 * @param pageSize
 	 * @param req
@@ -52,13 +53,13 @@
 	//@AutoLog(value = "鐐规宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
 	@ApiOperation(value="鐐规宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes="鐐规宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
 	@GetMapping(value = "/list")
-	public Result<IPage<EamInspectionOrder>> queryPageList(EamInspectionOrder eamInspectionOrder,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
-		QueryWrapper<EamInspectionOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamInspectionOrder, req.getParameterMap());
+	public Result<IPage<EamInspectionOrder>> queryPageList(EamInspectionOrderQuery query,
+														   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+														   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+														   HttpServletRequest req) {
+//		QueryWrapper<EamInspectionOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamInspectionOrder, req.getParameterMap());
 		Page<EamInspectionOrder> page = new Page<EamInspectionOrder>(pageNo, pageSize);
-		IPage<EamInspectionOrder> pageList = eamInspectionOrderService.page(page, queryWrapper);
+		IPage<EamInspectionOrder> pageList = eamInspectionOrderService.queryPageList(page, query);
 		return Result.OK(pageList);
 	}
 
@@ -87,7 +88,7 @@
 	public Result<String> add(@RequestBody EamInspectionOrderRequest eamInspectionOrderRequest) {
 		String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.INSPECTION_ORDER_CODE_RULE);
 		eamInspectionOrderRequest.setOrderNum(codeSeq);
-		eamInspectionOrderRequest.setCreationMethod(String.valueOf(OrderCreationMethodEnum.AUTO));
+		eamInspectionOrderRequest.setCreationMethod(String.valueOf(OrderCreationMethodEnum.MANUAL));
 		eamInspectionOrderService.addInspectionOrder(eamInspectionOrderRequest);
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
index bb2358a..1d0c12a 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java
@@ -1,9 +1,6 @@
 package org.jeecg.modules.eam.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -65,12 +62,11 @@
 	/**璁惧ID*/
 	@Excel(name = "璁惧ID", width = 15)
     @ApiModelProperty(value = "璁惧ID")
-    @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code")
     private String equipmentId;
 	/**鏍囧噯ID*/
 	@Excel(name = "淇濆吇鏍囧噯ID", width = 15)
     @ApiModelProperty(value = "淇濆吇鏍囧噯ID")
-    @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_code")
+    @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_name")
     private String standardId;
 	/**鐐规鏃ユ湡*/
 	@Excel(name = "鐐规鏃ユ湡锛堣鍒掞級", width = 15, format = "yyyy-MM-dd")
@@ -146,4 +142,8 @@
     /**澶勭悊鎰忚*/
     @ApiModelProperty(value = "澶勭悊鎰忚")
     private transient String dealSuggestion;
+
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    @TableField(exist = false)
+    private String equipmentName;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
index f62c2a4..0851910 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java
@@ -1,7 +1,13 @@
 package org.jeecg.modules.eam.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
+import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
 
 /**
  * @Description: 鐐规宸ュ崟
@@ -11,4 +17,11 @@
  */
 public interface EamInspectionOrderMapper extends BaseMapper<EamInspectionOrder> {
 
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param queryWrapper
+     * @return
+     */
+    IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamInspectionOrder> queryWrapper);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
index a69ec96..b596292 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.eam.mapper.EamInspectionOrderMapper">
 
+    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamInspectionOrder">
+        select wmo.*, e.equipment_code, e.equipment_name
+        from eam_inspection_order wmo
+        inner join eam_equipment e
+        on wmo.equipment_id = e.id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderQuery.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderQuery.java
new file mode 100644
index 0000000..b53d8d5
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamInspectionOrderQuery.java
@@ -0,0 +1,23 @@
+package org.jeecg.modules.eam.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class EamInspectionOrderQuery {
+    private String orderNum;
+    private String equipmentId;
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date inspectionDateBegin;
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date inspectionDateEnd;
+    private String inspectionStatus;
+
+    private String column;
+    private String order;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
index fdeee05..4aa4732 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java
@@ -1,8 +1,11 @@
 package org.jeecg.modules.eam.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
+import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
 import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
 
 /**
@@ -63,4 +66,11 @@
      */
     Result<?> inspectionProcess(EamInspectionOrderRequest eamInspectionOrderRequest);
 
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page
+     * @param query
+     * @return
+     */
+    IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, EamInspectionOrderQuery query);
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
index fc599b0..9409834 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java
@@ -4,20 +4,28 @@
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.flowable.engine.TaskService;
 import org.flowable.task.api.Task;
 import org.jeecg.common.api.vo.FileUploadResult;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.constant.DataBaseConstant;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.eam.constant.InspectionStatus;
 import org.jeecg.modules.eam.entity.EamEquipment;
 import org.jeecg.modules.eam.entity.EamInspectionOrder;
 import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
+import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder;
 import org.jeecg.modules.eam.mapper.EamInspectionOrderMapper;
+import org.jeecg.modules.eam.request.EamInspectionOrderQuery;
 import org.jeecg.modules.eam.request.EamInspectionOrderRequest;
 import org.jeecg.modules.eam.service.IEamEquipmentService;
 import org.jeecg.modules.eam.service.IEamInspectionOrderDetailService;
@@ -48,6 +56,9 @@
  */
 @Service("IEamInspectionOrderService")
 public class EamInspectionOrderServiceImpl extends ServiceImpl<EamInspectionOrderMapper, EamInspectionOrder> implements IEamInspectionOrderService, FlowCallBackServiceI {
+
+    @Resource
+    private EamInspectionOrderMapper eamInspectionOrderMapper;
     @Autowired
     private IEamInspectionOrderDetailService eamInspectionOrderDetailService;
     @Resource
@@ -68,6 +79,57 @@
     private IMdcUserProductionService mdcUserProductionService;
     @Autowired
     private IEamReportRepairService eamReportRepairService;
+
+    @Override
+    public IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, EamInspectionOrderQuery query) {
+        QueryWrapper<EamInspectionOrder> queryWrapper = new QueryWrapper<>();
+        //鐢ㄦ埛鏁版嵁鏉冮檺
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (sysUser == null) {
+            return page;
+        }
+        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+            //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+            List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(","));
+            queryWrapper.in("e.equipment_code", equipArr);
+        } else {
+            //娌℃湁閫夋嫨璁惧锛屾牴鎹溅闂磋繃婊よ澶�
+            queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId());
+        }
+        //鏌ヨ鏉′欢杩囨护
+        if (query != null) {
+            if (StringUtils.isNotBlank(query.getEquipmentId())) {
+                queryWrapper.eq("wmo.equipment_id", query.getEquipmentId());
+            }
+            if (StringUtils.isNotBlank(query.getOrderNum())) {
+                queryWrapper.like("wmo.order_num", query.getOrderNum());
+            }
+            if (StringUtils.isNotBlank(query.getInspectionStatus())) {
+                queryWrapper.eq("wmo.inspection_status", query.getInspectionStatus());
+            }
+            if (query.getInspectionDateBegin() != null && query.getInspectionDateEnd() != null) {
+                queryWrapper.between("wmo.inspection_date", query.getInspectionDateBegin(), query.getInspectionDateEnd());
+            }
+            //鎺掑簭
+            if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
+                String column = query.getColumn();
+                if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
+                    column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
+                }
+                if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) {
+                    queryWrapper.orderByAsc("wmo." + oConvertUtils.camelToUnderline(column));
+                } else {
+                    queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column));
+                }
+            } else {
+                queryWrapper.orderByDesc("wmo.create_time");
+            }
+        } else {
+            queryWrapper.orderByDesc("wmo.create_time");
+        }
+
+        return eamInspectionOrderMapper.queryPageList(page, queryWrapper);
+    }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -262,6 +324,8 @@
         }
     }
 
+
+
     private boolean isValidRequest(EamInspectionOrderRequest request) {
         return StrUtil.isNotBlank(request.getTaskId()) && StrUtil.isNotBlank(request.getDataId());
     }

--
Gitblit v1.9.3