From 5dc8a9f9aba3310fd21cad9509635bb7ec2f007f Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 12 十二月 2024 13:29:06 +0800
Subject: [PATCH] Generating...

---
 src/main/java/com/zy/asrs/service/ReportDataLogService.java          |   11 +
 src/main/java/com/zy/asrs/service/ReportDataService.java             |   12 +
 src/main/java/com/zy/asrs/entity/ReportData.java                     |   44 +++++
 src/main/resources/mapper/ReportDataMapper.xml                       |    6 
 src/main/java/com/zy/asrs/mapper/ReportDataMapper.java               |   13 +
 src/main/java/com/zy/asrs/entity/ReportDataLog.java                  |   45 +++++
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java        |  105 ++++++------
 src/main/java/com/zy/asrs/mapper/ReportDataLogMapper.java            |   13 +
 src/main/resources/application-loc.yml                               |    2 
 src/main/java/com/zy/asrs/service/impl/ReportDataLogServiceImpl.java |   16 ++
 src/main/java/com/zy/asrs/task/ReportDataScheduler.java              |  164 ++++++++++++++++++++
 src/main/java/com/zy/asrs/service/impl/ReportDataServiceImpl.java    |   18 ++
 src/main/resources/application.yml                                   |    2 
 src/main/resources/mapper/ReportDataLogMapper.xml                    |    6 
 14 files changed, 405 insertions(+), 52 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/ReportData.java b/src/main/java/com/zy/asrs/entity/ReportData.java
