From cca0e9fe9d471799538ddc277baa6e79778c3adb Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 15 一月 2024 10:14:14 +0800
Subject: [PATCH] 设备加工工件报表页面修改

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcProcessCountController.java                  |   14 +-----
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml                       |   12 +++++-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/dto/MdcProcessCountDto.java                                |    2 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java                  |    7 ++-
 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/mapper/MdcProcessCountMapper.java                          |    7 +--
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java |   16 ++++++--
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java                  |   10 ++++-
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java                          |    8 ++--
 9 files changed, 52 insertions(+), 33 deletions(-)

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/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/mapper/MdcProcessCountMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java
index 98b04c7..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,14 +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
@@ -20,12 +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/MdcProcessCountMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml
index cc290c6..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,6 @@
         </where>
         GROUP BY
             t1.equipment_id,
-            t1.the_date,
             t1.sequence_number
     </select>
 
@@ -53,4 +51,14 @@
         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/IProcessCountService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java
index 5753ddb..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,7 +1,5 @@
 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;
@@ -9,6 +7,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author Lius
@@ -25,12 +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/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/MdcOverallEquipmentEfficiencyServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
index 348d6b2..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
@@ -107,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);
@@ -156,6 +156,9 @@
             // 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));
 
             // 鏃堕棿寮�鍔ㄧ巼 = 涓昏酱杩愯鏃堕棿/璐熻嵎鏃堕棿
@@ -169,8 +172,13 @@
                 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);
 
             // 鏍囧噯鍔犲伐鏃堕棿(鍒嗛挓)
@@ -217,7 +225,7 @@
             // 璁惧缁煎悎鏁堢巼 = 鏃堕棿寮�鍔ㄧ巼 脳 鎬ц兘寮�鍔ㄧ巼 脳 鍚堟牸鍝佺巼
             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 72102ab..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,6 +3,7 @@
 
 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;
@@ -29,13 +30,13 @@
         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/ProcessCountServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java
index 013cde5..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
@@ -80,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())) {
@@ -110,7 +110,7 @@
         if (mdcProcessCountVo.getMdcSectionIds() == null || mdcProcessCountVo.getMdcSectionIds().isEmpty()) {
             return null;
         }
-        return this.baseMapper.pageList(page, mdcProcessCountVo);
+        return this.baseMapper.pageList(mdcProcessCountVo);
     }
 
     @Override
@@ -119,6 +119,12 @@
         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)
     List<MdcProcessCount> processCount(MdcEquipment mdcEquipment) {
         Date initDate = null;

--
Gitblit v1.9.3