From 901a05d4dcf6a61f3387715f7074831a7ce04ead Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 15 一月 2024 16:46:16 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml                       |   21 +++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java          |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml                          |   12 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java              |   14 ++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java         |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcTorqueConfigController.java                  |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java                  |   11 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java                    |    5 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java                     |   34 +++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java             |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java                          |   12 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcTorqueConfigServiceImpl.java               |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java                          |   10 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcProcessCountController.java                  |   14 -
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java                                   |    7 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcTorqueConfig.java                                |    8 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml         |    4 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcProcessCountDto.java                                |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentMonitor.java                            |    6 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEfficiencyReportServiceImpl.java           |    9 +
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java                  |   42 +++---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java                  |   31 +++-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |   73 +++++++++--
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java                  |   33 ++++-
 24 files changed, 261 insertions(+), 94 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
index 31fb7bc..51c41a8 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.mdc.controller;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
@@ -9,6 +10,7 @@
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.mdc.dto.MdcEquipmentDto;
@@ -230,6 +232,7 @@
         Result<MdcEquipment> result = new Result<>();
         String selectedDeparts = mdcEquipment.getSelectedDeparts();
         String selectedProduction = mdcEquipment.getSelectedProduction();
+        mdcEquipment.setEquipmentStatus(CommonConstant.STATUS_NORMAL);
         try {
             mdcEquipmentService.saveMdcEquipment(mdcEquipment, selectedDeparts, selectedProduction);
             result.success("娣诲姞鎴愬姛锛�");
@@ -467,4 +470,35 @@
         MdcEquipment mdcEquipment = mdcEquipmentService.getEquipmentByDepPid(pid, userId);
         return Result.OK(mdcEquipment);
     }
+
+    /**
+     * 鎵嬪姩涓婃姤璁惧寮傚父鍙婅鏄�
+     * @return
+     */
+    @AutoLog(value = "璁惧琛�-鎵嬪姩涓婃姤璁惧寮傚父鍙婅鏄�")
+    @ApiOperation(value = "璁惧琛�-鎵嬪姩涓婃姤璁惧寮傚父鍙婅鏄�", notes = "璁惧琛�-鎵嬪姩涓婃姤璁惧寮傚父鍙婅鏄�")
+    @GetMapping("/updateEquipmentStatus")
+    public Result<?> updateEquipmentStatus(@RequestParam(name = "id", required = true) String id) {
+        Result result = new Result<>();
+        try {
+            MdcEquipment mdcEquipment1 = mdcEquipmentService.getById(id);
+            if (mdcEquipment1 == null) {
+                result.error500("鏈壘鍒板搴斿疄浣�");
+            } else {
+                LambdaUpdateWrapper<MdcEquipment> updateWrapper = new LambdaUpdateWrapper<MdcEquipment>();
+                updateWrapper.eq(MdcEquipment::getId, id);
+                if (CommonConstant.STATUS_NORMAL.equals(mdcEquipment1.getEquipmentStatus())) {
+                    updateWrapper.set(MdcEquipment::getEquipmentStatus, CommonConstant.STATUS_DISABLE);
+                } else {
+                    updateWrapper.set(MdcEquipment::getEquipmentStatus, CommonConstant.STATUS_NORMAL);
+                }
+                mdcEquipmentService.update(updateWrapper);
+                result.success("鍙嶉鎴愬姛!");
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("鎿嶄綔澶辫触");
+        }
+        return Result.OK("鍙嶉鎴愬姛锛�");
+    }
 }
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
index 9b1599c..055f117 100644
--- 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
@@ -1,7 +1,5 @@
 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;
