From 21357f1d42f995e11e99a12a5f225fe6442b9ad1 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期三, 08 一月 2025 13:05:09 +0800 Subject: [PATCH] 优化定时任务及日志输出,调整订单同步逻辑 --- src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java | 4 +- src/main/java/com/zy/asrs/controller/OpenController.java | 40 ++++++++++++++++++-- src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 6 ++- src/main/java/com/zy/asrs/task/AgvWarnScheduler.java | 2 src/main/java/com/zy/asrs/task/ReportDataScheduler.java | 2 - src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 11 ++--- 6 files changed, 48 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index d930b2e..12294d2 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,15 +1,19 @@ package com.zy.asrs.controller; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.AppAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.zy.asrs.entity.ApiLog; import com.zy.asrs.entity.param.CheckParam; import com.zy.asrs.entity.param.MatSyncParam; import com.zy.asrs.entity.param.OrderProdSyncParam; import com.zy.asrs.entity.param.OrderSyncParam; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.OpenService; import com.zy.common.utils.Synchro; import com.zy.common.web.BaseController; @@ -18,7 +22,9 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -38,6 +44,11 @@ @Autowired private OpenService openService; + + + @Autowired + private ApiLogService apiLogService; + /** * 搴撳瓨缁熻 @@ -69,7 +80,7 @@ private void auth(String appkey, Object obj, HttpServletRequest request) { - log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); + //log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); request.setAttribute("cache", obj); if (!auth) { return; @@ -107,7 +118,7 @@ public synchronized R orderPakin(@RequestHeader(required = false) String appkey, @RequestBody Map<String, Object> map, HttpServletRequest request) { - log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map)); + //log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map)); OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class); auth(appkey, param, request); if (Cools.isEmpty(param)) { @@ -184,7 +195,7 @@ @AppAuth(memo = "鍚屾宸ュ崟鍗曟嵁") public synchronized R orderPakout(@RequestHeader(required = false) String appkey, @RequestBody Map<String, Object> map) { - log.info("鍚屾宸ュ崟鍗曟嵁,{}", JSON.toJSONString(map)); + //log.info("鍚屾宸ュ崟鍗曟嵁,{}", JSON.toJSONString(map)); OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class); auth(appkey, param, request); if (Cools.isEmpty(param)) { @@ -256,7 +267,7 @@ public synchronized R orderPakin2(@RequestHeader(required = false) String appkey, @RequestBody Map<String, Object> map, HttpServletRequest request) { - log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map)); + //log.info("鐢熸垚鍏ュ簱鍗曟嵁,{}", JSON.toJSONString(map)); OrderProdSyncParam param = JSON.parseObject(JSON.toJSONString(map), OrderProdSyncParam.class); auth(appkey, param, request); if (Cools.isEmpty(param)) { @@ -465,4 +476,25 @@ //return orderSyncParam; } + +// @PostMapping("/order/add") +// public R re(@RequestHeader(required = false) String appkey, +// HttpServletRequest request) throws IOException { +// List<ApiLog> apiLogs = apiLogService.selectList(new EntityWrapper<ApiLog>().eq("url", "/phyzwms/open/asrs/order/pakin/default/v1").eq("response", "{\"msg\":\"鏈嶅姟鍣ㄩ敊璇痋",\"code\":500}").ge("create_time", "2025-01-06 00:00:00")); +// for (ApiLog apiLog : apiLogs) { +// Map<String, Object> param = new HashMap<>(); +// ObjectMapper mapper = new ObjectMapper(); +// if (!Cools.isEmpty(apiLog.getRequest())) { +// param = mapper.readValue(apiLog.getRequest(), Map.class); +// try { +// orderPakin(appkey, param, request); +// } catch (Exception e) { +// +// } +// } +// } +// return R.ok(); +// +// } + } diff --git a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java index 18cb689..b815fa0 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvLocDetlServiceImpl.java @@ -56,10 +56,10 @@ long flowId = snowflakeIdWorker.nextId(); agvWrkDetls.stream().map(agvWrkDetl -> { AgvLocDetl agvLocDetl = new AgvLocDetl(); - log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); + //log.info("agvWrkDetl: " + agvLocDetl.getBarcode()); BeanUtils.copyProperties(agvWrkDetl, agvLocDetl); agvLocDetl.setLocNo(locNo); - log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl)); + //log.info("zc娣诲姞搴撳瓨鏃ュ織:{}", JSON.toJSON(agvLocDetl)); this.insert(agvLocDetl); // 娴佹按 -- 鏂板璁㈠崟鏄庣粏 OrderDetl orderDetl = orderDetlService.selectItem(agvWrkDetl.getOrderNo(), agvWrkDetl.getMatnr(), agvWrkDetl.getBatch(), agvWrkDetl.getThreeCode()); diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 6044ed0..daac737 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,5 +1,6 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.BaseRes; import com.core.common.Cools; @@ -24,9 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -886,11 +885,11 @@ } Date now = new Date(); Order order = orderMapping(param, now, pakin, docName); - StringBuffer tel = new StringBuffer(); + Set<String> set = new HashSet<>(); for (OrderSyncParam.OrderDetl child : param.getChildren()) { - tel.append(child.getCDefine22()).append(";"); + set.add(child.getCDefine22()); } - order.setTel(tel.toString()); + order.setTel(JSON.toJSONString(set)); orderService.insert(order); param.getChildren().forEach(od -> { OrderDetl orderDetl = orderDetlMapping(order, od, now); diff --git a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java index c242ad2..3dbc5f2 100644 --- a/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java +++ b/src/main/java/com/zy/asrs/task/AgvWarnScheduler.java @@ -69,7 +69,7 @@ for (AgvWarn agvWarn : agvWarnList) { Integer warnTime = getWarnTime(agvWarn.getTimes(), first.getValue(), second.getValue(), third.getValue()); DateTime begin = DateUtil.parse(agvWarn.getBeginTime(), "yyyy-MM-dd HH:mm:ss"); - if (DateUtil.offsetMinute(begin, warnTime).before(new Date())) { + if (DateUtil.offsetMinute(new Date(), -warnTime).after(begin)) { buffer = new StringBuffer(); buffer.append(processRegion(agvs, agvWarn.getRobotCode()) + "[" + agvWarn.getRobotCode() + "]鍙稟GV灏忚溅鎶ヨ浜哱n"); buffer.append("鎶ヨ绫诲瀷锛�" + agvWarn.getWarnContent() + "\n"); diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index f579f89..363bd55 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java @@ -50,7 +50,7 @@ } //@Scheduled(cron = "0/5 * * * * ? ") - @Scheduled(fixedDelay = 5000) + @Scheduled(fixedDelay = 600000) //@Async("orderThreadPool") public void completeAndReport() { String erpReport = Parameter.get().getErpReport(); @@ -102,7 +102,9 @@ public void completeOrder() { List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2).isNotNull("plt_type")); orderList.forEach(order -> { - orderService.checkComplete(order.getOrderNo(), order.getPltType()); + if (order.getPltType() != null) { + orderService.checkComplete(order.getOrderNo(), order.getPltType()); + } }); } diff --git a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java index 84cd5cb..a7e968c 100644 --- a/src/main/java/com/zy/asrs/task/ReportDataScheduler.java +++ b/src/main/java/com/zy/asrs/task/ReportDataScheduler.java @@ -62,7 +62,6 @@ @Scheduled(fixedDelay = 30000) public void execute() { - log.info("瀹氭椂浠诲姟寮�濮嬫墽琛�"); if (!flag) { return; } @@ -78,7 +77,6 @@ } } } - log.info("瀹氭椂浠诲姟缁撴潫鎵ц"); } //鑾峰彇mes token淇℃伅 -- Gitblit v1.9.1