From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java |  278 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 278 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java
new file mode 100644
index 0000000..248d69a
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java
@@ -0,0 +1,278 @@
+package org.jeecg.modules.mdc.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.constant.MdcConstant;
+import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.entity.MdcFeedback;
+import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency;
+import org.jeecg.modules.mdc.service.IMdcHomeService;
+import org.jeecg.modules.mdc.vo.MdcCommonVo;
+import org.jeecg.modules.mdc.vo.MdcHomeEfficiencyVo;
+import org.jeecg.modules.system.entity.MdcProduction;
+import org.jeecg.modules.system.service.IMdcProductionService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Lius
+ * @Description: MDC棣栭〉鎺ュ彛
+ * @date 2024/3/13 14:27
+ */
+@Slf4j
+@Api(tags = "MDC棣栭〉鎺ュ彛")
+@RestController
+@RequestMapping("/mdc/home")
+public class MdcHomeController {
+
+    @Resource
+    private IMdcProductionService mdcProductionService;
+
+    @Resource
+    private IMdcHomeService mdcHomeService;
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�", notes = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�")
+    @GetMapping("/equipmentStatusStatistics")
+    public Result<?> equipmentStatusStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯/宸ユ
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, ""));
+            if (userType.equals(MdcConstant.USER_TYPE_4)) {
+                //鍏徃
+                key = mdcProduction.getId();
+            } else if (userType.equals(MdcConstant.USER_TYPE_3)) {
+                //鍘傚尯
+                key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId());
+            } else if (userType.equals(MdcConstant.USER_TYPE_2)) {
+                //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄�
+                key = mdcProductionService.findThreeProductionId(userId);
+            }
+        }
+        List<MdcCommonVo> resultMap = mdcHomeService.getEquipmentStatusStatistics(userId, key);
+        Map<String, Object> map = new HashMap<>();
+        map.put("list", resultMap);
+        map.put("productionId", key);
+        return Result.OK(map);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧鍒╃敤鐜囩粺璁�(鏄ㄦ棩)", notes = "MDC棣栭〉鎺ュ彛-璁惧杩愯鐘舵�佺粺璁�(鏄ㄦ棩)")
+    @GetMapping("/equipmentUtilizationStatistics")
+    public Result<?> equipmentUtilizationStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, ""));
+            if (userType.equals(MdcConstant.USER_TYPE_4)) {
+                //鍏徃
+                key = mdcProduction.getId();
+            } else if (userType.equals(MdcConstant.USER_TYPE_3)) {
+                //鍘傚尯
+                key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId());
+            }
+        }
+        List<MdcCommonVo> result = mdcHomeService.getEquipmentUtilizationStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧OEE缁熻(涓婃湀)", notes = "MDC棣栭〉鎺ュ彛-璁惧OEE缁熻(涓婃湀)")
+    @GetMapping("/equipmentOEEStatistics")
+    public Result<?> equipmentOEEStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, ""));
+            if (userType.equals(MdcConstant.USER_TYPE_4)) {
+                //鍏徃
+                key = mdcProduction.getId();
+            } else if (userType.equals(MdcConstant.USER_TYPE_3)) {
+                //鍘傚尯
+                key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId());
+            }
+        }
+        List<MdcCommonVo> result = mdcHomeService.getEquipmentOeeStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�", notes = "MDC棣栭〉鎺ュ彛-璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�")
+    @GetMapping("/equipmentMonthStatistics")
+    public Result<?> equipmentMonthStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, ""));
+            if (userType.equals(MdcConstant.USER_TYPE_4)) {
+                //鍏徃
+                key = mdcProduction.getId();
+            } else if (userType.equals(MdcConstant.USER_TYPE_3)) {
+                //鍘傚尯
+                key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId());
+            }
+        }
+        Map<String, Object> result = mdcHomeService.getEquipmentMonthStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘", notes = "MDC棣栭〉鎺ュ彛-宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘")
+    @GetMapping("/equipmentDayUtilizationStatistics")
+    public Result<?> equipmentDayUtilizationStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄�
+            key = mdcProductionService.findThreeProductionId(userId);
+        }
+        Map<String, Object> result = mdcHomeService.getEquipmentDayUtilizationStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-涓婃湀鍚勮澶嘜EE缁熻", notes = "MDC棣栭〉鎺ュ彛-涓婃湀鍚勮澶嘜EE缁熻")
+    @GetMapping("/equipmentOEEMonthStatistics")
+    public Result<?> equipmentOEEMonthStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄�
+            key = mdcProductionService.findThreeProductionId(userId);
+        }
+        List<MdcOverallEquipmentEfficiency> result = mdcHomeService.getEquipmentOEEMonthStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-宸ユ绾ц澶囨晥鐜囩粺璁�", notes = "MDC棣栭〉鎺ュ彛-宸ユ绾ц澶囨晥鐜囩粺璁�")
+    @GetMapping("/equipmentEfficiencyStatistics")
+    public Result<?> equipmentEfficiencyStatistics(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄�
+            key = mdcProductionService.findThreeProductionId(userId);
+        }
+        MdcHomeEfficiencyVo result = mdcHomeService.getEquipmentEfficiencyStatistics(userId, key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囨晥鐜囩粺璁�", notes = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囨晥鐜囩粺璁�")
+    @GetMapping("/equipmentLevelEfficiencyStatistics")
+    public Result<?> equipmentLevelEfficiencyStatistics(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
+        MdcHomeEfficiencyVo result = mdcHomeService.getEquipmentLevelEfficiencyStatistics(equipmentId);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧绾ф暣骞村害鍒╃敤鐜�", notes = "MDC棣栭〉鎺ュ彛-璁惧绾ф暣骞村害鍒╃敤鐜�")
+    @GetMapping("/equipmentAnnualEfficiencyStatistics")
+    public Result<?> equipmentAnnualEfficiencyStatistics(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
+        Map<String, Object> result = mdcHomeService.getEquipmentAnnualEfficiencyStatistics(equipmentId);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囪缁嗕俊鎭�", notes = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囪缁嗕俊鎭�")
+    @GetMapping("/equipmentDetails")
+    public Result<?> equipmentDetails(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
+        MdcEquipmentDto result = mdcHomeService.getEquipmentDetails(equipmentId);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囧垪琛�", notes = "MDC棣栭〉鎺ュ彛-璁惧绾ц澶囧垪琛�")
+    @GetMapping("/equipmentList")
+    public Result<?> equipmentList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //宸ユ 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勫伐娈垫潈闄�
+            key = mdcProductionService.findThreeProductionId(userId);
+        }
+        List<MdcEquipment> result = mdcHomeService.getEquipmentList(key);
+        return Result.OK(result);
+    }
+
+    @ApiOperation(value = "MDC棣栭〉鎺ュ彛-闂鍒楄〃", notes = "MDC棣栭〉鎺ュ彛-闂鍒楄〃")
+    @GetMapping("/feedbackList")
+    public Result<?> feedbackList(String productionCode) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        Integer userType = user.getUserType();
+        String userId = user.getId();
+        String key = "";
+        if (StringUtils.isNotBlank(productionCode)) {
+            //鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString()));
+            key = mdcProduction.getId();
+        } else {
+            //鍒ゆ柇鏄叕鍙哥骇杩樻槸鍘傚尯
+            MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().eq(MdcProduction::getParentId, ""));
+            if (userType.equals(MdcConstant.USER_TYPE_4)) {
+                //鍏徃
+                key = mdcProduction.getId();
+            } else if (userType.equals(MdcConstant.USER_TYPE_3)) {
+                //鍘傚尯
+                key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId());
+            }
+        }
+        List<MdcFeedback> result = mdcHomeService.getFeedbackList(key);
+        return Result.OK(result);
+    }
+
+}

--
Gitblit v1.9.3