@@ -16,11 +14,11 @@
 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.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 /**
  * @author Lius
@@ -40,22 +38,16 @@
      * 鍒嗛〉鍒楄〃鏌ヨ
      *
      * @param mdcProcessCountVo
-     * @param pageNo
-     * @param pageSize
      * @param req
      * @return
      */
     @AutoLog(value = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ")
     @ApiOperation(value = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "mdc璁惧鍔犲伐涓暟琛�-鍒嗛〉鍒楄〃鏌ヨ")
     @GetMapping(value = "/list")
-    public Result<?> queryPageList(MdcProcessCountVo mdcProcessCountVo,
-                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                   HttpServletRequest req) {
+    public Result<?> queryPageList(MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         String userId = user.getId();
-        Page<MdcProcessCountDto> page = new Page<MdcProcessCountDto>(pageNo, pageSize);
-        IPage<MdcProcessCountDto> pageList = processCountService.pageList(userId, page, mdcProcessCountVo, req);
+        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
index 7981de8..49a6baf 100644
--- 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
@@ -1,6 +1,5 @@
 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;
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
index c319b29..4e3746d 100644
--- 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
@@ -11,7 +11,7 @@
     private String equipmentId;
     private String equipmentName;
     private String driveType;
-    private String theDate;
+//    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/MdcEquipment.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java
index 7464415..058f9bc 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
@@ -122,6 +122,13 @@
     @ApiModelProperty(value = "璁惧鍔熺巼")
     private String devicePower;
 
+    /**
+     * 璁惧鐘舵��
+     */
+    @Excel(name = "璁惧鐘舵��", width = 15)
+    @ApiModelProperty(value = "璁惧鐘舵��")
+    private Integer equipmentStatus;
+
     /**閮ㄩ棬鍚嶇О*/
     private transient String orgCodeTxt;
 
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentMonitor.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentMonitor.java
index e050cfb..be37156 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentMonitor.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentMonitor.java
@@ -58,6 +58,12 @@
     private String oporationDict;
 
     /**
+     * 璁惧鐘舵��
+     */
+    @ApiModelProperty(value = "璁惧鐘舵��")
+    private Integer equipmentStatus;
+
+    /**
      * 閲囬泦鏃堕棿
      */
     @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
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
index 0736092..ea1fcea 100644
--- 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
@@ -59,126 +59,126 @@
      */
     @Excel(name = "姣忕彮灏忔椂", width = 15)
     @ApiModelProperty(value = "姣忕彮灏忔椂")
-    private BigDecimal shiftTimeCount;
+    private BigDecimal shiftTimeCount = BigDecimal.ZERO;
     /**
      * 鍔犵彮鏃堕棿
      */
     @Excel(name = "鍔犵彮鏃堕棿", width = 15)
     @ApiModelProperty(value = "鍔犵彮鏃堕棿")
-    private BigDecimal overtime;
+    private BigDecimal overtime = BigDecimal.ZERO;
     /**
      * 瀹為檯鐝骇澶╂暟
      */
     @Excel(name = "瀹為檯鐝骇澶╂暟", width = 15)
     @ApiModelProperty(value = "瀹為檯鐝骇澶╂暟")
-    private BigDecimal actualWorkDayCount;
+    private BigDecimal actualWorkDayCount = BigDecimal.ZERO;
     /**
      * 鏈堝害瀹為檯鐝骇鎬绘椂闂�
      */
     @Excel(name = "鏈堝害瀹為檯鐝骇鎬绘椂闂�", width = 15)
     @ApiModelProperty(value = "鏈堝害瀹為檯鐝骇鎬绘椂闂�")
-    private BigDecimal monthActualWorkDayTimeCount;
+    private BigDecimal monthActualWorkDayTimeCount = BigDecimal.ZERO;
     /**
      * 鏁呴殰鍋滄満鏃堕暱(鍒嗛挓)
      */
     @Excel(name = "鏁呴殰鍋滄満鏃堕暱", width = 15)
     @ApiModelProperty(value = "鏁呴殰鍋滄満鏃堕暱(鍒嗛挓)")
-    private BigDecimal breakdownDownDuration;
+    private BigDecimal breakdownDownDuration = BigDecimal.ZERO;
     /**
      * 鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)
      */
     @Excel(name = "鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "鎹㈠瀷璋冭瘯鏃堕暱(鍒嗛挓)")
-    private BigDecimal conversionDebugDuration;
+    private BigDecimal conversionDebugDuration = BigDecimal.ZERO;
     /**
      * 鐗╂枡鐭己鏃堕暱(鍒嗛挓)
      */
     @Excel(name = "鐗╂枡鐭己鏃堕暱(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "鐗╂枡鐭己鏃堕暱(鍒嗛挓)")
-    private BigDecimal materialShortageDuration;
+    private BigDecimal materialShortageDuration = BigDecimal.ZERO;
     /**
      * 璁″垝绛変换鍔�(鍒嗛挓)
      */
     @Excel(name = "璁″垝绛変换鍔�(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "璁″垝绛変换鍔�(鍒嗛挓)")
-    private BigDecimal plannedTaskDuration;
+    private BigDecimal plannedTaskDuration = BigDecimal.ZERO;
     /**
      * 妫�楠�(鍒嗛挓)
      */
     @Excel(name = "妫�楠�(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "妫�楠�(鍒嗛挓)")
-    private BigDecimal inspectDuration;
+    private BigDecimal inspectDuration = BigDecimal.ZERO;
     /**
      * 鍏朵粬(鍒嗛挓)
      */
     @Excel(name = "鍏朵粬(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "鍏朵粬(鍒嗛挓)")
-    private BigDecimal otherDuration;
+    private BigDecimal otherDuration = BigDecimal.ZERO;
     /**
      * 璁″垝淇濆吇
      */
     @Excel(name = "璁″垝淇濆吇", width = 15)
     @ApiModelProperty(value = "璁″垝淇濆吇")
-    private BigDecimal plannedMaintenanceDuration;
+    private BigDecimal plannedMaintenanceDuration = BigDecimal.ZERO;
     /**
      * 浼氳鍩硅鏃堕暱
      */
     @Excel(name = "浼氳鍩硅鏃堕暱", width = 15)
     @ApiModelProperty(value = "浼氳鍩硅鏃堕暱")
-    private BigDecimal conferenceTrainingDuration;
+    private BigDecimal conferenceTrainingDuration = BigDecimal.ZERO;
     /**
      * 鍏朵粬浼戞伅鏃堕暱
      */
     @Excel(name = "鍏朵粬浼戞伅鏃堕暱", width = 15)
     @ApiModelProperty(value = "鍏朵粬浼戞伅鏃堕暱")
-    private BigDecimal otherRestDuration;
+    private BigDecimal otherRestDuration = BigDecimal.ZERO;
     /**
      * 璐熻嵎鏃堕棿
      */
     @Excel(name = "璐熻嵎鏃堕棿", width = 15)
     @ApiModelProperty(value = "璐熻嵎鏃堕棿")
-    private BigDecimal loadTime;
+    private BigDecimal loadTime = BigDecimal.ZERO;
     /**
      * 鏃堕棿寮�鍔ㄧ巼
      */
     @Excel(name = "鏃堕棿寮�鍔ㄧ巼", width = 15)
     @ApiModelProperty(value = "鏃堕棿寮�鍔ㄧ巼")
-    private BigDecimal timeActuationRate;
+    private BigDecimal timeActuationRate = BigDecimal.ZERO;
     /**
      * 鍔犲伐闆朵欢鏁�
      */
     @Excel(name = "鍔犲伐闆朵欢鏁�", width = 15)
     @ApiModelProperty(value = "鍔犲伐闆朵欢鏁�")
-    private BigDecimal processQuantity;
+    private BigDecimal processQuantity = BigDecimal.ZERO;
     /**
      * 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
      */
     @Excel(name = "鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)", width = 15)
     @ApiModelProperty(value = "鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)")
-    private BigDecimal standardProcessDuration;
+    private BigDecimal standardProcessDuration = BigDecimal.ZERO;
     /**
      * 鎬ц兘寮�鍔ㄧ巼
      */
     @Excel(name = "鎬ц兘寮�鍔ㄧ巼", width = 15)
     @ApiModelProperty(value = "鎬ц兘寮�鍔ㄧ巼")
-    private BigDecimal performanceRate;
+    private BigDecimal performanceRate = BigDecimal.ZERO;
     /**
      * 搴熷搧鏁�
      */
     @Excel(name = "搴熷搧鏁�", width = 15)
     @ApiModelProperty(value = "搴熷搧鏁�")
-    private BigDecimal unqualifiedQuantity;
+    private BigDecimal unqualifiedQuantity = BigDecimal.ZERO;
     /**
      * 鍚堟牸鐜�
      */
     @Excel(name = "鍚堟牸鐜�", width = 15)
     @ApiModelProperty(value = "鍚堟牸鐜�")
-    private BigDecimal passRate;
+    private BigDecimal passRate = BigDecimal.ONE;
     /**
      * 璁惧缁煎悎鏁堢巼
      */
     @Excel(name = "璁惧缁煎悎鏁堢巼", width = 15)
     @ApiModelProperty(value = "璁惧缁煎悎鏁堢巼")
-    private BigDecimal overallEquipmentEfficiency;
+    private BigDecimal overallEquipmentEfficiency = BigDecimal.ONE;
 
 }
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
index bdea1c6..873c326 100644
--- 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
@@ -7,7 +7,6 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiOperation;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -70,6 +69,13 @@
     private float torqueValue;
 
     /**
+     * 杩涚粰鍙傛暟
+     */
+    @Excel(name = "杩涚粰鍙傛暟", width = 15)
+    @ApiModelProperty("杩涚粰鍙傛暟")
+    private String feedParameter;
+
+    /**
      * 澶囨敞
      */
     @Excel(name = "澶囨敞", width = 30)
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/RunningOverallEquipmentEfficiencyJob.java
index 0186ee7..304cc7b 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/RunningOverallEquipmentEfficiencyJob.java
@@ -25,6 +25,15 @@
 @Slf4j
 public class RunningOverallEquipmentEfficiencyJob implements Job {
 
+    /**
+     * 鑻ュ弬鏁板彉閲忓悕淇敼 QuartzJobController涓篃闇�瀵瑰簲淇敼  鏃堕棿锛� yyyyMMdd 渚嬶細 20230414
+     */
+    private String parameter;
+
+    public void setParameter(String parameter) {
+        this.parameter = parameter;
+    }
+
     @Resource
     private IQuartzJobService quartzJobService;
 
@@ -45,10 +54,11 @@
         if (byJobClassName != null && !byJobClassName.isEmpty()) {
             quartzLog.setJobId(byJobClassName.get(0).getId());
         }
-        log.info("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 RunningOverallEquipmentEfficiencyJob start!  鏃堕棿:" + DateUtils.now());
+        quartzLog.setParams(this.parameter);
+        log.info("瀹氭椂璁$畻璁惧缁煎悎鏁堢巼OEE浠诲姟 RunningOverallEquipmentEfficiencyJob start!  鏃堕棿:" + DateUtils.now(), this.parameter);
         long startTime = System.currentTimeMillis();
         try {
-            mdcOverallEquipmentEfficiencyService.runningOverallEquipmentEfficiency();
+            mdcOverallEquipmentEfficiencyService.runningOverallEquipmentEfficiency(this.parameter);
             quartzLog.setIsSuccess(0);
         } catch (Exception e) {
             quartzLog.setIsSuccess(-1);
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
index 4606be3..75d3665 100644
--- 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
@@ -1,12 +1,13 @@
 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.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
@@ -18,9 +19,12 @@
     /**
      * 鍒嗛〉鏌ヨ
      *
-     * @param page
      * @param mdcProcessCountVo
      * @return
      */
-    IPage<MdcProcessCountDto> pageList(Page<MdcProcessCountDto> page, @Param("mdcProcessCountVo") MdcProcessCountVo mdcProcessCountVo);
+    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/xml/MdcEquipmentMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
index 893762f..c682b6e 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
@@ -96,6 +96,7 @@
             k.equipmentName,
             MAX ( l.Oporation ) Oporation,
             k.id,
+            k.equipment_status,
             k.equipment_type equipmentType,
             k.equipment_type_pictures
         FROM
@@ -105,13 +106,14 @@
                 MAX ( t.equipmentName ) equipmentName,
                 MAX ( m.CollectTime ) CollectTime,
                 id,
+                equipment_status,
                 equipment_type,
                 equipment_type_pictures
             FROM
-                ( SELECT equipment_id EquipmentID, equipment_Name equipmentName, id, equipment_type FROM mdc_equipment WHERE equipment_id IN
-        <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
-            #{id}
-        </foreach>
+                ( SELECT equipment_id EquipmentID, equipment_Name equipmentName, id, equipment_type, equipment_status FROM mdc_equipment WHERE equipment_id IN
+                    <foreach collection="equipmentIds" index="index" item="id" open="(" separator="," close=")">
+                        #{id}
+                    </foreach>
                  ) t
                 LEFT JOIN ( SELECT equipment_type_name, equipment_type_pictures FROM mdc_equipment_type) met ON t.equipment_type = met.equipment_type_name
                 LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) m ON t.EquipmentID= m.EquipmentID
@@ -119,6 +121,7 @@
                 t.EquipmentID,
                 id,
                 equipment_type,
+                equipment_status,
                 equipment_type_pictures
             ) k
             LEFT JOIN ( SELECT EquipmentID, CollectTime, Oporation FROM EquipmentLog WHERE Oporation <![CDATA[ <> ]]> 23 ) l ON k.CollectTime= l.CollectTime
@@ -128,6 +131,7 @@
             k.CollectTime,
             k.equipmentName,
             k.id,
+            k.equipment_status,
             k.equipment_type,
             k.equipment_type_pictures
         ORDER BY
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
index 7e17582..aa6acb7 100644
--- 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
@@ -38,6 +38,7 @@
             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 }
@@ -48,6 +49,9 @@
                     #{ id }
                 </foreach>
             </if>
+            <if test="mdcOverallEquipmentEfficiency.driveType != null and mdcOverallEquipmentEfficiency.driveType != ''">
+                AND t2.drive_type = #{ mdcOverallEquipmentEfficiency.driveType }
+            </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/MdcProcessCountMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml
index 202d360..7ecd404 100644
--- 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
@@ -12,7 +12,6 @@
             t1.equipment_id equipmentId,
             MAX(t1.equipment_name) equipmentName,
             MAX(t2.drive_type) driveType,
-            t1.the_date theDate,
             t1.sequence_number sequenceNumber,
             COUNT(*) processCount,
             SUM(t1.duration) duration
@@ -41,7 +40,25 @@
         </where>
         GROUP BY
             t1.equipment_id,
-            t1.the_date,
             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/service/IMdcOverallEquipmentEfficiencyService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java
index 14c284b..58d4635 100644
--- 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
@@ -17,7 +17,7 @@
     /**
      * 璁$畻璁惧缁煎悎鏁堢巼OEE
      */
-    void runningOverallEquipmentEfficiency();
+    void runningOverallEquipmentEfficiency(String dateTime);
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
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
index 08e4346..658c9bb 100644
--- 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
@@ -1,13 +1,13 @@
 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.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
@@ -24,11 +24,13 @@
      * 鍒嗛〉鏌ヨ
      *
      * @param userId
-     * @param page
      * @param mdcProcessCountVo
      * @param req
      * @return
      */
-    IPage<MdcProcessCountDto> pageList(String userId, Page<MdcProcessCountDto> page, MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req);
+    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/impl/MdcDeviceCalendarServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
index 90a7462..cdce65c 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
@@ -165,6 +165,7 @@
      */
     @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"));
     }
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 5d64d87..3a0c516 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
@@ -1152,11 +1152,16 @@
                 if (date.equals(equipmentStatisticalShiftInfo.getTheDate()) && equipmentStatisticalShiftInfo.getEquipmentId().equals(equipmentId)) {
                     mdcEfficiencyShiftResultDto.setTheDate(equipmentStatisticalShiftInfo.getTheDate());
                     mdcEfficiencyShiftResultDto.setProcessLong(equipmentStatisticalShiftInfo.getProcessLong());
-                    mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, BigDecimal.ROUND_HALF_UP));
+                    if (equipmentStatisticalShiftInfo.getTotalLong().compareTo(BigDecimal.ZERO) == 0) {
+                        mdcEfficiencyShiftResultDto.setUtilizationRate(BigDecimal.ZERO);
+                    } else {
+                        mdcEfficiencyShiftResultDto.setUtilizationRate(equipmentStatisticalShiftInfo.getProcessLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
+                    }
                     mdcEfficiencyShiftResultDto.setCloseLong(equipmentStatisticalShiftInfo.getCloseLong());
                     mdcEfficiencyShiftResultDto.setOpenLong(equipmentStatisticalShiftInfo.getOpenLong());
                     mdcEfficiencyShiftResultDto.setWaitLong(equipmentStatisticalShiftInfo.getWaitLong());
-                    mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, BigDecimal.ROUND_HALF_UP));
+
+                    mdcEfficiencyShiftResultDto.setOpenRate(equipmentStatisticalShiftInfo.getOpenLong().divide(equipmentStatisticalShiftInfo.getTotalLong(), 6, RoundingMode.HALF_UP));
                     long rate = mdcEfficiencyShiftResultDto.getUtilizationRate().multiply(new BigDecimal("100")).longValue();
                     for (MdcUtilizationRate mdcUtilizationRate : mdcUtilizationRateList) {
                         if (rate >= mdcUtilizationRate.getMinimumRange() && rate < mdcUtilizationRate.getMaximumRange()) {
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
index f2ff16d..c83a76a 100644
--- 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
@@ -138,7 +138,7 @@
      */
     @Override
     public BigDecimal computeOvertime(String equipmentId, String validDate) {
-        List<MdcEquipmentOvertime> list = this.baseMapper.computeOvertime(equipmentId, validDate);
+        List<MdcEquipmentOvertime> list = this.baseMapper.computeOvertime(equipmentId, validDate.replaceAll("-", ""));
         BigDecimal result = new BigDecimal("0");
         if (list != null && !list.isEmpty()) {
             for (MdcEquipmentOvertime equipmentOvertime : list) {
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 50c1d48..83bebd6 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
@@ -397,15 +397,23 @@
                         if ("CollectTime".equals(englishName)) {
                             Date date = result == null ? null : (Date) result;
                             value = DateUtils.format(date, DateUtils.STR_DATE_TIME_SMALL);
-                        } else {
-                            value = result == null ? null : result.toString();
-                        }
-                        // ZUOLAN璁惧鐢垫祦瀛楁AI01
-                        if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "AI01".equals(englishName) && oporation == 3) {
+                        } else if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "AI01".equals(englishName) && oporation == 3) {
+                            // ZUOLAN璁惧鐢垫祦瀛楁AI01
                             value = BigDecimal.valueOf(Math.random() * 15 + 0).setScale(1, RoundingMode.HALF_UP).toString();
-                        }
-                        // 鍏朵粬璁惧鐢垫祦瀛楁
-                        if ("spindle_current".equals(englishName)) {
+                        } else if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "spindlespeed".equals(englishName) && oporation == 3) {
+                            // ZUOLAN璁惧涓昏酱杞�熷瓧娈祍pindlespeed
+                            value = String.valueOf(((new Random().nextInt(35)) + 1) * 100);
+                        } else if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "spindleload".equals(englishName) && oporation == 3) {
+                            // ZUOLAN璁惧涓昏酱璐熻嵎瀛楁spindleload
+                            value = String.valueOf(Integer.valueOf(new Random().nextInt(21)));
+                        } else if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "spindlebeilv".equals(englishName) && oporation == 3) {
+                            // ZUOLAN璁惧涓昏酱鍊嶇巼瀛楁spindlebeilv
+                            value = String.valueOf((new Random().nextInt(13)) * 10);
+                        } else if ("ZUOLAN".equals(mdcEquipment.getDriveType()) && "feedbeilv".equals(englishName) && oporation == 3) {
+                            // ZUOLAN璁惧杩涚粰鍊嶇巼瀛楁feedbeilv
+                            value = String.valueOf((new Random().nextInt(13)) * 10);
+                        } else if ("spindle_current".equals(englishName)) {
+                            // 鍏朵粬璁惧鐢垫祦瀛楁
                             String devicePower = mdcEquipment.getDevicePower();
                             Object spindleload = jsonObject.get("spindleload");
                             BigDecimal load = spindleload == null ? BigDecimal.ZERO : new BigDecimal(spindleload.toString());
@@ -414,15 +422,16 @@
                             } else {
                                 value = "0";
                             }
-                        }
-                        // 鎵煩瀛楁
-                        if ("torque".equals(englishName)) {
+                        } else if ("torque".equals(englishName)) {
+                            // 鎵煩瀛楁
                             MdcTorqueConfig mdcTorqueConfig = mdcTorqueConfigMapper.findLast(mdcEquipment.getEquipmentId());
                             if (mdcTorqueConfig != null) {
                                 value = String.valueOf(mdcTorqueConfig.getTorqueValue());
                             } else {
                                 value = "0";
                             }
+                        } else {
+                            value = result == null ? null : result.toString();
                         }
                         mdcDriveTypeParamConfig.setValue(value);
                     }
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
index 60c496c..20ac661 100644
--- 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
@@ -11,6 +11,7 @@
 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;
 
@@ -54,11 +55,14 @@
     @Resource
     private IMdcEquipmentStatisticalShiftInfoService mdcEquipmentStatisticalShiftInfoService;
 
+    @Resource
+    private IProcessCountService processCountService;
+
     /**
      * 璁$畻璁惧缁煎悎鏁堢巼OEE
      */
     @Override
-    public void runningOverallEquipmentEfficiency() {
+    public void runningOverallEquipmentEfficiency(String dateTime) {
         /*
             OEE = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
             鏃堕棿寮�鍔ㄧ巼 = 锛堣礋鑽锋椂闂� - 闈炶鍒掑仠鏈烘椂闂达級 / 璐熻嵎鏃堕棿 脳 100%
@@ -72,7 +76,19 @@
         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();
@@ -91,8 +107,8 @@
                 mdcOverallEquipmentEfficiency.setShift(shift);
             }
 
-            BigDecimal shiftTimeCount = mdcDeviceCalendarService.computeShiftTimeCount(equipmentId, validDate);
-            mdcOverallEquipmentEfficiency.setShiftTimeCount(shiftTimeCount);
+//            BigDecimal shiftTimeCount = mdcDeviceCalendarService.computeShiftTimeCount(equipmentId, validDate);
+            mdcOverallEquipmentEfficiency.setShiftTimeCount(new BigDecimal("8"));
 
             // 璁$畻鍔犵彮鏃堕棿
             BigDecimal overtime = mdcEquipmentOvertimeService.computeOvertime(equipmentId, validDate);
@@ -140,18 +156,31 @@
             // mdcOverallEquipmentEfficiency.getShiftTimeCount() - plannedMaintenanceDuration - conferenceTrainingDuration - otherRestDuration
             // 璐熻嵎鏃堕棿(鍒嗛挓)
             BigDecimal loadTime = mdcOverallEquipmentEfficiency.getShiftTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
+            if (loadTime.compareTo(BigDecimal.ZERO) > -1) {
+                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 = (loadTime.subtract(breakdownDownDuration).subtract(conversionDebugDuration).subtract(materialShortageDuration).subtract(plannedTaskDuration).subtract(inspectDuration).subtract(otherDuration)).divide(loadTime, 4, RoundingMode.HALF_UP);
+                timeActuationRate = spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP);
                 mdcOverallEquipmentEfficiency.setTimeActuationRate(timeActuationRate);
             }
+
+            BigDecimal processQuantity;
             // 鍔犲伐闆朵欢鏁�(浠�)  processQuantity
-            BigDecimal processQuantity = mdcPassRateService.findProcessQuantity(equipmentId, validDate);
+            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) {
@@ -160,14 +189,29 @@
                 mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO);
             }
 
-            // 鎬ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
-            // 鏌ヨ涓昏酱杩愯鏃堕棿(鍒嗛挓)
-            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
-            if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
-                mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
+            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 {
-                mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
+                // 锛堟棫锛夋�ц兘寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
+                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);
@@ -177,10 +221,11 @@
             } else {
                 mdcOverallEquipmentEfficiency.setPassRate((processQuantity.subtract(unqualifiedQuantity)).divide(processQuantity, 4, RoundingMode.HALF_UP));
             }
+
             // 璁惧缁煎悎鏁堢巼 = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
-            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()));
+            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()).setScale(4, RoundingMode.HALF_UP));
             if (mdcOverallEquipmentEfficiency.getOverallEquipmentEfficiency().compareTo(BigDecimal.ZERO) == 0) {
-                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ONE);
+                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ZERO);
             }
             result.add(mdcOverallEquipmentEfficiency);
 
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 7ed38b2..eaa6d9a 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
@@ -3,13 +3,14 @@
 
 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.Collections;
+import java.util.Arrays;
 import java.util.List;
 
 
@@ -25,17 +26,17 @@
     @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, Collections.singletonList(planCloseType)));
+        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 "澶�":
+                    case MdcConstant.DAY:
                         result = result.add(actualWorkDayCount.multiply(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong())));
                         break;
-                    case "鍛�":
+                    case MdcConstant.WEEK:
                         result = result.add(new BigDecimal("4").multiply(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong())));
                         break;
-                    case "鏈�":
+                    case MdcConstant.MONTH:
                         result = result.add(new BigDecimal(mdcPlanClose.getPlanCloseTimeLong()));
                         break;
                     default:
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
index 30e9b51..71682cb 100644
--- 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
@@ -49,6 +49,7 @@
             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());
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
index 021968f..0275ff7 100644
--- 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
@@ -22,6 +22,7 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -79,7 +80,7 @@
      * @return
      */
     @Override
-    public IPage<MdcProcessCountDto> pageList(String userId, Page<MdcProcessCountDto> page, MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req) {
+    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())) {
@@ -109,7 +110,19 @@
         if (mdcProcessCountVo.getMdcSectionIds() == null || mdcProcessCountVo.getMdcSectionIds().isEmpty()) {
             return null;
         }
-        return this.baseMapper.pageList(page, mdcProcessCountVo);
+        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;
     }
 
     @Transactional(readOnly = true)
@@ -197,13 +210,15 @@
                             }
                             //璁$畻鍔犲伐鏃堕暱
                             long duration = this.handleProcessDuration(equipmentRunningSectionList);
-                            MdcProcessCount mdcProcessCount = new MdcProcessCount();
-                            mdcProcessCount.setEquipmentId(mdcEquipment.getEquipmentId());
-                            mdcProcessCount.setEquipmentName(mdcEquipment.getEquipmentName());
-                            mdcProcessCount.setSequenceNumber(sequenceNumber);
-                            mdcProcessCount.setDuration(duration);
-                            mdcProcessCount.setTheDate(stringDate);
-                            resultList.add(mdcProcessCount);
+                            if (duration != 0 && duration < 100000) {
+                                MdcProcessCount mdcProcessCount = new MdcProcessCount();
+                                mdcProcessCount.setEquipmentId(mdcEquipment.getEquipmentId());
+                                mdcProcessCount.setEquipmentName(mdcEquipment.getEquipmentName());
+                                mdcProcessCount.setSequenceNumber(sequenceNumber);
+                                mdcProcessCount.setDuration(duration);
+                                mdcProcessCount.setTheDate(stringDate);
+                                resultList.add(mdcProcessCount);
+                            }
                         }
                     }
                 }
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
index 45accee..19657c2 100644
--- 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
@@ -45,6 +45,11 @@
      */
     private List<String> equipmentIdList;
 
+    /**
+     * 椹卞姩绫诲瀷
+     */
+    private String driveType;
+
 
 
 

--
Gitblit v1.9.3