diff --git a/youchain-logging/src/main/java/com/youchain/service/LogService.java b/youchain-logging/src/main/java/com/youchain/service/LogService.java index 8b3f27b..d10ba84 100644 --- a/youchain-logging/src/main/java/com/youchain/service/LogService.java +++ b/youchain-logging/src/main/java/com/youchain/service/LogService.java @@ -34,6 +34,7 @@ public interface LogService { /** * 分页查询 + * * @param criteria 查询条件 * @param pageable 分页参数 * @return / @@ -42,6 +43,7 @@ public interface LogService { /** * 查询全部数据 + * * @param criteria 查询条件 * @return / */ @@ -49,6 +51,7 @@ public interface LogService { /** * 查询用户日志 + * * @param criteria 查询条件 * @param pageable 分页参数 * @return - @@ -57,19 +60,25 @@ public interface LogService { /** * 保存日志数据 - * @param username 用户 - * @param browser 浏览器 - * @param ip 请求IP + * + * @param username 用户 + * @param browser 浏览器 + * @param ip 请求IP * @param joinPoint / - * @param log 日志实体 + * @param log 日志实体 */ @Async - void save(String url,String returnValue,String username, String browser, String ip, JoinPoint joinPoint, Log log); + void save(String url, String returnValue, String username, String browser, String ip, JoinPoint joinPoint, Log log); @Async void saveLog(Log log); + + @Async + void saveLogInfo(Object object, String url, String resultJson, String description, long time); + /** * 查询异常详情 + * * @param id 日志ID * @return Object */ @@ -77,7 +86,8 @@ public interface LogService { /** * 导出日志 - * @param logs 待导出的数据 + * + * @param logs 待导出的数据 * @param response / * @throws IOException / */ diff --git a/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java b/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java index 82a20d3..d09b3cf 100644 --- a/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java +++ b/youchain-logging/src/main/java/com/youchain/service/impl/LogServiceImpl.java @@ -19,6 +19,7 @@ import cn.hutool.core.lang.Dict; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSON; import com.youchain.domain.Log; import com.youchain.repository.LogRepository; import com.youchain.service.LogService; @@ -43,6 +44,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.lang.reflect.Method; import java.lang.reflect.Parameter; +import java.sql.Timestamp; import java.util.*; /** @@ -120,6 +122,25 @@ public class LogServiceImpl implements LogService { logRepository.save(log_data); } + @Override + @Transactional(rollbackFor = Exception.class) + public void saveLogInfo(Object object,String url, String resultJson, String description, long time) { + // 设置日志信息 + Log log_data = new Log(); + log_data.setDescription(description); + log_data.setLogType("INFO"); + log_data.setMethod(url); + log_data.setParams(JSON.toJSONString(object)); + log_data.setReturnData(resultJson); + log_data.setRequestIp("127.0.0.1"); + log_data.setTime(time); + log_data.setUsername("admin"); + log_data.setAddress("内网IP"); + log_data.setBrowser("Chrome 123"); + log_data.setCreateTime(new Timestamp(new Date().getTime())); + logRepository.save(log_data); + } + /** * 根据方法和传入的参数获取请求参数 */ diff --git a/youchain-logging/target/classes/com/youchain/service/LogService.class b/youchain-logging/target/classes/com/youchain/service/LogService.class index 46b4f69..2812d39 100644 Binary files a/youchain-logging/target/classes/com/youchain/service/LogService.class and b/youchain-logging/target/classes/com/youchain/service/LogService.class differ diff --git a/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class b/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class index ceb052f..2d0bd2b 100644 Binary files a/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class and b/youchain-logging/target/classes/com/youchain/service/impl/LogServiceImpl.class differ diff --git a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java index 5b4730e..3c1ebdc 100644 --- a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java +++ b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogErrorMapperImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-04-24T17:39:34+0800", + date = "2024-04-28T13:35:56+0800", comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)" ) @Component diff --git a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java index 720c971..b8aba1b 100644 --- a/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java +++ b/youchain-logging/target/generated-sources/annotations/com/youchain/service/mapstruct/LogSmallMapperImpl.java @@ -9,7 +9,7 @@ import org.springframework.stereotype.Component; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-04-24T17:39:34+0800", + date = "2024-04-28T13:35:56+0800", comments = "version: 1.4.2.Final, compiler: javac, environment: Java 1.8.0_202 (Oracle Corporation)" ) @Component diff --git a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoInfo.java b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoInfo.java index fe86680..5267e86 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoInfo.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoInfo.java @@ -17,13 +17,6 @@ public class MoInfo { @Schema(example = "WQ") String sourceSystem; - @ApiModelProperty(value = "当前页码") - @Schema(example = "1") - int pageNo; - - @ApiModelProperty(value = "每页记录数") - @Schema(example = "100") - int pageSize; @ApiModelProperty(value = "参数") MoParams params; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoParams.java b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoParams.java index 59659d4..113dfef 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoParams.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MoParams.java @@ -24,6 +24,17 @@ public class MoParams { @Schema(example = "2023-07-03 23:59:59") String endTime; + @ApiModelProperty(value = "检验结果") + String iqcResult; + + @ApiModelProperty(value = "当前页码") + @Schema(example = "1") + int pageNo; + + @ApiModelProperty(value = "每页记录数") + @Schema(example = "100") + int pageSize; + public MoParams() { } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java index 41e1edb..7fc0f65 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java @@ -112,32 +112,29 @@ public class KMReSController { /** * 回传MO信息 * - * @param orderNumber + * @param billCode */ - public void returnMo(String orderNumber) { - OrderDto orderDto = orderService.findByBarcodeNumber(orderNumber); + public void returnMo(String billCode) { + OrderDto orderDto = orderService.findByBarcodeNumber(billCode); if (orderDto == null) { - throw new RuntimeException("系统无此送货单号: " + orderNumber); + throw new RuntimeException("系统无此送货单号: " + billCode); } - double receivedQty = agvTaskService.queryOrderNumberSum(orderNumber); - if (receivedQty == orderDto.getReceivedQty()) { - List tasks = taskService.findByOrderNumber(orderNumber); + double receivedQty = agvTaskService.queryBillCodeSum(billCode); + if (receivedQty == orderDto.getDeliveryQty()) { + List tasks = taskService.findByBillCode(billCode); ReturnMoInfo returnMoInfo = getReturnMoInfo(tasks); long startTime = System.currentTimeMillis(); //调用接口 String resultJson = mlsService.returnMo(returnMoInfo); long endTime = System.currentTimeMillis(); long time = endTime - startTime; - - JSONObject resulObject = JSON.parseObject(resultJson); - if (resulObject == null) { - throw new RuntimeException("按MO票入库接口返回数据为空!"); - } - // 保存日志 - saveLogInfo(returnMoInfo, resultJson, "按MO票入库", time); + logService.saveLogInfo(returnMoInfo,UrlApi.publicApi, resultJson, "按MO票入库", time); + + + } } @@ -153,35 +150,16 @@ public class KMReSController { String resultJson = mlsService.returnIssue(returnIssueInfo); long endTime = System.currentTimeMillis(); long time = endTime - startTime; - JSONObject resulObject = JSON.parseObject(resultJson); - if (resulObject == null) { - throw new RuntimeException("叫料结果回传接口返回数据为空!"); - } // 保存日志 - saveLogInfo(returnIssueInfo, resultJson, "叫料结果回传", time); + logService.saveLogInfo(returnIssueInfo,UrlApi.publicApi, resultJson, "叫料结果回传", time); } - public void saveLogInfo(Object object, String resultJson, String description, long time) { - // 设置日志信息 - com.youchain.domain.Log newlogs = new com.youchain.domain.Log(); - newlogs.setDescription(description); - newlogs.setLogType("INFO"); - newlogs.setMethod(UrlApi.publicApi); - newlogs.setParams(JSON.toJSONString(object)); - newlogs.setReturnData(resultJson); - newlogs.setRequestIp("127.0.0.1"); - newlogs.setTime(time); - newlogs.setUsername("admin"); - newlogs.setAddress("内网IP"); - newlogs.setBrowser("Chrome 123"); - newlogs.setCreateTime(new Timestamp(new Date().getTime())); - logService.saveLog(newlogs); - } + public static ReturnMoInfo getReturnMoInfo(List tasks) { ReturnMoParams params = new ReturnMoParams(); - params.setOrgId(100059); + params.setOrgId(808); params.setInvCode("MA2111"); Set labelNos = new HashSet<>(); for (Task task : tasks) { diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java index a452107..3cc3097 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/AgvTaskService.java @@ -153,7 +153,7 @@ public interface AgvTaskService { List findById(List ids); - double queryOrderNumberSum(String orderNumber); + double queryBillCodeSum(String billCode); /** *根据组号+料箱号招找到对应的AGV diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java b/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java index a60e73f..34c3e4b 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/TaskService.java @@ -130,10 +130,10 @@ public interface TaskService { List findByLabelNo(String labelNo); /** - * 根据工单号号查询任务 - * @param orderNumber 条件参数 + * 根据送货单条码号查询任务 + * @param billCode 条件参数 * @return List */ - List findByOrderNumber(String orderNumber); + List findByBillCode(String billCode); } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java index 4f57e81..76c22fc 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AgvTaskServiceImpl.java @@ -535,10 +535,10 @@ public class AgvTaskServiceImpl implements AgvTaskService { @Override - public double queryOrderNumberSum(String orderNumber) { - String hql = "select sum(task.moveQty) from Task task where task.billCode= :orderNumber"; + public double queryBillCodeSum(String billCode) { + String hql = "select sum(task.moveQty) from Task task where task.billCode= :billCode"; Query query = entityMapper.createQuery(hql); - query.setParameter("orderNumber", orderNumber); + query.setParameter("billCode", billCode); List orderNumberSumList = query.getResultList(); if (orderNumberSumList.size() > 0) { return orderNumberSumList.get(0); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java index 5102098..6c8c9e5 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/MlsServiceImpl.java @@ -41,6 +41,7 @@ public class MlsServiceImpl implements MlsService { private final AgvTaskService agvTaskService; private final PickDetailService pickDetailService; private final InventoryService inventoryService; + private final RedisUtils redisUtils; /** @@ -209,7 +210,9 @@ public class MlsServiceImpl implements MlsService { * @param detail */ private Order updateOrder(Order order, JSONObject detail) { + order.setReceivedQty(detail.getDouble("receivedQty") == null ? 0 : detail.getDouble("receivedQty")); order.setDeliveryStatus(detail.getString("deliveryStatus")); + order.setMlsUpdateTime(detail.getString("updateTime") == null ? null : DateUtil.parse(detail.getString("updateTime")).toTimestamp()); return order; } @@ -280,32 +283,42 @@ public class MlsServiceImpl implements MlsService { //获取已存在的MO票 Map existingMos = moService.findBylabelNos(labelNos); + Dept dept = null; + boolean flag = redisUtils.hasKey("dept"); + if (flag) { + dept = (Dept) redisUtils.get("dept"); + } else { + DeptDto deptDto = deptService.findById(7L); + dept = deptService.toEntity(deptDto); + redisUtils.set("dept", dept, 0); + } + + //循环处理每个MO票 for (int i = 0; i < details.size(); i++) { JSONObject detail = details.getJSONObject(i); String labelState = detail.getString("labelState");//标签状态 - if ("PRINTED".equals(labelState)) { - //物料编码 - String itemCode = detail.getString("itemCode"); - Item item = null; - if (existingItems.containsKey(itemCode)) { - item = existingItems.get(itemCode); - } else { - //新增物料 - item = createItem(detail); - } + //物料编码 + String itemCode = detail.getString("itemCode").trim(); + Item item = null; + if (existingItems.containsKey(itemCode)) { + item = existingItems.get(itemCode); + } else { + //新增物料 + item = createItem(detail, dept); + existingItems.put(itemCode, item); + } - //MO票 - String labelNo = detail.getString("labelNo"); - //判断是否已存在MO票 - if (existingMos.containsKey(labelNo)) { - Mo existingMo = existingMos.get(labelNo); - //更新MO票信息 - mosToUpdate.add(updateMo(existingMo, detail)); - } else { - //新增MO票 - mosToCreate.add(createMo(detail, item)); - } + //MO票 + String labelNo = detail.getString("labelNo"); + //判断是否已存在MO票 + if (existingMos.containsKey(labelNo)) { + Mo existingMo = existingMos.get(labelNo); + //更新MO票信息 + mosToUpdate.add(updateMo(existingMo, detail)); + } else { + //新增MO票 + mosToCreate.add(createMo(detail, item)); } } @@ -326,7 +339,7 @@ public class MlsServiceImpl implements MlsService { * @param detail * @return */ - private Item createItem(JSONObject detail) { + private Item createItem(JSONObject detail, Dept dept) { String itemCode = detail.getString("itemCode");//物料编码 String itemDesc = detail.getString("itemDesc");//物料描述 @@ -334,8 +347,9 @@ public class MlsServiceImpl implements MlsService { String sourceSystem = detail.getString("sourceSystem");//来源系统 Long itemId = detail.getLong("itemId");//物料id + //创建 - Item Item = new Item(itemCode, itemDesc, uom, UserUtils.getDept(), sourceSystem, itemId); + Item Item = new Item(itemCode, itemDesc, uom, dept, sourceSystem, itemId); itemService.create(Item); return Item; } @@ -381,8 +395,7 @@ public class MlsServiceImpl implements MlsService { } private Mo updateMo(Mo mo, JSONObject detail) { - mo.setCheckResult(detail.getString("checkResult")); - mo.setDeleteFlag(Boolean.parseBoolean(detail.getString("deleteFlag"))); + mo.setLabelState(detail.getString("labelState")); mo.setMlsUpdateTime(detail.getString("updateTime") == null ? null : DateUtil.parse(detail.getString("updateTime")).toTimestamp()); mo.setUpdateUserCode(detail.getString("updateUserCode")); return mo; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java index 3191672..e54de7f 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/TaskServiceImpl.java @@ -267,10 +267,10 @@ public class TaskServiceImpl implements TaskService { } @Override - public List findByOrderNumber(String orderNumber) { - String hql = "from Task t where t.itemKey.orderNumber = :orderNumber"; + public List findByBillCode(String billCode) { + String hql = "from Task t where t.billCode = :billCode"; Query query = entityMapper.createQuery(hql); - query.setParameter("orderNumber", orderNumber); // 工单号 + query.setParameter("billCode", billCode); // 工单号 List tasks = query.getResultList(); return tasks; } diff --git a/youchain-system/src/main/java/com/youchain/modules/quartz/task/moTask.java b/youchain-system/src/main/java/com/youchain/modules/quartz/task/moTask.java index 9a063b3..4b7ae65 100644 --- a/youchain-system/src/main/java/com/youchain/modules/quartz/task/moTask.java +++ b/youchain-system/src/main/java/com/youchain/modules/quartz/task/moTask.java @@ -4,6 +4,8 @@ import com.youchain.businessdata.inputJson.MoInfo; import com.youchain.businessdata.inputJson.MoParams; import com.youchain.businessdata.rest.MlsController; import com.youchain.businessdata.service.MlsService; +import com.youchain.service.LogService; +import com.youchain.utils.UrlApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,10 +24,17 @@ public class moTask { @Autowired public MlsService mlsService; + @Autowired + public LogService logService; + public void moTask() { + long startTime = System.currentTimeMillis(); MoInfo moInfo = getMoInfo(); - String moJson = mlsService.getMoJson(moInfo); - mlsService.getMoInfo(moJson); + String resultJson = mlsService.getMoJson(moInfo); + mlsService.getMoInfo(resultJson); + long time = System.currentTimeMillis() - startTime; + // 保存日志 + logService.saveLogInfo(moInfo, UrlApi.publicApi, resultJson, "获取MO票信息", time); } public MoInfo getMoInfo() { @@ -36,12 +45,16 @@ public class moTask { invCodes.add("MA2111"); params.setInvCodes(invCodes); //DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss") - params.setStartTime("2024-04-11 00:00:00"); - params.setEndTime("2024-04-11 23:59:59"); + params.setIqcResult(""); + params.setStartTime("2024-04-28 00:00:00"); + params.setEndTime("2024-04-28 23:59:59"); + params.setPageNo(1); + params.setPageSize(100); MoInfo moInfo = new MoInfo(); moInfo.setIfaceCode("MLS-WQ-003"); moInfo.setSourceSystem("WQ"); moInfo.setParams(params); + return moInfo; } } diff --git a/youchain-system/src/main/java/com/youchain/modules/quartz/task/orderTask.java b/youchain-system/src/main/java/com/youchain/modules/quartz/task/orderTask.java index 9fa3235..80f03c0 100644 --- a/youchain-system/src/main/java/com/youchain/modules/quartz/task/orderTask.java +++ b/youchain-system/src/main/java/com/youchain/modules/quartz/task/orderTask.java @@ -9,6 +9,8 @@ import com.youchain.businessdata.inputJson.ReturnIssueInfo; import com.youchain.businessdata.inputJson.ReturnIssueInfoParams; import com.youchain.businessdata.rest.MlsController; import com.youchain.businessdata.service.MlsService; +import com.youchain.service.LogService; +import com.youchain.utils.UrlApi; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; @@ -34,11 +36,18 @@ public class orderTask { @Autowired public MlsService mlsService; + @Autowired + public LogService logService; + public void orderTask() { + long startTime = System.currentTimeMillis(); OrderInfo orderInfo = getOrderInfo(); - String orderJson = mlsService.getOrderJson(orderInfo); - mlsService.getOrderInfo(orderJson); + String resultJson = mlsService.getOrderJson(orderInfo); + mlsService.getOrderInfo(resultJson); + long time = System.currentTimeMillis() - startTime; + // 保存日志 + logService.saveLogInfo(orderInfo, UrlApi.publicApi, resultJson, "获取送货单信息", time); } @@ -51,8 +60,8 @@ public class orderTask { params.setInvCodes(invCodes); params.setIqcResult(""); //DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss") - params.setStartTime("2024-04-10 00:00:00"); - params.setEndTime("2024-04-10 23:59:59"); + params.setStartTime("2024-04-27 00:00:00"); + params.setEndTime("2024-04-27 23:59:59"); params.setPageNo(1); params.setPageSize(100); OrderInfo orderInfo = new OrderInfo(); diff --git a/youchain-system/src/main/java/com/youchain/utils/UrlApi.java b/youchain-system/src/main/java/com/youchain/utils/UrlApi.java index 60a8725..b459eba 100644 --- a/youchain-system/src/main/java/com/youchain/utils/UrlApi.java +++ b/youchain-system/src/main/java/com/youchain/utils/UrlApi.java @@ -38,7 +38,9 @@ public class UrlApi { /** * MLS接口 + * https://apiuat.midea.com/mls/mlsapi/public/publicApi + * https://apisit.midea.com/mls/mlsapi/public/publicApi */ - public static String publicApi="https://apiuat.midea.com/mls/mlsapi/public/publicApi"; + public static String publicApi="https://apisit.midea.com/mls/mlsapi/public/publicApi"; }