Compare commits

...

3 Commits

Author SHA1 Message Date
qiuyt 82827cb167 优化 4 months ago
qiuyt a26be049e0 优化 4 months ago
qiuyt 27f5414a80 优化 4 months ago

@ -49,7 +49,7 @@ import java.util.Map;
@Slf4j @Slf4j
@Service @Service
public abstract class CommonHttpClient implements BaseHttpClient { public abstract class CommonHttpClient implements BaseHttpClient {
@Value("${DSF_XML_SQL_TYPE:Mysql}") @Value("${DSF_XML_SQL_TYPE:MySQL}")
private String defXmlSqlType; private String defXmlSqlType;
@Autowired @Autowired
private HttpClient httpClient; private HttpClient httpClient;

@ -69,7 +69,10 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -79,9 +82,9 @@ public class yxfyClient extends CommonHttpClient {
// 目前只有3505调通过上传医保 其他先不配置怕自动上传出问题 // 目前只有3505调通过上传医保 其他先不配置怕自动上传出问题
private final String[] buyType_3501 = {}; private final String[] buyType_3501 = {};
private final String[] buyType_3502 = {"SC73200069614118"}; private final String[] buyType_3502 = {"SC73200069614118"};
private final String[] buyType_3504 = { }; private final String[] buyType_3504 = {};
private final String[] buyType_3505 = {"QXCF001", "YPCF002"}; private final String[] buyType_3505 = {"YPCF003", "YPCF002"};
private final String[] buyType_35051 = {"SC72197936495755"}; private final String[] buyType_35051 = {"SC72197936495755"};
private final String[] buyType_3506 = {}; private final String[] buyType_3506 = {};
@Resource @Resource
@ -304,7 +307,7 @@ public class yxfyClient extends CommonHttpClient {
listNew = new ArrayList(); listNew = new ArrayList();
// 删除医保编码数据为空的数据 // 删除医保编码数据为空的数据
for (ThrProductsEntity thrProductsEntity : thrProductsEntityList) { for (ThrProductsEntity thrProductsEntity : thrProductsEntityList) {
if(StringUtils.isNotBlank(thrProductsEntity.getYbbm())){ if (StringUtils.isNotBlank(thrProductsEntity.getYbbm())) {
listNew.add(thrProductsEntity); listNew.add(thrProductsEntity);
} }
} }
@ -319,7 +322,7 @@ public class yxfyClient extends CommonHttpClient {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
if (CollUtil.isNotEmpty(listNew)){ if (CollUtil.isNotEmpty(listNew)) {
for (ThrProductsEntity entity : listNew) { for (ThrProductsEntity entity : listNew) {
entity.setId(null); entity.setId(null);
entity.setRemark(entity.getCode()); entity.setRemark(entity.getCode());
@ -713,7 +716,7 @@ public class yxfyClient extends CommonHttpClient {
.selectList(Wrappers.lambdaQuery(IoOrderInvoiceEntity.class).eq(IoOrderInvoiceEntity::getOrderIdFk, orderEntity.getBillNo()) .selectList(Wrappers.lambdaQuery(IoOrderInvoiceEntity.class).eq(IoOrderInvoiceEntity::getOrderIdFk, orderEntity.getBillNo())
.eq(IoOrderInvoiceEntity::getBindRlFk, i.getBindRlFk()) .eq(IoOrderInvoiceEntity::getBindRlFk, i.getBindRlFk())
.eq(StrUtil.isNotEmpty(i.getBatchNo()), IoOrderInvoiceEntity::getBatchNo, i.getBatchNo()). .eq(StrUtil.isNotEmpty(i.getBatchNo()), IoOrderInvoiceEntity::getBatchNo, i.getBatchNo()).
groupBy(IoOrderInvoiceEntity::getInvoiceEncode)); groupBy(IoOrderInvoiceEntity::getInvoiceEncode));
if (CollectionUtil.isNotEmpty(invoiceList)) { if (CollectionUtil.isNotEmpty(invoiceList)) {
fphm = invoiceList.stream().map(IoOrderInvoiceEntity::getInvoiceEncode).collect(Collectors.joining(",")); fphm = invoiceList.stream().map(IoOrderInvoiceEntity::getInvoiceEncode).collect(Collectors.joining(","));
if (invoiceList.get(0).getInvoiceDate() != null) if (invoiceList.get(0).getInvoiceDate() != null)
@ -1421,24 +1424,34 @@ public class yxfyClient extends CommonHttpClient {
public BaseResponse getPrescribes(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest) { public BaseResponse getPrescribes(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest) {
udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType()); udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType());
if (IntUtil.value(udiwmsBasicSkPrescribeRequest.getInOutType()) == 0) { if (IntUtil.value(udiwmsBasicSkPrescribeRequest.getInOutType()) == 0) {
log.info("udiwmsBasicSkPrescribeRequest11111"+udiwmsBasicSkPrescribeRequest); log.info("udiwmsBasicSkPrescribeRequest11111" + udiwmsBasicSkPrescribeRequest);
LambdaQueryWrapper<VInsurNationGoodsPhysic> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<VInsurNationGoodsPhysic> wrapper = new LambdaQueryWrapper<>();
String startTime = udiwmsBasicSkPrescribeRequest.getStartTime(); String startTime = udiwmsBasicSkPrescribeRequest.getStartTime();
String endTime = udiwmsBasicSkPrescribeRequest.getEndTime(); String endTime = udiwmsBasicSkPrescribeRequest.getEndTime();
wrapper.ge(StrUtil.isNotEmpty(startTime), VInsurNationGoodsPhysic::getSEL_RETN_TIME, DateUtil.parseDate(startTime)); wrapper.ge(StrUtil.isNotEmpty(startTime), VInsurNationGoodsPhysic::getSEL_RETN_TIME, DateUtil.parseDate(startTime));
wrapper.le(StrUtil.isNotEmpty(endTime), VInsurNationGoodsPhysic::getSEL_RETN_TIME, DateUtil.parseDate(endTime)); wrapper.le(StrUtil.isNotEmpty(endTime), VInsurNationGoodsPhysic::getSEL_RETN_TIME, DateUtil.parseDate(endTime));
String code = udiwmsBasicSkPrescribeRequest.getCode(); String code = udiwmsBasicSkPrescribeRequest.getCode();
String fromCorpName = udiwmsBasicSkPrescribeRequest.getFromCorpName(); String fromCorpName = udiwmsBasicSkPrescribeRequest.getFromCorpName();
String key = udiwmsBasicSkPrescribeRequest.getKey(); String key = udiwmsBasicSkPrescribeRequest.getKey();
wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsPhysic::getSTOOUT_NO, code).or().eq(VInsurNationGoodsPhysic::getRXNO, code)); wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsPhysic::getSTOOUT_NO, code).or().eq(VInsurNationGoodsPhysic::getRXNO, code));
wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsPhysic::getSTOOUT_NO, "%"+key+"%") wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsPhysic::getSTOOUT_NO, "%" + key + "%")
.or().like(VInsurNationGoodsPhysic::getRXNO, "%"+key+"%") .or().like(VInsurNationGoodsPhysic::getRXNO, "%" + key + "%")
.or().like(VInsurNationGoodsPhysic::getPSN_NAME, "%"+key+"%") .or().like(VInsurNationGoodsPhysic::getPSN_NAME, "%" + key + "%")
.or().like(VInsurNationGoodsPhysic::getPSN_NO, "%"+key+"%") .or().like(VInsurNationGoodsPhysic::getPSN_NO, "%" + key + "%")
); );
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsPhysic::getPSN_NAME, fromCorpName)); wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsPhysic::getPSN_NAME, fromCorpName));
if (StringUtils.isNotEmpty(udiwmsBasicSkPrescribeRequest.getCode())) {
udiwmsBasicSkPrescribeRequest.setQueryCode("'" + udiwmsBasicSkPrescribeRequest.getCode() + "'");
} else if (StringUtils.isNotEmpty(udiwmsBasicSkPrescribeRequest.getKey())) {
udiwmsBasicSkPrescribeRequest.setQueryCode("'" + udiwmsBasicSkPrescribeRequest.getKey() + "'");
} else {
udiwmsBasicSkPrescribeRequest.setQueryCode("null");
}
if (udiwmsBasicSkPrescribeRequest.getBusType().equals("YPCF003")) { if (udiwmsBasicSkPrescribeRequest.getBusType().equals("YPCF003")) {
udiwmsBasicSkPrescribeRequest.setIN_HOSP("1"); udiwmsBasicSkPrescribeRequest.setIN_HOSP("1");
} else { } else {
@ -1457,6 +1470,21 @@ public class yxfyClient extends CommonHttpClient {
pageSimpleResponse.setList(null); pageSimpleResponse.setList(null);
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }
// 分组
if (StringUtils.isNotEmpty(udiwmsBasicSkPrescribeRequest.getQueryCode()) && !udiwmsBasicSkPrescribeRequest.getQueryCode().equals("null")) {
Map<String, List<VYpzsPresInfo>> groupedRecords = page.getRecords().stream()
.collect(Collectors.groupingBy(VYpzsPresInfo::getQUERY_CODE));
List<VYpzsPresInfo> latestRecords = new ArrayList<>();
for (List<VYpzsPresInfo> group : groupedRecords.values()) {
VYpzsPresInfo latest = group.stream()
.max(Comparator.comparing(VYpzsPresInfo::getLAY_TIME))
.orElse(null);
if (latest != null) {
latestRecords.add(latest);
}
}
page.setRecords(latestRecords);
}
return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, page); return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, page);
} else { } else {
LambdaQueryWrapper<VInsurNationGoodsReturn> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<VInsurNationGoodsReturn> wrapper = new LambdaQueryWrapper<>();
@ -1684,7 +1712,7 @@ public class yxfyClient extends CommonHttpClient {
public BaseResponse uploadCollectOrder(PostCollectOrderRequest postCollectOrderRequest) { public BaseResponse uploadCollectOrder(PostCollectOrderRequest postCollectOrderRequest) {
List<IoCollectOrder> collectOrderList = postCollectOrderRequest.getCollectOrderList(); List<IoCollectOrder> collectOrderList = postCollectOrderRequest.getCollectOrderList();
if (CollUtil.isNotEmpty(collectOrderList)) { if (CollUtil.isNotEmpty(collectOrderList)) {
log.error("collectOrderList"+collectOrderList); log.error("collectOrderList" + collectOrderList);
for (IoCollectOrder ioCollectOrder : collectOrderList) { for (IoCollectOrder ioCollectOrder : collectOrderList) {
String busType = ioCollectOrder.getBusType(); String busType = ioCollectOrder.getBusType();
if (matchBusType(busType, buyType_3501)) { if (matchBusType(busType, buyType_3501)) {
@ -1760,20 +1788,106 @@ public class yxfyClient extends CommonHttpClient {
private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VYpzsPresInfo> page) { private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VYpzsPresInfo> page) {
List<VYpzsPresInfo> presInfoEntities = page.getRecords(); List<VYpzsPresInfo> presInfoEntities = page.getRecords();
List<VYpzsPresInfo> vInsurNationGoodsPhysics = new ArrayList<>(); List<VYpzsPresInfo> vInsurNationGoodsPhysics = new ArrayList<>();
String summaryNo;
if (CollUtil.isNotEmpty(presInfoEntities)) { if (CollUtil.isNotEmpty(presInfoEntities)) {
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfo::getPRESCRIBE_NUMBER).collect(Collectors.toList()); // if (presInfoEntities.size() == 1) {//进入拉取周边的同患者同处方 通过患者id 和 周边时间 上下10分钟
// VYpzsPresInfo vYpzsPresInfo = presInfoEntities.get(0);
//
// LambdaQueryWrapper<VYpzsPresInfo> wrapper1 = new LambdaQueryWrapper<>();
// wrapper1.eq(VYpzsPresInfo::getPRESCRIBE_NUMBER, vYpzsPresInfo.getPRESCRIBE_NUMBER());
// presInfoEntities = vYpzsPresInfoMapper.selectList(wrapper1);
// vYpzsPresInfo = presInfoEntities.get(0);
//
// String layTimeStr = vYpzsPresInfo.getLAY_TIME();//当前处方的时间
// String sickId = vYpzsPresInfo.getSICK_ID();
// String icCardId = vYpzsPresInfo.getIC_CARD_ID();
//
// // 时间格式处理(补充格式定义)
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
//
// // 转换为 LocalDateTime 并计算时间范围
// LocalDateTime layTime;
// try {
// layTimeStr = layTimeStr.replace(".0", "");
//
//
// layTime = LocalDateTime.parse(layTimeStr, formatter);
//
// }catch (Exception e){
// formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// layTime = LocalDateTime.parse(layTimeStr, formatter);
//
// }
// LocalDateTime startTime = layTime.minusMinutes(10); // 向前10分钟
// LocalDateTime endTime = layTime.plusMinutes(10); // 向后10分钟
//
// summaryNo = layTime.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + icCardId;
//
// LambdaQueryWrapper<VYpzsPresInfo> wrapper2 = new LambdaQueryWrapper<>();
// wrapper2.eq(VYpzsPresInfo::getSICK_ID, sickId);
// // 使用 TO_TIMESTAMP 函数进行转换
// wrapper2.apply("LAY_TIME BETWEEN TO_TIMESTAMP({0}, 'YYYY-MM-DD HH24:MI:SS') AND TO_TIMESTAMP({1}, 'YYYY-MM-DD HH24:MI:SS')",
// startTime.format(formatter), endTime.format(formatter));
//
// vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper2);
//
// }else {
//区分住院、门诊处方
LambdaQueryWrapper<VYpzsPresInfo> wrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<VYpzsPresInfo> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VYpzsPresInfo::getPRESCRIBE_NUMBER, collect);
vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1); if (StringUtils.isNotEmpty(udiwmsBasicSkPrescribeRequest.getQueryCode()) && !udiwmsBasicSkPrescribeRequest.getQueryCode().equals("null") && udiwmsBasicSkPrescribeRequest.getBusType().equals("YPCF003")
&& udiwmsBasicSkPrescribeRequest.getQueryCode().startsWith("'5")) {
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfo::getQUERY_CODE).collect(Collectors.toList());
wrapper1.in(VYpzsPresInfo::getSTOOUT_NO, collect);
vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1);
String sickId = vInsurNationGoodsPhysics.get(0).getSICK_ID();
String layTimeStr = vInsurNationGoodsPhysics.get(0).getLAY_TIME();//当前处方的时间
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String result="";
try {
Date date = inputFormat.parse(layTimeStr.replace(".000", "").replace(".0", ""));
result = outputFormat.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
summaryNo = result + sickId;
}else {
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfo::getPRESCRIBE_NUMBER).collect(Collectors.toList());
wrapper1.in(VYpzsPresInfo::getPRESCRIBE_NUMBER, collect);
vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1);
summaryNo = "";
}
// }
} else {
summaryNo = "";
} }
// TODO: 2024/9/19 这边在转换的时候就不能用VInsurNationGoodsPhysic // TODO: 2024/9/19 这边在转换的时候就不能用VInsurNationGoodsPhysic
if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) { if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) {
Map<String, List<VYpzsPresInfo>> groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream() Map<String, List<VYpzsPresInfo>> groupedByPrescribeNumber;
groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream()
.collect(Collectors.groupingBy(VYpzsPresInfo::getPRESCRIBE_NUMBER)); .collect(Collectors.groupingBy(VYpzsPresInfo::getPRESCRIBE_NUMBER));
List<IoCollectOrder> ioCollectOrders = new ArrayList<>(); List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
groupedByPrescribeNumber.forEach((key, value) -> { groupedByPrescribeNumber.forEach((key, value) -> {
VYpzsPresInfo presInfoEntity = value.get(0); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 根据实际时间格式调整
VYpzsPresInfo presInfoEntity = Optional.ofNullable(value)
.flatMap(l -> l.stream()
.max(Comparator.comparing(info -> LocalDateTime.parse(info.getLAY_TIME().replace(".000", "").replace(".0", ""), formatter))))
.orElse(null);
StringBuilder errorMsg = new StringBuilder(); StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder(); IoCollectOrder ioCollectOrder = new IoCollectOrder();
@ -1796,11 +1910,15 @@ public class yxfyClient extends CommonHttpClient {
ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser()); ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser());
ioCollectOrder.setBackupOrderRemark1(presInfoEntity.getSTOOUT_NO()); ioCollectOrder.setBackupOrderRemark1(presInfoEntity.getSTOOUT_NO());
ioCollectOrder.setBackupOrderRemark2(presInfoEntity.getSICK_ID()); ioCollectOrder.setBackupOrderRemark2(presInfoEntity.getSICK_ID());
// ioCollectOrder.setBackupOrderRemark3(presInfoEntity.getPSN_NAME()); ioCollectOrder.setBackupOrderRemark3(presInfoEntity.getCONFECT_MAN());
// ioCollectOrder.setBackupOrderRemark4(presInfoEntity.getPSN_NO()); ioCollectOrder.setBackupOrderRemark4(presInfoEntity.getTAKE_OPERATOR());
ioCollectOrder.setUpdateTime(new Date()); ioCollectOrder.setUpdateTime(new Date());
ioCollectOrder.setSplitStatus(0); ioCollectOrder.setSplitStatus(0);
ioCollectOrder.setTagStatus(0); ioCollectOrder.setTagStatus(0);
if (StrUtil.isNotEmpty(summaryNo)) {
ioCollectOrder.setSummaryNo(summaryNo);
}
List<IoCollectOrderBiz> bizList = new ArrayList<>(); List<IoCollectOrderBiz> bizList = new ArrayList<>();
value.forEach(entity -> { value.forEach(entity -> {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
@ -2069,14 +2187,32 @@ public class yxfyClient extends CommonHttpClient {
// log.error("stoout_no===",stoout_no); // log.error("stoout_no===",stoout_no);
List<VYpzsPresInfo> list = vYpzsPresInfoMapper List<VYpzsPresInfo> list = vYpzsPresInfoMapper
.selectList( .selectList(
new QueryWrapper<VYpzsPresInfo>().eq("PRESCRIBE_NUMBER",ioCollectOrder.getBillNo()) new QueryWrapper<VYpzsPresInfo>()
.eq("PRESCRIBE_NUMBER", ioCollectOrder.getBillNo())
); );
if ( CollUtil.isNotEmpty(list)) { if (CollUtil.isNotEmpty(list)) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 根据实际时间格式调整
VYpzsPresInfo vYpzsPresInfo = Optional.ofNullable(list)
.flatMap(l -> l.stream()
.max(Comparator.comparing(info -> LocalDateTime.parse(info.getLAY_TIME().replace(".000", "").replace(".0", ""), formatter))))
.orElse(null);
LambdaQueryWrapper<VInsurNationGoodsPhysic> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(VInsurNationGoodsPhysic::getRXNO, vYpzsPresInfo.getPRESCRIBE_NUMBER());
// 使用 apply 方法嵌入原生 SQL 进行日期格式转换
if (getDataSourceType().equals("Oracle")) {
queryWrapper.apply("TO_CHAR(SEL_RETN_TIME, 'yyyy-MM-dd HH24:MI:SS') = {0}", vYpzsPresInfo.getLAY_TIME().replace(".000", "").replace(".0", ""));
} else {
queryWrapper.apply("DATE_FORMAT(SEL_RETN_TIME, '%Y-%m-%d %H:%i:%s') = DATE_FORMAT({0}, '%Y-%m-%d %H:%i:%s')", vYpzsPresInfo.getLAY_TIME().replace(".000", "").replace(".0", ""));
String stoout_no = list.get(0).getPRESCRIBE_NUMBER(); }
List<VInsurNationGoodsPhysic> vInsurNationGoodsPhysics = goodsPhysicMapper.selectList(new LambdaQueryWrapper<VInsurNationGoodsPhysic>().eq(VInsurNationGoodsPhysic::getRXNO, stoout_no)); List<VInsurNationGoodsPhysic> vInsurNationGoodsPhysics = goodsPhysicMapper.selectList(queryWrapper);
if ( CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) { if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) {
List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList(); List<CollectOrderBizResponse> collectOrderBizResponseList = ioCollectOrder.getCollectOrderBizResponseList();
List<Xsck3505Request> xsck3505Requests = new ArrayList<>(); List<Xsck3505Request> xsck3505Requests = new ArrayList<>();
@ -2085,11 +2221,11 @@ public class yxfyClient extends CommonHttpClient {
String itemCode = basicUdirelEntity.getMainId(); String itemCode = basicUdirelEntity.getMainId();
for (VInsurNationGoodsPhysic vInsurNationGoodsPhysic : vInsurNationGoodsPhysics) { for (VInsurNationGoodsPhysic vInsurNationGoodsPhysic : vInsurNationGoodsPhysics) {
if (vInsurNationGoodsPhysic.getMED_LIST_CODG().equals(itemCode)) { if (vInsurNationGoodsPhysic.getMED_LIST_CODG().equals(itemCode)) {
String[] codes = new String[0]; String[] codes = new String[0];
if(StringUtils.isNotEmpty(collectOrderBizResponse.getFinishUdiCode())){ if (StringUtils.isNotEmpty(collectOrderBizResponse.getFinishUdiCode())) {
codes = collectOrderBizResponse.getFinishUdiCode().split(","); codes = collectOrderBizResponse.getFinishUdiCode().split(",");
}else { } else {
collectOrderBizResponse.setTrdnFlag("0"); collectOrderBizResponse.setTrdnFlag("0");
} }
List<DrugInfoRequest> drugTraceList = new ArrayList<>(); List<DrugInfoRequest> drugTraceList = new ArrayList<>();
@ -2108,14 +2244,14 @@ public class yxfyClient extends CommonHttpClient {
} }
} }
// 医保自费类型 // 医保自费类型
if(StringUtils.isEmpty(vInsurNationGoodsPhysic.getMDTRT_SETL_TYPE()) || !"1".equals(vInsurNationGoodsPhysic.getMDTRT_SETL_TYPE())){ if (StringUtils.isEmpty(vInsurNationGoodsPhysic.getMDTRT_SETL_TYPE()) || !"1".equals(vInsurNationGoodsPhysic.getMDTRT_SETL_TYPE())) {
vInsurNationGoodsPhysic.setMDTRT_SETL_TYPE("2"); vInsurNationGoodsPhysic.setMDTRT_SETL_TYPE("2");
if(StringUtils.isEmpty(vInsurNationGoodsPhysic.getMDTRT_SN())){ if (StringUtils.isEmpty(vInsurNationGoodsPhysic.getMDTRT_SN())) {
vInsurNationGoodsPhysic.setMDTRT_SN(ioCollectOrder.getBillNo()); vInsurNationGoodsPhysic.setMDTRT_SN(ioCollectOrder.getBillNo());
} }
} }
if(StringUtils.isEmpty(vInsurNationGoodsPhysic.getFIXMEDINS_BCHNO())){ if (StringUtils.isEmpty(vInsurNationGoodsPhysic.getFIXMEDINS_BCHNO())) {
vInsurNationGoodsPhysic.setFIXMEDINS_BCHNO(ioCollectOrder.getBillNo()); vInsurNationGoodsPhysic.setFIXMEDINS_BCHNO(ioCollectOrder.getBillNo());
} }
Xsck3505Request xsck3505Request = Xsck3505Request.builder() Xsck3505Request xsck3505Request = Xsck3505Request.builder()
@ -2142,7 +2278,7 @@ public class yxfyClient extends CommonHttpClient {
.expy_end(vInsurNationGoodsPhysic.getEXPY_END()) .expy_end(vInsurNationGoodsPhysic.getEXPY_END())
.rx_flag(vInsurNationGoodsPhysic.getRX_FLAG()) .rx_flag(vInsurNationGoodsPhysic.getRX_FLAG())
.trdn_flag(collectOrderBizResponse.getTrdnFlag()) .trdn_flag(collectOrderBizResponse.getTrdnFlag())
.finl_trns_pric(vInsurNationGoodsPhysic.getFINL_TRNS_PRIC()) .finl_trns_pric(null)
.rxno(vInsurNationGoodsPhysic.getRXNO()) .rxno(vInsurNationGoodsPhysic.getRXNO())
.rx_circ_flag(vInsurNationGoodsPhysic.getRX_CIRC_FLAG()) .rx_circ_flag(vInsurNationGoodsPhysic.getRX_CIRC_FLAG())
.rtal_docno(vInsurNationGoodsPhysic.getRTAL_DOCNO()) .rtal_docno(vInsurNationGoodsPhysic.getRTAL_DOCNO())
@ -2150,7 +2286,7 @@ public class yxfyClient extends CommonHttpClient {
.bchno(vInsurNationGoodsPhysic.getBCHNO()) .bchno(vInsurNationGoodsPhysic.getBCHNO())
.drug_prod_barc(vInsurNationGoodsPhysic.getRUG_PROD_BARC()) .drug_prod_barc(vInsurNationGoodsPhysic.getRUG_PROD_BARC())
.shelf_posi(vInsurNationGoodsPhysic.getSHELF_POSI()) .shelf_posi(vInsurNationGoodsPhysic.getSHELF_POSI())
.sel_retn_cnt(vInsurNationGoodsPhysic.getSEL_RETN_CNT()) .sel_retn_cnt(collectOrderBizResponse.getCount())
.sel_retn_time(vInsurNationGoodsPhysic.getSEL_RETN_TIME()) .sel_retn_time(vInsurNationGoodsPhysic.getSEL_RETN_TIME())
.sel_retn_opter_name(vInsurNationGoodsPhysic.getSEL_RETN_OPTER_NAME()) .sel_retn_opter_name(vInsurNationGoodsPhysic.getSEL_RETN_OPTER_NAME())
.memo(vInsurNationGoodsPhysic.getMEMO()) .memo(vInsurNationGoodsPhysic.getMEMO())
@ -2165,13 +2301,13 @@ public class yxfyClient extends CommonHttpClient {
baseXsck3505Request.setSelinfoDetail(xsck3505Requests); baseXsck3505Request.setSelinfoDetail(xsck3505Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck3505Request); String jsonStr = JSONUtil.toJsonStr(baseXsck3505Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("3505A", dataJson,ioCollectOrder.getBillNo()); return ybClient.ybPost("3505A", dataJson, ioCollectOrder.getBillNo());
} }
}else { } else {
return ResultVOUtils.error(500,"上传医保数据为空请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
return ResultVOUtils.error(500,"上传医保数据为空请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
@ -2228,9 +2364,9 @@ public class yxfyClient extends CommonHttpClient {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(ioCollectOrder.getBillTime()); String formattedDate = sdf.format(ioCollectOrder.getBillTime());
//todo 处方药标志先写死 后面要商量怎么获得 //todo 处方药标志先写死 后面要商量怎么获得
String rxFlag ="1"; String rxFlag = "1";
log.error("optionUploadCollectOrder35051===item==="+item); log.error("optionUploadCollectOrder35051===item===" + item);
if(org.apache.commons.lang3.StringUtils.isEmpty(item.getBatchNo())){ if (org.apache.commons.lang3.StringUtils.isEmpty(item.getBatchNo())) {
item.setBatchNo("null"); item.setBatchNo("null");
} }
Xsck35051Request xsck35051Request = Xsck35051Request.builder() Xsck35051Request xsck35051Request = Xsck35051Request.builder()
@ -2279,7 +2415,7 @@ public class yxfyClient extends CommonHttpClient {
baseXsck35051Request.setSelinfoDetail(xsck35051Requests); baseXsck35051Request.setSelinfoDetail(xsck35051Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsck35051Request); String jsonStr = JSONUtil.toJsonStr(baseXsck35051Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("35051", dataJson,ioCollectOrder.getBillNo()); return ybClient.ybPost("35051", dataJson, ioCollectOrder.getBillNo());
} else { } else {
return ResultVOUtils.error(500, "上传医保数据为空请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
@ -2334,7 +2470,7 @@ public class yxfyClient extends CommonHttpClient {
basePcsc3501Request.setSelinfoDetail(pcsc3501Requests); basePcsc3501Request.setSelinfoDetail(pcsc3501Requests);
String jsonStr = JSONUtil.toJsonStr(basePcsc3501Request); String jsonStr = JSONUtil.toJsonStr(basePcsc3501Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPost("3501A", dataJson,ioCollectOrder.getBillNo()); ybClient.ybPost("3501A", dataJson, ioCollectOrder.getBillNo());
} }
} }
@ -2352,15 +2488,15 @@ public class yxfyClient extends CommonHttpClient {
// if (item.getYbbm().equals(itemCode)) { // if (item.getYbbm().equals(itemCode)) {
String[] codes = item.getFinishUdiCode().split(","); String[] codes = item.getFinishUdiCode().split(",");
String nameCode = item.getNameCode(); String nameCode = item.getNameCode();
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne( BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(
new QueryWrapper<BasicProductsEntity>().eq("nameCode",nameCode).last("limit 1") new QueryWrapper<BasicProductsEntity>().eq("nameCode", nameCode).last("limit 1")
); );
if(Objects.isNull(basicProductsEntity)){ if (Objects.isNull(basicProductsEntity)) {
return ResultVOUtils.error(500,"产品为空请检查"); return ResultVOUtils.error(500, "产品为空请检查");
} }
Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel()); Integer packLevel = Integer.valueOf(basicProductsEntity.getPackLevel());
List<DrugInfoRequest> drugTraceList = new ArrayList<>(); List<DrugInfoRequest> drugTraceList = new ArrayList<>();
List<String> codeList = new ArrayList<>(); List<String> codeList = new ArrayList<>();
// 遍历fruits数组 // 遍历fruits数组
for (String code : codes) { for (String code : codes) {
if (StrUtil.isNotBlank(code)) { if (StrUtil.isNotBlank(code)) {
@ -2373,8 +2509,8 @@ public class yxfyClient extends CommonHttpClient {
} }
// 级别为2的产品码不可能只有一个 // 级别为2的产品码不可能只有一个
if(packLevel >1 && codeList.size() <2){ if (packLevel > 1 && codeList.size() < 2) {
return ResultVOUtils.error(500,"大包装码关联关系拉取不到请检查"+code); return ResultVOUtils.error(500, "大包装码关联关系拉取不到请检查" + code);
} }
} }
} }
@ -2385,8 +2521,8 @@ public class yxfyClient extends CommonHttpClient {
drugTraceList.add(request); drugTraceList.add(request);
} }
if(CollUtil.isEmpty(drugTraceList)){ if (CollUtil.isEmpty(drugTraceList)) {
return ResultVOUtils.error(500,"单据要传的码为空请检查"); return ResultVOUtils.error(500, "单据要传的码为空请检查");
} }
// TODO: 2024/9/10 字段未完全正确对应 // TODO: 2024/9/10 字段未完全正确对应
@ -2412,9 +2548,9 @@ public class yxfyClient extends CommonHttpClient {
baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests); baseKcbg3502Request.setInvinfoDetail(kcbg3502Requests);
String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request); String jsonStr = JSONUtil.toJsonStr(baseKcbg3502Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
return ybClient.ybPost("3502A", dataJson,ioCollectOrder.getBillNo()); return ybClient.ybPost("3502A", dataJson, ioCollectOrder.getBillNo());
}else { } else {
return ResultVOUtils.error(500,"上传医保数据为空请核实"); return ResultVOUtils.error(500, "上传医保数据为空请核实");
} }
} }
@ -2485,7 +2621,7 @@ public class yxfyClient extends CommonHttpClient {
baseXsth3506Request.setSelinfoDetail(xsth3506Requests); baseXsth3506Request.setSelinfoDetail(xsth3506Requests);
String jsonStr = JSONUtil.toJsonStr(baseXsth3506Request); String jsonStr = JSONUtil.toJsonStr(baseXsth3506Request);
JSONObject dataJson = JSONObject.parseObject(jsonStr); JSONObject dataJson = JSONObject.parseObject(jsonStr);
ybClient.ybPost("3506A", dataJson,ioCollectOrder.getBillNo()); ybClient.ybPost("3506A", dataJson, ioCollectOrder.getBillNo());
} }
/** /**

@ -69,6 +69,11 @@ public class VYpzsPresInfo implements Serializable {
private String IN_HOSP; private String IN_HOSP;
@TableField(value = "DEPT_CODE") @TableField(value = "DEPT_CODE")
private String DEPT_CODE; private String DEPT_CODE;
@TableField(exist = false)
private String QUERY_CODE;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableField(value = "TAKE_OPERATOR")
private String TAKE_OPERATOR;
} }

@ -191,6 +191,11 @@ public class IoCollectOrder implements Serializable {
*/ */
@TableField(value = "orderTime") @TableField(value = "orderTime")
private Date orderTime; private Date orderTime;
/**
*
*/
@TableField(value = "summaryNo")
private String summaryNo;
/** /**

@ -136,5 +136,7 @@ public class UdiwmsBasicSkPrescribeRequest extends ListPageRequest {
private String databaseProductName; private String databaseProductName;
private String IN_HOSP; private String IN_HOSP;
private String queryCode;
} }

@ -1,7 +1,6 @@
package com.glxp.mipsdl.util; package com.glxp.mipsdl.util;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.sun.tools.javac.Main;
public class DdlUtils { public class DdlUtils {
static { static {

@ -5,7 +5,7 @@ spring:
strict: false strict: false
datasource: datasource:
master: master:
url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
@ -14,7 +14,7 @@ spring:
# username: SD_UDIJK # username: SD_UDIJK
# password: SD_UDIJK # password: SD_UDIJK
# driver-class-name: oracle.jdbc.driver.OracleDrive # driver-class-name: oracle.jdbc.driver.OracleDrive
url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ywj?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
@ -28,7 +28,7 @@ spring:
# username: SD_UDIJK # username: SD_UDIJK
# password: SD_UDIJK # password: SD_UDIJK
# driver-class-name: oracle.jdbc.driver.OracleDrive # driver-class-name: oracle.jdbc.driver.OracleDrive
url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ywj?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
@ -37,7 +37,7 @@ spring:
# username: I_YPZS # username: I_YPZS
# password: zy02v4ys # password: zy02v4ys
# driver-class-name: oracle.jdbc.driver.OracleDrive # driver-class-name: oracle.jdbc.driver.OracleDrive
url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_ct?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: 123456 password: 123456
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver

@ -45,15 +45,15 @@
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.hyfy.VYpzsPresInfo"> <select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.hyfy.VYpzsPresInfo">
SELECT PRESCRIBE_NUMBER SELECT PRESCRIBE_NUMBER,LAY_TIME, ${udiwmsBasicSkPrescribeRequest.queryCode} AS QUERY_CODE
FROM v_ypzs_pres_info FROM v_ypzs_pres_info
<where> <where>
<if test="udiwmsBasicSkPrescribeRequest.busType != 'YPCF002'"> <if test="udiwmsBasicSkPrescribeRequest.busType != 'YPCF002'">
AND STOOUT_NO = ( AND PRESCRIBE_NUMBER = (
SELECT STOOUT_NO SELECT RXNO
FROM v_insur_nation_goods_physic t FROM v_insur_nation_goods_physic t
WHERE t.STOOUT_NO = v_ypzs_pres_info.STOOUT_NO WHERE t.RXNO = v_ypzs_pres_info.PRESCRIBE_NUMBER
group by STOOUT_NO group by RXNO
) )
</if> </if>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != '' <if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''
@ -110,7 +110,7 @@
</if> </if>
</where> </where>
GROUP BY GROUP BY
PRESCRIBE_NUMBER PRESCRIBE_NUMBER,LAY_TIME
<!-- <choose>--> <!-- <choose>-->
<!-- <when test="udiwmsBasicSkPrescribeRequest.IN_HOSP == '1'">--> <!-- <when test="udiwmsBasicSkPrescribeRequest.IN_HOSP == '1'">-->
<!-- PRESCRIBE_NUMBER--> <!-- PRESCRIBE_NUMBER-->

Loading…
Cancel
Save