优化sql

dev_2.5_ocean
qiuyt 4 months ago
parent 5b743e664f
commit 837d596f0f

@ -35,7 +35,7 @@ public class AlihealthBusController extends BaseController {
@Log(title = "获取阿里药品的采购单码明细", businessType = BusinessType.OTHER)
public BaseResponse getAliCode() {
List<IoCollectCodeBackup> list = ioCollectCodeBackMapper.filterNotRelCode(new IoCollectCodeRequest());
List<IoCollectCodeBackup> list = ioCollectCodeBackMapper.filterNotRelCode();
if(CollUtil.isNotEmpty(list)){
AlihealthGetRelCodeReqeust alihealthGetRelCodeReqeust = new AlihealthGetRelCodeReqeust();
alihealthGetRelCodeReqeust.setIoCollectCodeBackupList(list);

@ -60,7 +60,7 @@ public class AliRelCodeDetailTask implements SchedulingConfigurer {
private void process() {
String paramValue = systemParamConfigService.selectValueByParamKey("aliRelCodeDetail");
if (StrUtil.isNotEmpty(paramValue) && paramValue.equals("1")) {
List<IoCollectCodeBackup> list = ioCollectCodeBackMapper.filterNotRelCode(new IoCollectCodeRequest());
List<IoCollectCodeBackup> list = ioCollectCodeBackMapper.filterNotRelCode();
List<IoOrderEntity> ioOrderEntityList = new ArrayList<>();
log.error("开始补救上传和拉取关联关系列表==="+list);
if (CollectionUtil.isNotEmpty(list)) {

@ -28,19 +28,19 @@
AND iccb.workPlaceCode LIKE concat('%', #{workPlaceCode}, '%')
</if>
<if test="code != '' and code != null">
AND iccb.code LIKE concat('%', #{code}, '%')
AND iccb.code LIKE concat( #{code}, '%')
</if>
<if test="billNo != null and billNo != ''">
AND iccb.billNo LIKE concat('%', #{billNo}, '%')
AND iccb.billNo LIKE concat(#{billNo}, '%')
</if>
<if test="relId != null and relId != ''">
AND iccb.relId = #{relId}
</if>
<if test="fromType != null and fromType != ''">
AND iccb.fromType LIKE concat('%', #{fromType}, '%')
AND iccb.fromType LIKE concat( #{fromType}, '%')
</if>
<if test="fromCorp != null and fromCorp != ''">
AND iccb.fromCorp LIKE concat('%', #{fromCorp}, '%')
AND iccb.fromCorp LIKE concat( #{fromCorp}, '%')
</if>
</where>
group by iccb.id
@ -48,17 +48,32 @@
</select>
<select id="filterNotRelCode" resultType="com.glxp.api.entity.collect.IoCollectCodeBackup">
select * from io_collect_code_backup a where EXISTS(
select * from basic_products b where LEFT(a.code, 7) = b.nameCode and packLevel >1
) and not EXISTS (select 1 from rel_code_detail c where c.parentCode = a.code)
<if test="fromCorp != null and fromCorp != ''">
AND iccb.fromCorp LIKE concat('%', #{fromCorp}, '%')
</if>
SELECT a.*
FROM io_collect_code_backup a
WHERE EXISTS (
-- 子查询:检查是否存在满足条件的 basic_products 记录
SELECT 1
FROM basic_products b
WHERE LEFT(a.code, 7) = b.nameCode
AND b.packLevel > 1
)
AND NOT EXISTS (
-- 子查询:检查是否不存在满足条件的 rel_code_detail 记录
SELECT 1
FROM rel_code_detail c
WHERE c.parentCode = a.code
);
</select>
<select id="filterlargePackage" resultType="com.glxp.api.entity.collect.IoCollectCodeBackup">
select * from io_collect_code_backup a where EXISTS(
select * from basic_products b where LEFT(a.code, 7) = b.nameCode and packLevel >1
SELECT a.*
FROM io_collect_code_backup a
WHERE EXISTS (
-- 子查询:检查是否存在满足条件的 basic_products 记录
SELECT 1
FROM basic_products b
WHERE LEFT(a.code, 7) = b.nameCode
AND b.packLevel > 1
)
</select>
</mapper>

@ -21,16 +21,16 @@
AND iccb.workPlaceCode LIKE concat('%', #{workPlaceCode}, '%')
</if>
<if test="code != '' and code != null">
AND iccb.code LIKE concat('%', #{code}, '%')
AND iccb.code LIKE concat( #{code}, '%')
</if>
<if test="billNo != null and billNo != ''">
AND iccb.billNo LIKE concat('%', #{billNo}, '%')
AND iccb.billNo LIKE concat( #{billNo}, '%')
</if>
<if test="fromType != null and fromType != ''">
AND iccb.fromType LIKE concat('%', #{fromType}, '%')
AND iccb.fromType LIKE concat( #{fromType}, '%')
</if>
<if test="fromCorp != null and fromCorp != ''">
AND iccb.fromCorp LIKE concat('%', #{fromCorp}, '%')
AND iccb.fromCorp LIKE concat( #{fromCorp}, '%')
</if>
</where>
group by iccb.id

@ -4,7 +4,8 @@
<select id="filterList" resultType="com.glxp.api.res.collect.CollectOrderBizResponse">
SELECT icobb.*,
bp.nameCode diCode,
bp.nameCode
diCode,
bp.zczbhhzbapzbh,
bp.packUnit,
bp.prepnSpec,
@ -24,16 +25,16 @@
AND icobb.relId = #{relId}
</if>
<if test="cpmctymc != null and cpmctymc != ''">
AND icobb.cpmctymc LIKE concat('%', #{cpmctymc}, '%')
AND icobb.cpmctymc LIKE concat( #{cpmctymc}, '%')
</if>
<if test="unionCode != '' and unionCode != null">
and (
bp.nameCode LIKE concat('%', #{unionCode}, '%')
or bp.ybbm LIKE concat('%', #{unionCode}, '%')
bp.nameCode LIKE concat( #{unionCode}, '%')
or bp.ybbm LIKE concat(#{unionCode}, '%')
or bp.sptm LIKE concat('%', #{unionCode}, '%'))
</if>
<if test="ggxh != '' and ggxh != null">
AND ggxh LIKE concat('%', #{ggxh}, '%')
AND ggxh LIKE concat( #{ggxh}, '%')
</if>
</where>
group by icobb.id

@ -5288,3 +5288,10 @@ CALL Modify_index('io_collect_order_backup', 'workPlaceCode', 'idex_backup_workP
CALL Modify_UNIQUE_index('io_split_fifo_code', 'code', 'idex_fifo_code', 'BTREE');
CALL Modify_UNIQUE_index('io_split_code', 'code', 'idex_split_code', 'BTREE');
CALL Modify_index('io_split_code', 'workPlaceCode', 'idex_split_workPlaceCode', 'BTREE');
CALL Modify_index('io_collect_code_backup', 'code', 'idex_io_collect_code_backup_code', 'BTREE');
CALL Modify_index('io_collect_code_backup', 'billNo', 'idex_io_collect_code_backup_billNo', 'BTREE');
CALL Modify_index('io_collect_code_backup', 'fromType', 'idex_io_collect_code_backup_fromType', 'BTREE');
CALL Modify_index('io_collect_code_backup', 'fromCorp', 'idex_io_collect_code_backup_fromCorp', 'BTREE');

Loading…
Cancel
Save