lyfO_o
2021-04-22 a061540bf4c2bdb81edc3898cd27f4ba18512846
src/main/java/com/nanometer/smartlab/dao/OpeReagentStatusDao.xml
@@ -557,4 +557,77 @@
         and house_id = #{warehouseId}
      </if>
   </select>
   <select id="selectExportList" resultType="java.util.Map">
      select oa.article_number articleNumber,
      oa.reagent_code reagentCode,
      oa.remainder,
      bm1.meta_value productHome,
      bm2.meta_value reagentFomart,
      sr.name reagentName,
      sr.cas cas,
      <if test="status != null">
         <choose>
            <when test="status == 1 or status == 2">
               swc.container_code as containerCode,
               sw.name as houseName,
            </when>
         </choose>
      </if>
      ss.name as supplierName
      from ope_reagent_status as oa
      left join sys_reagent sr on oa.reagent_id = sr.id
      left join base_meta bm1 on bm1.id = sr.product_home
      left join base_meta bm2 on bm2.id = sr.reagent_format
      left join sys_supplier as ss on sr.supplier_id = ss.id
      left join sys_user as su on oa.user_id = su.id
      <if test="status != null">
         <choose>
            <when test="status == 1">
               left join sys_warehouse as sw on sw.id = oa.house_id
               left join sys_warehouse_container as swc on swc.id = oa.container_id
            </when>
            <when test="status == 2">
               left join sys_laboratory as sw on sw.id = oa.house_id
               left join sys_laboratory_container as swc on swc.id = oa.container_id
            </when>
         </choose>
      </if>
      where oa.valid_flag = 1
      <if test="reagentId != null and reagentId != ''">
         and oa.reagent_id = #{reagentId}
      </if>
      <if test="userId != null and userId != ''">
         and oa.user_id = #{userId}
      </if>
      <if test="department != null and department != ''">
         and sw.department = #{department}
      </if>
      <if test="departmentUserIds != null">
         and oa.user_id in
         <foreach collection="departmentUserIds" item="item" index="index" open="(" separator="," close=")">
            #{item}
         </foreach>
      </if>
      <if test="articleNumber != null and articleNumber != ''">
         and oa.article_number = #{articleNumber}
      </if>
      <if test="editId != null and editId != ''">
         and oa.id != #{editId}
      </if>
      <if test="reagentCode != null and reagentCode != ''">
         and oa.reagent_code like  concat("%",#{reagentCode},"%")
      </if>
      <if test="status != null">
         and oa.status = #{status}
      </if>
      <if test="name != null and name != ''">
         and sr.name like concat("%",#{name},"%")
      </if>
      <choose>
         <when test="status == 2 and project != null and project != ''">
            and sw.project like concat("%",#{project},"%")
         </when>
      </choose>
      order by oa.reagent_code asc
   </select>
</mapper>