湖里妇幼初始化

Lhxyy
qiuyt 7 months ago
parent 40e980cf36
commit 0db6897c08

@ -16,7 +16,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.PageInfo;
import com.glxp.mipsdl.client.CommonHttpClient;
import com.glxp.mipsdl.client.hlfyyy.entity.InvCodeResultEntity;
@ -186,6 +185,10 @@ public class HlfyyyClient extends CommonHttpClient {
@Resource
private VA003Mapper va003Mapper;
@Resource
private VA006Mapper va006Mapper;
@Resource
private VA006MxMapper va006MxMapper;
@Resource
private VA010Mapper va010Mapper;
@Resource
private VA010MxMapper va010MxMapper;
@ -193,6 +196,10 @@ public class HlfyyyClient extends CommonHttpClient {
private VA011Mapper va011Mapper;
@Resource
private VA011MxMapper va011MxMapper;
@Resource
private VA015Mapper va015Mapper;
@Resource
private VA015MxMapper va015MxMapper;
/**
* xml
@ -230,7 +237,6 @@ public class HlfyyyClient extends CommonHttpClient {
udiwmsUnitRequest.setDatabaseProductName(getDataSourceType());
IPage<VA001> iPage = va001Service.filterList(udiwmsUnitRequest);
log.info("解析湖里妇幼返回往来单位,返回结果:{}", iPage.getRecords());
PageInfo<VA001> pageInfo = new PageInfo<>(iPage.getRecords());
PageSimpleResponse<VA001> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(iPage.getTotal());
pageSimpleResponse.setList(iPage.getRecords());
@ -1471,6 +1477,19 @@ public class HlfyyyClient extends CommonHttpClient {
}
}
@Override
public BaseResponse getPrescribesQx(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest) {
if (IntUtil.value(udiwmsBasicSkPrescribeRequest.getInOutType()) == 0) {
udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType());
IPage<VA006> iPage = va006Service.getList(new Page<VA006>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), udiwmsBasicSkPrescribeRequest);
return this.covertSellOrderQx(udiwmsBasicSkPrescribeRequest, iPage);
} else {
udiwmsBasicSkPrescribeRequest.setDatabaseProductName(getDataSourceType());
IPage<VA015> iPage = va015Service.getList(new Page<VA015>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()), udiwmsBasicSkPrescribeRequest);
return this.covertReturnOrderQx(udiwmsBasicSkPrescribeRequest, iPage);
}
}
/**
@ -1752,6 +1771,8 @@ public class HlfyyyClient extends CommonHttpClient {
if (CollUtil.isNotEmpty(itemDetails)) {
itemDetails.forEach(entity -> {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
BeanUtils.copyProperties(entity,collectOrderBiz);
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getItemcode()));
if (CollUtil.isNotEmpty(basicUdirelEntities)) {
BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0);
@ -1762,12 +1783,12 @@ public class HlfyyyClient extends CommonHttpClient {
collectOrderBiz.setGgxh(entity.getBzgg());
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
collectOrderBiz.setCount(IntUtil.value(entity.getCount()));
collectOrderBiz.setCount(IntUtil.value(entity.getMeasurecount()));
collectOrderBiz.setThrCode(entity.getItemcode());
collectOrderBiz.setCpmctymc(entity.getItemname());
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
collectOrderBiz.setRemark1(entity.getRemark());
// collectOrderBiz.setRemark1(entity.getRemark());
collectOrderBiz.setNameCode(entity.getItemcode());
collectOrderBiz.setTagStatus(1);
collectOrderBiz.setUnTagCount(0);
@ -1865,6 +1886,7 @@ public class HlfyyyClient extends CommonHttpClient {
if (CollUtil.isNotEmpty(itemDetails)) {
itemDetails.forEach(entity -> {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
BeanUtils.copyProperties(entity,collectOrderBiz);
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().eq(BasicUdirelEntity::getMainId, entity.getItemcode()));
if (CollUtil.isNotEmpty(basicUdirelEntities)) {
BasicUdirelEntity basicUdirelEntity = basicUdirelEntities.get(0);
@ -1875,12 +1897,12 @@ public class HlfyyyClient extends CommonHttpClient {
collectOrderBiz.setGgxh(entity.getBzgg());
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
collectOrderBiz.setCount(IntUtil.value(entity.getCount()));
collectOrderBiz.setCount(IntUtil.value(entity.getMeasurecount()));
collectOrderBiz.setThrCode(entity.getItemcode());
collectOrderBiz.setCpmctymc(entity.getItemname());
collectOrderBiz.setOrderIdFk(ioCollectOrder.getBillNo());
collectOrderBiz.setRemark1(entity.getRemark());
// collectOrderBiz.setRemark1(entity.getRemark());
collectOrderBiz.setNameCode(entity.getItemcode());
collectOrderBiz.setTagStatus(1);
collectOrderBiz.setUnTagCount(0);
@ -2207,4 +2229,204 @@ public class HlfyyyClient extends CommonHttpClient {
}
/**
*
*
* @param udiwmsBasicSkPrescribeRequest
* @return
*/
private BaseResponse covertSellOrderQx(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VA006> iPage) {
List<VA006> headList = iPage.getRecords();
// log.info("udiwmsBasicSkPrescribeRequest=="+udiwmsBasicSkPrescribeRequest+"====="+headList);
if (CollUtil.isNotEmpty(headList)) {
List<String> codefks = headList.stream().map(VA006::getCode).collect(Collectors.toList());
LambdaQueryWrapper<VA006Mx> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VA006Mx::getCodefk, codefks);
List<VA006Mx> va006MxList = va006MxMapper.selectList(wrapper1);
Map<String, List<VA006Mx>> detailsMap = new HashMap<>();
if (CollUtil.isNotEmpty(va006MxList)) {
detailsMap = va006MxList.stream()
.collect(Collectors.groupingBy(VA006Mx::getCodefk));
}
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
Map<String, List<VA006Mx>> finalDetailsMap = detailsMap;
headList.forEach(item -> {
StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder();
ioCollectOrder.setBillNo(item.getCode());
ioCollectOrder.setFromType("HIS系统");
ioCollectOrder.setFromCorp(item.getDeptcode());
ioCollectOrder.setWorkPlaceCode(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode());
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<VA006Mx> itemDetails = finalDetailsMap.get(item.getCode());
List<IoCollectOrderBiz> bizList = new ArrayList<>();
if (CollUtil.isNotEmpty(itemDetails)) {
itemDetails.forEach(entity -> {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
BeanUtils.copyProperties(entity,collectOrderBiz);
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().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(";");
}
collectOrderBiz.setGgxh(entity.getGgxh());
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
collectOrderBiz.setCount(IntUtil.value(entity.getMeasurecount()));
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(summarizeByCode(bizList));
ioCollectOrders.add(ioCollectOrder);
});
PageSimpleResponse<IoCollectOrder> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(iPage.getTotal());
pageSimpleResponse.setList(ioCollectOrders);
return ResultVOUtils.success(pageSimpleResponse);
} else {
return ResultVOUtils.error(500, "未查询到数据!");
}
}
private BaseResponse covertReturnOrderQx(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VA015> iPage) {
List<VA015> headList = iPage.getRecords();
// log.info("udiwmsBasicSkPrescribeRequest=="+udiwmsBasicSkPrescribeRequest+"====="+headList);
if (CollUtil.isNotEmpty(headList)) {
List<String> codefks = headList.stream().map(VA015::getCode).collect(Collectors.toList());
LambdaQueryWrapper<VA015Mx> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VA015Mx::getCodefk, codefks);
List<VA015Mx> va015MxList = va015MxMapper.selectList(wrapper1);
Map<String, List<VA015Mx>> detailsMap = new HashMap<>();
if (CollUtil.isNotEmpty(va015MxList)) {
detailsMap = va015MxList.stream()
.collect(Collectors.groupingBy(VA015Mx::getCodefk));
}
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
Map<String, List<VA015Mx>> finalDetailsMap = detailsMap;
headList.forEach(item -> {
StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder();
ioCollectOrder.setBillNo(item.getCode());
ioCollectOrder.setFromType("HIS系统");
ioCollectOrder.setFromCorp(item.getDeptcode());
ioCollectOrder.setWorkPlaceCode(udiwmsBasicSkPrescribeRequest.getWorkPlaceCode());
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<VA015Mx> itemDetails = finalDetailsMap.get(item.getCode());
List<IoCollectOrderBiz> bizList = new ArrayList<>();
if (CollUtil.isNotEmpty(itemDetails)) {
itemDetails.forEach(entity -> {
IoCollectOrderBiz collectOrderBiz = new IoCollectOrderBiz();
BeanUtils.copyProperties(entity,collectOrderBiz);
List<BasicUdirelEntity> basicUdirelEntities = basicUdirelDao.selectList(new LambdaQueryWrapper<BasicUdirelEntity>().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(";");
}
collectOrderBiz.setGgxh(entity.getGgxh());
collectOrderBiz.setMeasureUnit(entity.getMeasureunit());
collectOrderBiz.setCount(IntUtil.value(entity.getMeasurecount()));
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(summarizeByCode(bizList));
ioCollectOrders.add(ioCollectOrder);
});
PageSimpleResponse<IoCollectOrder> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(iPage.getTotal());
pageSimpleResponse.setList(ioCollectOrders);
return ResultVOUtils.success(pageSimpleResponse);
} else {
return ResultVOUtils.error(500, "未查询到数据!");
}
}
}

@ -2,7 +2,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;
import com.glxp.mipsdl.req.base.UdiwmsUnitRequest;
import com.glxp.mipsdl.thirddao.hlfyyy.VA001Mapper;

@ -2,7 +2,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.PageInfo;
import com.glxp.mipsdl.entity.hlfyyy.VA010;
import com.glxp.mipsdl.req.base.UdiwmsWarehouseRequest;
import com.glxp.mipsdl.res.PageSimpleResponse;

@ -1,10 +1,50 @@
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.VA006Mapper;
import com.glxp.mipsdl.thirddao.hlfyyy.VA010Mapper;
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.VA006;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@Service
public class VA006Service extends ServiceImpl<VA006Mapper, VA006> {
@Resource
private VA006Mapper va006Mapper;
@Value("${DSF_XML_SQL_TYPE:Mysql}")
private String defXmlSqlType;
public IPage<VA006> getList(Page page , UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest){
IPage<VA006> iPage = va006Mapper.getList(page,udiwmsBasicSkPrescribeRequest);
List<VA006> list = iPage.getRecords();
List<VA006> listNew = new ArrayList<>();
list.sort( Comparator.comparing(VA006::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 (VA006 va006 : list) {
VA006 va006New = va006Mapper.selectOne(new QueryWrapper<VA006>().eq("code",va006.getCode()).last(lastSql));
listNew.add(va006New);
}
}
iPage.setRecords(listNew);
return iPage;
}
}

@ -46,6 +46,6 @@ public class VA010Service extends ServiceImpl<VA010Mapper, VA010> {
iPage.setRecords(listNew);
return iPage;
};
}
}

@ -1,10 +1,50 @@
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.VA010Mapper;
import com.glxp.mipsdl.thirddao.hlfyyy.VA015Mapper;
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.VA015;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@Service
public class VA015Service extends ServiceImpl<VA015Mapper, VA015> {
@Resource
private VA015Mapper va015Mapper;
@Value("${DSF_XML_SQL_TYPE:Mysql}")
private String defXmlSqlType;
public IPage<VA015> getList(Page page , UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest){
IPage<VA015> iPage = va015Mapper.getList(page,udiwmsBasicSkPrescribeRequest);
List<VA015> list = iPage.getRecords();
List<VA015> listNew = new ArrayList<>();
list.sort( Comparator.comparing(VA015::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 (VA015 va015 : list) {
VA015 va015New = va015Mapper.selectOne(new QueryWrapper<VA015>().eq("code",va015.getCode()).last(lastSql));
listNew.add(va015New);
}
}
iPage.setRecords(listNew);
return iPage;
}
}

@ -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.VA006;
import com.glxp.mipsdl.entity.hlfyyy.VA010;
import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
@DS("hlfyyySql")
public interface VA006Mapper extends BaseMapper<VA006> {
IPage<VA006> getList(Page page, @Param("req") UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest);
}

@ -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.VA006;
import com.glxp.mipsdl.entity.hlfyyy.VA015;
import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
@DS("hlfyyySql")
public interface VA015Mapper extends BaseMapper<VA015> {
IPage<VA015> getList(Page page, @Param("req") UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest);
}

@ -20,4 +20,66 @@
CODE, SICKCODE, SICKNAME, PRESCRIBEDATE, CREATEDR, AMOUNT, DEPTCODE, DEPTNAME, DIAGNOSIS,
REMARK
</sql>
<select id="getList" resultType="com.glxp.mipsdl.entity.hlfyyy.VA006">
SELECT
CODE
FROM
v_a006
WHERE
1 = 1
<!-- 业务类型条件 -->
<if test="req.busType != null">
<if test="req.busType == 'YPCF002'">
AND REMARK ='门诊'
</if>
<if test="req.busType != 'YPCF002'">
AND REMARK !='门诊'
</if>
</if>
<!-- 时间范围条件 -->
<if test="req.startTime != null and req.endTime != null">
AND
<choose>
<when test="req.databaseProductName == 'MySQL'">
<![CDATA[
STR_TO_DATE(PRESCRIBEDATE, '%Y/%c/%e %H:%i:%s') >= #{req.startTime}
AND STR_TO_DATE(PRESCRIBEDATE, '%Y/%c/%e %H:%i:%s') < #{req.endTime}
]]>
</when>
<when test="req.databaseProductName == 'Oracle'">
<![CDATA[
PRESCRIBEDATE >= TO_TIMESTAMP(#{req.startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND PRESCRIBEDATE < TO_TIMESTAMP(#{req.endTime}, 'YYYY-MM-DD HH24:MI:SS')
]]>
</when>
</choose>
</if>
<!-- 其他条件 -->
<if test="req.code != null and req.code != ''">
AND CODE = #{req.code}
</if>
<if test="req.fromCorpName != null and req.fromCorpName != ''">
AND DEPTNAME = #{req.fromCorpName}
</if>
<if test="req.key != null and req.key != ''">
<if test="req.databaseProductName == 'MySQL'">
AND (
CODE LIKE CONCAT('%', #{req.key}, '%')
OR DEPTNAME LIKE CONCAT('%', #{req.key}, '%')
)
</if>
<if test="req.databaseProductName == 'Oracle'">
AND (
CODE like '%' || #{req.key} || '%'
or DEPTNAME like '%' || #{req.key} || '%'
)
</if>
</if>
<!-- 分组和排序 -->
GROUP BY CODE
</select>
</mapper>

@ -20,4 +20,66 @@
CODE, SICKCODE, SICKNAME, PRESCRIBEDATE, CREATEDR, AMOUNT, DEPTCODE, DEPTNAME, DIAGNOSIS,
REMARK
</sql>
<select id="getList" resultType="com.glxp.mipsdl.entity.hlfyyy.VA015">
SELECT
CODE
FROM
v_a006
WHERE
1 = 1
<!-- 业务类型条件 -->
<if test="req.busType != null">
<if test="req.busType == 'YPCF002'">
AND REMARK ='门诊'
</if>
<if test="req.busType != 'YPCF002'">
AND REMARK !='门诊'
</if>
</if>
<!-- 时间范围条件 -->
<if test="req.startTime != null and req.endTime != null">
AND
<choose>
<when test="req.databaseProductName == 'MySQL'">
<![CDATA[
STR_TO_DATE(PRESCRIBEDATE, '%Y/%c/%e %H:%i:%s') >= #{req.startTime}
AND STR_TO_DATE(PRESCRIBEDATE, '%Y/%c/%e %H:%i:%s') < #{req.endTime}
]]>
</when>
<when test="req.databaseProductName == 'Oracle'">
<![CDATA[
PRESCRIBEDATE >= TO_TIMESTAMP(#{req.startTime}, 'YYYY-MM-DD HH24:MI:SS')
AND PRESCRIBEDATE < TO_TIMESTAMP(#{req.endTime}, 'YYYY-MM-DD HH24:MI:SS')
]]>
</when>
</choose>
</if>
<!-- 其他条件 -->
<if test="req.code != null and req.code != ''">
AND CODE = #{req.code}
</if>
<if test="req.fromCorpName != null and req.fromCorpName != ''">
AND DEPTNAME = #{req.fromCorpName}
</if>
<if test="req.key != null and req.key != ''">
<if test="req.databaseProductName == 'MySQL'">
AND (
CODE LIKE CONCAT('%', #{req.key}, '%')
OR DEPTNAME LIKE CONCAT('%', #{req.key}, '%')
)
</if>
<if test="req.databaseProductName == 'Oracle'">
AND (
CODE like '%' || #{req.key} || '%'
or DEPTNAME like '%' || #{req.key} || '%'
)
</if>
</if>
<!-- 分组和排序 -->
GROUP BY CODE
</select>
</mapper>

Loading…
Cancel
Save