From 4c510e740c632abd2060ef46f74d067f9528cd69 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 03 四月 2025 11:45:08 +0800
Subject: [PATCH] 设备报修基础接口

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java                  |  102 ++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java         |   23 ++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml         |   48 ++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java            |   28 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java |   49 ++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java    |  152 +++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java            |   37 ++++
 7 files changed, 439 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
new file mode 100644
index 0000000..485c4c9
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
@@ -0,0 +1,152 @@
+package org.jeecg.modules.eam.controller;
+
+import java.util.Arrays;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.service.IEamReportRepairService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.system.base.controller.JeecgController;
+
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * @Description: 鏁呴殰鎶ヤ慨
+ * @Author: Lius
+ * @Date: 2025-04-01
+ */
+@Slf4j
+@Api(tags = "鏁呴殰鎶ヤ慨")
+@RestController
+@RequestMapping("/eam/eamReportRepair")
+public class EamReportRepairController extends JeecgController<EamReportRepair, IEamReportRepairService> {
+
+    @Resource
+    private IEamReportRepairService eamReportRepairService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamReportRepairQuery
+     * @param pageNo
+     * @param pageSize
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ", notes = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamReportRepairQuery eamReportRepairQuery,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Page<EamReportRepair> page = new Page<EamReportRepair>(pageNo, pageSize);
+        IPage<EamReportRepair> pageList = eamReportRepairService.pageList(page, eamReportRepairQuery);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param eamReportRepair
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-娣诲姞")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-娣诲姞", notes = "鏁呴殰鎶ヤ慨-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamReportRepair eamReportRepair) {
+//        eamReportRepair.setReportStatus();
+        eamReportRepairService.save(eamReportRepair);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param eamReportRepair
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-缂栬緫")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-缂栬緫", notes = "鏁呴殰鎶ヤ慨-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody EamReportRepair eamReportRepair) {
+        eamReportRepairService.updateById(eamReportRepair);
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎", notes = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        eamReportRepairService.removeById(id);
+        return Result.OK("鍒犻櫎鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎", notes = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.eamReportRepairService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ", notes = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        EamReportRepair eamReportRepair = eamReportRepairService.getById(id);
+        return Result.OK(eamReportRepair);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamReportRepair
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamReportRepair eamReportRepair) {
+        return super.exportXls(request, eamReportRepair, EamReportRepair.class, "鏁呴殰鎶ヤ慨");
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, EamReportRepair.class);
+    }
+
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
new file mode 100644
index 0000000..9ca62b5
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java
@@ -0,0 +1,102 @@
+package org.jeecg.modules.eam.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description: 鏁呴殰鎶ヤ慨
+ * @Author: Lius
+ * @Date: 2025-04-01
+ */
+@Data
+@TableName("eam_report_repair")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "eam_report_repair瀵硅薄", description = "鏁呴殰鎶ヤ慨")
+public class EamReportRepair extends JeecgEntity implements Serializable {
+
+	private static final long serialVersionUID = 3966250456529614720L;
+
+    /**
+     * 鍒犻櫎鏍囪
+     */
+    @Excel(name = "鍒犻櫎鏍囪", width = 15)
+    @ApiModelProperty(value = "鍒犻櫎鏍囪")
+    @Dict(dicCode = "del_flag")
+    private Integer delFlag;
+    /**
+     * 鏁呴殰寮�濮嬫椂闂�
+     */
+    @ApiModelProperty(value = "鏁呴殰寮�濮嬫椂闂�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date faultStartTime;
+    /**
+     * 鏄惁鍋滄満
+     */
+    @Excel(name = "鏄惁鍋滄満", width = 15)
+    @ApiModelProperty(value = "鏄惁鍋滄満")
+    @Dict(dicCode = "breakdown_flag")
+    private String breakdownFlag;
+    /**
+     * 璁惧ID
+     */
+    @Excel(name = "璁惧ID", width = 15)
+    @ApiModelProperty(value = "璁惧ID")
+    private String equipmentId;
+    /**
+     * 鏁呴殰绠�绉�
+     */
+    @Excel(name = "鏁呴殰绠�绉�", width = 15)
+    @ApiModelProperty(value = "鏁呴殰绠�绉�")
+    private String faultName;
+    /**
+     * 鏁呴殰鍒嗙被
+     */
+    @Excel(name = "鏁呴殰鍒嗙被", width = 15)
+    @ApiModelProperty(value = "鏁呴殰鍒嗙被")
+    @Dict(dicCode = "fault_reason_category")
+    private String faultType;
+    /**
+     * 鏁呴殰鎻忚堪
+     */
+    @Excel(name = "鏁呴殰鎻忚堪", width = 15)
+    @ApiModelProperty(value = "鏁呴殰鎻忚堪")
+    private String faultDescription;
+    /**
+     * 鎶ヤ慨鐘舵��
+     */
+    @Excel(name = "鎶ヤ慨鐘舵��", width = 15)
+    @ApiModelProperty(value = "鎶ヤ慨鐘舵��")
+    @Dict(dicCode = "report_repair_status")
+    private String reportStatus;
+    /**
+     * 鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧
+     */
+    @Excel(name = "鐓х墖", width = 15)
+    @ApiModelProperty(value = "鐓х墖")
+    private String imageFiles;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    private String equipmentName;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
new file mode 100644
index 0000000..a86d58c
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
@@ -0,0 +1,28 @@
+package org.jeecg.modules.eam.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+
+import java.util.List;
+
+/**
+ * @Description: 鏁呴殰鎶ヤ慨
+ * @Author: Lius
+ * @Date: 2025-04-01
+ */
+public interface EamReportRepairMapper extends BaseMapper<EamReportRepair> {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param page
+     * @param eamReportRepairQuery
+     * @param equipmentIds
+     * @return
+     */
+    IPage<EamReportRepair> pageList(Page<EamReportRepair> page, @Param("eamReportRepair") EamReportRepairQuery eamReportRepairQuery, @Param("userId") String userId, @Param("equipmentIds") List<String> equipmentIds);
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
new file mode 100644
index 0000000..dfbd659
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!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.EamReportRepairMapper">
+
+    <select id="pageList" resultType="org.jeecg.modules.eam.entity.EamReportRepair">
+        SELECT
+            t1.*,
+            t2.equipment_name
+        FROM
+            eam_report_repair t1
+                LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.equipment_code
+        <where>
+            <choose>
+                <when test="equipmentIds != null and equipmentIds.size() > 0 ">
+                    AND t1.equipment_id IN
+                    <foreach collection="equipmentIds" item="equipmentId" index="index" open="(" close=")" separator=",">
+                        {equipmentId}
+                    </foreach>
+                </when>
+                <otherwise>
+                    EXISTS ( SELECT 1 FROM mdc_user_production t3 WHERE t3.user_id = #{userId} AND t3.pro_id= t2.org_id )
+                </otherwise>
+            </choose>
+            <if test="eamReportRepair.equipmentId != null and eamReportRepair.equipmentId != ''">
+                AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{ eamReportRepair.equipmentId }),'%')
+            </if>
+            <if test="eamReportRepair.equipmentName != null and eamReportRepair.equipmentName != ''">
+                AND t2.equipment_name = LIKE CONCAT(CONCAT('%',#{ eamReportRepair.equipmentName }),'%')
+            </if>
+            <if test="eamReportRepair.breakdownFlag != null and eamReportRepair.breakdownFlag != ''">
+                AND t1.breakdown_flag = #{ eamReportRepair.breakdownFlag }
+            </if>
+            <if test="eamReportRepair.faultType != null and eamReportRepair.faultType != ''">
+                AND t1.fault_type = #{ eamReportRepair.faultType }
+            </if>
+            <if test="eamReportRepair.reportStatus != null and eamReportRepair.reportStatus != ''">
+                AND t1.report_status = #{ eamReportRepair.reportStatus }
+            </if>
+            <if test="eamReportRepair.faultName != null and eamReportRepair.faultName != ''">
+                AND t1.fault_name = #{ eamReportRepair.faultName }
+            </if>
+            <if test="eamReportRepair.startTime != null and eamReportRepair.startTime != '' and eamReportRepair.endTime != null and eamReportRepair.endTime != ''">
+                AND t1.fault_start_time BETWEEN #{ eamReportRepair.startTime } AND #{ eamReportRepair.endTime }
+            </if>
+        </where>
+        ORDER BY t1.fault_start_time DESC
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
new file mode 100644
index 0000000..cec5aed
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java
@@ -0,0 +1,37 @@
+package org.jeecg.modules.eam.request;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-04-03
+ * @Description:
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="璇锋眰瀵硅薄", description="璁惧鎶ヤ慨")
+public class EamReportRepairQuery extends EamReportRepair implements Serializable {
+
+    private static final long serialVersionUID = -7111580122226167877L;
+
+    @ApiModelProperty(value = "寮�濮嬫椂闂�")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    @ApiModelProperty(value = "缁撴潫鏃堕棿")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
new file mode 100644
index 0000000..dbaedda
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
@@ -0,0 +1,23 @@
+package org.jeecg.modules.eam.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+
+/**
+ * @Description: 鏁呴殰鎶ヤ慨
+ * @Author: Lius
+ * @Date: 2025-04-01
+ */
+public interface IEamReportRepairService extends IService<EamReportRepair> {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     * @param page
+     * @param eamReportRepairQuery
+     * @return
+     */
+    IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery eamReportRepairQuery);
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
new file mode 100644
index 0000000..996b510
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -0,0 +1,49 @@
+package org.jeecg.modules.eam.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import org.jeecg.modules.eam.mapper.EamReportRepairMapper;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.service.IEamReportRepairService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Description: 鏁呴殰鎶ヤ慨
+ * @Author: Lius
+ * @Date: 2025-04-01
+ */
+@Service
+public class EamReportRepairServiceImpl extends ServiceImpl<EamReportRepairMapper, EamReportRepair> implements IEamReportRepairService {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param page
+     * @param eamReportRepairQuery
+     * @return
+     */
+    @Override
+    public IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery eamReportRepairQuery) {
+        //鐢ㄦ埛鏁版嵁鏉冮檺
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (sysUser == null) {
+            return page;
+        }
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) {
+            //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧
+            equipmentIds = Arrays.asList(sysUser.getEquipmentIds().split(","));
+        }
+        return this.baseMapper.pageList(page, eamReportRepairQuery, sysUser.getId(), equipmentIds);
+    }
+}

--
Gitblit v1.9.3