From 1f34327049f21ae2eb8d4be9fa3200f3d244a470 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sun, 4 Feb 2024 14:24:45 +0800 Subject: [PATCH] =?UTF-8?q?1.=E9=95=BF=E6=B3=B0=E5=8C=BA=E5=8C=BB=E9=99=A2?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BE=9B=E5=BA=94=E5=95=86=E5=AD=97=E5=85=B8?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=EF=BC=8C=E7=94=9F=E4=BA=A7=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=EF=BC=8C=E7=94=9F=E4=BA=A7=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=EF=BC=9B=202.=E8=AF=8F=E5=AE=89=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E5=AE=A1=E6=A0=B8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../glxp/mipsdl/client/BaseHttpClient.java | 17 +++++ .../glxp/mipsdl/client/CommonHttpClient.java | 12 +++ .../glxp/mipsdl/client/ctqyy/CtqyyClient.java | 66 +++++++++++++--- .../glxp/mipsdl/client/zaxyy/ZaxyyClient.java | 5 +- .../mipsdl/controller/UdiWmsController.java | 24 ++++++ .../mipsdl/entity/basic/BasicCorpEntity.java | 4 +- .../mipsdl/req/base/UdiwmsAddManuRequest.java | 38 ++++++++++ .../mipsdl/req/base/UdiwmsAddUnitRequest.java | 3 + .../mipsdl/req/base/UdiwmsManuRequest.java | 39 ++++++++++ .../mipsdl/req/base/UdiwmsUnitRequest.java | 6 ++ .../glxp/mipsdl/res/ctqyy/CtBaseResponse.java | 4 + .../java/com/glxp/mipsdl/util/CustomUtil.java | 76 +++++++++++++++++++ 12 files changed, 279 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddManuRequest.java create mode 100644 src/main/java/com/glxp/mipsdl/req/base/UdiwmsManuRequest.java create mode 100644 src/main/java/com/glxp/mipsdl/util/CustomUtil.java diff --git a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java index d291ec5..51b8e64 100644 --- a/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/BaseHttpClient.java @@ -23,6 +23,15 @@ public interface BaseHttpClient { */ BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest); + + /** + * 获取生产企业 + * + * @param udiwmsManuRequest + * @return + */ + BaseResponse getManu(UdiwmsManuRequest udiwmsManuRequest); + /** * 获取耗材字典列表 * @@ -115,6 +124,14 @@ public interface BaseHttpClient { */ BaseResponse submitUnit(UdiwmsAddUnitRequest udiwmsAddUnitRequest); + + /** + * 新增生产企业信息 + * + * @return + */ + BaseResponse submitManu(UdiwmsAddManuRequest udiwmsAddManuRequest); + /** * 提交预入库单据 * diff --git a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java index 13c2656..b96c238 100644 --- a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java @@ -92,6 +92,11 @@ public abstract class CommonHttpClient implements BaseHttpClient { return baseResponse; } + @Override + public BaseResponse getManu(UdiwmsManuRequest udiwmsManuRequest) { + return null; + } + @Override public BaseResponse getProducts(UdiwmsProductRequest udiwmsProductRequest) { String response = httpClient.postJson(thrSystemDetailService.getUrl(Constants.URL_NAME_PI_QUERY_URL), udiwmsProductRequest); @@ -181,6 +186,13 @@ public abstract class CommonHttpClient implements BaseHttpClient { return null; } + + @Override + public BaseResponse submitManu(UdiwmsAddManuRequest udiwmsAddManuRequest) { + return null; + } + + @Override public BaseResponse submitPreInOrders(UdiwmsPreInOrderRequest udiwmsPreInOrderRequest) { return null; diff --git a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java index c941583..c83d2ce 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -57,10 +57,7 @@ import com.glxp.mipsdl.service.order.OrderUploadLogService; import com.glxp.mipsdl.service.system.SysParamConfigService; import com.glxp.mipsdl.service.thrsys.ThrCorpService; import com.glxp.mipsdl.service.thrsys.ThrSystemDetailService; -import com.glxp.mipsdl.util.DateUtil; -import com.glxp.mipsdl.util.IntUtil; -import com.glxp.mipsdl.util.ResultVOUtils; -import com.glxp.mipsdl.util.SubmitOrderUtil; +import com.glxp.mipsdl.util.*; import lombok.extern.slf4j.Slf4j; import org.dom4j.Document; import org.dom4j.DocumentException; @@ -158,6 +155,7 @@ public class CtqyyClient extends CommonHttpClient { @Override public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) { CtqyyRequest ctqyyRequest = new CtqyyRequest(); + udiwmsUnitRequest.setUnitType("1"); ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialUnit")); ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsUnitRequest)); String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URL_NAME_CORP_URL), ctqyyRequest); @@ -166,12 +164,32 @@ public class CtqyyClient extends CommonHttpClient { BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); return baseResponse; } catch (Exception e) { - log.error("解析漳州中医院智业接口返回往来单位字典数据异常,返回结果:{}", response); + log.error("解析长泰区医院智业接口返回往来单位字典数据异常,返回结果:{}", response); log.error("异常信息:{}", e); return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); } } + + @Override + public BaseResponse getManu(UdiwmsManuRequest udiwmsManuRequest) { + CtqyyRequest ctqyyRequest = new CtqyyRequest(); + ctqyyRequest.setMsgHeader(getMsgHeader("getMaterialUnit")); + udiwmsManuRequest.setUnitType("2"); + ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsManuRequest)); + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URL_NAME_CORP_URL), ctqyyRequest); + response = parserResult(response); + try { + BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); + return baseResponse; + } catch (Exception e) { + log.error("解析长泰区医院智业接口返回生产企业字典数据异常,返回结果:{}", response); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); + } + } + + @Override public BaseResponse getProducts(UdiwmsProductRequest udiwmsProductRequest) { CtqyyRequest ctqyyRequest = new CtqyyRequest(); @@ -200,7 +218,7 @@ public class CtqyyClient extends CommonHttpClient { baseResponse.setData(map); return baseResponse; } catch (Exception e) { - log.error("解析漳州中医院智业接口返回产品信息字典数据异常,返回结果:{}", response); + log.error("解析长泰区医院智业接口返回产品信息字典数据异常,返回结果:{}", response); log.error("异常信息:{}", e); return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); } @@ -217,7 +235,7 @@ public class CtqyyClient extends CommonHttpClient { BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); return baseResponse; } catch (Exception e) { - log.error("解析漳州中医院智业接口返回单据类型数据异常,返回结果:{}", response); + log.error("解析长泰区医院智业接口返回单据类型数据异常,返回结果:{}", response); log.error("异常信息:{}", e); return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); } @@ -726,7 +744,37 @@ public class CtqyyClient extends CommonHttpClient { @Override public BaseResponse submitUnit(UdiwmsAddUnitRequest udiwmsAddUnitRequest) { - return null; + + + CtqyyRequest ctqyyRequest = new CtqyyRequest(); + ctqyyRequest.setMsgHeader(getMsgHeader("addSupplierDict")); + ctqyyRequest.setMsgBody(JSONUtil.toJsonStr(udiwmsAddUnitRequest)); + String response = httpClient.postJson(thrSystemDetailService.getUrlExclude(Constants.URL_NAME_PRODUCT_SUBMIT_URL), ctqyyRequest); + response = parserResult(response); + try { + log.error("提交往来单位/生产厂家:" + ctqyyRequest.getMsgBody()); + CtBaseResponse baseResponse = JSONObject.parseObject(response, CtBaseResponse.class); + if (baseResponse.getCode() != 20000) { + String errMsg = "提交往来单位/生产厂家,异常:{}" + response; + log.error(errMsg); + return ResultVOUtils.error(500, "提交往来单位/生产厂家失败!"); + } else { + BasicCorpEntity basicCorpEntity = new BasicCorpEntity(); + basicCorpEntity.setErpId(CustomUtil.getUnitId()); + basicCorpEntity.setName(udiwmsAddUnitRequest.getSupplierName()); + basicCorpEntity.setCorpType(2); + basicCorpEntity.setThirdId(baseResponse.getSupplierCode()); + basicCorpDao.insert(basicCorpEntity); + log.error("提交往来单位/生产厂家,成功:{}", response); + return ResultVOUtils.success(baseResponse.getMaterialNo()); + } + } catch (Exception e) { + String errMsg = "提交往来单位/生产厂家,异常:{}" + response; + log.error(errMsg); + log.error("异常信息:{}", e); + return ResultVOUtils.error(500, errMsg); + + } } @Override @@ -892,7 +940,7 @@ public class CtqyyClient extends CommonHttpClient { BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class); return baseResponse; } catch (Exception e) { - log.error("解析漳州中医院智业接口提交单据返回数据异常,返回结果:{}", response); + log.error("解析长泰区医院智业接口提交单据返回数据异常,返回结果:{}", response); log.error("异常信息:{}", e); return ResultVOUtils.error(500, "网络错误,或远程服务器异常无法返回正确结果(" + response + ")"); } diff --git a/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java b/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java index 304af4d..50c39de 100644 --- a/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/zaxyy/ZaxyyClient.java @@ -405,10 +405,7 @@ public class ZaxyyClient extends CommonHttpClient { public String getUserName(IoOrderEntity orderEntity) { AuthUserEntity authUserEntity = null; //创建人非供应商 - if (StrUtil.isNotEmpty(orderEntity.getCheckUser())) { - authUserEntity = authUserDao.selectById(orderEntity.getCheckUser()); - - } else if (StrUtil.isNotEmpty(orderEntity.getReviewUser())) { + if (StrUtil.isNotEmpty(orderEntity.getReviewUser())) { authUserEntity = authUserDao.selectById(orderEntity.getReviewUser()); } else if (StrUtil.isNotEmpty(orderEntity.getCreateUser()) && orderEntity.getCreateUser().length() != 14) { authUserEntity = authUserDao.selectById(orderEntity.getCreateUser()); diff --git a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java index 8f0a8ca..f7547e5 100644 --- a/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java +++ b/src/main/java/com/glxp/mipsdl/controller/UdiWmsController.java @@ -39,6 +39,18 @@ public class UdiWmsController { return ClientProcessor.getHttpClient().getUnit(udiwmsUnitRequest); } + /** + * 获取第三方系统生产企业接口 + * + * @param udiwmsManuRequest + * @return + */ + @PostMapping("/udiwms/erp/getManus") + public BaseResponse getManus(@RequestBody UdiwmsManuRequest udiwmsManuRequest) { + return ClientProcessor.getHttpClient().getManu(udiwmsManuRequest); + } + + /** * 获取第三方系统产品信息接口 * @@ -140,6 +152,18 @@ public class UdiWmsController { } + /** + * 添加第三方系统生产企业 + * + * @param udiwmsAddManuRequest + * @return + */ + @PostMapping("/udiwms/erp/post/manu") + public BaseResponse postManu(@RequestBody UdiwmsAddManuRequest udiwmsAddManuRequest) { + return ClientProcessor.getHttpClient().submitManu(udiwmsAddManuRequest); + } + + /** * 获取患者信息 * diff --git a/src/main/java/com/glxp/mipsdl/entity/basic/BasicCorpEntity.java b/src/main/java/com/glxp/mipsdl/entity/basic/BasicCorpEntity.java index 4a4180a..d809cc3 100644 --- a/src/main/java/com/glxp/mipsdl/entity/basic/BasicCorpEntity.java +++ b/src/main/java/com/glxp/mipsdl/entity/basic/BasicCorpEntity.java @@ -103,7 +103,7 @@ public class BasicCorpEntity { private String thirdName4; /** - * 往来单位类型:1.客户,2:供应商,3:内部科室,4.特殊往来 + * 往来单位类型:1.客户,2:供应商,3:内部科室,4.特殊往来;5.生产厂家 */ @TableField(value = "corpType") private Integer corpType; @@ -143,4 +143,4 @@ public class BasicCorpEntity { */ @TableField(value = "remark") private String remark; -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddManuRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddManuRequest.java new file mode 100644 index 0000000..35bf79d --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddManuRequest.java @@ -0,0 +1,38 @@ +package com.glxp.mipsdl.req.base; + +import lombok.Data; + +@Data +public class UdiwmsAddManuRequest { + + /** + * 往来单位ID + */ + private String unitId; + + /** + * 往来单位名称 + */ + private String name; + + /** + * 地址 + */ + private String addr; + + /** + * 社会信用号 + */ + private String creditNo; + + /** + * 联系人 + */ + private String contact; + + /** + * 联系电话 + */ + private String mobile; + +} diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddUnitRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddUnitRequest.java index 78865e7..9abb72f 100644 --- a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddUnitRequest.java +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsAddUnitRequest.java @@ -38,4 +38,7 @@ public class UdiwmsAddUnitRequest { */ private String mobile; + private String dictType; + private String supplierName; + } diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsManuRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsManuRequest.java new file mode 100644 index 0000000..6be8840 --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsManuRequest.java @@ -0,0 +1,39 @@ +package com.glxp.mipsdl.req.base; + +import lombok.Data; + +import java.util.List; + +/** + * 生产企业 + */ +@Data +public class UdiwmsManuRequest extends ListPageRequest { + + + /** + * 关键字查询,匹配生产企业编码,往来单位名称,往来单位简称,支持模糊查询 + */ + private String key; + + /** + * 生产企业编码 + */ + private String unitId; + + /** + * 生产企业名称 + */ + private String name; + + /** + * 最后更新时间 + */ + private String lastUpdateTime; + + /** + * 企业类型 1 厂家 2供应商 + */ + private String unitType; + +} diff --git a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsUnitRequest.java b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsUnitRequest.java index 3377647..0c1c0d8 100644 --- a/src/main/java/com/glxp/mipsdl/req/base/UdiwmsUnitRequest.java +++ b/src/main/java/com/glxp/mipsdl/req/base/UdiwmsUnitRequest.java @@ -28,4 +28,10 @@ public class UdiwmsUnitRequest extends ListPageRequest { */ private String lastUpdateTime; + /** + * 企业类型 1 厂家 2供应商 + */ + private String unitType; + + } diff --git a/src/main/java/com/glxp/mipsdl/res/ctqyy/CtBaseResponse.java b/src/main/java/com/glxp/mipsdl/res/ctqyy/CtBaseResponse.java index 8efce14..7009a21 100644 --- a/src/main/java/com/glxp/mipsdl/res/ctqyy/CtBaseResponse.java +++ b/src/main/java/com/glxp/mipsdl/res/ctqyy/CtBaseResponse.java @@ -17,4 +17,8 @@ public class CtBaseResponse { private String returnMessage; @JsonProperty("materialNo") private String materialNo; + @JsonProperty("supplierCode") + private String supplierCode; + + } diff --git a/src/main/java/com/glxp/mipsdl/util/CustomUtil.java b/src/main/java/com/glxp/mipsdl/util/CustomUtil.java new file mode 100644 index 0000000..4604b6e --- /dev/null +++ b/src/main/java/com/glxp/mipsdl/util/CustomUtil.java @@ -0,0 +1,76 @@ +package com.glxp.mipsdl.util; + +import java.util.*; + +public class CustomUtil { + + public static String getUUId() { + UUID uuid = UUID.randomUUID(); + return uuid.toString().replace("-", ""); + } + + //随机生成ID + public static String getId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; + return id.substring(1); + } + + + public static List> splitList(List list, int len) { + + if (list == null || list.isEmpty() || len < 1) { + return Collections.emptyList(); + } + + List> result = new ArrayList<>(); + + int size = list.size(); + int count = (size + len - 1) / len; + + for (int i = 0; i < count; i++) { + List subList = list.subList(i * len, ((i + 1) * len > size ? size : len * (i + 1))); + result.add(subList); + } + + return result; + } + + + //随机生成往来单位ID + public static String getUnitId() { + String id = System.currentTimeMillis() + ""; + int number = new Random().nextInt(90) + 10; + id = id + number; + return "HZ" + id.substring(4); + } + + public static boolean isEmpty(List data) { + if (data == null || data.isEmpty()) { + return true; + } + return false; + } + + public static boolean isNotEmpty(List data) { + if (data != null && !data.isEmpty()) { + return true; + } + return false; + } + + //生成当前时间字符串 + public static String getDate(){ + Calendar ca = Calendar.getInstance(); + String year = String.valueOf(ca.get(Calendar.YEAR));//获取年份 + String month=String.valueOf(ca.get(Calendar.MONTH));//获取月份 + String day=String.valueOf(ca.get(Calendar.DATE));//获取日 + String minute=String.valueOf(ca.get(Calendar.MINUTE));//分 + String hour=String.valueOf(ca.get(Calendar.HOUR));//小时 + String second=String.valueOf(ca.get(Calendar.SECOND));//秒 + return year+month+day+hour+minute+second; + } + + +}