Commit 34c35e84 by lijingjing

数据录入 - 样品查询优化;

parent dfcbb9b1
...@@ -1333,37 +1333,36 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -1333,37 +1333,36 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
if (null == sampleVO.getEntrustId()) { if (null == sampleVO.getEntrustId()) {
return page; return page;
} }
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", sampleVO.getItemStatus())); // 去除查询样品编号,改为关联查询
if (CollectionUtils.isEmpty(itemList)) { // List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().eq("status", sampleVO.getItemStatus()));
return page; // if (CollectionUtils.isEmpty(itemList)) {
} // return page;
List<Long> sampleIds = new ArrayList<>(); // }
for (EntrustSampleItem item : itemList) { // List<Long> sampleIds = new ArrayList<>();
sampleIds.add(item.getEntrustSampleId()); // for (EntrustSampleItem item : itemList) {
} // sampleIds.add(item.getEntrustSampleId());
// }
// sampleVO.setIds(sampleIds);
sampleVO.setIds(sampleIds);
return page.setRecords(baseMapper.selectVOList(page, sampleVO)); return page.setRecords(baseMapper.selectVOList(page, sampleVO));
} }
@Override @Override
public Page<EntrustSampleVO> pageBySampleLeftHis(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) { public Page<EntrustSampleVO> pageBySampleLeftHis(Page<EntrustSampleVO> page, EntrustSampleVO sampleVO) {
if (null == sampleVO.getEntrustId()) { //
return page; if (null == sampleVO.getEntrustId() || CollectionUtils.isEmpty(sampleVO.getItemStatusList())) {
}
List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", sampleVO.getItemStatusList()));
if (CollectionUtils.isEmpty(itemList)) {
return page; return page;
} }
List<Long> sampleIds = new ArrayList<>(); // 去除查询样品编号,改为关联查询
for (EntrustSampleItem item : itemList) { // List<EntrustSampleItem> itemList = entrustSampleItemService.list(Condition.create().in("status", sampleVO.getItemStatusList()));
sampleIds.add(item.getEntrustSampleId()); // if (CollectionUtils.isEmpty(itemList)) {
} // return page;
// }
// List<Long> sampleIds = new ArrayList<>();
sampleVO.setIds(sampleIds); // for (EntrustSampleItem item : itemList) {
// sampleIds.add(item.getEntrustSampleId());
// }
// sampleVO.setIds(sampleIds);
return page.setRecords(baseMapper.selectVOList(page, sampleVO)); return page.setRecords(baseMapper.selectVOList(page, sampleVO));
} }
......
...@@ -27,41 +27,56 @@ ...@@ -27,41 +27,56 @@
<if test="null!=vo.entrustId"> <if test="null!=vo.entrustId">
AND s.entrust_id = #{vo.entrustId} AND s.entrust_id = #{vo.entrustId}
</if> </if>
</select> </select>
<select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO"> <select id="selectVOList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
SELECT
s.*
FROM entrust_sample s WHERE deleted = 0
<if test="null != vo.entrustId">
AND s.entrust_id = #{vo.entrustId}
</if>
SELECT * FROM entrust_sample WHERE deleted = 0 <if test="null != vo.status">
<if test="null!=vo.entrustId"> AND s.status = #{vo.status}
AND entrust_id = #{vo.entrustId}
</if> </if>
<if test="null!=vo.status"> <if test="null != vo.code">
AND status = #{vo.status} AND s.code LIKE CONCAT('%',#{vo.code},'%')
</if> </if>
<if test="null!=vo.code"> <if test="null != vo.notStatus">
AND code LIKE CONCAT('%',#{vo.code},'%') AND s.status != #{vo.notStatus}
</if> </if>
<if test="null!=vo.notStatus"> <if test="null != vo.itemStatus">
AND status != #{vo.notStatus} AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status = #{vo.itemStatus}
)
</if>
<if test="null != vo.itemStatusList">
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0
and i.entrust_sample_id = s.id
and i.status IN
<foreach collection="vo.itemStatusList" index="index" item="itemStatus" open="(" separator="," close=")">
#{itemStatus}
</foreach>
)
</if> </if>
<if test="null!=vo.ids"> <if test="null!=vo.ids">
AND id IN AND s.id IN
<foreach collection="vo.ids" index="index" item="sampleId" open="(" separator="," close=")"> <foreach collection="vo.ids" index="index" item="sampleId" open="(" separator="," close=")">
#{sampleId} #{sampleId}
</foreach> </foreach>
</if> </if>
order by order_by asc, code ,ctime desc order by s.order_by asc, s.code ,s.ctime desc
</select> </select>
<select id="selectMinStatusByEntrustIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO"> <select id="selectMinStatusByEntrustIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
WITH summary AS ( WITH summary AS (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment