From f585234d5d501e57b03804a90a20905290dc5013 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 26 Jun 2023 19:15:05 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trace/TraceOrderController.java | 33 ++++++++++++++++++- .../trace/TraceRecordController.java | 7 +++- .../api/req/trace/TraceManuOrderRequest.java | 2 ++ .../req/trace/TraceOrderUploadRequest.java | 4 +-- .../api/res/trace/TraceManuOrderResponse.java | 2 ++ .../api/res/trace/TraceOrderResponse.java | 7 ++++ .../api/res/trace/TraceSearchReponse.java | 2 +- .../api/service/trace/RabbitPushService.java | 6 ++-- .../service/trace/TraceManuOrderService.java | 1 - .../api/service/trace/UdiTraceService.java | 10 +++--- src/main/resources/application-dev.yml | 4 +-- .../mapper/trace/TraceManuOrderMapper.xml | 17 +++------- 12 files changed, 68 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/trace/TraceOrderController.java b/src/main/java/com/glxp/api/controller/trace/TraceOrderController.java index d2e5f09..d98b370 100644 --- a/src/main/java/com/glxp/api/controller/trace/TraceOrderController.java +++ b/src/main/java/com/glxp/api/controller/trace/TraceOrderController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.trace; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; @@ -9,7 +10,9 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.sup.UserCompanyEntity; import com.glxp.api.entity.trace.TraceOrderEntity; +import com.glxp.api.entity.trace.TraceProductDetailEntity; import com.glxp.api.entity.trace.TraceTaskNoticeEntity; import com.glxp.api.req.trace.TraceOrderDetailRequest; import com.glxp.api.req.trace.TraceOrderRequest; @@ -18,8 +21,11 @@ import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.trace.TraceOrderResponse; import com.glxp.api.res.trace.TraceRecordResponse; +import com.glxp.api.service.sup.UserCompanyService; import com.glxp.api.service.trace.TraceOrderService; +import com.glxp.api.service.trace.TraceProductDetailService; import com.glxp.api.service.trace.TraceTaskNoticeService; +import com.glxp.api.service.trace.UdiTraceService; import com.glxp.api.util.udi.FilterUdiUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -80,6 +86,12 @@ public class TraceOrderController extends BaseController { @Resource TraceTaskNoticeService traceTaskNoticeService; + @Resource + UserCompanyService userCompanyService; + @Resource + UdiTraceService udiTraceService; + @Resource + TraceProductDetailService traceProductDetailService; //客户端单据信息上传接口 @ApiOperation(value = "客户端单据信息上传接口", response = BaseResponse.class) @@ -100,7 +112,26 @@ public class TraceOrderController extends BaseController { taskNoticeEntity.setStatus(3); taskNoticeEntity.setUpdateTime(new Date()); traceTaskNoticeService.updateById(taskNoticeEntity); - System.out.println("成功"); + + +// 推送下一家企业 + UserCompanyEntity userCompanyEntity = userCompanyService.getById(traceOrderEntity.getCompanyIdFk()); + if (StrUtil.isNotEmpty(traceOrderEntity.getToCorpCreditNum()) && + !traceOrderEntity.getToCorpCreditNum().equals(userCompanyEntity.getCreditNum())) { + UserCompanyEntity toUserCompanyEntity = userCompanyService.getOne(new QueryWrapper().eq("creditNum", traceOrderEntity.getToCorpCreditNum()), false); + TraceTaskNoticeEntity nextNotity = traceTaskNoticeService.findTask(2, traceOrderEntity.getTraceProductIdFk(), toUserCompanyEntity.getId()); + if (nextNotity == null) { + TraceProductDetailEntity traceProductDetailEntity = traceProductDetailService.getById(traceOrderEntity.getTraceProductIdFk()); + nextNotity = udiTraceService.createTraceNotice(2, traceProductDetailEntity, toUserCompanyEntity.getId()); + udiTraceService.pushDelayExpireTask(nextNotity); + udiTraceService.pushMq(nextNotity, toUserCompanyEntity.getId()); + } else if (nextNotity.getStatus() == 4) { + //任务超时未处理,重新推送消息 + udiTraceService.pushMq(nextNotity, toUserCompanyEntity.getId()); + } + } + + return ResultVOUtils.success("成功"); } diff --git a/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java b/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java index e0d97fe..bbf0f42 100644 --- a/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java +++ b/src/main/java/com/glxp/api/controller/trace/TraceRecordController.java @@ -13,9 +13,11 @@ import com.glxp.api.controller.BaseController; import com.glxp.api.entity.trace.TraceManuOrderEntity; import com.glxp.api.entity.trace.TraceOrderEntity; import com.glxp.api.entity.trace.TraceRecordLogEntity; +import com.glxp.api.req.trace.TraceManuOrderRequest; import com.glxp.api.req.trace.TraceOrderDetailRequest; import com.glxp.api.req.trace.TraceRecordRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.trace.TraceManuOrderResponse; import com.glxp.api.res.trace.TraceOrderResponse; import com.glxp.api.res.trace.TraceRecordResponse; import com.glxp.api.res.trace.TraceSearchReponse; @@ -78,7 +80,10 @@ public class TraceRecordController extends BaseController { TraceOrderDetailRequest traceOrderDetailRequest = new TraceOrderDetailRequest(); traceOrderDetailRequest.setTraceProductIdFk(traceRecordLogEntity.getTraceProductIdFk()); List traceOrderEntities = traceOrderService.filterJoin(traceOrderDetailRequest); - List traceManuOrderEntities = traceManuOrderService.list(new QueryWrapper().eq("traceProductIdFk", traceRecordLogEntity.getTraceProductIdFk())); + + TraceManuOrderRequest traceManuOrderRequest = new TraceManuOrderRequest(); + traceManuOrderRequest.setTraceProductIdFk(traceRecordLogEntity.getTraceProductIdFk()); + List traceManuOrderEntities = traceManuOrderService.filterTraces(traceManuOrderRequest); TraceSearchReponse traceSearchReponse = new TraceSearchReponse(); traceSearchReponse.setTraceOrderEntities(traceOrderEntities); traceSearchReponse.setTraceManuOrderEntities(traceManuOrderEntities); diff --git a/src/main/java/com/glxp/api/req/trace/TraceManuOrderRequest.java b/src/main/java/com/glxp/api/req/trace/TraceManuOrderRequest.java index 0be3f6a..1581a23 100644 --- a/src/main/java/com/glxp/api/req/trace/TraceManuOrderRequest.java +++ b/src/main/java/com/glxp/api/req/trace/TraceManuOrderRequest.java @@ -102,4 +102,6 @@ public class TraceManuOrderRequest extends ListPageRequest { */ @ApiModelProperty(value = "所属企业") private String companyName; + + private Long traceProductIdFk; } diff --git a/src/main/java/com/glxp/api/req/trace/TraceOrderUploadRequest.java b/src/main/java/com/glxp/api/req/trace/TraceOrderUploadRequest.java index 07a2275..bb5d798 100644 --- a/src/main/java/com/glxp/api/req/trace/TraceOrderUploadRequest.java +++ b/src/main/java/com/glxp/api/req/trace/TraceOrderUploadRequest.java @@ -130,6 +130,6 @@ public class TraceOrderUploadRequest { */ @ApiModelProperty(value = "查询记录号外键") private String recordCode; - - + @ApiModelProperty(value = "患者信息") + private String toUserInfo; } diff --git a/src/main/java/com/glxp/api/res/trace/TraceManuOrderResponse.java b/src/main/java/com/glxp/api/res/trace/TraceManuOrderResponse.java index e172531..a68c770 100644 --- a/src/main/java/com/glxp/api/res/trace/TraceManuOrderResponse.java +++ b/src/main/java/com/glxp/api/res/trace/TraceManuOrderResponse.java @@ -129,4 +129,6 @@ public class TraceManuOrderResponse { */ @ApiModelProperty(value = "备注") private String remark; + + private Long traceProductIdFk; } diff --git a/src/main/java/com/glxp/api/res/trace/TraceOrderResponse.java b/src/main/java/com/glxp/api/res/trace/TraceOrderResponse.java index c798a84..9d581e0 100644 --- a/src/main/java/com/glxp/api/res/trace/TraceOrderResponse.java +++ b/src/main/java/com/glxp/api/res/trace/TraceOrderResponse.java @@ -1,5 +1,6 @@ package com.glxp.api.res.trace; +import cn.hutool.core.util.StrUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -170,4 +171,10 @@ public class TraceOrderResponse { private String zczbhhzbapzbh; @ApiModelProperty(value = "查询记录号") private String recordCode; + + public String getToCorp() { + if (StrUtil.isEmpty(toCorp)) + return toUserInfo; + return toCorp; + } } diff --git a/src/main/java/com/glxp/api/res/trace/TraceSearchReponse.java b/src/main/java/com/glxp/api/res/trace/TraceSearchReponse.java index 84e9c33..e59907e 100644 --- a/src/main/java/com/glxp/api/res/trace/TraceSearchReponse.java +++ b/src/main/java/com/glxp/api/res/trace/TraceSearchReponse.java @@ -18,6 +18,6 @@ public class TraceSearchReponse { @ApiModelProperty(value = "追溯查询出入库单结果") List traceOrderEntities; @ApiModelProperty(value = "追溯查询生产订单结果") - List traceManuOrderEntities; + List traceManuOrderEntities; } diff --git a/src/main/java/com/glxp/api/service/trace/RabbitPushService.java b/src/main/java/com/glxp/api/service/trace/RabbitPushService.java index 134d7a8..78cb971 100644 --- a/src/main/java/com/glxp/api/service/trace/RabbitPushService.java +++ b/src/main/java/com/glxp/api/service/trace/RabbitPushService.java @@ -39,7 +39,9 @@ public class RabbitPushService { Channel channel = rabbitTemplate.getConnectionFactory().createConnection().createChannel(true); String queueName = "fanout_" + mqTraceMessage.getCompanyId() + ""; rabbitQueueService.createQueue(queueName); - rabbitTemplate.convertAndSend(FANOUT_EXCHANGE, null, JsonUtils.toJsonString(mqTraceMessage)); + String msg = JsonUtils.toJsonString(mqTraceMessage); + log.info(msg); + rabbitTemplate.convertAndSend(FANOUT_EXCHANGE, null, msg); } @@ -56,7 +58,7 @@ public class RabbitPushService { public BaseResponse sendDeleyTask(MqTaskDelayMessage mqTaskDelayMessage, Integer delayTime) { rabbitTemplate.convertAndSend(TopicRabbitConfig.TRACE_DELAY_EXCHANGE, TopicRabbitConfig.delaytrace, mqTaskDelayMessage, message -> { MessageProperties messageProperties = message.getMessageProperties(); - messageProperties.setDelay(delayTime * 60); + messageProperties.setDelay(delayTime * 1); return message; }); return ResultVOUtils.success("发送成功"); diff --git a/src/main/java/com/glxp/api/service/trace/TraceManuOrderService.java b/src/main/java/com/glxp/api/service/trace/TraceManuOrderService.java index 7594c60..293f925 100644 --- a/src/main/java/com/glxp/api/service/trace/TraceManuOrderService.java +++ b/src/main/java/com/glxp/api/service/trace/TraceManuOrderService.java @@ -28,7 +28,6 @@ public class TraceManuOrderService extends ServiceImpl certNums = toCorpCreditNums.stream().distinct().collect(Collectors.toList()); for (String certNum : certNums) { - UserCompanyEntity userCompanyEntity = userCompanyService.getOne(new QueryWrapper().eq("creditNum", certNum)); - TraceTaskNoticeEntity taskNoticeEntity = traceTaskNoticeService.findTask(1, traceProductDetailEntity.getId(), userCompanyEntity.getId()); + UserCompanyEntity userCompanyEntity = userCompanyService.getOne(new QueryWrapper().eq("creditNum", certNum.trim())); + TraceTaskNoticeEntity taskNoticeEntity = traceTaskNoticeService.findTask(2, traceProductDetailEntity.getId(), userCompanyEntity.getId()); if (taskNoticeEntity == null) { - taskNoticeEntity = createTraceNotice(1, traceProductDetailEntity, companyId); + taskNoticeEntity = createTraceNotice(2, traceProductDetailEntity, userCompanyEntity.getId()); pushDelayExpireTask(taskNoticeEntity); - pushMq(taskNoticeEntity, companyId); + pushMq(taskNoticeEntity, userCompanyEntity.getId()); } else if (taskNoticeEntity.getStatus() == 4) { //任务超时未处理,重新推送消息 - pushMq(taskNoticeEntity, companyId); + pushMq(taskNoticeEntity, userCompanyEntity.getId()); } } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 36de819..8b65c9e 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_cpt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_cpt?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 20 diff --git a/src/main/resources/mybatis/mapper/trace/TraceManuOrderMapper.xml b/src/main/resources/mybatis/mapper/trace/TraceManuOrderMapper.xml index e62753c..5203d47 100644 --- a/src/main/resources/mybatis/mapper/trace/TraceManuOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/trace/TraceManuOrderMapper.xml @@ -1,21 +1,11 @@ - -