From 9d5c29c34d1d9ab255470d78b10b98f20ad30de5 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Wed, 21 Feb 2024 10:06:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9C=E5=B1=B1=E5=BE=80=E6=9D=A5=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E5=AF=B9=E7=85=A7=E5=BA=93=E6=88=BF=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/dsxyy/DsxyyClient.java | 48 ++++++++++++++++++- .../mipsdl/entity/thrsys/ThrCorpEntity.java | 4 +- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/glxp/mipsdl/client/dsxyy/DsxyyClient.java b/src/main/java/com/glxp/mipsdl/client/dsxyy/DsxyyClient.java index 4ec5aa3..7e14a41 100644 --- a/src/main/java/com/glxp/mipsdl/client/dsxyy/DsxyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/dsxyy/DsxyyClient.java @@ -1,10 +1,12 @@ package com.glxp.mipsdl.client.dsxyy; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSONObject; +import com.alibaba.fastjson2.TypeReference; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -45,6 +47,8 @@ import com.glxp.mipsdl.req.post.PostThrCorpRequest; import com.glxp.mipsdl.req.post.PostThrInvProductsRequest; import com.glxp.mipsdl.req.post.PostThrProductsRequest; import com.glxp.mipsdl.res.BaseResponse; +import com.glxp.mipsdl.res.PageSimpleResponse; +import com.glxp.mipsdl.res.udiwms.ThrProductsResponse; import com.glxp.mipsdl.service.auth.AuthWarehouseService; import com.glxp.mipsdl.service.order.OrderUploadLogService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; @@ -57,6 +61,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -109,6 +114,8 @@ public class DsxyyClient extends CommonHttpClient { private OrderUploadLogService orderUploadLogService; @Resource private ThrOrderUploadBustypesMapper thrOrderUploadBustypesMapper; + @Resource + ThrCorpDao thrCorpDao; @Override public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) { @@ -124,7 +131,23 @@ public class DsxyyClient extends CommonHttpClient { DsProductRequest dsProductRequest = new DsProductRequest(); BeanUtil.copyProperties(udiwmsProductRequest, dsProductRequest); String response = httpClient.postJson(thrSystemDetailService.getUrl(Constants.URL_NAME_PI_QUERY_URL), dsProductRequest); - BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + + BaseResponse> baseResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + // 过滤西药库产品 + if (CollUtil.isNotEmpty(baseResponse.getData().getList())) { + Iterator iterator = baseResponse.getData().getList().iterator(); + while (iterator.hasNext()) { + ThrProductsResponse item = iterator.next(); + if (item.getRemark() != null && item.getRemark().contains("西药库")) { + iterator.remove(); + baseResponse.getData().setTotal(-555l); + } + } + } +// BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); return baseResponse; } @@ -210,6 +233,16 @@ public class DsxyyClient extends CommonHttpClient { if (basicCorpEntity != null) { dsOrderRequest.setCorpId(basicCorpEntity.getThirdId()); dsOrderRequest.setCorpName(basicCorpEntity.getName()); + List thrCorpEntities = thrCorpDao.selectList(new QueryWrapper().eq("name", basicCorpEntity.getThirdName())); + if (CollUtil.isNotEmpty(thrCorpEntities)) { + for (ThrCorpEntity temp : thrCorpEntities) { + if (StrUtil.isNotEmpty(temp.getKfdm()) && temp.getKfdm().equals(udiwmsOrderRequest.getLocInvCode())) { + udiwmsOrderRequest.setCorpId(temp.getUnitId()); //往来单位编码,需转换为第三方系统的ID + udiwmsOrderRequest.setCorpName(temp.getName()); //往来单位名称,需转换为第三方系统的名称 + } + } + } + } else { AuthWarehouseEntity warehouseEntity = authWarehouseDao.selectOne(new QueryWrapper().eq("code", udiwmsOrderRequest.getCorpId())); try { @@ -234,12 +267,25 @@ public class DsxyyClient extends CommonHttpClient { if (null != basicCorpEntity) { dsOrderRequest.setCorpId(basicCorpEntity.getThirdId()); dsOrderRequest.setCorpName(basicCorpEntity.getName()); + + List thrCorpEntities = thrCorpDao.selectList(new QueryWrapper().eq("name", basicCorpEntity.getThirdName())); + if (CollUtil.isNotEmpty(thrCorpEntities)) { + for (ThrCorpEntity temp : thrCorpEntities) { + if (StrUtil.isNotEmpty(temp.getKfdm()) && temp.getKfdm().equals(udiwmsOrderRequest.getLocInvCode())) { + udiwmsOrderRequest.setCorpId(temp.getUnitId()); //往来单位编码,需转换为第三方系统的ID + udiwmsOrderRequest.setCorpName(temp.getName()); //往来单位名称,需转换为第三方系统的名称 + } + } + } + } else { String msg = "查询单据对应的第三方往来单位信息异常"; orderUploadLogService.updateLocalErr(orderEntity, msg); log.error("----单据提交-----" + orderEntity.getBillNo() + msg); return ResultVOUtils.error(500, msg); } + + } // //查询仓库信息 diff --git a/src/main/java/com/glxp/mipsdl/entity/thrsys/ThrCorpEntity.java b/src/main/java/com/glxp/mipsdl/entity/thrsys/ThrCorpEntity.java index 069c827..32f1b74 100644 --- a/src/main/java/com/glxp/mipsdl/entity/thrsys/ThrCorpEntity.java +++ b/src/main/java/com/glxp/mipsdl/entity/thrsys/ThrCorpEntity.java @@ -68,5 +68,7 @@ public class ThrCorpEntity { */ @TableField(value = "remark") private String remark; + @TableField(value = "kfdm") + private String kfdm; -} \ No newline at end of file +}