From 3b2decedde042efe481330a20981a374efdf5978 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期二, 18 六月 2024 10:39:33 +0800
Subject: [PATCH] 提交

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/WebServiceUtilizationRateJob.java |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

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..fbe5528
--- /dev/null
+++ b/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);
+    }
+}

--
Gitblit v1.9.3