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