From 8ff9cd39e12be7730b4b9e6dc63e33113ded0219 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 27 八月 2024 09:14:37 +0800
Subject: [PATCH] update

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java    |   53 ++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java    |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/MdcProductDayscheduleDto.java              |   20 ++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java          |   29 +++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java |   81 ++++++++++++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java       |    1 
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcSubLargeScreenMapper.java            |   34 ++++++
 lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcSubLargeScreenMapper.xml         |   35 +++++++
 8 files changed, 252 insertions(+), 2 deletions(-)

diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
index 793168c..a83688a 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
@@ -13,7 +13,6 @@
 
 import javax.annotation.Resource;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author Lius
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java
new file mode 100644
index 0000000..5048d9e
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcSubLargeScreenController.java
@@ -0,0 +1,53 @@
+package org.jeecg.modules.screen.controller;
+
+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.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.mdcJc.entity.MdcProductDayschedule;
+import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
+import org.jeecg.modules.screen.service.MdcSubLargeScreenService;
+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 java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/8/26 14:57
+ */
+@Slf4j
+@Api(tags = "鍒嗘帶鐪嬫澘")
+@RestController
+@RequestMapping("/mdc/subLargeScreen")
+public class MdcSubLargeScreenController {
+
+    @Resource
+    private MdcSubLargeScreenService mdcSubLargeScreenService;
+
+    @ApiOperation(value = "鍒嗘帶鐪嬫澘-褰撴棩鐢熶骇杩涘害", notes = "鍒嗘帶鐪嬫澘-褰撴棩鐢熶骇杩涘害")
+    @GetMapping("/todayProductionProgress")
+    public Result<?> todayProductionProgress(String productionId) {
+        List<MdcProductDayscheduleDto> result = mdcSubLargeScreenService.todayProductionProgress(productionId);
+        return Result.ok(result);
+    }
+
+    @ApiOperation(value = "鍒嗘帶鐪嬫澘-璁惧瀹炴椂鐘舵��", notes = "鍒嗘帶鐪嬫澘-璁惧瀹炴椂鐘舵��")
+    @GetMapping("/equipmentStatus")
+    public Result<?> equipmentStatus(String productionId) {
+        List<MdcEquipmentMonitor> result = mdcSubLargeScreenService.equipmentStatus(productionId);
+        return Result.ok(result);
+    }
+
+//    @ApiOperation(value = "鍒嗘帶鐪嬫澘-璁惧瀹炴椂鐘舵��", notes = "鍒嗘帶鐪嬫澘-璁惧瀹炴椂鐘舵��")
+//    @GetMapping("/equipmentStatus")
+//    public Result<?> equipmentStatus(String productionId) {
+//        List<MdcEquipmentMonitor> result = mdcSubLargeScreenService.equipmentStatus(productionId);
+//        return Result.ok(result);
+//    }
+
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/MdcProductDayscheduleDto.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/MdcProductDayscheduleDto.java
new file mode 100644
index 0000000..61564fb
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/MdcProductDayscheduleDto.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.screen.dto;
+
+import lombok.Data;
+import org.jeecg.modules.mdcJc.entity.MdcProductDayschedule;
+
+import java.math.BigDecimal;
+
+/**
+ * @author Lius
+ * @date 2024/8/26 16:27
+ */
+@Data
+public class MdcProductDayscheduleDto extends MdcProductDayschedule {
+
+    /**
+     * 浜у搧鍚堟牸鐜�
+     */
+    private BigDecimal passRate = BigDecimal.ZERO;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcSubLargeScreenMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcSubLargeScreenMapper.java
new file mode 100644
index 0000000..d6492d0
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/MdcSubLargeScreenMapper.java
@@ -0,0 +1,34 @@
+package org.jeecg.modules.screen.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/8/26 15:02
+ */
+@Mapper
+@Repository
+public interface MdcSubLargeScreenMapper {
+    /**
+     * 褰撴棩鐢熶骇璁″垝
+     *
+     * @param productionId
+     * @param date
+     * @return
+     */
+    List<MdcProductDayscheduleDto> todayProductionProgress(@Param("productionId") String productionId, @Param("date") String date);
+
+    /**
+     * 璁惧瀹炴椂鐘舵��
+     *
+     * @param productionId
+     * @return
+     */
+    List<MdcEquipmentMonitor> checkStatusFromEquipmentIds(@Param("productionId") String productionId);
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcSubLargeScreenMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcSubLargeScreenMapper.xml
new file mode 100644
index 0000000..4c3398d
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/mapper/xml/MdcSubLargeScreenMapper.xml
@@ -0,0 +1,35 @@
+<?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.screen.mapper.MdcSubLargeScreenMapper">
+
+    <!--褰撴棩鐢熶骇璁″垝-->
+    <select id="todayProductionProgress" resultType="org.jeecg.modules.screen.dto.MdcProductDayscheduleDto">
+        SELECT
+            t1.*
+        FROM
+            mdcJc_ProductDayschedule t1
+                LEFT JOIN mdc_equipment t2 ON t1.equipmentID = t2.equipment_id
+                LEFT JOIN mdc_production_equipment t3 ON t2.id = t3.equipment_id
+        WHERE
+            t3.production_id = #{productionId}
+            AND planDate = #{date}
+    </select>
+
+    <!--璁惧瀹炴椂鐘舵��-->
+    <select id="checkStatusFromEquipmentIds" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentMonitor">
+        SELECT
+            t1.equipment_id,
+            t2.CollectTime,
+            t1.equipment_name,
+            t2.Oporation,
+            t1.id,
+            t1.equipment_status,
+            t1.equipment_type equipmentType
+        FROM
+            mdc_equipment t1
+                LEFT JOIN Equipment t2 ON t1.equipment_id = t2.EquipmentID
+                LEFT JOIN mdc_production_equipment t3 ON t1.id = t3.equipment_id
+        WHERE
+            t3.production_id  = #{productionId}
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java
new file mode 100644
index 0000000..40f20d6
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcSubLargeScreenService.java
@@ -0,0 +1,29 @@
+package org.jeecg.modules.screen.service;
+
+import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
+
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/8/26 15:00
+ */
+public interface MdcSubLargeScreenService {
+    /**
+     * 褰撴棩鐢熶骇杩涘害
+     *
+     * @param productionId
+     * @return
+     */
+    List<MdcProductDayscheduleDto> todayProductionProgress(String productionId);
+
+    /**
+     * 璁惧瀹炴椂鐘舵��
+     *
+     * @param productionId
+     * @return
+     */
+    List<MdcEquipmentMonitor> equipmentStatus(String productionId);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
index 7874e7a..144d282 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.modules.mdc.dto.MdcEfficiencyDto;
-import org.jeecg.modules.mdc.service.IMdcEquipmentStatisticalInfoService;
 import org.jeecg.modules.mdcJc.entity.MdcProductDayschedule;
 import org.jeecg.modules.mdcJc.service.IMdcProductDayScheduleService;
 import org.jeecg.modules.screen.dto.*;
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java
new file mode 100644
index 0000000..28fc4e6
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcSubLargeScreenServiceImpl.java
@@ -0,0 +1,81 @@
+package org.jeecg.modules.screen.service.impl;
+
+import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.screen.dto.MdcProductDayscheduleDto;
+import org.jeecg.modules.screen.mapper.MdcSubLargeScreenMapper;
+import org.jeecg.modules.screen.service.MdcSubLargeScreenService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/8/26 15:01
+ */
+@Service
+public class MdcSubLargeScreenServiceImpl implements MdcSubLargeScreenService {
+
+    @Resource
+    private MdcSubLargeScreenMapper mdcSubLargeScreenMapper;
+
+    private final String today = LocalDate.now().toString();
+
+    /**
+     * 褰撴棩鐢熶骇璁″垝
+     *
+     * @param productionId
+     * @return
+     */
+    @Override
+    public List<MdcProductDayscheduleDto> todayProductionProgress(String productionId) {
+        List<MdcProductDayscheduleDto> mdcProductDayscheduleDtos = new ArrayList<>();
+        mdcProductDayscheduleDtos = mdcSubLargeScreenMapper.todayProductionProgress(productionId, today);
+        if (mdcProductDayscheduleDtos != null && !mdcProductDayscheduleDtos.isEmpty()) {
+            for (MdcProductDayscheduleDto mdcProductDayscheduleDto : mdcProductDayscheduleDtos) {
+                mdcProductDayscheduleDto.setPassRate(new BigDecimal(mdcProductDayscheduleDto.getQualifiedCount()).divide(new BigDecimal(mdcProductDayscheduleDto.getCompletionCount()), 0, RoundingMode.HALF_UP).multiply(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP));
+            }
+        }
+        return mdcProductDayscheduleDtos;
+    }
+
+    /**
+     * 璁惧瀹炴椂鐘舵��
+     *
+     * @param productionId
+     * @return
+     */
+    @Override
+    public List<MdcEquipmentMonitor> equipmentStatus(String productionId) {
+        List<MdcEquipmentMonitor> result = mdcSubLargeScreenMapper.checkStatusFromEquipmentIds(productionId);
+        if (result != null && !result.isEmpty()) {
+            for (MdcEquipmentMonitor mdcEquipmentMonitor : result) {
+                if (mdcEquipmentMonitor.getOporation() != null) {
+                    switch (mdcEquipmentMonitor.getOporation()) {
+                        case 1:
+                        case 2:
+                            mdcEquipmentMonitor.setOporationDict("寰呮満");
+                            break;
+                        case 3:
+                            mdcEquipmentMonitor.setOporationDict("杩愯");
+                            break;
+                        case 22:
+                            mdcEquipmentMonitor.setOporationDict("鎶ヨ");
+                            break;
+                        default:
+                            mdcEquipmentMonitor.setOporationDict("鍏虫満");
+                            break;
+                    }
+                } else {
+                    mdcEquipmentMonitor.setOporationDict("鍏虫満");
+                    mdcEquipmentMonitor.setOporation(0);
+                }
+            }
+        }
+        return result;
+    }
+}

--
Gitblit v1.9.3