diff --git a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java index 1e04c55..d2d0122 100644 --- a/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java +++ b/src/main/java/com/glxp/mipsdl/client/CommonHttpClient.java @@ -34,16 +34,12 @@ import com.glxp.mipsdl.util.ResultVOUtils; import com.glxp.mipsdl.util.SubmitOrderUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.sql.DataSource; -import java.sql.Connection; -import java.sql.DatabaseMetaData; -import java.sql.SQLException; -import java.util.HashMap; import java.util.List; -import java.util.Map; @Slf4j @Service @@ -79,7 +75,8 @@ public abstract class CommonHttpClient implements BaseHttpClient { private IoOrderDetailBizDao orderDetailBizDao; @Autowired private SubmitOrderUtil submitOrderUtil; - + @Value("${DSF_XML_SQL_TYPE:Mysql}") + private String defXmlSqlType; @Override public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) { String response = httpClient.postJson(thrSystemDetailService.getUrl(Constants.URL_NAME_CORP_URL), udiwmsUnitRequest); @@ -325,28 +322,10 @@ public abstract class CommonHttpClient implements BaseHttpClient { @Resource private DataSource dataSource; - public String getDataSourceType(){ - Connection conn = null; - DatabaseMetaData metaData = null; - String databaseProductName = ""; - try { - conn = dataSource.getConnection(); - metaData = conn.getMetaData(); - databaseProductName = metaData.getDatabaseProductName();//MySQL //Oracle - } catch (SQLException throwables) { - throwables.printStackTrace(); - }finally { - // 释放连接资源 - if (conn != null) { - try { - conn.close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } + public String getDefXmlSqlType(){ + - return databaseProductName; + return defXmlSqlType; } @Override 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 7b8ba43..f1b869c 100644 --- a/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/ctqyy/CtqyyClient.java @@ -65,6 +65,7 @@ import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -155,7 +156,8 @@ public class CtqyyClient extends CommonHttpClient { private ThrProductsDao thrProductsDao; @Resource private RelCodeDetailService relCodeDetailService; - + @Value("${DSF_XML_SQL_TYPE:Mysql}") + private String defXmlSqlType; /** * 拼接xml请求头 * @@ -2297,4 +2299,9 @@ public class CtqyyClient extends CommonHttpClient { buyTypeMap.put("buyType_3506", buyType_3506); return ResultVOUtils.success(buyTypeMap); } + public String getDataSourceType(){ + return defXmlSqlType; + } + + } diff --git a/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java b/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java index a05737f..013174d 100644 --- a/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java +++ b/src/main/java/com/glxp/mipsdl/client/hlfyyy/HlfyyyClient.java @@ -92,7 +92,8 @@ public class HlfyyyClient extends CommonHttpClient { private final String[] buyType_3502 = {"7", "6", "5", "4", "1", "16", "12", "28", "35"}; private final String[] buyType_3505 = {"QXCF001", "YPCF002"}; private final String[] buyType_3506 = {"YPTH001"}; - + @Value("${DSF_XML_SQL_TYPE:Mysql}") + private String defXmlSqlType; @Resource private ThrSystemDetailService thrSystemDetailService; @Resource @@ -227,12 +228,12 @@ public class HlfyyyClient extends CommonHttpClient { @Override public BaseResponse getUnit(UdiwmsUnitRequest udiwmsUnitRequest) { udiwmsUnitRequest.setDatabaseProductName(getDataSourceType()); - List list = va001Service.filterList(udiwmsUnitRequest); - log.info("解析湖里妇幼返回往来单位,返回结果:{}", list); - PageInfo pageInfo = new PageInfo<>(list); + IPage iPage = va001Service.filterList(udiwmsUnitRequest); + log.info("解析湖里妇幼返回往来单位,返回结果:{}", iPage.getRecords()); + PageInfo pageInfo = new PageInfo<>(iPage.getRecords()); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(list); + pageSimpleResponse.setTotal(iPage.getTotal()); + pageSimpleResponse.setList(iPage.getRecords()); return ResultVOUtils.success(pageSimpleResponse); } @@ -1446,8 +1447,8 @@ public class HlfyyyClient extends CommonHttpClient { return udiwmsPreInOrderRequest; } - @Value("${DBTYPE}") - private String DBTYPE; +// @Value("${DBTYPE}") +// private String DBTYPE; /** * ------------------------------------------现场管理医保相关接口方法-------------------------------------------------------------- */ @@ -1460,37 +1461,13 @@ public class HlfyyyClient extends CommonHttpClient { @Override public BaseResponse getPrescribes(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest) { if (IntUtil.value(udiwmsBasicSkPrescribeRequest.getInOutType()) == 0) { - udiwmsBasicSkPrescribeRequest.setDatabaseProductName(DBTYPE); + udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType()); IPage iPage = va010Service.getList(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), udiwmsBasicSkPrescribeRequest); -// List list = iPage.getRecords(); -// PageInfo pageInfo = new PageInfo<>(list); -// PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); -// pageSimpleResponse.setTotal(iPage.getTotal()); -// pageSimpleResponse.setList(list); - return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, iPage); } else { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - - String startTime = udiwmsBasicSkPrescribeRequest.getStartTime(); - String endTime = udiwmsBasicSkPrescribeRequest.getEndTime(); - wrapper.ge(StrUtil.isNotEmpty(startTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, startTime); - wrapper.le(StrUtil.isNotEmpty(endTime), VInsurNationGoodsReturn::getSEL_RETN_TIME, endTime); - - - String code = udiwmsBasicSkPrescribeRequest.getCode(); - String fromCorpName = udiwmsBasicSkPrescribeRequest.getFromCorpName(); - String key = udiwmsBasicSkPrescribeRequest.getKey(); - wrapper.and(StrUtil.isNotEmpty(key), t -> t.like(VInsurNationGoodsReturn::getAPPLY_NO, key) - .or().like(VInsurNationGoodsReturn::getPSN_NAME, key) - .or().like(VInsurNationGoodsReturn::getPSN_NO, key) - ); - wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsReturn::getAPPLY_NO, code)); - wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsReturn::getPSN_NAME, fromCorpName)); - //拉取处方退货时,改成拉取v_ypzs_pres_info_return - IPage page = vYpzsPresInfoReturnMapper.selectGroupedWithPagination(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), - udiwmsBasicSkPrescribeRequest); - return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, page); + udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType()); + IPage iPage = va011Service.getList(new Page(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), udiwmsBasicSkPrescribeRequest); + return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, iPage); } } @@ -1722,7 +1699,7 @@ public class HlfyyyClient extends CommonHttpClient { */ private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage iPage) { List headList = iPage.getRecords(); - +// log.info("udiwmsBasicSkPrescribeRequest=="+udiwmsBasicSkPrescribeRequest+"====="+headList); if (CollUtil.isNotEmpty(headList)) { List codefks = headList.stream().map(VA010::getCode).collect(Collectors.toList()); LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); @@ -1754,7 +1731,7 @@ public class HlfyyyClient extends CommonHttpClient { } Date date = null; try { - date = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(item.getPrescribedate()); + date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(item.getPrescribedate()); } catch (ParseException e) { } @@ -1812,7 +1789,7 @@ public class HlfyyyClient extends CommonHttpClient { pageSimpleResponse.setList(ioCollectOrders); return ResultVOUtils.success(pageSimpleResponse); } else { - return ResultVOUtils.error(500, "下载失败!"); + return ResultVOUtils.error(500, "未查询到数据!"); } } @@ -1833,75 +1810,99 @@ public class HlfyyyClient extends CommonHttpClient { return new ArrayList<>(summarizedMap.values()); } - private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage page) { - List presInfoEntities = page.getRecords(); - List vInsurNationGoodsReturns = new ArrayList<>(); - if (CollUtil.isNotEmpty(presInfoEntities)) { - List collect = presInfoEntities.stream().map(VYpzsPresInfoReturn::getAPPLY_NO).collect(Collectors.toList()); - LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.in(VYpzsPresInfoReturn::getAPPLY_NO, collect); - vInsurNationGoodsReturns = vYpzsPresInfoReturnMapper.selectList(wrapper1); - } - // TODO: 2024/9/19 这边在转换的时候就不能用vInsurNationGoodsReturns - if (CollUtil.isNotEmpty(vInsurNationGoodsReturns)) { - Map> groupedByPrescribeNumber = vInsurNationGoodsReturns.stream() - .collect(Collectors.groupingBy(VYpzsPresInfoReturn::getAPPLY_NO)); + private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage iPage) { + List headList = iPage.getRecords(); +// log.info("udiwmsBasicSkPrescribeRequest=="+udiwmsBasicSkPrescribeRequest+"====="+headList); + if (CollUtil.isNotEmpty(headList)) { + List codefks = headList.stream().map(VA011::getCode).collect(Collectors.toList()); + LambdaQueryWrapper wrapper1 = new LambdaQueryWrapper<>(); + wrapper1.in(VA011Mx::getCodefk, codefks); + + List va011MxList = va011MxMapper.selectList(wrapper1); + Map> detailsMap = new HashMap<>(); + if (CollUtil.isNotEmpty(va011MxList)) { + detailsMap = va011MxList.stream() + .collect(Collectors.groupingBy(VA011Mx::getCodefk)); + } + List ioCollectOrders = new ArrayList<>(); - groupedByPrescribeNumber.forEach((key, value) -> { - VYpzsPresInfoReturn presInfoEntity = value.get(0); + Map> finalDetailsMap = detailsMap; + headList.forEach(item -> { + StringBuilder errorMsg = new StringBuilder(); IoCollectOrder ioCollectOrder = new IoCollectOrder(); - ioCollectOrder.setBillNo(presInfoEntity.getAPPLY_NO()); + ioCollectOrder.setBillNo(item.getCode()); ioCollectOrder.setFromType("HIS系统"); - ioCollectOrder.setFromCorp(presInfoEntity.getSICK_ID()); + ioCollectOrder.setFromCorp(item.getDeptcode()); ioCollectOrder.setWorkPlaceCode(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode()); - ioCollectOrder.setFromCorpName(presInfoEntity.getSICK_NAME()); -// Date date = DateUtil.parseDate(presInfoEntity.get()); - ioCollectOrder.setBillTime(presInfoEntity.getKEEP_BOOK_TIME()); + ioCollectOrder.setFromCorpName(item.getSickname()); + ioCollectOrder.setShipperName(item.getDeptname()); + if (item.getRemark().equals("门诊")) { + ioCollectOrder.setBusType("YPCF002"); + } else { + ioCollectOrder.setBusType("YPCF003"); + } + Date date = null; + try { + date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(item.getPrescribedate()); + } catch (ParseException e) { + + } + ioCollectOrder.setBillTime(date); ioCollectOrder.setCreateTime(new Date()); ioCollectOrder.setCreateUser(udiwmsBasicSkPrescribeRequest.getCreateUser()); +// ioCollectOrder.setBusType(udiwmsBasicSkPrescribeRequest.getBusType()); + ioCollectOrder.setBackupOrderRemark1(item.getCode()); + +// ioCollectOrder.setBackupOrderRemark2(presInfoEntity.getSICK_ID()); +// ioCollectOrder.setBackupOrderRemark3(presInfoEntity.getPSN_NAME()); +// ioCollectOrder.setBackupOrderRemark4(presInfoEntity.getPSN_NO()); ioCollectOrder.setUpdateTime(new Date()); ioCollectOrder.setSplitStatus(0); ioCollectOrder.setTagStatus(0); + List itemDetails = finalDetailsMap.get(item.getCode()); List bizList = new ArrayList<>(); - value.forEach(entity -> { - IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); - BasicUdirelEntity basicUdirelEntity = basicUdirelDao.selectOne(new LambdaQueryWrapper().eq(BasicUdirelEntity::getMainId, entity.getPHYSIC_CODE())); - if (basicUdirelEntity != null) { - collectOrderBiz.setRelId(basicUdirelEntity.getId()); - } else { - errorMsg.append(entity.getPHYSIC_NAME()).append("字典未对照").append(";"); - } - List vYpzsPresInfoReturns = vYpzsPresInfoReturnMapper.selectList(new LambdaQueryWrapper().eq(VYpzsPresInfoReturn::getAPPLY_NO, entity.getAPPLY_NO()).eq(VYpzsPresInfoReturn::getPHYSIC_CODE, entity.getPHYSIC_CODE())); + if (CollUtil.isNotEmpty(itemDetails)) { + itemDetails.forEach(entity -> { + IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz(); + List basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper().eq(BasicUdirelEntity::getMainId, entity.getItemcode())); + if (CollUtil.isNotEmpty(basicUdirelEntities)) { + BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0); + collectOrderBiz.setRelId(basicUdirelEntity.getId()); + } else { + errorMsg.append(entity.getItemname()).append("字典未对照").append(";"); + } - if (CollUtil.isNotEmpty(vYpzsPresInfoReturns)) { - VYpzsPresInfoReturn vYpzsPresInfo = vYpzsPresInfoReturns.get(0); - collectOrderBiz.setGgxh(vYpzsPresInfo.getPHYSIC_SPEC()); - collectOrderBiz.setMeasureUnit(vYpzsPresInfo.getPHYSIC_UNIT()); - } - collectOrderBiz.setThrCode(entity.getPHYSIC_CODE()); - collectOrderBiz.setCpmctymc(entity.getPHYSIC_NAME()); -// collectOrderBiz.setBatchNo(entity.getBATCH_NUMBER()); - collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo()); - collectOrderBiz.setYbbm(entity.getFEE_SEQUENCE_NO()); - collectOrderBiz.setCount(entity.getQUANTITY()); - collectOrderBiz.setTagStatus(1); - collectOrderBiz.setUnTagCount(0); - bizList.add(collectOrderBiz); - }); + collectOrderBiz.setGgxh(entity.getBzgg()); + collectOrderBiz.setMeasureUnit(entity.getMeasureunit()); + collectOrderBiz.setCount(IntUtil.value(entity.getCount())); + collectOrderBiz.setThrCode(entity.getItemcode()); + collectOrderBiz.setCpmctymc(entity.getItemname()); + collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo()); + + collectOrderBiz.setRemark1(entity.getRemark()); + collectOrderBiz.setNameCode(entity.getItemcode()); + collectOrderBiz.setTagStatus(1); + collectOrderBiz.setUnTagCount(0); + bizList.add(collectOrderBiz); + }); + + } if (StrUtil.isNotBlank(errorMsg)) { ioCollectOrder.setErrorMsg(errorMsg.toString()); ioCollectOrder.setTagStatus(4); } - ioCollectOrder.setBizList(bizList); + ioCollectOrder.setBizList(summarizeByCode(bizList)); ioCollectOrders.add(ioCollectOrder); + }); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(page.getTotal()); + pageSimpleResponse.setTotal(iPage.getTotal()); pageSimpleResponse.setList(ioCollectOrders); return ResultVOUtils.success(pageSimpleResponse); } else { - return ResultVOUtils.error(500, "下载失败!"); + return ResultVOUtils.error(500, "未查询到数据!"); } } @@ -2201,6 +2202,9 @@ public class HlfyyyClient extends CommonHttpClient { } } + public String getDataSourceType(){ + return defXmlSqlType; + } } diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA001.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA001.java index 53b970c..3bd2c48 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA001.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA001.java @@ -18,7 +18,7 @@ public class VA001 implements Serializable { @TableField(value = "UNITID") private String unitid; - @TableField(value = "`NAME`") + @TableField(value = "NAME") private String name; @TableField(value = "LASTUPDATETIME") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA002.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA002.java index fa30db5..8d004a7 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA002.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA002.java @@ -21,13 +21,13 @@ public class VA002 implements Serializable { @TableField(value = "CODE") private String code; - @TableField(value = "`NAME`") + @TableField(value = "NAME") private String name; @TableField(value = "MEASNAME") private String measname; - @TableField(value = "`STANDARD`") + @TableField(value = "STANDARD") private String standard; @TableField(value = "REGISTERNO") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA003.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA003.java index b1e014b..eed0bda 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA003.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA003.java @@ -21,7 +21,7 @@ public class VA003 implements Serializable { @TableField(value = "CODE") private String code; - @TableField(value = "`NAME`") + @TableField(value = "NAME") private String name; @TableField(value = "NAMECODE") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA004.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA004.java index cf6759d..c6113e7 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA004.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA004.java @@ -18,7 +18,7 @@ public class VA004 implements Serializable { @TableField(value = "CODE") private String code; - @TableField(value = "`NAME`") + @TableField(value = "NAME") private String name; @TableField(value = "REMARK") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA005.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA005.java index f304e70..8ad69bb 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA005.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA005.java @@ -18,7 +18,7 @@ public class VA005 implements Serializable { @TableField(value = "CODE") private String code; - @TableField(value = "`NAME`") + @TableField(value = "NAME") private String name; @TableField(value = "INOUTTYPE") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA006Mx.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA006Mx.java index 57b26c9..29c4541 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA006Mx.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA006Mx.java @@ -42,7 +42,7 @@ public class VA006Mx implements Serializable { @TableField(value = "GGXH") private String ggxh; - @TableField(value = "`COUNT`") + @TableField(value = "COUNT") private String count; @TableField(value = "PRICE") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA010Mx.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA010Mx.java index 53e80c4..c796cdd 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA010Mx.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA010Mx.java @@ -39,7 +39,7 @@ public class VA010Mx implements Serializable { @TableField(value = "FREQUENCY") private String frequency; - @TableField(value = "`COUNT`") + @TableField(value = "COUNT") private String count; @TableField(value = "BZGG") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA011Mx.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA011Mx.java index 1a1e145..512b37d 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA011Mx.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA011Mx.java @@ -39,7 +39,7 @@ public class VA011Mx implements Serializable { @TableField(value = "FREQUENCY") private String frequency; - @TableField(value = "`COUNT`") + @TableField(value = "COUNT") private String count; @TableField(value = "BZGG") diff --git a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA015Mx.java b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA015Mx.java index 05ffc18..610af66 100644 --- a/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA015Mx.java +++ b/src/main/java/com/glxp/mipsdl/entity/hlfyyy/VA015Mx.java @@ -42,7 +42,7 @@ public class VA015Mx implements Serializable { @TableField(value = "GGXH") private String ggxh; - @TableField(value = "`COUNT`") + @TableField(value = "COUNT") private String count; @TableField(value = "PRICE") diff --git a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA001Service.java b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA001Service.java index 82b0487..abd6fbe 100644 --- a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA001Service.java +++ b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA001Service.java @@ -1,5 +1,6 @@ package com.glxp.mipsdl.service.hlfyyy; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.pagehelper.PageHelper; import com.glxp.mipsdl.entity.hlfyyy.VA010; @@ -13,7 +14,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.mipsdl.entity.hlfyyy.VA001; @Service public class VA001Service extends ServiceImpl { - public List filterList(UdiwmsUnitRequest udiwmsUnitRequest) { + public IPage filterList(UdiwmsUnitRequest udiwmsUnitRequest) { Page page = new Page(udiwmsUnitRequest.getPage(), udiwmsUnitRequest.getLimit()); return this.baseMapper.filterList(page,udiwmsUnitRequest); diff --git a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA010Service.java b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA010Service.java index f29ebe2..ee8b710 100644 --- a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA010Service.java +++ b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA010Service.java @@ -1,29 +1,49 @@ package com.glxp.mipsdl.service.hlfyyy; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest; import com.glxp.mipsdl.thirddao.hlfyyy.VA010Mapper; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.mipsdl.entity.hlfyyy.VA010; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; + @Service public class VA010Service extends ServiceImpl { @Resource private VA010Mapper va010Mapper; + @Value("${DSF_XML_SQL_TYPE:Mysql}") + private String defXmlSqlType; public IPage getList(Page page , UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest){ IPage iPage = va010Mapper.getList(page,udiwmsBasicSkPrescribeRequest); -// List list = iPage.getRecords(); -// List codeList = new ArrayList<>(); -// if(list!=null && list.size() >0){ -// for (VA010 va010 : list) { -// codeList.add(va010.getCode()); -// } -// List listNew = va010Mapper.selectList(new QueryWrapper().in("code",codeList).groupBy("code")); -// iPage.setRecords(listNew); -// } + List list = iPage.getRecords(); + List listNew = new ArrayList<>(); + list.sort( Comparator.comparing(VA010::getPrescribedate)); + if(list!=null && list.size() >0){ + String lastSql = ""; + if(defXmlSqlType.equals("Mysql")){ + lastSql = "AND limit = 1"; + + }else if(defXmlSqlType.equals("Oracle")){ + lastSql = "AND rownum = 1"; + } + for (VA010 va010 : list) { + + + VA010 va010New = va010Mapper.selectOne(new QueryWrapper().eq("code",va010.getCode()).last(lastSql)); + listNew.add(va010New); + } + } + iPage.setRecords(listNew); return iPage; }; diff --git a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA011Service.java b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA011Service.java index beea632..316acb0 100644 --- a/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA011Service.java +++ b/src/main/java/com/glxp/mipsdl/service/hlfyyy/VA011Service.java @@ -1,10 +1,49 @@ package com.glxp.mipsdl.service.hlfyyy; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.glxp.mipsdl.entity.hlfyyy.VA010; +import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest; import com.glxp.mipsdl.thirddao.hlfyyy.VA011Mapper; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.mipsdl.entity.hlfyyy.VA011; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; + @Service public class VA011Service extends ServiceImpl { + @Resource + private VA011Mapper va011Mapper; + @Value("${DSF_XML_SQL_TYPE:Mysql}") + private String defXmlSqlType; + public IPage getList(Page page , UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest){ + IPage iPage = va011Mapper.getList(page,udiwmsBasicSkPrescribeRequest); + List list = iPage.getRecords(); + List listNew = new ArrayList<>(); + list.sort( Comparator.comparing(VA011::getPrescribedate)); + if(list!=null && list.size() >0){ + String lastSql = ""; + if(defXmlSqlType.equals("Mysql")){ + lastSql = "AND limit = 1"; + + }else if(defXmlSqlType.equals("Oracle")){ + lastSql = "AND rownum = 1"; + } + for (VA011 va011 : list) { + + + VA011 va011New = va011Mapper.selectOne(new QueryWrapper().eq("code",va011.getCode()).last(lastSql)); + listNew.add(va011New); + } + } + iPage.setRecords(listNew); + return iPage; + }; } diff --git a/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA001Mapper.java b/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA001Mapper.java index 591c5e5..e51f362 100644 --- a/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA001Mapper.java +++ b/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA001Mapper.java @@ -2,6 +2,7 @@ package com.glxp.mipsdl.thirddao.hlfyyy; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.glxp.mipsdl.entity.hlfyyy.VA001; import com.glxp.mipsdl.req.base.UdiwmsUnitRequest; @@ -13,6 +14,6 @@ import java.util.List; @Mapper @DS("hlfyyySql") public interface VA001Mapper extends BaseMapper { - List filterList(Page page, @Param("req") UdiwmsUnitRequest udiwmsUnitRequest); + IPage filterList(Page page, @Param("req") UdiwmsUnitRequest udiwmsUnitRequest); } diff --git a/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA011Mapper.java b/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA011Mapper.java index 18a9316..3ba0592 100644 --- a/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA011Mapper.java +++ b/src/main/java/com/glxp/mipsdl/thirddao/hlfyyy/VA011Mapper.java @@ -2,10 +2,17 @@ package com.glxp.mipsdl.thirddao.hlfyyy; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.glxp.mipsdl.entity.hlfyyy.VA010; import com.glxp.mipsdl.entity.hlfyyy.VA011; +import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper @DS("hlfyyySql") public interface VA011Mapper extends BaseMapper { + IPage getList(Page page, @Param("req") UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest); + } diff --git a/src/main/resources/mybatis/mapper/master/hlfyyy/VA010Mapper.xml b/src/main/resources/mybatis/mapper/master/hlfyyy/VA010Mapper.xml index 97c22b0..e6aae82 100644 --- a/src/main/resources/mybatis/mapper/master/hlfyyy/VA010Mapper.xml +++ b/src/main/resources/mybatis/mapper/master/hlfyyy/VA010Mapper.xml @@ -17,31 +17,23 @@ - CODE, - SICKCODE, - SICKNAME, - PRESCRIBEDATE, - CREATEDR, - AMOUNT, - DEPTCODE, - DEPTNAME, - DIAGNOSIS, - REMARK + CODE diff --git a/src/main/resources/mybatis/mapper/master/hlfyyy/VA011Mapper.xml b/src/main/resources/mybatis/mapper/master/hlfyyy/VA011Mapper.xml index a8d8b79..578f1b1 100644 --- a/src/main/resources/mybatis/mapper/master/hlfyyy/VA011Mapper.xml +++ b/src/main/resources/mybatis/mapper/master/hlfyyy/VA011Mapper.xml @@ -23,4 +23,67 @@ CODEFK, CODE, SICKCODE, SICKNAME, PRESCRIBEDATE, CREATEDR, AMOUNT, DEPTCODE, DEPTNAME, INVCODE, SETTLENO, DIAGNOSIS, REMARK + +