From 8b746e482fea845bd6d044d609acc2763783d0bd Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 27 八月 2025 12:17:29 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java |    8 
 src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java        |  174 ++++++++++++++++++++++++
 src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java         |  193 +++++++++++++++++++++++++++
 3 files changed, 371 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java b/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java
index df78745..7ec29d6 100644
--- a/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java
+++ b/src/main/java/org/jeecg/modules/eam/controller/EamPrecisionParametersController.java
@@ -148,10 +148,10 @@
      * @param response
      * @return
      */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, EamPrecisionParameters.class);
-    }
+        @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+        public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+            return super.importExcel(request, response, EamPrecisionParameters.class);
+        }
 
     @ApiOperation(value = "绮惧害鍙傛暟缁存姢-鏌ヨ鎵�鏈�", notes = "绮惧害鍙傛暟缁存姢-鏌ヨ鎵�鏈�")
     @GetMapping(value = "/listAll")
diff --git a/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java b/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
new file mode 100644
index 0000000..b8a3262
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
@@ -0,0 +1,193 @@
+package org.jeecg.modules.eam.controller;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.TranslateDictTextUtils;
+import org.jeecg.modules.eam.constant.BusinessCodeConst;
+import org.jeecg.modules.eam.entity.EamRepairOrder;
+import org.jeecg.modules.eam.request.EamRepairOrderQuery;
+import org.jeecg.modules.eam.request.EamRepairOrderRequest;
+import org.jeecg.modules.eam.request.EamRepairOrderResponse;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.service.IEamRepairOrderService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Description: 缁翠慨宸ュ崟
+ * @Author: Lius
+ * @Date: 2025-04-03
+ */
+@Slf4j
+@Api(tags = "缁翠慨宸ュ崟")
+@RestController
+@RequestMapping("/eam/eamRepairOrder")
+public class EamRepairOrderController extends JeecgController<EamRepairOrder, IEamRepairOrderService> {
+
+    @Resource
+    private IEamRepairOrderService eamRepairOrderService;
+
+    @Resource
+    private ObjectMapper objectMapper;
+
+    @Resource
+    private TranslateDictTextUtils translateDictTextUtils;
+
+    @Resource
+    private ISysUserService sysUserService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param eamRepairOrderQuery
+     * @param pageNo
+     * @param pageSize
+     * @return
+     */
+    @ApiOperation(value = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ", notes = "缁翠慨宸ュ崟-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(EamRepairOrderQuery eamRepairOrderQuery,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+        Page<EamRepairOrder> page = new Page<EamRepairOrder>(pageNo, pageSize);
+        IPage<EamRepairOrder> pageList = eamRepairOrderService.pageList(page, eamRepairOrderQuery);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 棰嗗彇
+     *
+     * @param eamRepairOrder
+     * @return
+     */
+    @AutoLog(value = "缁翠慨宸ュ崟-棰嗗彇")
+    @ApiOperation(value = "缁翠慨宸ュ崟-棰嗗彇", notes = "缁翠慨宸ュ崟-棰嗗彇")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody EamRepairOrder eamRepairOrder) {
+        if (StringUtils.isBlank(eamRepairOrder.getReportId())) {
+            return Result.error("棰嗗彇澶辫触,璇烽�夋嫨缁翠慨璁板綍锛�");
+        }
+        // 鏍¢獙棰嗗彇鏉冮檺
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!BusinessCodeConst.PCR0002.equals(user.getPost())) {
+            return Result.error("棰嗗彇澶辫触,娌℃湁棰嗗彇鏉冮檺锛�");
+        }
+        eamRepairOrderService.saveRepairOrder(eamRepairOrder);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 鎸囨淳
+     *
+     * @param
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-鎸囨淳")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-鎸囨淳", notes = "鏁呴殰鎶ヤ慨-鎸囨淳")
+    @PostMapping(value = "/assign")
+    public Result<?> assign(@RequestBody EamReportRepairQuery eamReportRepairQuery) {
+        if (StringUtils.isBlank(eamReportRepairQuery.getRepairer())) {
+            return Result.error("鎸囨淳澶辫触,璇烽�夋嫨缁翠慨宸ワ紒");
+        }
+        // 鏍¢獙鎸囨淳鏉冮檺
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        if (!BusinessCodeConst.PCR0004.equals(user.getPost())) {
+            return Result.error("鎸囨淳澶辫触,娌℃湁鎸囨淳鏉冮檺锛�");
+        }
+        // 鏍¢獙缁翠慨宸ユ潈闄�
+        SysUser sysUser = sysUserService.getUserByName(eamReportRepairQuery.getRepairer());
+        if (sysUser == null) {
+            return Result.error("鎸囨淳澶辫触,鏈壘鍒版缁翠慨宸ョ敤鎴凤紒");
+        }
+        if (!BusinessCodeConst.PCR0002.equals(sysUser.getPost())) {
+            return Result.error("鎸囨淳澶辫触,姝ょ敤鎴蜂笉鏄淮淇伐锛�");
+        }
+        eamRepairOrderService.assign(eamReportRepairQuery);
+
+        return Result.OK("鎸囨淳鎴愬姛锛�");
+    }
+
+    /**
+     * 鎴戠殑寰呭姙 鎵ц/瀹℃壒
+     *
+     * @param request
+     * @return
+     */
+    @AutoLog(value = "缁翠慨宸ュ崟-鎵ц/瀹℃壒")
+    @ApiOperation(value = "缁翠慨宸ュ崟-鎵ц/瀹℃壒", notes = "缁翠慨宸ュ崟-鎵ц/瀹℃壒")
+    @PostMapping(value = "/perform")
+    public Result<?> perform(@RequestBody EamRepairOrderRequest request) {
+        if (request == null) {
+            return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒");
+        }
+        // 妫�鏌ヨ姹傚弬鏁�
+        if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) {
+            return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�");
+        }
+        EamRepairOrder b = eamRepairOrderService.perform(request);
+        if(b == null) {
+            return Result.error("鎿嶄綔澶辫触锛�");
+        }
+        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) {
+        EamRepairOrderResponse eamRepairOrder = eamRepairOrderService.findById(id);
+        if (eamRepairOrder == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹紒");
+        }
+        try {
+            String json = objectMapper.writeValueAsString(eamRepairOrder);
+            JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
+            translateDictTextUtils.translateField("createBy", eamRepairOrder.getCreateBy(), item, "sys_user,realname,username");
+            translateDictTextUtils.translateField("breakdownFlag", eamRepairOrder.getBreakdownFlag(), item, "breakdown_flag");
+            translateDictTextUtils.translateField("faultType", eamRepairOrder.getFaultType(), item, "fault_reason_category");
+            translateDictTextUtils.translateField("reportStatus", eamRepairOrder.getReportStatus(), item, "report_repair_status");
+            translateDictTextUtils.translateField("equipmentId", eamRepairOrder.getEquipmentId(), item, "eam_equipment,id,equipment_code");
+            translateDictTextUtils.translateField("repairStatus", eamRepairOrder.getRepairStatus(), item, "report_repair_status");
+            translateDictTextUtils.translateField("repairer", eamRepairOrder.getRepairer(), item, "sys_user,username,realname");
+            return Result.OK(item);
+        } catch (Exception e) {
+            return Result.error("鏁版嵁杞瘧澶辫触锛�");
+        }
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamRepairOrder
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamRepairOrder eamRepairOrder) {
+        return super.exportXls(request, eamRepairOrder, EamRepairOrder.class, "缁翠慨宸ュ崟");
+    }
+
+}
diff --git a/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java b/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
new file mode 100644
index 0000000..31d9ba0
--- /dev/null
+++ b/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
@@ -0,0 +1,174 @@
+package org.jeecg.modules.eam.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.util.TranslateDictTextUtils;
+import org.jeecg.modules.eam.constant.ReportRepairEnum;
+import org.jeecg.modules.eam.entity.EamReportRepair;
+import org.jeecg.modules.eam.request.EamReportRepairQuery;
+import org.jeecg.modules.eam.service.IEamReportRepairService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @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;
+
+    @Resource
+    private ObjectMapper objectMapper;
+
+    @Resource
+    private TranslateDictTextUtils translateDictTextUtils;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @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 b = eamReportRepairService.add(eamReportRepair);
+        if(b == null) {
+            return Result.error("娣诲姞澶辫触锛�");
+        }
+        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) {
+        boolean b = eamReportRepairService.edit(eamReportRepair);
+        if(!b) {
+            return Result.error("缂栬緫澶辫触锛�");
+        }
+        return Result.OK("缂栬緫鎴愬姛!");
+    }
+
+    /**
+     * 閫氳繃id浣滃簾
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-浣滃簾")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-浣滃簾", notes = "鏁呴殰鎶ヤ慨-浣滃簾")
+    @DeleteMapping(value = "/abolish")
+    public Result<?> abolish(@RequestParam(name = "id", required = true) String id) {
+        eamReportRepairService.update(new LambdaUpdateWrapper<EamReportRepair>().set(EamReportRepair::getReportStatus, ReportRepairEnum.ABOLISH.name()).eq(EamReportRepair::getId, id).eq(EamReportRepair::getReportStatus, ReportRepairEnum.WAIT_REPAIR.name()));
+        return Result.OK("浣滃簾鎴愬姛!");
+    }
+
+    /**
+     * 鎵归噺浣滃簾
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-鎵归噺浣滃簾")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-鎵归噺浣滃簾", notes = "鏁呴殰鎶ヤ慨-鎵归噺浣滃簾")
+    @DeleteMapping(value = "/abolishBatch")
+    public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) {
+        List<EamReportRepair> eamReportRepairs = eamReportRepairService.listByIds(Arrays.asList(ids.split(",")));
+        eamReportRepairs.forEach(eamReportRepair -> {
+            if(ReportRepairEnum.ABOLISH.name().equals(eamReportRepair.getReportStatus())) {
+                eamReportRepair.setReportStatus(ReportRepairEnum.ABOLISH.name());
+            }
+        });
+        this.eamReportRepairService.updateBatchById(eamReportRepairs);
+        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);
+        if (eamReportRepair == null) {
+            return Result.error("鏈壘鍒板搴旀暟鎹紒");
+        }
+        try {
+            String json = objectMapper.writeValueAsString(eamReportRepair);
+            JSONObject item = JSONObject.parseObject(json, Feature.OrderedField);
+            translateDictTextUtils.translateField("createBy", eamReportRepair.getCreateBy(), item, "sys_user,realname,username");
+            translateDictTextUtils.translateField("breakdownFlag", eamReportRepair.getBreakdownFlag(), item, "breakdown_flag");
+            translateDictTextUtils.translateField("faultType", eamReportRepair.getFaultType(), item, "fault_reason_category");
+            translateDictTextUtils.translateField("reportStatus", eamReportRepair.getReportStatus(), item, "report_repair_status");
+            translateDictTextUtils.translateField("equipmentId", eamReportRepair.getEquipmentId(), item, "eam_equipment,id,equipment_code");
+            return Result.OK(item);
+        } catch (Exception e) {
+            return Result.error("鏁版嵁杞瘧澶辫触锛�");
+        }
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param eamReportRepair
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, EamReportRepair eamReportRepair) {
+        return super.exportXls(request, eamReportRepair, EamReportRepair.class, "鏁呴殰鎶ヤ慨");
+    }
+
+}

--
Gitblit v1.9.3