new file mode 100644
index 0000000..46a5839
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ReportData.java
@@ -0,0 +1,44 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("api_report_data")
+public class ReportData implements Serializable {
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    @TableField("report_id")
+    private String reportId;
+
+    @TableField("report_json")
+    private String reportJson;
+
+    @TableField("report_type")
+    private String reportType;
+
+    @TableField("work_no")
+    private Long workNo;
+
+    @TableField("three_code")
+    private String threeCode;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("memo")
+    private String memo;
+
+    @TableField("report_time")
+    private Date reportTime;
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ReportDataLog.java b/src/main/java/com/zy/asrs/entity/ReportDataLog.java
new file mode 100644
index 0000000..2f29234
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ReportDataLog.java
@@ -0,0 +1,45 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("api_report_data")
+public class ReportDataLog implements Serializable {
+
+    @TableId(value = "log_id", type = IdType.AUTO)
+    private Long logId;
+
+    @TableField("report_data_id")
+    private Long reportDataId;
+
+    @TableField("report_id")
+    private String reportId;
+
+    @TableField("report_json")
+    private String reportJson;
+
+    @TableField("report_type")
+    private String reportType;
+
+    @TableField("work_no")
+    private Long workNo;
+
+    @TableField("three_code")
+    private String threeCode;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("memo")
+    private String memo;
+
+    @TableField("report_time")
+    private Date reportTime;
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ReportDataLogMapper.java b/src/main/java/com/zy/asrs/mapper/ReportDataLogMapper.java
new file mode 100644
index 0000000..27f661a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/ReportDataLogMapper.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.ReportDataLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ReportDataLogMapper extends BaseMapper<ReportDataLog> {
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/ReportDataMapper.java b/src/main/java/com/zy/asrs/mapper/ReportDataMapper.java
new file mode 100644
index 0000000..547e121
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/ReportDataMapper.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.Tag;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface ReportDataMapper extends BaseMapper<ReportData> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ReportDataLogService.java b/src/main/java/com/zy/asrs/service/ReportDataLogService.java
new file mode 100644
index 0000000..06095ba
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/ReportDataLogService.java
@@ -0,0 +1,11 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.ReportDataLog;
+
+public interface ReportDataLogService extends IService<ReportDataLog> {
+
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/ReportDataService.java b/src/main/java/com/zy/asrs/service/ReportDataService.java
new file mode 100644
index 0000000..29cf0ce
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/ReportDataService.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.ReportData;
+
+public interface ReportDataService extends IService<ReportData> {
+
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportDataLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportDataLogServiceImpl.java
new file mode 100644
index 0000000..2662d8a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/ReportDataLogServiceImpl.java
@@ -0,0 +1,16 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.ReportDataLog;
+import com.zy.asrs.mapper.ReportDataLogMapper;
+import com.zy.asrs.mapper.ReportDataMapper;
+import com.zy.asrs.service.ReportDataLogService;
+import com.zy.asrs.service.ReportDataService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ReportDataLogServiceImpl extends ServiceImpl<ReportDataLogMapper, ReportDataLog> implements ReportDataLogService {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/ReportDataServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/ReportDataServiceImpl.java
new file mode 100644
index 0000000..0be8a07
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/ReportDataServiceImpl.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.Tag;
+import com.zy.asrs.mapper.ReportDataMapper;
+import com.zy.asrs.mapper.TagMapper;
+import com.zy.asrs.service.ReportDataService;
+import com.zy.asrs.service.TagService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ReportDataServiceImpl extends ServiceImpl<ReportDataMapper, ReportData> implements ReportDataService {
+
+
+}
diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
new file mode 100644
index 0000000..1a850fa
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java
@@ -0,0 +1,164 @@
+package com.zy.asrs.task;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.ReportData;
+import com.zy.asrs.entity.ReportDataLog;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.service.ReportDataLogService;
+import com.zy.asrs.service.ReportDataService;
+import com.zy.common.utils.HttpHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Component
+public class ReportDataScheduler {
+
+    private static final Logger log = LoggerFactory.getLogger(ReportDataScheduler.class);
+
+    @Autowired
+    private ReportDataService reportDataService;
+
+    @Autowired
+    private ReportDataLogService reportDataLogService;
+
+
+    @Autowired
+    private ApiLogService apiLogService;
+
+
+    @Value("${mes.appKey}")
+    private String appKey;
+
+
+    @Value("${mes.appSecret}")
+    private String appSecret;
+
+    @Value("${mes.report}")
+    private Boolean flag;
+
+    @Value("${mes.url}")
+    private String url;
+
+    @Value("${mes.getTokenUrl}")
+    private String getTokenUrl;
+
+    @Value("${mes.orderReportPath}")
+    private String orderReportPath;
+
+    @Value("${mes.pakinReportPath}")
+    private String pakinReportPath;
+
+    @Value("${mes.buyPakinReportPath}")
+    private String buyPakinReportPath;
+
+    @Value("${mes.pakoutReportPath}")
+    private String pakoutReportPath;
+
+    @Value("${mes.getTokenPath}")
+    private String getTokenPath;
+
+
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void execute() {
+        log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�");
+        if (!flag) {
+            return;
+        }
+        Map<String, Object> mesTokenInfo = getMesTokenInfo();
+        List<ReportData> reportData = reportDataService.selectList(new EntityWrapper<>());
+        for (ReportData data : reportData) {
+            process(data, mesTokenInfo);
+        }
+        log.info("瀹氭椂浠诲姟缁撴潫鎵ц");
+    }
+
+    @Transactional
+    public void process(ReportData data, Map<String, Object> mesTokenInfo) {
+        String mesPath = "";
+        if ("MES".equals(data.getReportType())) {
+            switch (data.getMemo()) {
+                case "涓婃姤mes閲囪喘鍏ュ簱淇℃伅":
+                    mesPath = buyPakinReportPath;
+                    break;
+                case "涓婃姤mes鍏ュ簱淇℃伅":
+                    mesPath = pakinReportPath;
+                    break;
+                case "涓婃姤mes鍑哄簱淇℃伅":
+                    mesPath = pakoutReportPath;
+                    break;
+                case "涓婃姤mes璋冩嫧淇℃伅":
+                    mesPath = orderReportPath;
+                    break;
+            }
+            doHttpRequest(data.getReportJson(), mesTokenInfo, data.getMemo(), url, mesPath, null, "127.0.0.1");
+            reportDataService.deleteById(data.getId());
+            ReportDataLog reportDataLog = new ReportDataLog();
+            BeanUtil.copyProperties(data, reportDataLog);
+            reportDataLog.setReportTime(new Date());
+            reportDataLog.setReportDataId(data.getId());
+            reportDataLogService.insert(reportDataLog);
+        }
+
+
+    }
+
+    //鑾峰彇mes token淇℃伅
+    private Map<String, Object> getMesTokenInfo() {
+        Map<String, String> param = new HashMap<>();
+        param.put("appKey", appKey);
+        param.put("appSecret", appSecret);
+
+        JSONObject jsonObject = doHttpRequest(JSON.toJSONString(param), null, "鑾峰彇MesToken", getTokenUrl, getTokenPath, null, "127.0.0.1");
+
+        Map<String, Object> headParam = new HashMap<>();
+        headParam.put("X-AUTH", JSON.parseObject(jsonObject.get("data").toString()).get("appAccessToken").toString());
+
+        return headParam;
+
+    }
+
+    private JSONObject doHttpRequest(String requestParam, Map<String, Object> headParam, String namespace, String url, String path, String appkey, String ip) {
+        String response = "";
+        boolean success = false;
+
+        try {
+            response = new HttpHandler.Builder().setUri(url).setPath(path).setTimeout(30, TimeUnit.SECONDS).setHeaders(headParam).setJson(requestParam).setHttps(true).build().doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+
+            if (Cools.isEmpty(jsonObject.get("code")) || Integer.parseInt(jsonObject.get("code").toString()) != 200) {
+                log.info("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細" + jsonObject);
+                //TODO 寮犺秴
+                throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject);
+            }
+            success = true;
+            return jsonObject;
+
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new CoolException(e.getMessage());
+        } finally {
+            apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
+        }
+
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 0723b72..bf9592c 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -15,7 +15,6 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.task.AbstractHandler;
 import com.zy.asrs.task.core.ReturnT;
-import com.zy.common.utils.HttpHandler;
 import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +24,6 @@
 
 import java.io.IOException;
 import java.util.*;
-import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 @Slf4j
@@ -113,6 +111,10 @@
     private SnowflakeIdWorker snowflakeIdWorker;
     @Autowired
     private FlowLogService flowLogService;
+
+    @Autowired
+    private ReportDataService reportDataService;
+
 
     @Transactional
     public ReturnT<String> completedPutWayWrk(AgvWrkMast agvWrkMast) {
@@ -700,9 +702,7 @@
     }
 
     private void reportMes(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls) {
-        if (!flag) {
-            return;
-        }
+
         if (Cools.isEmpty(agvWrkDetls)) {
             return;
         }
@@ -714,16 +714,13 @@
                 reportMesPakinOrder(agvWrkMast, agvWrkDetls);
             }
         }
-        try {
-            if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
-                reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
-            }
-            if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
-                generateMesParam(agvWrkMast, agvWrkDetls);
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
+        if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
+            reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
         }
+        if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
+            generateMesParam(agvWrkMast, agvWrkDetls);
+        }
+
 
     }
 
@@ -846,17 +843,17 @@
 
     //鑾峰彇mes token淇℃伅
     private Map<String, Object> getMesTokenInfo() {
-        Map<String, String> param = new HashMap<>();
-        param.put("appKey", appKey);
-        param.put("appSecret", appSecret);
+//        Map<String, String> param = new HashMap<>();
+//        param.put("appKey", appKey);
+//        param.put("appSecret", appSecret);
+//
+//        JSONObject jsonObject = doHttpRequest(param, null, "鑾峰彇MesToken", getTokenUrl, getTokenPath, null, "127.0.0.1");
+//
+//        Map<String, Object> headParam = new HashMap<>();
+//        headParam.put("X-AUTH", JSON.parseObject(jsonObject.get("data").toString()).get("appAccessToken").toString());
 
-        JSONObject jsonObject = doHttpRequest(param, null, "鑾峰彇MesToken", getTokenUrl, getTokenPath, null, "127.0.0.1");
-
-        Map<String, Object> headParam = new HashMap<>();
-        headParam.put("X-AUTH", JSON.parseObject(jsonObject.get("data").toString()).get("appAccessToken").toString());
-
-        return headParam;
-
+        //       return headParam;
+        return null;
     }
 
     //鏍规嵁妤煎眰榛樿鍑哄簱浠撲綅
@@ -877,37 +874,45 @@
         return null;
     }
 
-    private JSONObject doHttpRequest(Object requestParam, Map<String, Object> headParam, String namespace, String url, String path, String appkey, String ip) {
+    private void doHttpRequest(Object requestParam, Map<String, Object> headParam, String namespace, String url, String path, String appkey, String ip) {
+        //淇濊瘉涓婃姤琛�
+        ReportData reportData = new ReportData();
+        reportData.setReportJson(JSONObject.toJSONString(requestParam));
+        reportData.setMemo(namespace);
+        reportData.setCreateTime(new Date());
+        reportData.setReportType("MES");
+        reportDataService.insert(reportData);
 
-        String response = "";
-        boolean success = false;
 
-        try {
-            response = new HttpHandler.Builder().setUri(url).setPath(path).setTimeout(30, TimeUnit.SECONDS).setHeaders(headParam).setJson(JSONObject.toJSONString(requestParam)).setHttps(true).build().doPost();
-            JSONObject jsonObject = JSON.parseObject(response);
-
-            if (Cools.isEmpty(jsonObject.get("code")) || Integer.parseInt(jsonObject.get("code").toString()) != 200) {
-                log.info("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細" + jsonObject);
-                //TODO 寮犺秴
-                throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject);
-            }
-            success = true;
-            return jsonObject;
-
-//            String succeed = jsonObject.get("succeed").toString();
+//        String response = "";
+//        boolean success = false;
 //
-//            int code = Cools.eq("0",succeed) ? 0 : 1;
-//            if(code != 200){
-//                throw new CoolException(jsonObject.get("dsc").toString());
+//        try {
+//            response = new HttpHandler.Builder().setUri(url).setPath(path).setTimeout(30, TimeUnit.SECONDS).setHeaders(headParam).setJson(JSONObject.toJSONString(requestParam)).setHttps(true).build().doPost();
+//            JSONObject jsonObject = JSON.parseObject(response);
+//
+//            if (Cools.isEmpty(jsonObject.get("code")) || Integer.parseInt(jsonObject.get("code").toString()) != 200) {
+//                log.info("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭細" + jsonObject);
+//                //TODO 寮犺秴
+//                throw new CoolException("mes鎺ュ彛璋冪敤澶辫触锛岃繑鍥炰俊鎭�:" + jsonObject);
 //            }
 //            success = true;
-
-        } catch (Exception e) {
-            log.error(e.getMessage());
-            throw new CoolException(e.getMessage());
-        } finally {
-            apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
-        }
+//            return jsonObject;
+//
+////            String succeed = jsonObject.get("succeed").toString();
+////
+////            int code = Cools.eq("0",succeed) ? 0 : 1;
+////            if(code != 200){
+////                throw new CoolException(jsonObject.get("dsc").toString());
+////            }
+////            success = true;
+//
+//        } catch (Exception e) {
+//            log.error(e.getMessage());
+//            throw new CoolException(e.getMessage());
+//        } finally {
+//            apiLogService.save(namespace, url + path, appkey, ip, JSON.toJSONString(JSONObject.toJSONString(requestParam)), response, success);
+//        }
 
     }
 
diff --git a/src/main/resources/application-loc.yml b/src/main/resources/application-loc.yml
index c568312..78a126a 100644
--- a/src/main/resources/application-loc.yml
+++ b/src/main/resources/application-loc.yml
@@ -94,7 +94,7 @@
 #  url: http://39.184.149.30:8877
 #  orderReportPath: /DBMS/U8/CM/add
 mes:
-  report: false
+  report: true
   url: https://v3-ali.blacklake.cn/api/openapi/domain/web/v1/route
   orderReportPath: /inventory/open/v2/transfer_order/ordinary/_execute
   pakinReportPath: /inventory/open/v2/inbound_order/execute/_inbound
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f2026f2..22524fb 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,4 +1,4 @@
 spring:
   profiles:
     #dev loc prod
-    active: prod
\ No newline at end of file
+    active: loc
\ No newline at end of file
diff --git a/src/main/resources/mapper/ReportDataLogMapper.xml b/src/main/resources/mapper/ReportDataLogMapper.xml
new file mode 100644
index 0000000..2899b36
--- /dev/null
+++ b/src/main/resources/mapper/ReportDataLogMapper.xml
@@ -0,0 +1,6 @@
+<?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="com.zy.asrs.mapper.ReportDataLogMapper">
+
+
+</mapper>
diff --git a/src/main/resources/mapper/ReportDataMapper.xml b/src/main/resources/mapper/ReportDataMapper.xml
new file mode 100644
index 0000000..b83b413
--- /dev/null
+++ b/src/main/resources/mapper/ReportDataMapper.xml
@@ -0,0 +1,6 @@
+<?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="com.zy.asrs.mapper.ReportDataMapper">
+
+
+</mapper>

--
Gitblit v1.9.1