lxzn-boot-base-core/pom.xml
@@ -219,6 +219,27 @@ <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> </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> lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningEquipmentStatusJob.java
@@ -134,7 +134,7 @@ // 䏿¥ MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("设å¤å©ç¨çæ¥è¦ï¼"); messageDTO.setCategory("é¢è¦æ¶æ¯"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); messageDTO.setContent("设å¤ç¼å·ä¸º [" + mdcEquipment.getEquipmentId() + "] ç设å¤å©ç¨çä½äºæ£å¸¸å¼æ¥è¦ï¼"); @@ -174,7 +174,7 @@ for (SysUser sysUser : adminList) { MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("设å¤ç¶æé¿ææ å忥è¦ï¼"); messageDTO.setCategory("é¢è¦æ¶æ¯"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser(sysUser.getUsername()); messageDTO.setContent("设å¤ç¼å·ä¸º [" + mdcEquipment.getEquipmentId() + "] ç设å¤ç¶æé¿ææ å忥è¦ï¼"); @@ -183,7 +183,7 @@ } else { MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("设å¤ç¶æé¿ææ å忥è¦ï¼"); messageDTO.setCategory("é¢è¦æ¶æ¯"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); messageDTO.setContent("设å¤ç¼å·ä¸º [" + mdcEquipment.getEquipmentId() + "] ç设å¤ç¶æé¿ææ å忥è¦ï¼"); lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningMonitoringSpeedJob.java
@@ -89,7 +89,7 @@ if (mdcEquipmentDto != null && StringUtils.isNotBlank(mdcEquipmentDto.getSpindlespeed()) && StringUtils.isNotBlank(mdcEquipmentDto.getActualspindlespeed())) { MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("设å¤è¿è¡è½¬éæ¥è¦ï¼"); messageDTO.setCategory("é¢è¦æ¶æ¯"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); //è®¾å® lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceStatusJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,94 @@ package org.jeecg.modules.mdc.job; 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.util.XmlUtil; import org.jeecg.modules.mdc.vo.WsEquipmentStatus; import org.jeecg.modules.mdc.vo.WsEquipmentStatusList; 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.ArrayList; 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(); WsEquipmentStatusList wsEquipmentStatusList = new WsEquipmentStatusList(); List<WsEquipmentStatus> list = new ArrayList<>(); if (equipmentStatusList != null && !equipmentStatusList.isEmpty()) { for (WsEquipmentStatus wsEquipmentStatus : equipmentStatusList) { list.add(wsEquipmentStatus); wsEquipmentStatusList.setList(list); String s = XmlUtil.convertToXml(wsEquipmentStatusList); list.clear(); 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); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceUtilizationRateJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,93 @@ package org.jeecg.modules.mdc.job; 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.util.XmlUtil; import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRate; import org.jeecg.modules.mdc.vo.WsEquipmentUtilizationRateList; 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.ArrayList; 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(); WsEquipmentUtilizationRateList wsEquipmentUtilizationRateList = new WsEquipmentUtilizationRateList(); List<WsEquipmentUtilizationRate> list = new ArrayList<>(); if (equipmentRateList != null && !equipmentRateList.isEmpty()) { for (WsEquipmentUtilizationRate wsEquipmentUtilizationRate : equipmentRateList) { list.add(wsEquipmentUtilizationRate); wsEquipmentUtilizationRateList.setList(list); String s = XmlUtil.convertToXml(wsEquipmentUtilizationRateList); list.clear(); 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); } } 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,8 @@ @Insert(" SELECT * INTO ${tableName} 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); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/EquipmentMapper.xml
@@ -2,4 +2,29 @@ <!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 mainDeptCode 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 mainDeptCode, 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> </mapper> 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: éé设å¤è¡¨ @@ -48,4 +52,17 @@ * @param day */ void insertNoTableData(String backupTableName, String tableName, String day); /** * æ¥è¯¢è®¾å¤ç¶æ * @return */ List<WsEquipmentStatus> selectEquipmentStatus(); /** * æ¥è¯¢è®¾å¤å©ç¨ç * @return */ List<WsEquipmentUtilizationRate> selectEquipmentRate(); } 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,54 @@ public void insertNoTableData(String backupTableName, String tableName, String day) { this.baseMapper.insertNoTableData(backupTableName, tableName, day); } @Override public List<WsEquipmentStatus> selectEquipmentStatus() { List<WsEquipmentStatus> equipmentStatusList = this.baseMapper.selectEquipmentStatus(); if (equipmentStatusList != null && !equipmentStatusList.isEmpty()) { for (WsEquipmentStatus wsEquipmentStatus : equipmentStatusList) { // 1-å å·¥ 3-å¾ æº 9-å ³æº 10-æ¥è¦ if (wsEquipmentStatus.getEquipmentStatus() != null) { switch (wsEquipmentStatus.getEquipmentStatus()) { case "1": case "2": wsEquipmentStatus.setEquipmentStatus("3"); break; case "3": wsEquipmentStatus.setEquipmentStatus("1"); break; case "22": wsEquipmentStatus.setEquipmentStatus("10"); break; default: wsEquipmentStatus.setEquipmentStatus("9"); break; } } else { wsEquipmentStatus.setEquipmentStatus("9"); } } } return equipmentStatusList; } /** * æ¥è¯¢è®¾å¤å©ç¨ç * @return */ @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) + "%"); wsEquipmentUtilizationRate.setEquipmentCalendar(date); } } return list; } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -789,7 +789,7 @@ Integer min = mdcEquipmentThreshold.getMinThreshold(); MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle("设å¤" + mdcEquipmentThreshold.getChineseName() + "æ¥è¦ï¼"); messageDTO.setCategory("é¢è¦æ¶æ¯"); messageDTO.setCategory(CommonConstant.MSG_CATEGORY_2); messageDTO.setFromUser("admin"); messageDTO.setToUser("admin"); MdcOverrunAlarm mdcOverrunAlarm = new MdcOverrunAlarm(); lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/CxfClientUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,32 @@ package org.jeecg.modules.mdc.util; import com.alibaba.fastjson.JSONObject; import org.apache.cxf.endpoint.Client; 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(); } String json = JSONObject.toJSONString(objects[0]); return json; } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/DateAdapter.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package org.jeecg.modules.mdc.util; import javax.xml.bind.annotation.adapters.XmlAdapter; import java.text.SimpleDateFormat; import java.util.Date; /** * @author Lius * @date 2024/6/13 9:54 */ public class DateAdapter extends XmlAdapter<String, Date> { private static final SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @Override public Date unmarshal(String date) throws Exception { return SDF.parse(date); } @Override public String marshal(Date date) throws Exception { return SDF.format(date); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/JaxWsDynamicClientFactory.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,73 @@ package org.jeecg.modules.mdc.util; import org.apache.cxf.Bus; import org.apache.cxf.bus.CXFBusFactory; import org.apache.cxf.endpoint.EndpointImplFactory; import org.apache.cxf.endpoint.dynamic.DynamicClientFactory; import org.apache.cxf.jaxws.support.JaxWsEndpointImplFactory; import java.io.File; import java.util.List; /** * @author Lius * @date 2024/6/14 11:07 * 注ï¼è§£å³æ¤ï¼é误ï¼ç¼ç GBKçä¸å¯æ å°å符ï¼é®é¢ */ public class JaxWsDynamicClientFactory extends DynamicClientFactory { protected JaxWsDynamicClientFactory(Bus bus) { super(bus); } @Override protected EndpointImplFactory getEndpointImplFactory() { return JaxWsEndpointImplFactory.getSingleton(); } protected boolean allowWrapperOps() { return true; } /** * Create a new instance using a specific <tt>Bus</tt>. * * @param b the <tt>Bus</tt> to use in subsequent operations with the * instance * @return the new instance */ public static JaxWsDynamicClientFactory newInstance(Bus b) { return new JaxWsDynamicClientFactory(b); } /** * Create a new instance using a default <tt>Bus</tt>. * * @return the new instance */ public static JaxWsDynamicClientFactory newInstance() { Bus bus = CXFBusFactory.getThreadDefaultBus(); return new JaxWsDynamicClientFactory(bus); } /** * è¦åç¶ç±»çè¯¥æ¹æ³<br/> * 注ï¼è§£å³æ¤ï¼é误ï¼ç¼ç GBKçä¸å¯æ å°å符ï¼é®é¢ * * @return */ @Override protected boolean compileJavaSrc(String classPath, List<File> srcList, String dest) { org.apache.cxf.common.util.Compiler javaCompiler = new org.apache.cxf.common.util.Compiler(); // 设置ç¼è¯ç¼ç æ ¼å¼ï¼æ¤å¤ä¸ºæ°å¢ä»£ç ï¼ javaCompiler.setEncoding("UTF-8"); javaCompiler.setClassPath(classPath); javaCompiler.setOutputDir(dest); javaCompiler.setTarget("1.6"); return javaCompiler.compileFiles(srcList); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/XmlUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,110 @@ package org.jeecg.modules.mdc.util; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; import java.io.*; /** * @author Lius * @date 2024/6/12 10:31 */ public class XmlUtil { /** * å°å¯¹è±¡ç´æ¥è½¬æ¢æStringç±»åç XMLè¾åº * * @param obj * @return */ public static String convertToXml(Object obj) { // å建è¾åºæµ StringWriter sw = new StringWriter(); try { // å©ç¨jdkä¸èªå¸¦ç转æ¢ç±»å®ç° JAXBContext context = JAXBContext.newInstance(obj.getClass()); Marshaller marshaller = context.createMarshaller(); // æ ¼å¼åxmlè¾åºçæ ¼å¼ // marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // 廿çæxmlæ¶çé»è®¤æ¥æå¤´ marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); // å°å¯¹è±¡è½¬æ¢æè¾åºæµå½¢å¼çxml marshaller.marshal(obj, sw); } catch (JAXBException e) { e.printStackTrace(); } return sw.toString(); } /** * å°å¯¹è±¡æ ¹æ®è·¯å¾è½¬æ¢æxmlæä»¶ * * @param obj * @param path * @return */ public static void convertToXml(Object obj, String path) { try { // å©ç¨jdkä¸èªå¸¦ç转æ¢ç±»å®ç° JAXBContext context = JAXBContext.newInstance(obj.getClass()); Marshaller marshaller = context.createMarshaller(); // æ ¼å¼åxmlè¾åºçæ ¼å¼ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // å°å¯¹è±¡è½¬æ¢æè¾åºæµå½¢å¼çxml // å建è¾åºæµ FileWriter fw = null; try { fw = new FileWriter(path); } catch (IOException e) { e.printStackTrace(); } marshaller.marshal(obj, fw); } catch (JAXBException e) { e.printStackTrace(); } } @SuppressWarnings("unchecked") /** * å°Stringç±»åçxmlè½¬æ¢æå¯¹è±¡ */ public static Object convertXmlStrToObject(Class clazz, String xmlStr) { Object xmlObject = null; try { JAXBContext context = JAXBContext.newInstance(clazz); // è¿è¡å°Xml转æå¯¹è±¡çæ ¸å¿æ¥å£ Unmarshaller unmarshaller = context.createUnmarshaller(); StringReader sr = new StringReader(xmlStr); xmlObject = unmarshaller.unmarshal(sr); } catch (JAXBException e) { e.printStackTrace(); } return xmlObject; } @SuppressWarnings("unchecked") /** * å°fileç±»åçxmlè½¬æ¢æå¯¹è±¡ */ public static Object convertXmlFileToObject(Class clazz, String xmlPath) { Object xmlObject = null; try { JAXBContext context = JAXBContext.newInstance(clazz); Unmarshaller unmarshaller = context.createUnmarshaller(); FileReader fr = null; try { fr = new FileReader(xmlPath); } catch (FileNotFoundException e) { e.printStackTrace(); } xmlObject = unmarshaller.unmarshal(fr); } catch (JAXBException e) { e.printStackTrace(); } return xmlObject; } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatus.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,37 @@ package org.jeecg.modules.mdc.vo; import lombok.Data; import org.jeecg.modules.mdc.util.DateAdapter; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.Date; /** * @author Lius * @date 2024/6/11 10:44 */ @Data @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "equipment") public class WsEquipmentStatus { @XmlElement private String equipmentCode; @XmlElement private String equipmentName; @XmlElement private String equipmentStatus; @XmlElement @XmlJavaTypeAdapter(DateAdapter.class) private Date creationDate; @XmlElement private String mainDeptCode; } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentStatusList.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package org.jeecg.modules.mdc.vo; import lombok.Data; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import java.util.List; /** * @author Lius * @date 2024/6/13 10:00 */ @Data @XmlRootElement(name = "list") @XmlAccessorType(XmlAccessType.FIELD) public class WsEquipmentStatusList { @XmlElement(name = "equipment") private List<WsEquipmentStatus> list; } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ package org.jeecg.modules.mdc.vo; import lombok.Data; import org.jeecg.modules.mdc.util.DateAdapter; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.Date; /** * @author Lius * @date 2024/6/11 16:31 */ @Data @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "equipment") public class WsEquipmentUtilizationRate { @XmlElement private String equipmentCode; @XmlElement private String equipmentName; @XmlElement private String mainDeptCode; @XmlElement private String equipmentRate; @XmlElement private String equipmentRunTime; @XmlElement private String equipmentCalendar; @XmlElement private String statisType; @XmlElement @XmlJavaTypeAdapter(DateAdapter.class) private Date statisDate; } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/WsEquipmentUtilizationRateList.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,22 @@ package org.jeecg.modules.mdc.vo; import lombok.Data; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import java.util.List; /** * @author Lius * @date 2024/6/12 14:37 */ @Data @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement(name = "list") public class WsEquipmentUtilizationRateList { @XmlElement(name = "equipment") List<WsEquipmentUtilizationRate> list; } lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
@@ -1,5 +1,5 @@ server: port: 8080 port: 9999 tomcat: max-swallow-size: -1 error: @@ -132,21 +132,12 @@ connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: # url: jdbc:sqlserver://192.168.0.29:1433;databasename=LXZN_TEST_430 # url: jdbc:sqlserver://30036q420j.yicp.fun:11047;databasename=LXZN_TEST_430 # url: jdbc:sqlserver://localhost:1433;databasename=LXZN_TEST_430 # url: jdbc:sqlserver://192.168.0.118:1433;databasename=LXZN_TEST_430 url: jdbc:sqlserver://192.168.0.118:1433;databasename=EAM_430_TEST # url: jdbc:sqlserver://30036q420j.yicp.fun:11047;databasename=EAM_430_TEST # url: jdbc:sqlserver://192.168.124.118:1433;databasename=LXZN_TEST_430 url: jdbc:sqlserver://localhost:1433;databasename=LXZN_TEST_430 # url: jdbc:sqlserver://192.168.124.118:1433;databasename=EAM_430_TEST username: sa # password: LXZN@1688 password: 123 # password: 123456 driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver #url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai #username: root #password: root #driver-class-name: com.mysql.cj.jdbc.Driver # 夿°æ®æºé ç½® #multi-datasource1: # url: jdbc:sqlserver://192.168.0.118:1433;databasename=lxzn_test @@ -158,7 +149,7 @@ database: 0 host: 127.0.0.1 port: 6379 password: password: 123456 #mybatis plus 设置 mybatis-plus: mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml @@ -309,3 +300,8 @@ # appSecret client-secret: ?? agent-id: ?? webservice: url: http://localhost:8081/services/EquipmentService?wsdl namespace: http://service.server.webservice.example.com statusMethod: equipmentStatus rateMethod: equipmentRate lxzn-module-system/lxzn-system-start/src/main/resources/application-prod.yml
@@ -1,5 +1,5 @@ server: port: 9999 port: 6099 tomcat: max-swallow-size: -1 error: @@ -132,9 +132,9 @@ connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000 datasource: master: url: jdbc:sqlserver://166.0.1.10:1433;databasename=LXZN_TEST_430 url: jdbc:sqlserver://195.0.1.10:1433;databasename=SSGX_kns username: sa password: 123 password: Sa123456789 #password: 123 driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver #url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai @@ -187,9 +187,9 @@ app: http://localhost:8051 path: #æä»¶ä¸ä¼ æ ¹ç®å½ 设置 upload: /opt/upFiles upload: C://opt//upFiles #webappæä»¶è·¯å¾ webapp: /opt/webapp webapp: C://opt//upFiles shiro: excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**,/api/getUserInfo #é¿éäºossåå¨å大鱼çä¿¡ç§é¥é ç½® @@ -203,7 +203,7 @@ elasticsearch: cluster-name: jeecg-ES cluster-nodes: 127.0.0.1:9200 check-enabled: true check-enabled: false # å¨çº¿é¢è§æä»¶æå¡å¨å°åé ç½® file-view-domain: http://fileview.jeecg.com # minioæä»¶ä¸ä¼ @@ -302,4 +302,9 @@ client-id: ?? # appSecret client-secret: ?? agent-id: ?? agent-id: ?? webservice: url: http://localhost:8081/services/EquipmentService?wsdl namespace: http://service.server.webservice.example.com statusMethod: equipmentStatus rateMethod: equipmentRate 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>