1.修改医院系统配置表结构,增加平潭HIS系统字典解析

master
x_z 2 years ago
parent 6a4ff6c0fd
commit 1aa87121d8

@ -10,6 +10,7 @@ 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.util.ResultVOUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -65,7 +66,7 @@ public class PtxhyyClient implements BaseHttpClient {
@Override
public BaseResponse testConnect() {
return null;
return ResultVOUtils.success();
}
@Override

@ -20,7 +20,7 @@ import java.io.InputStream;
import java.util.List;
/**
*
*
*/
@Slf4j
@Service(value = "100008FileClient")

@ -0,0 +1,114 @@
package com.glxp.mipsdl.client.ptxhyy;
import com.alibaba.fastjson2.JSONObject;
import com.glxp.mipsdl.client.BaseHttpClient;
import com.glxp.mipsdl.config.ThirdSysConfig;
import com.glxp.mipsdl.http.HttpClient;
import com.glxp.mipsdl.req.base.*;
import com.glxp.mipsdl.req.post.PostFileThrOrderRequest;
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.util.ResultVOUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* HIS
*/
@Slf4j
@Service(value = "100009HttpClient")
public class PtxhyyHisClient implements BaseHttpClient {
@Resource
private HttpClient httpClient;
@Resource
private ThirdSysConfig thirdSysConfig;
@Override
public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) {
return null;
}
@Override
public BaseResponse getProducts(UdiwmsProductRequest udiwmsProductRequest) {
return null;
}
@Override
public BaseResponse getOrderTypes(UdiwmsBusTypeRequest udiwmsBusTypeRequest) {
return null;
}
@Override
public BaseResponse getOrders(UdiwmsOrderQueryRequest udiwmsOrderQueryRequest) {
return null;
}
@Override
public BaseResponse submitOrders(UdiwmsOrderRequest udiwmsOrderRequest) {
return null;
}
@Override
public BaseResponse getInvProducts(UdiwmsInvProductsRequest udiwmsInvProductsRequest) {
return null;
}
@Override
public BaseResponse getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) {
return null;
}
@Override
public BaseResponse testConnect() {
return ResultVOUtils.success();
}
@Override
public BaseResponse queryUdiInvProducts(UdiwmsQueryUdiInvProductsRequest queryUdiInvProductsRequest) {
return null;
}
@Override
public BaseResponse submitProducts(UdiwmsAddProductsRequest udiwmsAddProductsRequest) {
return null;
}
@Override
public BaseResponse submitUnit(UdiwmsAddUnitRequest udiwmsAddUnitRequest) {
return null;
}
@Override
public BaseResponse submitPreInOrders(UdiwmsPreInOrderRequest udiwmsPreInOrderRequest) {
return null;
}
@Override
public BaseResponse postProducts(PostThrProductsRequest postThrProductsRequest) {
postThrProductsRequest.setUploadType("文件导入");
String response = httpClient.postUDIWMSJson(thirdSysConfig.getPostPiUrl(), postThrProductsRequest);
BaseResponse baseResponse = JSONObject.parseObject(response, BaseResponse.class);
return baseResponse;
}
@Override
public BaseResponse postCorps(PostThrCorpRequest postThrCorpRequest) {
return null;
}
@Override
public BaseResponse postOrderDetail(PostFileThrOrderRequest postFileThrOrderRequest) {
return null;
}
@Override
public BaseResponse postInvProducts(PostThrInvProductsRequest postThrInvProductsRequest) {
return null;
}
}

@ -0,0 +1,78 @@
package com.glxp.mipsdl.client.ptxhyy;
import cn.hutool.core.thread.ThreadUtil;
import com.glxp.mipsdl.client.BaseFileClient;
import com.glxp.mipsdl.req.post.PostThrProductsRequest;
import com.glxp.mipsdl.res.BaseResponse;
import com.glxp.mipsdl.res.udiwms.UdiwmsProductInfoResponse;
import com.glxp.mipsdl.service.file.UdiInfoUploadService;
import com.glxp.mipsdl.util.ExcelUtil;
import com.glxp.mipsdl.util.ExecutorUtil;
import com.glxp.mipsdl.util.ResultVOUtils;
import com.glxp.mipsdl.vo.file.ptxhyy.PtxhyyHisProductEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
/**
* His
*/
@Slf4j
@Service(value = "100009FileClient")
public class PtxhyyHisFileClient implements BaseFileClient {
@Resource
private UdiInfoUploadService udiInfoUploadService;
@Resource
private ExecutorUtil executorUtil;
@Override
public BaseResponse uploadPi(List<MultipartFile> files, String thirdSys) {
for (int i = 0; i < files.size(); i++) {
MultipartFile file = files.get(i);
if (file.isEmpty()) {
return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败");
}
try {
InputStream inputStream = file.getInputStream();
ExcelUtil<PtxhyyHisProductEntity> util = new ExcelUtil(PtxhyyHisProductEntity.class);
List<UdiwmsProductInfoResponse> udiwmsProductInfoResponses = util.importPi(inputStream);
PostThrProductsRequest postThrProductsRequest = new PostThrProductsRequest();
postThrProductsRequest.setDatas(udiwmsProductInfoResponses);
postThrProductsRequest.setUploadType("文件导入");
postThrProductsRequest.setThirdSys(thirdSys);
executorUtil.getUploadExecutor().execute(ThreadUtil.newThread(() -> {
udiInfoUploadService.postProducts(postThrProductsRequest);
}, "uploadPi"));
log.error("上传完" + System.currentTimeMillis());
} catch (IOException e) {
log.error("解析上传excel文件IO异常异常信息{}", e);
return ResultVOUtils.error(500, "数据异常");
} catch (Exception e) {
log.error("处理产品信息excel文件异常异常信息{}", e);
return ResultVOUtils.error(500, "数据异常");
}
}
return ResultVOUtils.success("文件解析成功,正在上传,请稍后刷新查看");
}
@Override
public BaseResponse uploadCorps(List<MultipartFile> files, String thirdSys) {
return null;
}
@Override
public BaseResponse uploadInvPi(List<MultipartFile> files, String thirdSys) {
return null;
}
@Override
public BaseResponse uploadOrders(List<MultipartFile> files, String thirdSys) {
return null;
}
}

