From 2b9ff0c274a847af41b2f5a04de1b23ed6fbb9bb Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 25 八月 2025 15:50:15 +0800
Subject: [PATCH] mdc模块更新

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcNoplanCloseMapper.xml                           |   13 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java                                         |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml                           |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java                |   34 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java                                 |   23 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml                             |    9 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml              |    9 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java                   |  168 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPassRateMapper.xml                              |   21 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java                             |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java                |   24 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcPartProcessInfo.java                                |   71 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java                               |   49 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml                               |   31 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java                          |  100 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java                                          |   20 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java                        |   31 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java                                   |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java                                        |   29 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java                                       |   74 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java                 |    9 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPartProcessInfoMapper.java                          |   26 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java              |    9 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml         |   13 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalShiftInfoMapper.java            |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java                      |   17 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java               |    7 
 lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java                                   |    6 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java       |   16 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java                       |  253 ++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java                     |   31 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentBaseInfoServiceImpl.java                |    5 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java                        |   16 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcNoplanCloseService.java                           |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java                                       |   13 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml                            |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java                                  |   29 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java             |   10 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java                     |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java                      |  117 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java                        |   26 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java                                         |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentTemperatureServiceImpl.java             |   58 -
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPartProcessInfoServiceImpl.java               |  154 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ControlSystemServiceImpl.java                    |    6 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java                   |   29 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml                             |   19 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java              |  316 ----
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java                         |  163 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java                                        |  114 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml                        |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPartProcessInfoService.java                       |   47 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java                                         |   38 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentTemperatureService.java                     |    7 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java                             |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java      |   18 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java                  |    6 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java                       |   11 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java                                      |    6 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml                        |   20 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentTemperatureMapper.java                        |    9 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml                              |   43 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java                     |    5 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml                        |   64 -
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPassRateService.java                              |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java                    |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java                     |   99 -
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java                                 |   49 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java                              |   45 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcPartProcessInfoVo.java                                  |   20 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java                         |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IControlSystemService.java                            |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDriveTypeParamConfigController.java             |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java                |   71 -
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java                                       |   16 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcNoplanCloseMapper.java                              |   10 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java                           |   12 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java                           |   13 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPartProcessInfoMapper.xml                       |   36 
 /dev/null                                                                                                         |   31 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentBaseInfoService.java                        |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java                  |  163 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java |  220 --
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalShiftInfoService.java         |   11 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java                                |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java                           |   10 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml               |   32 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPlanCloseService.java                             |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml                       |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java                                |   16 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPassRateMapper.java                                 |   19 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java                             |   14 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml                      |   28 
 93 files changed, 2,133 insertions(+), 1,263 deletions(-)

diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java b/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
index 5ffcb6c..9533ec8 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
@@ -598,4 +598,10 @@
     Integer AUTO_FLAG_Y = 1;
     Integer AUTO_FLAG_N = 2;
 
+    /**
+     * 鍋滄満绫诲瀷   0(璁″垝鍋滄満) 1 (闈炶鍒掑仠鏈�)
+     */
+    String CLOSE_TYPE_0 = "0";
+    String CLOSE_TYPE_1 = "1";
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/constant/MdcConstant.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/constant/MdcConstant.java
deleted file mode 100644
index 7409866..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/constant/MdcConstant.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.jeecg.modules.mdc.constant;
-
-/**
- * @author Lius
- * @date 2023/11/1 16:05
- */
-public class MdcConstant {
-
-    /**
-     * 鏁呴殰鍋滄満
-     */
-    public static final String BREAKDOWN_DOWN = "鏁呴殰鍋滄満";
-
-    /**
-     * 鎹㈠瀷璋冭瘯
-     */
-    public static final String CONVERSION_DEBUG = "鎹㈠瀷璋冭瘯";
-
-    /**
-     * 鐗╂枡鐭己
-     */
-    public static final String MATERIAL_SHORTAGE = "鐗╂枡鐭己";
-
-    /**
-     * 璁″垝绛変换鍔�
-     */
-    public static final String PLANNED_TASK = "璁″垝绛変换鍔�";
-
-    /**
-     * 妫�楠�
-     */
-    public static final String INSPECT = "妫�楠�";
-
-    /**
-     * 鍏跺畠
-     */
-    public static final String OTHER = "鍏跺畠";
-
-    /**
-     * 璁″垝淇濆吇
-     */
-    public static final String PLANNED_MAINTENANCE = "鏃ヤ繚,鍛ㄤ繚";
-
-    /**
-     * 浼氳鍩硅
-     */
-    public static final String CONFERENCE_TRAINING = "OPL鍩硅,鐝墠浼�";
-
-    /**
-     * 鍏朵粬浼戞伅
-     */
-    public static final String OTHER_REST = "浼戞伅鐢ㄩ,棰勯槻鎬х淮淇�";
-
-    public static final String DAY = "澶�";
-
-    public static final String WEEK = "鍛�";
-
-    public static final String MONTH = "鏈�";
-
-    /**
-     * 璁惧绠$悊鍛�
-     */
-    public static final String MDC_EQUIPMENT_MANAGER = "mdcEquipmentManager";
-
-    /**
-     * 璁惧瓒呯骇绠$悊鍛�
-     */
-    public static final String MDC_EQUIPMENT_SUPER_MANAGER = "mdcEquipmentSuperManager";
-
-    /**
-     * 娑堟伅鐘舵�侊紙0寰呭鐞嗭紝1寰呯‘璁�, 2宸茬‘璁わ紝3宸叉嫆缁濓級
-     */
-    public static final String MSG_STATUS_0 = "0";
-    public static final String MSG_STATUS_1 = "1";
-    public static final String MSG_STATUS_2 = "2";
-    public static final String MSG_STATUS_3 = "3";
-
-    /**
-     * 鐢ㄦ埛绫诲瀷(1 鏅�氭垚鍛� 2 宸ユ 3 杞﹂棿 4 鍏徃锛�
-     */
-    public static final Integer USER_TYPE_1 = 1;
-    public static final Integer USER_TYPE_2 = 2;
-    public static final Integer USER_TYPE_3 = 3;
-    public static final Integer USER_TYPE_4 = 4;
-
-    /**
-     * 涓插彛璁惧绫诲瀷
-     */
-    public static final String SERIA_TYPE = "seria_equipment_type";
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java
new file mode 100644
index 0000000..4c1dfcc
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeController.java
@@ -0,0 +1,163 @@
+package org.jeecg.modules.mdc.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+import org.jeecg.modules.mdc.service.IMdcDowntimeService;
+import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+ * @Description: 寰呮満鍋滄満琛�
+ * @Author: lius
+ * @Date: 2025-03-12
+ */
+@Slf4j
+@Api(tags = "寰呮満鍋滄満琛�")
+@RestController
+@RequestMapping("/mdc/mdcDowntime")
+public class MdcDowntimeController extends JeecgController<MdcDowntime, IMdcDowntimeService> {
+
+    @Resource
+    private IMdcDowntimeService mdcDowntimeService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param mdcDowntimeVo
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "寰呮満鍋滄満琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "寰呮満鍋滄満琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "寰呮満鍋滄満琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(MdcDowntimeVo mdcDowntimeVo,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        Page<MdcDowntimeDto> page = new Page<MdcDowntimeDto>(pageNo, pageSize);
+        IPage<MdcDowntimeDto> pageList = mdcDowntimeService.pageList(userId, page, mdcDowntimeVo, req);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param mdcDowntime
+     * @return
+     */
+    @AutoLog(value = "寰呮満鍋滄満琛�-娣诲姞")
+    @ApiOperation(value = "寰呮満鍋滄満琛�-娣诲姞", notes = "寰呮満鍋滄満琛�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody MdcDowntime mdcDowntime) {
+        if (StringUtils.isBlank(mdcDowntime.getEquipmentIds())) {
+            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡");
+        }
+        if (CollectionUtils.isEmpty(mdcDowntime.getDateList())) {
+            return Result.error("鏈�夋嫨鏃ユ湡锛岃鎺掓煡");
+        }
+        boolean flag = mdcDowntimeService.saveDowntime(mdcDowntime);
+        return flag ? Result.ok("娣诲姞鎴愬姛") : Result.error("娣诲姞澶辫触");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param mdcDowntime
+     * @return
+     */
+    @AutoLog(value = "寰呮満鍋滄満琛�-缂栬緫")
+    @ApiOperation(value = "寰呮満鍋滄満琛�-缂栬緫", notes = "寰呮満鍋滄満琛�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody MdcDowntime mdcDowntime) {
+        mdcDowntimeService.updateById(mdcDowntime);
+        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) {
+        mdcDowntimeService.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.mdcDowntimeService.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) {
+        MdcDowntime mdcDowntime = mdcDowntimeService.getById(id);
+        return Result.OK(mdcDowntime);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param mdcDowntime
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MdcDowntime mdcDowntime) {
+        return super.exportXls(request, mdcDowntime, MdcDowntime.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, MdcDowntime.class);
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java
new file mode 100644
index 0000000..e47ca34
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDowntimeReasonController.java
@@ -0,0 +1,168 @@
+package org.jeecg.modules.mdc.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.system.query.QueryGenerator;
+import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
+import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Description: 鍋滄満鍘熷洜琛�
+ * @Author: lius
+ * @Date: 2025-03-11
+ */
+@Slf4j
+@Api(tags = "鍋滄満鍘熷洜琛�")
+@RestController
+@RequestMapping("/mdc/mdcDowntimeReason")
+public class MdcDowntimeReasonController extends JeecgController<MdcDowntimeReason, IMdcDowntimeReasonService> {
+
+
+    @Resource
+    private IMdcDowntimeReasonService mdcDowntimeReasonService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param mdcDowntimeReason
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "鍋滄満鍘熷洜琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "鍋滄満鍘熷洜琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鍋滄満鍘熷洜琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(MdcDowntimeReason mdcDowntimeReason,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        QueryWrapper<MdcDowntimeReason> queryWrapper = QueryGenerator.initQueryWrapper(mdcDowntimeReason, req.getParameterMap());
+        Page<MdcDowntimeReason> page = new Page<MdcDowntimeReason>(pageNo, pageSize);
+        IPage<MdcDowntimeReason> pageList = mdcDowntimeReasonService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param mdcDowntimeReason
+     * @return
+     */
+    @AutoLog(value = "鍋滄満鍘熷洜琛�-娣诲姞")
+    @ApiOperation(value = "鍋滄満鍘熷洜琛�-娣诲姞", notes = "鍋滄満鍘熷洜琛�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody MdcDowntimeReason mdcDowntimeReason) {
+        mdcDowntimeReasonService.save(mdcDowntimeReason);
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param mdcDowntimeReason
+     * @return
+     */
+    @AutoLog(value = "鍋滄満鍘熷洜琛�-缂栬緫")
+    @ApiOperation(value = "鍋滄満鍘熷洜琛�-缂栬緫", notes = "鍋滄満鍘熷洜琛�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody MdcDowntimeReason mdcDowntimeReason) {
+        mdcDowntimeReasonService.updateById(mdcDowntimeReason);
+        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) {
+        mdcDowntimeReasonService.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.mdcDowntimeReasonService.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) {
+        MdcDowntimeReason mdcDowntimeReason = mdcDowntimeReasonService.getById(id);
+        return Result.OK(mdcDowntimeReason);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param mdcDowntimeReason
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MdcDowntimeReason mdcDowntimeReason) {
+        return super.exportXls(request, mdcDowntimeReason, MdcDowntimeReason.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, MdcDowntimeReason.class);
+    }
+
+    /**
+     * 鏍规嵁鍋滄満绫诲瀷鑾峰彇鍋滄満鍘熷洜鍒楄〃
+     *
+     * @param downtimeType
+     * @return
+     */
+    @AutoLog(value = "鍋滄満鍘熷洜琛�-鏍规嵁鍋滄満绫诲瀷鑾峰彇鍋滄満鍘熷洜鍒楄〃")
+    @ApiOperation(value = "鍋滄満鍘熷洜琛�-鏍规嵁鍋滄満绫诲瀷鑾峰彇鍋滄満鍘熷洜鍒楄〃", notes = "鍋滄満鍘熷洜琛�-鏍规嵁鍋滄満绫诲瀷鑾峰彇鍋滄満鍘熷洜鍒楄〃")
+    @GetMapping(value = "/downtimeReasonList")
+    public Result<?> downtimeReasonList(@RequestParam(name = "downtimeType", required = true) String downtimeType) {
+        List<MdcDowntimeReason> result = mdcDowntimeReasonService.downtimeReasonList(downtimeType);
+        return Result.OK(result);
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDriveTypeParamConfigController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDriveTypeParamConfigController.java
index 5e1c5a2..3a2fe2b 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDriveTypeParamConfigController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcDriveTypeParamConfigController.java
@@ -155,7 +155,7 @@
 
     @AutoLog(value = "椹卞姩鍙傛暟閰嶇疆-閫氳繃璁惧缂栫爜鏌ヨ宸ヤ綔鏇茬嚎鏄剧ず鍙傛暟")
     @ApiOperation(value = "椹卞姩鍙傛暟閰嶇疆-閫氳繃璁惧缂栫爜鏌ヨ宸ヤ綔鏇茬嚎鏄剧ず鍙傛暟", notes = "椹卞姩鍙傛暟閰嶇疆-閫氳繃璁惧缂栫爜鏌ヨ宸ヤ綔鏇茬嚎鏄剧ず鍙傛暟")
-    @GetMapping(value = "")
+    @GetMapping(value = "/findWorkCurveParamList")
     public Result<List<MdcDriveTypeParamConfig>> findWorkCurveParamList(@RequestParam(name = "equipmentId", required = true) String equipmentId) {
         List<MdcDriveTypeParamConfig> list = mdcDriveTypeParamConfigService.findWorkCurveParamList(equipmentId);
         return Result.OK(list);
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOverFlagController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOverFlagController.java
deleted file mode 100644
index 9e914b1..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOverFlagController.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.system.query.QueryGenerator;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOverFlag;
-import org.jeecg.modules.mdc.service.IMdcEquipmentOverFlagService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-
-/**
- * @Description: 璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�
- * @Author: Lius
- * @Date: 2023-12-05
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�")
-@RestController
-@RequestMapping("/mdc/mdcEquipmentOverFlag")
-public class MdcEquipmentOverFlagController extends JeecgController<MdcEquipmentOverFlag, IMdcEquipmentOverFlagService> {
-
-    @Resource
-    private IMdcEquipmentOverFlagService mdcEquipmentOverFlagService;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcEquipmentOverFlag
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcEquipmentOverFlag mdcEquipmentOverFlag,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        QueryWrapper<MdcEquipmentOverFlag> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipmentOverFlag, req.getParameterMap());
-        Page<MdcEquipmentOverFlag> page = new Page<MdcEquipmentOverFlag>(pageNo, pageSize);
-        IPage<MdcEquipmentOverFlag> pageList = mdcEquipmentOverFlagService.page(page, queryWrapper);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcEquipmentOverFlag
-     * @return
-     */
-    @AutoLog(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-娣诲姞")
-    @ApiOperation(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-娣诲姞", notes = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcEquipmentOverFlag mdcEquipmentOverFlag) {
-        mdcEquipmentOverFlagService.save(mdcEquipmentOverFlag);
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcEquipmentOverFlag
-     * @return
-     */
-    @AutoLog(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-缂栬緫")
-    @ApiOperation(value = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-缂栬緫", notes = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcEquipmentOverFlag mdcEquipmentOverFlag) {
-        mdcEquipmentOverFlagService.updateById(mdcEquipmentOverFlag);
-        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) {
-        mdcEquipmentOverFlagService.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.mdcEquipmentOverFlagService.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) {
-        MdcEquipmentOverFlag mdcEquipmentOverFlag = mdcEquipmentOverFlagService.getById(id);
-        return Result.OK(mdcEquipmentOverFlag);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcEquipmentOverFlag
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentOverFlag mdcEquipmentOverFlag) {
-        return super.exportXls(request, mdcEquipmentOverFlag, MdcEquipmentOverFlag.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, MdcEquipmentOverFlag.class);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
deleted file mode 100644
index 77a50b8..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentOvertimeController.java
+++ /dev/null
@@ -1,169 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
-import org.jeecg.modules.mdc.service.IMdcEquipmentOvertimeService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.util.Arrays;
-
-/**
- * @Description: 璁惧鍔犵彮绠$悊
- * @Author: Lius
- * @Date: 2023-08-25
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "璁惧鍔犵彮绠$悊")
-@RestController
-@RequestMapping("/mdc/mdcEquipmentOvertime")
-public class MdcEquipmentOvertimeController extends JeecgController<MdcEquipmentOvertime, IMdcEquipmentOvertimeService> {
-
-    @Resource
-    private IMdcEquipmentOvertimeService mdcEquipmentOvertimeService;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcEquipmentOvertime
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "璁惧鍔犵彮绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "璁惧鍔犵彮绠$悊-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧鍔犵彮绠$悊-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcEquipmentOvertime mdcEquipmentOvertime,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        Page<MdcEquipmentOvertime> page = new Page<MdcEquipmentOvertime>(pageNo, pageSize);
-        IPage<MdcEquipmentOvertime> pageList = mdcEquipmentOvertimeService.pageList(userId, page, mdcEquipmentOvertime, req);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    @AutoLog(value = "璁惧鍔犵彮绠$悊-娣诲姞")
-    @ApiOperation(value = "璁惧鍔犵彮绠$悊-娣诲姞", notes = "璁惧鍔犵彮绠$悊-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcEquipmentOvertime mdcEquipmentOvertime) {
-        if (org.apache.commons.lang3.StringUtils.isBlank(mdcEquipmentOvertime.getEquipmentId())) {
-            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡锛�");
-        }
-        boolean result = mdcEquipmentOvertimeService.addOvertime(mdcEquipmentOvertime);
-        if (!result) {
-            return Result.error("娣诲姞澶辫触锛�");
-        }
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    @AutoLog(value = "璁惧鍔犵彮绠$悊-缂栬緫")
-    @ApiOperation(value = "璁惧鍔犵彮绠$悊-缂栬緫", notes = "璁惧鍔犵彮绠$悊-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcEquipmentOvertime mdcEquipmentOvertime) {
-        String startTime = mdcEquipmentOvertime.getStartTime();
-        String endTime = mdcEquipmentOvertime.getEndTime();
-        long duration = DateUtils.differentSecond(DateUtils.setTimeForDay(DateUtils.getNow(), startTime), DateUtils.setTimeForDay(DateUtils.getNow(), endTime));
-        mdcEquipmentOvertime.setDuration(new BigDecimal(duration));
-        mdcEquipmentOvertimeService.updateById(mdcEquipmentOvertime);
-        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) {
-        mdcEquipmentOvertimeService.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.mdcEquipmentOvertimeService.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) {
-        MdcEquipmentOvertime mdcEquipmentOvertime = mdcEquipmentOvertimeService.getById(id);
-        return Result.OK(mdcEquipmentOvertime);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcEquipmentOvertime
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentOvertime mdcEquipmentOvertime) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        return mdcEquipmentOvertimeService.exportXls(userId, mdcEquipmentOvertime);
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MdcEquipmentOvertime.class);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentRepairController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentRepairController.java
deleted file mode 100644
index d824faf..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentRepairController.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRepair;
-import org.jeecg.modules.mdc.entity.MdcSystemParameters;
-import org.jeecg.modules.mdc.service.IMdcEquipmentRepairService;
-import org.jeecg.modules.mdc.service.IMdcSystemParametersService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.vo.MdcEquipmentRepairVo;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-
-/**
- * @Description: 璁惧缁翠慨浼戠彮
- * @Author: Sake
- * @Date: 2023-04-06 16:54
- */
-@Slf4j
-@Api(tags = "璁惧缁翠慨浼戠彮")
-@RestController
-@RequestMapping("/mdc/mdcEquipmentRepair")
-public class MdcEquipmentRepairController extends JeecgController<MdcEquipmentRepair, IMdcEquipmentRepairService> {
-
-    @Resource
-    private IMdcEquipmentRepairService mdcEquipmentRepairService;
-    @Resource
-    private IMdcSystemParametersService mdcSystemParametersService;
-
-    /**
-     * 璁惧缁翠慨浼戠彮-鏂板
-     * @param repairVo
-     * @return
-     */
-    @AutoLog(value = "璁惧缁翠慨浼戠彮-鏂板")
-    @ApiOperation(value = "璁惧缁翠慨浼戠彮-鏂板", notes = "璁惧缁翠慨浼戠彮-鏂板")
-    @PostMapping("/add")
-    public Result addMdcEquipment(@RequestBody MdcEquipmentRepairVo repairVo) {
-        if (StringUtils.isBlank(repairVo.getEquipmentIds())) {
-            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡锛�");
-        }
-        boolean result = false;
-        Date date = new Date();
-        String todayDay = DateUtils.format(date, DateUtils.STRDATE);
-        String startTime = DateUtils.format(DateUtils.getFormatDate(repairVo.getStartTime(), DateUtils.STR_DATE_TIME_SMALL), DateUtils.STRDATE);
-        MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper<MdcSystemParameters>().eq(MdcSystemParameters::getCode, "equip_log_statis_time"));
-        if (mdcSystemParameters != null) {
-            String time = mdcSystemParameters.getValue();
-            Date keyDate = DateUtils.setTimeForDay(date, time);
-            if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) {
-                result = mdcEquipmentRepairService.addMdcRepair(repairVo);
-            } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) {
-                result = mdcEquipmentRepairService.addMdcRepair(repairVo);
-            }
-        } else {
-            if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) {
-                return Result.error("鏂板澶辫触!");
-            }
-            result = mdcEquipmentRepairService.addMdcRepair(repairVo);
-        }
-        if (!result) {
-            return Result.error("鏂板澶辫触锛�");
-        }
-        return Result.OK("鏂板鎴愬姛");
-    }
-
-    /**
-     * 璁惧缁翠慨浼戠彮-鍒嗛〉鏌ヨ
-     * @param pageNo
-     * @param pageSize
-     * @param repair
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "璁惧缁翠慨浼戠彮-鍒嗛〉鏌ヨ")
-    @ApiOperation(value = "璁惧缁翠慨浼戠彮-鍒嗛〉鏌ヨ", notes = "璁惧缁翠慨浼戠彮-鍒嗛〉鏌ヨ")
-    @GetMapping("/pageList")
-    public Result pageList(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
-                           @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
-                           MdcEquipmentRepair repair, HttpServletRequest req) {
-        if (repair == null) {
-            return Result.error("璇蜂紶閫掓湁鏁堝弬鏁帮紒");
-        }
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        Page<MdcEquipmentRepair> page = new Page<MdcEquipmentRepair>(pageNo, pageSize);
-        IPage<MdcEquipmentRepair> mdcEquipmentRepairIPage = mdcEquipmentRepairService.pageList(userId, page, repair, req);
-        return Result.OK(mdcEquipmentRepairIPage);
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param repair
-     * @return
-     */
-    @AutoLog(value = "璁惧缁翠慨浼戠彮-缂栬緫")
-    @ApiOperation(value = "璁惧缁翠慨浼戠彮-缂栬緫", notes = "缂栬緫")
-    @PutMapping(value = "/edit")
-    public Result<?> edit(@RequestBody MdcEquipmentRepair repair) {
-        //鏍规嵁id鏌ヨ鍘熸湁鏁版嵁
-        MdcEquipmentRepair equipmentRepair = mdcEquipmentRepairService.getById(repair.getId());
-        if (!equipmentRepair.getStartTime().equals(repair.getStartTime())) {
-            if (equipmentRepair.getStartTime().before(DateUtils.getTodayZero(DateUtils.getNow()))) {
-                return Result.error("淇敼澶辫触锛佸師绾綍寮�濮嬫椂闂村皬浜庡綋鍓嶆椂闂达紒");
-            }
-        }
-        boolean result = false;
-        Date date = new Date();
-        String todayDay = DateUtils.format(date, DateUtils.STRDATE);
-        String startTime = DateUtils.format(repair.getStartTime(), DateUtils.STRDATE);
-        MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper<MdcSystemParameters>().eq(MdcSystemParameters::getCode, "equip_log_statis_time"));
-        if (mdcSystemParameters != null) {
-            String time = mdcSystemParameters.getValue();
-            Date keyDate = DateUtils.setTimeForDay(date, time);
-            if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) {
-                result = mdcEquipmentRepairService.updateMdcRepair(repair);
-            } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) {
-                result = mdcEquipmentRepairService.updateMdcRepair(repair);
-            }
-        } else {
-            if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) {
-                return Result.error("鍒犻櫎澶辫触!姝ら厤缃凡浣滀负璁惧鍩虹鏁版嵁璁$畻鏁堢巼锛�");
-            }
-            result = mdcEquipmentRepairService.updateMdcRepair(repair);
-        }
-        if (!result) {
-            return Result.error("鏃堕棿娈垫暟鎹凡缁忓瓨鍦紝璇锋帓鏌ワ紒");
-        }
-        return Result.OK("淇敼鎴愬姛!");
-    }
-
-    /**
-     * 閫氳繃id鍒犻櫎
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog("璁惧缁翠慨浼戠彮-鏍规嵁id鍒犻櫎")
-    @ApiOperation(value = "璁惧缁翠慨浼戠彮-鏍规嵁id鍒犻櫎", notes = "璁惧缁翠慨浼戠彮-鏍规嵁id鍒犻櫎")
-    @DeleteMapping(value = "/delete")
-    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
-        boolean b = false;
-        Date date = new Date();
-        MdcEquipmentRepair mdcEquipmentRepair = mdcEquipmentRepairService.getById(id);
-        String todayDay = DateUtils.format(date, DateUtils.STRDATE);
-        String startTime = DateUtils.format(mdcEquipmentRepair.getStartTime(), DateUtils.STRDATE);
-        MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper<MdcSystemParameters>().eq(MdcSystemParameters::getCode, "equip_log_statis_time"));
-        if (mdcSystemParameters != null) {
-            String time = mdcSystemParameters.getValue();
-            Date keyDate = DateUtils.setTimeForDay(date, time);
-            // 20230920   20230910 20230922
-            if (Integer.parseInt(todayDay) <= Integer.parseInt(startTime)) {
-                mdcEquipmentRepairService.removeById(id);
-                return Result.OK("鍒犻櫎鎴愬姛!");
-            } else if ((Integer.parseInt(todayDay) - Integer.parseInt(startTime)) == 1 && keyDate.after(date)) {
-                mdcEquipmentRepairService.removeById(id);
-                return Result.OK("鍒犻櫎鎴愬姛!");
-            }
-        } else {
-            if (Integer.parseInt(todayDay) > Integer.parseInt(startTime)) {
-                return Result.error("鍒犻櫎澶辫触!姝ら厤缃凡浣滀负璁惧鍩虹鏁版嵁璁$畻鏁堢巼锛�");
-            }
-            mdcEquipmentRepairService.removeById(id);
-            return Result.OK("鍒犻櫎鎴愬姛!");
-        }
-        return Result.error("鍒犻櫎澶辫触!姝ら厤缃凡浣滀负璁惧鍩虹鏁版嵁璁$畻鏁堢巼锛�");
-    }
-
-    /**
-     * excel瀵煎嚭
-     *
-     * @param request
-     * @param repair
-     * @return
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentRepair repair) {
-        return super.exportXls(request, repair, MdcEquipmentRepair.class, "璁惧缁翠慨浼戠彮");
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentThresholdController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentThresholdController.java
deleted file mode 100644
index 9c66f17..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentThresholdController.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.system.query.QueryGenerator;
-import org.jeecg.modules.mdc.entity.MdcEquipmentThreshold;
-import org.jeecg.modules.mdc.service.IMdcEquipmentThresholdService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-
-/**
- * @Description: 璁惧鍙傛暟闃堝�艰〃
- * @Author: Lius
- * @Date: 2023-11-08
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "璁惧鍙傛暟闃堝�艰〃")
-@RestController
-@RequestMapping("/mdc/mdcEquipmentThreshold")
-public class MdcEquipmentThresholdController extends JeecgController<MdcEquipmentThreshold, IMdcEquipmentThresholdService> {
-
-    @Resource
-    private IMdcEquipmentThresholdService mdcEquipmentThresholdService;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcEquipmentThreshold
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "璁惧鍙傛暟闃堝�艰〃-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "璁惧鍙傛暟闃堝�艰〃-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧鍙傛暟闃堝�艰〃-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcEquipmentThreshold mdcEquipmentThreshold,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        QueryWrapper<MdcEquipmentThreshold> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipmentThreshold, req.getParameterMap());
-        Page<MdcEquipmentThreshold> page = new Page<MdcEquipmentThreshold>(pageNo, pageSize);
-        IPage<MdcEquipmentThreshold> pageList = mdcEquipmentThresholdService.page(page, queryWrapper);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcEquipmentThreshold
-     * @return
-     */
-    @AutoLog(value = "璁惧鍙傛暟闃堝�艰〃-娣诲姞")
-    @ApiOperation(value = "璁惧鍙傛暟闃堝�艰〃-娣诲姞", notes = "璁惧鍙傛暟闃堝�艰〃-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcEquipmentThreshold mdcEquipmentThreshold) {
-        String chineseName = mdcEquipmentThreshold.getChineseName();
-        mdcEquipmentThreshold.setEnglishName(chineseName.substring(0, chineseName.indexOf("(")));
-        mdcEquipmentThreshold.setChineseName(chineseName.substring(mdcEquipmentThreshold.getEnglishName().length() + 1, chineseName.length() - 1));
-        mdcEquipmentThresholdService.save(mdcEquipmentThreshold);
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcEquipmentThreshold
-     * @return
-     */
-    @AutoLog(value = "璁惧鍙傛暟闃堝�艰〃-缂栬緫")
-    @ApiOperation(value = "璁惧鍙傛暟闃堝�艰〃-缂栬緫", notes = "璁惧鍙傛暟闃堝�艰〃-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcEquipmentThreshold mdcEquipmentThreshold) {
-        String chineseName = mdcEquipmentThreshold.getChineseName();
-        mdcEquipmentThreshold.setEnglishName(chineseName.substring(0, chineseName.indexOf("(")));
-        mdcEquipmentThreshold.setChineseName(chineseName.substring(mdcEquipmentThreshold.getEnglishName().length() + 1, chineseName.length() - 1));
-        mdcEquipmentThresholdService.updateById(mdcEquipmentThreshold);
-        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) {
-        mdcEquipmentThresholdService.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.mdcEquipmentThresholdService.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) {
-        MdcEquipmentThreshold mdcEquipmentThreshold = mdcEquipmentThresholdService.getById(id);
-        String englishName = mdcEquipmentThreshold.getEnglishName();
-        String chineseName = mdcEquipmentThreshold.getChineseName();
-        mdcEquipmentThreshold.setChineseName(englishName + "(" + chineseName + ")");
-        return Result.OK(mdcEquipmentThreshold);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcEquipmentThreshold
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcEquipmentThreshold mdcEquipmentThreshold) {
-        return super.exportXls(request, mdcEquipmentThreshold, MdcEquipmentThreshold.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, MdcEquipmentThreshold.class);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java
index 741c414..1105cdd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentTypeController.java
@@ -8,9 +8,7 @@
 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.modules.mdc.entity.MdcDriveTypeParamConfig;
 import org.jeecg.modules.mdc.entity.MdcEquipmentType;
-import org.jeecg.modules.mdc.service.IMdcDriveTypeParamConfigService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentTypeService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcFeedbackController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcFeedbackController.java
deleted file mode 100644
index ce2e891..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcFeedbackController.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.system.query.QueryGenerator;
-import org.jeecg.modules.mdc.entity.MdcFeedback;
-import org.jeecg.modules.mdc.service.IMdcFeedbackService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-
-/**
- * @Description: 闂鍙嶉
- * @Author: Lius
- * @Date: 2024-05-16
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "闂鍙嶉")
-@RestController
-@RequestMapping("/mdc/mdcFeedback")
-public class MdcFeedbackController extends JeecgController<MdcFeedback, IMdcFeedbackService> {
-
-    @Resource
-    private IMdcFeedbackService mdcFeedbackService;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcFeedback
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "闂鍙嶉-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "闂鍙嶉-鍒嗛〉鍒楄〃鏌ヨ", notes = "闂鍙嶉-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcFeedback mdcFeedback,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        QueryWrapper<MdcFeedback> queryWrapper = QueryGenerator.initQueryWrapper(mdcFeedback, req.getParameterMap());
-        Page<MdcFeedback> page = new Page<MdcFeedback>(pageNo, pageSize);
-        IPage<MdcFeedback> pageList = mdcFeedbackService.page(page, queryWrapper);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcFeedback
-     * @return
-     */
-    @AutoLog(value = "闂鍙嶉-娣诲姞")
-    @ApiOperation(value = "闂鍙嶉-娣诲姞", notes = "闂鍙嶉-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcFeedback mdcFeedback) {
-        mdcFeedbackService.save(mdcFeedback);
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcFeedback
-     * @return
-     */
-    @AutoLog(value = "闂鍙嶉-缂栬緫")
-    @ApiOperation(value = "闂鍙嶉-缂栬緫", notes = "闂鍙嶉-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcFeedback mdcFeedback) {
-        mdcFeedbackService.updateById(mdcFeedback);
-        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) {
-        mdcFeedbackService.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.mdcFeedbackService.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) {
-        MdcFeedback mdcFeedback = mdcFeedbackService.getById(id);
-        return Result.OK(mdcFeedback);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcFeedback
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcFeedback mdcFeedback) {
-        return super.exportXls(request, mdcFeedback, MdcFeedback.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, MdcFeedback.class);
-    }
-
-}
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
deleted file mode 100644
index 29867c9..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcHomeController.java
+++ /dev/null
@@ -1,282 +0,0 @@
-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.IMdcEquipmentService;
-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 IMdcEquipmentService mdcEquipmentService;
-
-    @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);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java
deleted file mode 100644
index 951b653..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java
+++ /dev/null
@@ -1,212 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.dto.message.MessageDTO;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.api.ISysBaseAPI;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.constant.MdcConstant;
-import org.jeecg.modules.mdc.entity.MdcMessageApproval;
-import org.jeecg.modules.mdc.service.IMdcMessageApprovalService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * @Description: mdc娑堟伅纭琛�
- * @Author: Lius
- * @Date: 2024-03-06
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "mdc娑堟伅纭琛�")
-@RestController
-@RequestMapping("/mdc/mdcMessageApproval")
-public class MdcMessageApprovalController extends JeecgController<MdcMessageApproval, IMdcMessageApprovalService> {
-
-    @Resource
-    private IMdcMessageApprovalService mdcMessageApprovalService;
-
-    @Resource
-    private ISysBaseAPI sysBaseApi;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcMessageApproval
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "mdc娑堟伅纭琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcMessageApproval mdcMessageApproval,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        Page<MdcMessageApproval> page = new Page<MdcMessageApproval>(pageNo, pageSize);
-        IPage<MdcMessageApproval> pageList = mdcMessageApprovalService.pageList(userId, page, mdcMessageApproval, req);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcMessageApproval
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-娣诲姞")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-娣诲姞", notes = "mdc娑堟伅纭琛�-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcMessageApproval mdcMessageApproval) {
-        mdcMessageApprovalService.save(mdcMessageApproval);
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcMessageApproval
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-缂栬緫")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-缂栬緫", notes = "mdc娑堟伅纭琛�-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcMessageApproval mdcMessageApproval) {
-        mdcMessageApprovalService.updateById(mdcMessageApproval);
-        return Result.OK("缂栬緫鎴愬姛!");
-    }
-
-    /**
-     * 閫氳繃id鍒犻櫎
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-閫氳繃id鍒犻櫎")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-閫氳繃id鍒犻櫎", notes = "mdc娑堟伅纭琛�-閫氳繃id鍒犻櫎")
-    @DeleteMapping(value = "/delete")
-    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
-        mdcMessageApprovalService.removeById(id);
-        return Result.OK("鍒犻櫎鎴愬姛!");
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-鎵归噺鍒犻櫎")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-鎵归噺鍒犻櫎", notes = "mdc娑堟伅纭琛�-鎵归噺鍒犻櫎")
-    @DeleteMapping(value = "/deleteBatch")
-    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        this.mdcMessageApprovalService.removeByIds(Arrays.asList(ids.split(",")));
-        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
-    }
-
-    /**
-     * 閫氳繃id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-閫氳繃id鏌ヨ")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-閫氳繃id鏌ヨ", notes = "mdc娑堟伅纭琛�-閫氳繃id鏌ヨ")
-    @GetMapping(value = "/queryById")
-    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
-        MdcMessageApproval mdcMessageApproval = mdcMessageApprovalService.getById(id);
-        return Result.OK(mdcMessageApproval);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcMessageApproval
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcMessageApproval mdcMessageApproval) {
-        return super.exportXls(request, mdcMessageApproval, MdcMessageApproval.class, "mdc娑堟伅纭琛�");
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MdcMessageApproval.class);
-    }
-
-    /**
-     * 涓婃姤鍘熷洜
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜", notes = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜")
-    @RequestMapping(value = "/reportReason", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> reportReason(@RequestBody MdcMessageApproval mdcMessageApproval) {
-        mdcMessageApproval.setMsgStatus(MdcConstant.MSG_STATUS_1);
-        mdcMessageApprovalService.updateById(mdcMessageApproval);
-        List<String> approverIdList = Arrays.asList(mdcMessageApproval.getApproverIds().split(","));
-        for (String approverId : approverIdList) {
-            //涓婃姤鍘熷洜鍙戦�佹秷鎭粰纭浜�
-            MessageDTO messageDTO = new MessageDTO();
-            messageDTO.setTitle("璁惧鐘舵�侀暱鏃堕棿鏈彉鍖栧師鍥犱笂鎶ョ‘璁わ紒");
-            messageDTO.setCategory("娑堟伅");
-            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-            messageDTO.setFromUser(user.getUsername());
-            LoginUser userById = sysBaseApi.getUserById(approverId);
-            messageDTO.setToUser(userById.getUsername());
-            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcMessageApproval.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏃堕棿鏈彉鍖栧師鍥犱笂鎶ュ緟纭锛�");
-            sysBaseApi.sendSysAnnouncement(messageDTO);
-        }
-
-        return Result.OK("涓婃姤鎴愬姛锛�");
-    }
-
-    /**
-     * 澶勭悊纭
-     */
-    @AutoLog(value = "mdc娑堟伅纭琛�-澶勭悊纭")
-    @ApiOperation(value = "mdc娑堟伅纭琛�-澶勭悊纭", notes = "mdc娑堟伅纭琛�-澶勭悊纭")
-    @RequestMapping(value = "/handleConfirm", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> handleConfirm(@RequestBody MdcMessageApproval mdcMessageApproval) {
-        if (mdcMessageApproval.getMsgStatus().equals(MdcConstant.MSG_STATUS_3)) {
-            //澶勭悊琚嫆缁濓紝闇�閲嶆柊涓婃姤鍘熷洜
-            //涓婃姤鍘熷洜鍙戦�佹秷鎭粰纭浜�
-            MessageDTO messageDTO = new MessageDTO();
-            messageDTO.setTitle("璁惧鐘舵�佹秷鎭紒");
-            messageDTO.setCategory("娑堟伅");
-            messageDTO.setFromUser("admin");
-            messageDTO.setToUser(mdcMessageApproval.getUpdateBy());
-            messageDTO.setContent("鎮ㄧ殑璁惧缂栧彿涓� [" + mdcMessageApproval.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏃堕棿鏈彉鍖栦笂鎶ュ凡琚澶囪秴绾х鐞嗗憳鎷掔粷锛岃閲嶆柊濉啓涓婃姤鍘熷洜锛�");
-            sysBaseApi.sendSysAnnouncement(messageDTO);
-        }
-        mdcMessageApprovalService.updateById(mdcMessageApproval);
-
-        return Result.OK("鎴愬姛锛�");
-    }
-
-
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java
new file mode 100644
index 0000000..642d400
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOeeInfoController.java
@@ -0,0 +1,100 @@
+package org.jeecg.modules.mdc.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.entity.MdcOeeInfo;
+import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
+import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
+import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Description: OEE琛�
+ * @Author: lius
+ * @Date: 2024-12-12
+ */
+@Slf4j
+@Api(tags = "OEE琛�")
+@RestController
+@RequestMapping("/mdc/mdcOeeInfo")
+public class MdcOeeInfoController extends JeecgController<MdcOeeInfo, IMdcOeeInfoService> {
+
+    @Resource
+    private IMdcOeeInfoService mdcOeeInfoService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param mdcOeeInfoVo
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "OEE琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(MdcOeeInfoVo mdcOeeInfoVo,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        Page<MdcOeeInfo> page = new Page<MdcOeeInfo>(pageNo, pageSize);
+        IPage<MdcOeeInfo> pageList = mdcOeeInfoService.pageList(userId, page, mdcOeeInfoVo, req);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 閫氳繃id鏌ヨ
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "OEE琛�-閫氳繃id鏌ヨ")
+    @ApiOperation(value = "OEE琛�-閫氳繃id鏌ヨ", notes = "OEE琛�-閫氳繃id鏌ヨ")
+    @GetMapping(value = "/queryById")
+    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
+        MdcOeeInfo mdcOeeInfo = mdcOeeInfoService.getById(id);
+        return Result.OK(mdcOeeInfo);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param mdcOeeInfoVo
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MdcOeeInfoVo mdcOeeInfoVo) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        return mdcOeeInfoService.exportXls(userId, mdcOeeInfoVo);
+    }
+
+    /**
+     * 璁$畻OEE
+     *
+     * @return
+     */
+    @AutoLog(value = "OEE琛�-璁$畻OEE")
+    @ApiOperation(value = "OEE琛�-璁$畻OEE", notes = "OEE琛�-璁$畻OEE")
+    @PostMapping(value = "/computeOee")
+    public Result<?> computeOee(@RequestBody MdcOeeComputeVo mdcOeeComputeVo) {
+        mdcOeeInfoService.computeOee(mdcOeeComputeVo);
+        return Result.OK("璁$畻鎴愬姛锛�");
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverallEquipmentEfficiencyController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverallEquipmentEfficiencyController.java
deleted file mode 100644
index 7d16641..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverallEquipmentEfficiencyController.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency;
-import org.jeecg.modules.mdc.service.IMdcOverallEquipmentEfficiencyService;
-import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
-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 javax.servlet.http.HttpServletRequest;
-
-/**
- * @Description: OEE璁惧缁煎悎鏁堢巼琛�
- * @Author: Lius
- * @Date: 2023-11-13
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "OEE璁惧缁煎悎鏁堢巼琛�")
-@RestController
-@RequestMapping("/mdc/mdcOverallEquipmentEfficiency")
-public class MdcOverallEquipmentEfficiencyController extends JeecgController<MdcOverallEquipmentEfficiency, IMdcOverallEquipmentEfficiencyService> {
-
-    @Resource
-    private IMdcOverallEquipmentEfficiencyService mdcOverallEquipmentEfficiencyService;
-
-    /**
-     *
-     * @param mdcOverallEquipmentEfficiencyVo
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "OEE璁惧缁煎悎鏁堢巼琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "OEE璁惧缁煎悎鏁堢巼琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "OEE璁惧缁煎悎鏁堢巼琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping("/list")
-    public Result queryPageList(MdcOverallEquipmentEfficiencyVo mdcOverallEquipmentEfficiencyVo,
-                                @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                HttpServletRequest req) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        Page<MdcOverallEquipmentEfficiency> page = new Page<MdcOverallEquipmentEfficiency>(pageNo, pageSize);
-        IPage<MdcOverallEquipmentEfficiency> pageList = mdcOverallEquipmentEfficiencyService.pageList(userId, page, mdcOverallEquipmentEfficiencyVo, req);
-        return Result.OK(pageList);
-    }
-
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java
deleted file mode 100644
index 441ee91..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcOverrunAlarmController.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.system.query.QueryGenerator;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverrunAlarm;
-import org.jeecg.modules.mdc.service.IMdcOverrunAlarmService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-
-/**
- * @Description: mdc瓒呴檺鎶ヨ
- * @Author: Lius
- * @Date: 2024-03-01
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "mdc瓒呴檺鎶ヨ")
-@RestController
-@RequestMapping("/mdc/mdcOverrunAlarm")
-public class MdcOverrunAlarmController extends JeecgController<MdcOverrunAlarm, IMdcOverrunAlarmService> {
-
-    @Resource
-    private IMdcOverrunAlarmService mdcOverrunAlarmService;
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcEquipment
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ", notes = "mdc瓒呴檺鎶ヨ-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcEquipment mdcEquipment,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
-        //QueryWrapper<MdcOverrunAlarm> queryWrapper = QueryGenerator.initQueryWrapper(mdcOverrunAlarm, req.getParameterMap());
-        Page<MdcOverrunAlarm> page = new Page<MdcOverrunAlarm>(pageNo, pageSize);
-        IPage<MdcOverrunAlarm> pageList = mdcOverrunAlarmService.pageList(page, mdcEquipment, req);
-        return Result.OK(pageList);
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcOverrunAlarm
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-娣诲姞")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-娣诲姞", notes = "mdc瓒呴檺鎶ヨ-娣诲姞")
-    @PostMapping(value = "/add")
-    public Result<?> add(@RequestBody MdcOverrunAlarm mdcOverrunAlarm) {
-        mdcOverrunAlarmService.save(mdcOverrunAlarm);
-        return Result.OK("娣诲姞鎴愬姛锛�");
-    }
-
-    /**
-     * 缂栬緫
-     *
-     * @param mdcOverrunAlarm
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-缂栬緫")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-缂栬緫", notes = "mdc瓒呴檺鎶ヨ-缂栬緫")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<?> edit(@RequestBody MdcOverrunAlarm mdcOverrunAlarm) {
-        mdcOverrunAlarmService.updateById(mdcOverrunAlarm);
-        return Result.OK("缂栬緫鎴愬姛!");
-    }
-
-    /**
-     * 閫氳繃id鍒犻櫎
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎", notes = "mdc瓒呴檺鎶ヨ-閫氳繃id鍒犻櫎")
-    @DeleteMapping(value = "/delete")
-    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
-        mdcOverrunAlarmService.removeById(id);
-        return Result.OK("鍒犻櫎鎴愬姛!");
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎", notes = "mdc瓒呴檺鎶ヨ-鎵归噺鍒犻櫎")
-    @DeleteMapping(value = "/deleteBatch")
-    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        this.mdcOverrunAlarmService.removeByIds(Arrays.asList(ids.split(",")));
-        return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�");
-    }
-
-    /**
-     * 閫氳繃id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ")
-    @ApiOperation(value = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ", notes = "mdc瓒呴檺鎶ヨ-閫氳繃id鏌ヨ")
-    @GetMapping(value = "/queryById")
-    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
-        MdcOverrunAlarm mdcOverrunAlarm = mdcOverrunAlarmService.getById(id);
-        return Result.OK(mdcOverrunAlarm);
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcOverrunAlarm
-     */
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcOverrunAlarm mdcOverrunAlarm) {
-        return super.exportXls(request, mdcOverrunAlarm, MdcOverrunAlarm.class, "mdc瓒呴檺鎶ヨ");
-    }
-
-    /**
-     * 閫氳繃excel瀵煎叆鏁版嵁
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MdcOverrunAlarm.class);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java
new file mode 100644
index 0000000..d0b6413
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcPartProcessInfoController.java
@@ -0,0 +1,163 @@
+package org.jeecg.modules.mdc.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.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.modules.mdc.entity.MdcPartProcessInfo;
+import org.jeecg.modules.mdc.service.IMdcPartProcessInfoService;
+import org.jeecg.modules.mdc.vo.MdcPartProcessInfoVo;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+/**
+ * @Description: 闆朵欢鍔犲伐鏁版嵁琛�
+ * @Author: lius
+ * @Date: 2024-12-11
+ */
+@Slf4j
+@Api(tags = "闆朵欢鍔犲伐鏁版嵁琛�")
+@RestController
+@RequestMapping("/mdc/mdcPartProcessInfo")
+public class MdcPartProcessInfoController extends JeecgController<MdcPartProcessInfo, IMdcPartProcessInfoService> {
+
+    @Resource
+    private IMdcPartProcessInfoService mdcPartProcessInfoService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param mdcPartProcessInfo
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "闆朵欢鍔犲伐鏁版嵁琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @ApiOperation(value = "闆朵欢鍔犲伐鏁版嵁琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "闆朵欢鍔犲伐鏁版嵁琛�-鍒嗛〉鍒楄〃鏌ヨ")
+    @GetMapping(value = "/list")
+    public Result<?> queryPageList(MdcPartProcessInfoVo mdcPartProcessInfo,
+                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                   HttpServletRequest req) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        Page<MdcPartProcessInfo> page = new Page<MdcPartProcessInfo>(pageNo, pageSize);
+        IPage<MdcPartProcessInfo> pageList = mdcPartProcessInfoService.pageList(userId, page, mdcPartProcessInfo, req);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 娣诲姞
+     *
+     * @param mdcPartProcessInfo
+     * @return
+     */
+    @AutoLog(value = "闆朵欢鍔犲伐鏁版嵁琛�-娣诲姞")
+    @ApiOperation(value = "闆朵欢鍔犲伐鏁版嵁琛�-娣诲姞", notes = "闆朵欢鍔犲伐鏁版嵁琛�-娣诲姞")
+    @PostMapping(value = "/add")
+    public Result<?> add(@RequestBody MdcPartProcessInfoVo mdcPartProcessInfo) {
+        if (StringUtils.isBlank(mdcPartProcessInfo.getEquipmentIds())) {
+            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡锛�");
+        }
+        boolean result = mdcPartProcessInfoService.addPartProcess(mdcPartProcessInfo);
+        if (!result) {
+            return Result.error("娣诲姞澶辫触锛�");
+        }
+        return Result.OK("娣诲姞鎴愬姛锛�");
+    }
+
+    /**
+     * 缂栬緫
+     *
+     * @param mdcPartProcessInfo
+     * @return
+     */
+    @AutoLog(value = "闆朵欢鍔犲伐鏁版嵁琛�-缂栬緫")
+    @ApiOperation(value = "闆朵欢鍔犲伐鏁版嵁琛�-缂栬緫", notes = "闆朵欢鍔犲伐鏁版嵁琛�-缂栬緫")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<?> edit(@RequestBody MdcPartProcessInfo mdcPartProcessInfo) {
+        mdcPartProcessInfoService.updateById(mdcPartProcessInfo);
+        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) {
+        mdcPartProcessInfoService.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.mdcPartProcessInfoService.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) {
+        MdcPartProcessInfo mdcPartProcessInfo = mdcPartProcessInfoService.getById(id);
+        return Result.OK(mdcPartProcessInfo);
+    }
+
+    /**
+     * 瀵煎嚭excel
+     *
+     * @param request
+     * @param mdcPartProcessInfo
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MdcPartProcessInfoVo mdcPartProcessInfo) {
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = user.getId();
+        return mdcPartProcessInfoService.exportXls(userId, mdcPartProcessInfo);
+    }
+
+    /**
+     * 閫氳繃excel瀵煎叆鏁版嵁
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, MdcPartProcessInfo.class);
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcProcessCountController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcProcessCountController.java
deleted file mode 100644
index 055f117..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcProcessCountController.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.dto.MdcProcessCountDto;
-import org.jeecg.modules.mdc.entity.MdcProcessCount;
-import org.jeecg.modules.mdc.service.IProcessCountService;
-import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * @author Lius
- * @Description: mdc璁惧鍔犲伐涓暟琛�
- * @date 2023/12/7 16:50
- */
-@Slf4j
-@Api(tags = "mdc璁惧鍔犲伐涓暟琛�")
-@RestController
-@RequestMapping("/mdc/mdcProcessCount")
-public class MdcProcessCountController extends JeecgController<MdcProcessCount, IProcessCountService> {
-
-    @Resource
-    private IProcessCountService processCountService;
-
-/*    *//**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param mdcProcessCountVo
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @ApiOperation(value = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ")
-    @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        List<MdcProcessCountDto> pageList = processCountService.pageList(userId, mdcProcessCountVo, req);
-        return Result.OK(pageList);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java
deleted file mode 100644
index 2049898..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java
+++ /dev/null
@@ -1,170 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
-import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @Description: 鎵煩閰嶇疆绠$悊
- * @Author: ym
- * @Date: 2023-06-29
- */
-@Slf4j
-@RestController
-@Api(tags = "鎵煩閰嶇疆绠$悊")
-@RequestMapping("/mdc/MdcTorqueConfig")
-public class MdcTorqueConfigController extends JeecgController<MdcTorqueConfig, IMdcTorqueConfigService> {
-
-    @Resource
-    private IMdcTorqueConfigService mdcTorqueConfigService;
-
-    /**
-     * 鏍规嵁id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-鏍规嵁id鏌ヨ")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鏍规嵁id鏌ヨ", notes = "鎵煩閰嶇疆绠$悊-鏍规嵁id鏌ヨ")
-    @GetMapping("/queryById")
-    public Result<?> queryById(@RequestParam(required = true, name = "id") String id) {
-        MdcTorqueConfig mdcTorqueConfig = mdcTorqueConfigService.queryById(id);
-        //鏌ヨ涓嶄负绌哄垯杩斿洖鏁版嵁
-        return null != mdcTorqueConfig ? Result.OK(mdcTorqueConfig) : Result.error("鏈壘鍒板搴旀暟鎹�");
-    }
-
-    /**
-     * 鎵煩閰嶇疆绠$悊-鏂板
-     *
-     * @param mdcTorqueConfig
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-鏂板")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鏂板", notes = "鎵煩閰嶇疆绠$悊-鏂板")
-    @PostMapping("/addMdcTorqueConfig")
-    public Result addMdcTorqueConfig(@RequestBody MdcTorqueConfig mdcTorqueConfig) {
-        if (StringUtils.isBlank(mdcTorqueConfig.getEquipmentIds())) {
-            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡");
-        }
-        boolean result = mdcTorqueConfigService.addTorque(mdcTorqueConfig);
-        if (!result) {
-            return Result.error("鏃堕棿娈垫暟鎹凡瀛樺湪锛岃鎺掓煡");
-        }
-        return Result.OK("鏂板鎴愬姛");
-    }
-
-    /**
-     * 淇敼
-     *
-     * @param mdcTorqueConfig
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-淇敼")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-淇敼", notes = "鎵煩閰嶇疆绠$悊-淇敼")
-    @PutMapping("/editMdcTorqueConfig")
-    public Result<?> editMdcTorqueConfig(@RequestBody MdcTorqueConfig mdcTorqueConfig) {
-        boolean flag = mdcTorqueConfigService.editTorque(mdcTorqueConfig);
-        return flag ? Result.ok("淇敼鎴愬姛") : Result.error("淇敼澶辫触");
-    }
-
-    /**
-     * 鏍规嵁id鍒犻櫎鎵煩閰嶇疆
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-鏍规嵁id鍒犻櫎鎵煩閰嶇疆")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鏍规嵁id鍒犻櫎鎵煩閰嶇疆", notes = "鎵煩閰嶇疆绠$悊-鏍规嵁id鍒犻櫎鎵煩閰嶇疆")
-    @DeleteMapping("/deleteMdcTorqueConfig")
-    public Result<?> deleteMdcTorqueConfig(@RequestParam(name = "id", required = true) String id) {
-        boolean flag = mdcTorqueConfigService.deleteTorque(id);
-        return flag ? Result.ok("鍒犻櫎鎴愬姛") : Result.error("鍒犻櫎澶辫触");
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-鎵归噺鍒犻櫎")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鎵归噺鍒犻櫎", notes = "鎵煩閰嶇疆绠$悊-鎵归噺鍒犻櫎")
-    @DeleteMapping("/deleteBatchMdcTorqueConfig")
-    public Result<?> deleteBatchMdcTorqueConfig(@RequestParam(name = "ids", required = true) String ids) {
-        boolean flag = mdcTorqueConfigService.deleteBatchTorque(ids);
-        return flag ? Result.ok("鎵归噺鍒犻櫎鎴愬姛") : Result.error("鍒犻櫎澶辫触");
-    }
-
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcTorqueConfig
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-瀵煎嚭")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-瀵煎嚭", notes = "鎵煩閰嶇疆绠$悊-瀵煎嚭")
-    @RequestMapping("/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcTorqueConfig mdcTorqueConfig) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        return this.mdcTorqueConfigService.exportXls(userId, mdcTorqueConfig);
-    }
-
-    /**
-     * 瀵煎叆excel
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-瀵煎叆")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-瀵煎叆", notes = "鎵煩閰嶇疆绠$悊-瀵煎叆")
-    @RequestMapping("/importExcel")
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MdcTorqueConfig.class);
-    }
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param mdcTorqueConfig
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     */
-    @AutoLog(value = "鎵煩閰嶇疆绠$悊-鍒嗛〉鏌ヨ")
-    @ApiOperation(value = "鎵煩閰嶇疆绠$悊-鍒嗛〉鏌ヨ", notes = "鎵煩閰嶇疆绠$悊-鍒嗛〉鏌ヨ")
-    @GetMapping("/pageList")
-    public Result pageList(MdcTorqueConfig mdcTorqueConfig,
-                           @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                           @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                           HttpServletRequest req) {
-        if (mdcTorqueConfig == null) {
-            return Result.error("璇蜂紶閫掓湁鏁堝弬鏁�");
-        }
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        Page page = new Page(pageNo, pageSize);
-        IPage<MdcTorqueConfig> mdcTorqueConfigIPage = mdcTorqueConfigService.pageList(userId, page, req, mdcTorqueConfig);
-        return Result.ok(mdcTorqueConfigIPage);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcVacationManagementController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcVacationManagementController.java
deleted file mode 100644
index 46f902d..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcVacationManagementController.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package org.jeecg.modules.mdc.controller;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcVacationManagement;
-import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @Description: 鍋囨湡绠$悊
- * @Author: ym
- * @Date: 2023-07-05
- */
-@Slf4j
-@RestController
-@Api(tags = "鍋囨湡绠$悊")
-@RequestMapping("/mdc/mdcVacationManagement")
-public class MdcVacationManagementController extends JeecgController<MdcVacationManagement, IMdcVacationManagementService> {
-
-    @Resource
-    private IMdcVacationManagementService mdcVacationManagementService;
-
-    /**
-     * 鏍规嵁id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-鏍规嵁id鏌ヨ")
-    @ApiOperation(value = "鍋囨湡绠$悊-鏍规嵁id鏌ヨ", notes = "鍋囨湡绠$悊-鏍规嵁id鏌ヨ")
-    @GetMapping("/queryById")
-    public Result<?> queryById(@RequestParam(required = true, name = "id") String id) {
-        MdcVacationManagement mdcVacationManagement = mdcVacationManagementService.queryById(id);
-        //鏌ヨ涓嶄负绌哄垯杩斿洖鏁版嵁
-        return null != mdcVacationManagement ? Result.OK(mdcVacationManagement) : Result.error("鏈壘鍒板搴旀暟鎹�");
-    }
-
-    /**
-     * 鏂板
-     *
-     * @param mdcVacationManagement
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-鏂板")
-    @ApiOperation(value = "鍋囨湡绠$悊-鏂板", notes = "鍋囨湡绠$悊-鏂板")
-    @PostMapping("/addVacation")
-    public Result<?> addVacation(@RequestBody MdcVacationManagement mdcVacationManagement) {
-        if (StringUtils.isBlank(mdcVacationManagement.getEquipmentIds())) {
-            return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡");
-        }
-        boolean flag = mdcVacationManagementService.addVacation(mdcVacationManagement);
-        return flag ? Result.ok("鏂板鎴愬姛") : Result.error("鏂板澶辫触");
-    }
-
-    /**
-     * 淇敼
-     *
-     * @param mdcVacationManagement
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-淇敼")
-    @ApiOperation(value = "鍋囨湡绠$悊-淇敼", notes = "鍋囨湡绠$悊-淇敼")
-    @PutMapping("/editVacation")
-    public Result<?> editVacation(@RequestBody MdcVacationManagement mdcVacationManagement) {
-        boolean flag = mdcVacationManagementService.editVacation(mdcVacationManagement);
-        return flag ? Result.ok("淇敼鎴愬姛") : Result.error("淇敼澶辫触");
-    }
-
-    /**
-     * 鏍规嵁id鍒犻櫎鍋囨湡绠$悊
-     *
-     * @param id
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-鏍规嵁id鍒犻櫎")
-    @ApiOperation(value = "鍋囨湡绠$悊-鏍规嵁id鍒犻櫎", notes = "鍋囨湡绠$悊-鏍规嵁id鍒犻櫎")
-    @DeleteMapping("/deleteVacation")
-    public Result<?> deleteVacation(@RequestParam(required = true, name = "id") String id) {
-        boolean flag = mdcVacationManagementService.deleteVacation(id);
-        return flag ? Result.ok("鍒犻櫎鎴愬姛") : Result.error("鍒犻櫎澶辫触");
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-鎵归噺鍒犻櫎")
-    @ApiOperation(value = "鍋囨湡绠$悊-鎵归噺鍒犻櫎", notes = "鍋囨湡绠$悊-鎵归噺鍒犻櫎")
-    @DeleteMapping("/deleteBatchVacation")
-    public Result<?> deleteBatchVacation(@RequestParam(required = true, name = "ids") String ids) {
-        boolean flag = mdcVacationManagementService.deleteBatchVacation(ids);
-        return flag ? Result.ok("鎵归噺鍒犻櫎鎴愬姛") : Result.error("鎵归噺鍒犻櫎澶辫触");
-    }
-
-    /**
-     * 瀵煎嚭excel
-     *
-     * @param request
-     * @param mdcVacationManagement
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-瀵煎嚭excel")
-    @ApiOperation(value = "鍋囨湡绠$悊-瀵煎嚭excel",notes = "鍋囨湡绠$悊-瀵煎嚭excel")
-    @RequestMapping("/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, MdcVacationManagement mdcVacationManagement) {
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId = user.getId();
-        return mdcVacationManagementService.exportXls(userId, mdcVacationManagement);
-    }
-
-    /**
-     * 瀵煎叆excel
-     *
-     * @param request
-     * @param response
-     * @return
-     */
-    @RequestMapping("/importExcel")
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, MdcVacationManagement.class);
-    }
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param mdcVacationManagement
-     * @param pageNo
-     * @param pageSize
-     * @param request
-     * @return
-     */
-    @AutoLog(value = "鍋囨湡绠$悊-鍒嗛〉鏌ヨ")
-    @ApiOperation(value = "鍋囨湡绠$悊-鍒嗛〉鏌ヨ",notes = "鍋囨湡绠$悊-鍒嗛〉鏌ヨ")
-    @GetMapping("/pageList")
-    public Result<?> pageList(MdcVacationManagement mdcVacationManagement,
-                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                              HttpServletRequest request) {
-        if (mdcVacationManagement == null) {
-            return Result.error("璇蜂紶閫掓湁鏁堝弬鏁�");
-        }
-        LoginUser user=(LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String userId= user.getId();
-        Page page=new Page(pageNo,pageSize);
-        IPage<MdcVacationManagement> mdcVacationManagementIPage= mdcVacationManagementService.pageList(userId,page,request,mdcVacationManagement);
-        return Result.ok(mdcVacationManagementIPage);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java
new file mode 100644
index 0000000..08cd980
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcDowntimeDto.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.mdc.dto;
+
+import lombok.Data;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-03-17
+ * @Description: 寰呮満鍋滄満鍘熷洜
+ */
+@Data
+public class MdcDowntimeDto extends MdcDowntime {
+    private Integer downtimeType;
+    private String downtimeDescription;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java
index 434328f..1eb3c53 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquDepDto.java
@@ -23,7 +23,7 @@
     /**
      * 灞傜骇缂栧彿
      */
-    private String orgType;
+    private String orgCode;
     /**
      * 璁惧id
      */
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java
index ebba0d4..8a1928d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcEquProDto.java
@@ -24,7 +24,7 @@
     /**
      * 灞傜骇缂栧彿
      */
-    private String orgType;
+    private String orgCode;
     /**
      * 璁惧id
      */
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcProcessCountDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcProcessCountDto.java
deleted file mode 100644
index 1889d54..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcProcessCountDto.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.modules.mdc.dto;
-
-import lombok.Data;
-
-import java.util.UUID;
-
-/**
- * @author Lius
- * @date 2023/12/8 10:38
- */
-@Data
-public class MdcProcessCountDto {
-    private String id = UUID.randomUUID().toString();
-    private String equipmentId;
-    private String equipmentName;
-    private String driveType;
-//    private String theDate;
-    private String sequenceNumber;
-    private Long duration;
-    private Integer processCount;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java
new file mode 100644
index 0000000..41d8523
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntime.java
@@ -0,0 +1,74 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Description: 寰呮満鍋滄満琛�
+ * @Author: lius
+ * @Date: 2025-03-12
+ */
+@Data
+@TableName("mdc_downtime")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_downtime瀵硅薄", description = "寰呮満鍋滄満琛�")
+public class MdcDowntime extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = 7151231815767722285L;
+
+    /**
+     * 璁惧缂栧彿
+     */
+    @Excel(name = "璁惧缂栧彿", width = 15)
+    @ApiModelProperty(value = "璁惧缂栧彿")
+    private String equipmentId;
+    /**
+     * 璁惧鍚嶇О
+     */
+    @Excel(name = "璁惧鍚嶇О", width = 15)
+    @ApiModelProperty(value = "璁惧鍚嶇О")
+    private String equipmentName;
+    /**
+     * 鍋滄満鍘熷洜id
+     */
+    @Excel(name = "鍋滄満鍘熷洜id", width = 15)
+    @ApiModelProperty(value = "鍋滄満鍘熷洜id")
+    private String reasonId;
+
+    /**
+     * 鍋滄満鏃堕暱
+     */
+    @Excel(name = "鍋滄満鏃堕暱", width = 15)
+    @ApiModelProperty(value = "鍋滄満鏃堕暱")
+    private Integer downLong;
+    /**
+     * 鏃ユ湡
+     */
+    @Excel(name = "鏃ユ湡", width = 15)
+    @ApiModelProperty(value = "鏃ユ湡")
+    private String theDate;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+    @TableField(exist = false)
+    private String equipmentIds;
+
+    @TableField(exist = false)
+    private List<String> dateList;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java
new file mode 100644
index 0000000..ecce552
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcDowntimeReason.java
@@ -0,0 +1,49 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+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 java.io.Serializable;
+
+/**
+ * @Description: 鍋滄満鍘熷洜琛�
+ * @Author: lius
+ * @Date: 2025-03-11
+ */
+@Data
+@TableName("mdc_downtime_reason")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_downtime_reason瀵硅薄", description = "鍋滄満鍘熷洜琛�")
+public class MdcDowntimeReason extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -4421631921207859780L;
+
+    /**
+     * 鍋滄満绫诲瀷锛�0锛氳鍒掑仠鏈� 1锛氶潪璁″垝鍋滄満锛�
+     */
+    @Excel(name = "鍋滄満绫诲瀷锛�0锛氳鍒掑仠鏈� 1锛氶潪璁″垝鍋滄満锛�", width = 15)
+    @ApiModelProperty(value = "鍋滄満绫诲瀷锛�0锛氳鍒掑仠鏈� 1锛氶潪璁″垝鍋滄満锛�")
+	@Dict(dicCode = "mdc_downtime_type")
+    private Integer downtimeType;
+    /**
+     * 鍋滄満鍘熷洜鎻忚堪
+     */
+    @Excel(name = "鍋滄満鍘熷洜鎻忚堪", width = 15)
+    @ApiModelProperty(value = "鍋滄満鍘熷洜鎻忚堪")
+    private String downtimeDescription;
+    /**
+     * 澶囨敞
+     */
+    @Excel(name = "澶囨敞", width = 15)
+    @ApiModelProperty(value = "澶囨敞")
+    private String remark;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java
index afb4a9a..6d16529 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java
@@ -152,6 +152,12 @@
     @ApiModelProperty(value = "璁惧绉嶇被")
     private String deviceCategory;
 
+    /**
+     * 璁惧鍥剧墖
+     */
+    @ApiModelProperty(value = "璁惧鍥剧墖")
+    private String equipmentImage;
+
     /**閮ㄩ棬鍚嶇О*/
     @Excel(name = "閮ㄩ棬鍚嶇О", width = 15)
     private transient String orgCodeTxt;
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOverFlag.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOverFlag.java
deleted file mode 100644
index 0b9d0fa..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOverFlag.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.io.Serializable;
-
-/**
- * @Description: 璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�
- * @Author: Lius
- * @Date: 2023-12-05
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_equipment_over_flag")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_equipment_over_flag瀵硅薄", description = "璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�")
-public class MdcEquipmentOverFlag extends JeecgEntity implements Serializable {
-
-
-    /**
-     * 椹卞姩绫诲瀷
-     */
-    @Excel(name = "椹卞姩绫诲瀷", width = 15)
-    @ApiModelProperty(value = "椹卞姩绫诲瀷")
-    private String driveType;
-    /**
-     * 缁撴潫鏍囧織
-     */
-    @Excel(name = "缁撴潫鏍囧織", width = 15)
-    @ApiModelProperty(value = "缁撴潫鏍囧織")
-    private String overFlag;
-    /**
-     * 鍒ゆ柇缁撴潫瀛楁
-     */
-    @Excel(name = "鍒ゆ柇缁撴潫瀛楁", width = 15)
-    @ApiModelProperty(value = "鍒ゆ柇缁撴潫瀛楁")
-    private String overField;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
deleted file mode 100644
index a1284a4..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentOvertime.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.List;
-
-/**
- * @Description: 璁惧鍔犵彮绠$悊
- * @Author: Lius
- * @Date: 2023-08-25
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_equipment_overtime")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_equipment_overtime瀵硅薄", description = "璁惧鍔犵彮绠$悊")
-public class MdcEquipmentOvertime extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = -7163039765166584824L;
-
-    @Excel(name = "璁惧缂栧彿", width = 20)
-    @ApiModelProperty("璁惧缂栧彿")
-    private String equipmentId;
-
-    @TableField(exist = false)
-    @Excel(name = "璁惧鍚嶇О", width = 20)
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String equipmentName;
-
-    @ApiModelProperty("鏃ユ湡")
-    @Excel(name = "鏃ユ湡", width = 20)
-    private String theDate;
-
-//    @Excel(name = "鑷姩璁$畻鏍囪瘑", width = 15)
-    @ApiModelProperty("鑷姩璁$畻鏍囪瘑")
-    private Integer autoFlag = CommonConstant.AUTO_FLAG_N;
-
-    /**
-     * 鍔犵彮寮�濮嬫椂闂�
-     */
-    @Excel(name = "鍔犵彮寮�濮嬫椂闂�", width = 20)
-    @ApiModelProperty(value = "鍔犵彮寮�濮嬫椂闂�")
-    private String startTime;
-    /**
-     * 鍔犵彮缁撴潫鏃堕棿
-     */
-    @Excel(name = "鍔犵彮缁撴潫鏃堕棿", width = 20)
-    @ApiModelProperty(value = "鍔犵彮缁撴潫鏃堕棿")
-    private String endTime;
-
-    /**
-     * 鍔犵彮鏃堕暱
-     */
-    @Excel(name = "鏃堕暱", width = 20)
-    @ApiModelProperty(value = "鏃堕暱")
-    private BigDecimal duration;
-
-    /**
-     * 澶囨敞
-     */
-    @Excel(name = "澶囨敞")
-    @ApiModelProperty(value = "澶囨敞")
-    private String remark;
-
-    /**
-     * 鍓嶅彴浼犲叆 鍒ゆ柇姣忎釜id
-     */
-    @TableField(exist = false)
-    private String parentId;
-
-    /**
-     * 鍓嶅彴浼犲叆 杞﹂棿灞傜骇:1 閮ㄩ棬灞傜骇:2
-     */
-    @TableField(exist = false)
-    private String typeTree;
-
-    /**
-     * 閮ㄩ棬parentId 鍏宠仈瀛愰泦id
-     */
-    @TableField(exist = false)
-    private List<String> mdcSectionIds;
-
-    @TableField(exist = false)
-    private String equipmentIds;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentRepair.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentRepair.java
deleted file mode 100644
index 3ecc8c7..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentRepair.java
+++ /dev/null
@@ -1,133 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-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.checkerframework.checker.units.qual.A;
-import org.jeecg.common.aspect.annotation.Dict;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 璁惧缁翠慨浼戠彮
- * @Author: Sake
- * @Date: 2023-04-06 10:54
- */
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@TableName("mdc_equipment_repair")
-@ApiModel(value = "mdc_equipment_repair瀵硅薄", description = "璁惧缁翠慨浼戠彮")
-public class MdcEquipmentRepair implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 涓婚敭id
-     */
-    @TableId(type = IdType.ASSIGN_ID)
-    @ApiModelProperty("涓婚敭")
-    private String id;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧缂栧彿", width = 15)
-    @ApiModelProperty("璁惧缂栧彿")
-    private String equipmentId;
-
-    /**
-     * 璁惧鍚嶇О
-     */
-    @Excel(name = "璁惧鍚嶇О", width = 15)
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String equipmentName;
-
-    /**
-     * 缁翠慨绫诲瀷
-     */
-    @Excel(name = "缁翠慨绫诲瀷", width = 15)
-    @ApiModelProperty("缁翠慨绫诲瀷")
-    @Dict(dicCode = "mdc_repair_type")
-    private Integer mdcRepairType;
-
-    /**
-     * 寮�濮嬫椂闂�
-     */
-    @Excel(name = "寮�濮嬫椂闂�", width = 15)
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty("寮�濮嬫椂闂�")
-    private Date startTime;
-
-    /**
-     * 缁撴潫鏃堕棿
-     */
-    @Excel(name = "缁撴潫鏃堕棿", width = 15)
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty("缁撴潫鏃堕棿")
-    private Date endTime;
-
-    @TableField(exist = false)
-    private Integer secondLong;
-
-    /**
-     * 鍓嶅彴浼犲叆 鍒ゆ柇姣忎釜id
-     */
-    @TableField(exist = false)
-    private String parentId;
-
-    /**
-     * 鍓嶅彴浼犲叆 杞﹂棿灞傜骇:1 閮ㄩ棬灞傜骇:2
-     */
-    @TableField(exist = false)
-    private String typeTree;
-
-    /**
-     * 閮ㄩ棬parentId 鍏宠仈瀛愰泦id
-     */
-    @TableField(exist = false)
-    private List<String> mdcSectionIds;
-
-    @Excel(name = "璁惧绫诲瀷涓枃", width = 15)
-    @ApiModelProperty("璁惧绫诲瀷涓枃")
-    private String mdcRepairTypeDictText;
-    /**
-     * 鍒涘缓浜�
-     */
-    @ApiModelProperty(value = "鍒涘缓浜�")
-    private String createBy;
-
-    /**
-     * 鍒涘缓鏃ユ湡
-     */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "鍒涘缓鏃ユ湡")
-    private Date createTime;
-
-    /**
-     * 鏇存柊浜�
-     */
-    @ApiModelProperty(value = "鏇存柊浜�")
-    private String updateBy;
-
-    /**
-     * 鏇存柊鏃ユ湡
-     */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "鏇存柊鏃ユ湡")
-    private Date updateTime;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentThreshold.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentThreshold.java
deleted file mode 100644
index f21a23f..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentThreshold.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.io.Serializable;
-
-/**
- * @Description: 璁惧鍙傛暟闃堝�艰〃
- * @Author: Lius
- * @Date: 2023-11-08
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_equipment_threshold")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_equipment_threshold瀵硅薄", description = "璁惧鍙傛暟闃堝�艰〃")
-public class MdcEquipmentThreshold extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = 8899682324080635365L;
-
-    /**
-     * 鎺у埗绯荤粺绫诲瀷
-     */
-    @Excel(name = "鎺у埗绯荤粺绫诲瀷", width = 15)
-    @ApiModelProperty(value = "鎺у埗绯荤粺绫诲瀷")
-    private String controlSystemType;
-    /**
-     * 涓枃鍚嶇О
-     */
-    @Excel(name = "涓枃鍚嶇О", width = 15)
-    @ApiModelProperty(value = "涓枃鍚嶇О")
-    private String chineseName;
-    /**
-     * 鑻辨枃鍚嶇О
-     */
-    @Excel(name = "鑻辨枃鍚嶇О", width = 15)
-    @ApiModelProperty(value = "鑻辨枃鍚嶇О")
-    private String englishName;
-    /**
-     * 涓婇檺
-     */
-    @Excel(name = "涓婇檺", width = 15)
-    @ApiModelProperty(value = "涓婇檺")
-    private Integer maxThreshold;
-    /**
-     * 涓嬮檺
-     */
-    @Excel(name = "涓嬮檺", width = 15)
-    @ApiModelProperty(value = "涓嬮檺")
-    private Integer minThreshold;
-
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcFeedback.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcFeedback.java
deleted file mode 100644
index da3771b..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcFeedback.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-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 java.io.Serializable;
-
-/**
- * @Description: 闂鍙嶉
- * @Author: Lius
- * @Date: 2024-05-16
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_feedback")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_feedback瀵硅薄", description = "闂鍙嶉")
-public class MdcFeedback extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = -3363504953566755540L;
-
-    /**
-     * 鍐呭
-     */
-    @Excel(name = "鍐呭", width = 15)
-    @ApiModelProperty(value = "鍐呭")
-    private String content;
-    /**
-     * 杞﹂棿id
-     */
-    @Excel(name = "杞﹂棿id", width = 15)
-    @ApiModelProperty(value = "杞﹂棿id")
-    @Dict(dictTable = "mdc_production", dicCode = "id", dicText = "production_name")
-    private String productionId;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java
deleted file mode 100644
index 1ac751e..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableName;
-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 java.io.Serializable;
-
-/**
- * @Description: mdc娑堟伅纭琛�
- * @Author: Lius
- * @Date: 2024-03-06
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_message_approval")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_message_approval瀵硅薄", description = "mdc娑堟伅纭琛�")
-public class MdcMessageApproval extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = 3826726426360323366L;
-
-    /**
-     * 璁惧缂栫爜
-     */
-    @Excel(name = "璁惧缂栫爜", width = 15)
-    @ApiModelProperty(value = "璁惧缂栫爜")
-    private String equipmentId;
-    /**
-     * 鏍囬
-     */
-    @Excel(name = "鏍囬", width = 15)
-    @ApiModelProperty(value = "鏍囬")
-    private String titile;
-    /**
-     * 鍐呭
-     */
-    @Excel(name = "鍐呭", width = 15)
-    @ApiModelProperty(value = "鍐呭")
-    private String msgContent;
-    /**
-     * 澶勭悊浜篿ds
-     */
-    @ApiModelProperty(value = "澶勭悊浜篿ds")
-    private String senderIds;
-    /**
-     * 澶勭悊浜哄鍚�
-     */
-    @Excel(name = "澶勭悊浜哄鍚�", width = 15)
-    @ApiModelProperty(value = "澶勭悊浜哄鍚�")
-    private String senderNames;
-    /**
-     * 娑堟伅鐘舵�侊紙0寰呭鐞嗭紝1寰呯‘璁�, 2宸茬‘璁わ紝3宸叉嫆缁濓級
-     */
-    @Excel(name = "娑堟伅鐘舵�侊紙0寰呭鐞嗭紝1寰呯‘璁�, 2宸茬‘璁わ紝3宸叉嫆缁濓級", width = 15)
-    @ApiModelProperty(value = "娑堟伅鐘舵�侊紙0寰呭鐞嗭紝1寰呯‘璁�, 2宸茬‘璁わ紝3宸叉嫆缁濓級")
-    @Dict(dicCode = "mdcMsgStatus")
-    private String msgStatus;
-    /**
-     * 娑堟伅纭浜篿ds
-     */
-    @Excel(name = "娑堟伅纭浜篿ds", width = 15)
-    @ApiModelProperty(value = "娑堟伅纭浜篿ds")
-    private String approverIds;
-    /**
-     * 娑堟伅纭浜哄鍚�
-     */
-    @Excel(name = "娑堟伅纭浜哄鍚�", width = 15)
-    @ApiModelProperty(value = "娑堟伅纭浜哄鍚�")
-    private String approverNames;
-    /**
-     * 涓婃姤鍐呭
-     */
-    @Excel(name = "涓婃姤鍐呭", width = 15)
-    @ApiModelProperty(value = "涓婃姤鍐呭")
-    private String reportContent;
-    /**
-     * 澶勭悊鎸夐挳
-     */
-    @TableField(exist = false)
-    @ApiModelProperty(value = "澶勭悊鎸夐挳")
-    private Boolean hasProcess = false;
-    /**
-     * 纭鎸夐挳
-     */
-    @TableField(exist = false)
-    @ApiModelProperty(value = "纭鎸夐挳")
-    private Boolean hasConfirm = false;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java
new file mode 100644
index 0000000..6832055
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOeeInfo.java
@@ -0,0 +1,114 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description: OEE琛�
+ * @Author: lius
+ * @Date: 2024-12-12
+ */
+@Data
+@TableName("mdc_oee_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_oee_info瀵硅薄", description = "OEE琛�")
+public class MdcOeeInfo extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -1029070983514140912L;
+
+    /**
+     * 璁惧缂栧彿
+     */
+    @Excel(name = "璁惧缂栧彿", width = 15)
+    @ApiModelProperty(value = "璁惧缂栧彿")
+    private String equipmentId;
+    /**
+     * 鏃ユ湡
+     */
+    @Excel(name = "鏃ユ湡", width = 15)
+    @ApiModelProperty(value = "鏃ユ湡")
+    private String theDate;
+    /**
+     * 宸ヤ綔鏃ュ巻鏃堕棿(min)
+     */
+    @Excel(name = "宸ヤ綔鏃ュ巻鏃堕棿(min)", width = 15)
+    @ApiModelProperty(value = "宸ヤ綔鏃ュ巻鏃堕棿(min)")
+    private Integer calendarLong;
+    /**
+     * 璁″垝鍋滄満鏃堕棿(min)
+     */
+    @Excel(name = "璁″垝鍋滄満鏃堕棿(min)", width = 15)
+    @ApiModelProperty(value = "璁″垝鍋滄満鏃堕棿(min)")
+    private Integer planCloseLong;
+    /**
+     * 璐熻嵎鏃堕棿(min)
+     */
+    @Excel(name = "璐熻嵎鏃堕棿(min)", width = 15)
+    @ApiModelProperty(value = "璐熻嵎鏃堕棿(min)")
+    private Integer loadLong;
+    /**
+     * 闈炶鍒掑仠鏈烘椂闂�(min)
+     */
+    @Excel(name = "闈炶鍒掑仠鏈烘椂闂�(min)", width = 15)
+    @ApiModelProperty(value = "闈炶鍒掑仠鏈烘椂闂�(min)")
+    private Integer noplanCloseLong;
+    /**
+     * 寮�鍔ㄦ椂闂�(min)
+     */
+    @Excel(name = "寮�鍔ㄦ椂闂�(min)", width = 15)
+    @ApiModelProperty(value = "寮�鍔ㄦ椂闂�(min)")
+    private Integer actuateLong;
+    /**
+     * 鏃堕棿寮�鍔ㄧ巼
+     */
+    @Excel(name = "鏃堕棿寮�鍔ㄧ巼", width = 15)
+    @ApiModelProperty(value = "鏃堕棿寮�鍔ㄧ巼")
+    private BigDecimal timeActuationRate;
+    /**
+     * 鏈夋晥杩愯鏃堕棿
+     */
+    @Excel(name = "鏈夋晥杩愯鏃堕棿", width = 15)
+    @ApiModelProperty(value = "鏈夋晥杩愯鏃堕棿")
+    private Integer effectiveRunLong;
+    /**
+     * 鎬ц兘寮�鍔ㄧ巼
+     */
+    @Excel(name = "鎬ц兘寮�鍔ㄧ巼", width = 15)
+    @ApiModelProperty(value = "鎬ц兘寮�鍔ㄧ巼")
+    private BigDecimal performanceRate;
+    /**
+     * 鍔犲伐闆朵欢鏁伴噺
+     */
+    @Excel(name = "鍔犲伐闆朵欢鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鍔犲伐闆朵欢鏁伴噺")
+    private Integer processCount;
+    /**
+     * 鍚堟牸闆朵欢鏁伴噺
+     */
+    @Excel(name = "鍚堟牸闆朵欢鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鍚堟牸闆朵欢鏁伴噺")
+    private Integer passCount;
+    /**
+     * 鍚堟牸鐜�
+     */
+    @Excel(name = "鍚堟牸鐜�", width = 15)
+    @ApiModelProperty(value = "鍚堟牸鐜�")
+    private BigDecimal passRate;
+    /**
+     * OEE
+     */
+    @Excel(name = "OEE", width = 15)
+    @ApiModelProperty(value = "OEE")
+    private BigDecimal oee;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java
deleted file mode 100644
index ea1fcea..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java
+++ /dev/null
@@ -1,184 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @author Lius
- * @date 2023/10/18 16:13
- */
-@Data
-@TableName("mdc_overall_equipment_efficiency")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_overall_equipment_efficiency瀵硅薄", description = "璁惧缁煎悎鏁堢巼OEE琛�")
-public class MdcOverallEquipmentEfficiency extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = 9185809666187247226L;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧缂栧彿", width = 15)
-    @ApiModelProperty(value = "璁惧缂栧彿")
-    private String equipmentId;
-    /**
-     * 璁惧鍚嶇О
-     */
-    @Excel(name = "璁惧鍚嶇О", width = 15)
-    @ApiModelProperty(value = "璁惧鍚嶇О")
-    private String equipmentName;
-    /**
-     * 璁惧鍨嬪彿
-     */
-    @Excel(name = "璁惧鍨嬪彿", width = 15)
-    @ApiModelProperty(value = "璁惧鍨嬪彿")
-    private String equipmentModel;
-    /**
-     * 鏈夋晥鏃ユ湡
-     */
-    @Excel(name = "鏈夋晥鏃ユ湡", width = 15)
-    @ApiModelProperty(value = "鏈夋晥鏃ユ湡")
-    private String validDate;
-    /**
-     * 鐝
-     */
-    @ApiModelProperty(value = "鐝")
-    private String shift;
-    /**
-     * 姣忕彮灏忔椂
-     */
-    @Excel(name = "姣忕彮灏忔椂", width = 15)
-    @ApiModelProperty(value = "姣忕彮灏忔椂")
-    private BigDecimal shiftTimeCount = BigDecimal.ZERO;
-    /**
-     * 鍔犵彮鏃堕棿
-     */
-    @Excel(name = "鍔犵彮鏃堕棿", width = 15)
-    @ApiModelProperty(value = "鍔犵彮鏃堕棿")
-    private BigDecimal overtime = BigDecimal.ZERO;
-    /**
-     * 瀹為檯鐝骇澶╂暟
-     */
-    @Excel(name = "瀹為檯鐝骇澶╂暟", width = 15)
-    @ApiModelProperty(value = "瀹為檯鐝骇澶╂暟")
-    private BigDecimal actualWorkDayCount = BigDecimal.ZERO;
-    /**
-     * 鏈堝害瀹為檯鐝骇鎬绘椂闂�
-     */
-    @Excel(name = "鏈堝害瀹為檯鐝骇鎬绘椂闂�", width = 15)
-    @ApiModelProperty(value = "鏈堝害瀹為檯鐝骇鎬绘椂闂�")
-    private BigDecimal monthActualWorkDayTimeCount = BigDecimal.ZERO;
-    /**
-     * 鏁呴殰鍋滄満鏃堕暱(鍒嗛挓)
-     */
-    @Excel(name = "鏁呴殰鍋滄満鏃堕暱", width = 15)
-    @ApiModelProperty(value = "鏁呴殰鍋滄満鏃堕暱(鍒嗛挓)")
-    private BigDecimal breakdownDownDuration = BigDecimal.ZERO;
-    /**
-     * 鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)
-     */
-    @Excel(name = "鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)")
-    private BigDecimal conversionDebugDuration = BigDecimal.ZERO;
-    /**
-     * 鐗╂枡鐭己鏃堕暱(鍒嗛挓)
-     */
-    @Excel(name = "鐗╂枡鐭己鏃堕暱(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "鐗╂枡鐭己鏃堕暱(鍒嗛挓)")
-    private BigDecimal materialShortageDuration = BigDecimal.ZERO;
-    /**
-     * 璁″垝绛変换鍔�(鍒嗛挓)
-     */
-    @Excel(name = "璁″垝绛変换鍔�(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "璁″垝绛変换鍔�(鍒嗛挓)")
-    private BigDecimal plannedTaskDuration = BigDecimal.ZERO;
-    /**
-     * 妫�楠�(鍒嗛挓)
-     */
-    @Excel(name = "妫�楠�(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "妫�楠�(鍒嗛挓)")
-    private BigDecimal inspectDuration = BigDecimal.ZERO;
-    /**
-     * 鍏朵粬(鍒嗛挓)
-     */
-    @Excel(name = "鍏朵粬(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "鍏朵粬(鍒嗛挓)")
-    private BigDecimal otherDuration = BigDecimal.ZERO;
-    /**
-     * 璁″垝淇濆吇
-     */
-    @Excel(name = "璁″垝淇濆吇", width = 15)
-    @ApiModelProperty(value = "璁″垝淇濆吇")
-    private BigDecimal plannedMaintenanceDuration = BigDecimal.ZERO;
-    /**
-     * 浼氳鍩硅鏃堕暱
-     */
-    @Excel(name = "浼氳鍩硅鏃堕暱", width = 15)
-    @ApiModelProperty(value = "浼氳鍩硅鏃堕暱")
-    private BigDecimal conferenceTrainingDuration = BigDecimal.ZERO;
-    /**
-     * 鍏朵粬浼戞伅鏃堕暱
-     */
-    @Excel(name = "鍏朵粬浼戞伅鏃堕暱", width = 15)
-    @ApiModelProperty(value = "鍏朵粬浼戞伅鏃堕暱")
-    private BigDecimal otherRestDuration = BigDecimal.ZERO;
-    /**
-     * 璐熻嵎鏃堕棿
-     */
-    @Excel(name = "璐熻嵎鏃堕棿", width = 15)
-    @ApiModelProperty(value = "璐熻嵎鏃堕棿")
-    private BigDecimal loadTime = BigDecimal.ZERO;
-    /**
-     * 鏃堕棿寮�鍔ㄧ巼
-     */
-    @Excel(name = "鏃堕棿寮�鍔ㄧ巼", width = 15)
-    @ApiModelProperty(value = "鏃堕棿寮�鍔ㄧ巼")
-    private BigDecimal timeActuationRate = BigDecimal.ZERO;
-    /**
-     * 鍔犲伐闆朵欢鏁�
-     */
-    @Excel(name = "鍔犲伐闆朵欢鏁�", width = 15)
-    @ApiModelProperty(value = "鍔犲伐闆朵欢鏁�")
-    private BigDecimal processQuantity = BigDecimal.ZERO;
-    /**
-     * 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
-     */
-    @Excel(name = "鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)", width = 15)
-    @ApiModelProperty(value = "鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)")
-    private BigDecimal standardProcessDuration = BigDecimal.ZERO;
-    /**
-     * 鎬ц兘寮�鍔ㄧ巼
-     */
-    @Excel(name = "鎬ц兘寮�鍔ㄧ巼", width = 15)
-    @ApiModelProperty(value = "鎬ц兘寮�鍔ㄧ巼")
-    private BigDecimal performanceRate = BigDecimal.ZERO;
-    /**
-     * 搴熷搧鏁�
-     */
-    @Excel(name = "搴熷搧鏁�", width = 15)
-    @ApiModelProperty(value = "搴熷搧鏁�")
-    private BigDecimal unqualifiedQuantity = BigDecimal.ZERO;
-    /**
-     * 鍚堟牸鐜�
-     */
-    @Excel(name = "鍚堟牸鐜�", width = 15)
-    @ApiModelProperty(value = "鍚堟牸鐜�")
-    private BigDecimal passRate = BigDecimal.ONE;
-    /**
-     * 璁惧缁煎悎鏁堢巼
-     */
-    @Excel(name = "璁惧缁煎悎鏁堢巼", width = 15)
-    @ApiModelProperty(value = "璁惧缁煎悎鏁堢巼")
-    private BigDecimal overallEquipmentEfficiency = BigDecimal.ONE;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java
deleted file mode 100644
index e81850d..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverrunAlarm.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-
-import java.io.Serializable;
-
-/**
- * @Description: mdc瓒呴檺鎶ヨ
- * @Author: Lius
- * @Date: 2024-03-01
- * @Version: V1.0
- */
-@Data
-@TableName("mdc_overrun_alarm")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_overrun_alarm瀵硅薄", description = "mdc瓒呴檺鎶ヨ")
-public class MdcOverrunAlarm extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = 3633764093859258849L;
-
-    /**
-     * 璁惧缂栫爜
-     */
-    @Excel(name = "璁惧缂栫爜", width = 15)
-    @ApiModelProperty(value = "璁惧缂栫爜")
-    private String equipmentId;
-    /**
-     * 璁惧畾鑼冨洿
-     */
-    @Excel(name = "璁惧畾鑼冨洿", width = 15)
-    @ApiModelProperty(value = "璁惧畾鑼冨洿")
-    private String setValue;
-    /**
-     * 瀹為檯鍊�
-     */
-    @Excel(name = "瀹為檯鍊�", width = 15)
-    @ApiModelProperty(value = "瀹為檯鍊�")
-    private String realValue;
-    /**
-     * 鎶ヨ鍐呭
-     */
-    @Excel(name = "鎶ヨ鍐呭", width = 15)
-    @ApiModelProperty(value = "鎶ヨ鍐呭")
-    private String alarmContent;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcPartProcessInfo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcPartProcessInfo.java
new file mode 100644
index 0000000..b4792d7
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcPartProcessInfo.java
@@ -0,0 +1,71 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 闆朵欢鍔犲伐鏁版嵁琛�
+ * @Author: lius
+ * @Date: 2024-12-11
+ */
+@Data
+@TableName("mdc_part_process_info")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_part_process_info瀵硅薄", description = "闆朵欢鍔犲伐鏁版嵁琛�")
+public class MdcPartProcessInfo extends JeecgEntity implements Serializable {
+
+    private static final long serialVersionUID = -5287766951707976335L;
+
+    /**
+     * 鏃ユ湡
+     */
+    @Excel(name = "鏃ユ湡", width = 15)
+    @ApiModelProperty(value = "鏃ユ湡")
+    private String theDate;
+    /**
+     * 璁惧缂栧彿
+     */
+    @Excel(name = "璁惧缂栧彿", width = 20)
+    @ApiModelProperty(value = "璁惧缂栧彿")
+    private String equipmentId;
+    /**
+     * 闆朵欢鍙�
+     */
+    @Excel(name = "闆朵欢鍙�", width = 20)
+    @ApiModelProperty(value = "闆朵欢鍙�")
+    private String partId;
+    /**
+     * 鏍囧噯鍔犲伐鏃堕暱锛坢in锛�
+     */
+    @Excel(name = "鏍囧噯鍔犲伐鏃堕暱锛坢in锛�", width = 20)
+    @ApiModelProperty(value = "鏍囧噯鍔犲伐鏃堕暱锛坢in锛�")
+    private Integer standardProcessLong;
+    /**
+     * 鍔犲伐闆朵欢鏁伴噺
+     */
+    @Excel(name = "鍔犲伐闆朵欢鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鍔犲伐闆朵欢鏁伴噺")
+    private Integer processCount;
+    /**
+     * 鍚堟牸闆朵欢鏁伴噺
+     */
+    @Excel(name = "鍚堟牸闆朵欢鏁伴噺", width = 15)
+    @ApiModelProperty(value = "鍚堟牸闆朵欢鏁伴噺")
+    private Integer passCount;
+    /**
+     * 鍔犲伐鎬绘椂闀�(min)
+     */
+    @Excel(name = "鍔犲伐鎬绘椂闀�(min)", width = 18)
+    @ApiModelProperty(value = "鍔犲伐鎬绘椂闀�(min)")
+    private Integer totalProcessLong;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcProcessCount.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcProcessCount.java
deleted file mode 100644
index be5c923..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcProcessCount.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-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.system.base.entity.JeecgEntity;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-
-/**
- * @author Lius
- * @date 2023/11/27 10:57
- */
-@Data
-@TableName("mdc_process_count")
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@ApiModel(value = "mdc_process_count瀵硅薄", description = "璁惧鍔犲伐宸ヤ欢涓暟琛�")
-public class MdcProcessCount extends JeecgEntity implements Serializable {
-
-    private static final long serialVersionUID = 370474448269945391L;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧缂栧彿", width = 15)
-    @ApiModelProperty(value = "璁惧缂栧彿")
-    private String equipmentId;
-
-    /**
-     * 璁惧鍚嶇О
-     */
-    @Excel(name = "璁惧鍚嶇О", width = 20)
-    @ApiModelProperty(value = "璁惧鍚嶇О")
-    private String equipmentName;
-
-    /**
-     * 鏃ユ湡
-     */
-    @Excel(name = "鏃ユ湡", width = 20, format = "yyyy-MM-dd")
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "鏃ユ湡")
-    private String theDate;
-
-    /**
-     * 鏃堕暱
-     */
-    @Excel(name = "鏃堕暱", width = 20)
-    @ApiModelProperty(value = "鏃堕暱")
-    private Long duration;
-
-    /**
-     * 绋嬪簭鍙�
-     */
-    @Excel(name = "绋嬪簭鍙�", width = 20)
-    @ApiModelProperty(value = "绋嬪簭鍙�")
-    private String sequenceNumber;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
deleted file mode 100644
index 873c326..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-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.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 鎵煩閰嶇疆绠$悊
- * @Author: ym
- * @Date: 2023-06-29
- */
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@TableName("mdc_torque_config")
-@ApiModel(value = "mdc_torque_config瀵硅薄", description = "鎵煩閰嶇疆绠$悊")
-public class MdcTorqueConfig implements Serializable {
-
-    private static final long serialVersionUID = -8646261637017242975L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(type = IdType.ASSIGN_ID)
-    @ApiModelProperty("涓婚敭")
-    private String id;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧缂栧彿", width = 15)
-    @ApiModelProperty("璁惧缂栧彿")
-    private String equipmentId;
-
-    /**
-     * 璁惧鍚嶇О
-     */
-    @Excel(name = "璁惧鍚嶇О", width = 25)
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String equipmentName;
-
-    /**
-     * 鏃堕棿
-     */
-    @Excel(name = "鏃堕棿", width = 30, format = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "鏃堕棿")
-    private Date torqueDate;
-
-    /**
-     * 鎵煩鍊�
-     */
-    @Excel(name = "鎵煩鍊�", width = 15)
-    @ApiModelProperty("鎵煩鍊�")
-    private float torqueValue;
-
-    /**
-     * 杩涚粰鍙傛暟
-     */
-    @Excel(name = "杩涚粰鍙傛暟", width = 15)
-    @ApiModelProperty("杩涚粰鍙傛暟")
-    private String feedParameter;
-
-    /**
-     * 澶囨敞
-     */
-    @Excel(name = "澶囨敞", width = 30)
-    @ApiModelProperty("澶囨敞")
-    private String notes;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    private Date createTime;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    @Excel(name = "鍒涘缓浜�", width = 15)
-    @ApiModelProperty("鍒涘缓浜�")
-    private String createBy;
-
-    /**
-     * 鏇存柊鏃堕棿
-     */
-    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty("鏇存柊鏃堕棿")
-    private Date updateTime;
-
-    /**
-     * 鏇存柊浜�
-     */
-    @Excel(name = "鏇存柊浜�", width = 15)
-    @ApiModelProperty("鏇存柊浜�")
-    private String updateBy;
-
-    @TableField(exist = false)
-    private String equipmentIds;
-
-    @TableField(exist = false)
-    private String startTime;
-
-    @TableField(exist = false)
-    private String endTime;
-
-    /**
-     * 鍓嶅彴浼犲叆锛屽垽鏂瘡涓猧d
-     */
-    @TableField(exist = false)
-    private String parentId;
-
-    /**
-     * 鍓嶅彴浼犲叆 杞﹂棿灞傜骇锛�1锛岄儴闂ㄥ眰绾э細2
-     */
-    @TableField(exist = false)
-    private String typeTree;
-
-    /**
-     * 閮ㄩ棬parentId 鍏宠仈瀛愰泦id
-     */
-    @TableField(exist = false)
-    private List<String> mdcSectionIds;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcVacationManagement.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcVacationManagement.java
deleted file mode 100644
index ed5552e..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcVacationManagement.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.jeecg.modules.mdc.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-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.jeecgframework.poi.excel.annotation.Excel;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 鍋囨湡绠$悊
- * @Author: ym
- * @Date: 2023-07-04
- */
-@Data
-@Accessors(chain = true)
-@EqualsAndHashCode(callSuper = false)
-@TableName("mdc_vacation_management")
-@ApiModel(value = "mdc_vacation_management瀵硅薄",description = "鍋囨湡绠$悊")
-public class MdcVacationManagement implements Serializable {
-    private static final long serialVersionUID=1L;
-
-    /**
-     * 涓婚敭
-     */
-    @TableId(type = IdType.ASSIGN_ID)
-    @ApiModelProperty("涓婚敭")
-    private String id;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧缂栧彿",width = 15)
-    @ApiModelProperty("璁惧缂栧彿")
-    private String equipmentId;
-
-    /**
-     * 璁惧缂栧彿
-     */
-    @Excel(name = "璁惧鍚嶇О",width = 15)
-    @ApiModelProperty("璁惧鍚嶇О")
-    private String equipmentName;
-
-    /**
-     * 鏃ユ湡
-     */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @ApiModelProperty(value = "鏃ユ湡")
-    private Date vacationDate;
-
-    /**
-     * 绫诲瀷
-     */
-    @Excel(name = "绫诲瀷",width = 15)
-    @ApiModelProperty("绫诲瀷")
-    @Dict(dicCode = "vacation_type")
-    private String vacationType;
-
-    /**
-     * 澶囨敞
-     */
-    @Excel(name = "澶囨敞",width = 15)
-    @ApiModelProperty("澶囨敞")
-    private String notes;
-
-    /**
-     * 鍒涘缓鏃堕棿
-     */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty("鍒涘缓鏃堕棿")
-    private Date createTime;
-
-    /**
-     * 鍒涘缓浜�
-     */
-    @Excel(name = "鍒涘缓浜�",width = 15)
-    @ApiModelProperty("鍒涘缓浜�")
-    private String createBy;
-
-    /**
-     * 鏇存柊鏃堕棿
-     */
-    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @ApiModelProperty("鏇存柊鏃堕棿")
-    private Date updateTime;
-
-    /**
-     * 鏇存柊浜�
-     */
-    @Excel(name = "鏇存柊浜�",width = 15)
-    @ApiModelProperty("鏇存柊浜�")
-    private String updateBy;
-
-    @TableField(exist = false)
-    private String equipmentIds;
-
-    /**
-     * 寮�濮嬫椂闂�
-     */
-    @TableField(exist = false)
-    private String startTime;
-
-    /**
-     * 缁撴潫鏃堕棿
-     */
-    @TableField(exist = false)
-    private String endTime;
-
-    /**
-     * 鍓嶅彴浼犲叆锛屽垽鏂瘡涓猧d
-     */
-    @TableField(exist = false)
-    private String parentId;
-
-    /**
-     * 鍓嶅彴浼犲叆 杞﹂棿灞傜骇锛�1锛岄儴闂ㄥ眰绾э細2
-     */
-    @TableField(exist = false)
-    private String typeTree;
-
-    /**
-     * 閮ㄩ棬parentId,鍏宠仈瀛愰泦id
-     */
-    @TableField(exist = false)
-    private List<String> mdcSectionIds;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/GenerateWeekDaysJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/GenerateWeekDaysJob.java
deleted file mode 100644
index b186708..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/GenerateWeekDaysJob.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-
-/**
- * 鐢熸垚鍙屼紤鏃ュ畾鏃朵换鍔�
- *
- * @author: LiuS
- * @create: 2023-07-11 15:17
- */
-@Slf4j
-public class GenerateWeekDaysJob implements Job {
-
-    @Resource
-    private IMdcVacationManagementService mdcVacationManagementService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        log.info("瀹氭椂鐢熸垚鍙屼紤鏃ヤ换鍔� GenerateWeekDaysJob start!  鏃堕棿:" + DateUtils.now());
-        long startTime = System.currentTimeMillis();
-        try {
-            mdcVacationManagementService.generateWeekDays();
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("瀹氭椂鐢熸垚鍙屼紤鏃ヤ换鍔�", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunMonitoringSpeedJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunMonitoringSpeedJob.java
deleted file mode 100644
index ae0c2d4..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunMonitoringSpeedJob.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.quartz.*;
-
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author Lius
- * @Description: 鐩戞帶璁惧杩愯鍙傛暟浠诲姟
- * @date 2024/1/16 17:36
- */
-@PersistJobDataAfterExecution
-@DisallowConcurrentExecution
-@Slf4j
-public class RunMonitoringSpeedJob implements Job {
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        log.info("鐩戞帶璁惧杩愯鍙傛暟浠诲姟 RunMonitoringSpeedJob start!  鏃堕棿:" + DateUtils.now());
-        long startTime = System.currentTimeMillis();
-        try {
-            mdcEquipmentService.monitoringSpeedProcess();
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("鐩戞帶璁惧杩愯鍙傛暟浠诲姟锛�", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
deleted file mode 100644
index 793eb81..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
+++ /dev/null
@@ -1,223 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.api.dto.message.MessageDTO;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.api.ISysBaseAPI;
-import org.jeecg.common.system.vo.DictModel;
-import org.jeecg.modules.mdc.constant.MdcConstant;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcMessageApproval;
-import org.jeecg.modules.mdc.service.IMdcEquipmentRunningSectionService;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.service.IMdcMessageApprovalService;
-import org.jeecg.modules.mdc.service.MdcEfficiencyReportService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.entity.SysAnnouncement;
-import org.jeecg.modules.system.entity.SysUser;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.jeecg.modules.system.service.ISysDictService;
-import org.jeecg.modules.system.service.ISysUserService;
-import org.quartz.*;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDate;
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * @author Lius
- * @Description: 鍒╃敤鐜囨甯稿�硷紝璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ
- * @date 2024/1/17 14:10
- */
-@PersistJobDataAfterExecution
-@DisallowConcurrentExecution
-@Slf4j
-public class RunningEquipmentStatusJob implements Job {
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private ISysDictService sysDictService;
-
-    @Resource
-    private MdcEfficiencyReportService mdcEfficiencyReportService;
-
-    @Resource
-    private ISysBaseAPI sysBaseApi;
-
-    @Resource
-    private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService;
-
-    @Resource
-    private IMdcMessageApprovalService mdcMessageApprovalService;
-
-    @Resource
-    private ISysUserService sysUserService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        log.info("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ浠诲姟 RunningEquipmentStatusJob start!  鏃堕棿:" + DateUtils.getNow());
-        long startTime = System.currentTimeMillis();
-        try {
-            List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<>());
-//            List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "3140045"));
-            // 鑾峰彇鍒╃敤鐜囧垽瀹氬ぉ鏁�
-            List<DictModel> dictModelList1 = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_EQUIPMENT_RATE_JUDGE);
-            Integer equipmentRateJudge = 5;
-            if (dictModelList1 != null && !dictModelList1.isEmpty()) {
-                equipmentRateJudge = Integer.valueOf(dictModelList1.get(0).getValue());
-            }
-            // 鑾峰彇鍒╃敤鐜囨甯稿��
-            List<DictModel> dictModelList2 = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_EQUIPMENT_RATE_NORMAL);
-            Integer equipmentRateNormal = 20;
-            if (dictModelList2 != null && !dictModelList2.isEmpty()) {
-                equipmentRateNormal = Integer.valueOf(dictModelList2.get(0).getValue());
-            }
-            // 鑾峰彇璁惧鐘舵�佸ぉ鏁�
-            List<DictModel> dictModelList3 = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_EQUIPMENT_SPEED_JUDGE);
-            Integer equipmentStatusJudge = 5;
-            if (dictModelList3 != null && !dictModelList3.isEmpty()) {
-                equipmentStatusJudge = Integer.valueOf(dictModelList3.get(0).getValue());
-            }
-            for (MdcEquipment mdcEquipment : equipmentList) {
-                // 鍒ゆ柇鍒╃敤鐜�
-                // step.1 鏌ヨ娑堟伅涓璁惧鎶ヨ鏃堕棿
-                SysAnnouncement sysAnnouncement = sysAnnouncementService.findLastMessage("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊兼姤璀︼紒");
-                boolean flag1 = true;
-                if (sysAnnouncement != null) {
-                    Date createTime = sysAnnouncement.getCreateTime();
-                    Date msgDate = DateUtils.toDate(DateUtils.format(createTime, DateUtils.STR_DATE), DateUtils.STR_DATE);
-                    Date now = DateUtils.toDate(LocalDate.now().toString(), DateUtils.STR_DATE);
-                    Integer days = DateUtils.getDays(msgDate, now);
-                    if (days < equipmentRateJudge) {
-                        flag1 = false;
-                    }
-                }
-                if (flag1) {
-                    String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-equipmentRateJudge).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-                    List<BigDecimal> efficiencyRateList = mdcEfficiencyReportService.getEfficiencyRate(mdcEquipment.getEquipmentId(), date);
-                    if (efficiencyRateList != null && !efficiencyRateList.isEmpty()) {
-                        boolean flag = true;
-                        for (BigDecimal processLong : efficiencyRateList) {
-                            BigDecimal efficiencyRate = processLong.divide(new BigDecimal("86400"), 4, RoundingMode.HALF_UP);
-                            if (efficiencyRate.compareTo(new BigDecimal(equipmentRateNormal)) > -1) {
-                                flag = false;
-                            }
-                        }
-                        if (flag) {
-                            // 涓婃姤
-                            MessageDTO messageDTO = new MessageDTO();
-                            messageDTO.setTitle("璁惧鍒╃敤鐜囨姤璀︼紒");
-                            messageDTO.setCategory("棰勮娑堟伅");
-                            messageDTO.setFromUser("admin");
-                            messageDTO.setToUser("admin");
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囧埄鐢ㄧ巼浣庝簬姝e父鍊兼姤璀︼紒");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                        }
-                    }
-                }
-
-                // 鍒ゆ柇璁惧鐘舵�侀暱鏃堕棿鏃犲彉鍖栧鎵逛汉
-                SysAnnouncement sysAnnouncement1 = sysAnnouncementService.findLastMessage("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                if (sysAnnouncement1 != null) {
-                    Date createTime = sysAnnouncement1.getCreateTime();
-                    Date msgDate = DateUtils.toDate(DateUtils.format(createTime, DateUtils.STR_DATE), DateUtils.STR_DATE);
-                    Date now = DateUtils.toDate(LocalDate.now().toString(), DateUtils.STR_DATE);
-                    Integer days = DateUtils.getDays(msgDate, now);
-                    if (days < equipmentStatusJudge) {
-                        continue;
-                    }
-                }
-                Date date1 = DateUtils.toDate(LocalDate.now().plusDays(-equipmentStatusJudge).toString(), DateUtils.STR_DATE);
-                List<Integer> sectionList = mdcEquipmentRunningSectionService.getDataList(mdcEquipment.getEquipmentId(), date1);
-                if (sectionList != null && !sectionList.isEmpty() && sectionList.size() > 1) {
-                    boolean flag = true;
-                    Integer integer = sectionList.get(0);
-                    for (Integer integer1 : sectionList) {
-                        if (!integer.equals(integer1)) {
-                            flag = false;
-                        }
-                    }
-                    if (flag) {
-                        // 涓婃姤
-                        // 鏌ヨ璁惧绠$悊鍛�
-                        List<SysUser> adminList = sysUserService.getEquipmentAdmin(MdcConstant.MDC_EQUIPMENT_MANAGER, mdcEquipment.getEquipmentId());
-                        // 鏌ヨ璁惧瓒呯骇绠$悊鍛�
-                        List<SysUser> superList = sysUserService.getEquipmentAdmin(MdcConstant.MDC_EQUIPMENT_SUPER_MANAGER, mdcEquipment.getEquipmentId());
-                        if (adminList != null && !adminList.isEmpty()) {
-                            for (SysUser sysUser : adminList) {
-                                MessageDTO messageDTO = new MessageDTO();
-                                messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                                messageDTO.setCategory("棰勮娑堟伅");
-                                messageDTO.setFromUser("admin");
-                                messageDTO.setToUser(sysUser.getUsername());
-                                messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                                sysBaseApi.sendSysAnnouncement(messageDTO);
-                            }
-                        } else {
-                            MessageDTO messageDTO = new MessageDTO();
-                            messageDTO.setTitle("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                            messageDTO.setCategory("棰勮娑堟伅");
-                            messageDTO.setFromUser("admin");
-                            messageDTO.setToUser("admin");
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                        }
-
-                        if (adminList != null && !adminList.isEmpty() && superList != null && !superList.isEmpty()) {
-                            MdcMessageApproval mdcMessageApproval = new MdcMessageApproval();
-                            mdcMessageApproval.setEquipmentId(mdcEquipment.getEquipmentId());
-                            mdcMessageApproval.setTitile("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                            mdcMessageApproval.setMsgContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏈熸棤鍙樺寲鎶ヨ锛�");
-                            List<String> senderIdList = adminList.stream().map(SysUser::getId).collect(Collectors.toList());
-                            mdcMessageApproval.setSenderIds(String.join(",", senderIdList));
-                            List<String> senderNameList = adminList.stream().map(SysUser::getRealname).collect(Collectors.toList());
-                            mdcMessageApproval.setSenderNames(String.join(",", senderNameList));
-                            List<String> superIdList = superList.stream().map(SysUser::getId).collect(Collectors.toList());
-                            mdcMessageApproval.setApproverIds(String.join(",", superIdList));
-                            List<String> superNameList = superList.stream().map(SysUser::getRealname).collect(Collectors.toList());
-                            mdcMessageApproval.setApproverNames(String.join(",", superNameList));
-                            mdcMessageApproval.setMsgStatus(MdcConstant.MSG_STATUS_0);
-                            mdcMessageApprovalService.save(mdcMessageApproval);
-                        }
-                    }
-                }
-            }
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("璁惧鐘舵�侀暱鏈熸棤鍙樺寲鎶ヨ浠诲姟", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
deleted file mode 100644
index dee9373..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
+++ /dev/null
@@ -1,151 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.api.dto.message.MessageDTO;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.api.ISysBaseAPI;
-import org.jeecg.common.system.vo.DictModel;
-import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverrunAlarm;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.service.IMdcOverrunAlarmService;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.jeecg.modules.system.service.ISysDictService;
-import org.quartz.*;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author Lius
- * @Description: 鐩戞帶璁惧杩愯杞�熶笌NC绋嬪簭璁惧畾杞�熷姣�
- * @date 2024/3/4 16:14
- */
-@PersistJobDataAfterExecution
-@DisallowConcurrentExecution
-@Slf4j
-public class RunningMonitoringSpeedJob implements Job {
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private ISysDictService sysDictService;
-
-    @Resource
-    private ISysBaseAPI sysBaseApi;
-
-    @Resource
-    private IMdcOverrunAlarmService mdcOverrunAlarmService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        log.info("鐩戞帶璁惧杩愯杞�熶笌NC绋嬪簭璁惧畾杞�熷姣� RunningMonitoringSpeedJob start!  鏃堕棿:" + DateUtils.now());
-        long startTime = System.currentTimeMillis();
-        try {
-            List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().ne(MdcEquipment::getDriveType, "ZUOLAN"));
-
-            // 鑾峰彇瀛楀吀鏁版嵁
-            List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_OPERATING_SPEED_RANGE);
-            BigDecimal range = BigDecimal.ZERO;
-            if (dictModelList != null && !dictModelList.isEmpty()) {
-                range = new BigDecimal(dictModelList.get(0).getValue());
-            }
-
-            for (MdcEquipment mdcEquipment : mdcEquipmentList) {
-                String saveTableName = mdcEquipment.getSaveTableName();
-                MdcEquipmentDto mdcEquipmentDto = new MdcEquipmentDto();
-
-                //鏌ヨ鍗曡〃鏁版嵁
-                mdcEquipmentDto = mdcEquipmentService.getWorkLineLast(saveTableName);
-
-                if (mdcEquipmentDto != null && StringUtils.isNotBlank(mdcEquipmentDto.getSpindlespeed()) && StringUtils.isNotBlank(mdcEquipmentDto.getActualspindlespeed())) {
-                    MessageDTO messageDTO = new MessageDTO();
-                    messageDTO.setTitle("璁惧杩愯杞�熸姤璀︼紒");
-                    messageDTO.setCategory("棰勮娑堟伅");
-                    messageDTO.setFromUser("admin");
-                    messageDTO.setToUser("admin");
-                    //璁惧畾
-                    BigDecimal spindlespeed = new BigDecimal(mdcEquipmentDto.getSpindlespeed());
-                    //瀹為檯
-                    BigDecimal actualspindlespeed = new BigDecimal(mdcEquipmentDto.getActualspindlespeed());
-
-                    MdcOverrunAlarm mdcOverrunAlarm = new MdcOverrunAlarm();
-                    mdcOverrunAlarm.setEquipmentId(mdcEquipment.getEquipmentId());
-                    mdcOverrunAlarm.setSetValue(spindlespeed.toString());
-                    mdcOverrunAlarm.setRealValue(actualspindlespeed.toString());
-                    if (range.equals(BigDecimal.ZERO)) {
-                        if (spindlespeed.compareTo(actualspindlespeed) == 1) {
-                            // 璁惧畾鍊煎ぇ浜庡疄闄呭��   浣�
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                            mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊间綆鎶ヨ");
-                            mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                        } else if (spindlespeed.compareTo(actualspindlespeed) == -1) {
-                            // 璁惧畾鍊煎皬浜庡疄闄呭��   楂�
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                            mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊奸珮鎶ヨ");
-                            mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                        }
-                    } else {
-                        BigDecimal multiply = spindlespeed.multiply(range.divide(new BigDecimal(100), 4, RoundingMode.HALF_UP));
-                        BigDecimal max = spindlespeed.add(multiply);
-                        BigDecimal min = spindlespeed.subtract(multiply);
-                        if (actualspindlespeed.compareTo(max) == 1 || actualspindlespeed.compareTo(min) == -1) {
-                            if (spindlespeed.compareTo(actualspindlespeed) == 1) {
-                                // 璁惧畾鍊煎ぇ浜庡疄闄呭��   浣�
-                                messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熶綆鎶ヨ锛�");
-                                sysBaseApi.sendSysAnnouncement(messageDTO);
-                                mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊间綆鎶ヨ");
-                                mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                            } else if (spindlespeed.compareTo(actualspindlespeed) == -1) {
-                                // 璁惧畾鍊煎皬浜庡疄闄呭��   楂�
-                                messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶囪繍琛岃浆閫熼珮鎶ヨ锛�");
-                                sysBaseApi.sendSysAnnouncement(messageDTO);
-                                mdcOverrunAlarm.setAlarmContent("璁惧杩愯杞�熸瘮NC浠g爜璁惧畾鍊奸珮鎶ヨ");
-                                mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                            }
-                        }
-                    }
-                }
-            }
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("鐩戞帶璁惧杩愯杞�熶笌NC绋嬪簭璁惧畾杞�熷姣旓紒", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java
similarity index 67%
rename from lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java
rename to lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java
index 304cc7b..57c88ca 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOEEJob.java
@@ -1,9 +1,11 @@
 package org.jeecg.modules.mdc.job;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.mdc.service.IMdcOverallEquipmentEfficiencyService;
+import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
 import org.jeecg.modules.mdc.util.ThrowableUtil;
+import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
 import org.jeecg.modules.quartz.entity.QuartzJob;
 import org.jeecg.modules.quartz.entity.SysQuartzLog;
 import org.jeecg.modules.quartz.service.IQuartzJobService;
@@ -12,18 +14,19 @@
 import org.quartz.*;
 
 import javax.annotation.Resource;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 
 /**
- * @Description: 瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟
- * @author: LiuS
- * @create: 2023-07-24 10:26
+ * @Author: Lius
+ * @CreateTime: 2025-04-24
+ * @Description: OEE
  */
 @PersistJobDataAfterExecution
 @DisallowConcurrentExecution
 @Slf4j
-public class RunningOverallEquipmentEfficiencyJob implements Job {
+public class RunningOEEJob implements Job {
 
     /**
      * 鑻ュ弬鏁板彉閲忓悕淇敼 QuartzJobController涓篃闇�瀵瑰簲淇敼  鏃堕棿锛� yyyyMMdd 渚嬶細 20230414
@@ -44,7 +47,7 @@
     private ISysQuartzLogService sysQuartzLogService;
 
     @Resource
-    private IMdcOverallEquipmentEfficiencyService mdcOverallEquipmentEfficiencyService;
+    private IMdcOeeInfoService mdcOeeInfoService;
 
     @Override
     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@@ -55,20 +58,26 @@
             quartzLog.setJobId(byJobClassName.get(0).getId());
         }
         quartzLog.setParams(this.parameter);
-        log.info("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 RunningOverallEquipmentEfficiencyJob start!  鏃堕棿:" + DateUtils.now(), this.parameter);
+        log.info("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 RunningOEEJob start!  鏃堕棿:" + DateUtils.now(), this.parameter);
         long startTime = System.currentTimeMillis();
         try {
-            mdcOverallEquipmentEfficiencyService.runningOverallEquipmentEfficiency(this.parameter);
+            MdcOeeComputeVo mdcOeeComputeVo = new MdcOeeComputeVo();
+            String dateTime = LocalDate.now().plusDays(-1).toString();
+            if (StringUtils.isNotBlank(this.parameter)) {
+                dateTime = DateUtils.date2Str(DateUtils.str2Date(this.parameter, DateUtils.yyyyMMdd.get()), DateUtils.date_sdf.get());
+            }
+            mdcOeeComputeVo.setStartTime(dateTime);
+            mdcOeeComputeVo.setEndTime(dateTime);
+            mdcOeeInfoService.computeOee(mdcOeeComputeVo);
             quartzLog.setIsSuccess(0);
         } catch (Exception e) {
             quartzLog.setIsSuccess(-1);
             quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
             // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("瀹氭椂缁熻娈垫椂闂翠换鍔�", quartzLog.getExceptionDetail());
+            sysAnnouncementService.jobSendMessage("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟", quartzLog.getExceptionDetail());
         }
         long endTime = System.currentTimeMillis();
         quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
         sysQuartzLogService.save(quartzLog);
     }
-
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOvertimeDurationJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOvertimeDurationJob.java
deleted file mode 100644
index d8e71b2..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOvertimeDurationJob.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang.StringUtils;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
-import org.jeecg.modules.mdc.entity.MdcSystemParameters;
-import org.jeecg.modules.mdc.service.*;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.quartz.*;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author Lius
- * @Description: 璁惧鍔犵彮鏃堕暱绠楁硶缁熻
- * @date 2024/1/24 17:12
- */
-@PersistJobDataAfterExecution
-@DisallowConcurrentExecution
-@Slf4j
-public class RunningOvertimeDurationJob implements Job {
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private IMdcEquipmentOvertimeService mdcEquipmentOvertimeService;
-
-    /**
-     * 鑻ュ弬鏁板彉閲忓悕淇敼 QuartzJobController涓篃闇�瀵瑰簲淇敼  鏃堕棿锛� yyyyMMdd 渚嬶細 20230414
-     */
-    private String parameter;
-
-    public void setParameter(String parameter) {
-        this.parameter = parameter;
-    }
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Resource
-    private IMdcDeviceCalendarService mdcDeviceCalendarService;
-
-    @Resource
-    private IMdcSystemParametersService mdcSystemParametersService;
-
-    @Resource
-    private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        quartzLog.setParams(this.parameter);
-        log.info(String.format("瀹氭椂缁熻璁惧鍔犵彮鏃堕暱浠诲姟 param: %s RunningOvertimeDurationJob start!  鏃堕棿:" + DateUtils.getNow(), this.parameter));
-        long startTime = System.currentTimeMillis();
-        String date = "";
-        try {
-            if (StringUtils.isNotBlank(this.parameter)) {
-                date = DateUtils.format(DateUtils.toDate(this.parameter, DateUtils.STRDATE), DateUtils.STR_DATE);
-                Date initDate = DateUtils.toDate(this.parameter, DateUtils.STRDATE);
-                if (initDate != null) {
-                    mdcEquipmentOvertimeService.remove(new LambdaQueryWrapper<MdcEquipmentOvertime>().eq(MdcEquipmentOvertime::getTheDate, this.parameter).eq(MdcEquipmentOvertime::getAutoFlag, CommonConstant.AUTO_FLAG_Y));
-                }
-            } else {
-                date = DateUtils.format(DateUtils.getNow(), DateUtils.STR_DATE);
-            }
-            List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<>());
-            MdcSystemParameters mdcSystemParameters = mdcSystemParametersService.getOne(new LambdaQueryWrapper<MdcSystemParameters>().eq(MdcSystemParameters::getCode, "equip_log_statis_time"));
-            if (mdcSystemParameters == null) {
-                throw new JobExecutionException("mdc_system_parameters 琛ㄤ腑鏁版嵁缂哄け");
-            }
-            String value = mdcSystemParameters.getValue();
-            List<MdcEquipmentOvertime> result = new ArrayList<>();
-            for (MdcEquipment mdcEquipment : equipmentList) {
-                // 鑾峰彇璁惧宸ヤ綔鏃ュ巻
-                List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = mdcDeviceCalendarService.listByEquipmentIdAndDate(mdcEquipment.getEquipmentId(), DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
-                if (mdcDeviceCalendarVos != null && !mdcDeviceCalendarVos.isEmpty()) {
-                    //鑾峰彇鏈�鍚庝竴涓彮娆$粨鏉熸椂闂�
-                    Date startDate = this.getCalendarEndDate(mdcDeviceCalendarVos, date);
-                    Date endDate = DateUtils.plusTime(DateUtils.toDate(date + " " + value, DateUtils.STR_DATE_TIME_SMALL), 1);
-                    List<MdcEquipmentRunningSection> equipmentRunningSectionList = mdcEquipmentRunningSectionService.selectRunningData(mdcEquipment.getEquipmentId(), startDate, endDate);
-                    if (equipmentRunningSectionList != null && !equipmentRunningSectionList.isEmpty()) {
-                        // 鏃堕棿淇
-                        if (equipmentRunningSectionList.get(0).getStartTime().before(startDate)) {
-                            equipmentRunningSectionList.get(0).setStartTime(startDate);
-                        }
-                        if (equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).getEndTime().after(endDate)) {
-                            equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).setEndTime(endDate);
-                        }
-                        BigDecimal duration = BigDecimal.ZERO;
-                        for (MdcEquipmentRunningSection mdcEquipmentRunningSection : equipmentRunningSectionList) {
-                            duration = duration.add(new BigDecimal(DateUtils.differentSecond(mdcEquipmentRunningSection.getStartTime(), mdcEquipmentRunningSection.getEndTime())));
-                        }
-                        MdcEquipmentOvertime mdcEquipmentOvertime = new MdcEquipmentOvertime();
-                        mdcEquipmentOvertime.setEquipmentId(mdcEquipment.getEquipmentId());
-                        mdcEquipmentOvertime.setDuration(duration);
-                        mdcEquipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_Y);
-                        mdcEquipmentOvertime.setTheDate(DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
-                        result.add(mdcEquipmentOvertime);
-                    }
-
-                } else {
-                    // 娌℃湁鐝閰嶇疆锛岃绠楀叏澶╃殑璁惧鍔犲伐鐘舵��
-                    Date startDate = DateUtils.toDate(date + " " + value, DateUtils.STR_DATE_TIME_SMALL);
-                    Date endDate = DateUtils.plusTime(startDate, 1);    
-                    List<MdcEquipmentRunningSection> equipmentRunningSectionList = mdcEquipmentRunningSectionService.selectRunningData(mdcEquipment.getEquipmentId(), startDate, endDate);
-                    if (equipmentRunningSectionList != null && !equipmentRunningSectionList.isEmpty()) {
-                        // 鏃堕棿淇
-                        if (equipmentRunningSectionList.get(0).getStartTime().before(startDate)) {
-                            equipmentRunningSectionList.get(0).setStartTime(startDate);
-                        }
-                        if (equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).getEndTime().after(endDate)) {
-                            equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).setEndTime(endDate);
-                        }
-                        BigDecimal duration = BigDecimal.ZERO;
-                        for (MdcEquipmentRunningSection mdcEquipmentRunningSection : equipmentRunningSectionList) {
-                            duration = duration.add(new BigDecimal(DateUtils.differentSecond(mdcEquipmentRunningSection.getStartTime(), mdcEquipmentRunningSection.getEndTime())));
-                        }
-                        MdcEquipmentOvertime mdcEquipmentOvertime = new MdcEquipmentOvertime();
-                        mdcEquipmentOvertime.setEquipmentId(mdcEquipment.getEquipmentId());
-                        mdcEquipmentOvertime.setDuration(duration);
-                        mdcEquipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_Y);
-                        mdcEquipmentOvertime.setTheDate(DateUtils.format(DateUtils.toDate(date, DateUtils.STR_DATE),DateUtils.STRDATE));
-                        result.add(mdcEquipmentOvertime);
-                    }
-
-                }
-            }
-            if (!result.isEmpty()) {
-                mdcEquipmentOvertimeService.saveBatch(result);
-            }
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("瀹氭椂缁熻璁惧鍔犵彮鏃堕暱浠诲姟澶辫触", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-
-    private Date getCalendarEndDate(List<MdcDeviceCalendarVo> mdcDeviceCalendarVos, String date) {
-        date = DateUtils.format(DateUtils.toDate(date, DateUtils.STRDATE), DateUtils.STR_DATE);
-        String endDate = "";
-        for (MdcDeviceCalendarVo mdcDeviceCalendarVo : mdcDeviceCalendarVos) {
-            String shiftEndDate = "";
-            if ("true".equals(mdcDeviceCalendarVo.getIsDaySpan())) {
-                shiftEndDate = DateUtils.format(DateUtils.plusTime(DateUtils.toDate(date, DateUtils.STR_DATE), 1), DateUtils.STR_DATE) + " " + mdcDeviceCalendarVo.getEndDate();
-            } else {
-                shiftEndDate = date + " " + mdcDeviceCalendarVo.getEndDate();
-            }
-            if (StringUtils.isBlank(endDate)) {
-                endDate = shiftEndDate;
-            } else {
-                // endDate
-                Date date1 = DateUtils.toDate(endDate, DateUtils.STR_DATE_TIME_SMALL);
-                // shiftEndDate
-                Date date2 = DateUtils.toDate(shiftEndDate, DateUtils.STR_DATE_TIME_SMALL);
-                if (date2.after(date1)) {
-                    endDate = shiftEndDate;
-                }
-            }
-        }
-        return DateUtils.toDate(endDate, DateUtils.STR_DATE_TIME_SMALL);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningProcessCountJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningProcessCountJob.java
deleted file mode 100644
index 29e7186..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningProcessCountJob.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.jeecg.modules.mdc.job;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.util.DateUtils;
-import org.jeecg.modules.mdc.service.IProcessCountService;
-import org.jeecg.modules.mdc.util.ThrowableUtil;
-import org.jeecg.modules.quartz.entity.QuartzJob;
-import org.jeecg.modules.quartz.entity.SysQuartzLog;
-import org.jeecg.modules.quartz.service.IQuartzJobService;
-import org.jeecg.modules.quartz.service.ISysQuartzLogService;
-import org.jeecg.modules.system.service.ISysAnnouncementService;
-import org.quartz.*;
-
-import javax.annotation.Resource;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author Lius
- * @date 2023/11/22 10:17
- */
-@PersistJobDataAfterExecution
-@DisallowConcurrentExecution
-@Slf4j
-public class RunningProcessCountJob implements Job {
-
-    @Resource
-    private IQuartzJobService quartzJobService;
-
-    @Resource
-    private ISysQuartzLogService sysQuartzLogService;
-
-    @Resource
-    private ISysAnnouncementService sysAnnouncementService;
-
-    @Resource
-    private IProcessCountService processCountService;
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        SysQuartzLog quartzLog = new SysQuartzLog();
-        quartzLog.setCreateTime(new Date());
-        List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName());
-        if (byJobClassName != null && !byJobClassName.isEmpty()) {
-            quartzLog.setJobId(byJobClassName.get(0).getId());
-        }
-        log.info("璁$畻鍔犲伐宸ヤ欢涓暟鍜屾椂闂翠换鍔� RunningProcessCountJob start!  鏃堕棿:" + DateUtils.now());
-        long startTime = System.currentTimeMillis();
-        try {
-            processCountService.runningProcessCount();
-            quartzLog.setIsSuccess(0);
-        } catch (Exception e) {
-            quartzLog.setIsSuccess(-1);
-            quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
-            // 鍙戦�佹秷鎭�氱煡
-            sysAnnouncementService.jobSendMessage("璁$畻鍔犲伐宸ヤ欢涓暟鍜屾椂闂翠换鍔�", quartzLog.getExceptionDetail());
-        }
-        long endTime = System.currentTimeMillis();
-        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
-        sysQuartzLogService.save(quartzLog);
-    }
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java
index 69d4c80..6b0b32a 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentLogMapper.java
@@ -18,5 +18,4 @@
 
     EquipmentLog selectEquipmentOporation(@Param("equipmentId") String equipmentId);
 
-    List<EquipmentLog> getEquipmentStatusList(@Param("equipmentIdList") List<String> equipmentIdList);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
index 5cdf91e..1257bac 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
@@ -16,7 +16,7 @@
 
 public interface EquipmentMapper extends BaseMapper<Equipment> {
 
-    @Select(" SELECT name FROM SysObjects Where XType='U' AND name = '${saveTableName}' ")
+    @Select(" SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = '${saveTableName}' ")
     String checkTableExists(@Param("saveTableName") String saveTableName);
 
     @Select(" SELECT COUNT(CollectTime) num FROM ${saveTableName} WHERE CollectTime < '${day}' ")
@@ -28,6 +28,6 @@
     @Delete(" delete from ${tableName} where CollectTime < '${day}' ")
     void deleteTableData(@Param("tableName") String saveTableName, @Param("day") String day);
 
-    @Insert(" SELECT * INTO ${tableName} FROM ${lastTableName} WHERE CollectTime < '${date}' ")
+    @Insert("CREATE TABLE `{tableName}` AS SELECT * FROM `{lastTableName}` WHERE CollectTime < '${date}' ")
     void insertNoTableData(@Param("tableName") String tableName, @Param("lastTableName") String lastTableName, @Param("date") String date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentTemperatureMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentTemperatureMapper.java
index 5a3612b..df05820 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentTemperatureMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentTemperatureMapper.java
@@ -14,13 +14,4 @@
 @Mapper
 @Repository
 public interface EquipmentTemperatureMapper {
-
-    @Select("select top 1 X,Y,Z,A,B from EquipmentTemperature where EquipmentID= #{equipmentId} order by CollectTime desc")
-    List<Map<String, Object>> getEquipmentTemperature(String equipmentId);
-
-    @Select("select top 1 X,Y,Z,A,B from EquipmentLagError where EquipmentID=#{equipmentId} order by CollectTime desc")
-    List<Map<String, Object>> getEquipmentLagError(String equipmentId);
-
-    @Select("select top 1 X,Y,Z,A,B from EquipmentCurrent where EquipmentID=#{equipmentId} order by CollectTime desc")
-    List<Map<String, Object>> getEquipmentCurrent(String equipmentId);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java
index 1c766c3..e01da21 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentWorklineMapper.java
@@ -21,9 +21,6 @@
 public interface EquipmentWorklineMapper {
 
     @InterceptorIgnore(tenantLine = "1")
-    List<MdcEquipmentDto> getMacingDataList(@Param("tableName") String tableName);
-
-    @InterceptorIgnore(tenantLine = "1")
     @Select("select Sequencenumber,CollectTime from  [${tableName}] " +
             " where CollectTime > #{startTime} and CollectTime <= #{endTime} and Sequencenumber is not null" +
             "  order by CollectTime desc ")
@@ -39,16 +36,7 @@
     Integer isTableExist(@Param("tableName") String tableName);
 
     @InterceptorIgnore(tenantLine = "1")
-    List<String> findRunningData(@Param("tableName") String saveTableName, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
-
-    @InterceptorIgnore(tenantLine = "1")
     List<EquipmentMachingDto> getEquipProgramNum(@Param("tableName") String saveTableName, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
-
-    @InterceptorIgnore(tenantLine = "1")
-    MdcEquipmentDto findProductCountStartTime(@Param("tableName") String saveTableName, @Param("productCount") String productCount, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
-
-    @InterceptorIgnore(tenantLine = "1")
-    MdcEquipmentDto findProductCountEndTime(@Param("tableName") String saveTableName, @Param("productCount") String productCount, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 
     @InterceptorIgnore(tenantLine = "1")
     Map<String, Object> getDataList(@Param("tableName") String saveTableName);
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java
index ba443bd..e2aef42 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDeviceCalendarMapper.java
@@ -19,17 +19,7 @@
 
     IPage<MdcDeviceCalendarVo> pageList(IPage<MdcDeviceCalendarVo> pageData, @Param("deviceCalendar") MdcDeviceCalendarQueryVo mdcDeviceCalendarQueryVo);
 
-    List<MdcDeviceCalendarVo> listByEquipmentAndDate(@Param("equipmentId") String equipmentId, @Param("stringDate") String stringDate);
-
     List<MdcDeviceCalendarVo> findAcquiesceShift();
-
-    List<String> computeActualWorkDayCount(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-
-    List<String> findShiftSort(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-
-    Integer computeShiftTimeCount(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-
-    MdcDeviceCalendar getFirstData(@Param("equipmentId") String equipmentId);
 
     List<MdcDeviceCalendarVo> listByEquipmentAndDates(@Param("equipmentId") String equipmentId, @Param("stringDates") List<String> stringDates);
 
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java
new file mode 100644
index 0000000..5446655
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeMapper.java
@@ -0,0 +1,23 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+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.mdc.dto.MdcDowntimeDto;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
+
+import java.util.List;
+
+/**
+ * @Description: 寰呮満鍋滄満琛�
+ * @Author: lius
+ * @Date: 2025-03-12
+ */
+public interface MdcDowntimeMapper extends BaseMapper<MdcDowntime> {
+
+    IPage<MdcDowntimeDto> pageList(Page<MdcDowntimeDto> page, @Param("mdcDowntimeVo") MdcDowntimeVo mdcDowntimeVo);
+
+    List<MdcDowntime> findPlanTimeDuration(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate, @Param("closeType") String closeType);
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java
new file mode 100644
index 0000000..9bfefe7
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcDowntimeReasonMapper.java
@@ -0,0 +1,13 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
+
+/**
+ * @Description: 鍋滄満鍘熷洜琛�
+ * @Author: lius
+ * @Date:   2025-03-11
+ */
+public interface MdcDowntimeReasonMapper extends BaseMapper<MdcDowntimeReason> {
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java
index 8d71bfd..0ca9e11 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEfficiencyReportMapper.java
@@ -8,7 +8,6 @@
 import org.jeecg.modules.mdc.vo.MdcEfficiencyReportQueryVo;
 import org.jeecg.modules.mdc.vo.MdcEfficiencyReportShiftQueryVo;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -49,5 +48,4 @@
      */
     List<MdcComAnaDto> comparativeAnalysis(@Param("vo") ComparativeAnalysisQueryVo vo);
 
-    List<BigDecimal> getEfficiencyRate(@Param("equipmentId") String equipmentId, @Param("date") String date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
index 06246bc..cef56dd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
@@ -1,15 +1,12 @@
 package org.jeecg.modules.mdc.mapper;
 
-import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.mdc.dto.MdcEquDepDto;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDetailedDto;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.entity.MdcEquipment;
 import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
 import org.jeecg.modules.mdc.vo.MdcEquipmentDepVo;
@@ -18,7 +15,6 @@
 import org.jeecg.modules.mdc.vo.WorkshopEquipmentVo;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description: 璁惧琛�
@@ -99,24 +95,12 @@
      */
     IPage<MdcEquipment> pageList(Page<MdcEquipment> page, @Param("mdcEquipment") MdcEquipmentVo mdcEquipment);
 
-    @InterceptorIgnore(tenantLine = "1")
-    @Select("select TOP 1 CollectTime ${columns} from [${tableName}] order by CollectTime desc")
-    Map<String, Object> getWorkLineLast(Map<String, Object> param);
-
     /**
      * 瀵煎嚭list
      * @param mdcEquipment
      * @return
      */
     List<MdcEquipment> exportXlsList(@Param("mdcEquipment") MdcEquipmentVo mdcEquipment);
-
-    /**
-     * 鏌ヨ鍗曡〃鏁版嵁
-     * @param tableName
-     * @return
-     */
-    @InterceptorIgnore(tenantLine = "1")
-    MdcEquipmentDto findWorkLineLast(@Param("tableName") String tableName);
 
     /**
      * 鏍规嵁id鑾峰彇璁惧淇℃伅
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOverFlagMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOverFlagMapper.java
deleted file mode 100644
index 46123ae..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOverFlagMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOverFlag;
-
-/**
- * @Description: 璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�
- * @Author: Lius
- * @Date:   2023-12-05
- * @Version: V1.0
- */
-public interface MdcEquipmentOverFlagMapper extends BaseMapper<MdcEquipmentOverFlag> {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java
deleted file mode 100644
index ae71368..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentOvertimeMapper.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-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.mdc.entity.MdcEquipmentOvertime;
-
-import java.util.List;
-
-/**
- * @Description: 璁惧鍔犵彮绠$悊
- * @Author: Lius
- * @Date: 2023-08-25
- * @Version: V1.0
- */
-public interface MdcEquipmentOvertimeMapper extends BaseMapper<MdcEquipmentOvertime> {
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param page
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    IPage<MdcEquipmentOvertime> pageList(Page<MdcEquipmentOvertime> page, @Param("mdcEquipmentOvertime") MdcEquipmentOvertime mdcEquipmentOvertime);
-
-    /**
-     * list鍒楄〃
-     *
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    List<MdcEquipmentOvertime> list(@Param("mdcEquipmentOvertime") MdcEquipmentOvertime mdcEquipmentOvertime);
-
-    /**
-     * 鏌ヨ鍔犵彮鏃堕暱
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    List<MdcEquipmentOvertime> computeOvertime(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRepairMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRepairMapper.java
deleted file mode 100644
index 25a6e1f..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRepairMapper.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRepair;
-
-import java.util.Date;
-import java.util.List;
-
-
-/**
- * @Description: 璁惧缁翠慨浼戠彮
- * @Author: Sake
- * @Date: 2023-04-06 16:50
- */
-
-public interface MdcEquipmentRepairMapper extends BaseMapper<MdcEquipmentRepair> {
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param pageData
-     * @param repair
-     * @return
-     */
-    IPage<MdcEquipmentRepair> pageList(IPage<MdcEquipmentRepair> pageData, @Param("repair") MdcEquipmentRepair repair);
-
-    List<MdcEquipmentRepair> selectByIdAndTime(@Param("equipmentId") String equipmentid, @Param("startTime") Date startDate, @Param("endTime") Date endDate);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java
index 769629f..08be1a0 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentRunningSectionMapper.java
@@ -67,12 +67,6 @@
      */
     Integer findAlarmCountByDate(@Param("startDate") String startDate, @Param("endDate") String endDate, @Param("vo") MdcAlarmAnalyzeQueryVo vo);
 
-    /**
-     * 鏌ヨ鏃堕棿娈靛唴杩愯鏁版嵁
-     */
-    List<MdcEquipmentRunningSection> selectRunningData(@Param("equipmentId") String equipmentId, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
-
     List<MdcAlarmListDto> selectAlarmList(@Param("vo") MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, @Param("startDate") String startDate, @Param("endDate") String endDate);
 
-    List<Integer> getDataList(@Param("equipmentId") String equipmentId, @Param("date") Date date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java
index c542e18..3815783 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalInfoMapper.java
@@ -16,4 +16,13 @@
      * 鑾峰彇璁惧鏈�鏂版棩鏈熺殑杩愯鏁版嵁
      */
     MdcEquipmentStatisticalInfo getMaxStaticsData(@Param("equipmentId") String equipmentId);
+
+    /**
+     * 鏌ヨ璁惧杩愯鏃堕棿
+     *
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    Integer selectProcessLong(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalShiftInfoMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalShiftInfoMapper.java
index 2bdddbe..79d6b7f 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalShiftInfoMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentStatisticalShiftInfoMapper.java
@@ -20,5 +20,4 @@
      */
     MdcEquipmentStatisticalShiftInfo getMaxStaticsData(@Param("equipmentId") String equipmentid);
 
-    BigDecimal findSpindleRunDuration(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentThresholdMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentThresholdMapper.java
deleted file mode 100644
index 64fe360..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentThresholdMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.mdc.entity.MdcEquipmentThreshold;
-
-/**
- * @Description: 璁惧鍙傛暟闃堝�艰〃
- * @Author: Lius
- * @Date:   2023-11-08
- * @Version: V1.0
- */
-public interface MdcEquipmentThresholdMapper extends BaseMapper<MdcEquipmentThreshold> {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcFeedbackMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcFeedbackMapper.java
deleted file mode 100644
index d7560d6..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcFeedbackMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.entity.MdcFeedback;
-
-import java.util.List;
-
-/**
- * @Description: 闂鍙嶉
- * @Author: Lius
- * @Date:   2024-05-16
- * @Version: V1.0
- */
-public interface MdcFeedbackMapper extends BaseMapper<MdcFeedback> {
-
-    List<MdcFeedback> getFeedbackList(@Param("productionId") String key);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcHomeMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcHomeMapper.java
deleted file mode 100644
index 233a763..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcHomeMapper.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo;
-import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency;
-import org.jeecg.modules.system.entity.MdcProduction;
-import org.springframework.stereotype.Repository;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Lius
- * @date 2024/3/14 10:27
- */
-@Mapper
-@Repository
-public interface MdcHomeMapper {
-
-    /**
-     * 鏍规嵁鐢ㄦ埛id鍜屼笂绾т骇绾縤d鑾峰彇浜х嚎淇℃伅
-     *
-     * @param userId
-     * @param productionId
-     * @return
-     */
-    List<MdcProduction> getProductionByPid(@Param("userId") String userId, @Param("productionId") String productionId);
-
-    /**
-     * 鏍规嵁璁惧闆嗗悎鍜屾棩鏈熻幏鍙栧姞宸ユ椂闂�
-     *
-     * @param equipmentIdList
-     * @param date
-     * @return
-     */
-    BigDecimal getProcessCount(@Param("equipmentIdList") List<String> equipmentIdList, @Param("date") String date);
-
-    /**
-     * 鏍规嵁璁惧闆嗗悎鍜屾棩鏈熻幏鍙杘ee
-     *
-     * @param equipmentIdList
-     * @param date
-     * @return
-     */
-    BigDecimal getOeeByDate(@Param("equipmentIdList") List<String> equipmentIdList, @Param("date") String date);
-
-    /**
-     * 鏍规嵁璁惧id闆嗗悎鍜屾湀浠借幏鍙栧埄鐢ㄧ巼鏁版嵁
-     *
-     * @param equipmentIdList
-     * @param date
-     * @return
-     */
-    Map<String, Object> getUtilizationByMonth(@Param("equipmentIdList") List<String> equipmentIdList, @Param("date") String date);
-
-    /**
-     * 鏌ヨ鍓嶄竷澶╁埄鐢ㄧ巼
-     *
-     * @param equipmentIdList
-     * @param dateList
-     * @return
-     */
-    List<MdcEquipmentStatisticalInfo> getEquipmentDayUtilizationStatistics(@Param("equipmentIdList") List<String> equipmentIdList, @Param("dateList") List<String> dateList);
-
-    /**
-     * 鏌ヨOEE
-     *
-     * @param validDate
-     * @param equipmentIdList
-     * @return
-     */
-    List<MdcOverallEquipmentEfficiency> getEquipmentOEEMonthStatistics(@Param("validDate") String validDate, @Param("equipmentIdList") List<String> equipmentIdList);
-
-    /**
-     * 鑾峰彇鏄ㄥぉ鐨勫埄鐢ㄧ巼
-     *
-     * @param equipmentIdList
-     * @param date
-     * @return
-     */
-    MdcEquipmentStatisticalInfo getUtilizationByDay(@Param("equipmentIdList") List<String> equipmentIdList, @Param("date") String date);
-
-    /**
-     * 鏌ヨ鍓嶄竷澶╁埄鐢ㄧ巼
-     */
-    List<MdcEquipmentStatisticalInfo> getEquipmentSevenUtilizationStatistics(@Param("equipmentIdList") List<String> equipmentIdList, @Param("start") String start, @Param("end") String end);
-
-    List<MdcEquipment> getEquipmentList(@Param("productionId") String productionId);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java
deleted file mode 100644
index d5fae4d..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-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.mdc.entity.MdcMessageApproval;
-
-/**
- * @Description: mdc娑堟伅纭琛�
- * @Author: Lius
- * @Date:   2024-03-06
- * @Version: V1.0
- */
-public interface MdcMessageApprovalMapper extends BaseMapper<MdcMessageApproval> {
-
-    /**
-     * 鍒楄〃鏌ヨ
-     */
-    IPage<MdcMessageApproval> pageList(@Param("userId") String userId, Page<MdcMessageApproval> page, @Param("mdcMessageApproval") MdcMessageApproval mdcMessageApproval);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcNoplanCloseMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcNoplanCloseMapper.java
index 44be7ab..056c4a7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcNoplanCloseMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcNoplanCloseMapper.java
@@ -26,14 +26,4 @@
      */
     IPage<MdcNoplanClose> pageList(Page<MdcNoplanClose> page, @Param("mdcNoplanClose") MdcNoplanClose mdcNoplanClose);
 
-    /**
-     * 鏌ヨ闈炶鍒掑仠鏈虹鐞嗘崯澶�
-     *
-     * @param equipmentId
-     * @param noplanType
-     * @param startDate
-     * @param endDate
-     * @return
-     */
-    List<MdcNoplanClose> findNoplanTimeDuration(@Param("equipmentId") String equipmentId, @Param("noplanType") String noplanType, @Param("startDate") String startDate, @Param("endDate") String endDate);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java
new file mode 100644
index 0000000..cce3c27
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOeeInfoMapper.java
@@ -0,0 +1,29 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+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.mdc.entity.MdcOeeInfo;
+import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Description: OEE琛�
+ * @Author: lius
+ * @Date: 2024-12-12
+ */
+public interface MdcOeeInfoMapper extends BaseMapper<MdcOeeInfo> {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param page
+     * @param mdcOeeInfoVo
+     * @return
+     */
+    IPage<MdcOeeInfo> pageList(Page<MdcOeeInfo> page, @Param("mdcOeeInfoVo") MdcOeeInfoVo mdcOeeInfoVo);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java
deleted file mode 100644
index a6de59d..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverallEquipmentEfficiencyMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-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.mdc.entity.MdcOverallEquipmentEfficiency;
-import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
-
-/**
- * @author Lius
- * @date 2023/11/3 14:29
- */
-public interface MdcOverallEquipmentEfficiencyMapper extends BaseMapper<MdcOverallEquipmentEfficiency> {
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param page
-     * @param mdcOverallEquipmentEfficiencyVo
-     * @return
-     */
-    IPage<MdcOverallEquipmentEfficiency> pageList(Page<MdcOverallEquipmentEfficiency> page, @Param("mdcOverallEquipmentEfficiency") MdcOverallEquipmentEfficiencyVo mdcOverallEquipmentEfficiencyVo);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java
deleted file mode 100644
index 6d5acd5..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcOverrunAlarmMapper.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-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.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverrunAlarm;
-
-/**
- * @Description: mdc瓒呴檺鎶ヨ
- * @Author: Lius
- * @Date: 2024-03-01
- * @Version: V1.0
- */
-public interface MdcOverrunAlarmMapper extends BaseMapper<MdcOverrunAlarm> {
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param page
-     * @param mdcEquipment
-     * @return
-     */
-    IPage<MdcOverrunAlarm> pageList(Page<MdcOverrunAlarm> page, @Param("mdcEquipment") MdcEquipment mdcEquipment);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPartProcessInfoMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPartProcessInfoMapper.java
new file mode 100644
index 0000000..e99eade
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPartProcessInfoMapper.java
@@ -0,0 +1,26 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+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.mdc.entity.MdcPartProcessInfo;
+import org.jeecg.modules.mdc.vo.MdcPartProcessInfoVo;
+
+/**
+ * @Description: 闆朵欢鍔犲伐鏁版嵁琛�
+ * @Author: lius
+ * @Date: 2024-12-11
+ */
+public interface MdcPartProcessInfoMapper extends BaseMapper<MdcPartProcessInfo> {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param page
+     * @param mdcPartProcessInfo
+     * @return
+     */
+    IPage<MdcPartProcessInfo> pageList(Page<MdcPartProcessInfo> page, @Param("mdcPartProcessInfo") MdcPartProcessInfoVo mdcPartProcessInfo);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPassRateMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPassRateMapper.java
index 5776b4e..3c8331c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPassRateMapper.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcPassRateMapper.java
@@ -24,23 +24,4 @@
      */
     IPage<MdcPassRate> pageList(Page<MdcPassRate> page, @Param("mdcPassRate") MdcPassRate mdcPassRate);
 
-    /**
-     * 璁$畻鍔犲伐鏁伴噺
-     *
-     * @param equipmentId
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    Integer findProcessQuantity(@Param("equipmentId") String equipmentId, @Param("startTime") String startTime, @Param("endTime") String endTime);
-
-    /**
-     * 璁$畻搴熷搧鏁伴噺
-     *
-     * @param equipmentId
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    Integer findUnqualifiedQuantity(@Param("equipmentId") String equipmentId, @Param("startTime") String startTime, @Param("endTime") String endTime);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java
deleted file mode 100644
index 75d3665..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.dto.MdcProcessCountDto;
-import org.jeecg.modules.mdc.entity.MdcProcessCount;
-import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-/**
- * @author Lius
- * @date 2023/11/27 11:07
- */
-public interface MdcProcessCountMapper extends BaseMapper<MdcProcessCount> {
-    MdcProcessCount getLastData(@Param("equipmentId") String equipmentId);
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param mdcProcessCountVo
-     * @return
-     */
-    List<MdcProcessCountDto> pageList(@Param("mdcProcessCountVo") MdcProcessCountVo mdcProcessCountVo);
-
-    BigDecimal findDuration(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-
-    BigDecimal findCount(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcTorqueConfigMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcTorqueConfigMapper.java
deleted file mode 100644
index 1162950..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcTorqueConfigMapper.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
-import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 鎵煩閰嶇疆绠$悊
- * @Author: ym
- * @Date: 2023-06-29
- */
-@Mapper
-public interface MdcTorqueConfigMapper extends BaseMapper<MdcTorqueConfig> {
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param pageData
-     * @param mdcTorqueConfig
-     * @return
-     */
-    IPage<MdcTorqueConfig> pageList(IPage<MdcTorqueConfig> pageData, @Param("mdcTorqueConfig") MdcTorqueConfig mdcTorqueConfig);
-
-    MdcTorqueConfig findLast(@Param("equipmentId") String equipmentId);
-
-    List<EquipmentMachingDto> getWorkLineList(@Param("equipmentId") String equipmentId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcVacationManagementMappper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcVacationManagementMappper.java
deleted file mode 100644
index e533df6..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcVacationManagementMappper.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.entity.MdcVacationManagement;
-
-/**
- * @Description: 鍋囨湡绠$悊
- * @Author: ym
- * @Date: 2023-07-04
- */
-@Mapper
-public interface MdcVacationManagementMappper extends BaseMapper<MdcVacationManagement> {
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     * @param pageData
-     * @param vacation
-     * @return
-     */
-    IPage<MdcVacationManagement> pageList(IPage<MdcVacationManagement> pageData, @Param("vacation") MdcVacationManagement vacation);
-
-    /**
-     * 鏌ヨ鏈�鍚庝竴鏉″弻浼戞棩
-     * @return
-     */
-    MdcVacationManagement selectLastWeekDays();
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/XYZAliasesMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/XYZAliasesMapper.java
deleted file mode 100644
index 1253be4..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/XYZAliasesMapper.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.jeecg.modules.mdc.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.jeecg.modules.mdc.entity.XYZAliases;
-
-import java.util.List;
-
-/**
- * @author: LiuS
- * @create: 2023-04-07 14:33
- */
-public interface XYZAliasesMapper {
-    List<XYZAliases> getCoordinateByEquipmentId(@Param("equipmentId") String equipmentId);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml
similarity index 67%
copy from lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
copy to lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml
index c846a9f..6456878 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/ControlSystemMapper.xml
@@ -1,5 +1,5 @@
 <?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.mdc.mapper.MdcEquipmentOverFlagMapper">
+<mapper namespace="org.jeecg.modules.mdc.mapper.ControlSystemMapper">
 
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
similarity index 67%
rename from lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
rename to lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
index c846a9f..c3aebe8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentAlarmMapper.xml
@@ -1,5 +1,5 @@
 <?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.mdc.mapper.MdcEquipmentOverFlagMapper">
+<mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentAlarmMapper">
 
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml
index 88b331d..2bd8cc0 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentLogMapper.xml
@@ -3,26 +3,11 @@
 <mapper namespace="org.jeecg.modules.mdc.mapper.EquipmentLogMapper">
 
     <select id="getRow" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
-        SELECT top 1 * FROM EquipmentLog WHERE EquipmentID = #{ equipmentid } AND CollectTime &lt;= #{ startTime } AND Oporation in ('0','1','2','3') ORDER BY CollectTime ASC
+        SELECT * FROM EquipmentLog WHERE EquipmentID = #{ equipmentid } AND CollectTime &lt;= #{ startTime } AND Oporation in ('0','1','2','3') ORDER BY CollectTime ASC LIMIT 1
     </select>
 
     <select id="selectEquipmentOporation" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
-        SELECT TOP 1 * FROM EquipmentLog WHERE EquipmentID = #{ equipmentId } ORDER BY CollectTime DESC
+        SELECT * FROM EquipmentLog WHERE EquipmentID = #{ equipmentId } ORDER BY CollectTime DESC LIMIT 1
     </select>
 
-    <!--鏌ヨ璁惧鏈�鏂颁竴鏉℃暟鎹�-->
-    <select id="getEquipmentStatusList" resultType="org.jeecg.modules.mdc.entity.EquipmentLog">
-        SELECT
-            t1.*
-        FROM
-            EquipmentLog t1
-        INNER JOIN ( SELECT MAX ( CollectTime ) AS CollectTime, EquipmentID FROM EquipmentLog GROUP BY EquipmentID ) t2 ON t1.CollectTime= t2.CollectTime
-        AND t1.EquipmentID= t2.EquipmentID
-        <if test="equipmentIdList != null and equipmentIdList.size() > 0">
-            AND t1.EquipmentID IN
-            <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                #{id}
-            </foreach>
-        </if>
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml
index 27b64c4..b6d5d89 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentWorklineMapper.xml
@@ -2,27 +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.mdc.mapper.EquipmentWorklineMapper">
 
-    <select id="getMacingDataList" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
-        select top 1 [${tableName}].* from [${tableName}] order by CollectTime  desc
-    </select>
-
-    <select id="findRunningData" resultType="java.lang.String">
-        SELECT ProductCount FROM [${tableName}] WHERE ProductCount &lt;&gt; '' AND CollectTime BETWEEN #{ startTime } AND #{ endTime } GROUP BY ProductCount ORDER BY ProductCount
-    </select>
-
     <select id="getEquipProgramNum" resultType="org.jeecg.modules.mdc.dto.EquipmentMachingDto">
-        select Programnumber,CollectTime from [${tableName}] where CollectTime &gt; #{startTime} and CollectTime &lt;= #{endTime} and Programnumber is not null
-    </select>
-
-    <select id="findProductCountStartTime" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
-        SELECT TOP 1 [${tableName}].* FROM [${tableName}] WHERE ProductCount = #{ productCount } AND CollectTime BETWEEN #{ startTime } AND #{ endTime } ORDER BY CollectTime ASC
-    </select>
-
-    <select id="findProductCountEndTime" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
-        SELECT TOP 1 [${tableName}].* FROM [${tableName}] WHERE ProductCount = #{ productCount } AND CollectTime BETWEEN #{ startTime } AND #{ endTime } ORDER BY CollectTime DESC
+        select Programnumber,CollectTime from ${tableName} where CollectTime &gt; #{startTime} and CollectTime &lt;= #{endTime} and Programnumber is not null
     </select>
 
     <select id="getDataList" resultType="java.util.Map">
-        select top 1 [${tableName}].* from [${tableName}] order by CollectTime  desc
+        select ${tableName}.* from ${tableName} order by CollectTime desc limit 1
     </select>
 </mapper>
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml
index 77de9af..5fec132 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDeviceCalendarMapper.xml
@@ -41,33 +41,6 @@
         ORDER BY t4.equipment_name ASC, t1.EFFECTIVE_DATE ASC
     </select>
 
-
-    <select id="listByEquipmentAndDate" resultType="org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo">
-        SELECT
-            t1.*,
-            t2.shift_name,
-            t3.shift_sub_name,
-            t3.start_date,
-            t3.end_date,
-            t3.sleep_start_date,
-            t3.sleep_end_date,
-            t3.is_day_span,
-            t4.equipment_name
-        FROM
-            mdc_device_calendar t1
-            LEFT JOIN mdc_shift t2 ON t1.shift_id = t2.id
-            LEFT JOIN mdc_shift_sub t3 ON t1.shift_sub_id = t3.id
-            LEFT JOIN mdc_equipment t4 ON t1.equipment_id = t4.equipment_id
-        <where>
-            <if test="equipmentId != null and equipmentId != ''">
-                AND t4.equipment_id = #{ equipmentId }
-            </if>
-            <if test="stringDate != null and stringDate != ''">
-                AND t1.effective_date = #{ stringDate }
-            </if>
-        </where>
-    </select>
-
     <select id="findAcquiesceShift" resultType="org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo">
         SELECT
             t1.id shiftId,
@@ -82,43 +55,6 @@
         FROM
             mdc_shift t1 LEFT JOIN mdc_shift_sub t2 ON t2.shift_id = t1.id
         WHERE t1.default_shift = 'true'
-    </select>
-
-    <!--璁$畻瀹為檯鐝骇澶╂暟-->
-    <select id="computeActualWorkDayCount" resultType="java.lang.String">
-        SELECT DISTINCT
-            effective_date
-        FROM
-            mdc_device_calendar
-        WHERE
-            effective_date LIKE CONCAT(#{ validDate }, '%')
-            AND equipment_id = #{ equipmentId }
-    </select>
-
-    <!--鏌ヨ鐝鍒嗙被-->
-    <select id="findShiftSort" resultType="java.lang.String">
-        SELECT DISTINCT
-            t2.shift_name
-        FROM
-            mdc_device_calendar t1 LEFT JOIN mdc_shift t2 ON t1.shift_id = t2.id
-        WHERE
-            t1.effective_date LIKE CONCAT(#{ validDate }, '%')
-            AND t1.equipment_id = #{ equipmentId }
-    </select>
-
-    <!--鏌ヨ鐝鏁伴噺-->
-    <select id="computeShiftTimeCount" resultType="java.lang.Integer">
-        SELECT
-            COUNT(*)
-        FROM
-            mdc_device_calendar
-        WHERE
-            effective_date LIKE CONCAT(#{ validDate }, '%')
-            AND equipment_id = #{ equipmentId }
-    </select>
-
-    <select id="getFirstData" resultType="org.jeecg.modules.mdc.entity.MdcDeviceCalendar">
-        SELECT TOP 1 * FROM mdc_device_calendar WHERE equipment_id = #{ equipmentId } ORDER BY effective_date ASC
     </select>
 
     <select id="listByEquipmentAndDates" resultType="org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo">
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml
new file mode 100644
index 0000000..e4339e2
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeMapper.xml
@@ -0,0 +1,43 @@
+<?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.mdc.mapper.MdcDowntimeMapper">
+
+    <select id="pageList" resultType="org.jeecg.modules.mdc.dto.MdcDowntimeDto">
+        SELECT
+            t1.* ,
+            t2.downtime_type downtimeType,
+            t2.downtime_description downtimeDescription
+        FROM mdc_downtime t1 LEFT JOIN mdc_downtime_reason t2 ON t1.reason_id = t2.id
+        <where>
+            <if test="mdcDowntimeVo.equipmentId != null and mdcDowntimeVo.equipmentId != ''">
+                AND t1.equipment_id = #{ mdcDowntimeVo.equipmentId }
+            </if>
+            <if test="mdcDowntimeVo.equipmentName != null and mdcDowntimeVo.equipmentName != ''">
+                AND t1.equipment_name = #{ mdcDowntimeVo.equipmentName }
+            </if>
+            <if test="mdcDowntimeVo.theDate != null and mdcDowntimeVo.theDate != ''">
+                AND t1.the_date = #{ mdcDowntimeVo.theDate }
+            </if>
+            <if test="mdcDowntimeVo.equipmentIdList != null and mdcDowntimeVo.equipmentIdList.size() > 0 ">
+                AND t1.equipment_id IN
+                <foreach collection="mdcDowntimeVo.equipmentIdList" item="equipmentId" index="index" open="(" close=")" separator=",">
+                    #{ equipmentId }
+                </foreach>
+            </if>
+        </where>
+        ORDER BY t1.create_time DESC
+    </select>
+
+    <select id="findPlanTimeDuration" resultType="org.jeecg.modules.mdc.entity.MdcDowntime">
+        SELECT
+            t1.*
+        FROM
+            mdc_downtime t1
+                LEFT JOIN mdc_downtime_reason t2 ON t1.reason_id = t2.id
+        WHERE
+            t1.equipment_id = #{equipmentId}
+          AND t2.downtime_type = #{closeType}
+          AND t1.the_date = #{validDate}
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml
similarity index 67%
copy from lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
copy to lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml
index c846a9f..9b4edba 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOverFlagMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcDowntimeReasonMapper.xml
@@ -1,5 +1,5 @@
 <?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.mdc.mapper.MdcEquipmentOverFlagMapper">
+<mapper namespace="org.jeecg.modules.mdc.mapper.MdcDowntimeReasonMapper">
 
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
index 73d3381..922a620 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEfficiencyReportMapper.xml
@@ -102,11 +102,11 @@
             t1.the_date theDate,
             t1.shift_id shiftId,
             t1.shift_sub_id shiftSubId,
-            SUM ( t1.process_long ) processLong,
-            SUM ( t1.open_long ) openLong,
-            SUM ( t1.wait_long ) waitLong,
-            SUM ( t1.close_long ) closeLong,
-            sum ( t1.total_long ) totalLong
+            SUM( t1.process_long ) processLong,
+            SUM( t1.open_long ) openLong,
+            SUM( t1.wait_long ) waitLong,
+            SUM( t1.close_long ) closeLong,
+            sum( t1.total_long ) totalLong
         FROM
             mdc_equipment t2
             LEFT JOIN mdc_equipment_statistical_shift_info t1 ON t1.equipment_id = t2.equipment_id
@@ -153,10 +153,10 @@
     <select id="comparativeAnalysis" resultType="org.jeecg.modules.mdc.dto.MdcComAnaDto">
         SELECT
             mesi.equipment_id equipmentId,
-            SUM ( mesi.open_long ) openLong,
-            SUM ( mesi.close_long ) closeLong,
-            SUM ( mesi.wait_long ) waitLong,
-            SUM ( mesi.process_long ) processLong
+            SUM( mesi.open_long ) openLong,
+            SUM( mesi.close_long ) closeLong,
+            SUM( mesi.wait_long ) waitLong,
+            SUM( mesi.process_long ) processLong
         FROM
             mdc_equipment_statistical_info mesi
             LEFT JOIN mdc_equipment me ON mesi.equipment_id = me.equipment_id
@@ -176,14 +176,4 @@
             mesi.equipment_id
     </select>
 
-
-    <select id="getEfficiencyRate" resultType="java.math.BigDecimal">
-        SELECT
-            process_long
-        FROM
-            mdc_equipment_statistical_info
-        WHERE
-            equipment_id = #{ equipmentId } AND the_date &gt;= #{ date }
-        ORDER BY the_date ASC
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
index 828999f..c760022 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -129,7 +129,7 @@
             sd.id,
             sd.parent_id,
             sd.depart_name,
-            sd.org_type,
+            sd.org_code,
             me.equipment_id,
             me.equipment_name,
             me.equipment_type
@@ -152,7 +152,7 @@
             mp.id,
             mp.parent_id,
             mp.production_name,
-            mp.org_type,
+            mp.org_code,
             me.equipment_id,
             me.equipment_name,
             me.equipment_type
@@ -256,11 +256,6 @@
             </if>
         </where>
         order by t1.sort_no
-    </select>
-
-    <!--鏌ヨ鍗曡〃鏁版嵁-->
-    <select id="findWorkLineLast" resultType="org.jeecg.modules.mdc.dto.MdcEquipmentDto">
-        select top 1 spindlespeed, actualspindlespeed from [${tableName}] order by CollectTime  desc
     </select>
 
     <!--鏍规嵁id鑾峰彇璁惧淇℃伅-->
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
deleted file mode 100644
index 3056797..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentOvertimeMapper.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?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.mdc.mapper.MdcEquipmentOvertimeMapper">
-
-    <!--鍒嗛〉鏌ヨ-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime">
-        SELECT
-            t1.id,
-            t1.equipment_id equipmentId,
-            t2.equipment_name equipmentName,
-            t1.the_date theDate,
-            t1.start_time startTime,
-            t1.end_time endTime,
-            t1.duration duration,
-            t1.remark remark,
-            t1.create_by createBy,
-            t1.create_time createTime,
-            t1.update_by updateBy,
-            t1.update_time updateTime
-        FROM
-            mdc_equipment_overtime t1
-            LEFT JOIN mdc_equipment t2 ON t2.equipment_id = t1.equipment_id
-        <where>
-            <if test="mdcEquipmentOvertime.equipmentName != null and mdcEquipmentOvertime.equipmentName != '' ">
-                AND t2.equipment_name LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentName}),'%')
-            </if>
-            <if test="mdcEquipmentOvertime.equipmentId != null and mdcEquipmentOvertime.equipmentId != '' ">
-                AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentId}),'%')
-            </if>
-            <if test="mdcEquipmentOvertime.mdcSectionIds != null and mdcEquipmentOvertime.mdcSectionIds.size() > 0 ">
-                AND t1.equipment_id IN
-                <foreach collection="mdcEquipmentOvertime.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                    #{ id }
-                </foreach>
-            </if>
-            <if test="mdcEquipmentOvertime.startTime != null and mdcEquipmentOvertime.startTime != '' and mdcEquipmentOvertime.endTime != null and mdcEquipmentOvertime.endTime != ''">
-                AND t1.the_date BETWEEN #{ mdcEquipmentOvertime.startTime } AND #{ mdcEquipmentOvertime.endTime }
-            </if>
-        </where>
-        order by t1.the_date asc
-    </select>
-
-    <!--list鍒楄〃-->
-    <select id="list" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime">
-        SELECT
-            t1.id,
-            t1.equipment_id equipmentId,
-            t2.equipment_name equipmentName,
-            t1.the_date theDate,
-            t1.start_time startTime,
-            t1.end_time endTime,
-            t1.duration duration,
-            t1.remark remark,
-            t1.create_by createBy,
-            t1.create_time createTime,
-            t1.update_by updateBy,
-            t1.update_time updateTime
-        FROM
-            mdc_equipment_overtime t1
-            LEFT JOIN mdc_equipment t2 ON t2.equipment_id = t1.equipment_id
-        <where>
-            <if test="mdcEquipmentOvertime.equipmentName != null and mdcEquipmentOvertime.equipmentName != '' ">
-                AND t2.equipment_name LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentName}),'%')
-            </if>
-            <if test="mdcEquipmentOvertime.equipmentId != null and mdcEquipmentOvertime.equipmentId != '' ">
-                AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipmentOvertime.equipmentId}),'%')
-            </if>
-            <if test="mdcEquipmentOvertime.mdcSectionIds != null and mdcEquipmentOvertime.mdcSectionIds.size() > 0 ">
-                AND t1.equipment_id IN
-                <foreach collection="mdcEquipmentOvertime.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                    #{ id }
-                </foreach>
-            </if>
-            <if test="mdcEquipmentOvertime.startTime != null and mdcEquipmentOvertime.startTime != '' and mdcEquipmentOvertime.endTime != null and mdcEquipmentOvertime.endTime != ''">
-                AND t1.the_date BETWEEN #{ mdcEquipmentOvertime.startTime } AND #{ mdcEquipmentOvertime.endTime }
-            </if>
-        </where>
-            order by t1.the_date asc
-    </select>
-
-    <!--鏌ヨ鍔犵彮鏃堕暱-->
-    <select id="computeOvertime" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentOvertime">
-        SELECT
-            *
-        FROM
-            mdc_equipment_overtime
-        WHERE
-            the_date LIKE CONCAT(#{ validDate }, '%') AND equipment_id = #{ equipmentId }
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRepairMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRepairMapper.xml
deleted file mode 100644
index 80e6716..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRepairMapper.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?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.mdc.mapper.MdcEquipmentRepairMapper">
-
-    <!-- 鏍规嵁杞﹂棿灞傜骇鏌ヨ璁惧缁翠慨鍒楄〃 -->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRepair">
-        SELECT
-            *
-        FROM
-            mdc_equipment_repair
-        WHERE 1=1
-        <if test="repair.equipmentName != null and repair.equipmentName != '' ">
-            AND equipment_name LIKE CONCAT(CONCAT('%',#{repair.equipmentName}),'%')
-        </if>
-        <if test="repair.equipmentId != null and repair.equipmentId != '' ">
-            AND equipment_id LIKE CONCAT(CONCAT('%',#{repair.equipmentId}),'%')
-        </if>
-        <if test="repair.startTime != null ">
-            AND end_time &gt;= #{ repair.startTime }
-        </if>
-        <if test="repair.endTime != null ">
-            AND start_time &lt;= #{ repair.endTime }
-        </if>
-        <if test="repair.mdcSectionIds != null and repair.mdcSectionIds.size() > 0 ">
-            AND equipment_id IN
-            <foreach collection="repair.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                #{ id }
-            </foreach>
-        </if>
-        ORDER BY start_time ASC,equipment_id ASC
-    </select>
-
-    <!--鏌ヨ鏌愭鏃堕棿鍐呮槸鍚︽湁缁翠慨浼戠彮鏁版嵁-->
-    <select id="selectByIdAndTime" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRepair">
-        SELECT
-            *
-        FROM
-            mdc_equipment_repair
-        <where>
-            <if test="equipmentId != null and equipmentId!= ''">
-                AND equipment_id = #{ equipmentId }
-            </if>
-            <if test="startTime != null and endTime!= null">
-                AND (
-                ( START_TIME  <![CDATA[ >= ]]>  #{ startTime }  AND START_TIME <![CDATA[ <= ]]>  #{ endTime } )
-                OR ( START_TIME <![CDATA[ <= ]]> #{ startTime }  AND END_TIME <![CDATA[ >= ]]> #{ endTime })
-                OR ( END_TIME <![CDATA[ >= ]]> #{ startTime }  AND END_TIME <![CDATA[ <= ]]>  #{ endTime } )
-                OR ( START_TIME <![CDATA[ <= ]]> #{ startTime }  AND END_TIME <![CDATA[ >= ]]> #{ endTime } )
-                )
-            </if>
-        </where>
-        ORDER BY start_time ASC
-    </select>
-
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml
index a2b6082..e2afb97 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentRunningSectionMapper.xml
@@ -4,17 +4,17 @@
 
     <!--鏌ヨ鍗曞彴璁惧鏈�鍚庢椂闂存璁板綍锛堥潪鎶ヨ锛�-->
     <select id="getMaxNormal" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
-        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status <![CDATA[ <> ]]> '22' ORDER BY end_time DESC
+        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status <![CDATA[ <> ]]> '22' ORDER BY end_time DESC LIMIT 1
     </select>
 
     <!--鑾峰彇璁$畻娈垫椂闂村悗鐨勬渶鍚庝竴鏉¤褰曪紙鎶ヨ锛�-->
     <select id="getMaxError" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
-        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status = '22' ORDER BY end_time DESC
+        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} AND status = '22' ORDER BY end_time DESC LIMIT 1
     </select>
 
     <!--鑾峰彇璁惧杩愯璁板綍鏈�鏃╃殑鏁版嵁-->
     <select id="getFirstData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
-        SELECT TOP 1 * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} ORDER BY start_time
+        SELECT * FROM mdc_equipment_running_section WHERE equipment_id = #{equipmentId} ORDER BY start_time LIMIT 1
     </select>
 
     <!--鏌ヨ璁惧鍗曟棩杩愯鐘舵�佹椂闂存璁板綍-->
@@ -125,20 +125,6 @@
         </where>
     </select>
 
-    <!--鏌ヨ鏃堕棿娈靛唴杩愯鏁版嵁-->
-    <select id="selectRunningData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection">
-        SELECT
-            *
-        FROM
-            mdc_equipment_running_section
-        WHERE
-            equipment_id = #{ equipmentId }
-          AND status = '3'
-          AND  (start_time &lt;= #{ endDate } AND end_time &gt;= #{ startDate })
-        ORDER BY
-            start_time
-    </select>
-
     <!--鏌ヨ鎶ヨ鍙锋姤璀﹁缁嗕俊鎭�-->
     <select id="selectAlarmList" resultType="org.jeecg.modules.mdc.dto.MdcAlarmListDto">
         SELECT
@@ -161,17 +147,5 @@
             </if>
         </where>
     </select>
-
-    <select id="getDataList" resultType="java.lang.Integer">
-        SELECT
-            status
-        FROM
-            mdc_equipment_running_section
-        WHERE
-            equipment_id = #{ equipmentId }
-          AND start_time &gt; #{date}
-          AND status IS NOT NULL
-    </select>
-
 
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml
index 77c17f3..ecb557d 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalInfoMapper.xml
@@ -2,9 +2,14 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.mdc.mapper.MdcEquipmentStatisticalInfoMapper">
 
-
     <!--鑾峰彇璁惧鏈�鏂版棩鏈熺殑杩愯鏁版嵁-->
     <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
-        SELECT TOP 1 * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
+        SELECT * FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC LIMIT 1
     </select>
+
+    <!--鏌ヨ璁惧杩愯鏃堕棿-->
+    <select id="selectProcessLong" resultType="java.lang.Integer">
+        SELECT process_long FROM mdc_equipment_statistical_info WHERE equipment_id = #{equipmentId} AND the_date = #{validDate} LIMIT 1
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
index 97acaba..a437b11 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentStatisticalShiftInfoMapper.xml
@@ -2,19 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.mdc.mapper.MdcEquipmentStatisticalShiftInfoMapper">
 
-
     <select id="getMaxStaticsData" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo">
-        SELECT TOP 1 * FROM mdc_equipment_statistical_shift_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
+        SELECT * FROM mdc_equipment_statistical_shift_info WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC LIMIT 1
     </select>
 
-    <!--鏌ヨ涓昏酱杩愯鏃堕棿-->
-    <select id="findSpindleRunDuration" resultType="java.math.BigDecimal">
-        SELECT
-            SUM(process_long)
-        FROM
-            mdc_equipment_statistical_shift_info
-        WHERE
-            equipment_id = #{ equipmentId }
-            AND the_date LIKE CONCAT(#{ validDate },'%')
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentThresholdMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentThresholdMapper.xml
deleted file mode 100644
index 9e6876b..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentThresholdMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?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.mdc.mapper.MdcEquipmentThresholdMapper">
-
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcFeedbackMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcFeedbackMapper.xml
deleted file mode 100644
index fc9962b..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcFeedbackMapper.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?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.mdc.mapper.MdcFeedbackMapper">
-
-    <select id="getFeedbackList" resultType="org.jeecg.modules.mdc.entity.MdcFeedback">
-        SELECT
-            t1.*
-        FROM
-            mdc_feedback t1
-                LEFT JOIN mdc_production t2 ON t1.production_id = t2.id
-        WHERE
-            (t2.id = #{ productionId } OR t2.parent_id = #{ productionId })
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml
deleted file mode 100644
index b809b98..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcHomeMapper.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?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.mdc.mapper.MdcHomeMapper">
-
-    <select id="getProductionByPid" resultType="org.jeecg.modules.system.entity.MdcProduction">
-        SELECT
-            t1.*
-        FROM
-            mdc_production t1
-                LEFT JOIN mdc_user_production t2 ON t1.id = t2.pro_id
-        WHERE
-            t1.parent_id = #{ productionId } AND t2.user_id = #{ userId }
-    </select>
-
-    <select id="getProcessCount" resultType="java.math.BigDecimal">
-        SELECT
-            SUM(process_long)
-        FROM
-            mdc_equipment_statistical_info
-        <where>
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-            AND the_date = #{ date }
-        </where>
-    </select>
-
-    <select id="getOeeByDate" resultType="java.math.BigDecimal">
-        SELECT
-            SUM(overall_equipment_efficiency)
-        FROM
-            mdc_overall_equipment_efficiency
-        <where>
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-            AND valid_date = #{ date }
-        </where>
-    </select>
-
-    <select id="getUtilizationByMonth" resultType="java.util.Map">
-        SELECT
-            SUM(process_long) processLong,
-            SUM(open_long) openLong,
-            COUNT(*) processDay
-        FROM
-            mdc_equipment_statistical_info
-        <where>
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-            AND the_date LIKE CONCAT('%', #{ date } ,'%')
-        </where>
-    </select>
-
-    <select id="getEquipmentDayUtilizationStatistics" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
-        SELECT
-            the_date,
-            SUM ( process_long ) processLong,
-            SUM ( open_long ) openLong
-        FROM
-            mdc_equipment_statistical_info
-        <where>
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-            <if test="dateList != null and dateList.size() > 0 ">
-                AND the_date IN
-                <foreach collection="dateList" index="index" item="date" open="(" separator="," close=")">
-                    #{date}
-                </foreach>
-            </if>
-        </where>
-        GROUP BY
-            the_date
-    </select>
-
-    <select id="getEquipmentOEEMonthStatistics" resultType="org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency">
-        SELECT
-            *
-        FROM
-            mdc_overall_equipment_efficiency
-        <where>
-            AND valid_date = #{validDate}
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-        </where>
-    </select>
-
-    <select id="getUtilizationByDay" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
-        SELECT
-            the_date,
-            SUM ( process_long ) processLong,
-            SUM ( open_long ) openLong
-        FROM
-            mdc_equipment_statistical_info
-        <where>
-            AND the_date = #{date}
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-        </where>
-        GROUP BY
-            the_date
-    </select>
-
-    <select id="getEquipmentSevenUtilizationStatistics" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalInfo">
-        SELECT
-            equipment_id,
-            SUM ( process_long ) processLong,
-            SUM ( open_long ) openLong
-        FROM
-            mdc_equipment_statistical_info
-        <where>
-            AND the_date BETWEEN #{start} AND #{end}
-            <if test="equipmentIdList != null and equipmentIdList.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="equipmentIdList" index="index" item="id" open="(" separator="," close=")">
-                    #{id}
-                </foreach>
-            </if>
-        </where>
-        GROUP BY
-            equipment_id
-    </select>
-
-
-    <select id="getEquipmentList" resultType="org.jeecg.modules.mdc.entity.MdcEquipment">
-        SELECT
-            t1.*
-        FROM
-            mdc_equipment t1
-                LEFT JOIN mdc_production_equipment t2 ON t1.id = t2.equipment_id
-        WHERE
-            t2.production_id = #{productionId}
-    </select>
-
-
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml
deleted file mode 100644
index 4e53609..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?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.mdc.mapper.MdcMessageApprovalMapper">
-
-    <!--鍒楄〃鏌ヨ-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcMessageApproval">
-        SELECT
-            *
-        FROM
-            mdc_message_approval
-        <where>
-            (sender_ids LIKE CONCAT(CONCAT('%',#{userId}),'%') OR approver_ids LIKE CONCAT(CONCAT('%',#{userId}),'%'))
-            <if test="mdcMessageApproval.equipmentId != null and mdcMessageApproval.equipmentId != ''">
-                AND equipment_id = #{mdcMessageApproval.equipmentId}
-            </if>
-            <if test="mdcMessageApproval.msgStatus != null and mdcMessageApproval.msgStatus != ''">
-                AND msg_status = #{mdcMessageApproval.msgStatus}
-            </if>
-        </where>
-        ORDER BY create_time DESC
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcNoplanCloseMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcNoplanCloseMapper.xml
index bfcf755..8bc24aa 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcNoplanCloseMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcNoplanCloseMapper.xml
@@ -31,17 +31,4 @@
         ORDER BY start_time ASC
     </select>
 
-
-    <select id="findNoplanTimeDuration" resultType="org.jeecg.modules.mdc.entity.MdcNoplanClose">
-        SELECT
-            *
-        FROM
-            mdc_noplan_close
-        WHERE
-            equipment_id = #{ equipmentId }
-            AND ( ( start_time BETWEEN #{ startDate } AND #{ endDate } ) OR ( end_time BETWEEN #{ startDate } AND #{ endDate } ) )
-            AND noplan_type = #{ noplanType }
-        ORDER BY
-            start_time ASC
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml
new file mode 100644
index 0000000..f78eb9e
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOeeInfoMapper.xml
@@ -0,0 +1,31 @@
+<?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.mdc.mapper.MdcOeeInfoMapper">
+
+    <!--鍒嗛〉鍒楄〃-->
+    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOeeInfo">
+        SELECT
+            *
+        FROM
+            mdc_oee_info
+        <where>
+            <if test="mdcOeeInfoVo.equipmentId != null and mdcOeeInfoVo.equipmentId != ''">
+                AND equipment_id = #{ mdcOeeInfoVo.equipmentId }
+            </if>
+            <if test="mdcOeeInfoVo.startTime != null and mdcOeeInfoVo.startTime != ''">
+                AND the_date &gt;= #{ mdcOeeInfoVo.startTime }
+            </if>
+            <if test="mdcOeeInfoVo.endTime != null and mdcOeeInfoVo.endTime != ''">
+                AND the_date &lt;= #{mdcOeeInfoVo.endTime }
+            </if>
+            <if test="mdcOeeInfoVo.equipmentIdList != null and mdcOeeInfoVo.equipmentIdList.size() > 0 ">
+                AND equipment_id IN
+                <foreach collection="mdcOeeInfoVo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
+                    #{ id }
+                </foreach>
+            </if>
+        </where>
+        ORDER BY the_date DESC, equipment_id ASC
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
deleted file mode 100644
index d44e329..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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.mdc.mapper.MdcOverallEquipmentEfficiencyMapper">
-
-    <!--鍒嗛〉鍒楄〃-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency">
-        SELECT
-            t1.id,
-            t1.equipment_id,
-            t1.equipment_name,
-            t1.equipment_model,
-            t1.valid_date,
-            t1.shift,
-            t1.shift_time_count,
-            t1.overtime,
-            t1.actual_work_day_count,
-            t1.month_actual_work_day_time_count,
-            t1.breakdown_down_duration,
-            t1.conversion_debug_duration,
-            t1.material_shortage_duration,
-            t1.planned_task_duration,
-            t1.inspect_duration,
-            t1.other_duration,
-            t1.planned_maintenance_duration,
-            t1.conference_training_duration,
-            t1.other_rest_duration,
-            t1.load_time,
-            t1.time_actuation_rate,
-            t1.process_quantity,
-            t1.standard_process_duration,
-            t1.performance_rate,
-            t1.unqualified_quantity,
-            t1.pass_rate,
-            t1.overall_equipment_efficiency,
-            t1.create_by,
-            t1.create_time,
-            t1.update_by,
-            t1.update_time
-        FROM
-            mdc_overall_equipment_efficiency t1
-            LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
-        <where>
-            <if test="mdcOverallEquipmentEfficiency.startTime != null and mdcOverallEquipmentEfficiency.startTime != '' and mdcOverallEquipmentEfficiency.endTime != null and mdcOverallEquipmentEfficiency.endTime != ''">
-                AND t1.valid_date BETWEEN #{ mdcOverallEquipmentEfficiency.startTime } AND #{ mdcOverallEquipmentEfficiency.endTime }
-            </if>
-            <if test="mdcOverallEquipmentEfficiency.equipmentIdList != null and mdcOverallEquipmentEfficiency.equipmentIdList.size() > 0 ">
-                AND t1.equipment_id IN
-                <foreach collection="mdcOverallEquipmentEfficiency.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
-                    #{ id }
-                </foreach>
-            </if>
-            <if test="mdcOverallEquipmentEfficiency.driveTypeList != null and mdcOverallEquipmentEfficiency.driveTypeList.size() > 0 ">
-                AND t2.drive_type IN
-                <foreach collection="mdcOverallEquipmentEfficiency.driveTypeList" item="driveType" index="index" open="(" close=")" separator=",">
-                    #{ driveType }
-                </foreach>
-            </if>
-            <if test="mdcOverallEquipmentEfficiency.deviceLevelList != null and mdcOverallEquipmentEfficiency.deviceLevelList.size() > 0 ">
-                AND t2.device_level IN
-                <foreach collection="mdcOverallEquipmentEfficiency.deviceLevelList" item="deviceLevel" index="index" open="(" close=")" separator=",">
-                    #{ deviceLevel }
-                </foreach>
-            </if>
-            <if test="mdcOverallEquipmentEfficiency.deviceCategoryList != null and mdcOverallEquipmentEfficiency.deviceCategoryList.size() > 0 ">
-                AND t2.device_category IN
-                <foreach collection="mdcOverallEquipmentEfficiency.deviceCategoryList" item="deviceCategory" index="index" open="(" close=")" separator=",">
-                    #{ deviceCategory }
-                </foreach>
-            </if>
-            <if test="mdcOverallEquipmentEfficiency.equipmentTypeList != null and mdcOverallEquipmentEfficiency.equipmentTypeList.size() > 0 ">
-                AND t2.equipment_type IN
-                <foreach collection="mdcOverallEquipmentEfficiency.equipmentTypeList" item="equipmentType" index="index" open="(" close=")" separator=",">
-                    #{ equipmentType }
-                </foreach>
-            </if>
-        </where>
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml
deleted file mode 100644
index f812bb9..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverrunAlarmMapper.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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.mdc.mapper.MdcOverrunAlarmMapper">
-
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcOverrunAlarm">
-        SELECT
-            t1.*
-        FROM
-            mdc_overrun_alarm t1
-                LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
-        <where>
-            <if test="mdcEquipment.equipmentId != null and mdcEquipment.equipmentId != '' ">
-                AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipment.equipmentId}),'%')
-            </if>
-            <if test="mdcEquipment.equipmentType != null and mdcEquipment.equipmentType != '' ">
-                AND t2.equipment_type = #{mdcEquipment.equipmentType}
-            </if>
-            <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' ">
-                AND t2.drive_type = #{mdcEquipment.driveType}
-            </if>
-        </where>
-        ORDER BY
-            t1.create_time DESC
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPartProcessInfoMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPartProcessInfoMapper.xml
new file mode 100644
index 0000000..b2ceba1
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPartProcessInfoMapper.xml
@@ -0,0 +1,36 @@
+<?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.mdc.mapper.MdcPartProcessInfoMapper">
+
+    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcPartProcessInfo">
+        SELECT
+            *
+        FROM
+            mdc_part_process_info
+        <where>
+            <if test="mdcPartProcessInfo.equipmentId != null and mdcPartProcessInfo.equipmentId != ''">
+                AND equipment_id = #{ mdcPartProcessInfo.equipmentId }
+            </if>
+            <if test="mdcPartProcessInfo.partId != null and mdcPartProcessInfo.partId != ''">
+                AND part_id = #{ mdcPartProcessInfo.partId }
+            </if>
+            <if test="mdcPartProcessInfo.theDate != null and mdcPartProcessInfo.theDate != ''">
+                AND the_date LIKE CONCAT('%',#{ mdcPartProcessInfo.theDate },'%')
+            </if>
+            <if test="mdcPartProcessInfo.startTime != null and mdcPartProcessInfo.startTime != ''">
+                AND the_date &gt;= #{ mdcPartProcessInfo.startTime }
+            </if>
+            <if test="mdcPartProcessInfo.endTime != null and mdcPartProcessInfo.endTime != ''">
+                AND the_date &lt;= #{mdcPartProcessInfo.endTime }
+            </if>
+            <if test="mdcPartProcessInfo.equipmentIdList != null and mdcPartProcessInfo.equipmentIdList.size() > 0 ">
+                AND equipment_id IN
+                <foreach collection="mdcPartProcessInfo.equipmentIdList" item="id" index="index" open="(" close=")" separator=",">
+                    #{ id }
+                </foreach>
+            </if>
+        </where>
+        ORDER BY the_date DESC, equipment_id ASC
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPassRateMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPassRateMapper.xml
index b3f063a..16c658f 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPassRateMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcPassRateMapper.xml
@@ -25,25 +25,4 @@
         ORDER BY equipment_name ASC, efficient_date DESC
     </select>
 
-    <!--璁$畻鍔犲伐鏁伴噺-->
-    <select id="findProcessQuantity" resultType="java.lang.Integer">
-        SELECT
-            SUM( process_quantity )
-        FROM
-            mdc_pass_rate
-        WHERE
-            equipment_id = #{ equipmentId }
-            AND efficient_date BETWEEN #{ startTime } AND #{endTime}
-    </select>
-
-    <!--璁$畻搴熷搧鏁伴噺-->
-    <select id="findUnqualifiedQuantity" resultType="java.lang.Integer">
-        SELECT
-            SUM( unqualified_quantity )
-        FROM
-            mdc_pass_rate
-        WHERE
-            equipment_id = #{ equipmentId }
-            AND efficient_date BETWEEN #{ startTime } AND #{endTime}
-    </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml
deleted file mode 100644
index 182be09..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?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.mdc.mapper.MdcProcessCountMapper">
-
-    <select id="getLastData" resultType="org.jeecg.modules.mdc.entity.MdcProcessCount">
-        SELECT TOP 1 * FROM mdc_process_count WHERE equipment_id = #{equipmentId} ORDER BY the_date DESC
-    </select>
-
-    <!--鍒嗛〉鏌ヨ-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.dto.MdcProcessCountDto">
-        SELECT
-            t1.equipment_id equipmentId,
-            MAX(t1.equipment_name) equipmentName,
-            MAX(t2.drive_type) driveType,
-            t1.sequence_number sequenceNumber,
-            COUNT(*) processCount,
-            SUM(t1.duration) duration
-        FROM
-            mdc_process_count t1
-            LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
-        <where>
-            <if test="mdcProcessCountVo.equipmentId != null and mdcProcessCountVo.equipmentId != ''">
-                AND t1.equipment_id = #{ mdcProcessCountVo.equipmentId }
-            </if>
-            <if test="mdcProcessCountVo.equipmentName != null and mdcProcessCountVo.equipmentName != ''">
-                AND t1.equipment_name LIKE CONCAT(CONCAT('%',#{mdcProcessCountVo.equipmentName}),'%')
-            </if>
-            <if test="mdcProcessCountVo.driveType != null and mdcProcessCountVo.driveType != ''">
-                AND t2.drive_type = #{ mdcProcessCountVo.driveType }
-            </if>
-            <if test="mdcProcessCountVo.deviceLevel != null and mdcProcessCountVo.deviceLevel != ''">
-                AND t2.device_level = #{ mdcProcessCountVo.deviceLevel }
-            </if>
-            <if test="mdcProcessCountVo.deviceCategory != null and mdcProcessCountVo.deviceCategory != ''">
-                AND t2.device_category = #{ mdcProcessCountVo.deviceCategory }
-            </if>
-            <if test="mdcProcessCountVo.startTime != null and mdcProcessCountVo.startTime != '' and mdcProcessCountVo.endTime != '' and mdcProcessCountVo.endTime != null">
-                AND t1.the_date BETWEEN #{ mdcProcessCountVo.startTime } AND #{ mdcProcessCountVo.endTime }
-            </if>
-            <if test="mdcProcessCountVo.mdcSectionIds != null and mdcProcessCountVo.mdcSectionIds.size() > 0 ">
-                AND t1.equipment_id IN
-                <foreach collection="mdcProcessCountVo.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                    #{ id }
-                </foreach>
-            </if>
-        </where>
-        GROUP BY
-            t1.equipment_id,
-            t1.sequence_number
-    </select>
-
-    <select id="findDuration" resultType="java.math.BigDecimal">
-        SELECT
-            SUM( duration )
-        FROM
-            mdc_process_count
-        WHERE
-            equipment_id = #{ equipmentId } AND the_date LIKE CONCAT(#{ validDate }, '%')
-    </select>
-
-
-    <select id="findCount" resultType="java.math.BigDecimal">
-        SELECT
-            count(*)
-        FROM
-            mdc_process_count
-        WHERE
-            equipment_id = #{ equipmentId } AND the_date LIKE CONCAT(#{ validDate }, '%')
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
index f484955..4d83492 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessQuantityMapper.xml
@@ -123,6 +123,6 @@
             mpq.update_by updateBy,
             mpq.update_time updateTime
         FROM mdc_process_quantity mpq LEFT JOIN mdc_standard_process_duration mspd ON mpq.standard_id = mspd.id
-        WHERE mpq.id = { id }
+        WHERE mpq.id = #{ id }
     </select>
 </mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml
deleted file mode 100644
index efe16ba..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcTorqueConfigMapper.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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.mdc.mapper.MdcTorqueConfigMapper">
-
-    <!--鏍规嵁杞﹂棿灞傜骇鏌ヨ鎵煩閰嶇疆鍒楄〃-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcTorqueConfig">
-        select * from mdc_torque_config
-        <where>
-            <if test="mdcTorqueConfig.equipmentId != null and mdcTorqueConfig.equipmentId != '' ">
-                AND equipment_id LIKE CONCAT(CONCAT('%',#{mdcTorqueConfig.equipmentId}),'%')
-            </if>
-            <if test="mdcTorqueConfig.equipmentName != null and mdcTorqueConfig.equipmentName != '' ">
-                AND equipment_name LIKE CONCAT(CONCAT('%',#{mdcTorqueConfig.equipmentName}),'%')
-            </if>
-            <if test="mdcTorqueConfig.startTime != null and mdcTorqueConfig.endTime != null">
-                AND torque_date BETWEEN #{ mdcTorqueConfig.startTime } AND #{ mdcTorqueConfig.endTime }
-            </if>
-            <if test="mdcTorqueConfig.mdcSectionIds != null and mdcTorqueConfig.mdcSectionIds.size() > 0 ">
-                AND equipment_id IN
-                <foreach collection="mdcTorqueConfig.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                    #{ id }
-                </foreach>
-            </if>
-            ORDER BY torque_date ASC
-        </where>
-    </select>
-
-    <select id="findLast" resultType="org.jeecg.modules.mdc.entity.MdcTorqueConfig">
-        SELECT TOP
-            1 *
-        FROM
-            mdc_torque_config
-        WHERE
-            equipment_id = #{ equipmentId }
-        ORDER BY
-            torque_date DESC
-    </select>
-
-    <!--鐢熸垚宸ヤ綔鏇茬嚎-->
-    <select id="getWorkLineList" resultType="org.jeecg.modules.mdc.dto.EquipmentMachingDto">
-        SELECT
-            torque_date CollectTime,
-            torque_value torque,
-            feed_parameter
-        FROM
-            mdc_torque_config
-        WHERE
-            equipment_id = #{ equipmentId } AND torque_date BETWEEN #{ startTime } AND #{ endTime }
-        ORDER BY
-            torque_date ASC
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcVacationManagementMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcVacationManagementMapper.xml
deleted file mode 100644
index 632c1d0..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcVacationManagementMapper.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?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.mdc.mapper.MdcVacationManagementMappper">
-    <!--鏍规嵁杞﹂棿灞傜骇鏌ヨ鍋囨湡鍒楄〃-->
-    <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcVacationManagement">
-        select * from mdc_vacation_management
-        <where>
-            <if test="vacation.equipmentName != null and vacation.equipmentName != '' ">
-                and equipment_name like concat(concat('%',#{vacation.equipmentName}),'%')
-            </if>
-            <if test="vacation.equipmentId != null and vacation.equipmentId !='' ">
-                and equipment_id like concat(concat('%',#{vacation.equipmentId}),'%')
-            </if>
-            <if test="vacation.startTime != null and vacation.endTime != null">
-                and vacation_date between #{ vacation.startTime } and #{ vacation.endTime }
-            </if>
-            <if test="vacation.mdcSectionIds != null || vacation.mdcSectionIds.size() > 0 ">
-                and equipment_id in
-                <foreach collection="vacation.mdcSectionIds" item="id" index="index" open="(" close=")" separator=",">
-                    #{id}
-                </foreach>
-            </if>
-            order by vacation_date asc
-        </where>
-    </select>
-
-    <select id="selectLastWeekDays" resultType="org.jeecg.modules.mdc.entity.MdcVacationManagement">
-        select top 1 * from mdc_vacation_management where vacation_type = '鍙屼紤鏃�' order by vacation_date desc
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/XYZAliasesMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/XYZAliasesMapper.xml
deleted file mode 100644
index c70017e..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/XYZAliasesMapper.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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.mdc.mapper.XYZAliasesMapper">
-
-    <select id="getCoordinateByEquipmentId" resultType="org.jeecg.modules.mdc.entity.XYZAliases">
-        SELECT
-            XYZAliases.*
-        FROM
-            dbo.XYZAliases  where    equipmentId = #{equipmentId}
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IControlSystemService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IControlSystemService.java
index 2e73e41..badd553 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IControlSystemService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IControlSystemService.java
@@ -9,5 +9,4 @@
  */
 public interface IControlSystemService extends IService<ControlSystem> {
 
-    ControlSystem getByDriveType(String driveType);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentBaseInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentBaseInfoService.java
index fdb0932..5a7801e 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentBaseInfoService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentBaseInfoService.java
@@ -8,5 +8,4 @@
  * @create: 2023-04-07 14:49
  */
 public interface IEquipmentBaseInfoService extends IService<EquipmentBaseInfo> {
-    EquipmentBaseInfo getByEquipmentId(String equipmentId);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java
index 805e454..146870c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentLogService.java
@@ -29,5 +29,4 @@
 
     EquipmentLog selectEquipmentOporation(String equipmentId);
 
-    List<EquipmentLog> getEquipmentStatusList(List<String> equipmentIdList);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentTemperatureService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentTemperatureService.java
index 03a9142..bd017bc 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentTemperatureService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentTemperatureService.java
@@ -1,15 +1,8 @@
 package org.jeecg.modules.mdc.service;
 
-import org.jeecg.modules.mdc.dto.EquipmentTemperatureDto;
-
 /**
  * @author: LiuS
  * @create: 2023-04-07 14:56
  */
 public interface IEquipmentTemperatureService {
-    EquipmentTemperatureDto getEquipmentTemperature(String equipmentId);
-
-    EquipmentTemperatureDto getEquipmentLagError(String equipmentId);
-
-    EquipmentTemperatureDto getEquipmentCurrent(String equipmentId);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java
index 076e641..afafb63 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentWorkLineService.java
@@ -1,7 +1,6 @@
 package org.jeecg.modules.mdc.service;
 
 import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 
 import java.util.Date;
 import java.util.List;
@@ -12,10 +11,6 @@
  * @create: 2023-04-07 14:06
  */
 public interface IEquipmentWorkLineService {
-    /**
-     * 閫氱敤杩愯鏁版嵁鏌ヨ
-     */
-    MdcEquipmentDto getMacingDataList(String tableName);
 
     /**
      * 鏌ユ壘瑗块棬瀛愮被鍨嬭澶囪繍琛屾椂娈电殑璁惧绋嬪簭鍙�
@@ -28,11 +23,6 @@
     Boolean isTableExist(String tableName);
 
     /**
-     * 鏌ヨ涓�娈垫椂闂村唴鐨勬暟鎹�
-     */
-    List<String> findRunningData(String tableName, Date startTime, Date endTime);
-
-    /**
      * 鏌ユ壘娉曞叞鍏嬭澶囪繍琛岀殑绋嬪簭鍙�
      * @param drivetype
      * @param equipmentid
@@ -41,22 +31,6 @@
      * @return
      */
     List<EquipmentMachingDto> getEquipProgramNum(String drivetype, String equipmentid, Date startTime, Date endTime);
-
-    /**
-     * 鏌ヨ娉曟媺鍏嬭澶囧姞宸ュ伐浠跺紑濮嬫椂闂�
-     * @param saveTableName
-     * @param productCount
-     * @return
-     */
-    MdcEquipmentDto findProductCountStartTime(String saveTableName, String productCount, Date startTime, Date endTime);
-
-    /**
-     * 鏌ヨ娉曟媺鍏嬭澶囧姞宸ュ伐浠剁粨鏉熸椂闂�
-     * @param saveTableName
-     * @param productCount
-     * @return
-     */
-    MdcEquipmentDto findProductCountEndTime(String saveTableName, String productCount, Date startTime, Date endTime);
 
     /**
      * 鑾峰彇璁惧杩愯鏁版嵁
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java
index b6cc4a6..b0137cb 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentXYZService.java
@@ -8,5 +8,4 @@
  * @create: 2023-04-07 14:39
  */
 public interface IEquipmentXYZService extends IService<EquipmentXYZ> {
-    EquipmentXYZ getByEquipmentId(String equipmentId);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java
index 7c055ed..9b05291 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDeviceCalendarService.java
@@ -8,7 +8,6 @@
 import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo;
 
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -39,38 +38,8 @@
     List<MdcDeviceCalendarVo> listByEquipmentAndDate(String equipmentid, List<String> stringDates);
 
     /**
-     * 璁$畻瀹為檯鐝骇澶╂暟
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    BigDecimal computeActualWorkDayCount(String equipmentId, String validDate);
-
-    /**
-     * 鏌ヨ鐝鍒嗙被
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    List<String> findShiftSort(String equipmentId, String validDate);
-
-    /**
-     * 璁$畻鐝鏃堕棿
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    BigDecimal computeShiftTimeCount(String equipmentId, String validDate);
-
-    /**
      * 鐢熸垚璁惧宸ヤ綔鏃ュ巻
      */
     void generateDeviceCalendar();
 
-    MdcDeviceCalendar getFirstData(String equipmentId);
-
-    List<MdcDeviceCalendarVo> listByEquipmentIdAndDate(String equipmentId, String date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java
new file mode 100644
index 0000000..f4d01bb
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeReasonService.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.mdc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
+
+import java.util.List;
+
+/**
+ * @Description: 鍋滄満鍘熷洜琛�
+ * @Author: lius
+ * @Date:   2025-03-11
+ */
+public interface IMdcDowntimeReasonService extends IService<MdcDowntimeReason> {
+
+    List<MdcDowntimeReason> downtimeReasonList(String downtimeType);
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java
new file mode 100644
index 0000000..ff528c1
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcDowntimeService.java
@@ -0,0 +1,45 @@
+package org.jeecg.modules.mdc.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.modules.mdc.dto.MdcDowntimeDto;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Description: 寰呮満鍋滄満琛�
+ * @Author: lius
+ * @Date: 2025-03-12
+ */
+public interface IMdcDowntimeService extends IService<MdcDowntime> {
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param userId
+     * @param page
+     * @param mdcDowntimeVo
+     * @param req
+     * @return
+     */
+    IPage<MdcDowntimeDto> pageList(String userId, Page<MdcDowntimeDto> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req);
+
+    /**
+     * 娣诲姞
+     * @param mdcDowntime
+     * @return
+     */
+    boolean saveDowntime(MdcDowntime mdcDowntime);
+
+    /**
+     *  鏌ヨ鍋滄満鏃堕暱
+     * @param equipmentId
+     * @param validDate
+     * @param closeType
+     * @return
+     */
+    Integer findPlanTimeDuration(String equipmentId, String validDate, String closeType);
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOverFlagService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOverFlagService.java
deleted file mode 100644
index a0665c5..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOverFlagService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jeecg.modules.mdc.service;
-
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOverFlag;
-
-/**
- * @Description: 璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�
- * @Author: Lius
- * @Date: 2023-12-05
- * @Version: V1.0
- */
-public interface IMdcEquipmentOverFlagService extends IService<MdcEquipmentOverFlag> {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java
deleted file mode 100644
index 5bf5d49..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentOvertimeService.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcEquipmentOvertime;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-
-/**
- * @Description: 璁惧鍔犵彮绠$悊
- * @Author: Lius
- * @Date: 2023-08-25
- * @Version: V1.0
- */
-public interface IMdcEquipmentOvertimeService extends IService<MdcEquipmentOvertime> {
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param mdcEquipmentOvertime
-     * @param req
-     * @return
-     */
-    IPage<MdcEquipmentOvertime> pageList(String userId, Page<MdcEquipmentOvertime> page, MdcEquipmentOvertime mdcEquipmentOvertime, HttpServletRequest req);
-
-    /**
-     * 瀵煎嚭
-     *
-     * @param userId
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    ModelAndView exportXls(String userId, MdcEquipmentOvertime mdcEquipmentOvertime);
-
-    /**
-     * 璁$畻鍔犵彮鏃堕棿
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    BigDecimal computeOvertime(String equipmentId, String validDate);
-
-    /**
-     * 娣诲姞
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    boolean addOvertime(MdcEquipmentOvertime mdcEquipmentOvertime);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRepairService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRepairService.java
deleted file mode 100644
index ca3464c..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRepairService.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcEquipmentRepair;
-import org.jeecg.modules.mdc.vo.MdcEquipmentRepairVo;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 璁惧缁翠慨浼戠彮
- * @Author: Sake
- * @Date: 2023-04-06 16:52
- */
-
-public interface IMdcEquipmentRepairService extends IService<MdcEquipmentRepair> {
-
-    /**
-     * 淇濆瓨鏁版嵁
-     *
-     * @param repairVo
-     * @return
-     */
-    boolean addMdcRepair(MdcEquipmentRepairVo repairVo);
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param repair
-     * @param req
-     * @return
-     */
-    IPage<MdcEquipmentRepair> pageList(String userId, Page page, MdcEquipmentRepair repair, HttpServletRequest req);
-
-    /**
-     * 淇敼鏁版嵁
-     *
-     * @param repair
-     * @return
-     */
-    boolean updateMdcRepair(MdcEquipmentRepair repair);
-
-    /**
-     * 鏌ヨ鏌愭鏃堕棿鍐呮槸鍚︽湁缁翠慨浼戠彮鏁版嵁
-     *
-     * @param equipmentid
-     * @param startDate
-     * @param endDate
-     * @return
-     */
-    List<MdcEquipmentRepair> mdcRepairListDate(String equipmentid, Date startDate, Date endDate);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java
index f326ac6..138f1c7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentRunningSectionService.java
@@ -79,13 +79,6 @@
      */
     Integer findAlarmCountByDate(String startDate, String endDate, MdcAlarmAnalyzeQueryVo vo);
 
-    /**
-     * 鏌ヨ鏃堕棿娈靛唴杩愯鏁版嵁
-     */
-    List<MdcEquipmentRunningSection> selectRunningData(String equipmentId, Date startDate, Date endDate);
-
     List<MdcAlarmListDto> selectAlarmList(MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, String startDate, String endDate);
-
-    List<Integer> getDataList(String equipmentId, Date date);
 
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
index 5e20315..6e2f1db 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.mdc.dto.MdcEquDepDto;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.entity.MdcEquipment;
 import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
 import org.jeecg.modules.mdc.model.MdcEquipmentTree;
@@ -180,11 +179,6 @@
     IPage<MdcEquipment> pageList(Page<MdcEquipment> page, MdcEquipmentVo mdcEquipment, HttpServletRequest req);
 
     /**
-     * 鐩戞帶璁惧杩愯鍙傛暟浠诲姟
-     */
-    void monitoringSpeedProcess();
-
-    /**
      * 瀵煎嚭List
      *
      * @param mdcEquipment
@@ -199,14 +193,6 @@
      * @return
      */
     List<MdcEquipmentTree> loadTreeListByProductionIds(String ids);
-
-    /**
-     * 鏌ヨ鍗曡〃鏁版嵁
-     *
-     * @param tableName
-     * @return
-     */
-    MdcEquipmentDto getWorkLineLast(String tableName);
 
     List<String> listEquipmentIdShift(MdcEfficiencyReportShiftQueryVo vo);
 
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java
index 51473ea..51d56e6 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalInfoService.java
@@ -17,4 +17,13 @@
      * @param dateTime
      */
     void runningAllEquipmentStatisticalProcess(String dateTime);
+
+    /**
+     * 鏌ヨ璁惧杩愯鏃堕棿
+     *
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    Integer selectProcessLong(String equipmentId, String validDate);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalShiftInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalShiftInfoService.java
index cc1b424..8be43b3 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalShiftInfoService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentStatisticalShiftInfoService.java
@@ -3,8 +3,6 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo;
 
-import java.math.BigDecimal;
-
 /**
  * @Description: 璁惧鍗曟棩鐝杩愯鏁版嵁琛�
  * @author: LiuS
@@ -18,14 +16,5 @@
      * @param dateTime
      */
     void runningAllEquipmentShiftStatisticalProcess(String dateTime);
-
-    /**
-     * 鏌ヨ涓昏酱杩愯鏃堕棿
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    BigDecimal findSpindleRunDuration(String equipmentId, String validDate);
 
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentThresholdService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentThresholdService.java
deleted file mode 100644
index e0f6077..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentThresholdService.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.jeecg.modules.mdc.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.mdc.entity.MdcEquipmentThreshold;
-
-/**
- * @Description: 璁惧鍙傛暟闃堝�艰〃
- * @Author: Lius
- * @Date: 2023-11-08
- * @Version: V1.0
- */
-public interface IMdcEquipmentThresholdService extends IService<MdcEquipmentThreshold> {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcFeedbackService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcFeedbackService.java
deleted file mode 100644
index dd462e8..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcFeedbackService.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.jeecg.modules.mdc.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.mdc.entity.MdcFeedback;
-
-import java.util.List;
-
-/**
- * @Description: 闂鍙嶉
- * @Author: Lius
- * @Date: 2024-05-16
- * @Version: V1.0
- */
-public interface IMdcFeedbackService extends IService<MdcFeedback> {
-
-    List<MdcFeedback> getFeedbackList(String key);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java
deleted file mode 100644
index cadcb5a..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcHomeService.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.jeecg.modules.mdc.service;
-
-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.vo.MdcCommonVo;
-import org.jeecg.modules.mdc.vo.MdcHomeEfficiencyVo;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author Lius
- * @date 2024/3/14 9:51
- */
-public interface IMdcHomeService {
-
-    /**
-     * 璁惧杩愯鐘舵�佺粺璁�
-     */
-    List<MdcCommonVo> getEquipmentStatusStatistics(String userId, String key);
-
-    /**
-     * 璁惧鍒╃敤鐜囩粺璁�
-     */
-    List<MdcCommonVo> getEquipmentUtilizationStatistics(String userId, String key);
-
-    /**
-     * 璁惧OEE缁熻
-     */
-    List<MdcCommonVo> getEquipmentOeeStatistics(String userId, String key);
-
-    /**
-     * 璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�
-     */
-    Map<String, Object> getEquipmentMonthStatistics(String userId, String key);
-
-    /**
-     * 宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘
-     */
-    Map<String, Object> getEquipmentDayUtilizationStatistics(String userId, String key);
-
-    /**
-     * 鏌ヨ璁惧涓婃湀OEE
-     */
-    List<MdcOverallEquipmentEfficiency> getEquipmentOEEMonthStatistics(String userId, String key);
-
-    /**
-     * 宸ユ绾ц澶囨晥鐜�
-     */
-    MdcHomeEfficiencyVo getEquipmentEfficiencyStatistics(String userId, String key);
-
-    /**
-     * 璁惧绾ф晥鐜囩粺璁�
-     */
-    MdcHomeEfficiencyVo getEquipmentLevelEfficiencyStatistics(String equipmentId);
-
-    /**
-     * 璁惧绾ф暣骞村害鍒╃敤鐜囧拰OEE
-     */
-    Map<String, Object> getEquipmentAnnualEfficiencyStatistics(String equipmentId);
-
-    /**
-     * 鏍规嵁杞﹂棿id鑾峰彇璁惧鍒楄〃
-     */
-    List<MdcEquipment> getEquipmentList(String key);
-
-    /**
-     * 鏌ヨ璁惧杩愯淇℃伅
-     */
-    MdcEquipmentDto getEquipmentDetails(String equipmentId);
-
-    List<MdcFeedback> getFeedbackList(String key);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java
deleted file mode 100644
index aa7cb03..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcMessageApproval;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @Description: mdc娑堟伅纭琛�
- * @Author: Lius
- * @Date: 2024-03-06
- * @Version: V1.0
- */
-public interface IMdcMessageApprovalService extends IService<MdcMessageApproval> {
-
-    /**
-     * 鍒楄〃鏌ヨ
-     */
-    IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcNoplanCloseService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcNoplanCloseService.java
index 5a60998..4761cce 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcNoplanCloseService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcNoplanCloseService.java
@@ -9,7 +9,6 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
 
 /**
  * @Description: 闈炶鍒掑仠鏈虹淮鎶よ〃
@@ -55,5 +54,4 @@
      */
     ModelAndView exportXls(String userId, MdcNoplanClose mdcNoplanClose);
 
-    BigDecimal findNoplanTimeDuration(String equipmentId, String validDate, String noplanType);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java
new file mode 100644
index 0000000..2a61763
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java
@@ -0,0 +1,49 @@
+package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcOeeInfo;
+import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
+import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @Description: OEE琛�
+ * @Author: lius
+ * @Date: 2024-12-12
+ */
+public interface IMdcOeeInfoService extends IService<MdcOeeInfo> {
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param userId
+     * @param page
+     * @param mdcOeeInfoVo
+     * @param req
+     * @return
+     */
+    IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req);
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcOeeInfoVo
+     * @return
+     */
+    ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo);
+
+    /**
+     * 璁$畻OEE
+     *
+     * @param mdcOeeComputeVo
+     */
+    void computeOee(MdcOeeComputeVo mdcOeeComputeVo);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java
deleted file mode 100644
index 58d4635..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcOverallEquipmentEfficiency;
-import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @author: LiuS
- * @create: 2023-10-18 09:25
- */
-public interface IMdcOverallEquipmentEfficiencyService extends IService<MdcOverallEquipmentEfficiency> {
-
-    /**
-     * 璁$畻璁惧缁煎悎鏁堢巼OEE
-     */
-    void runningOverallEquipmentEfficiency(String dateTime);
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param mdcOverallEquipmentEfficiencyVo
-     * @param req
-     * @return
-     */
-    IPage<MdcOverallEquipmentEfficiency> pageList(String userId, Page<MdcOverallEquipmentEfficiency> page, MdcOverallEquipmentEfficiencyVo mdcOverallEquipmentEfficiencyVo, HttpServletRequest req);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java
deleted file mode 100644
index ce75112..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverrunAlarmService.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverrunAlarm;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @Description: mdc瓒呴檺鎶ヨ
- * @Author: Lius
- * @Date: 2024-03-01
- * @Version: V1.0
- */
-public interface IMdcOverrunAlarmService extends IService<MdcOverrunAlarm> {
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param page
-     * @param mdcEquipment
-     * @param req
-     * @return
-     */
-    IPage<MdcOverrunAlarm> pageList(Page<MdcOverrunAlarm> page, MdcEquipment mdcEquipment, HttpServletRequest req);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPartProcessInfoService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPartProcessInfoService.java
new file mode 100644
index 0000000..f88c2a3
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPartProcessInfoService.java
@@ -0,0 +1,47 @@
+package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcPartProcessInfo;
+import org.jeecg.modules.mdc.vo.MdcPartProcessInfoVo;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @Description: 闆朵欢鍔犲伐鏁版嵁琛�
+ * @Author: lius
+ * @Date: 2024-12-11
+ */
+public interface IMdcPartProcessInfoService extends IService<MdcPartProcessInfo> {
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param userId
+     * @param page
+     * @param mdcPartProcessInfo
+     * @param req
+     * @return
+     */
+    IPage<MdcPartProcessInfo> pageList(String userId, Page<MdcPartProcessInfo> page, MdcPartProcessInfoVo mdcPartProcessInfo, HttpServletRequest req);
+
+    /**
+     * 娣诲姞
+     *
+     * @param mdcPartProcessInfo
+     * @return
+     */
+    boolean addPartProcess(MdcPartProcessInfoVo mdcPartProcessInfo);
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcPartProcessInfo
+     * @return
+     */
+    ModelAndView exportXls(String userId, MdcPartProcessInfoVo mdcPartProcessInfo);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPassRateService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPassRateService.java
index 0420255..70d5a9f 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPassRateService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPassRateService.java
@@ -8,7 +8,6 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
 
 /**
  * @Description: 鍚堟牸鐜囪〃
@@ -54,7 +53,4 @@
      */
     ModelAndView exportXls(String userId, MdcPassRate mdcPassRate);
 
-    BigDecimal findProcessQuantity(String equipmentId, String validDate);
-
-    BigDecimal findUnqualifiedQuantity(String equipmentId, String validDate);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPlanCloseService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPlanCloseService.java
index d2b83ed..e51bc2c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPlanCloseService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcPlanCloseService.java
@@ -13,5 +13,4 @@
  */
 public interface IMdcPlanCloseService extends IService<MdcPlanClose> {
 
-    BigDecimal findPlanTimeDuration(BigDecimal actualWorkDayCount, String planCloseType);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
deleted file mode 100644
index 974d918..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcTorqueConfigService.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.dto.EquipmentMachingDto;
-import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Description: 鎵煩閰嶇疆绠$悊
- * @Author: ym
- * @Date: 2023-06-29
- */
-public interface IMdcTorqueConfigService extends IService<MdcTorqueConfig> {
-
-    /**
-     * 鏍规嵁id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    MdcTorqueConfig queryById(String id);
-
-
-    /**
-     * 娣诲姞鎵煩閰嶇疆
-     *
-     * @param torqueVo
-     * @return
-     */
-    Boolean addTorque(MdcTorqueConfig torqueVo);
-
-    /**
-     * 缂栬緫鎵煩閰嶇疆
-     *
-     * @param mdcTorqueConfig
-     * @return
-     */
-    Boolean editTorque(MdcTorqueConfig mdcTorqueConfig);
-
-    /**
-     * 鏍规嵁id鍒犻櫎
-     *
-     * @param id
-     * @return
-     */
-    Boolean deleteTorque(String id);
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    Boolean deleteBatchTorque(String ids);
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param req
-     * @param mdcTorqueConfig
-     * @return
-     */
-    IPage<MdcTorqueConfig> pageList(String userId, Page page, HttpServletRequest req, MdcTorqueConfig mdcTorqueConfig);
-
-    /**
-     * 瀵煎嚭
-     *
-     * @param userId
-     * @param mdcTorqueConfig
-     * @return
-     */
-    ModelAndView exportXls(String userId, MdcTorqueConfig mdcTorqueConfig);
-
-    /**
-     * 鑾峰彇宸ヤ綔鏇茬嚎
-     * @param equipmentId
-     * @param startTime
-     * @param endTime
-     * @return
-     */
-    List<EquipmentMachingDto> getWorkLineList(String equipmentId, Date startTime, Date endTime);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcVacationManagementService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcVacationManagementService.java
deleted file mode 100644
index 168835f..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcVacationManagementService.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.jeecg.modules.mdc.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.modules.mdc.entity.MdcVacationManagement;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * @Description: 鍋囨湡绠$悊
- * @Author: ym
- * @Date: 2023-07-05
- */
-public interface IMdcVacationManagementService extends IService<MdcVacationManagement> {
-
-    /**
-     * 鏍规嵁id鏌ヨ
-     *
-     * @param id
-     * @return
-     */
-    MdcVacationManagement queryById(String id);
-
-    /**
-     * 鏂板鍋囨湡绠$悊
-     *
-     * @param mdcVacationManagement
-     * @return
-     */
-    Boolean addVacation(MdcVacationManagement mdcVacationManagement);
-
-    /**
-     * 缂栬緫鍋囨湡绠$悊
-     *
-     * @param mdcVacationManagement
-     * @return
-     */
-    Boolean editVacation(MdcVacationManagement mdcVacationManagement);
-
-    /**
-     * 鏍规嵁id鍒犻櫎
-     *
-     * @param id
-     * @return
-     */
-    Boolean deleteVacation(String id);
-
-    /**
-     * 鎵归噺鍒犻櫎
-     *
-     * @param ids
-     * @return
-     */
-    Boolean deleteBatchVacation(String ids);
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param req
-     * @param mdcVacationManagement
-     * @return
-     */
-    IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req, MdcVacationManagement mdcVacationManagement);
-
-    /**
-     * 鐢熸垚鍙屼紤鏃ヤ换鍔�
-     */
-    void generateWeekDays();
-
-    /**
-     * 瀵煎嚭
-     *
-     * @param userId
-     * @param mdcVacationManagement
-     * @return
-     */
-    ModelAndView exportXls(String userId, MdcVacationManagement mdcVacationManagement);
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java
deleted file mode 100644
index 658c9bb..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package org.jeecg.modules.mdc.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.mdc.dto.MdcProcessCountDto;
-import org.jeecg.modules.mdc.entity.MdcProcessCount;
-import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
-
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.util.List;
-
-/**
- * @author Lius
- * @date 2023/11/23 10:17
- */
-public interface IProcessCountService extends IService<MdcProcessCount> {
-
-    /**
-     * 璁$畻鍔犲伐宸ヤ欢涓暟鍜屾椂闂翠换鍔�
-     */
-    void runningProcessCount();
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param userId
-     * @param mdcProcessCountVo
-     * @param req
-     * @return
-     */
-    List<MdcProcessCountDto> pageList(String userId, MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req);
-
-    BigDecimal findDuration(String equipmentId, String validDate);
-
-    BigDecimal findCount(String equipmentId, String validDate);
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java
index d3dccf2..10907bd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/MdcEfficiencyReportService.java
@@ -4,9 +4,6 @@
 import org.jeecg.modules.mdc.dto.DayUtilizationRateDto;
 import org.jeecg.modules.mdc.vo.*;
 
-import java.math.BigDecimal;
-import java.util.List;
-
 /**
  * @author: LiuS
  * @create: 2023-06-15 17:25
@@ -94,12 +91,4 @@
      */
     MdcUtilizationRateDto utilizationRateTrendAnalyze(String userId, DayUtilizationRateContrastQueryVo vo);
 
-    /**
-     * 鑾峰彇鍒╃敤鐜�
-     *
-     * @param equipmentId
-     * @param date
-     * @return
-     */
-    List<BigDecimal> getEfficiencyRate(String equipmentId, String date);
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ControlSystemServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ControlSystemServiceImpl.java
index 0de49de..1418f43 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ControlSystemServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ControlSystemServiceImpl.java
@@ -15,9 +15,5 @@
  */
 @Service
 public class ControlSystemServiceImpl extends ServiceImpl<ControlSystemMapper, ControlSystem> implements IControlSystemService {
-    @Override
-    public ControlSystem getByDriveType(String driveType) {
-        List<ControlSystem> list = lambdaQuery().eq(ControlSystem::getDriveType, driveType).eq(ControlSystem::getDataFlag, CommonConstant.STATUS_1).list();
-        return !list.isEmpty() ? list.get(0) : null;
-    }
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentBaseInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentBaseInfoServiceImpl.java
index e3a1b29..323993b 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentBaseInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentBaseInfoServiceImpl.java
@@ -13,8 +13,5 @@
  */
 @Service
 public class EquipmentBaseInfoServiceImpl extends ServiceImpl<EquipmentBaseInfoMapper, EquipmentBaseInfo> implements IEquipmentBaseInfoService {
-    @Override
-    public EquipmentBaseInfo getByEquipmentId(String equipmentId) {
-        return this.getOne(new LambdaQueryWrapper<EquipmentBaseInfo>().eq(EquipmentBaseInfo::getEquipmentid, equipmentId));
-    }
+
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java
index 7a2da87..17f72b4 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentLogServiceImpl.java
@@ -54,8 +54,4 @@
         return this.baseMapper.selectEquipmentOporation(equipmentId);
     }
 
-    @Override
-    public List<EquipmentLog> getEquipmentStatusList(List<String> equipmentIdList) {
-        return this.baseMapper.getEquipmentStatusList(equipmentIdList);
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentTemperatureServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentTemperatureServiceImpl.java
index 5ee53f1..3adc65e 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentTemperatureServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentTemperatureServiceImpl.java
@@ -1,13 +1,7 @@
 package org.jeecg.modules.mdc.service.impl;
 
-import org.jeecg.modules.mdc.dto.EquipmentTemperatureDto;
-import org.jeecg.modules.mdc.mapper.EquipmentTemperatureMapper;
 import org.jeecg.modules.mdc.service.IEquipmentTemperatureService;
 import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
 
 /**
  * @author: LiuS
@@ -15,56 +9,4 @@
  */
 @Service
 public class EquipmentTemperatureServiceImpl implements IEquipmentTemperatureService {
-
-    @Resource
-    private EquipmentTemperatureMapper equipmentTemperatureMapper;
-
-    @Override
-    public EquipmentTemperatureDto getEquipmentTemperature(String equipmentId) {
-        try {
-            List<Map<String, Object>> list = equipmentTemperatureMapper.getEquipmentTemperature(equipmentId);
-            if (list == null || list.isEmpty()) {
-                return null;
-            }
-            return convertData(list);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    @Override
-    public EquipmentTemperatureDto getEquipmentLagError(String equipmentId) {
-        try {
-            List<Map<String, Object>> list = equipmentTemperatureMapper.getEquipmentLagError(equipmentId);
-            if (list == null || list.isEmpty()) {
-                return null;
-            }
-            return convertData(list);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    @Override
-    public EquipmentTemperatureDto getEquipmentCurrent(String equipmentId) {
-        try {
-            List<Map<String, Object>> list = equipmentTemperatureMapper.getEquipmentCurrent(equipmentId);
-            return convertData(list);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    private EquipmentTemperatureDto convertData(List<Map<String, Object>> list) {
-        EquipmentTemperatureDto ei = null;
-        for (Map<String, Object> map : list) {
-            ei = new EquipmentTemperatureDto();
-            ei.setX(map.get("X") == null ? null : map.get("X").toString());
-            ei.setY(map.get("Y") == null ? null : map.get("Y").toString());
-            ei.setZ(map.get("Z") == null ? null : map.get("Z").toString());
-            ei.setA(map.get("A") == null ? null : map.get("A").toString());
-            ei.setB(map.get("B") == null ? null : map.get("B").toString());
-        }
-        return ei;
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java
index c0b336d..45eea48 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentWorkLineServiceImpl.java
@@ -1,7 +1,6 @@
 package org.jeecg.modules.mdc.service.impl;
 
 import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.mapper.EquipmentWorklineMapper;
 import org.jeecg.modules.mdc.service.IEquipmentWorkLineService;
 import org.springframework.stereotype.Service;
@@ -23,16 +22,6 @@
     private EquipmentWorklineMapper equipmentWorkLineMapper;
 
     @Override
-    public MdcEquipmentDto getMacingDataList(String tableName) {
-        try {
-            List<MdcEquipmentDto> macingDataList = equipmentWorkLineMapper.getMacingDataList(tableName);
-            return !macingDataList.isEmpty() ? macingDataList.get(0) : null;
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    @Override
     @Transactional(readOnly = true)
     public List<EquipmentMachingDto> getEquipmentSequencenumber(String tableName, Date startTime, Date endTime) {
         try {
@@ -50,31 +39,8 @@
     }
 
     @Override
-    public List<String> findRunningData(String tableName, Date startTime, Date endTime) {
-        return equipmentWorkLineMapper.findRunningData(tableName, startTime, endTime);
-    }
-
-    @Override
     public List<EquipmentMachingDto> getEquipProgramNum(String drivetype, String equipmentid, Date startTime, Date endTime) {
         return equipmentWorkLineMapper.getEquipProgramNum(drivetype + "_" + equipmentid, startTime, endTime);
-    }
-
-    @Override
-    public MdcEquipmentDto findProductCountStartTime(String saveTableName, String productCount, Date startTime, Date endTime) {
-        try {
-            return equipmentWorkLineMapper.findProductCountStartTime(saveTableName, productCount, startTime, endTime);
-        } catch (Exception e) {
-            return null;
-        }
-    }
-
-    @Override
-    public MdcEquipmentDto findProductCountEndTime(String saveTableName, String productCount, Date startTime, Date endTime) {
-        try {
-            return equipmentWorkLineMapper.findProductCountEndTime(saveTableName, productCount, startTime, endTime);
-        } catch (Exception e) {
-            return null;
-        }
     }
 
     @Override
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java
index bf71411..1d21037 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentXYZServiceImpl.java
@@ -1,6 +1,5 @@
 package org.jeecg.modules.mdc.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.modules.mdc.entity.EquipmentXYZ;
 import org.jeecg.modules.mdc.mapper.EquipmentXYZMapper;
@@ -13,8 +12,4 @@
  */
 @Service
 public class EquipmentXYZServiceImpl extends ServiceImpl<EquipmentXYZMapper, EquipmentXYZ> implements IEquipmentXYZService {
-    @Override
-    public EquipmentXYZ getByEquipmentId(String equipmentId) {
-        return this.getOne(new LambdaQueryWrapper<EquipmentXYZ>().eq(EquipmentXYZ::getEquipmentid, equipmentId));
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java
deleted file mode 100644
index cb3f76b..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/IMdcHomeServiceImpl.java
+++ /dev/null
@@ -1,508 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import org.jeecg.common.system.vo.DictModel;
-import org.jeecg.modules.mdc.constant.MdcConstant;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
-import org.jeecg.modules.mdc.entity.*;
-import org.jeecg.modules.mdc.mapper.MdcHomeMapper;
-import org.jeecg.modules.mdc.service.*;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.vo.*;
-import org.jeecg.modules.system.entity.MdcProduction;
-import org.jeecg.modules.system.service.IMdcProductionService;
-import org.jeecg.modules.system.service.ISysDictService;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.LocalDate;
-import java.util.*;
-
-/**
- * @author Lius
- * @date 2024/3/14 9:52
- */
-@Service
-public class IMdcHomeServiceImpl implements IMdcHomeService {
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private IEquipmentService equipmentService;
-
-    @Resource
-    private ISysDictService sysDictService;
-
-    @Resource
-    private IEquipmentWorkLineService equipmentWorkLineService;
-
-    @Resource
-    private MdcHomeMapper mdcHomeMapper;
-
-    @Resource
-    private IMdcProductionService mdcProductionService;
-
-    @Resource
-    private IEquipmentLogService equipmentLogService;
-
-    @Resource
-    private IMdcFeedbackService mdcFeedbackService;
-
-    /**
-     * 璁惧杩愯鐘舵�佺粺璁�
-     */
-    @Override
-    public List<MdcCommonVo> getEquipmentStatusStatistics(String userId, String key) {
-        List<MdcCommonVo> result = new ArrayList<>();
-        MdcCommonVo mdcCommonVo1 = new MdcCommonVo();
-        mdcCommonVo1.setName("鍏虫満");
-        mdcCommonVo1.setValue("0");
-        result.add(mdcCommonVo1);
-        MdcCommonVo mdcCommonVo2 = new MdcCommonVo();
-        mdcCommonVo2.setName("鎶ヨ");
-        mdcCommonVo2.setValue("0");
-        result.add(mdcCommonVo2);
-        MdcCommonVo mdcCommonVo3 = new MdcCommonVo();
-        mdcCommonVo3.setName("寰呮満");
-        mdcCommonVo3.setValue("0");
-        result.add(mdcCommonVo3);
-        MdcCommonVo mdcCommonVo4 = new MdcCommonVo();
-        mdcCommonVo4.setName("杩愯");
-        mdcCommonVo4.setValue("0");
-        result.add(mdcCommonVo4);
-        MdcEquipmentStatusVo mdcEquipmentStatusVo = new MdcEquipmentStatusVo();
-        if (StringUtils.isBlank(key)) {
-            return result;
-        }
-        List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key);
-        if (equipmentIdList == null || equipmentIdList.isEmpty()) {
-            return result;
-        }
-//        List<EquipmentLog> logList = equipmentLogService.getEquipmentStatusList(equipmentIdList);
-        List<Equipment> equipmentList = equipmentService.list(new LambdaQueryWrapper<Equipment>().in(Equipment::getEquipmentid, equipmentIdList));
-        if (equipmentList != null && !equipmentList.isEmpty()) {
-            for (Equipment equipment : equipmentList) {
-                if (equipment.getOporation() != null) {
-                    switch (equipment.getOporation()) {
-                        case 1:
-                        case 2:
-                            mdcEquipmentStatusVo.setWaitCount(mdcEquipmentStatusVo.getWaitCount() + 1);
-                            break;
-                        case 3:
-                            mdcEquipmentStatusVo.setRunCount(mdcEquipmentStatusVo.getRunCount() + 1);
-                            break;
-                        case 22:
-                            mdcEquipmentStatusVo.setAlarmCount(mdcEquipmentStatusVo.getAlarmCount() + 1);
-                            break;
-                        default:
-                            mdcEquipmentStatusVo.setCloseCount(mdcEquipmentStatusVo.getCloseCount() + 1);
-                            break;
-                    }
-                } else {
-                    mdcEquipmentStatusVo.setCloseCount(mdcEquipmentStatusVo.getCloseCount() + 1);
-                }
-            }
-        }
-        result.clear();
-        MdcCommonVo mdcCommonVo5 = new MdcCommonVo();
-        mdcCommonVo5.setName("鍏虫満");
-        mdcCommonVo5.setValue(mdcEquipmentStatusVo.getCloseCount().toString());
-        result.add(mdcCommonVo5);
-        MdcCommonVo mdcCommonVo6 = new MdcCommonVo();
-        mdcCommonVo6.setName("鎶ヨ");
-        mdcCommonVo6.setValue(mdcEquipmentStatusVo.getAlarmCount().toString());
-        result.add(mdcCommonVo6);
-        MdcCommonVo mdcCommonVo7 = new MdcCommonVo();
-        mdcCommonVo7.setName("寰呮満");
-        mdcCommonVo7.setValue(mdcEquipmentStatusVo.getWaitCount().toString());
-        result.add(mdcCommonVo7);
-        MdcCommonVo mdcCommonVo8 = new MdcCommonVo();
-        mdcCommonVo8.setName("杩愯");
-        mdcCommonVo8.setValue(mdcEquipmentStatusVo.getRunCount().toString());
-        result.add(mdcCommonVo8);
-        return result;
-    }
-
-    /**
-     * 璁惧鍒╃敤鐜囩粺璁�
-     */
-    @Override
-    public List<MdcCommonVo> getEquipmentUtilizationStatistics(String userId, String key) {
-        List<MdcCommonVo> result = new ArrayList<>();
-        //鑾峰彇鍏徃鎴栧巶鍖轰簩绾т俊鎭�
-        List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(userId, key);
-        if (mdcProductionList != null && !mdcProductionList.isEmpty()) {
-            for (MdcProduction mdcProduction : mdcProductionList) {
-                MdcCommonVo mdcCommonVo = new MdcCommonVo();
-                mdcCommonVo.setName(mdcProduction.getProductionName());
-                mdcCommonVo.setProductionCode(mdcProduction.getProductionCode());
-                mdcCommonVo.setProductionId(mdcProduction.getId());
-                //鑾峰彇姝ゅ眰绾т笅璁惧
-                List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcProduction.getId());
-                if (equipmentIdList == null || equipmentIdList.isEmpty()) {
-                    mdcCommonVo.setValue("0");
-                } else {
-                    String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-                    BigDecimal processCount = mdcHomeMapper.getProcessCount(equipmentIdList, date);
-                    if (processCount == null || processCount.compareTo(BigDecimal.ZERO) == 0) {
-                        mdcCommonVo.setValue("0");
-                    } else {
-                        mdcCommonVo.setValue(processCount.divide(new BigDecimal("86400").multiply(new BigDecimal(equipmentIdList.size())), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString());
-                    }
-                }
-                result.add(mdcCommonVo);
-            }
-        }
-        if (!result.isEmpty()) {
-            result.sort(Comparator.comparing(MdcCommonVo::getValue).reversed());
-        }
-        return result;
-    }
-
-    /**
-     * 璁惧OEE缁熻
-     */
-    @Override
-    public List<MdcCommonVo> getEquipmentOeeStatistics(String userId, String key) {
-        List<MdcCommonVo> result = new ArrayList<>();
-        //鑾峰彇鍏徃鎴栧巶鍖轰簩绾т俊鎭�
-        List<MdcProduction> mdcProductionList = mdcHomeMapper.getProductionByPid(userId, key);
-        if (mdcProductionList != null && !mdcProductionList.isEmpty()) {
-            for (MdcProduction mdcProduction : mdcProductionList) {
-                MdcCommonVo mdcCommonVo = new MdcCommonVo();
-                mdcCommonVo.setName(mdcProduction.getProductionName());
-                mdcCommonVo.setProductionCode(mdcProduction.getProductionCode());
-                mdcCommonVo.setProductionId(mdcProduction.getId());
-                //鑾峰彇姝ゅ眰绾т笅璁惧
-                List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcProduction.getId());
-                if (equipmentIdList == null || equipmentIdList.isEmpty()) {
-                    mdcCommonVo.setValue("0");
-                } else {
-                    String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH);
-                    BigDecimal oee = mdcHomeMapper.getOeeByDate(equipmentIdList, date);
-                    if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) {
-                        mdcCommonVo.setValue("0");
-                    } else {
-                        mdcCommonVo.setValue(oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString());
-                    }
-                }
-                result.add(mdcCommonVo);
-            }
-        }
-        return result;
-    }
-
-    /**
-     * 璁惧OEE鍜屽埄鐢ㄧ巼缁熻鏌辩姸鍥�
-     */
-    @Override
-    public Map<String, Object> getEquipmentMonthStatistics(String userId, String key) {
-        List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key);
-        Map<String, Object> result = new HashMap<>();
-        Date end = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE);
-        Date start = DateUtils.toDate(LocalDate.now().plusMonths(-12).toString(), DateUtils.STR_DATE);
-        List<String> monthBetween = DateUtils.getMonthBetween(start, end);
-        List<String> dateList = new ArrayList<>();
-        List<MdcCommonVo> utilizationList = new ArrayList<>();
-        List<MdcCommonVo> oeeList = new ArrayList<>();
-        for (String month : monthBetween) {
-            //鏃ユ湡闆嗗悎
-            String name = month.substring(month.lastIndexOf("-") + 1).replaceFirst("^0*", "") + "鏈�";
-            dateList.add(name);
-            //鍒╃敤鐜囧拰oee
-            MdcCommonVo mdcCommonUtilizationVo = new MdcCommonVo();
-            mdcCommonUtilizationVo.setName(name);
-            MdcCommonVo mdcCommonOeeVo = new MdcCommonVo();
-            mdcCommonOeeVo.setName(name);
-            if (equipmentIdList == null || equipmentIdList.isEmpty()) {
-                mdcCommonUtilizationVo.setValue("0");
-                mdcCommonOeeVo.setValue("0");
-            } else {
-                //鍒╃敤鐜�
-                Map<String, Object> resultMap = mdcHomeMapper.getUtilizationByMonth(equipmentIdList, month.replace("-", ""));
-                if (resultMap != null && resultMap.get("processLong") != null) {
-                    BigDecimal processLong = BigDecimal.valueOf((Double) resultMap.get("processLong"));
-                    BigDecimal processDay = new BigDecimal((Integer) resultMap.get("processDay"));
-                    if (processLong.compareTo(BigDecimal.ZERO) == 0) {
-                        mdcCommonUtilizationVo.setValue("0");
-                    } else {
-                        mdcCommonUtilizationVo.setValue(processLong.divide(processDay.multiply(new BigDecimal("86400")), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString());
-                    }
-                } else {
-                    mdcCommonUtilizationVo.setValue("0");
-                }
-
-                //OEE
-                BigDecimal oee = mdcHomeMapper.getOeeByDate(equipmentIdList, month);
-                if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) {
-                    mdcCommonOeeVo.setValue("0");
-                } else {
-                    mdcCommonOeeVo.setValue(oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP).toString());
-                }
-            }
-            utilizationList.add(mdcCommonUtilizationVo);
-            oeeList.add(mdcCommonOeeVo);
-        }
-        result.put("dateList", dateList);
-        result.put("utilizationList", utilizationList);
-        result.put("oeeList", oeeList);
-        return result;
-    }
-
-    /**
-     * 宸ユ绾у墠涓冨ぉ鍒╃敤鐜囨姌绾垮浘
-     */
-    @Override
-    public Map<String, Object> getEquipmentDayUtilizationStatistics(String userId, String key) {
-        Map<String, Object> result = new HashMap<>();
-        List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key);
-        //鑾峰彇鍓嶄竷澶╂棩鏈熼泦鍚�
-        String start = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-7).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-        String end = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-        if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
-            List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().in(MdcEquipment::getEquipmentId, equipmentIdList));
-            result.put("mdcEquipmentList", mdcEquipmentList);
-            List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfoList = mdcHomeMapper.getEquipmentSevenUtilizationStatistics(equipmentIdList, start, end);
-            List<EquipmentDayUtilizationVo> dataList = new ArrayList<>();
-            if (mdcEquipmentStatisticalInfoList != null && !mdcEquipmentStatisticalInfoList.isEmpty()) {
-                for (MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo : mdcEquipmentStatisticalInfoList) {
-                    EquipmentDayUtilizationVo equipmentDayUtilizationVo = new EquipmentDayUtilizationVo();
-                    equipmentDayUtilizationVo.setEquipmentId(mdcEquipmentStatisticalInfo.getEquipmentId());
-                    equipmentDayUtilizationVo.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(mdcEquipmentStatisticalInfoList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                    if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) {
-                        equipmentDayUtilizationVo.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                        equipmentDayUtilizationVo.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(mdcEquipmentStatisticalInfoList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                    }
-                    dataList.add(equipmentDayUtilizationVo);
-                }
-            }
-            result.put("dataList", dataList);
-        }
-        /*List<String> dayBetween = DateUtils.getDatesStringList2(start, end);
-        List<String> dateList = new ArrayList<>();
-        List<EquipmentDayUtilizationVo> dataList = new ArrayList<>();
-        for (String date : dayBetween) {
-            EquipmentDayUtilizationVo equipmentDayUtilizationVo = new EquipmentDayUtilizationVo();
-            String item = date.substring(4);
-            if (item.startsWith("0")) {
-                item = item.substring(1);
-                String sub = item.substring(1);
-                if (sub.startsWith("0")) {
-                    item = item.substring(0, 1) + "鏈�" + sub.substring(1) + "鏃�";
-                } else {
-                    item = item.substring(0, 1) + "鏈�" + item.substring(1) + "鏃�";
-                }
-            } else {
-                String sub = item.substring(2);
-                if (sub.startsWith("0")) {
-                    item = item.substring(0, 2) + "鏈�" + sub.substring(2) + "鏃�";
-                } else {
-                    item = item.substring(0, 2) + "鏈�" + item.substring(2) + "鏃�";
-                }
-            }
-            dateList.add(item);
-            equipmentDayUtilizationVo.setDate(item);
-            if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
-                //鑾峰彇鍓嶄竷澶╁埄鐢ㄧ巼鏁版嵁
-                List<MdcEquipmentStatisticalInfo> mdcEquipmentStatisticalInfos = mdcHomeMapper.getEquipmentDayUtilizationStatistics(equipmentIdList, dayBetween);
-                if (mdcEquipmentStatisticalInfos != null && !mdcEquipmentStatisticalInfos.isEmpty()) {
-                    for (MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo : mdcEquipmentStatisticalInfos) {
-                        if (mdcEquipmentStatisticalInfo.getTheDate().equals(date)) {
-                            equipmentDayUtilizationVo.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                            if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) {
-                                equipmentDayUtilizationVo.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                                equipmentDayUtilizationVo.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                            }
-                        }
-                    }
-                } else {
-                    dataList.add(equipmentDayUtilizationVo);
-                }
-            } else {
-                dataList.add(equipmentDayUtilizationVo);
-            }
-        }
-        result.put("dateList", dateList);
-        result.put("dataList", dataList);*/
-        return result;
-    }
-
-    /**
-     * 鏌ヨ璁惧涓婃湀OEE
-     */
-    @Override
-    public List<MdcOverallEquipmentEfficiency> getEquipmentOEEMonthStatistics(String userId, String key) {
-        List<MdcOverallEquipmentEfficiency> result = new ArrayList<>();
-        List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key);
-        if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
-            String validDate = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH);
-            result = mdcHomeMapper.getEquipmentOEEMonthStatistics(validDate, equipmentIdList);
-        }
-        return result;
-    }
-
-    /**
-     * 宸ユ绾ц澶囨晥鐜�
-     */
-    @Override
-    public MdcHomeEfficiencyVo getEquipmentEfficiencyStatistics(String userId, String key) {
-        MdcHomeEfficiencyVo result = new MdcHomeEfficiencyVo();
-        result.setProductionId(key);
-        MdcProduction mdcProduction = mdcProductionService.getById(key);
-        result.setProductionName(mdcProduction.getProductionName());
-        List<String> equipmentIdList = mdcEquipmentService.getEquipmentIdsProduction(userId, key);
-        if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
-            // 鑾峰彇鍒╃敤鐜囨暟鎹�
-            String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-            MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo = mdcHomeMapper.getUtilizationByDay(equipmentIdList, date);
-            if (mdcEquipmentStatisticalInfo != null) {
-                result.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) {
-                    result.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                    result.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                }
-            }
-            //鑾峰彇OEE鏁版嵁
-            String month = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH);
-            BigDecimal oee = mdcHomeMapper.getOeeByDate(equipmentIdList, month);
-            if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) {
-                result.setOverallEquipmentEfficiency(BigDecimal.ZERO);
-            } else {
-                result.setOverallEquipmentEfficiency(oee.divide(new BigDecimal(equipmentIdList.size()), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-            }
-        }
-        return result;
-    }
-
-    /**
-     * 璁惧绾ф晥鐜囩粺璁�
-     */
-    @Override
-    public MdcHomeEfficiencyVo getEquipmentLevelEfficiencyStatistics(String equipmentId) {
-        MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId));
-        if (mdcEquipment == null) {
-            return null;
-        }
-        MdcHomeEfficiencyVo result = new MdcHomeEfficiencyVo();
-        String date = DateUtils.format(DateUtils.toDate(LocalDate.now().plusDays(-1).toString(), DateUtils.STR_DATE), DateUtils.STRDATE);
-        MdcEquipmentStatisticalInfo mdcEquipmentStatisticalInfo = mdcHomeMapper.getUtilizationByDay(Arrays.asList(equipmentId.split(",")), date);
-        if (mdcEquipmentStatisticalInfo != null) {
-            result.setUtilizationRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-            if (BigDecimal.ZERO.compareTo(mdcEquipmentStatisticalInfo.getOpenLong()) == -1) {
-                result.setOpenRate(mdcEquipmentStatisticalInfo.getProcessLong().divide(mdcEquipmentStatisticalInfo.getOpenLong(), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                result.setStartRate(mdcEquipmentStatisticalInfo.getOpenLong().divide(new BigDecimal("864"), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-            }
-        }
-        //鑾峰彇OEE鏁版嵁
-        String month = DateUtils.format(DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE), DateUtils.STR_YEAR_MONTH);
-        BigDecimal oee = mdcHomeMapper.getOeeByDate(Arrays.asList(equipmentId.split(",")), month);
-        if (oee == null || oee.compareTo(BigDecimal.ZERO) == 0) {
-            result.setOverallEquipmentEfficiency(BigDecimal.ZERO);
-        } else {
-            result.setOverallEquipmentEfficiency(oee.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-        }
-        return result;
-    }
-
-    /**
-     * 璁惧绾ф暣骞村害鍒╃敤鐜�
-     */
-    @Override
-    public Map<String, Object> getEquipmentAnnualEfficiencyStatistics(String equipmentId) {
-        MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId));
-        if (mdcEquipment == null) {
-            return null;
-        }
-        Map<String, Object> result = new HashMap<>();
-        Date end = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE);
-        Date start = DateUtils.toDate(LocalDate.now().plusMonths(-12).toString(), DateUtils.STR_DATE);
-        List<String> monthBetween = DateUtils.getMonthBetween(start, end);
-        List<String> dateList = new ArrayList<>();
-        List<MdcHomeEquipmentVo> dataList = new ArrayList<>();
-        for (String month : monthBetween) {
-            String name = month.substring(month.lastIndexOf("-") + 1).replaceFirst("^0*", "") + "鏈�";
-            dateList.add(name);
-            //鍒╃敤鐜囧拰oee
-            MdcHomeEquipmentVo mdcHomeEquipmentVo = new MdcHomeEquipmentVo();
-            mdcHomeEquipmentVo.setMonth(name);
-            //鍒╃敤鐜�
-            Map<String, Object> resultMap = mdcHomeMapper.getUtilizationByMonth(Arrays.asList(equipmentId.split(",")), month.replace("-", ""));
-            if (resultMap != null && resultMap.get("processLong") != null) {
-                BigDecimal processLong = BigDecimal.valueOf((Double) resultMap.get("processLong"));
-                BigDecimal openLong = BigDecimal.valueOf((Double) resultMap.get("openLong"));
-                BigDecimal processDay = new BigDecimal((Integer) resultMap.get("processDay"));
-                if (BigDecimal.ZERO.compareTo(processLong) == -1) {
-                    mdcHomeEquipmentVo.setUtilizationRate(processLong.divide(processDay.multiply(new BigDecimal("86400")), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                    if (BigDecimal.ZERO.compareTo(openLong) == -1) {
-                        mdcHomeEquipmentVo.setStartRate(openLong.divide(new BigDecimal("86400"), 4, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP));
-                        mdcHomeEquipmentVo.setOpenRate(processDay.divide(openLong, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-                    }
-                }
-            }
-
-            //OEE
-            BigDecimal oee = mdcHomeMapper.getOeeByDate(Arrays.asList(equipmentId.split(",")), month);
-            if (oee != null && !(oee.compareTo(BigDecimal.ZERO) == 0)) {
-                mdcHomeEquipmentVo.setOverallEquipmentEfficiency(oee.multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
-            }
-            dataList.add(mdcHomeEquipmentVo);
-        }
-        result.put("dateList", dateList);
-        result.put("dataList", dataList);
-        return result;
-    }
-
-    /**
-     * 璁惧绾ц澶囧垪琛�
-     */
-    @Override
-    public List<MdcEquipment> getEquipmentList(String key) {
-        return mdcHomeMapper.getEquipmentList(key);
-    }
-
-    @Override
-    public MdcEquipmentDto getEquipmentDetails(String equipmentId) {
-        MdcEquipment mdcEquipment = mdcEquipmentService.getOne(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, equipmentId));
-        List<DictModel> dictModelList = sysDictService.queryEnableDictItemsByCode(MdcConstant.SERIA_TYPE);
-        if (dictModelList != null && !dictModelList.isEmpty()) {
-            for (DictModel dictModel : dictModelList) {
-                if (dictModel.getValue().equals(mdcEquipment.getDriveType())) {
-                    return null;
-                }
-            }
-        }
-        String saveTableName = mdcEquipment.getSaveTableName();
-        MdcEquipmentDto dto = equipmentWorkLineService.getMacingDataList(saveTableName);
-        if (dto != null) {
-            if ("LSV2".equals(mdcEquipment.getDriveType())) {
-                dto.setSpindlebeilv(dto.getSFeed());
-                dto.setFeedbeilv(dto.getFFeed());
-                dto.setRapidfeed(dto.getRapidfeed());
-                dto.setNCVersion(dto.getNCVersion());
-                dto.setTNCVersion(dto.getTNCVersion());
-                dto.setOPTVersion(dto.getOPTVersion());
-                dto.setPLCVersion(dto.getPLCVersion());
-            }
-            // 鏌ヨ璁惧鐘舵��
-            EquipmentLog equipmentLog = equipmentLogService.selectEquipmentOporation(mdcEquipment.getEquipmentId());
-            Integer oporation = equipmentLog.getOporation();
-            if (oporation == 22) {
-                dto.setALRMstate(equipmentLog.getAlarm());
-            } else {
-                dto.setALRMstate("鏃�");
-            }
-        } else {
-            return null;
-        }
-        return dto;
-    }
-
-    @Override
-    public List<MdcFeedback> getFeedbackList(String key) {
-        return mdcFeedbackService.getFeedbackList(key);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
index 8612950..bec549b 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
@@ -16,7 +16,6 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -35,12 +34,6 @@
     private IMdcEquipmentService mdcEquipmentService;
     @Resource
     private IMdcShiftSubService mdcShiftSubService;
-
-    @Resource
-    private IMdcVacationManagementService mdcVacationManagementService;
-
-    @Resource
-    private IMdcEquipmentOvertimeService mdcEquipmentOvertimeService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -127,47 +120,6 @@
     }
 
     /**
-     * 璁$畻瀹為檯鐝骇澶╂暟
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    @Override
-    public BigDecimal computeActualWorkDayCount(String equipmentId, String validDate) {
-        validDate = validDate.replaceAll("-", "");
-        List<String> validDateList = this.baseMapper.computeActualWorkDayCount(equipmentId, validDate);
-        return new BigDecimal(validDateList.size());
-    }
-
-    /**
-     * 鏌ヨ鐝鍒嗙被
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    @Override
-    public List<String> findShiftSort(String equipmentId, String validDate) {
-        validDate = validDate.replaceAll("-", "");
-        return this.baseMapper.findShiftSort(equipmentId, validDate);
-    }
-
-    /**
-     * 璁$畻鐝鏃堕棿
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    @Override
-    public BigDecimal computeShiftTimeCount(String equipmentId, String validDate) {
-        validDate = validDate.replaceAll("-", "");
-        Integer shiftCount = this.baseMapper.computeShiftTimeCount(equipmentId, validDate);
-        return new BigDecimal(shiftCount).multiply(new BigDecimal("8")).multiply(new BigDecimal("60"));
-    }
-
-    /**
      * 鑷姩鐢熸垚璁惧宸ヤ綔鏃ュ巻
      */
     @Override
@@ -183,8 +135,6 @@
         for (MdcEquipment mdcEquipment : equipmentList) {
             List<MdcDeviceCalendar> list = super.list(new LambdaQueryWrapper<MdcDeviceCalendar>().eq(MdcDeviceCalendar::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcDeviceCalendar::getEffectiveDate, localDate.replaceAll("-", "")));
             if (list == null || list.isEmpty()) {
-                List<MdcVacationManagement> vacationManagementList = mdcVacationManagementService.list(new LambdaQueryWrapper<MdcVacationManagement>().eq(MdcVacationManagement::getEquipmentId, mdcEquipment.getEquipmentId()).eq(MdcVacationManagement::getVacationDate, localDate));
-                if (vacationManagementList == null || vacationManagementList.isEmpty()) {
                     String effectiveDate = localDate.replaceAll("-", "");
                     for (MdcDeviceCalendarVo mdcDeviceCalendarVo : acquiesceShift) {
                         MdcDeviceCalendar mdcDeviceCalendar = new MdcDeviceCalendar();
@@ -194,32 +144,11 @@
                         mdcDeviceCalendar.setShiftSubId(mdcDeviceCalendarVo.getShiftSubId());
                         result.add(mdcDeviceCalendar);
                     }
-                }
             }
         }
         if (!result.isEmpty()) {
             super.saveBatch(result);
         }
-    }
-
-    @Override
-    public MdcDeviceCalendar getFirstData(String equipmentId) {
-        return this.baseMapper.getFirstData(equipmentId);
-    }
-
-    @Override
-    public List<MdcDeviceCalendarVo> listByEquipmentIdAndDate(String equipmentId, String date) {
-        List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = this.baseMapper.listByEquipmentAndDate(equipmentId, date);
-        if (mdcDeviceCalendarVos != null && !mdcDeviceCalendarVos.isEmpty()) {
-            for (MdcDeviceCalendarVo mdcDeviceCalendarVo : mdcDeviceCalendarVos) {
-                List<MdcEquipmentOvertime> list = mdcEquipmentOvertimeService.list(new LambdaQueryWrapper<MdcEquipmentOvertime>().eq(MdcEquipmentOvertime::getEquipmentId, mdcDeviceCalendarVo.getEquipmentId()).eq(MdcEquipmentOvertime::getTheDate, mdcDeviceCalendarVo.getEndDate()));
-                if (list != null && !list.isEmpty()) {
-                    mdcDeviceCalendarVo.setOvertimeStartTime(list.get(0).getStartTime());
-                    mdcDeviceCalendarVo.setOvertimeEndTime(list.get(0).getEndTime());
-                }
-            }
-        }
-        return mdcDeviceCalendarVos;
     }
 
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java
new file mode 100644
index 0000000..45c0946
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeReasonServiceImpl.java
@@ -0,0 +1,24 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mdc.entity.MdcDowntimeReason;
+import org.jeecg.modules.mdc.mapper.MdcDowntimeReasonMapper;
+import org.jeecg.modules.mdc.service.IMdcDowntimeReasonService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 鍋滄満鍘熷洜琛�
+ * @Author: lius
+ * @Date:   2025-03-11
+ */
+@Service
+public class MdcDowntimeReasonServiceImpl extends ServiceImpl<MdcDowntimeReasonMapper, MdcDowntimeReason> implements IMdcDowntimeReasonService {
+
+    @Override
+    public List<MdcDowntimeReason> downtimeReasonList(String downtimeType) {
+        return this.baseMapper.selectList(new LambdaQueryWrapper<MdcDowntimeReason>().eq(MdcDowntimeReason::getDowntimeType, downtimeType));
+    }
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java
new file mode 100644
index 0000000..7ed5673
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDowntimeServiceImpl.java
@@ -0,0 +1,117 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.jeecg.modules.mdc.dto.MdcDowntimeDto;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.mapper.MdcDowntimeMapper;
+import org.jeecg.modules.mdc.service.IMdcDowntimeService;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecg.modules.mdc.util.DateUtils;
+import org.jeecg.modules.mdc.vo.MdcDowntimeVo;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Description: 寰呮満鍋滄満琛�
+ * @Author: lius
+ * @Date: 2025-03-12
+ */
+@Service
+public class MdcDowntimeServiceImpl extends ServiceImpl<MdcDowntimeMapper, MdcDowntime> implements IMdcDowntimeService {
+
+    @Resource
+    private IMdcEquipmentService mdcEquipmentService;
+
+    /**
+     * 鍒嗛〉鍒楄〃鏌ヨ
+     *
+     * @param userId
+     * @param page
+     * @param mdcDowntimeVo
+     * @param req
+     * @return
+     */
+    @Override
+    public IPage<MdcDowntimeDto> pageList(String userId, Page<MdcDowntimeDto> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req) {
+        // 鑾峰彇璁惧ID鍒楄〃
+        List<String> equipmentIds = getEquipmentIds(userId, mdcDowntimeVo);
+
+        // 濡傛灉璁惧ID鍒楄〃涓虹┖锛岀洿鎺ヨ繑鍥炵┖鍒嗛〉
+        if (equipmentIds == null || equipmentIds.isEmpty()) {
+            return new Page<>(page.getCurrent(), page.getSize(), 0);
+        }
+
+        // 璁剧疆璁惧ID鍒楄〃鍒版煡璇㈡潯浠朵腑
+        mdcDowntimeVo.setEquipmentIdList(equipmentIds);
+
+        // 鎵ц鍒嗛〉鏌ヨ
+        return this.baseMapper.pageList(page, mdcDowntimeVo);
+    }
+
+    /**
+     * 娣诲姞
+     * @param mdcDowntime
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean saveDowntime(MdcDowntime mdcDowntime) {
+        String[] equipmentIds = mdcDowntime.getEquipmentIds().split(",");
+        List<String> dateList = mdcDowntime.getDateList();
+        List<MdcDowntime> mdcDowntimeList = new ArrayList<>();
+        for (String equipmentId : equipmentIds) {
+            for (String date : dateList) {
+                String format = DateUtils.format(DateUtils.toDate(date, DateUtils.STRDATE), DateUtils.STR_DATE);
+                MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
+                MdcDowntime downtime = new MdcDowntime();
+                BeanUtils.copyProperties(mdcDowntime, downtime);
+                downtime.setEquipmentId(mdcEquipment.getEquipmentId());
+                downtime.setEquipmentName(mdcEquipment.getEquipmentName());
+                downtime.setTheDate(format);
+                mdcDowntimeList.add(downtime);
+            }
+        }
+        this.saveBatch(mdcDowntimeList);
+        return true;
+    }
+
+    @Override
+    public Integer findPlanTimeDuration(String equipmentId, String validDate, String closeType) {
+        int result = 0;
+        List<MdcDowntime> mdcDowntimeList = this.baseMapper.findPlanTimeDuration(equipmentId, validDate, closeType);
+        if (mdcDowntimeList != null && !mdcDowntimeList.isEmpty()) {
+            for (MdcDowntime mdcDowntime : mdcDowntimeList) {
+                result = mdcDowntime.getDownLong() + result;
+            }
+        }
+        return result;
+    }
+
+    private List<String> getEquipmentIds(String userId, MdcDowntimeVo mdcDowntimeVo) {
+        if (StringUtils.isNotEmpty(mdcDowntimeVo.getEquipmentId())) {
+            return Collections.singletonList(mdcDowntimeVo.getEquipmentId());
+        }
+
+        if (StringUtils.isNotEmpty(mdcDowntimeVo.getParentId())) {
+            return "2".equals(mdcDowntimeVo.getTypeTree())
+                    ? mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcDowntimeVo.getParentId())
+                    : mdcEquipmentService.getEquipmentIdsProduction(userId, mdcDowntimeVo.getParentId());
+        }
+
+        return "2".equals(mdcDowntimeVo.getTypeTree())
+                ? mdcEquipmentService.getEquipmentIdsByDepart(userId, null)
+                : mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
index c8dd286..1a99ab7 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java
@@ -115,56 +115,22 @@
             if ("2".equals(vo.getTypeTree())) {
                 // 閮ㄩ棬灞傜骇
                 List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�
-                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
 
                 for (MdcEquDepDto mdcEquDepDto : equipmentList) {
                     MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                     mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
-                    switch (mdcEquDepDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
-                            break;
-                        case "2":
-                            mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName());
-                            break;
-                        case "3":
-                            mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName());
-                            break;
-                        default:
-                    }
-
-                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
-                    if (sysDepart != null) {
-                        switch (sysDepart.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName());
-                                break;
-                            case "2":
-                                mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName());
-                                break;
-                            case "3":
-                                mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName());
-                                break;
-                            default:
+                    String orgCode = mdcEquDepDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                         }
-                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
-                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
-                                switch (depart1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyListDto.setLevel1(depart1.getDepartName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyListDto.setLevel2(depart1.getDepartName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyListDto.setLevel3(depart1.getDepartName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                         }
                     }
                     List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -204,55 +170,22 @@
             } else {
                 // 浜х嚎灞傜骇
                 List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈変骇绾夸俊鎭�
-                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
 
                 for (MdcEquProDto mdcEquProDto : equipmentList) {
                     MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                     mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
-                    switch (mdcEquProDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
-                            break;
-                        case "2":
-                            mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName());
-                            break;
-                        case "3":
-                            mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName());
-                            break;
-                        default:
-                    }
-                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
-                    if (mdcProduction != null) {
-                        switch (mdcProduction.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName());
-                                break;
-                            case "2":
-                                mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName());
-                                break;
-                            case "3":
-                                mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName());
-                                break;
-                            default:
+                    String orgCode = mdcEquProDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                         }
-                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
-                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
-                                switch (production1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyListDto.setLevel1(production1.getProductionName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyListDto.setLevel2(production1.getProductionName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyListDto.setLevel3(production1.getProductionName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                         }
                     }
                     List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -448,7 +381,7 @@
         if (vo.getEquipmentIdList() == null || vo.getEquipmentIdList().isEmpty()) {
             result.setMdcEfficiencyList(listDtos);
         } else {
-            
+
             List<String> equipmentIdList = mdcEquipmentService.listEquipmentId(vo);
             if (equipmentIdList != null && !equipmentIdList.isEmpty()) {
                 vo.setEquipmentIdList(equipmentIdList);
@@ -463,56 +396,22 @@
             if ("2".equals(vo.getTypeTree())) {
                 // 閮ㄩ棬灞傜骇
                 List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�
-                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
 
                 for (MdcEquDepDto mdcEquDepDto : equipmentList) {
                     MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                     mdcEfficiencyListDto.setEquipmentId(mdcEquDepDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
-                    switch (mdcEquDepDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyListDto.setLevel1(mdcEquDepDto.getDepartName());
-                            break;
-                        case "2":
-                            mdcEfficiencyListDto.setLevel2(mdcEquDepDto.getDepartName());
-                            break;
-                        case "3":
-                            mdcEfficiencyListDto.setLevel3(mdcEquDepDto.getDepartName());
-                            break;
-                        default:
-                    }
-
-                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
-                    if (sysDepart != null) {
-                        switch (sysDepart.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyListDto.setLevel1(sysDepart.getDepartName());
-                                break;
-                            case "2":
-                                mdcEfficiencyListDto.setLevel2(sysDepart.getDepartName());
-                                break;
-                            case "3":
-                                mdcEfficiencyListDto.setLevel3(sysDepart.getDepartName());
-                                break;
-                            default:
+                    String orgCode = mdcEquDepDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                         }
-                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
-                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
-                                switch (depart1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyListDto.setLevel1(depart1.getDepartName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyListDto.setLevel2(depart1.getDepartName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyListDto.setLevel3(depart1.getDepartName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                         }
                     }
                     List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -552,55 +451,22 @@
             } else {
                 // 浜х嚎灞傜骇
                 List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈変骇绾夸俊鎭�
-                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
 
                 for (MdcEquProDto mdcEquProDto : equipmentList) {
                     MdcEfficiencyListDto mdcEfficiencyListDto = new MdcEfficiencyListDto();
                     mdcEfficiencyListDto.setEquipmentId(mdcEquProDto.getEquipmentId());
                     mdcEfficiencyListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
-                    switch (mdcEquProDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyListDto.setLevel1(mdcEquProDto.getProductionName());
-                            break;
-                        case "2":
-                            mdcEfficiencyListDto.setLevel2(mdcEquProDto.getProductionName());
-                            break;
-                        case "3":
-                            mdcEfficiencyListDto.setLevel3(mdcEquProDto.getProductionName());
-                            break;
-                        default:
-                    }
-                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
-                    if (mdcProduction != null) {
-                        switch (mdcProduction.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyListDto.setLevel1(mdcProduction.getProductionName());
-                                break;
-                            case "2":
-                                mdcEfficiencyListDto.setLevel2(mdcProduction.getProductionName());
-                                break;
-                            case "3":
-                                mdcEfficiencyListDto.setLevel3(mdcProduction.getProductionName());
-                                break;
-                            default:
+                    String orgCode = mdcEquProDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                         }
-                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
-                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
-                                switch (production1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyListDto.setLevel1(production1.getProductionName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyListDto.setLevel2(production1.getProductionName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyListDto.setLevel3(production1.getProductionName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                         }
                     }
                     List<MdcEfficiencyResultDto> list = new ArrayList<>();
@@ -813,8 +679,6 @@
             if ("2".equals(vo.getTypeTree())) {
                 // 閮ㄩ棬灞傜骇
                 List<MdcEquDepDto> equipmentList = mdcEquipmentService.findEquDepList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈夐儴闂ㄤ俊鎭�
-                List<SysDepart> departList = sysDepartService.list(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(SysDepart::getDepartOrder));
                 // 鐝鍚嶇О鏄剧ず澶勭悊
                 String shiftSubName = "";
                 if (StringUtils.isBlank(vo.getShiftId())) {
@@ -842,48 +706,16 @@
                     mdcEfficiencyShiftListDto.setEquipmentName(mdcEquDepDto.getEquipmentName());
                     mdcEfficiencyShiftListDto.setEquipmentType(mdcEquDepDto.getEquipmentType());
                     mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
-                    switch (mdcEquDepDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyShiftListDto.setLevel1(mdcEquDepDto.getDepartName());
-                            break;
-                        case "2":
-                            mdcEfficiencyShiftListDto.setLevel2(mdcEquDepDto.getDepartName());
-                            break;
-                        case "3":
-                            mdcEfficiencyShiftListDto.setLevel3(mdcEquDepDto.getDepartName());
-                            break;
-                        default:
-                    }
-
-                    SysDepart sysDepart = departList.stream().filter(depart -> depart.getId().equals(mdcEquDepDto.getParentId())).findAny().orElse(null);
-                    if (sysDepart != null) {
-                        switch (sysDepart.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyShiftListDto.setLevel1(sysDepart.getDepartName());
-                                break;
-                            case "2":
-                                mdcEfficiencyShiftListDto.setLevel2(sysDepart.getDepartName());
-                                break;
-                            case "3":
-                                mdcEfficiencyShiftListDto.setLevel3(sysDepart.getDepartName());
-                                break;
-                            default:
+                    String orgCode = mdcEquDepDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyShiftListDto.setLevel1(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 3))).getDepartName());
                         }
-                        if (StringUtils.isNotEmpty(sysDepart.getParentId())) {
-                            departList.stream().filter(depart -> depart.getId().equals(sysDepart.getParentId())).findAny().ifPresent(depart1 -> {
-                                switch (depart1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyShiftListDto.setLevel1(depart1.getDepartName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyShiftListDto.setLevel2(depart1.getDepartName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyShiftListDto.setLevel3(depart1.getDepartName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyShiftListDto.setLevel2(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 6))).getDepartName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyShiftListDto.setLevel3(sysDepartService.getOne(new LambdaQueryWrapper<SysDepart>().ne(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(SysDepart::getOrgCode, orgCode.substring(0, 9))).getDepartName());
                         }
                     }
                     List<MdcEfficiencyShiftResultDto> list = new ArrayList<>();
@@ -923,8 +755,6 @@
             } else {
                 // 浜х嚎灞傜骇
                 List<MdcEquProDto> equipmentList = mdcEquipmentService.findEquProList(vo.getEquipmentIdList());
-                // 鏌ヨ鎵�鏈変骇绾夸俊鎭�
-                List<MdcProduction> productionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).orderByAsc(MdcProduction::getProductionOrder));
 
                 // 鐝鍚嶇О鏄剧ず澶勭悊
                 String shiftSubName = "";
@@ -953,47 +783,16 @@
                     mdcEfficiencyShiftListDto.setEquipmentName(mdcEquProDto.getEquipmentName());
                     mdcEfficiencyShiftListDto.setEquipmentType(mdcEquProDto.getEquipmentType());
                     mdcEfficiencyShiftListDto.setShiftSubName(shiftSubName);
-                    switch (mdcEquProDto.getOrgType()) {
-                        case "1":
-                            mdcEfficiencyShiftListDto.setLevel1(mdcEquProDto.getProductionName());
-                            break;
-                        case "2":
-                            mdcEfficiencyShiftListDto.setLevel2(mdcEquProDto.getProductionName());
-                            break;
-                        case "3":
-                            mdcEfficiencyShiftListDto.setLevel3(mdcEquProDto.getProductionName());
-                            break;
-                        default:
-                    }
-                    MdcProduction mdcProduction = productionList.stream().filter(production -> production.getId().equals(mdcEquProDto.getParentId())).findAny().orElse(null);
-                    if (mdcProduction != null) {
-                        switch (mdcProduction.getOrgType()) {
-                            case "1":
-                                mdcEfficiencyShiftListDto.setLevel1(mdcProduction.getProductionName());
-                                break;
-                            case "2":
-                                mdcEfficiencyShiftListDto.setLevel2(mdcProduction.getProductionName());
-                                break;
-                            case "3":
-                                mdcEfficiencyShiftListDto.setLevel3(mdcProduction.getProductionName());
-                                break;
-                            default:
+                    String orgCode = mdcEquProDto.getOrgCode();
+                    if (orgCode != null) {
+                        if (orgCode.length() >= 3) {
+                            mdcEfficiencyShiftListDto.setLevel1(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 3))).getProductionName());
                         }
-                        if (StringUtils.isNotEmpty(mdcProduction.getParentId())) {
-                            productionList.stream().filter(production -> production.getId().equals(mdcProduction.getParentId())).findAny().ifPresent(production1 -> {
-                                switch (production1.getOrgType()) {
-                                    case "1":
-                                        mdcEfficiencyShiftListDto.setLevel1(production1.getProductionName());
-                                        break;
-                                    case "2":
-                                        mdcEfficiencyShiftListDto.setLevel2(production1.getProductionName());
-                                        break;
-                                    case "3":
-                                        mdcEfficiencyShiftListDto.setLevel3(production1.getProductionName());
-                                        break;
-                                    default:
-                                }
-                            });
+                        if (orgCode.length() >= 6) {
+                            mdcEfficiencyShiftListDto.setLevel2(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 6))).getProductionName());
+                        }
+                        if (orgCode.length() >= 9) {
+                            mdcEfficiencyShiftListDto.setLevel3(mdcProductionService.getOne(new LambdaQueryWrapper<MdcProduction>().ne(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_1.toString()).eq(MdcProduction::getOrgCode, orgCode.substring(0, 9))).getProductionName());
                         }
                     }
                     List<MdcEfficiencyShiftResultDto> list = new ArrayList<>();
@@ -1729,11 +1528,6 @@
         }
 
         return result;
-    }
-
-    @Override
-    public List<BigDecimal> getEfficiencyRate(String equipmentId, String date) {
-        return mdcEfficiencyReportMapper.getEfficiencyRate(equipmentId, date);
     }
 
     private MdcUtilizationResultDto utilizationRate(String equipmentId, String equipmentName, String equipmentType, Date startTime, Date endTime, String date, List<MdcUtilizationRate> mdcUtilizationRateList) {
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOverFlagServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOverFlagServiceImpl.java
deleted file mode 100644
index 8ea3be2..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOverFlagServiceImpl.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOverFlag;
-import org.jeecg.modules.mdc.mapper.MdcEquipmentOverFlagMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentOverFlagService;
-import org.springframework.stereotype.Service;
-
-/**
- * @Description: 璁惧绋嬪簭鎵ц缁撴潫鏍囧織琛�
- * @Author: Lius
- * @Date: 2023-12-05
- * @Version: V1.0
- */
-@Service
-public class MdcEquipmentOverFlagServiceImpl extends ServiceImpl<MdcEquipmentOverFlagMapper, MdcEquipmentOverFlag> implements IMdcEquipmentOverFlagService {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
deleted file mode 100644
index 00454ef..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang.StringUtils;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcEquipmentOvertime;
-import org.jeecg.modules.mdc.mapper.MdcEquipmentOvertimeMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentOvertimeService;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.springframework.stereotype.Service;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @Description: 璁惧鍔犵彮绠$悊
- * @Author: Lius
- * @Date: 2023-08-25
- * @Version: V1.0
- */
-@Service
-public class MdcEquipmentOvertimeServiceImpl extends ServiceImpl<MdcEquipmentOvertimeMapper, MdcEquipmentOvertime> implements IMdcEquipmentOvertimeService {
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Override
-    public IPage<MdcEquipmentOvertime> pageList(String userId, Page<MdcEquipmentOvertime> page, MdcEquipmentOvertime mdcEquipmentOvertime, HttpServletRequest req) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getParentId()) && StringUtils.isEmpty(mdcEquipmentOvertime.getEquipmentId())) {
-            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcEquipmentOvertime.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcEquipmentOvertime.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcEquipmentOvertime.setMdcSectionIds(Collections.singletonList(mdcEquipmentOvertime.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-
-        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
-            mdcEquipmentOvertime.setMdcSectionIds(equipmentIds);
-        }
-
-        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-        return this.baseMapper.pageList(page, mdcEquipmentOvertime);
-    }
-
-    /**
-     * 瀵煎嚭
-     *
-     * @param userId
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    @Override
-    public ModelAndView exportXls(String userId, MdcEquipmentOvertime mdcEquipmentOvertime) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getParentId()) && StringUtils.isEmpty(mdcEquipmentOvertime.getEquipmentId())) {
-            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcEquipmentOvertime.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcEquipmentOvertime.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcEquipmentOvertime.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcEquipmentOvertime.setMdcSectionIds(Collections.singletonList(mdcEquipmentOvertime.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcEquipmentOvertime.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-
-        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
-            mdcEquipmentOvertime.setMdcSectionIds(equipmentIds);
-        }
-
-        if (mdcEquipmentOvertime.getMdcSectionIds() == null || mdcEquipmentOvertime.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-        // Step.2 AutoPoi 瀵煎嚭Excel
-        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-        List<MdcEquipmentOvertime> mdcEquipmentOvertimes = this.baseMapper.list(mdcEquipmentOvertime);
-        // 瀵煎嚭鏂囦欢鍚嶇О
-        mv.addObject(NormalExcelConstants.FILE_NAME, "鍔犵彮绠$悊鍒楄〃");
-        mv.addObject(NormalExcelConstants.CLASS, MdcEquipmentOvertime.class);
-        //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
-        //update-begin---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍔犵彮绠$悊鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "鍔犵彮绠$悊"));
-        //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
-        mv.addObject(NormalExcelConstants.DATA_LIST, mdcEquipmentOvertimes);
-        return mv;
-    }
-
-    /**
-     * 璁$畻鍔犵彮鏃堕棿锛堝垎閽燂級
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    @Override
-    public BigDecimal computeOvertime(String equipmentId, String validDate) {
-        List<MdcEquipmentOvertime> list = this.baseMapper.computeOvertime(equipmentId, validDate.replaceAll("-", ""));
-        BigDecimal result = new BigDecimal("0");
-        if (list != null && !list.isEmpty()) {
-            for (MdcEquipmentOvertime equipmentOvertime : list) {
-                result = result.add(equipmentOvertime.getDuration().divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
-            }
-        }
-        return result;
-    }
-
-    /**
-     * 娣诲姞
-     *
-     * @param mdcEquipmentOvertime
-     * @return
-     */
-    @Override
-    public boolean addOvertime(MdcEquipmentOvertime mdcEquipmentOvertime) {
-        String[] equipmentIds = mdcEquipmentOvertime.getEquipmentId().split(",");
-        List<MdcEquipmentOvertime> mdcEquipmentOvertimes = new ArrayList<>();
-        // 璁$畻鏃堕暱(绉�)
-        String startTime = mdcEquipmentOvertime.getStartTime();
-        String endTime = mdcEquipmentOvertime.getEndTime();
-        long duration = DateUtils.differentSecond(DateUtils.setTimeForDay(DateUtils.getNow(), startTime), DateUtils.setTimeForDay(DateUtils.getNow(), endTime));
-        for (String equipmentId : equipmentIds) {
-            MdcEquipmentOvertime equipmentOvertime = new MdcEquipmentOvertime();
-            equipmentOvertime.setEquipmentId(equipmentId);
-            equipmentOvertime.setTheDate(mdcEquipmentOvertime.getTheDate());
-            equipmentOvertime.setAutoFlag(CommonConstant.AUTO_FLAG_N);
-            equipmentOvertime.setStartTime(mdcEquipmentOvertime.getStartTime());
-            equipmentOvertime.setEndTime(mdcEquipmentOvertime.getEndTime());
-            equipmentOvertime.setDuration(new BigDecimal(duration));
-            mdcEquipmentOvertimes.add(equipmentOvertime);
-        }
-        return super.saveBatch(mdcEquipmentOvertimes);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRepairServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRepairServiceImpl.java
deleted file mode 100644
index c74ce79..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRepairServiceImpl.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang.StringUtils;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRepair;
-import org.jeecg.modules.mdc.mapper.MdcEquipmentRepairMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentRepairService;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.vo.MdcEquipmentRepairVo;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-import java.util.stream.Collectors;
-
-/**
- * @Description: 璁惧缁翠慨浼戠彮
- * @Author: Sake
- * @Date: 2023-04-06 16:53
- */
-@Service
-public class MdcEquipmentRepairServiceImpl extends ServiceImpl<MdcEquipmentRepairMapper, MdcEquipmentRepair> implements IMdcEquipmentRepairService {
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Override
-    public boolean addMdcRepair(MdcEquipmentRepairVo repairVo) {
-        boolean result = false;
-        String[] equipmentIds = repairVo.getEquipmentIds().split(",");
-        List<MdcEquipmentRepair> mdcEquipmentRepairList = new ArrayList<>();
-        a:
-        for (String equipmentId : equipmentIds) {
-            Date startTime = DateUtils.getFormatDate(repairVo.getStartTime(), DateUtils.STR_DATE_TIME_SMALL);
-            Date endTime = DateUtils.getFormatDate(repairVo.getEndTime(), DateUtils.STR_DATE_TIME_SMALL);
-            MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
-            //鏍规嵁璁惧id鏌ヨ姝よ澶囨墍鏈夌淮淇拰浼戠彮璁板綍
-            LambdaQueryWrapper<MdcEquipmentRepair> queryWrapper = new LambdaQueryWrapper<>();
-            queryWrapper.eq(MdcEquipmentRepair::getEquipmentId, equipmentId);
-            queryWrapper.orderByAsc(MdcEquipmentRepair::getStartTime);
-            List<MdcEquipmentRepair> mdcEquipmentRepairs = this.baseMapper.selectList(queryWrapper);
-            if (mdcEquipmentRepairs != null && !mdcEquipmentRepairs.isEmpty()) {
-                for (MdcEquipmentRepair mdcEquipmentRepair : mdcEquipmentRepairs) {
-                    if (startTime.before(mdcEquipmentRepair.getStartTime())) {
-                        //寮�濮嬫椂闂村湪璁板綍寮�濮嬫椂闂翠箣鍓�
-                        if (endTime.after(mdcEquipmentRepair.getStartTime())) {
-                            //缁撴潫鏃堕棿鍦ㄨ褰曞紑濮嬫椂闂翠箣鍚�
-                            if (endTime.before(mdcEquipmentRepair.getEndTime())) {
-                                //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍓� -> 淇敼缁撴潫鏃堕棿涓鸿褰曞紑濮嬫椂闂�
-                                endTime = mdcEquipmentRepair.getStartTime();
-                            } else {
-                                //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍚� -> 鍒囧壊涓轰袱娈垫椂闂� 鍓嶄竴娈垫椂闂翠竴瀹氬敮涓�锛屽悗涓�娈垫椂闂磋祴鍊奸噸鏂版瘮杈�
-                                //淇濆瓨绗竴娈佃褰�
-                                MdcEquipmentRepair mdc = new MdcEquipmentRepair();
-                                mdc.setStartTime(startTime);
-                                mdc.setEndTime(mdcEquipmentRepair.getStartTime());
-                                mdc.setMdcRepairType(repairVo.getMdcRepairType());
-                                mdc.setEquipmentId(equipmentId);
-                                if (mdcEquipment != null && mdcEquipment.getEquipmentName() != null) {
-                                    mdc.setEquipmentName(mdcEquipment.getEquipmentName());
-                                }
-                                if(repairVo.getMdcRepairType().equals(1)){
-                                    mdc.setMdcRepairTypeDictText("缁翠慨");
-                                } else {
-                                    mdc.setMdcRepairTypeDictText("浼戠彮");
-                                }
-
-                                mdcEquipmentRepairList.add(mdc);
-                                //绗簩娈垫椂闂磋祴鍊肩粰
-                                startTime = mdcEquipmentRepair.getEndTime();
-                            }
-                        }
-                    } else {
-                        //寮�濮嬫椂闂村湪璁板綍寮�濮嬫椂闂翠箣鍚�
-                        if (startTime.before(mdcEquipmentRepair.getEndTime())) {
-                            //寮�濮嬫椂闂村湪璁板綍缁撴潫鏃堕棿涔嬪墠
-                            if (endTime.before(mdcEquipmentRepair.getEndTime())) {
-                                //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍓� -> 鏃堕棿閲嶅彔
-                                continue a;
-                            } else {
-                                //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍚� -> 淇敼寮�濮嬫椂闂翠负璁板綍缁撴潫鏃堕棿
-                                startTime = mdcEquipmentRepair.getEndTime();
-                            }
-                        }
-                    }
-                }
-                MdcEquipmentRepair mdc = new MdcEquipmentRepair();
-                mdc.setStartTime(startTime);
-                mdc.setEndTime(endTime);
-                mdc.setMdcRepairType(repairVo.getMdcRepairType());
-                mdc.setEquipmentId(equipmentId);
-                mdc.setEquipmentName(mdcEquipment.getEquipmentName());
-                if(repairVo.getMdcRepairType().equals(1)){
-                    mdc.setMdcRepairTypeDictText("缁翠慨");
-                } else {
-                    mdc.setMdcRepairTypeDictText("浼戠彮");
-                }
-                mdcEquipmentRepairList.add(mdc);
-                //杩囨护
-                mdcEquipmentRepairList = mdcEquipmentRepairList.stream().filter(mdcEquipmentRepair -> !mdcEquipmentRepair.getEndTime().equals(mdcEquipmentRepair.getStartTime())).collect(Collectors.toList());
-                boolean b = super.saveBatch(mdcEquipmentRepairList);
-                if (b) {
-                    result = true;
-                }
-                mdcEquipmentRepairList.clear();
-            } else {
-                //琛ㄤ腑鏃犺褰曞垯姝e父娣诲姞
-                MdcEquipmentRepair mdc = new MdcEquipmentRepair();
-                mdc.setStartTime(startTime);
-                mdc.setEndTime(endTime);
-                mdc.setMdcRepairType(repairVo.getMdcRepairType());
-                mdc.setEquipmentId(equipmentId);
-                mdc.setEquipmentName(mdcEquipment.getEquipmentName());
-                if(repairVo.getMdcRepairType().equals(1)){
-                    mdc.setMdcRepairTypeDictText("缁翠慨");
-                } else {
-                    mdc.setMdcRepairTypeDictText("浼戠彮");
-                }
-                boolean b = super.save(mdc);
-                if (b) {
-                    result = true;
-                }
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public IPage<MdcEquipmentRepair> pageList(String userId, Page page, MdcEquipmentRepair repair, HttpServletRequest req) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(repair.getParentId()) && StringUtils.isEmpty(repair.getEquipmentId())) {
-            if ("2".equals(repair.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, repair.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, repair.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(repair.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            repair.setMdcSectionIds(Collections.singletonList(repair.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(repair.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-
-        if (repair.getMdcSectionIds() == null || repair.getMdcSectionIds().isEmpty()) {
-            repair.setMdcSectionIds(equipmentIds);
-        }
-
-        if (repair.getMdcSectionIds() == null || repair.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-
-        return this.baseMapper.pageList(page, repair);
-    }
-
-    @Override
-    public boolean updateMdcRepair(MdcEquipmentRepair repair) {
-        boolean result = false;
-        LambdaQueryWrapper<MdcEquipmentRepair> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MdcEquipmentRepair::getEquipmentId, repair.getEquipmentId());
-        queryWrapper.orderByAsc(MdcEquipmentRepair::getStartTime);
-        queryWrapper.ne(MdcEquipmentRepair::getId, repair.getId());
-        List<MdcEquipmentRepair> mdcEquipmentRepairs = this.baseMapper.selectList(queryWrapper);
-        List<MdcEquipmentRepair> mdcEquipmentRepairList = new ArrayList<>();
-        if (mdcEquipmentRepairs != null && !mdcEquipmentRepairs.isEmpty()) {
-            Date startTime = repair.getStartTime();
-            Date endTime = repair.getEndTime();
-            for (MdcEquipmentRepair mdcEquipmentRepair : mdcEquipmentRepairs) {
-                if (startTime.before(mdcEquipmentRepair.getStartTime())) {
-                    //寮�濮嬫椂闂村湪璁板綍寮�濮嬫椂闂翠箣鍓�
-                    if (endTime.after(mdcEquipmentRepair.getStartTime())) {
-                        //缁撴潫鏃堕棿鍦ㄨ褰曞紑濮嬫椂闂翠箣鍚�
-                        if (endTime.before(mdcEquipmentRepair.getEndTime())) {
-                            //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍓� -> 淇敼缁撴潫鏃堕棿涓鸿褰曞紑濮嬫椂闂�
-                            endTime = mdcEquipmentRepair.getStartTime();
-                        } else {
-                            //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍚� -> 鍒囧壊涓轰袱娈垫椂闂� 鍓嶄竴娈垫椂闂翠竴瀹氬敮涓�锛屽悗涓�娈垫椂闂磋祴鍊奸噸鏂版瘮杈�
-                            //淇濆瓨绗竴娈佃褰�
-                            MdcEquipmentRepair mdc = new MdcEquipmentRepair();
-                            mdc.setStartTime(startTime);
-                            mdc.setEndTime(mdcEquipmentRepair.getStartTime());
-                            mdc.setMdcRepairType(repair.getMdcRepairType());
-                            mdc.setEquipmentId(repair.getEquipmentId());
-                            mdc.setEquipmentName(repair.getEquipmentName());
-                            mdcEquipmentRepairList.add(mdc);
-                            //绗簩娈垫椂闂磋祴鍊肩粰
-                            startTime = mdcEquipmentRepair.getEndTime();
-                        }
-                    }
-                } else {
-                    //寮�濮嬫椂闂村湪璁板綍寮�濮嬫椂闂翠箣鍚�
-                    if (startTime.before(mdcEquipmentRepair.getEndTime())) {
-                        //寮�濮嬫椂闂村湪璁板綍缁撴潫鏃堕棿涔嬪墠
-                        if (endTime.before(mdcEquipmentRepair.getEndTime())) {
-                            break;
-                        } else {
-                            //缁撴潫鏃堕棿鍦ㄨ褰曠粨鏉熸椂闂翠箣鍚� -> 淇敼寮�濮嬫椂闂翠负璁板綍缁撴潫鏃堕棿
-                            startTime = mdcEquipmentRepair.getEndTime();
-                        }
-                    }
-                }
-            }
-            if (!mdcEquipmentRepairList.isEmpty()) {
-                Date finalStartTime = startTime;
-                Date finalEndTime = endTime;
-                mdcEquipmentRepairList = mdcEquipmentRepairList.stream().filter(mdcEquipmentRepair ->
-                        !mdcEquipmentRepair.getEndTime().equals(mdcEquipmentRepair.getStartTime())
-                                && (!mdcEquipmentRepair.getStartTime().equals(finalStartTime) && !mdcEquipmentRepair.getEndTime().equals(finalEndTime))).collect(Collectors.toList());
-                result = super.saveBatch(mdcEquipmentRepairList);
-            }
-            if (!startTime.equals(endTime)) {
-                repair.setStartTime(startTime);
-                repair.setEndTime(endTime);
-                result = super.updateById(repair);
-            } else if (!mdcEquipmentRepairList.isEmpty()) {
-                result = super.removeById(repair);
-            } else {
-                return false;
-            }
-        } else {
-            //鏃犲叾浠栬褰曪紝 鍙洿鎺ヤ慨鏀�
-            result = super.updateById(repair);
-        }
-
-        return result;
-    }
-
-    @Override
-    public List<MdcEquipmentRepair> mdcRepairListDate(String equipmentid, Date startDate, Date endDate) {
-        return this.baseMapper.selectByIdAndTime(equipmentid, startDate, endDate);
-    }
-
-}
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
index 28ebc28..0eec07c 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentRunningSectionServiceImpl.java
@@ -519,9 +519,9 @@
             //鑾峰彇running杩愯鐨勬棩蹇楄褰�
             List<MdcEquipmentRunningSection> list = this.equipmentRunningTracesLog(equipment.getEquipmentid());
             if (list != null && !list.isEmpty()) {
-                List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //娣诲姞绋嬪簭鍙�
-                this.ergodicTrim(equipList);
-                super.saveBatch(equipList);
+//                List<MdcEquipmentRunningSection> equipList = addSequenceNumber(list); //娣诲姞绋嬪簭鍙�
+                this.ergodicTrim(list);
+                super.saveBatch(list);
             }
             //鑾峰彇鎶ヨ鐨勬棩蹇楄褰�
             List<MdcEquipmentRunningSection> errorList = this.equipmentRunningTracesErrorLog(equipment.getEquipmentid());
@@ -726,18 +726,8 @@
     }
 
     @Override
-    public List<MdcEquipmentRunningSection> selectRunningData(String equipmentId, Date startDate, Date endDate) {
-        return this.baseMapper.selectRunningData(equipmentId, startDate, endDate);
-    }
-
-    @Override
     public List<MdcAlarmListDto> selectAlarmList(MdcAlarmAnalyzeQueryVo mdcAlarmAnalyzeQueryVo, String startDate, String endDate) {
         return this.baseMapper.selectAlarmList(mdcAlarmAnalyzeQueryVo, startDate, endDate);
-    }
-
-    @Override
-    public List<Integer> getDataList(String equipmentId, Date date) {
-        return this.baseMapper.getDataList(equipmentId, date);
     }
 
     private Map<String, List<MdcEquipmentRunningSectionDto>> logCharts(MdcEquipmentRunningSectionVo equipmentRunningSectionVo, String date) {
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
index ad9d45f..f62dd20 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -1,22 +1,18 @@
 package org.jeecg.modules.mdc.service.impl;
 
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.StringUtils;
-import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.mdc.dto.MdcEquDepDto;
 import org.jeecg.modules.mdc.dto.MdcEquProDto;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDetailedDto;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
 import org.jeecg.modules.mdc.entity.*;
 import org.jeecg.modules.mdc.mapper.MdcEquipmentMapper;
-import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
 import org.jeecg.modules.mdc.model.MdcEquipmentTree;
 import org.jeecg.modules.mdc.service.*;
 import org.jeecg.modules.mdc.util.DateUtils;
@@ -72,27 +68,15 @@
     private IEquipmentWorkLineService equipmentWorkLineService;
     @Resource
     private IMdcDriveTypeParamConfigService mdcDriveTypeParamConfigService;
-    @Resource
-    private MdcTorqueConfigMapper mdcTorqueConfigMapper;
 
     @Resource
     private IEquipmentLogService equipmentLogService;
-
-    @Resource
-    private IEquipmentBaseInfoService equipmentBaseInfoService;
 
     @Resource
     private ISysBaseAPI sysBaseApi;
 
     @Resource
     private IMdcAlarmInfoService mdcAlarmInfoService;
-
-    @Resource
-    private IMdcEquipmentThresholdService mdcEquipmentThresholdService;
-
-    @Resource
-    private IMdcOverrunAlarmService mdcOverrunAlarmService;
-
 
     @Override
     public Map<String, String> getDepNamesByEquipmentIds(List<String> equipmentIds) {
@@ -407,14 +391,6 @@
                             BigDecimal load = spindleload == null ? BigDecimal.ZERO : new BigDecimal(spindleload.toString());
                             if (StringUtils.isNotEmpty(devicePower) && oporation == 3) {
                                 value = new BigDecimal(devicePower).divide(new BigDecimal("380"), 2, BigDecimal.ROUND_HALF_UP).add(load).toString();
-                            } else {
-                                value = "0";
-                            }
-                        } else if ("torque".equals(englishName)) {
-                            // 鎵煩瀛楁
-                            MdcTorqueConfig mdcTorqueConfig = mdcTorqueConfigMapper.findLast(mdcEquipmentDetailedDto.getEquipmentId());
-                            if (mdcTorqueConfig != null) {
-                                value = String.valueOf(mdcTorqueConfig.getTorqueValue());
                             } else {
                                 value = "0";
                             }
@@ -734,66 +710,6 @@
     }
 
     /**
-     * 鐩戞帶璁惧杩愯鍙傛暟浠诲姟
-     */
-    @Override
-    public void monitoringSpeedProcess() {
-//        List<MdcEquipment> equipmentList = super.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getDriveType, "FANUC"));
-        List<MdcEquipment> equipmentList = super.list();
-        //List<MdcEquipment> equipmentList = super.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2140198"));
-
-        for (MdcEquipment mdcEquipment : equipmentList) {
-            List<MdcEquipmentThreshold> mdcEquipmentThresholdList = mdcEquipmentThresholdService.list(new LambdaQueryWrapper<MdcEquipmentThreshold>().eq(MdcEquipmentThreshold::getControlSystemType, mdcEquipment.getDriveType()));
-            if (mdcEquipmentThresholdList != null && !mdcEquipmentThresholdList.isEmpty()) {
-                String saveTableName = mdcEquipment.getSaveTableName();
-                StringBuilder builder = new StringBuilder();
-                for (MdcEquipmentThreshold mdcEquipmentThreshold : mdcEquipmentThresholdList) {
-                    builder.append(",").append(mdcEquipmentThreshold.getEnglishName()).append(" as \"").append(mdcEquipmentThreshold.getEnglishName()).append("\"  ");
-                }
-                Map<String, Object> param = new HashMap<>();
-                param.put("columns", builder.toString());
-                param.put("tableName", saveTableName);
-                Map<String, Object> map = new HashMap<>();
-                try {
-                    map = this.baseMapper.getWorkLineLast(param);
-                } catch (Exception e) {
-                    log.error("鏌ヨ鍗曡〃鏁版嵁鍑哄樊锛�", e);
-                }
-                if (!map.isEmpty()) {
-                    for (MdcEquipmentThreshold mdcEquipmentThreshold : mdcEquipmentThresholdList) {
-                        Integer actualValue = Integer.valueOf(map.get(mdcEquipmentThreshold.getEnglishName()).toString());
-                        Integer max = mdcEquipmentThreshold.getMaxThreshold();
-                        Integer min = mdcEquipmentThreshold.getMinThreshold();
-                        MessageDTO messageDTO = new MessageDTO();
-                        messageDTO.setTitle("璁惧" + mdcEquipmentThreshold.getChineseName() + "鎶ヨ锛�");
-                        messageDTO.setCategory("棰勮娑堟伅");
-                        messageDTO.setFromUser("admin");
-                        messageDTO.setToUser("admin");
-                        MdcOverrunAlarm mdcOverrunAlarm = new MdcOverrunAlarm();
-                        mdcOverrunAlarm.setEquipmentId(mdcEquipment.getEquipmentId());
-                        mdcOverrunAlarm.setSetValue(min + "-" + max);
-                        mdcOverrunAlarm.setRealValue(actualValue.toString());
-                        if (actualValue > max) {
-                            // 楂�
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶�" + mdcEquipmentThreshold.getChineseName() + "楂樻姤璀︼紒");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                            mdcOverrunAlarm.setAlarmContent(mdcEquipmentThreshold.getChineseName() + "楂樻姤璀�");
-                            mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                        } else if (actualValue < min) {
-                            // 浣�
-                            messageDTO.setContent("璁惧缂栧彿涓� [" + mdcEquipment.getEquipmentId() + "] 鐨勮澶�" + mdcEquipmentThreshold.getChineseName() + "浣庢姤璀︼紒");
-                            sysBaseApi.sendSysAnnouncement(messageDTO);
-                            mdcOverrunAlarm.setAlarmContent(mdcEquipmentThreshold.getChineseName() + "浣庢姤璀�");
-                            mdcOverrunAlarmService.save(mdcOverrunAlarm);
-                        }
-                    }
-                }
-            }
-        }
-
-    }
-
-    /**
      * 瀵煎嚭list
      *
      * @param mdcEquipment
@@ -834,21 +750,6 @@
         //濉厖璁惧鏁版嵁
         FillEquipmentByProduction(treeList);
         return treeList;
-    }
-
-    /**
-     * 鏌ヨ鍗曡〃鏁版嵁
-     *
-     * @param tableName
-     * @return
-     */
-    @Override
-    public MdcEquipmentDto getWorkLineLast(String tableName) {
-        try {
-            return this.baseMapper.findWorkLineLast(tableName);
-        } catch (Exception e) {
-            return null;
-        }
     }
 
     @Override
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
index 5f89d3e..7bbf531 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalInfoServiceImpl.java
@@ -14,6 +14,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -299,4 +300,21 @@
         }
         return equipmentStatisticalInfos;
     }
+
+    /**
+     * 鏌ヨ璁惧杩愯鏃堕棿
+     *
+     * @param equipmentId
+     * @param validDate
+     * @return
+     */
+    @Override
+    public Integer selectProcessLong(String equipmentId, String validDate) {
+        Integer processLong = this.baseMapper.selectProcessLong(equipmentId, validDate);
+        if (processLong == null) {
+            return 0;
+        } else {
+            return Integer.parseInt(new BigDecimal(processLong).divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).toString());
+        }
+    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
index 938b7a9..95fdf49 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentStatisticalShiftInfoServiceImpl.java
@@ -4,7 +4,6 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.mdc.entity.Equipment;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRepair;
 import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
 import org.jeecg.modules.mdc.entity.MdcEquipmentStatisticalShiftInfo;
 import org.jeecg.modules.mdc.mapper.MdcEquipmentStatisticalShiftInfoMapper;
@@ -18,7 +17,6 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.math.RoundingMode;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -40,9 +38,6 @@
 
     @Resource
     private IMdcDeviceCalendarService mdcDeviceCalendarService;
-
-    @Resource
-    private IMdcEquipmentRepairService mdcEquipmentRepairService;
 
     /**
      * 璁$畻璁惧鍗曟棩鐝杩愯鏁版嵁
@@ -75,25 +70,6 @@
         }
     }
 
-    /**
-     * 鏌ヨ涓昏酱杩愯鏃堕棿
-     *
-     * @param equipmentId
-     * @param validDate
-     * @return
-     */
-    @Override
-    public BigDecimal findSpindleRunDuration(String equipmentId, String validDate) {
-        validDate = validDate.replaceAll("-", "");
-        BigDecimal duration = this.baseMapper.findSpindleRunDuration(equipmentId, validDate);
-        if (duration != null && duration.compareTo(BigDecimal.ZERO) != 0) {
-            return duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP);
-        } else {
-            return new BigDecimal("0");
-        }
-    }
-
-    @Transactional(readOnly = true)
     List<MdcEquipmentStatisticalShiftInfo> equipmentShiftStatisticalProcess(Equipment equipment, String dateTime) {
         Date initDate = null;
         //鍙栨渶鍚庣殑缁熻鏁版嵁
@@ -175,96 +151,16 @@
      * 鏌ヨ鏌愪竴澶╂煇涓彮娆$殑鏁版嵁
      *
      * @param dates
-     * @param equipmentid
+     * @param equipmentId
      * @return
      */
-    private MdcEquipmentStatisticalShiftInfo selectRunningEquipment(MdcShiftDateVo dates, String equipmentid) {
-        if (dates == null || StringUtils.isBlank(equipmentid)) {
+    private MdcEquipmentStatisticalShiftInfo selectRunningEquipment(MdcShiftDateVo dates, String equipmentId) {
+        if (dates == null || StringUtils.isBlank(equipmentId)) {
             return null;
         }
-        //鏌ヨ鏄惁闇�瑕佺淮淇殑璁惧
-        List<MdcEquipmentRepair> repairs = mdcEquipmentRepairService.mdcRepairListDate(equipmentid, dates.getStartDate(), dates.getEndDate());
-        //鍒跺害鏃堕棿娈靛唴鐨勪紤鐝拰缁翠慨鏃堕棿娈电瓫閫�
-        List<MdcEquipmentRepair> repairList = this.findSubRepairs(repairs, dates);
         List<MdcDateVo> dateList = new ArrayList<>();
-        if (repairList == null || repairList.isEmpty()) {
             //鍒跺害鏃堕棿娈靛唴娌℃湁缁翠慨鍜屼紤鐝椂闂存
-            MdcEquipmentStatisticalShiftInfo shiftInfo = mdcRateEquipment(equipmentid, dates.getStartDate(), dates.getEndDate());
-            return shiftInfo;
-        } else {
-            if (repairList.size() == 1) {
-                long start = repairList.get(0).getStartTime().getTime();
-                long end = repairList.get(0).getEndTime().getTime();
-                if (start > dates.getStart() && end < dates.getEnd()) {
-                    MdcDateVo d1 = new MdcDateVo();
-                    d1.setStartTime(dates.getStartDate());
-                    d1.setEndTime(repairList.get(0).getStartTime());
-                    dateList.add(d1);
-                    MdcDateVo d2 = new MdcDateVo();
-                    d2.setStartTime(repairList.get(0).getEndTime());
-                    d2.setEndTime(dates.getEndDate());
-                    dateList.add(d2);
-                } else if (start == dates.getStart() && end < dates.getEnd()) {
-                    MdcDateVo d2 = new MdcDateVo();
-                    d2.setStartTime(repairList.get(0).getEndTime());
-                    d2.setEndTime(dates.getEndDate());
-                    dateList.add(d2);
-                } else if (start > dates.getStart() && end == dates.getEnd()) {
-                    MdcDateVo d1 = new MdcDateVo();
-                    d1.setStartTime(dates.getStartDate());
-                    d1.setEndTime(repairList.get(0).getStartTime());
-                    dateList.add(d1);
-                } else {
-                    //浼戠彮
-                    MdcEquipmentStatisticalShiftInfo vo = new MdcEquipmentStatisticalShiftInfo();
-                    vo.setTotalLong(BigDecimal.ZERO);
-                    vo.setErrorLong(BigDecimal.ZERO);
-                    vo.setProcessLong(BigDecimal.ZERO);
-                    vo.setWaitLong(BigDecimal.ZERO);
-                    vo.setCloseLong(BigDecimal.ZERO);
-                    vo.setOpenLong(BigDecimal.ZERO);
-                    return vo;
-                }
-            } else {
-                long s = dates.getStartDate().getTime();
-                for (int i = 0; i < repairList.size(); i++) {
-                    long start = repairList.get(i).getStartTime().getTime();
-                    long end = repairList.get(i).getEndTime().getTime();
-
-                    if (start > s) {
-                        MdcDateVo d = new MdcDateVo();
-                        d.setStartTime(dates.getStartDate());
-                        d.setEndTime(repairList.get(i).getStartTime());
-                        if (d.getEndTime().getTime() != d.getStartTime().getTime()) {
-                            dateList.add(d);
-                        }
-                        dates.setStartDate(repairList.get(i).getEndTime());
-                    } else if (start == s) {
-                        dates.setStartDate(repairList.get(i).getEndTime());
-                    }
-                    if (i == repairList.size() - 1) {
-                        if (dates.getStartDate().getTime() >= end) {
-                            MdcDateVo d = new MdcDateVo();
-                            d.setStartTime(repairList.get(i).getEndTime());
-                            d.setEndTime(dates.getEndDate());
-                            if (d.getEndTime().getTime() != d.getStartTime().getTime()) {
-                                dateList.add(d);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        MdcEquipmentStatisticalShiftInfo shiftInfo = new MdcEquipmentStatisticalShiftInfo();
-        for (MdcDateVo date : dateList) {
-            MdcEquipmentStatisticalShiftInfo v = mdcRateEquipment(equipmentid, date.getStartTime(), date.getEndTime());
-            shiftInfo.setTotalLong(v.getTotalLong().add(shiftInfo.getTotalLong()));
-            shiftInfo.setOpenLong(v.getOpenLong().add(shiftInfo.getOpenLong()));
-            shiftInfo.setCloseLong(v.getCloseLong().add(shiftInfo.getCloseLong()));
-            shiftInfo.setWaitLong(v.getWaitLong().add(shiftInfo.getWaitLong()));
-            shiftInfo.setProcessLong(v.getProcessLong().add(shiftInfo.getProcessLong()));
-            shiftInfo.setErrorLong(v.getErrorLong().add(shiftInfo.getErrorLong()));
-        }
+        MdcEquipmentStatisticalShiftInfo shiftInfo = mdcRateEquipment(equipmentId, dates.getStartDate(), dates.getEndDate());
         return shiftInfo;
     }
 
@@ -287,7 +183,7 @@
         //sectionErrors = filterSectionErrors(equipmentId, sectionErrors);
         MdcEquipmentStatisticalShiftInfo shiftInfo = new MdcEquipmentStatisticalShiftInfo();
         BigDecimal totalLongRairs = new BigDecimal("0");
-        List<MdcEquipmentRunningSection> sectionList = findStatsEquipment(null, runningSections, date, sectionErrors);
+        List<MdcEquipmentRunningSection> sectionList = findStatsEquipment(runningSections, date, sectionErrors);
         if (sectionList == null || sectionList.isEmpty()) {
             shiftInfo.setEquipmentId(equipmentid);
             return shiftInfo;
@@ -394,10 +290,9 @@
         return processLong;
     }
 
-    private List<MdcEquipmentRunningSection> findStatsEquipment(List<MdcEquipmentRepair> repairs, List<MdcEquipmentRunningSection> sRun, MdcDateVo mdcDate, List<MdcEquipmentRunningSection> errors) {
+    private List<MdcEquipmentRunningSection> findStatsEquipment(List<MdcEquipmentRunningSection> sRun, MdcDateVo mdcDate, List<MdcEquipmentRunningSection> errors) {
         if (sRun == null || sRun.isEmpty()) {
             //鏃犳暟鎹鐞�
-            //TODO
             return null;
         }
         Long startMdc = mdcDate.getStartTime().getTime();
@@ -501,9 +396,6 @@
                                 errors.get(i).setEndTime(se.getStartTime());
                                 Long sen = DateUtils.differentSecond(errors.get(i).getStartTime(),
                                         errors.get(i).getEndTime());
-                                //
-
-                                //TODO
                                 errOne.setStatus(22);
                                 errOne.setEquipmentId(errors.get(i).getEquipmentId());
                                 errOne.setStartTime(se.getEndTime());
@@ -547,56 +439,56 @@
         }
         return sectionList;
     }
-
-    private List<MdcEquipmentRepair> findSubRepairs(List<MdcEquipmentRepair> repairs, MdcShiftDateVo dates) {
-        if (repairs == null || repairs.isEmpty() || dates == null) {
-            return null;
-        }
-        for (MdcEquipmentRepair repair : repairs) {
-            //璋冩暣
-            Date start = null;
-            Date end = null;
-            long dStart = dates.getStartDate().getTime();
-            long dEnd = dates.getEndDate().getTime();
-            long rStart = repair.getStartTime().getTime();
-            long rEnd = repair.getEndTime().getTime();
-
-            if (rStart <= dStart && rEnd >= dStart && rEnd <= dEnd) {
-                start = dates.getStartDate();
-                end = repair.getEndTime();
-            } else if (rStart >= dStart && rEnd <= dEnd) {
-                start = repair.getStartTime();
-                end = repair.getEndTime();
-            } else if (rStart >= dStart && rStart <= dEnd && rEnd >= dEnd) {
-                start = repair.getStartTime();
-                end = dates.getEndDate();
-            } else if (rStart <= dStart && rEnd >= dEnd) {
-                start = dates.getStartDate();
-                end = dates.getEndDate();
-            }
-            repair.setStartTime(start);
-            repair.setEndTime(end);
-            //澶勭悊寮傚父鏁版嵁
-            if (start == null || end == null) {
-                repair.setSecondLong(0);
-            } else {
-                try {
-                    repair.setSecondLong(DateUtils.getSeconds(start, end));
-                } catch (Exception e) {
-                    repair.setSecondLong(0);
-                }
-
-            }
-
-        }
-        for (int i = 0; i < repairs.size(); i++) {
-            if (repairs.get(i).getStartTime() == null || repairs.get(i).getEndTime() == null || repairs.get(i).getSecondLong() == 0) {
-                repairs.remove(i);
-                i--;
-            }
-        }
-        return repairs;
-    }
+//
+//    private List<MdcEquipmentRepair> findSubRepairs(List<MdcEquipmentRepair> repairs, MdcShiftDateVo dates) {
+//        if (repairs == null || repairs.isEmpty() || dates == null) {
+//            return null;
+//        }
+//        for (MdcEquipmentRepair repair : repairs) {
+//            //璋冩暣
+//            Date start = null;
+//            Date end = null;
+//            long dStart = dates.getStartDate().getTime();
+//            long dEnd = dates.getEndDate().getTime();
+//            long rStart = repair.getStartTime().getTime();
+//            long rEnd = repair.getEndTime().getTime();
+//
+//            if (rStart <= dStart && rEnd >= dStart && rEnd <= dEnd) {
+//                start = dates.getStartDate();
+//                end = repair.getEndTime();
+//            } else if (rStart >= dStart && rEnd <= dEnd) {
+//                start = repair.getStartTime();
+//                end = repair.getEndTime();
+//            } else if (rStart >= dStart && rStart <= dEnd && rEnd >= dEnd) {
+//                start = repair.getStartTime();
+//                end = dates.getEndDate();
+//            } else if (rStart <= dStart && rEnd >= dEnd) {
+//                start = dates.getStartDate();
+//                end = dates.getEndDate();
+//            }
+//            repair.setStartTime(start);
+//            repair.setEndTime(end);
+//            //澶勭悊寮傚父鏁版嵁
+//            if (start == null || end == null) {
+//                repair.setSecondLong(0);
+//            } else {
+//                try {
+//                    repair.setSecondLong(DateUtils.getSeconds(start, end));
+//                } catch (Exception e) {
+//                    repair.setSecondLong(0);
+//                }
+//
+//            }
+//
+//        }
+//        for (int i = 0; i < repairs.size(); i++) {
+//            if (repairs.get(i).getStartTime() == null || repairs.get(i).getEndTime() == null || repairs.get(i).getSecondLong() == 0) {
+//                repairs.remove(i);
+//                i--;
+//            }
+//        }
+//        return repairs;
+//    }
 
     /**
      * 鏃堕棿闂澶勭悊 濡傛灉褰撳ぉ鏈�鏈熬鏃堕棿澶т簬褰撳墠鏃堕棿 杩斿洖0
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentThresholdServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentThresholdServiceImpl.java
deleted file mode 100644
index 80c3b92..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentThresholdServiceImpl.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.entity.MdcEquipmentThreshold;
-import org.jeecg.modules.mdc.mapper.MdcEquipmentThresholdMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentThresholdService;
-import org.springframework.stereotype.Service;
-
-/**
- * @Description: 璁惧鍙傛暟闃堝�艰〃
- * @Author: Lius
- * @Date:   2023-11-08
- * @Version: V1.0
- */
-@Service
-public class MdcEquipmentThresholdServiceImpl extends ServiceImpl<MdcEquipmentThresholdMapper, MdcEquipmentThreshold> implements IMdcEquipmentThresholdService {
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
index b082be7..d99b9d6 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentWorkLineServiceImpl.java
@@ -9,7 +9,6 @@
 import org.jeecg.modules.mdc.service.IMdcDriveTypeParamConfigService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentService;
 import org.jeecg.modules.mdc.service.IMdcEquipmentWorkLineService;
-import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
 import org.jeecg.modules.mdc.util.DateUtils;
 import org.jeecg.modules.mdc.vo.MdcWorkChartVo;
 import org.springframework.stereotype.Service;
@@ -36,9 +35,6 @@
 
     @Resource
     private EquipmentWorklineMapper equipmentWorklineMapper;
-
-    @Resource
-    private IMdcTorqueConfigService mdcTorqueConfigService;
 
     /**
      * 鏌ユ壘鎸囧畾鏃ユ湡鐨勬暟鎹�
@@ -71,12 +67,6 @@
             return null;
         }
         List<EquipmentMachingDto> result = this.getWorkLineList(saveTableName, mdcDriveTypeParamConfigs, mdcWorkChartVo, startTime, endTime);
-        // 鏌ユ壘鎵煩鍜岃繘缁欏弬鏁�
-        List<EquipmentMachingDto> torqueList = mdcTorqueConfigService.getWorkLineList(mdcWorkChartVo.getEquipmentId(), startTime, endTime);
-        if (torqueList != null && !torqueList.isEmpty()) {
-            result.addAll(torqueList);
-            result = result.stream().sorted(Comparator.comparing(EquipmentMachingDto::getCollectTime)).collect(Collectors.toList());
-        }
         if (result == null || result.isEmpty()) {
             return null;
         }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcFeedbackServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcFeedbackServiceImpl.java
deleted file mode 100644
index e2cff06..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcFeedbackServiceImpl.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.entity.MdcFeedback;
-import org.jeecg.modules.mdc.mapper.MdcFeedbackMapper;
-import org.jeecg.modules.mdc.service.IMdcFeedbackService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @Description: 闂鍙嶉
- * @Author: Lius
- * @Date:   2024-05-16
- * @Version: V1.0
- */
-@Service
-public class MdcFeedbackServiceImpl extends ServiceImpl<MdcFeedbackMapper, MdcFeedback> implements IMdcFeedbackService {
-
-    @Override
-    public List<MdcFeedback> getFeedbackList(String key) {
-        return this.baseMapper.getFeedbackList(key);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java
deleted file mode 100644
index 657f19f..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.constant.MdcConstant;
-import org.jeecg.modules.mdc.entity.MdcMessageApproval;
-import org.jeecg.modules.mdc.mapper.MdcMessageApprovalMapper;
-import org.jeecg.modules.mdc.service.IMdcMessageApprovalService;
-import org.springframework.stereotype.Service;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * @Description: mdc娑堟伅纭琛�
- * @Author: Lius
- * @Date: 2024-03-06
- * @Version: V1.0
- */
-@Service
-public class MdcMessageApprovalServiceImpl extends ServiceImpl<MdcMessageApprovalMapper, MdcMessageApproval> implements IMdcMessageApprovalService {
-
-    /**
-     * 鍒〃鏌ヨ
-     */
-    @Override
-    public IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req) {
-        IPage<MdcMessageApproval> pageList = this.baseMapper.pageList(userId, page, mdcMessageApproval);
-        List<MdcMessageApproval> mdcMessageApprovalList = pageList.getRecords();
-        if (mdcMessageApprovalList != null && !mdcMessageApprovalList.isEmpty()) {
-            pageList.getRecords().forEach(item -> {
-                if (item.getSenderIds().contains(userId) && (item.getMsgStatus().equals(MdcConstant.MSG_STATUS_0) || item.getMsgStatus().equals(MdcConstant.MSG_STATUS_3))) {
-                    item.setHasProcess(true);
-                }
-                if (item.getApproverIds().contains(userId) && item.getMsgStatus().equals(MdcConstant.MSG_STATUS_1)) {
-                    item.setHasConfirm(true);
-                }
-            });
-        }
-        return pageList;
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
index 661dc7c..c1c8b40 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcNoplanCloseServiceImpl.java
@@ -23,10 +23,6 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.time.Duration;
-import java.time.LocalDateTime;
-import java.time.ZoneId;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
@@ -320,29 +316,4 @@
         return mv;
     }
 
-    @Override
-    public BigDecimal findNoplanTimeDuration(String equipmentId, String validDate, String noplanType) {
-        BigDecimal result = new BigDecimal("0");
-        String startDate = DateUtils.format(DateUtils.toDate(validDate + "-01", DateUtils.STR_DATE), DateUtils.STR_DATE) + " 00:00:00";
-        Date startTime = DateUtils.toDate(startDate, DateUtils.STR_DATE_TIME_SMALL);
-        String endDate = DateUtils.format(DateUtils.addMonth(1, DateUtils.toDate(startDate, DateUtils.STR_DATE_TIME_SMALL)), DateUtils.STR_DATE_TIME_SMALL);
-        Date endTime = DateUtils.toDate(endDate, DateUtils.STR_DATE_TIME_SMALL);
-        List<MdcNoplanClose> mdcNoplanCloseList = this.baseMapper.findNoplanTimeDuration(equipmentId, noplanType, startDate, endDate);
-        // 鏃堕棿淇 骞惰绠�
-        if (mdcNoplanCloseList != null && !mdcNoplanCloseList.isEmpty()) {
-            for (MdcNoplanClose mdcNoplanClose : mdcNoplanCloseList) {
-                if (mdcNoplanClose.getStartTime().before(startTime)) {
-                    mdcNoplanClose.setStartTime(startTime);
-                }
-                if (mdcNoplanClose.getEndTime().after(endTime)) {
-                    mdcNoplanClose.setEndTime(endTime);
-                }
-                LocalDateTime localStartDate = LocalDateTime.ofInstant(mdcNoplanClose.getStartTime().toInstant(), ZoneId.systemDefault());
-                LocalDateTime localEndDate = LocalDateTime.ofInstant(mdcNoplanClose.getEndTime().toInstant(), ZoneId.systemDefault());
-                int minutes = Math.toIntExact(Duration.between(localStartDate, localEndDate).toMinutes());
-                result = result.add(new BigDecimal(minutes));
-            }
-        }
-        return result;
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
new file mode 100644
index 0000000..65eb877
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java
@@ -0,0 +1,253 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.entity.MdcEquipment;
+import org.jeecg.modules.mdc.entity.MdcOeeInfo;
+import org.jeecg.modules.mdc.mapper.MdcOeeInfoMapper;
+import org.jeecg.modules.mdc.service.IMdcDowntimeService;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
+import org.jeecg.modules.mdc.service.IMdcOeeInfoService;
+import org.jeecg.modules.mdc.util.DateUtils;
+import org.jeecg.modules.mdc.vo.MdcOeeComputeVo;
+import org.jeecg.modules.mdc.vo.MdcOeeInfoVo;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Description: OEE琛�
+ * @Author: lius
+ * @Date: 2024-12-12
+ */
+@Service
+public class MdcOeeInfoServiceImpl extends ServiceImpl<MdcOeeInfoMapper, MdcOeeInfo> implements IMdcOeeInfoService {
+
+    @Resource
+    private IMdcEquipmentService mdcEquipmentService;
+
+    @Resource
+    private IMdcDowntimeService mdcDowntimeService;
+
+    @Resource
+    private IMdcEquipmentStatisticalInfoService mdcEquipmentStatisticalInfoService;
+
+    /**
+     * 鍒嗛〉鍒楄〃
+     *
+     * @param userId
+     * @param page
+     * @param mdcOeeInfoVo
+     * @param req
+     * @return
+     */
+    @Override
+    public IPage<MdcOeeInfo> pageList(String userId, Page<MdcOeeInfo> page, MdcOeeInfoVo mdcOeeInfoVo, HttpServletRequest req) {
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) {
+            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+
+        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
+            mdcOeeInfoVo.setEquipmentIdList(equipmentIds);
+        }
+
+        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
+            return null;
+        }
+        return this.baseMapper.pageList(page, mdcOeeInfoVo);
+    }
+
+    /**
+     * 瀵煎嚭
+     *
+     * @param userId
+     * @param mdcOeeInfoVo
+     * @return
+     */
+    @Override
+    public ModelAndView exportXls(String userId, MdcOeeInfoVo mdcOeeInfoVo) {
+        LambdaQueryWrapper<MdcOeeInfo> queryWrapper = new LambdaQueryWrapper<>();
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getParentId()) && StringUtils.isEmpty(mdcOeeInfoVo.getEquipmentId())) {
+            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOeeInfoVo.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOeeInfoVo.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcOeeInfoVo.setEquipmentIdList(Collections.singletonList(mdcOeeInfoVo.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcOeeInfoVo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+
+        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
+            mdcOeeInfoVo.setEquipmentIdList(equipmentIds);
+        }
+
+        if (mdcOeeInfoVo.getEquipmentIdList() == null || mdcOeeInfoVo.getEquipmentIdList().isEmpty()) {
+            return null;
+        } else {
+            queryWrapper.in(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentIdList());
+        }
+        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getEquipmentId())) {
+            queryWrapper.eq(MdcOeeInfo::getEquipmentId, mdcOeeInfoVo.getEquipmentId());
+        }
+        if (StringUtils.isNotEmpty(mdcOeeInfoVo.getStartTime()) && StringUtils.isNotEmpty(mdcOeeInfoVo.getEndTime())) {
+            queryWrapper.between(MdcOeeInfo::getTheDate, mdcOeeInfoVo.getStartTime(), mdcOeeInfoVo.getEndTime());
+        }
+        queryWrapper.orderByDesc(MdcOeeInfo::getTheDate).orderByDesc(MdcOeeInfo::getEquipmentId);
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<MdcOeeInfo> mdcOeeInfos = this.baseMapper.selectList(queryWrapper);
+        // 瀵煎嚭鏂囦欢鍚嶇О
+        mv.addObject(NormalExcelConstants.FILE_NAME, "OEE鏁版嵁鍒楄〃");
+        mv.addObject(NormalExcelConstants.CLASS, MdcOeeInfo.class);
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("OEE鏁版嵁鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "OEE鏁版嵁"));
+        //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
+        mv.addObject(NormalExcelConstants.DATA_LIST, mdcOeeInfos);
+        return mv;
+    }
+
+    /**
+     * 璁$畻OEE
+     *
+     * @param mdcOeeComputeVo
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void computeOee(MdcOeeComputeVo mdcOeeComputeVo) {
+        List<MdcOeeInfo> result = new ArrayList<>();
+        String startDate = mdcOeeComputeVo.getStartTime();
+        String endDate = mdcOeeComputeVo.getEndTime();
+        List<String> dateList = DateUtils.getDatesStringList(DateUtils.getShortDate(startDate), DateUtils.getShortDate(endDate));
+        if (!dateList.isEmpty()) {
+            //鑾峰彇璁惧鍒楄〃
+            List<MdcEquipment> equipmentList = mdcEquipmentService.list();
+
+            for (String validDate : dateList) {
+                try {
+                    this.remove(new LambdaQueryWrapper<MdcOeeInfo>().eq(MdcOeeInfo::getTheDate, validDate));
+                } catch (Exception e) {
+                    log.error("鍙傛暟鏍煎紡涓嶅", e);
+                }
+                for (MdcEquipment mdcEquipment : equipmentList) {
+                    String equipmentId = mdcEquipment.getEquipmentId();
+                    MdcOeeInfo mdcOeeInfo = new MdcOeeInfo();
+                    // 璁惧缂栧彿
+                    mdcOeeInfo.setEquipmentId(equipmentId);
+                    // 璁$畻鏃ユ湡
+                    mdcOeeInfo.setTheDate(validDate);
+                    // 宸ヤ綔鏃ュ巻鏃堕棿(min) --- 鎸夋瘡澶�24灏忔椂绠�
+                    mdcOeeInfo.setCalendarLong(1440);
+                    // 璁″垝鍋滄満鏃堕棿(min) --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶╂�绘椂闀�
+                    Integer planCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_0);
+                    mdcOeeInfo.setPlanCloseLong(planCloseLong);
+                    // 璐熻嵎鏃堕棿(min) --- 鏃ュ巻宸ヤ綔鏃堕棿-璁″垝鍋滄満鏃堕棿
+                    Integer loadLong = mdcOeeInfo.getCalendarLong() - planCloseLong;
+                    mdcOeeInfo.setLoadLong(loadLong);
+                    // 闈炶鍒掑仠鏈烘椂闂�(min) --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶╂�绘椂闀�
+                    Integer noPlanCloseLong = mdcDowntimeService.findPlanTimeDuration(equipmentId, validDate, CommonConstant.CLOSE_TYPE_1);
+                    mdcOeeInfo.setNoplanCloseLong(noPlanCloseLong);
+                    // 寮�鍔ㄦ椂闂�(min) --- 璐熻嵎鏃堕棿-闈炶鍒掑仠鏈烘椂闂�
+                    int actuateLong = loadLong - noPlanCloseLong;
+                    mdcOeeInfo.setActuateLong(actuateLong);
+                    // 鏃堕棿寮�鍔ㄧ巼 --- 寮�鍔ㄦ椂闂�/璐熻嵎鏃堕棿
+                    BigDecimal timeActuationRate = BigDecimal.ZERO;
+                    if (loadLong == 0) {
+                        mdcOeeInfo.setTimeActuationRate(timeActuationRate);
+                    } else {
+                        timeActuationRate = new BigDecimal(actuateLong).divide(new BigDecimal(loadLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+                        mdcOeeInfo.setTimeActuationRate(timeActuationRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : timeActuationRate);
+                    }
+                    // 鏈夋晥杩愯鏃堕棿 --- 鎸夐渶姹傜淮鎶ら浂浠跺姞宸ユ�绘椂闀縷|绯荤粺涓昏酱璐熻浇鏃堕棿
+                    Integer effectiveRunLong = 0;
+                    //鏌ヨ璁惧杩愯鏃堕棿
+                    effectiveRunLong = mdcEquipmentStatisticalInfoService.selectProcessLong(equipmentId, validDate.replace("-", ""));
+                    if (effectiveRunLong == null) {
+                        effectiveRunLong = 0;
+                    }
+                    mdcOeeInfo.setEffectiveRunLong(effectiveRunLong);
+                    // 鎬ц兘寮�鍔ㄧ巼 --- 鏈夋晥杩愯鏃堕棿/寮�鍔ㄦ椂闂�
+                    BigDecimal performanceRate = BigDecimal.ZERO;
+                    if (effectiveRunLong != 0 && actuateLong != 0) {
+                        performanceRate = new BigDecimal(effectiveRunLong).divide(new BigDecimal(actuateLong), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+                    }
+                    mdcOeeInfo.setPerformanceRate(performanceRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : performanceRate);
+                    // 鍔犲伐闆朵欢鏁伴噺 --- 鎸夌淮鎶ゆ暟鎹粺璁″綋澶�
+                    // 鍔犲伐闆朵欢鏁伴噺
+                    // TODO
+//                    Integer processCount = mdcJcRcJobreportService.selectTotalProcessCount(equipmentId, validDate);
+                    int processCount = 0;
+                    mdcOeeInfo.setProcessCount(processCount);
+                    // 鍚堟牸闆朵欢鏁伴噺
+                    // TODO
+//                    Integer passCount = mdcJcRcJobreportService.selectTotalPassCount(equipmentId, validDate);
+                    int passCount = 0;
+                    mdcOeeInfo.setPassCount(passCount);
+                    // 鍚堟牸鐜� --- 鍚堟牸鏁�/鍔犲伐鏁�
+                    BigDecimal passRate = new BigDecimal("100");
+                    if (processCount != 0 && passCount != 0) {
+                        passRate = new BigDecimal(passCount).divide(new BigDecimal(processCount), 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
+                    }
+                    mdcOeeInfo.setPassRate(passRate.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : passRate);
+                    // OEE --- 鏃堕棿寮�鍔ㄧ巼 * 鎬ц兘寮�鍔ㄧ巼 * 涓�娆″悎鏍肩巼
+                    BigDecimal oee = BigDecimal.ZERO;
+                    if (!timeActuationRate.equals(BigDecimal.ZERO) && !performanceRate.equals(BigDecimal.ZERO) && !passRate.equals(BigDecimal.ZERO)) {
+                        oee = timeActuationRate.multiply(performanceRate).multiply(passRate).divide(new BigDecimal("10000"), 4, RoundingMode.HALF_UP);
+                    }
+                    mdcOeeInfo.setOee(oee.compareTo(new BigDecimal(100)) > 0 ? new BigDecimal(100) : oee);
+                    result.add(mdcOeeInfo);
+                }
+            }
+        }
+        super.saveBatch(result);
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
deleted file mode 100644
index 9c4526c..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
+++ /dev/null
@@ -1,295 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.jeecg.modules.mdc.constant.MdcConstant;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverallEquipmentEfficiency;
-import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration;
-import org.jeecg.modules.mdc.mapper.MdcOverallEquipmentEfficiencyMapper;
-import org.jeecg.modules.mdc.service.*;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.time.YearMonth;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-
-/**
- * @author: LiuS
- * @create: 2023-10-18 09:25
- */
-@Service
-public class MdcOverallEquipmentEfficiencyServiceImpl extends ServiceImpl<MdcOverallEquipmentEfficiencyMapper, MdcOverallEquipmentEfficiency> implements IMdcOverallEquipmentEfficiencyService {
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private IMdcEquipmentOvertimeService mdcEquipmentOvertimeService;
-
-    @Resource
-    private IMdcDeviceCalendarService mdcDeviceCalendarService;
-
-    @Resource
-    private IMdcNoplanCloseService mdcNoplanCloseService;
-
-    @Resource
-    private IMdcPlanCloseService mdcPlanCloseService;
-
-    @Resource
-    private IMdcPassRateService mdcPassRateService;
-
-    @Resource
-    private IMdcStandardProcessDurationService mdcStandardProcessDurationService;
-
-    @Resource
-    private IMdcEquipmentStatisticalShiftInfoService mdcEquipmentStatisticalShiftInfoService;
-
-    @Resource
-    private IProcessCountService processCountService;
-
-    /**
-     * 璁$畻璁惧缁煎悎鏁堢巼OEE
-     */
-    @Override
-    public void runningOverallEquipmentEfficiency(String dateTime) {
-        /*
-            OEE = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
-            鏃堕棿寮�鍔ㄧ巼 = 锛堣礋鑽锋椂闂� - 闈炶鍒掑仠鏈烘椂闂达級 / 璐熻嵎鏃堕棿 脳 100%
-            鎬ц兘寮�鍔ㄧ巼 = 鍑�寮�鍔ㄦ椂闂� / 寮�鍔ㄦ椂闂� 脳 100%
-            鍚堟牸鍝佺巼 = 鍔犲伐鏁伴噺 - 涓嶅悎鏍兼暟閲� / 鍔犲伐鏁伴噺
-            璐熻嵎鏃堕棿 = 鏃ュ巻宸ヤ綔鏃堕棿 - 璁″垝鍋滄満鏃堕棿
-            闈炶鍒掑仠鏈烘椂闂� = 璐熻嵎鏃堕棿 - 涓昏酱杩愯浆鏃堕棿
-            宸ヤ綔鏃ュ巻鏃堕棿 = 鏃ュ巻鏃堕棿 - 娉曞畾鍋囨棩 - 鍙屼紤鏃� + 鍔犵彮鏃堕棿
-            鍑�寮�鍔ㄦ椂闂� = 鏍囧噯鍔犲伐鏃堕棿 脳 鍔犲伐鏁伴噺
-         */
-        List<MdcOverallEquipmentEfficiency> result = new ArrayList<>();
-        // 鑾峰彇鏈夋晥鏃ユ湡 鏍煎紡 yyyy-MM
-        String validDate = YearMonth.now().minusMonths(1).toString();
-        if (StringUtils.isNotBlank(dateTime)) {
-            validDate = DateUtils.format(DateUtils.toDate(dateTime, "yyyyMM"), DateUtils.STR_YEAR_MONTH);
-            try {
-                if (validDate != null) {
-                    this.remove(new LambdaQueryWrapper<MdcOverallEquipmentEfficiency>().
-                            eq(MdcOverallEquipmentEfficiency::getValidDate, validDate));
-                }
-            } catch (Exception e) {
-                log.error("鍙傛暟鏍煎紡涓嶅", e);
-            }
-        }
-        // 鑾峰彇璁惧鍒楄〃
-//        List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2140198"));
-        List<MdcEquipment> equipmentList = mdcEquipmentService.list();
-        for (MdcEquipment mdcEquipment : equipmentList) {
-            String equipmentId = mdcEquipment.getEquipmentId();
-
-            MdcOverallEquipmentEfficiency mdcOverallEquipmentEfficiency = new MdcOverallEquipmentEfficiency();
-            // 鏃堕棿寮�鍔ㄧ巼璁$畻
-            mdcOverallEquipmentEfficiency.setEquipmentId(equipmentId);
-            mdcOverallEquipmentEfficiency.setEquipmentName(mdcEquipment.getEquipmentName());
-            mdcOverallEquipmentEfficiency.setEquipmentModel(mdcEquipment.getEquipmentModel());
-            mdcOverallEquipmentEfficiency.setValidDate(validDate);
-
-            // 鏌ヨ鐝埗鍒嗙被
-            List<String> shiftSubIdList = mdcDeviceCalendarService.findShiftSort(equipmentId, validDate);
-            if (shiftSubIdList != null && !shiftSubIdList.isEmpty()) {
-                String shift = String.join(",", shiftSubIdList);
-                mdcOverallEquipmentEfficiency.setShift(shift);
-            } else {
-                mdcOverallEquipmentEfficiency.setShift("鏃�");
-            }
-
-            if (StringUtils.isEmpty(mdcOverallEquipmentEfficiency.getShift())) {
-                mdcOverallEquipmentEfficiency.setShiftTimeCount(BigDecimal.ZERO);
-            } else {
-                mdcOverallEquipmentEfficiency.setShiftTimeCount(new BigDecimal("8"));
-            }
-
-            // TODO 璁$畻鍔犵彮鏃堕棿
-            BigDecimal overtime = mdcEquipmentOvertimeService.computeOvertime(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setOvertime(overtime);
-
-            // 璁$畻瀹為檯鐝骇澶╂暟
-            BigDecimal actualWorkDayCount = mdcDeviceCalendarService.computeActualWorkDayCount(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setActualWorkDayCount(actualWorkDayCount);
-
-            // 鏈堝害瀹為檯鐝骇鎬绘椂闂�(鍒嗛挓)
-            mdcOverallEquipmentEfficiency.setMonthActualWorkDayTimeCount(mdcOverallEquipmentEfficiency.getShiftTimeCount().multiply(actualWorkDayCount).multiply(new BigDecimal("60")).add(overtime));
-
-            // 鏁呴殰鍋滄満鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal breakdownDownDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.BREAKDOWN_DOWN);
-            mdcOverallEquipmentEfficiency.setBreakdownDownDuration(breakdownDownDuration);
-            // 鎹㈠瀷璋冭瘯鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal conversionDebugDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.CONVERSION_DEBUG);
-            mdcOverallEquipmentEfficiency.setConversionDebugDuration(conversionDebugDuration);
-            // 鐗╂枡鐭己鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal materialShortageDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.MATERIAL_SHORTAGE);
-            mdcOverallEquipmentEfficiency.setMaterialShortageDuration(materialShortageDuration);
-            // 璁″垝绛変换鍔℃椂闀跨粺璁�(鍒嗛挓)
-            BigDecimal plannedTaskDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.PLANNED_TASK);
-            mdcOverallEquipmentEfficiency.setPlannedTaskDuration(plannedTaskDuration);
-            // 妫�楠屾椂闀跨粺璁�(鍒嗛挓)
-            BigDecimal inspectDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.INSPECT);
-            mdcOverallEquipmentEfficiency.setInspectDuration(inspectDuration);
-            // 鍏朵粬鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal otherDuration = mdcNoplanCloseService.findNoplanTimeDuration(equipmentId, validDate, MdcConstant.OTHER);
-            mdcOverallEquipmentEfficiency.setOtherDuration(otherDuration);
-            // 璁″垝淇濆吇鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal plannedMaintenanceDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.PLANNED_MAINTENANCE);
-            mdcOverallEquipmentEfficiency.setPlannedMaintenanceDuration(plannedMaintenanceDuration);
-            // 浼氳/鍩硅鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal conferenceTrainingDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.CONFERENCE_TRAINING);
-            mdcOverallEquipmentEfficiency.setConferenceTrainingDuration(conferenceTrainingDuration);
-            // 鍏跺畠浼戞伅鏃堕暱缁熻(鍒嗛挓)
-            BigDecimal otherRestDuration = mdcPlanCloseService.findPlanTimeDuration(actualWorkDayCount, MdcConstant.OTHER_REST);
-            mdcOverallEquipmentEfficiency.setOtherRestDuration(otherRestDuration);
-            /*
-                璐熻嵎鏃堕棿(灏忔椂) = 宸ヤ綔鏃ュ巻鏃堕棿 - 璁″垝鍋滄満鏃堕棿
-                宸ヤ綔鏃ュ巻鏃堕棿 = 鏃ュ巻鏃堕棿 - 娉曞畾鍋囨棩 - 鍙屼紤鏃� + 鍔犵彮鏃堕棿
-                璁″垝鍋滄満鏃堕棿 = 璁″垝淇濆吇鏃堕暱 + 浼氳/鍩硅鏃堕暱 + 浼氳/鍩硅鏃堕暱
-             */
-            // mdcOverallEquipmentEfficiency.getShiftTimeCount() - plannedMaintenanceDuration - conferenceTrainingDuration - otherRestDuration
-            // 璐熻嵎鏃堕棿(鍒嗛挓)
-            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getMonthActualWorkDayTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
-            if (loadTime.compareTo(BigDecimal.ZERO) < 0) {
-                loadTime = BigDecimal.ZERO;
-            }
-            mdcOverallEquipmentEfficiency.setLoadTime(loadTime.divide(new BigDecimal("60"), 1, RoundingMode.HALF_UP));
-
-            // 鏃堕棿寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
-            // 鏌ヨ涓昏酱杩愯鏃堕棿(鍒嗛挓)
-            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
-            BigDecimal timeActuationRate = BigDecimal.ZERO;
-            if (loadTime.compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setTimeActuationRate(BigDecimal.ZERO);
-            } else {
-                timeActuationRate = spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP);
-                mdcOverallEquipmentEfficiency.setTimeActuationRate(timeActuationRate);
-            }
-
-            BigDecimal processQuantity;
-            // 鍔犲伐闆朵欢鏁�(浠�)  processQuantity
-            if ("FANUC".equals(mdcEquipment.getDriveType())) {
-                processQuantity = processCountService.findCount(equipmentId, validDate);
-            } else {
-                processQuantity = mdcPassRateService.findProcessQuantity(equipmentId, validDate);
-            }
-            mdcOverallEquipmentEfficiency.setProcessQuantity(processQuantity);
-
-            // 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
-            MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getOne(new LambdaQueryWrapper<MdcStandardProcessDuration>().eq(MdcStandardProcessDuration::getEquipmentId, equipmentId));
-            if (mdcStandardProcessDuration != null) {
-                mdcOverallEquipmentEfficiency.setStandardProcessDuration(new BigDecimal(mdcStandardProcessDuration.getDuration()).multiply(processQuantity));
-            } else {
-                mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO);
-            }
-
-            if ("FANUC".equals(mdcEquipment.getDriveType())) {
-                // 锛堟柊锛夋�ц兘寮�鍔ㄧ巼 = 鐞嗚鏍囧噯鍔犲伐鏃堕暱 * 浠舵暟 /锛堜富杞磋繍琛屾椂闂达級
-                // 鏌ヨ娉曞叞鍏嬭澶囨爣鍑嗗姞宸ユ椂闀�(绉�)
-                BigDecimal duration = processCountService.findDuration(mdcEquipment.getEquipmentId(), validDate);
-                if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && duration.compareTo(BigDecimal.ZERO) != 0) {
-                    mdcOverallEquipmentEfficiency.setStandardProcessDuration(duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
-                    BigDecimal performanceRate = duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).divide(spindleRunDuration, 4, RoundingMode.HALF_UP);
-                    if (performanceRate.compareTo(BigDecimal.ONE) == 1) {
-                        performanceRate = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP));
-                    }
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(performanceRate);
-                } else {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
-                }
-            } else {
-                // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
-                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
-                } else {
-                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
-                }
-            }
-
-            // 搴熷搧鏁� unqualifiedQuantity
-            BigDecimal unqualifiedQuantity = mdcPassRateService.findUnqualifiedQuantity(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setUnqualifiedQuantity(unqualifiedQuantity);
-            // 鍚堟牸鐜�
-            if (processQuantity.compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setPassRate(BigDecimal.ONE);
-            } else {
-                mdcOverallEquipmentEfficiency.setPassRate((processQuantity.subtract(unqualifiedQuantity)).divide(processQuantity, 4, RoundingMode.HALF_UP));
-            }
-
-            // 璁惧缁煎悎鏁堢巼 = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
-            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()).setScale(4, RoundingMode.HALF_UP));
-            if (mdcOverallEquipmentEfficiency.getOverallEquipmentEfficiency().compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ZERO);
-            }
-            result.add(mdcOverallEquipmentEfficiency);
-
-        }
-        super.saveBatch(result);
-    }
-
-    /**
-     * 鍒嗛〉鍒楄〃鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param mdcOverallEquipmentEfficiencyVo
-     * @param req
-     * @return
-     */
-    @Override
-    public IPage<MdcOverallEquipmentEfficiency> pageList(String userId, Page<MdcOverallEquipmentEfficiency> page, MdcOverallEquipmentEfficiencyVo mdcOverallEquipmentEfficiencyVo, HttpServletRequest req) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getParentId()) && StringUtils.isEmpty(mdcOverallEquipmentEfficiencyVo.getEquipmentId())) {
-            if ("2".equals(mdcOverallEquipmentEfficiencyVo.getTypeTree())) {
-                // 閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcOverallEquipmentEfficiencyVo.getParentId());
-            } else {
-                // 浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcOverallEquipmentEfficiencyVo.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getEquipmentId())) {
-            // 鍗曞彴璁惧淇℃伅
-            mdcOverallEquipmentEfficiencyVo.setEquipmentIdList(Collections.singletonList(mdcOverallEquipmentEfficiencyVo.getEquipmentId()));
-        } else {
-            // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcOverallEquipmentEfficiencyVo.getTypeTree())) {
-                // 閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                // 浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcOverallEquipmentEfficiencyVo.getEquipmentIdList() == null || mdcOverallEquipmentEfficiencyVo.getEquipmentIdList().isEmpty()) {
-            mdcOverallEquipmentEfficiencyVo.setEquipmentIdList(equipmentIds);
-        }
-        if (mdcOverallEquipmentEfficiencyVo.getEquipmentIdList() == null || mdcOverallEquipmentEfficiencyVo.getEquipmentIdList().isEmpty()) {
-            return null;
-        }
-        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getEquipmentType())) {
-            mdcOverallEquipmentEfficiencyVo.setEquipmentTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getEquipmentType().split(",")));
-        }
-        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDeviceCategory())) {
-            mdcOverallEquipmentEfficiencyVo.setDeviceCategoryList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDeviceCategory().split(",")));
-        }
-        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDeviceLevel())) {
-            mdcOverallEquipmentEfficiencyVo.setDeviceLevelList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDeviceLevel().split(",")));
-        }
-        if (StringUtils.isNotEmpty(mdcOverallEquipmentEfficiencyVo.getDriveType())) {
-            mdcOverallEquipmentEfficiencyVo.setDriveTypeList(Arrays.asList(mdcOverallEquipmentEfficiencyVo.getDriveType().split(",")));
-        }
-        return this.baseMapper.pageList(page, mdcOverallEquipmentEfficiencyVo);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java
deleted file mode 100644
index 3e46eff..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverrunAlarmServiceImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcOverrunAlarm;
-import org.jeecg.modules.mdc.mapper.MdcOverrunAlarmMapper;
-import org.jeecg.modules.mdc.service.IMdcOverrunAlarmService;
-import org.springframework.stereotype.Service;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @Description: mdc瓒呴檺鎶ヨ
- * @Author: Lius
- * @Date: 2024-03-01
- * @Version: V1.0
- */
-@Service
-public class MdcOverrunAlarmServiceImpl extends ServiceImpl<MdcOverrunAlarmMapper, MdcOverrunAlarm> implements IMdcOverrunAlarmService {
-
-    @Override
-    public IPage<MdcOverrunAlarm> pageList(Page<MdcOverrunAlarm> page, MdcEquipment mdcEquipment, HttpServletRequest req) {
-        return this.baseMapper.pageList(page, mdcEquipment);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPartProcessInfoServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPartProcessInfoServiceImpl.java
new file mode 100644
index 0000000..61b0cea
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPartProcessInfoServiceImpl.java
@@ -0,0 +1,154 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.mdc.entity.MdcPartProcessInfo;
+import org.jeecg.modules.mdc.mapper.MdcPartProcessInfoMapper;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecg.modules.mdc.service.IMdcPartProcessInfoService;
+import org.jeecg.modules.mdc.vo.MdcPartProcessInfoVo;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @Description: 闆朵欢鍔犲伐鏁版嵁琛�
+ * @Author: lius
+ * @Date: 2024-12-11
+ */
+@Service
+public class MdcPartProcessInfoServiceImpl extends ServiceImpl<MdcPartProcessInfoMapper, MdcPartProcessInfo> implements IMdcPartProcessInfoService {
+
+    @Resource
+    private IMdcEquipmentService mdcEquipmentService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param userId
+     * @param page
+     * @param mdcPartProcessInfo
+     * @param req
+     * @return
+     */
+    @Override
+    public IPage<MdcPartProcessInfo> pageList(String userId, Page<MdcPartProcessInfo> page, MdcPartProcessInfoVo mdcPartProcessInfo, HttpServletRequest req) {
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcPartProcessInfo.getParentId()) && StringUtils.isEmpty(mdcPartProcessInfo.getEquipmentId())) {
+            if ("2".equals(mdcPartProcessInfo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcPartProcessInfo.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcPartProcessInfo.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcPartProcessInfo.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcPartProcessInfo.setEquipmentIdList(Collections.singletonList(mdcPartProcessInfo.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcPartProcessInfo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+
+        if (mdcPartProcessInfo.getEquipmentIdList() == null || mdcPartProcessInfo.getEquipmentIdList().isEmpty()) {
+            mdcPartProcessInfo.setEquipmentIdList(equipmentIds);
+        }
+
+        if (mdcPartProcessInfo.getEquipmentIdList() == null || mdcPartProcessInfo.getEquipmentIdList().isEmpty()) {
+            return null;
+        }
+        return this.baseMapper.pageList(page, mdcPartProcessInfo);
+    }
+
+    @Override
+    public boolean addPartProcess(MdcPartProcessInfoVo mdcPartProcessInfo) {
+        String[] equipmentIdList = mdcPartProcessInfo.getEquipmentIds().split(",");
+        List<MdcPartProcessInfo> partProcessInfoList = new ArrayList<>();
+        for (String equipmentId : equipmentIdList) {
+            MdcPartProcessInfo mppi = new MdcPartProcessInfo();
+            BeanUtils.copyProperties(mdcPartProcessInfo, mppi);
+            mppi.setEquipmentId(equipmentId);
+            partProcessInfoList.add(mppi);
+        }
+        this.saveBatch(partProcessInfoList);
+        return true;
+    }
+
+    @Override
+    public ModelAndView exportXls(String userId, MdcPartProcessInfoVo mdcPartProcessInfo) {
+        LambdaQueryWrapper<MdcPartProcessInfo> queryWrapper = new LambdaQueryWrapper<>();
+        List<String> equipmentIds = new ArrayList<>();
+        if (StringUtils.isNotEmpty(mdcPartProcessInfo.getParentId()) && StringUtils.isEmpty(mdcPartProcessInfo.getEquipmentId())) {
+            if ("2".equals(mdcPartProcessInfo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcPartProcessInfo.getParentId());
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcPartProcessInfo.getParentId());
+            }
+        } else if (StringUtils.isNotEmpty(mdcPartProcessInfo.getEquipmentId())) {
+            //鍗曞彴璁惧淇℃伅
+            mdcPartProcessInfo.setEquipmentIdList(Collections.singletonList(mdcPartProcessInfo.getEquipmentId()));
+        } else {
+            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
+            if ("2".equals(mdcPartProcessInfo.getTypeTree())) {
+                //閮ㄩ棬灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
+            } else {
+                //浜х嚎灞傜骇
+                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
+            }
+        }
+
+        if (mdcPartProcessInfo.getEquipmentIdList() == null || mdcPartProcessInfo.getEquipmentIdList().isEmpty()) {
+            mdcPartProcessInfo.setEquipmentIdList(equipmentIds);
+        }
+
+        if (mdcPartProcessInfo.getEquipmentIdList() == null || mdcPartProcessInfo.getEquipmentIdList().isEmpty()) {
+            return null;
+        } else {
+            queryWrapper.in(MdcPartProcessInfo::getEquipmentId, mdcPartProcessInfo.getEquipmentIdList());
+        }
+        if (StringUtils.isNotEmpty(mdcPartProcessInfo.getEquipmentId())) {
+            queryWrapper.eq(MdcPartProcessInfo::getEquipmentId, mdcPartProcessInfo.getEquipmentId());
+        }
+        if (StringUtils.isNotEmpty(mdcPartProcessInfo.getPartId())) {
+            queryWrapper.eq(MdcPartProcessInfo::getPartId, mdcPartProcessInfo.getPartId());
+        }
+        if (StringUtils.isNotEmpty(mdcPartProcessInfo.getStartTime()) && StringUtils.isNotEmpty(mdcPartProcessInfo.getEndTime())) {
+            queryWrapper.between(MdcPartProcessInfo::getTheDate, mdcPartProcessInfo.getStartTime(), mdcPartProcessInfo.getEndTime());
+        }
+        queryWrapper.orderByDesc(MdcPartProcessInfo::getTheDate).orderByDesc(MdcPartProcessInfo::getEquipmentId);
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<MdcPartProcessInfo> mdcPartProcessInfos = this.baseMapper.selectList(queryWrapper);
+        // 瀵煎嚭鏂囦欢鍚嶇О
+        mv.addObject(NormalExcelConstants.FILE_NAME, "闆朵欢鍔犲伐鏁版嵁鍒楄〃");
+        mv.addObject(NormalExcelConstants.CLASS, MdcPartProcessInfo.class);
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("闆朵欢鍔犲伐鏁版嵁鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "闆朵欢鍔犲伐鏁版嵁"));
+        //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
+        mv.addObject(NormalExcelConstants.DATA_LIST, mdcPartProcessInfos);
+        return mv;
+    }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java
index f2e5f4b..2172958 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPassRateServiceImpl.java
@@ -196,21 +196,4 @@
         return mv;
     }
 
-    @Override
-    public BigDecimal findProcessQuantity(String equipmentId, String validDate) {
-        String startTime = DateUtils.format(DateUtils.toDate(validDate + "-01 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL);
-        LocalDate localDate = LocalDate.of(Integer.parseInt(validDate.split("-")[0]), Integer.parseInt(validDate.split("-")[1]), Integer.parseInt("01")).plusMonths(1);
-        String endTime = DateUtils.format(DateUtils.toDate(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL);
-        Integer result = this.baseMapper.findProcessQuantity(equipmentId, startTime, endTime);
-        return result == null ? new BigDecimal("0") : new BigDecimal(result);
-    }
-
-    @Override
-    public BigDecimal findUnqualifiedQuantity(String equipmentId, String validDate) {
-        String startTime = DateUtils.format(DateUtils.toDate(validDate + "-01 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL);
-        LocalDate localDate = LocalDate.of(Integer.parseInt(validDate.split("-")[0]), Integer.parseInt(validDate.split("-")[1]), Integer.parseInt("01")).plusMonths(1);
-        String endTime = DateUtils.format(DateUtils.toDate(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 00:00:00", DateUtils.STR_DATE_TIME_SMALL), DateUtils.STR_DATE_TIME_SMALL);
-        Integer result = this.baseMapper.findUnqualifiedQuantity(equipmentId, startTime, endTime);
-        return result == null ? new BigDecimal("0") : new BigDecimal(result);
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java
index eaa6d9a..9efd272 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java
@@ -1,18 +1,10 @@
 package org.jeecg.modules.mdc.service.impl;
 
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.mdc.constant.MdcConstant;
 import org.jeecg.modules.mdc.entity.MdcPlanClose;
 import org.jeecg.modules.mdc.mapper.MdcPlanCloseMapper;
 import org.jeecg.modules.mdc.service.IMdcPlanCloseService;
 import org.springframework.stereotype.Service;
-
-import java.math.BigDecimal;
-import java.util.Arrays;
-import java.util.List;
-
 
 /**
  * @Description: mdc璁″垝鍋滄満缁存姢琛�
@@ -23,27 +15,4 @@
 @Service
 public class MdcPlanCloseServiceImpl extends ServiceImpl<MdcPlanCloseMapper, MdcPlanClose> implements IMdcPlanCloseService {
 
-    @Override
-    public BigDecimal findPlanTimeDuration(BigDecimal actualWorkDayCount, String planCloseType) {
-        BigDecimal result = new BigDecimal("0");
-        List<MdcPlanClose> mdcPlanCloses = this.baseMapper.selectList(new LambdaQueryWrapper<MdcPlanClose>().in(MdcPlanClose::getPlanCloseType, Arrays.asList(planCloseType.split(","))));
-        if (mdcPlanCloses != null && !mdcPlanCloses.isEmpty()) {
-            for (MdcPlanClose mdcPlanClose : mdcPlanCloses) {
-                switch (mdcPlanClose.getPlanCloseTimeType()) {
-                    case MdcConstant.DAY:
-                        result = result.add(actualWorkDayCount.multiply(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong())));
-                        break;
-                    case MdcConstant.WEEK:
-                        result = result.add(new BigDecimal("4").multiply(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong())));
-                        break;
-                    case MdcConstant.MONTH:
-                        result = result.add(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong()));
-                        break;
-                    default:
-                        break;
-                }
-            }
-        }
-        return result;
-    }
 }
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
deleted file mode 100644
index 3d5754d..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.dto.EquipmentMachingDto;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcTorqueConfig;
-import org.jeecg.modules.mdc.mapper.MdcTorqueConfigMapper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.service.IMdcTorqueConfigService;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-
-/**
- * @Description: 鎵煩閰嶇疆绠$悊
- * @Author: ym
- * @Date: 2023-06-29
- */
-@Service
-public class MdcTorqueConfigServiceImpl extends ServiceImpl<MdcTorqueConfigMapper, MdcTorqueConfig> implements IMdcTorqueConfigService {
-
-    @Autowired
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Override
-    public MdcTorqueConfig queryById(String id) {
-        return this.getById(id);
-    }
-
-    @Override
-    public Boolean addTorque(MdcTorqueConfig mdcTorqueConfig) {
-        boolean result = false;
-        String[] equipmentIds = mdcTorqueConfig.getEquipmentIds().split(",");
-        for (String equipmentId : equipmentIds) {
-            MdcEquipment mdcEquipment = mdcEquipmentService.findEquipmentNameByEquipmentId(equipmentId);
-            MdcTorqueConfig torqueConfig = new MdcTorqueConfig();
-            torqueConfig.setEquipmentId(equipmentId);
-            torqueConfig.setFeedParameter(mdcTorqueConfig.getFeedParameter());
-            torqueConfig.setEquipmentName(mdcEquipment.getEquipmentName());
-            torqueConfig.setTorqueDate(mdcTorqueConfig.getTorqueDate());
-            torqueConfig.setTorqueValue(mdcTorqueConfig.getTorqueValue());
-            torqueConfig.setNotes(mdcTorqueConfig.getNotes());
-            boolean b = super.save(torqueConfig);
-            if (b) {
-                result = true;
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public Boolean editTorque(MdcTorqueConfig mdcTorqueConfig) {
-        return this.updateById(mdcTorqueConfig);
-    }
-
-    @Override
-    public Boolean deleteTorque(String id) {
-        return this.removeById(id);
-    }
-
-    @Override
-    public Boolean deleteBatchTorque(String ids) {
-        return this.removeBatchByIds(Arrays.asList(ids.split(",")));
-    }
-
-    @Override
-    public IPage<MdcTorqueConfig> pageList(String userId, Page page, HttpServletRequest req, MdcTorqueConfig mdcTorqueConfig) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcTorqueConfig.getParentId()) && StringUtils.isEmpty(mdcTorqueConfig.getEquipmentId())) {
-            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcTorqueConfig.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcTorqueConfig.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcTorqueConfig.setMdcSectionIds(Collections.singletonList(mdcTorqueConfig.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
-            mdcTorqueConfig.setMdcSectionIds(equipmentIds);
-        }
-        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-        return this.baseMapper.pageList(page, mdcTorqueConfig);
-    }
-
-    /**
-     * 瀵煎嚭
-     *
-     * @param userId
-     * @param mdcTorqueConfig
-     * @return
-     */
-    @Override
-    public ModelAndView exportXls(String userId, MdcTorqueConfig mdcTorqueConfig) {
-        // Step.1 缁勮鏌ヨ鏉′欢
-        LambdaQueryWrapper<MdcTorqueConfig> queryWrapper = new LambdaQueryWrapper<>();
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcTorqueConfig.getParentId()) && StringUtils.isEmpty(mdcTorqueConfig.getEquipmentId())) {
-            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcTorqueConfig.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcTorqueConfig.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcTorqueConfig.setMdcSectionIds(Collections.singletonList(mdcTorqueConfig.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcTorqueConfig.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
-            mdcTorqueConfig.setMdcSectionIds(equipmentIds);
-        }
-        if (mdcTorqueConfig.getMdcSectionIds() == null || mdcTorqueConfig.getMdcSectionIds().isEmpty()) {
-            return null;
-        } else {
-            queryWrapper.in(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getMdcSectionIds());
-        }
-        if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentId())) {
-            queryWrapper.like(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getEquipmentId());
-        }
-        if (StringUtils.isNotEmpty(mdcTorqueConfig.getEquipmentName())) {
-            queryWrapper.like(MdcTorqueConfig::getEquipmentId, mdcTorqueConfig.getEquipmentId());
-        }
-        if (StringUtils.isNotEmpty(mdcTorqueConfig.getStartTime()) && StringUtils.isNotEmpty(mdcTorqueConfig.getEndTime())) {
-            queryWrapper.between(MdcTorqueConfig::getTorqueDate, mdcTorqueConfig.getStartTime(), mdcTorqueConfig.getEndTime());
-        }
-        queryWrapper.orderByAsc(MdcTorqueConfig::getTorqueDate);
-        // Step.2 AutoPoi 瀵煎嚭Excel
-        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-        List<MdcTorqueConfig> mdcTorqueConfigs = this.baseMapper.selectList(queryWrapper);
-        // 瀵煎嚭鏂囦欢鍚嶇О
-        mv.addObject(NormalExcelConstants.FILE_NAME, "鎵煩閰嶇疆鍒楄〃");
-        mv.addObject(NormalExcelConstants.CLASS, MdcTorqueConfig.class);
-        //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
-        //update-begin---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鎵煩閰嶇疆鍒楄〃鏁版嵁", "瀵煎嚭浜�:"+user.getRealname(), "鎵煩閰嶇疆"));
-        //update-end---author:wangshuai ---date:20211227  for锛歔JTC-116]瀵煎嚭浜哄啓姝讳簡------------
-        mv.addObject(NormalExcelConstants.DATA_LIST, mdcTorqueConfigs);
-        return mv;
-    }
-
-    @Override
-    public List<EquipmentMachingDto> getWorkLineList(String equipmentId, Date startTime, Date endTime) {
-        return this.baseMapper.getWorkLineList(equipmentId, startTime, endTime);
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
deleted file mode 100644
index 33fb1af..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcVacationManagementServiceImpl.java
+++ /dev/null
@@ -1,211 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import net.sf.saxon.expr.Component;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration;
-import org.jeecg.modules.mdc.entity.MdcVacationManagement;
-import org.jeecg.modules.mdc.mapper.MdcVacationManagementMappper;
-import org.jeecg.modules.mdc.service.IMdcEquipmentService;
-import org.jeecg.modules.mdc.service.IMdcVacationManagementService;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.time.temporal.TemporalAdjusters;
-import java.util.*;
-
-/**
- * @Description: 鍋囨湡绠$悊
- * @Author: ym
- * @Date: 2023-07-05
- */
-@Service
-public class MdcVacationManagementServiceImpl extends ServiceImpl<MdcVacationManagementMappper, MdcVacationManagement> implements IMdcVacationManagementService {
-
-    @Autowired
-    private IMdcEquipmentService equipmentService;
-
-    @Override
-    public MdcVacationManagement queryById(String id) {
-        return this.getById(id);
-    }
-
-    @Override
-    public Boolean addVacation(MdcVacationManagement mdcVacationManagement) {
-        boolean result = false;
-        String[] equipmentIds = mdcVacationManagement.getEquipmentIds().split(",");
-        for (String equipmentId : equipmentIds) {
-            MdcEquipment mdcEquipment = equipmentService.findEquipmentNameByEquipmentId(equipmentId);
-            MdcVacationManagement vacationManagement = new MdcVacationManagement();
-            BeanUtils.copyProperties(mdcVacationManagement, vacationManagement);
-            vacationManagement.setEquipmentId(mdcEquipment.getEquipmentId());
-            vacationManagement.setEquipmentName(mdcEquipment.getEquipmentName());
-            boolean b = super.save(vacationManagement);
-            if (b) {
-                result = true;
-            }
-        }
-        return result;
-    }
-
-    @Override
-    public Boolean editVacation(MdcVacationManagement mdcVacationManagement) {
-        return this.updateById(mdcVacationManagement);
-    }
-
-    @Override
-    public Boolean deleteVacation(String id) {
-        return this.removeById(id);
-    }
-
-    @Override
-    public Boolean deleteBatchVacation(String ids) {
-        return this.removeBatchByIds(Arrays.asList(ids.split(",")));
-    }
-
-    @Override
-    public IPage<MdcVacationManagement> pageList(String userId, Page page, HttpServletRequest req, MdcVacationManagement mdcVacationManagement) {
-        //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())) {
-            if ("2".equals(mdcVacationManagement.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, mdcVacationManagement.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsProduction(userId, mdcVacationManagement.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcVacationManagement.setMdcSectionIds(Collections.singletonList(mdcVacationManagement.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
-            if ("2".equals(mdcVacationManagement.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                equipmentIds = equipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
-            mdcVacationManagement.setMdcSectionIds(equipmentIds);
-        }
-        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-        return this.baseMapper.pageList(page, mdcVacationManagement);
-    }
-
-    /**
-     * 鐢熸垚鍙屼紤鏃�
-     */
-    @Override
-    public void generateWeekDays() {
-        MdcVacationManagement mdcVacationManagement = this.baseMapper.selectLastWeekDays();
-        // 鑾峰彇鐢熸垚寮�濮嬫椂闂村拰缁撴潫鏃堕棿
-        LocalDate startDate;
-        LocalDate endDate;
-        if (mdcVacationManagement == null) {
-            startDate = LocalDate.now();
-            endDate = LocalDate.of(DateUtils.getYear(), DateUtils.getMonth(), DateUtils.getDayOfMonth());
-        } else {
-            LocalDate vacationDate = mdcVacationManagement.getVacationDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate().plusMonths(1);
-            startDate = vacationDate.with(TemporalAdjusters.firstDayOfMonth());
-            endDate = vacationDate.with(TemporalAdjusters.lastDayOfMonth());
-        }
-        List<MdcVacationManagement> list = new ArrayList<>();
-        // 鑾峰彇寮�濮嬫椂闂村拰缁撴潫鏃堕棿鐨勪腑闂村弻浼戞棩闆嗗悎
-        List<Date> dateList = DateUtils.getWeekDays(startDate, endDate);
-        if (!dateList.isEmpty()) {
-            // 鑾峰彇鎵�鏈夎澶�
-            List<MdcEquipment> equipmentList = equipmentService.list();
-            for (Date date : dateList) {
-                for (MdcEquipment mdcEquipment : equipmentList) {
-                    MdcVacationManagement management = new MdcVacationManagement();
-                    management.setEquipmentId(mdcEquipment.getEquipmentId());
-                    management.setEquipmentName(mdcEquipment.getEquipmentName());
-                    management.setVacationDate(date);
-                    management.setVacationType("鍙屼紤鏃�");
-                    management.setCreateBy("root");
-                    list.add(management);
-                }
-            }
-            super.saveBatch(list);
-        }
-
-    }
-
-    @Override
-    public ModelAndView exportXls(String userId, MdcVacationManagement mdcVacationManagement) {
-        LambdaQueryWrapper<MdcVacationManagement> queryWrapper = new LambdaQueryWrapper<>();
-        //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcVacationManagement.getParentId()) && StringUtils.isEmpty(mdcVacationManagement.getEquipmentId())) {
-            if ("2".equals(mdcVacationManagement.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, mdcVacationManagement.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsProduction(userId, mdcVacationManagement.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcVacationManagement.setMdcSectionIds(Collections.singletonList(mdcVacationManagement.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎵�鎷ユ湁鐨勮澶囦俊鎭�
-            if ("2".equals(mdcVacationManagement.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = equipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                equipmentIds = equipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
-            mdcVacationManagement.setMdcSectionIds(equipmentIds);
-        }
-        if (mdcVacationManagement.getMdcSectionIds() == null || mdcVacationManagement.getMdcSectionIds().isEmpty()) {
-            return null;
-        } else {
-            queryWrapper.in(MdcVacationManagement::getEquipmentId, mdcVacationManagement.getMdcSectionIds());
-        }
-        if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentId())) {
-            queryWrapper.like(MdcVacationManagement::getEquipmentId, mdcVacationManagement.getEquipmentId());
-        }
-        if (StringUtils.isNotEmpty(mdcVacationManagement.getEquipmentName())) {
-            queryWrapper.like(MdcVacationManagement::getEquipmentName, mdcVacationManagement.getEquipmentName());
-        }
-        if (StringUtils.isNotEmpty(mdcVacationManagement.getStartTime()) && StringUtils.isNotEmpty(mdcVacationManagement.getEndTime())) {
-            queryWrapper.between(MdcVacationManagement::getVacationDate, mdcVacationManagement.getStartTime(), mdcVacationManagement.getEndTime());
-        }
-        queryWrapper.orderByAsc(MdcVacationManagement::getVacationDate);
-        // Step.2 AutoPoi 瀵煎嚭Excel
-        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-        List<MdcVacationManagement> mdcStandardProcessDurations = this.baseMapper.selectList(queryWrapper);
-        // 瀵煎嚭鏂囦欢鍚嶇О
-        mv.addObject(NormalExcelConstants.FILE_NAME, "鍋囨湡绠$悊鍒楄〃");
-        mv.addObject(NormalExcelConstants.CLASS, MdcVacationManagement.class);
-        //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鍋囨湡绠$悊鍒楄〃鏁版嵁", "瀵煎嚭浜�:" + user.getRealname(), "鍋囨湡绠$悊"));
-        mv.addObject(NormalExcelConstants.DATA_LIST, mdcStandardProcessDurations);
-        return mv;
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java
deleted file mode 100644
index b948630..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java
+++ /dev/null
@@ -1,326 +0,0 @@
-package org.jeecg.modules.mdc.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.commons.lang.StringUtils;
-import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
-import org.jeecg.modules.mdc.dto.MdcProcessCountDto;
-import org.jeecg.modules.mdc.entity.MdcEquipment;
-import org.jeecg.modules.mdc.entity.MdcEquipmentRunningSection;
-import org.jeecg.modules.mdc.entity.MdcProcessCount;
-import org.jeecg.modules.mdc.mapper.MdcProcessCountMapper;
-import org.jeecg.modules.mdc.service.*;
-import org.jeecg.modules.mdc.util.DateUtils;
-import org.jeecg.modules.mdc.util.TimeFieldUtils;
-import org.jeecg.modules.mdc.vo.MdcDateVo;
-import org.jeecg.modules.mdc.vo.MdcDeviceCalendarVo;
-import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.*;
-
-/**
- * @author Lius
- * @date 2023/11/23 10:17
- */
-@Service
-public class ProcessCountServiceImpl extends ServiceImpl<MdcProcessCountMapper, MdcProcessCount> implements IProcessCountService {
-
-    @Resource
-    private IMdcEquipmentService mdcEquipmentService;
-
-    @Resource
-    private IMdcDeviceCalendarService mdcDeviceCalendarService;
-
-    @Resource
-    private IMdcEquipmentRunningSectionService mdcEquipmentRunningSectionService;
-
-    @Resource
-    private IMdcEquipmentOverFlagService mdcEquipmentOverFlagService;
-
-    @Resource
-    private IEquipmentWorkLineService equipmentWorkLineService;
-
-    /**
-     * 璁$畻鍔犲伐宸ヤ欢涓暟鍜屾椂闂翠换鍔�
-     */
-    @Override
-    @Transactional(rollbackFor = {Exception.class})
-    public void runningProcessCount() {
-        // 鑾峰彇鎵�鏈夎澶�
-        //List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2140198"));
-        List<MdcEquipment> mdcEquipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getDriveType, "FANUC"));
-        List<MdcProcessCount> result = new ArrayList<>();
-        for (MdcEquipment mdcEquipment : mdcEquipmentList) {
-            List<MdcProcessCount> mdcProcessCountList = processCount(mdcEquipment);
-            if (mdcProcessCountList != null && !mdcProcessCountList.isEmpty()) {
-                result.addAll(mdcProcessCountList);
-            }
-        }
-        if (!result.isEmpty()) {
-            this.saveBatch(result);
-        }
-    }
-
-    /**
-     * 鍒嗛〉鏌ヨ
-     *
-     * @param userId
-     * @param page
-     * @param mdcProcessCountVo
-     * @param req
-     * @return
-     */
-    @Override
-    public List<MdcProcessCountDto> pageList(String userId, MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req) {
-        List<String> equipmentIds = new ArrayList<>();
-        if (StringUtils.isNotEmpty(mdcProcessCountVo.getParentId()) && StringUtils.isEmpty(mdcProcessCountVo.getEquipmentId())) {
-            if ("2".equals(mdcProcessCountVo.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcProcessCountVo.getParentId());
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, mdcProcessCountVo.getParentId());
-            }
-        } else if (StringUtils.isNotEmpty(mdcProcessCountVo.getEquipmentId())) {
-            //鍗曞彴璁惧淇℃伅
-            mdcProcessCountVo.setMdcSectionIds(Collections.singletonList(mdcProcessCountVo.getEquipmentId()));
-        } else {
-            //鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬墍鏈夎澶囦俊鎭�
-            if ("2".equals(mdcProcessCountVo.getTypeTree())) {
-                //閮ㄩ棬灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsByDepart(userId, null);
-            } else {
-                //浜х嚎灞傜骇
-                equipmentIds = mdcEquipmentService.getEquipmentIdsProduction(userId, null);
-            }
-        }
-        if (mdcProcessCountVo.getMdcSectionIds() == null || mdcProcessCountVo.getMdcSectionIds().isEmpty()) {
-            mdcProcessCountVo.setMdcSectionIds(equipmentIds);
-        }
-
-        if (mdcProcessCountVo.getMdcSectionIds() == null || mdcProcessCountVo.getMdcSectionIds().isEmpty()) {
-            return null;
-        }
-        return this.baseMapper.pageList(mdcProcessCountVo);
-    }
-
-    @Override
-    public BigDecimal findDuration(String equipmentId, String validDate) {
-        BigDecimal result = this.baseMapper.findDuration(equipmentId, validDate.replaceAll("-", ""));
-        return result == null ? BigDecimal.ZERO : result;
-    }
-
-    @Override
-    public BigDecimal findCount(String equipmentId, String validDate) {
-        BigDecimal result = this.baseMapper.findCount(equipmentId, validDate.replaceAll("-", ""));
-        return result == null ? BigDecimal.ZERO : result;
-    }
-
-    List<MdcProcessCount> processCount(MdcEquipment mdcEquipment) {
-        Date initDate = null;
-        //鍙栨渶鍚庣殑缁熻鏁版嵁
-        MdcProcessCount lastData = this.baseMapper.getLastData(mdcEquipment.getEquipmentId());
-        if (lastData != null) {
-            initDate = DateUtils.toDate(lastData.getTheDate(), DateUtils.STRDATE);
-            initDate = DateUtils.plusTime(initDate, 1);
-        } else {
-            //鍒濇鍙栧�� 鍙栧綋鍓嶆椂闂村線鍓嶆帹涓�涓湀鏃堕棿
-//            MdcDeviceCalendar mdcDeviceCalendar = mdcDeviceCalendarService.getFirstData(mdcEquipment.getEquipmentId());
-            initDate = DateUtils.toDate(LocalDate.now().plusMonths(-1).toString(), DateUtils.STR_DATE);
-        }
-        if (initDate == null) {
-            return null;
-        }
-        Date endDate = DateUtils.plusTime(DateUtils.getNow(), 0);
-        if (!DateUtils.less(initDate, endDate)) {
-            return Collections.emptyList();
-        }
-        //鑾峰彇涓や釜鏃堕棿娈电殑宸�
-        List<String> stringDates = DateUtils.getDatesStringList2(initDate, DateUtils.plusTime(endDate, -1));
-        if (stringDates.isEmpty()) {
-            return Collections.emptyList();
-        }
-        // 鑾峰彇璁惧鐝淇℃伅
-        Map<String, List<MdcDeviceCalendarVo>> listMap = this.mdcDeviceCalendarMap(mdcEquipment.getEquipmentId(), stringDates);
-        if (listMap == null || listMap.isEmpty()) {
-            return null;
-        }
-        List<MdcProcessCount> resultList = new ArrayList<>();
-        for (String stringDate : stringDates) {
-            if (listMap.containsKey(stringDate)) {
-                List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = listMap.get(stringDate);
-                // 澶勭悊鐝埗鐝鏃堕棿
-                MdcDateVo mdcDateVo = this.handleDeviceCalendar(mdcDeviceCalendarVos);
-                // 鏌ユ壘璁惧鍗曡〃杩愯鏁版嵁
-                List<String> productCountList = new ArrayList<>();
-                try {
-                    productCountList = equipmentWorkLineService.findRunningData(mdcEquipment.getSaveTableName(), mdcDateVo.getStartTime(), mdcDateVo.getEndTime());
-                } catch (Exception e) {
-                    continue;
-                }
-
-                if (productCountList == null || productCountList.isEmpty()) {
-                    continue;
-                }
-/*                Map<String, Object> firstMap = new HashMap<>(mdcEquipmentDtoList.get(0));
-                Map<String, Object> mdcEquipmentDtoMap = mdcEquipmentDtoList.get(0);
-                for (int i = 1; i < mdcEquipmentDtoList.size(); i++) {
-                    String productCount1 = mdcEquipmentDtoList.get(i).get("ProductCount").toString();
-                    if (!mdcEquipmentDtoMap.get("ProductCount").equals(productCount1)) {
-                        Date start;
-                        Date end;
-                        String sequenceNumber;
-                        if (firstMap.get("ProductCount").toString().equals(mdcEquipmentDtoList.get(i - 1).get("ProductCount").toString())) {
-                            //缁撴潫鏃堕棿
-                            end = DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME);
-                            //鏍规嵁productCount鍊兼煡璇㈠紑濮嬫椂闂�
-                            String productCount = mdcEquipmentDtoList.get(i - 1).get("ProductCount").toString();
-                            MdcEquipmentDto mdcEquipmentDto = equipmentWorkLineService.findProductCountStartTime(mdcEquipment.getSaveTableName(), productCount);
-                            if (mdcEquipmentDto == null) {
-                                continue;
-                            }
-                            start = mdcEquipmentDto.getCollectTime();
-                            //绋嬪簭鍙�
-                            sequenceNumber = mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString();
-                        } else {
-                            start = DateUtils.toDate(mdcEquipmentDtoMap.get("CollectTime").toString(), DateUtils.STR_DATE_TIME);
-                            end = DateUtils.toDate(mdcEquipmentDtoList.get(i - 1).get("CollectTime").toString(), DateUtils.STR_DATE_TIME);
-                            sequenceNumber = mdcEquipmentDtoList.get(i - 1).get("Sequencenumber").toString();
-                        }
-                        mdcEquipmentDtoMap.put("ProductCount", mdcEquipmentDtoList.get(i).get("ProductCount").toString());
-                        mdcEquipmentDtoMap.put("CollectTime", mdcEquipmentDtoList.get(i).get("CollectTime").toString());
-                    }
-                }*/
-                for (String productCount : productCountList) {
-                    MdcEquipmentDto mdcEquipmentDtoFirst = equipmentWorkLineService.findProductCountStartTime(mdcEquipment.getSaveTableName(), productCount, mdcDateVo.getStartTime(), mdcDateVo.getEndTime());
-                    if (mdcEquipmentDtoFirst == null) {
-                        continue;
-                    }
-                    Date start = mdcEquipmentDtoFirst.getCollectTime();
-                    MdcEquipmentDto mdcEquipmentDtoLast = equipmentWorkLineService.findProductCountEndTime(mdcEquipment.getSaveTableName(), productCount, mdcDateVo.getStartTime(), mdcDateVo.getEndTime());
-                    if (mdcEquipmentDtoLast == null) {
-                        continue;
-                    }
-                    Date end = mdcEquipmentDtoLast.getCollectTime();
-                    List<MdcEquipmentRunningSection> equipmentRunningSectionList = mdcEquipmentRunningSectionService.selectRunningData(mdcEquipment.getEquipmentId(), start, end);
-                    if (equipmentRunningSectionList != null && !equipmentRunningSectionList.isEmpty()) {
-                        //鏃堕棿淇
-                        if (equipmentRunningSectionList.get(0).getStartTime().before(start)) {
-                            equipmentRunningSectionList.get(0).setStartTime(start);
-                        }
-                        if (equipmentRunningSectionList.size() > 1) {
-                            if (equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).getEndTime().after(end)) {
-                                equipmentRunningSectionList.get(equipmentRunningSectionList.size() - 1).setEndTime(end);
-                            }
-                        } else {
-                            if (equipmentRunningSectionList.get(0).getEndTime().after(end)) {
-                                equipmentRunningSectionList.get(0).setEndTime(end);
-                            }
-                        }
-                        //璁$畻鍔犲伐鏃堕暱
-                        long duration = this.handleProcessDuration(equipmentRunningSectionList);
-                        if (duration != 0 && duration < 100000) {
-                            MdcProcessCount mdcProcessCount = new MdcProcessCount();
-                            mdcProcessCount.setEquipmentId(mdcEquipment.getEquipmentId());
-                            mdcProcessCount.setEquipmentName(mdcEquipment.getEquipmentName());
-                            if (StringUtils.isBlank(mdcEquipmentDtoFirst.getSequencenumber())) {
-                                mdcProcessCount.setSequenceNumber(mdcEquipmentDtoLast.getSequencenumber());
-                            } else {
-                                mdcProcessCount.setSequenceNumber(mdcEquipmentDtoFirst.getSequencenumber());
-                            }
-                            mdcProcessCount.setDuration(duration);
-                            mdcProcessCount.setTheDate(stringDate);
-                            resultList.add(mdcProcessCount);
-                        }
-                    }
-                }
-
-
-            }
-        }
-        return resultList;
-    }
-
-    /**
-     * 璁$畻鍔犲伐宸ヤ欢鏃堕暱
-     * @param equipmentRunningSectionList
-     * @return
-     */
-    private long handleProcessDuration(List<MdcEquipmentRunningSection> equipmentRunningSectionList) {
-        long result = 0;
-        for (MdcEquipmentRunningSection mdcEquipmentRunningSection : equipmentRunningSectionList) {
-            result += TimeFieldUtils.duration(mdcEquipmentRunningSection.getStartTime(), mdcEquipmentRunningSection.getEndTime());
-        }
-        return result;
-    }
-
-    private MdcDateVo handleDeviceCalendar(List<MdcDeviceCalendarVo> mdcDeviceCalendarVos) {
-        MdcDateVo result = new MdcDateVo();
-        List<Date> dateList = new ArrayList<>();
-        for (MdcDeviceCalendarVo mdcDeviceCalendarVo : mdcDeviceCalendarVos) {
-            String startDateStr = mdcDeviceCalendarVo.getStartDate();
-            String endDateStr = mdcDeviceCalendarVo.getEndDate();
-            String overtimeEndTime = mdcDeviceCalendarVo.getOvertimeEndTime();
-            String effectiveDateStr = DateUtils.format(DateUtils.toDate(mdcDeviceCalendarVo.getEffectiveDate(), DateUtils.STRDATE), DateUtils.STR_DATE);
-            Date start = DateUtils.getFormatDate(effectiveDateStr + " " + startDateStr, DateUtils.STR_DATE_TIME_SMALL);
-            dateList.add(start);
-            Date end = DateUtils.getFormatDate(effectiveDateStr + " " + endDateStr, DateUtils.STR_DATE_TIME_SMALL);
-            if ("true".equals(mdcDeviceCalendarVo.getIsDaySpan())) {
-                end = DateUtils.addDays(end, 1);
-            }
-            dateList.add(end);
-            // 澶勭悊鍔犵彮鏃堕棿
-            if (StringUtils.isNotEmpty(overtimeEndTime)) {
-                Date overtimeEnd = DateUtils.getFormatDate(effectiveDateStr + " " + overtimeEndTime, DateUtils.STR_DATE_TIME_SMALL);
-                if ("true".equals(mdcDeviceCalendarVo.getIsDaySpan())) {
-                    overtimeEnd = DateUtils.addDays(overtimeEnd, 1);
-                }
-                dateList.add(overtimeEnd);
-            }
-        }
-        if (!dateList.isEmpty()) {
-            dateList.sort(Date::compareTo);
-            result.setStartTime(dateList.get(0));
-            result.setEndTime(dateList.get(dateList.size() - 1));
-        }
-        return result;
-    }
-
-    private Map<String, List<MdcDeviceCalendarVo>> mdcDeviceCalendarMap(String equipmentId, List<String> stringDates) {
-        List<MdcDeviceCalendarVo> mdcDeviceCalendarVos = mdcDeviceCalendarService.listByEquipmentAndDate(equipmentId, stringDates);
-        if (mdcDeviceCalendarVos == null || mdcDeviceCalendarVos.isEmpty()) {
-            return null;
-        }
-        Map<String, List<MdcDeviceCalendarVo>> map = new HashMap<>();
-        for (MdcDeviceCalendarVo mdcDeviceCalendarVo : mdcDeviceCalendarVos) {
-            List<MdcDeviceCalendarVo> mdcDeviceCalendarVos1;
-            if (map.containsKey(mdcDeviceCalendarVo.getEffectiveDate())) {
-                mdcDeviceCalendarVos1 = map.get(mdcDeviceCalendarVo.getEffectiveDate());
-            } else {
-                mdcDeviceCalendarVos1 = new ArrayList<>();
-            }
-            mdcDeviceCalendarVos1.add(mdcDeviceCalendarVo);
-            map.put(mdcDeviceCalendarVo.getEffectiveDate(), mdcDeviceCalendarVos1);
-        }
-        return map;
-    }
-
-    private long getLongDate(Date effectiveDate, String startDateStr, String isDaySpan) {
-        String[] startDateArray = startDateStr.split(":");
-        Calendar cal = Calendar.getInstance();
-        cal.setTime(effectiveDate);
-        cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(startDateArray[0]));
-        cal.set(Calendar.MINUTE, Integer.parseInt(startDateArray[1]));
-        cal.set(Calendar.SECOND, Integer.parseInt(startDateArray[2]));
-        if ("true".equals(isDaySpan)) {
-            cal.add(Calendar.DAY_OF_YEAR, 1);
-        }
-        return cal.getTime().getTime();
-    }
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java
deleted file mode 100644
index c634d10..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDayUtilizationVo.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author Lius
- * @date 2024/3/29 11:25
- */
-@Data
-public class EquipmentDayUtilizationVo {
-    /**
-     * 璁惧缂栧彿
-     */
-    private String equipmentId;
-    /**
-     * 鍒╃敤鐜�
-     */
-    private BigDecimal utilizationRate = BigDecimal.ZERO;
-    /**
-     * 寮�鍔ㄧ巼
-     */
-    private BigDecimal startRate = BigDecimal.ZERO;
-    /**
-     * 寮�鏈虹巼
-     */
-    private BigDecimal openRate = BigDecimal.ZERO;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcCommonVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcCommonVo.java
deleted file mode 100644
index 74ec346..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcCommonVo.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-/**
- * @author Lius
- * @date 2024/3/13 18:02
- */
-@Data
-public class MdcCommonVo {
-    private String value;
-    private String name;
-    private String productionCode;
-    private String productionId;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java
new file mode 100644
index 0000000..97cc304
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcDowntimeVo.java
@@ -0,0 +1,38 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+import org.jeecg.modules.mdc.entity.MdcDowntime;
+
+import java.util.List;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-03-12
+ * @Description:
+ */
+@Data
+public class MdcDowntimeVo extends MdcDowntime {
+    /**
+     * 寮�濮嬫椂闂�  ->  20220101
+     */
+    private String startTime;
+    /**
+     * 缁撴潫鏃堕棿  ->  20220101
+     */
+    private String endTime;
+    private String effectiveDate;
+    /**
+     * 鏍戠被鍨�    ->  1:杞﹂棿灞傜骇   2:閮ㄩ棬灞傜骇
+     */
+    private String typeTree;
+    /**
+     * 灞傜骇ID
+     */
+    private String parentId;
+
+    /**
+     * 璁惧ids
+     */
+    private List<String> equipmentIdList;
+    private List<String> mdcSectionIds;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentRepairVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentRepairVo.java
deleted file mode 100644
index 7c609c2..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentRepairVo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-import org.jeecg.common.aspect.annotation.Dict;
-
-
-@Data
-public class MdcEquipmentRepairVo {
-    private String id;
-    private String startTime;
-    /*缁撴潫鏃堕棿*/
-    private String endTime;
-    /*璁惧缂栧彿*/
-    private String equipmentId;
-    @Dict(dicCode = "mdc_repair_type")
-    private Integer mdcRepairType;
-    /*璁惧鍚嶇О*/
-    private String equipmentName;
-    /*璁惧缁�*/
-    private String equipmentIds;
-    /*绫诲瀷  1銆佹椂闂存 2銆佺彮娆�*/
-    private Integer typeDay;
-    private String mdcId;
-
-    private String start;
-    private String end;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentStatusVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentStatusVo.java
deleted file mode 100644
index 4232a78..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcEquipmentStatusVo.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-/**
- * @author Lius
- * @date 2024/3/13 15:43
- */
-@Data
-public class MdcEquipmentStatusVo {
-    /**
-     * 杩愯
-     */
-    private Integer runCount = 0;
-    /**
-     * 鍏虫満
-     */
-    private Integer closeCount = 0;
-    /**
-     * 鎶ヨ
-     */
-    private Integer alarmCount = 0;
-    /**
-     * 寰呮満
-     */
-    private Integer waitCount = 0;
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEfficiencyVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEfficiencyVo.java
deleted file mode 100644
index ae350e5..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEfficiencyVo.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author Lius
- * @date 2024/4/11 9:29
- */
-@Data
-public class MdcHomeEfficiencyVo {
-    /**
-     * 鍒╃敤鐜�
-     */
-    private BigDecimal utilizationRate = BigDecimal.ZERO;
-    /**
-     * 寮�鍔ㄧ巼
-     */
-    private BigDecimal startRate = BigDecimal.ZERO;
-    /**
-     * 寮�鏈虹巼
-     */
-    private BigDecimal openRate = BigDecimal.ZERO;
-    /**
-     * OEE
-     */
-    private BigDecimal overallEquipmentEfficiency = BigDecimal.ZERO;
-    /**
-     * productionId
-     */
-    private String productionId;
-    /**
-     * productionName
-     */
-    private String productionName;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEquipmentVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEquipmentVo.java
deleted file mode 100644
index d4e7250..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcHomeEquipmentVo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-/**
- * @author Lius
- * @date 2024/4/15 14:24
- */
-@Data
-public class MdcHomeEquipmentVo {
-    /**
-     * 鏈堜唤
-     */
-    private String month;
-    /**
-     * 鍒╃敤鐜�
-     */
-    private BigDecimal utilizationRate = BigDecimal.ZERO;
-    /**
-     * 寮�鍔ㄧ巼
-     */
-    private BigDecimal startRate = BigDecimal.ZERO;
-    /**
-     * 寮�鏈虹巼
-     */
-    private BigDecimal openRate = BigDecimal.ZERO;
-    /**
-     * OEE
-     */
-    private BigDecimal overallEquipmentEfficiency = BigDecimal.ZERO;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java
new file mode 100644
index 0000000..bc8f5f4
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeComputeVo.java
@@ -0,0 +1,13 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+
+/**
+ * @author Lius
+ * @date 2025/1/20 14:41
+ */
+@Data
+public class MdcOeeComputeVo {
+    private String startTime;
+    private String endTime;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java
new file mode 100644
index 0000000..783ebfc
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOeeInfoVo.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+import org.jeecg.modules.mdc.entity.MdcOeeInfo;
+
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/12/12 10:14
+ */
+@Data
+public class MdcOeeInfoVo extends MdcOeeInfo {
+    private String startTime;
+    private String endTime;
+    private String parentId;
+    private String typeTree;
+    private List<String> equipmentIdList;
+    private String equipmentIds;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java
deleted file mode 100644
index b903c98..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author Lius
- * @date 2023/11/13 17:10
- */
-@Data
-public class MdcOverallEquipmentEfficiencyVo {
-
-    /**
-     * 寮�濮嬫椂闂�  ->  20220101
-     */
-    private String startTime;
-    /**
-     * 缁撴潫鏃堕棿  ->  20220101
-     */
-    private String endTime;
-    /**
-     * 鏍戠被鍨�    ->  1:杞﹂棿灞傜骇   2:閮ㄩ棬灞傜骇
-     */
-    private String typeTree;
-    /**
-     * 灞傜骇ID
-     */
-    private String parentId;
-    /**
-     * 璁惧Id
-     */
-    private String equipmentId;
-    /**
-     * 鐝埗Id
-     */
-    private String shiftId;
-    /**
-     * 鐝Id
-     */
-    private String shiftSubId;
-
-    /**
-     * 璁惧ids
-     */
-    private List<String> equipmentIdList;
-
-    /**
-     * 椹卞姩绫诲瀷
-     */
-    private String driveType;
-
-    private List<String> driveTypeList;
-    /**
-     * 璁惧绾у埆
-     */
-    private String deviceLevel;
-
-    private List<String> deviceLevelList;
-    /**
-     * 璁惧绉嶇被
-     */
-    private String deviceCategory;
-
-    private List<String> deviceCategoryList;
-    /**
-     * 璁惧绫诲瀷
-     */
-    private String equipmentType;
-
-    private List<String> equipmentTypeList;
-
-}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcPartProcessInfoVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcPartProcessInfoVo.java
new file mode 100644
index 0000000..9992b3b
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcPartProcessInfoVo.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+import org.jeecg.modules.mdc.entity.MdcPartProcessInfo;
+
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/12/11 15:47
+ */
+@Data
+public class MdcPartProcessInfoVo extends MdcPartProcessInfo {
+    private String startTime;
+    private String endTime;
+    private String parentId;
+    private String typeTree;
+    private List<String> equipmentIdList;
+    private String equipmentIds;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcProcessCountVo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcProcessCountVo.java
deleted file mode 100644
index 259d67c..0000000
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcProcessCountVo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.jeecg.modules.mdc.vo;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author Lius
- * @date 2023/12/7 16:55
- */
-@Data
-public class MdcProcessCountVo {
-    private String equipmentId;
-    private String equipmentIds;
-    private String equipmentName;
-    private String driveType;
-    private String sequenceNumber;
-    private String startTime;
-    private String endTime;
-    private String parentId;
-    private String typeTree;
-    private List<String> mdcSectionIds;
-    /**
-     * 璁惧绾у埆
-     */
-    private String deviceLevel;
-    /**
-     * 璁惧绉嶇被
-     */
-    private String deviceCategory;
-}

--
Gitblit v1.9.3