From 1007e0b552accd3288e7da6b47d8cc49a03bdf62 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期日, 27 四月 2025 11:06:35 +0800
Subject: [PATCH] art: 从沃克项目迁移设备管理代码到航宇

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java |  111 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 90 insertions(+), 21 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
index 51e38a0..b45298b 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
@@ -1,32 +1,31 @@
 package org.jeecg.modules.eam.controller;
 
-import java.util.Arrays;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.parser.Feature;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.aspect.annotation.AutoLog;
 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.constant.ReportRepairEnum;
 import org.jeecg.modules.eam.entity.EamRepairOrder;
-import org.jeecg.modules.eam.entity.EamReportRepair;
 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 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.jeecg.modules.eam.service.IEamReportRepairService;
-import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
-import org.springframework.beans.factory.annotation.Autowired;
+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 io.swagger.annotations.Api;
@@ -45,6 +44,15 @@
 
     @Resource
     private IEamRepairOrderService eamRepairOrderService;
+
+    @Resource
+    private ObjectMapper objectMapper;
+
+    @Resource
+    private TranslateDictTextUtils translateDictTextUtils;
+
+    @Resource
+    private ISysUserService sysUserService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -77,23 +85,68 @@
         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 eamRepairOrder
+     * @param
      * @return
      */
-    @AutoLog(value = "缁翠慨宸ュ崟-鎵ц")
-    @ApiOperation(value = "缁翠慨宸ュ崟-鎵ц", notes = "缁翠慨宸ュ崟-鎵ц")
-    @PostMapping(value = "/perform")
-    public Result<?> perform(@RequestBody EamRepairOrder eamRepairOrder) {
+    @AutoLog(value = "鏁呴殰鎶ヤ慨-鎸囨淳")
+    @ApiOperation(value = "鏁呴殰鎶ヤ慨-鎸囨淳", notes = "鏁呴殰鎶ヤ慨-鎸囨淳")
+    @GetMapping(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);
 
-//        eamRepairOrderService.updateById(eamRepairOrder);
-        return Result.OK("鎵ц鎴愬姛!");
+        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("鎿嶄綔鎴愬姛!");
     }
 
     /**
@@ -106,8 +159,24 @@
     @ApiOperation(value = "缁翠慨宸ュ崟-閫氳繃id鏌ヨ", notes = "缁翠慨宸ュ崟-閫氳繃id鏌ヨ")
     @GetMapping(value = "/queryById")
     public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
-        EamRepairOrder eamRepairOrder = eamRepairOrderService.getById(id);
-        return Result.OK(eamRepairOrder);
+        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("鏁版嵁杞瘧澶辫触锛�");
+        }
     }
 
     /**

--
Gitblit v1.9.3