@ -1,6 +1,5 @@
package com.glxp.mipsdl.config;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -10,6 +9,7 @@ import com.glxp.mipsdl.entity.auth.AuthLicenseEntity;
import com.glxp.mipsdl.entity.system.SysHospConfigEntity;
import com.glxp.mipsdl.util.DictUtl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@ -24,6 +24,8 @@ import java.util.List;
@Configuration
public class HospConfig {
@Value("${THIRD_ID}")
private String thirdSys;
@Resource
private SysHospConfigDao hospConfigDao;
@Resource
@ -39,9 +41,9 @@ public class HospConfig {
public SysHospConfigEntity getHospConfig() {
if (null == hospConfig) {
log.info("系统启动中,获取医院编码");
List<SysHospConfigEntity> configList = hospConfigDao.selectList(null);
if (CollUtil.isNotEmpty(configList)) {
hospConfig = configList.get(0);
SysHospConfigEntity sysHospConfig = hospConfigDao.selectOne(new QueryWrapper<SysHospConfigEntity>().eq("thirdSys", thirdSys));
if (null != sysHospConfig) {
hospConfig = sysHospConfig;
DictUtl.CURRENT_HOSP_CODE = hospConfig.getCode();
log.info("获取医院编码成功,编码信息:{}", JSONUtil.toJsonStr(hospConfig));
return hospConfig;

@ -8,6 +8,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.util.Collections;
import java.util.List;
/**
@ -25,8 +26,8 @@ public class UdiInfoUploadController {
* @return
*/
@PostMapping("/udiwms/erp/pi/upload")
public BaseResponse uploadPi(@RequestParam("file") List<MultipartFile> files, @RequestParam("thirdSys") String thirdSys) {
return ClientProcessor.getFileClient().uploadPi(files, thirdSys);
public BaseResponse uploadPi(@RequestParam("file") MultipartFile file, @RequestParam("thirdSys") String thirdSys) {
return ClientProcessor.getFileClient().uploadPi(Collections.singletonList(file), thirdSys);
}
/**

@ -23,7 +23,10 @@ public class SysHospConfigEntity {
@TableField(value = "name")
private String name;
public static final String COL_CODE = "code";
/**
*
*/
@TableField(value = "thirdSys")
private String thirdSys;
public static final String COL_NAME = "name";
}

@ -0,0 +1,104 @@
package com.glxp.mipsdl.vo.file.ptxhyy;
import com.glxp.mipsdl.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* HISexcel
*/
@Data
public class PtxhyyHisProductEntity {
@Excel(name = "LASTUPDATETIME")
private Date updateTime;
@Excel(name="CODE")
private String code;
@Excel(name = "NAME")
private String name;
@Excel(name = "MEASNAME")
private String measname;
@Excel(name = "STANDARD")
private String standard;
@Excel(name = "REGISTERNO")
private String registerNo;
@Excel(name = "MANUFACTORYCODE")
private String manufactoryCode;
@Excel(name = "MANUFACTORY")
private String manufactory;
@Excel(name = "SUPCODE")
private String supCode;
@Excel(name = "SUPNAME")
private String supName;
@Excel(name = "CPLB")
private String cplb;
@Excel(name = "FLBM")
private String flbm;
//器械类别
@Excel(name = "QXLB")
private String qxlb;
//医保编码
@Excel(name = "YBBM")
private String ybbm;
//商品条码
@Excel(name = "SPTM")
private String sptm;
//注册人社会信用号
@Excel(name = "TYSHXYDM")
private String tyshxydm;
//注册/备案人
@Excel(name = "YLQXZCRBARMC")
private String ylqxzcrbarmc;
//注册/备案人英文
@Excel(name = "YLQXZCRBARYWMC")
private String ylqxzcrbarywmc;
//商品名称
@Excel(name = "SPMC")
private String spmc;
//其他编码
@Excel(name = "QTBM")
private String qtbm;
@Excel(name = "CPMS")
private String cpms;
//注册证有效期至
@Excel(name = "ZCZYXQZ")
private String zczyxqz;
@Excel(name = "PRICE")
private String price;
@Excel(name = "REMARK")
private String remark;
@Excel(name = "REMARK1")
private String remark1;
@Excel(name = "REMARK2")
private String remark2;
@Excel(name = "REMARK3")
private String remark3;
}

@ -6,7 +6,7 @@ import lombok.Data;
import java.util.Date;
/**
* excel
* excel
*/
@Data
public class PtxhyyProductEntity {

@ -16,8 +16,8 @@ server:
# min-spare: 10
#第三方系统标识
THIRD_ID: thirdId
THIRD_NAME: thirdName
THIRD_ID: thirdId2
THIRD_NAME: thirdName2
#UDI管理系统地址
UDIWMS_IP: http://127.0.0.1:9991

@ -7,5 +7,6 @@
{"code": "100005", "name": "平和县医院"},
{"code": "100006", "name": "东山县医院"},
{"code": "100007", "name": "云霄中医院"},
{"code": "100008", "name": "平潭协和医院"}
{"code": "100008", "name": "平潭协和医院物资系统"},
{"code": "100009", "name": "平潭协和医院HIS系统"}
]
Loading…
Cancel
Save