From fb207328390c560baac11e49fc3a9efd0d73e246 Mon Sep 17 00:00:00 2001 From: yewj Date: Fri, 6 Dec 2024 17:06:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=95=BF=E6=B3=B0=E4=B8=8A=E4=BC=A0=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../collect/IoCollectOrderBackupService.java | 135 +++++++++--------- 1 file changed, 71 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java index 9ce87f83b..be9ee5fc4 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java @@ -42,6 +42,8 @@ import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.*; +import lombok.extern.slf4j.Slf4j; +import org.jfree.util.Log; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; @@ -52,6 +54,7 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +@Slf4j @Service public class IoCollectOrderBackupService extends ServiceImpl { @@ -247,71 +250,9 @@ public class IoCollectOrderBackupService extends ServiceImpl collectOrderBizResponses = combieOrderDetail(collectOrderBizRequest); - collectOrder.setCollectOrderBizResponseList(collectOrderBizResponses); - List list = ioCollectCodeBackService.list(new LambdaQueryWrapper().eq(IoCollectCodeBackup::getBillNo, collectOrder.getBillNo())); - collectOrder.setCodeList(list); - List collectOrderList = new ArrayList<>(); - collectOrderList.add(collectOrder); - orderRequest.setCollectOrderList(collectOrderList); - // 判断此单据 有没有码已经上传过了一个有上传就进行错误返回 - String paramValue = systemParamConfigService.selectValueByParamKey("checkCodeUploading"); - if (StrUtil.isNotEmpty(paramValue) && paramValue.equals("0")) { - List codeList = new ArrayList<>(); - for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponses) { - String[] codes = collectOrderBizResponse.getFinishUdiCode().split(","); - // 遍历fruits数组 - for (String code : codes) { - if (StrUtil.isNotBlank(code)) { - List relCodeDetailList = relCodeDetailService.getAllNext(code); - if (relCodeDetailList != null && relCodeDetailList.size() > 0) { - for (RelCodeDetail relCodeDetail : relCodeDetailList) { - codeList.add(relCodeDetail.getCurCode()); - } - - } - - } - - } - } - BaseResponse baseResponseCheckCode = erpBasicClient.collectOrderCheckCodeUploading(codeList); - if (baseResponseCheckCode.getCode() == 20000) { - List listCheckCode = baseResponseCheckCode.getData(); - if (listCheckCode == null || listCheckCode.size() > 0) { - log.error("单据的所有码有已经传输过医保的,请核实"); - throw new JsonException("此单据的所有码有已经传输过医保的,请核实" + baseResponseCheckCode.getMessage()); - } - } else { - throw new JsonException("查询码关联关系服务出错," + baseResponseCheckCode.getMessage()); - } - } - // 医保上传 - BaseResponse baseResponse = erpBasicClient.postOrder(orderRequest); - log.debug("单据返回=========" + baseResponse); - if (baseResponse.getCode() == 20000) { - // 触发上传 转发至中继服务 到外网 再到国家同步库 - ThreadUtil.execAsync(() -> { - BaseResponse stringBaseResponse = new BaseResponse<>(); - try { - stringBaseResponse = erpBasicClient.collectOrderUpload(orderRequest); - } catch (Exception e) { - throw new JsonException("触发上传 转发至中继服务 到外网 再到国家同步库 接口服务出错:" + stringBaseResponse.getMessage()); - } - }); - - } else { - throw new JsonException("连接第三方系统接口服务出错," + baseResponse.getMessage()); - } - } + + uploadThrid(collectOrder); // //插入处方备份表 // IoCollectOrderBackup ioCollectOrderBackup = new IoCollectOrderBackup(); // BeanUtils.copyProperties(collectOrder, ioCollectOrderBackup); @@ -330,6 +271,72 @@ public class IoCollectOrderBackupService extends ServiceImpl collectOrderBizResponses = combieOrderDetail(collectOrderBizRequest); + collectOrder.setCollectOrderBizResponseList(collectOrderBizResponses); + List list = ioCollectCodeBackService.list(new LambdaQueryWrapper().eq(IoCollectCodeBackup::getBillNo, collectOrder.getBillNo())); + collectOrder.setCodeList(list); + List collectOrderList = new ArrayList<>(); + collectOrderList.add(collectOrder); + orderRequest.setCollectOrderList(collectOrderList); + // 判断此单据 有没有码已经上传过了一个有上传就进行错误返回 + String paramValue = systemParamConfigService.selectValueByParamKey("checkCodeUploading"); + if (StrUtil.isNotEmpty(paramValue) && paramValue.equals("0")) { + List codeList = new ArrayList<>(); + for (CollectOrderBizResponse collectOrderBizResponse : collectOrderBizResponses) { + String[] codes = collectOrderBizResponse.getFinishUdiCode().split(","); + // 遍历fruits数组 + for (String code : codes) { + if (StrUtil.isNotBlank(code)) { + List relCodeDetailList = relCodeDetailService.getAllNext(code); + if (relCodeDetailList != null && relCodeDetailList.size() > 0) { + for (RelCodeDetail relCodeDetail : relCodeDetailList) { + codeList.add(relCodeDetail.getCurCode()); + } + } + } + } + } + BaseResponse baseResponseCheckCode = erpBasicClient.collectOrderCheckCodeUploading(codeList); + if (baseResponseCheckCode.getCode() == 20000) { + List listCheckCode = baseResponseCheckCode.getData(); + if (listCheckCode == null || listCheckCode.size() > 0) { + log.error("单据的所有码有已经传输过医保的,请核实"); + throw new JsonException("此单据的所有码有已经传输过医保的,请核实" + baseResponseCheckCode.getMessage()); + } + } else { + throw new JsonException("查询码关联关系服务出错," + baseResponseCheckCode.getMessage()); + } + } + // 医保上传 + BaseResponse baseResponse = erpBasicClient.postOrder(orderRequest); + log.debug("单据返回=========" + baseResponse); + if (baseResponse.getCode() == 20000) { + // 触发上传 转发至中继服务 到外网 再到国家同步库 + ThreadUtil.execAsync(() -> { + BaseResponse stringBaseResponse = new BaseResponse<>(); + try { + stringBaseResponse = erpBasicClient.collectOrderUpload(orderRequest); + } catch (Exception e) { + throw new JsonException("触发上传 转发至中继服务 到外网 再到国家同步库 接口服务出错:" + stringBaseResponse.getMessage()); + } + }); + } + if (baseResponse.getCode() == 520) { + Log.error("上传失败," + baseResponse.getMessage()); + } else { + throw new JsonException("连接第三方系统接口服务出错," + baseResponse.getMessage()); + } + + } + + @Resource UdiRlSupService udiRlSupService;