From 5ae1b71ab6b57140d46e6a8b9e606bb4a390ce27 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期一, 03 三月 2025 11:11:46 +0800
Subject: [PATCH] webservice接口
---
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDayScheduleServiceImpl.java | 16
lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java | 1
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDayScheduleMapper.xml | 5
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml | 17
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml | 5
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java | 37 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOeeInfoService.java | 1
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/CxfClientUtil.java | 31 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/config/WebServiceConfig.java | 43 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/EquipmentWebService.java | 20 +
pom.xml | 2
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java | 63 +++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java | 10
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatus.java | 22 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java | 12
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java | 87 ++++
lxzn-boot-base-core/pom.xml | 21 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java | 22 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java | 7
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySummary.java | 46 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRate.java | 50 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java | 75 +++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml | 36 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySchedule.java | 79 ++++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsResult.java | 20 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java | 19 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java | 85 ++++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceUtilizationRateJob.java | 86 ++++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOeeInfoServiceImpl.java | 6
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDayScheduleMapper.java | 7
lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java | 43 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java | 30 +
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/bo/WebResult.java | 17
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java | 16
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcWorkshopInfo.java | 6
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySummary.java | 54 ++
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDayScheduleService.java | 7
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java | 7
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java | 7
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java | 7
40 files changed, 1,123 insertions(+), 2 deletions(-)
diff --git a/lxzn-boot-base-core/pom.xml b/lxzn-boot-base-core/pom.xml
index 5f93651..a6e3273 100644
--- a/lxzn-boot-base-core/pom.xml
+++ b/lxzn-boot-base-core/pom.xml
@@ -231,6 +231,27 @@
<artifactId>syslog4j</artifactId>
<version>0.9.60</version>
</dependency>
+ <!-- WebService -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web-services</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <!-- cxf webservice -->
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
index 8e49670..1b6cdba 100644
--- a/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
+++ b/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java
@@ -100,6 +100,7 @@
filterChainDefinitionMap.put("/sys/checkAuth", "anon"); //鎺堟潈鎺ュ彛鎺掗櫎
filterChainDefinitionMap.put("/sys/api/appAuth", "anon"); //缃戦椄璁よ瘉鎺ュ彛鎺掗櫎
filterChainDefinitionMap.put("/sys/api/fileUpload", "anon"); //缃戦椄涓婁紶鏂囦欢鎺ュ彛鎺掗櫎
+ filterChainDefinitionMap.put("/services/**", "anon"); //webservice鎺ュ彛鎺掗櫎
filterChainDefinitionMap.put("/", "anon");
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/bo/WebResult.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/bo/WebResult.java
new file mode 100644
index 0000000..c872ebd
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/bo/WebResult.java
@@ -0,0 +1,17 @@
+package org.jeecg.modules.mdc.bo;
+
+import lombok.Data;
+
+
+/**
+ * @author Lius
+ * @date 2025/2/20 14:01
+ */
+@Data
+public class WebResult {
+
+ private String flag;
+
+ private String msg;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/config/WebServiceConfig.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/config/WebServiceConfig.java
new file mode 100644
index 0000000..7ec70d1
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/config/WebServiceConfig.java
@@ -0,0 +1,43 @@
+package org.jeecg.modules.mdc.config;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.bus.spring.SpringBus;
+import org.apache.cxf.jaxws.EndpointImpl;
+import org.jeecg.modules.mdc.webservice.EquipmentWebService;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.xml.ws.Endpoint;
+
+/**
+ * @Author hweiyu
+ * @Description
+ * @Date 2021/4/21 17:55
+ */
+@Configuration
+public class WebServiceConfig {
+
+ /**
+ * Bus浜ょ敱spring绠$悊
+ * @return
+ */
+ @Bean(name = Bus.DEFAULT_BUS_ID)
+ public SpringBus springBus() {
+ return new SpringBus();
+ }
+
+
+ /**
+ * 鏈嶅姟鍦板潃锛�
+ * http://localhost:9999/services
+ * http://localhost:9999/services/EquipmentWebService?wsdl
+ * @param equipmentWebService
+ * @return
+ */
+ @Bean
+ public Endpoint endpoint(EquipmentWebService equipmentWebService) {
+ EndpointImpl endpoint = new EndpointImpl(springBus(), equipmentWebService);
+ endpoint.publish("/EquipmentWebService");
+ return endpoint;
+ }
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java
new file mode 100644
index 0000000..b202d75
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySchedule.java
@@ -0,0 +1,85 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+
+import java.io.Serializable;
+
+@Data
+@TableName("mdc_equipment_day_schedule")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_equipment_day_schedule瀵硅薄", description = "璁惧鏃ユ帓浜ц鍒掕〃")
+public class MdcEquipmentDaySchedule extends JeecgEntity implements Serializable {
+
+ private static final long serialVersionUID = 3006667467937651207L;
+
+ /**
+ * 涓婚敭
+ */
+ private String medId;
+ /**
+ * 鍗曞厓
+ */
+ private String dept;
+ /**
+ * 杞﹂棿锛堝垎鍘傦級
+ */
+ private String workshop;
+ /**
+ * 鐗堟湰鍙凤紙宸ヨ壓瑙勭▼鐗堟锛�
+ */
+ private String revisionNo;
+ /**
+ * 闆朵欢鍚嶇О
+ */
+ private String mdsItemId;
+ /**
+ * 闆朵欢鍙�
+ */
+ private String mdsItemCode;
+ /**
+ * 璁㈠崟鍙�
+ */
+ private String taskCode;
+ /**
+ * 娴佸崱鍙�
+ */
+ private String ewoNo;
+ /**
+ * 鎵规鍙�
+ */
+ private String batchNo;
+ /**
+ * 鎵规鏁伴噺锛堣鍒掓暟锛�
+ */
+ private String batchNum;
+ /**
+ * 鍚堟牸鏁�
+ */
+ private Integer qualifiedQty;
+ /**
+ * 鎶ュ簾鏁�
+ */
+ private Integer scrapQty;
+ /**
+ * 宸ュ簭鍙�
+ */
+ private String opreationSeqNo;
+ /**
+ * 娲惧伐鏃ユ湡
+ */
+ private String dispatchDate;
+ /**
+ * 璁惧缂栧彿
+ */
+ private String equipmentId;
+ /**
+ * 1 姝e父 2 鍙栨秷 3 鍒犻櫎
+ */
+ private String taskType;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySummary.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySummary.java
new file mode 100644
index 0000000..cd2d4fa
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipmentDaySummary.java
@@ -0,0 +1,54 @@
+package org.jeecg.modules.mdc.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecg.common.system.base.entity.JeecgEntity;
+
+import java.io.Serializable;
+
+@Data
+@TableName("mdc_equipment_day_summary")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value = "mdc_equipment_day_summary瀵硅薄", description = "璁惧鏃ヤ骇閲忔眹鎬昏〃")
+public class MdcEquipmentDaySummary extends JeecgEntity implements Serializable {
+
+ private static final long serialVersionUID = 4440281782659062056L;
+
+ /**
+ * 涓婚敭
+ */
+ private String medId;
+ /**
+ * 鍗曞厓
+ */
+ private String dept;
+ /**
+ * 杞﹂棿锛堝垎鍘傦級
+ */
+ private String workshop;
+ /**
+ * 璁惧缂栧彿
+ */
+ private String equipmentCode;
+ /**
+ * 褰撳墠鍦ㄥ埗鍝侀噺锛堣鍗曡鍒掓暟閲�-鍏ュ簱鏁伴噺-鎶ュ簾鏁伴噺锛�
+ */
+ private Integer demandQty;
+ /**
+ * 浠婃棩瀹屽伐鍏ュ簱閲忥紙鍏ュ簱鏁伴噺锛�
+ */
+ private Integer qualifiedQty;
+ /**
+ * 浠婃棩鎶曚骇閲忥紙璁㈠崟鏁伴噺锛�
+ */
+ private Integer planQty;
+ /**
+ * 浠婃棩鎶ュ簾鏁伴噺
+ */
+ private Integer scrapQty;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcWorkshopInfo.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcWorkshopInfo.java
index e9621f3..cc0522a 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcWorkshopInfo.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcWorkshopInfo.java
@@ -51,5 +51,11 @@
@ApiModelProperty(value = "鑿滃崟鏉冮檺缂栫爜")
private String perms;
+ /**
+ * 璁惧杞﹂棿绠$悊id
+ */
+ @ApiModelProperty(value = "璁惧杞﹂棿绠$悊id")
+ private String productionId;
+
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java
new file mode 100644
index 0000000..f54d0bc
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java
@@ -0,0 +1,87 @@
+package org.jeecg.modules.mdc.job;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.mdc.service.IEquipmentService;
+import org.jeecg.modules.mdc.util.CxfClientUtil;
+import org.jeecg.modules.mdc.util.ThrowableUtil;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+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.quartz.*;
+import org.springframework.beans.factory.annotation.Value;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 11:27
+ */
+@PersistJobDataAfterExecution
+@DisallowConcurrentExecution
+@Slf4j
+public class WebServiceStatusJob implements Job {
+
+ /**
+ * url
+ */
+ @Value("${webservice.url}")
+ private String url;
+
+ /**
+ * namespace
+ */
+ @Value("${webservice.namespace}")
+ private String namespace;
+
+ /**
+ * method
+ */
+ @Value("${webservice.statusMethod}")
+ private String method;
+
+
+ @Resource
+ private IQuartzJobService quartzJobService;
+
+ @Resource
+ private ISysQuartzLogService sysQuartzLogService;
+
+ @Resource
+ private IEquipmentService equipmentService;
+
+ @Override
+ public void execute(JobExecutionContext context) 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("WebService涓婃姤璁惧鐘舵�佷换鍔� WebServiceStatusJob start! 鏃堕棿:" + DateUtils.now());
+ long startTime = System.currentTimeMillis();
+ try {
+ List<WsEquipmentStatus> equipmentStatusList = equipmentService.selectEquipmentStatus();
+ if (equipmentStatusList != null && !equipmentStatusList.isEmpty()) {
+ for (WsEquipmentStatus wsEquipmentStatus : equipmentStatusList) {
+ String s = JSONObject.toJSONString(wsEquipmentStatus);
+ log.info("涓婃姤鐘舵�佹暟鎹� ===== " + s);
+ String result = CxfClientUtil.invokeService(url, s, namespace, method);
+ log.info("涓婃姤鐘舵�佺粨鏋� ===== " + result);
+ }
+ }
+ quartzLog.setIsSuccess(0);
+ } catch (Exception e) {
+ quartzLog.setIsSuccess(-1);
+ quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
+ }
+ 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/WebServiceUtilizationRateJob.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceUtilizationRateJob.java
new file mode 100644
index 0000000..800ef9e
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceUtilizationRateJob.java
@@ -0,0 +1,86 @@
+package org.jeecg.modules.mdc.job;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.mdc.service.IEquipmentService;
+import org.jeecg.modules.mdc.util.CxfClientUtil;
+import org.jeecg.modules.mdc.util.ThrowableUtil;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
+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.quartz.*;
+import org.springframework.beans.factory.annotation.Value;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 16:17
+ */
+@PersistJobDataAfterExecution
+@DisallowConcurrentExecution
+@Slf4j
+public class WebServiceUtilizationRateJob implements Job {
+
+ /**
+ * 鍦板潃
+ */
+
+ @Value("${webservice.url}")
+ private String url;
+
+ /**
+ * namespace
+ */
+ @Value("${webservice.namespace}")
+ private String namespace;
+
+ /**
+ * 鏂规硶
+ */
+ @Value("${webservice.rateMethod}")
+ private String method;
+ @Resource
+ private IQuartzJobService quartzJobService;
+
+ @Resource
+ private ISysQuartzLogService sysQuartzLogService;
+
+ @Resource
+ private IEquipmentService equipmentService;
+
+ @Override
+ public void execute(JobExecutionContext context) 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("WebService涓婃姤璁惧鍒╃敤鐜囦换鍔� WebServiceUtilizationRateJob start! 鏃堕棿:{}", DateUtils.now());
+ long startTime = System.currentTimeMillis();
+ try {
+ List<WsEquipmentUtilizationRate> equipmentRateList = equipmentService.selectEquipmentRate();
+ if (equipmentRateList != null && !equipmentRateList.isEmpty()) {
+ for (WsEquipmentUtilizationRate wsEquipmentUtilizationRate : equipmentRateList) {
+ String s = JSONObject.toJSONString(wsEquipmentUtilizationRate);
+ log.info("涓婃姤鍒╃敤鐜囨暟鎹� ===== {}", s);
+ String result = CxfClientUtil.invokeService(url, s, namespace, method);
+ log.info("涓婃姤鍒╃敤鐜囩粨鏋� ===== {}", result);
+ }
+ }
+ quartzLog.setIsSuccess(0);
+ } catch (Exception e) {
+ quartzLog.setIsSuccess(-1);
+ quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e));
+ }
+ 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/EquipmentMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/EquipmentMapper.java
index d79cbc0..1661fd4 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
@@ -6,6 +6,10 @@
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.jeecg.modules.mdc.entity.Equipment;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
+
+import java.util.List;
/**
* @Description: 閲囬泦璁惧琛�
@@ -30,4 +34,10 @@
@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);
+
+ List<WsEquipmentStatus> selectEquipmentStatus();
+
+ List<WsEquipmentUtilizationRate> selectEquipmentRate(@Param("date") String date);
+
+ String selectOee(@Param("equipmentId") String equipmentId, @Param("date") String date);
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDayScheduleMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDayScheduleMapper.java
new file mode 100644
index 0000000..d63150b
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDayScheduleMapper.java
@@ -0,0 +1,7 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySchedule;
+
+public interface MdcEquipmentDayScheduleMapper extends BaseMapper<MdcEquipmentDaySchedule> {
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java
new file mode 100644
index 0000000..bf2f9c2
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentDaySummaryMapper.java
@@ -0,0 +1,7 @@
+package org.jeecg.modules.mdc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary;
+
+public interface MdcEquipmentDaySummaryMapper extends BaseMapper<MdcEquipmentDaySummary> {
+}
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..9be2447 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
@@ -124,4 +124,11 @@
* @return
*/
MdcEquipmentDetailedDto findById(@Param("id") String id);
+
+ /**
+ * 鏍规嵁浜х嚎id鑾峰彇璁惧鐘舵�佸垪琛�
+ * @param workshopId
+ * @return
+ */
+ List<MdcEquipmentMonitor> getEquipmentMonitorList(@Param("workshopId") String workshopId);
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
index b504640..a5f4ac3 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
@@ -2,4 +2,40 @@
<!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.EquipmentMapper">
+ <!--鏌ヨ璁惧鐘舵��-->
+ <select id="selectEquipmentStatus" resultType="org.jeecg.modules.mdc.vo.WsEquipmentStatus">
+ SELECT
+ t1.EquipmentID equipmentCode,
+ t1.equipmentName equipmentName,
+ t1.oporation equipmentStatus,
+ t1.collectTime creationDate,
+ t2.FactoryName finr
+ FROM
+ Equipment t1
+ LEFT JOIN FactoryInfo t2 ON t1.FactoryID = t2.FactoryID
+ </select>
+
+ <!--鏌ヨ璁惧鍒╃敤鐜�-->
+ <select id="selectEquipmentRate" resultType="org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate">
+ SELECT
+ t1.EquipmentID equipmentCode,
+ t1.equipmentName equipmentName,
+ t2.FactoryName finr,
+ t3.process_long equipmentRunTime,
+ t3.create_time statisDate
+ FROM
+ Equipment t1
+ LEFT JOIN FactoryInfo t2 ON t1.FactoryID = t2.FactoryID
+ LEFT JOIN mdc_equipment_statistical_info t3 ON t1.EquipmentID = t3.equipment_id
+ WHERE t3.the_date = #{date}
+ </select>
+
+
+ <select id="selectOee" resultType="java.lang.String">
+ SELECT
+ oee
+ FROM
+ mdc_oee_info
+ WHERE equipment_id = #{equipmentId} AND the_date = #{date}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDayScheduleMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDayScheduleMapper.xml
new file mode 100644
index 0000000..864dff2
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDayScheduleMapper.xml
@@ -0,0 +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.MdcEquipmentDayScheduleMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml
new file mode 100644
index 0000000..b888911
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentDaySummaryMapper.xml
@@ -0,0 +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.MdcEquipmentDaySummaryMapper">
+
+</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 4cd73de..58aaf78 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
@@ -279,4 +279,21 @@
t1.id = #{ id }
</select>
+ <!--鏍规嵁浜х嚎id鑾峰彇璁惧鐘舵�佸垪琛�-->
+ <select id="getEquipmentMonitorList" resultType="org.jeecg.modules.mdc.entity.MdcEquipmentMonitor">
+ SELECT e.equipment_id,
+ et.CollectTime,
+ e.equipment_name,
+ et.Oporation,
+ e.id,
+ e.equipment_status,
+ e.equipment_type AS equipmentType,
+ etp.equipment_type_pictures
+ FROM mdc_equipment e
+ LEFT JOIN Equipment et ON e.equipment_id = et.EquipmentID
+ LEFT JOIN mdc_equipment_type etp ON e.equipment_type = etp.equipment_type_name
+ JOIN mdc_workshop_equipment we ON e.equipment_id = we.equipment_id
+ WHERE we.workshop_id = #{workshopId}
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
index 8dfe74b..f5054dd 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IEquipmentService.java
@@ -2,6 +2,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.mdc.entity.Equipment;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
+
+import java.util.List;
/**
* @Description: 閲囬泦璁惧琛�
@@ -13,6 +17,7 @@
/**
* 鏍规嵁鏁版嵁琛ㄥ悕绉版煡璇㈡暟鎹〃鏄惁瀛樺湪
+ *
* @param saveTableName
* @return
*/
@@ -20,6 +25,7 @@
/**
* 鏌ヨ闇�澶囦唤鏁版嵁閲�
+ *
* @param saveTableName
* @param day
* @return
@@ -28,6 +34,7 @@
/**
* 鏁版嵁杩佺Щ
+ *
* @param backupTableName
* @param tableName
* @param day
@@ -36,6 +43,7 @@
/**
* 鍒犻櫎鍘熸暟鎹〃鏁版嵁
+ *
* @param tableName
* @param day
*/
@@ -43,9 +51,23 @@
/**
* 鍒涘缓澶囦唤琛�
+ *
* @param backupTableName
* @param tableName
* @param day
*/
void insertNoTableData(String backupTableName, String tableName, String day);
+
+ /**
+ * 鏌ヨ璁惧鐘舵��
+ *
+ * @return
+ */
+ List<WsEquipmentStatus> selectEquipmentStatus();
+
+ /**
+ * 鏌ヨ璁惧鍒╃敤鐜�
+ * @return
+ */
+ List<WsEquipmentUtilizationRate> selectEquipmentRate();
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDayScheduleService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDayScheduleService.java
new file mode 100644
index 0000000..906ba4d
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDayScheduleService.java
@@ -0,0 +1,7 @@
+package org.jeecg.modules.mdc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySchedule;
+
+public interface IMdcEquipmentDayScheduleService extends IService<MdcEquipmentDaySchedule> {
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java
new file mode 100644
index 0000000..3069351
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentDaySummaryService.java
@@ -0,0 +1,7 @@
+package org.jeecg.modules.mdc.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary;
+
+public interface IMdcEquipmentDaySummaryService extends IService<MdcEquipmentDaySummary> {
+}
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..87a1a43 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
@@ -210,4 +210,11 @@
List<String> listEquipmentIdShift(MdcEfficiencyReportShiftQueryVo vo);
+ /**
+ * 鏍规嵁浜х嚎id鑾峰彇璁惧鐘舵�佸垪琛�
+ *
+ * @param workshopId
+ * @return
+ */
+ List<MdcEquipmentMonitor> getEquipmentMonitorList(String workshopId);
}
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
index f9bcaea..f4fdad3 100644
--- 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
@@ -46,6 +46,7 @@
/**
* 璁$畻OEE
+ *
* @param mdcOeeComputeVo
*/
void computeOee(MdcOeeComputeVo mdcOeeComputeVo);
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
index 3db46bc..3880d84 100644
--- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/EquipmentServiceImpl.java
@@ -4,7 +4,14 @@
import org.jeecg.modules.mdc.entity.Equipment;
import org.jeecg.modules.mdc.mapper.EquipmentMapper;
import org.jeecg.modules.mdc.service.IEquipmentService;
+import org.jeecg.modules.mdc.vo.WsEquipmentStatus;
+import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate;
import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.util.List;
/**
* @Description: 閲囬泦璁惧琛�
@@ -39,4 +46,27 @@
public void insertNoTableData(String backupTableName, String tableName, String day) {
this.baseMapper.insertNoTableData(backupTableName, tableName, day);
}
+
+ @Override
+ public List<WsEquipmentStatus> selectEquipmentStatus() {
+ return this.baseMapper.selectEquipmentStatus();
+ }
+
+ @Override
+ public List<WsEquipmentUtilizationRate> selectEquipmentRate() {
+ String date = LocalDate.now().plusDays(-1).toString();
+ List<WsEquipmentUtilizationRate> list = this.baseMapper.selectEquipmentRate(date.replaceAll("-", ""));
+ if (list != null && !list.isEmpty()) {
+ for (WsEquipmentUtilizationRate wsEquipmentUtilizationRate : list) {
+ String equipmentRunTime = wsEquipmentUtilizationRate.getEquipmentRunTime();
+ wsEquipmentUtilizationRate.setStatisType("D");
+ wsEquipmentUtilizationRate.setEquipmentRunTime(new BigDecimal(equipmentRunTime).divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).toString());
+ wsEquipmentUtilizationRate.setEquipmentRate(new BigDecimal(equipmentRunTime).divide(new BigDecimal("86400"), 2, RoundingMode.HALF_UP).toString());
+ wsEquipmentUtilizationRate.setEquipmentCalendar(date);
+ String oee = this.baseMapper.selectOee(wsEquipmentUtilizationRate.getEquipmentCode(), date);
+ wsEquipmentUtilizationRate.setEquipmentOee(oee == null ? "0" : oee);
+ }
+ }
+ return list;
+ }
}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDayScheduleServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDayScheduleServiceImpl.java
new file mode 100644
index 0000000..07e78b8
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDayScheduleServiceImpl.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySchedule;
+import org.jeecg.modules.mdc.mapper.MdcEquipmentDayScheduleMapper;
+import org.jeecg.modules.mdc.service.IMdcEquipmentDayScheduleService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-26
+ * @Description: s
+ */
+@Service
+public class MdcEquipmentDayScheduleServiceImpl extends ServiceImpl<MdcEquipmentDayScheduleMapper, MdcEquipmentDaySchedule> implements IMdcEquipmentDayScheduleService {
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java
new file mode 100644
index 0000000..eb6b7d3
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentDaySummaryServiceImpl.java
@@ -0,0 +1,16 @@
+package org.jeecg.modules.mdc.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary;
+import org.jeecg.modules.mdc.mapper.MdcEquipmentDaySummaryMapper;
+import org.jeecg.modules.mdc.service.IMdcEquipmentDaySummaryService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-26
+ * @Description: 璁惧鏃ユ眹鎬籭mpl
+ */
+@Service
+public class MdcEquipmentDaySummaryServiceImpl extends ServiceImpl<MdcEquipmentDaySummaryMapper, MdcEquipmentDaySummary> implements IMdcEquipmentDaySummaryService {
+}
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 11909c7..6c195c4 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,6 +1,5 @@
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;
@@ -906,4 +905,15 @@
return list.stream().map(MdcEquipment::getEquipmentId).collect(Collectors.toList());
}
+ /**
+ * 鏍规嵁浜х嚎id鑾峰彇璁惧鐘舵�佸垪琛�
+ *
+ * @param workshopId
+ * @return
+ */
+ @Override
+ public List<MdcEquipmentMonitor> getEquipmentMonitorList(String workshopId) {
+ return this.baseMapper.getEquipmentMonitorList(workshopId);
+ }
+
}
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
index 3486a28..d2cac3a 100644
--- 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
@@ -53,6 +53,7 @@
/**
* 鍒嗛〉鍒楄〃
+ *
* @param userId
* @param page
* @param mdcOeeInfoVo
@@ -96,6 +97,7 @@
/**
* 瀵煎嚭
+ *
* @param userId
* @param mdcOeeInfoVo
* @return
@@ -145,7 +147,7 @@
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<MdcOeeInfo> mdcOeeInfos = this.baseMapper.selectList(queryWrapper);
// 瀵煎嚭鏂囦欢鍚嶇О
- mv.addObject(NormalExcelConstants.FILE_NAME, "OEE鏁版嵁鍒楄〃");
+ 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鏁版嵁"));
@@ -156,6 +158,7 @@
/**
* 璁$畻OEE
+ *
* @param mdcOeeComputeVo
*/
@Override
@@ -242,6 +245,7 @@
/**
* 璁$畻oee
+ *
* @param dateTime 鍙傛暟
*/
@Override
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/CxfClientUtil.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/CxfClientUtil.java
new file mode 100644
index 0000000..cfdda96
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/CxfClientUtil.java
@@ -0,0 +1,31 @@
+package org.jeecg.modules.mdc.util;
+
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
+
+import javax.xml.namespace.QName;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 10:16
+ */
+public class CxfClientUtil {
+
+ /**
+ * 鍔ㄦ�佽皟鐢�
+ */
+ public static String invokeService(String url, String data, String namespace, String method) throws Exception {
+
+ JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
+ Client client = dcf.createClient(url);
+ QName opName = new QName(namespace, method);
+ Object[] objects = new Object[0];
+ try {
+ objects = client.invoke(opName, data);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return objects[0].toString();
+ }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySchedule.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySchedule.java
new file mode 100644
index 0000000..cb471a0
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySchedule.java
@@ -0,0 +1,79 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+
+/**
+ * MES涓婁紶鏃ヨ鍒掓帴鏀跺璞�
+ *
+ * @author Lius
+ * @date 2025/2/26 14:17
+ */
+@Data
+public class EquipmentDaySchedule {
+
+ /**
+ * 涓婚敭
+ */
+ private String medId;
+ /**
+ * 鍗曞厓
+ */
+ private String dept;
+ /**
+ * 杞﹂棿锛堝垎鍘傦級
+ */
+ private String workshop;
+ /**
+ * 鐗堟湰鍙凤紙宸ヨ壓瑙勭▼鐗堟锛�
+ */
+ private String revisionNo;
+ /**
+ * 闆朵欢鍚嶇О
+ */
+ private String mdsItemId;
+ /**
+ * 闆朵欢鍙�
+ */
+ private String mdsItemCode;
+ /**
+ * 璁㈠崟鍙�
+ */
+ private String taskCode;
+ /**
+ * 娴佸崱鍙�
+ */
+ private String ewoNo;
+ /**
+ * 鎵规鍙�
+ */
+ private String batchNo;
+ /**
+ * 鎵规鏁伴噺锛堣鍒掓暟锛�
+ */
+ private String batchNum;
+ /**
+ * 鍚堟牸鏁�
+ */
+ private Integer qualifiedQty;
+ /**
+ * 鎶ュ簾鏁�
+ */
+ private Integer scrapQty;
+ /**
+ * 宸ュ簭鍙�
+ */
+ private String opreationSeqNo;
+ /**
+ * 娲惧伐鏃ユ湡
+ */
+ private String dispatchDate;
+ /**
+ * 璁惧缂栧彿
+ */
+ private String equipmentId;
+ /**
+ * 1 姝e父 2 鍙栨秷 3 鍒犻櫎
+ */
+ private String taskType;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySummary.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySummary.java
new file mode 100644
index 0000000..fac96e7
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/EquipmentDaySummary.java
@@ -0,0 +1,46 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+
+/**
+ * MES涓婁紶鏃ユ眹鎬绘帴鏀跺璞�
+ *
+ * @author Lius
+ * @date 2025/2/26 14:17
+ */
+@Data
+public class EquipmentDaySummary {
+ /**
+ * 涓婚敭
+ */
+ private String medId;
+ /**
+ * 鍗曞厓
+ */
+ private String dept;
+ /**
+ * 杞﹂棿锛堝垎鍘傦級
+ */
+ private String workshop;
+ /**
+ * 璁惧缂栧彿
+ */
+ private String equipmentCode;
+ /**
+ * 褰撳墠鍦ㄥ埗鍝侀噺锛堣鍗曡鍒掓暟閲�-鍏ュ簱鏁伴噺-鎶ュ簾鏁伴噺锛�
+ */
+ private Integer demandQty;
+ /**
+ * 浠婃棩瀹屽伐鍏ュ簱閲忥紙鍏ュ簱鏁伴噺锛�
+ */
+ private Integer qualifiedQty;
+ /**
+ * 浠婃棩鎶曚骇閲忥紙璁㈠崟鏁伴噺锛�
+ */
+ private Integer planQty;
+ /**
+ * 浠婃棩鎶ュ簾鏁伴噺
+ */
+ private Integer scrapQty;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatus.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatus.java
new file mode 100644
index 0000000..8248ad5
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatus.java
@@ -0,0 +1,22 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 10:44
+ */
+@Data
+public class WsEquipmentStatus {
+
+ private String equipmentCode;
+
+ private String equipmentName;
+
+ private String equipmentStatus;
+
+ private Date creationDate;
+
+ private String finr;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRate.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRate.java
new file mode 100644
index 0000000..2ac4232
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRate.java
@@ -0,0 +1,50 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 16:31
+ */
+@Data
+public class WsEquipmentUtilizationRate {
+
+ /**
+ * 璁惧缂栧彿
+ */
+ private String equipmentCode;
+ /**
+ * 璁惧鍚嶇О
+ */
+ private String equipmentName;
+ /**
+ * 鍒嗗巶
+ */
+ private String finr;
+ /**
+ * 璁惧鍒╃敤鐜�
+ */
+ private String equipmentRate;
+ /**
+ * 璁惧杩愯鏃堕棿(鍒嗛挓)
+ */
+ private String equipmentRunTime;
+ /**
+ * 璁惧鏃ュ巻
+ */
+ private String equipmentCalendar;
+ /**
+ * OEE
+ */
+ private String equipmentOee;
+ /**
+ * 缁熻绫诲瀷
+ */
+ private String statisType;
+ /**
+ * 缁熻鏃ユ湡
+ */
+ private Date statisDate;
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsResult.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsResult.java
new file mode 100644
index 0000000..1421c75
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsResult.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.mdc.vo;
+
+import lombok.Data;
+
+/**
+ * @author Lius
+ * @date 2024/6/11 11:12
+ */
+@Data
+public class WsResult {
+
+ private String flag;
+
+ private String msg;
+
+ public WsResult(String flag, String msg) {
+ this.flag = flag;
+ this.msg = msg;
+ }
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/EquipmentWebService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/EquipmentWebService.java
new file mode 100644
index 0000000..4724a7b
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/EquipmentWebService.java
@@ -0,0 +1,20 @@
+package org.jeecg.modules.mdc.webservice;
+
+import javax.jws.WebMethod;
+import javax.jws.WebParam;
+import javax.jws.WebService;
+
+/**
+ * @author Lius
+ * @date 2025/2/20 13:48
+ */
+@WebService(name = "EquipmentWebService", targetNamespace = "http://mdc.webservice.equipment.com")
+public interface EquipmentWebService {
+
+ @WebMethod
+ String equipmentDaySchedule(@WebParam(name = "msg") String msg);
+
+ @WebMethod
+ String equipmentDaySummary(@WebParam(name = "msg") String msg);
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java
new file mode 100644
index 0000000..21e1507
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/webservice/impl/EquipmentWebServiceImpl.java
@@ -0,0 +1,63 @@
+package org.jeecg.modules.mdc.webservice.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySchedule;
+import org.jeecg.modules.mdc.entity.MdcEquipmentDaySummary;
+import org.jeecg.modules.mdc.service.IMdcEquipmentDayScheduleService;
+import org.jeecg.modules.mdc.service.IMdcEquipmentDaySummaryService;
+import org.jeecg.modules.mdc.vo.EquipmentDaySchedule;
+import org.jeecg.modules.mdc.vo.EquipmentDaySummary;
+import org.jeecg.modules.mdc.vo.WsResult;
+import org.jeecg.modules.mdc.webservice.EquipmentWebService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.jws.WebService;
+
+
+/**
+ * @author Lius
+ * @date 2024/6/11 11:07
+ */
+@Service
+@WebService(name = "EquipmentWebService",
+ targetNamespace = "http://mdc.webservice.equipment.com",
+ endpointInterface = "org.jeecg.modules.mdc.webservice.EquipmentWebService"
+)
+@Slf4j
+public class EquipmentWebServiceImpl implements EquipmentWebService {
+
+ @Resource
+ private IMdcEquipmentDaySummaryService mdcEquipmentDaySummaryService;
+
+ @Resource
+ private IMdcEquipmentDayScheduleService mdcEquipmentDayScheduleService;
+
+ @Override
+ public String equipmentDaySchedule(String msg) {
+ log.info("MES涓婃姤鏃ヨ鍒掑師濮嬫暟鎹� === {}", msg);
+ EquipmentDaySchedule equipmentDaySchedule = JSONObject.parseObject(msg, EquipmentDaySchedule.class);
+ MdcEquipmentDaySchedule mdcEquipmentDaySchedule = new MdcEquipmentDaySchedule();
+ BeanUtils.copyProperties(equipmentDaySchedule, mdcEquipmentDaySchedule);
+ mdcEquipmentDayScheduleService.save(mdcEquipmentDaySchedule);
+
+ log.info("MES涓婃姤鏃ヨ鍒掓暟鎹垚鍔燂紒");
+ WsResult wsResult = new WsResult("1", "鎴愬姛");
+ return JSONObject.toJSONString(wsResult);
+ }
+
+ @Override
+ public String equipmentDaySummary(String msg) {
+ log.info("MES涓婃姤鏃ユ眹鎬诲師濮嬫暟鎹� === {}", msg);
+ EquipmentDaySummary equipmentDaySummary = JSONObject.parseObject(msg, EquipmentDaySummary.class);
+ MdcEquipmentDaySummary mdcEquipmentDaySummary = new MdcEquipmentDaySummary();
+ BeanUtils.copyProperties(equipmentDaySummary, mdcEquipmentDaySummary);
+ mdcEquipmentDaySummaryService.save(mdcEquipmentDaySummary);
+
+ log.info("MES涓婃姤鏃ユ眹鎬绘暟鎹垚鍔燂紒");
+ WsResult wsResult = new WsResult("1", "鎴愬姛");
+ return JSONObject.toJSONString(wsResult);
+ }
+}
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
new file mode 100644
index 0000000..31b0207
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/controller/MdcLargeScreenController.java
@@ -0,0 +1,43 @@
+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.screen.dto.EquipmentStatusOverview;
+import org.jeecg.modules.screen.service.MdcLargeScreenService;
+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;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-28
+ * @Description:
+ */
+@Slf4j
+@Api(tags = "澶у睆鐪嬫澘")
+@RestController
+@RequestMapping("/mdc/largeScreen")
+public class MdcLargeScreenController {
+
+ @Resource
+ private MdcLargeScreenService mdcLargeScreenService;
+
+ @ApiOperation(value = "澶у睆鐪嬫澘-璁惧鎯呭喌", notes = "澶у睆鐪嬫澘-璁惧鎯呭喌")
+ @GetMapping("/equipmentStatusOverview")
+ public Result<EquipmentStatusOverview> equipmentStatusOverview(String workshopId) {
+ EquipmentStatusOverview equipmentStatusOverview = mdcLargeScreenService.equipmentStatusOverview(workshopId);
+ return Result.OK(equipmentStatusOverview);
+ }
+
+// @ApiOperation(value = "澶у睆鐪嬫澘-鏈堝埄鐢ㄧ巼瓒嬪娍", notes = "澶у睆鐪嬫澘-鏈堝埄鐢ㄧ巼瓒嬪娍")
+// @GetMapping("/monthUtilizationTendency")
+// public Result<EquipmentStatusOverview> monthUtilizationTendency(String workshopId) {
+//
+// return Result.OK(equipmentStatusOverview);
+// }
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java
new file mode 100644
index 0000000..9e19750
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/dto/EquipmentStatusOverview.java
@@ -0,0 +1,37 @@
+package org.jeecg.modules.screen.dto;
+
+import lombok.Data;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-28
+ * @Description:
+ */
+@Data
+public class EquipmentStatusOverview {
+ /**
+ * 璁惧鎬绘暟
+ */
+ private Integer equipmentCount = 0;
+ /**
+ * 澶т慨銆侀」淇暟
+ */
+ private Integer repairCount = 0;
+ /**
+ * 姝e父杩愯鏁�
+ */
+ private Integer runCount = 0;
+ /**
+ * 寰呮満鏁�
+ */
+ private Integer waitCount = 0;
+ /**
+ * 鎶ヨ鏁�
+ */
+ private Integer errorCount = 0;
+ /**
+ * 鍏虫満鏁�
+ */
+ private Integer closeCount = 0;
+
+}
diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java
new file mode 100644
index 0000000..c09ee64
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/MdcLargeScreenService.java
@@ -0,0 +1,19 @@
+package org.jeecg.modules.screen.service;
+
+import org.jeecg.modules.screen.dto.EquipmentStatusOverview;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-28
+ * @Description:
+ */
+public interface MdcLargeScreenService {
+
+ /**
+ * 璁惧鎯呭喌
+ *
+ * @param workshopId
+ * @return
+ */
+ EquipmentStatusOverview equipmentStatusOverview(String workshopId);
+}
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
new file mode 100644
index 0000000..5bb85fa
--- /dev/null
+++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/screen/service/impl/MdcLargeScreenServiceImpl.java
@@ -0,0 +1,75 @@
+package org.jeecg.modules.screen.service.impl;
+
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.vo.DictModel;
+import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor;
+import org.jeecg.modules.mdc.service.IMdcEquipmentService;
+import org.jeecg.modules.screen.dto.EquipmentStatusOverview;
+import org.jeecg.modules.screen.service.MdcLargeScreenService;
+import org.jeecg.modules.system.service.ISysDictService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author: Lius
+ * @CreateTime: 2025-02-28
+ * @Description:
+ */
+@Service
+public class MdcLargeScreenServiceImpl implements MdcLargeScreenService {
+
+ @Resource
+ private IMdcEquipmentService mdcEquipmentService;
+
+ @Resource
+ private ISysDictService sysDictService;
+
+ /**
+ * 璁惧鐘舵�佹儏鍐�
+ *
+ * @param workshopId
+ * @return
+ */
+ @Override
+ public EquipmentStatusOverview equipmentStatusOverview(String workshopId) {
+ EquipmentStatusOverview equipmentStatusOverview = new EquipmentStatusOverview();
+ List<MdcEquipmentMonitor> equipmentMonitorList = mdcEquipmentService.getEquipmentMonitorList(workshopId);
+ if (equipmentMonitorList != null && !equipmentMonitorList.isEmpty()) {
+ equipmentStatusOverview.setEquipmentCount(equipmentMonitorList.size());
+ for (MdcEquipmentMonitor mdcEquipmentMonitor : equipmentMonitorList) {
+ if (mdcEquipmentMonitor.getEquipmentStatus() == 0) {
+ if (mdcEquipmentMonitor.getOporation() != null) {
+ switch (mdcEquipmentMonitor.getOporation()) {
+ case 1:
+ case 2:
+ equipmentStatusOverview.setWaitCount(equipmentStatusOverview.getWaitCount() + 1);
+ break;
+ case 3:
+ equipmentStatusOverview.setRunCount(equipmentStatusOverview.getRunCount());
+ break;
+ case 22:
+ equipmentStatusOverview.setErrorCount(equipmentStatusOverview.getErrorCount() + 1);
+ break;
+ default:
+ equipmentStatusOverview.setCloseCount(equipmentStatusOverview.getCloseCount() + 1);
+ break;
+ }
+ } else {
+ equipmentStatusOverview.setCloseCount(equipmentStatusOverview.getCloseCount() + 1);
+ mdcEquipmentMonitor.setOporation(0);
+ }
+ } else {
+ List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.DICT_EQUIPMENT_STATUS);
+ for (DictModel dictModel : dictList) {
+ if (Integer.valueOf(dictModel.getValue()).equals(mdcEquipmentMonitor.getEquipmentStatus())) {
+ equipmentStatusOverview.setRepairCount(equipmentStatusOverview.getRepairCount() + 1);
+ }
+ }
+ }
+ }
+ }
+ return equipmentStatusOverview;
+ }
+}
diff --git a/pom.xml b/pom.xml
index 142ccfa..9da6f75 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,6 +59,8 @@
<!-- Log4j2鐖嗛浄婕忔礊 -->
<log4j2.version>2.17.0</log4j2.version>
<logback.version>1.2.9</logback.version>
+ <!-- webservice -->
+ <cxf.version>3.2.4</cxf.version>
</properties>
<modules>
--
Gitblit v1.9.3