scpwxyy
chenhc 10 months ago
parent 57c0a493e6
commit 86a8d49558

@ -124,6 +124,8 @@ public class CtqyyClient extends CommonHttpClient {
@Resource
private VYpzsPresInfoMapper vYpzsPresInfoMapper;
@Resource
private VYpzsPresInfoReturnMapper vYpzsPresInfoReturnMapper;
@Resource
private VYpzsPlanInfoMapper vYpzsPlanInfoMapper;
@Resource
private VYpzsIoInfoMapper vYpzsIoInfoMapper;
@ -142,8 +144,6 @@ public class CtqyyClient extends CommonHttpClient {
@Resource
VInsurNationGoodsReturnMapper vInsurNationGoodsReturnMapper;
@Resource
VYpzsPresInfoReturnMapper vYpzsPresInfoReturnMapper;
@Resource
private ThrProductsDao thrProductsDao;
/**
@ -1390,10 +1390,10 @@ public class CtqyyClient extends CommonHttpClient {
.or().like(VInsurNationGoodsPhysic::getPSN_NO, key)
);
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsPhysic::getPSN_NAME, fromCorpName));
// TODO: 2024/9/19 拉取处方时改成拉取v_ypzs_pres_info
IPage<VInsurNationGoodsPhysic> page = goodsPhysicMapper.selectGroupedWithPagination(new Page<VInsurNationGoodsPhysic>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()),
// 拉取处方时改成拉取v_ypzs_pres_info
IPage<VYpzsPresInfo> page = vYpzsPresInfoMapper.selectGroupedWithPagination(new Page<VYpzsPresInfo>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()),
udiwmsBasicSkPrescribeRequest);
return this.covertSellOrder(udiwmsBasicSkPrescribeRequest, page);
} else {
LambdaQueryWrapper<VInsurNationGoodsReturn> wrapper = new LambdaQueryWrapper<>();
@ -1413,8 +1413,8 @@ public class CtqyyClient extends CommonHttpClient {
);
wrapper.and(StrUtil.isNotEmpty(code), t -> t.eq(VInsurNationGoodsReturn::getAPPLY_NO, code));
wrapper.and(StrUtil.isNotEmpty(fromCorpName), t -> t.eq(VInsurNationGoodsReturn::getPSN_NAME, fromCorpName));
// TODO: 2024/9/19 拉取处方退货时改成拉取v_ypzs_pres_info_return
IPage<VInsurNationGoodsReturn> page = vInsurNationGoodsReturnMapper.selectGroupedWithPagination(new Page<VInsurNationGoodsReturn>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()),
//拉取处方退货时改成拉取v_ypzs_pres_info_return
IPage<VYpzsPresInfoReturn> page = vYpzsPresInfoReturnMapper.selectGroupedWithPagination(new Page<VYpzsPresInfoReturn>(udiwmsBasicSkPrescribeRequest.getPage(), udiwmsBasicSkPrescribeRequest.getLimit()),
udiwmsBasicSkPrescribeRequest);
return this.covertReturnOrder(udiwmsBasicSkPrescribeRequest, page);
}
@ -1649,23 +1649,23 @@ public class CtqyyClient extends CommonHttpClient {
* @param udiwmsBasicSkPrescribeRequest
* @return
*/
private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VInsurNationGoodsPhysic> page) {
List<VInsurNationGoodsPhysic> presInfoEntities = page.getRecords();
List<VInsurNationGoodsPhysic> vInsurNationGoodsPhysics = new ArrayList<>();
private BaseResponse covertSellOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VYpzsPresInfo> page) {
List<VYpzsPresInfo> presInfoEntities = page.getRecords();
List<VYpzsPresInfo> vInsurNationGoodsPhysics = new ArrayList<>();
if (CollUtil.isNotEmpty(presInfoEntities)) {
List<String> collect = presInfoEntities.stream().map(VInsurNationGoodsPhysic::getRXNO).collect(Collectors.toList());
LambdaQueryWrapper<VInsurNationGoodsPhysic> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VInsurNationGoodsPhysic::getRXNO, collect);
vInsurNationGoodsPhysics = goodsPhysicMapper.selectList(wrapper1);
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfo::getPHYSIC_CODE).collect(Collectors.toList());
LambdaQueryWrapper<VYpzsPresInfo> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VYpzsPresInfo::getPHYSIC_CODE, collect);
vInsurNationGoodsPhysics = vYpzsPresInfoMapper.selectList(wrapper1);
}
// TODO: 2024/9/19 这边在转换的时候就不能用VInsurNationGoodsPhysic
if (CollUtil.isNotEmpty(vInsurNationGoodsPhysics)) {
Map<String, List<VInsurNationGoodsPhysic>> groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream()
.collect(Collectors.groupingBy(VInsurNationGoodsPhysic::getRXNO));
Map<String, List<VYpzsPresInfo>> groupedByPrescribeNumber = vInsurNationGoodsPhysics.stream()
.collect(Collectors.groupingBy(VYpzsPresInfo::getPHYSIC_CODE));
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
groupedByPrescribeNumber.forEach((key, value) -> {
VInsurNationGoodsPhysic presInfoEntity = value.get(0);
VYpzsPresInfo presInfoEntity = value.get(0);
StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder();
ioCollectOrder.setBillNo(presInfoEntity.getRXNO());
@ -1728,22 +1728,22 @@ public class CtqyyClient extends CommonHttpClient {
}
}
private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VInsurNationGoodsReturn> page) {
List<VInsurNationGoodsReturn> presInfoEntities = page.getRecords();
List<VInsurNationGoodsReturn> vInsurNationGoodsReturns = new ArrayList<>();
private BaseResponse covertReturnOrder(UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest, IPage<VYpzsPresInfoReturn> page) {
List<VYpzsPresInfoReturn> presInfoEntities = page.getRecords();
List<VYpzsPresInfoReturn> vInsurNationGoodsReturns = new ArrayList<>();
if (CollUtil.isNotEmpty(presInfoEntities)) {
List<String> collect = presInfoEntities.stream().map(VInsurNationGoodsReturn::getAPPLY_NO).collect(Collectors.toList());
LambdaQueryWrapper<VInsurNationGoodsReturn> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VInsurNationGoodsReturn::getAPPLY_NO, collect);
vInsurNationGoodsReturns = vInsurNationGoodsReturnMapper.selectList(wrapper1);
List<String> collect = presInfoEntities.stream().map(VYpzsPresInfoReturn::getAPPLY_NO).collect(Collectors.toList());
LambdaQueryWrapper<VYpzsPresInfoReturn> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.in(VYpzsPresInfoReturn::getAPPLY_NO, collect);
vInsurNationGoodsReturns = vYpzsPresInfoReturnMapper.selectList(wrapper1);
}
// TODO: 2024/9/19 这边在转换的时候就不能用vInsurNationGoodsReturns
if (CollUtil.isNotEmpty(vInsurNationGoodsReturns)) {
Map<String, List<VInsurNationGoodsReturn>> groupedByPrescribeNumber = vInsurNationGoodsReturns.stream()
.collect(Collectors.groupingBy(VInsurNationGoodsReturn::getAPPLY_NO));
Map<String, List<VYpzsPresInfoReturn>> groupedByPrescribeNumber = vInsurNationGoodsReturns.stream()
.collect(Collectors.groupingBy(VYpzsPresInfoReturn::getAPPLY_NO));
List<IoCollectOrder> ioCollectOrders = new ArrayList<>();
groupedByPrescribeNumber.forEach((key, value) -> {
VInsurNationGoodsReturn presInfoEntity = value.get(0);
VYpzsPresInfoReturn presInfoEntity = value.get(0);
StringBuilder errorMsg = new StringBuilder();
IoCollectOrder ioCollectOrder = new IoCollectOrder();
ioCollectOrder.setBillNo(presInfoEntity.getAPPLY_NO());

@ -2,10 +2,18 @@ package com.glxp.mipsdl.thirddao.ctqyy;
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.ctqyy.VInsurNationGoodsPhysic;
import com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo;
import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@DS("ctqyySql")
@Mapper
public interface VYpzsPresInfoMapper extends BaseMapper<VYpzsPresInfo> {
IPage<VYpzsPresInfo> selectGroupedWithPagination(Page<VYpzsPresInfo> vYpzsPresInfoPage,@Param("udiwmsBasicSkPrescribeRequest") UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest);
}

@ -2,10 +2,17 @@ package com.glxp.mipsdl.thirddao.ctqyy;
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.ctqyy.VInsurNationGoodsReturn;
import com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfoReturn;
import com.glxp.mipsdl.req.base.UdiwmsBasicSkPrescribeRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@DS("ctqyySql")
@Mapper
public interface VYpzsPresInfoReturnMapper extends BaseMapper<VYpzsPresInfoReturn> {
IPage<VYpzsPresInfoReturn> selectGroupedWithPagination(Page<VYpzsPresInfoReturn> vYpzsPresInfoReturnPage, @Param("udiwmsBasicSkPrescribeRequest")UdiwmsBasicSkPrescribeRequest udiwmsBasicSkPrescribeRequest);
}

@ -57,7 +57,7 @@
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.ctqyy.VInsurNationGoodsPhysic">
SELECT RXNO
SELECT PHYSIC_CODE
FROM v_insur_nation_goods_physic
<where>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''">
@ -81,16 +81,15 @@
and (PSN_NAME like '%' || #{udiwmsBasicSkPrescribeRequest.fromCorpName} || '%' )
</if>
<if test="udiwmsBasicSkPrescribeRequest.key != null and udiwmsBasicSkPrescribeRequest.key != ''">
and (STOOUT_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
and (
STOOUT_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or RXNO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PSN_NAME like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PSN_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
)
</if>
</where>
GROUP BY
RXNO
PHYSIC_CODE
ORDER BY
RXNO
PHYSIC_CODE
</select>
</mapper>

@ -23,4 +23,39 @@
LAY_TIME, STOOUT_NO, PRESCRIBE_NUMBER, PHYSIC_CODE, PHYSIC_NAME, BATCH_NUMBER, PACK_SPEC,
LAY_PHYSIC_QUANTITY, PHYSIC_UNIT, SICK_ID, RESIDENCE_NO, COUNTRY_CODE, CONFECT_MAN
</sql>
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfo">
SELECT PHYSIC_CODE
FROM v_ypzs_pres_info
<where>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''">
<![CDATA[
and LAY_TIME >= TO_DATE(#{udiwmsBasicSkPrescribeRequest.startTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.endTime != null and udiwmsBasicSkPrescribeRequest.endTime != ''">
<![CDATA[
and LAY_TIME <= TO_DATE(#{udiwmsBasicSkPrescribeRequest.endTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.code != null and udiwmsBasicSkPrescribeRequest.code != ''">
and ( STOOUT_NO = #{udiwmsBasicSkPrescribeRequest.code}
or PHYSIC_CODE = #{udiwmsBasicSkPrescribeRequest.code}
)
</if>
<if test="udiwmsBasicSkPrescribeRequest.key != null and udiwmsBasicSkPrescribeRequest.key != ''">
and (STOOUT_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PHYSIC_CODE like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
)
</if>
</where>
GROUP BY
PHYSIC_CODE
ORDER BY
PHYSIC_CODE
</select>
</mapper>

@ -27,4 +27,41 @@
PHYSIC_CODE, PHYSIC_NAME, PHYSIC_SPEC, QUANTITY, PHYSIC_UNIT, PRICE, COST, BATCH_NUMBER,
FEE_SEQUENCE_NO
</sql>
<select id="selectGroupedWithPagination" resultType="com.glxp.mipsdl.entity.ctqyy.VYpzsPresInfoReturn">
SELECT APPLY_NO
FROM v_ypzs_pres_info_return
<where>
<if test="udiwmsBasicSkPrescribeRequest.startTime != null and udiwmsBasicSkPrescribeRequest.startTime != ''">
<![CDATA[
and SEL_RETN_TIME >= TO_DATE(#{udiwmsBasicSkPrescribeRequest.startTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.endTime != null and udiwmsBasicSkPrescribeRequest.endTime != ''">
<![CDATA[
and SEL_RETN_TIME <= TO_DATE(#{udiwmsBasicSkPrescribeRequest.endTime}
, 'YYYY-MM-DD HH24:MI:SS')
]]>
</if>
<if test="udiwmsBasicSkPrescribeRequest.code != null and udiwmsBasicSkPrescribeRequest.code != ''">
and (APPLY_NO = #{udiwmsBasicSkPrescribeRequest.code})
</if>
<if test="udiwmsBasicSkPrescribeRequest.fromCorpName != null and udiwmsBasicSkPrescribeRequest.fromCorpName != ''">
and (PSN_NAME like '%' || #{udiwmsBasicSkPrescribeRequest.fromCorpName} || '%' )
</if>
<if test="udiwmsBasicSkPrescribeRequest.key != null and udiwmsBasicSkPrescribeRequest.key != ''">
and (APPLY_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} || '%'
or PSN_NAME like '%' ||#{udiwmsBasicSkPrescribeRequest.key} || '%'
or PSN_NO like '%' || #{udiwmsBasicSkPrescribeRequest.key} ||'%'
)
</if>
</where>
GROUP BY
APPLY_NO
ORDER BY
APPLY_NO
</select>
</mapper>
Loading…
Cancel
Save