李宇
2021-06-23 c87738a78f57e6f68a0111d68ef3748b29dc1eda
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -85,6 +85,10 @@
    <if test="endDate != null and endDate !=''">
        and oa.create_time &lt;= #{endDate}
    </if>
    <if test="containerCode != null and containerCode !=''">
        and wc.container_code = #{containerCode}
        or lc.container_code =#{containerCode}
    </if>
  </sql>
    <sql id="queryColumns">
@@ -124,10 +128,10 @@
        ss.name as supplierName,
        l.name as laboratoryName,
        w.name as warehouseName,
        lc.name as warehouseContainerName,
        wc.name as laboratoryContainerName,
        lc.container_code as warehouseContainerCode,
        wc.container_code as laboratoryContainerCode,
        wc.name as warehouseContainerName,
        lc.name as laboratoryContainerName,
        wc.container_code as warehouseContainerCode,
        lc.container_code as laboratoryContainerCode,
        bm1.meta_value as operatestateName
       from ope_use_flow as oa
        left join ope_reagent_status ors on ors.reagent_code = oa.reagent_code
@@ -194,6 +198,7 @@
        </if>
        WHERE ouf.operatestate = #{operatestate}
        and   LENGTH(trim(ouf.receipt_number))>0
        and ouf.valid_flag = 1
        <if test="reagentCode !=null and reagentCode != ''">
            and ouf.reagent_code like concat("%",#{reagentCode},"%")
        </if>
@@ -211,6 +216,12 @@
        </if>
        <if test="receiptNumber !=null and receiptNumber != ''">
            and ouf.receipt_number like concat("%",#{receiptNumber},"%")
        </if>
        <if test="reagentName !=null and reagentName != ''">
            and sr.name like concat("%",#{reagentName},"%")
        </if>
        <if test="applyPerson !=null and applyPerson != ''">
            and su.name like concat("%",#{applyPerson},"%")
        </if>
        group by ouf.receipt_number) a
@@ -240,6 +251,7 @@
        </if>
        WHERE ouf.operatestate = #{operatestate}
        and   LENGTH(trim(ouf.receipt_number))>0
        and ouf.valid_flag = 1
        <if test="reagentCode !=null and reagentCode != ''">
            and ouf.reagent_code like concat("%",#{reagentCode},"%")
        </if>
@@ -258,6 +270,12 @@
        <if test="receiptNumber !=null and receiptNumber != ''">
            and ouf.receipt_number like concat("%",#{receiptNumber},"%")
        </if>
        <if test="reagentName !=null and reagentName != ''">
            and sr.name like concat("%",#{reagentName},"%")
        </if>
        <if test="applyPerson !=null and applyPerson != ''">
            and su.name like concat("%",#{applyPerson},"%")
        </if>
        group by ouf.receipt_number
        ORDER BY ouf.create_time desc
        <if test="first != null and pageSize != null">
@@ -265,14 +283,14 @@
        </if>
    </select>
    <select id="getApplyInfo" resultType="com.nanometer.smartlab.entity.dto.PersonUseDetail">
        SELECT
         SELECT
        ors.reagent_id reagentId,
        ors.article_number articleNumber,
        ouf.reagent_code reagentCode,
        sr.product_sn productSn,
        sr.NAME reagentName,
        bm1.meta_value  reagentFormat,
        CONCAT(sr.per_box,bm1.meta_value) perInfo,
        bm.meta_value  reagentFormat,
        CONCAT(sr.main_metering,bm1.meta_value) perInfo,
        bm2.meta_value productHome,
        bm3.meta_value controlProducts
        from `ope_use_flow` ouf
@@ -284,11 +302,46 @@
        LEFT JOIN base_meta bm3 on bm3.id = sr.control_products
        WHERE ouf.operatestate = #{operatestate}
        and ouf.receipt_number = #{receiptNumber}
        and ouf.valid_flag = 1
    </select>
    <select id="getApplyInfoSize" resultType="java.lang.Integer">
        SELECT
        count(0)
        from `ope_use_flow` ouf
        LEFT JOIN ope_reagent_status ors ON ors.reagent_code = ouf.reagent_code
        LEFT join sys_reagent sr ON ors.reagent_id = sr.id
        LEFT JOIN base_meta bm ON bm.id = sr.reagent_format
        LEFT JOIN base_meta bm1 on bm1.id = sr.reagent_unit
        LEFT JOIN base_meta bm2 on bm2.id = sr.product_home
        LEFT JOIN base_meta bm3 on bm3.id = sr.control_products
        WHERE ouf.operatestate = #{operatestate}
        and ouf.receipt_number = #{receiptNumber}
        and ouf.valid_flag = 1
    </select>
    <select id="countOpeUseFlow" resultType="java.lang.Integer" parameterType="com.nanometer.smartlab.entity.OpeUseFlow">
        select  count(0)
        from ope_use_flow
        where reagent_code = #{reagentCode}
        and status = #{status}
        and house_id = #{houseId}
        and container_id = #{containerId}
        and create_time = #{createTime}
        and operatestate =#{operateState}
        and valid_flag = 1
    </select>
    <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow">
    insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate)
    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState})
    insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate
    <if test="receiptNumber != null">
        ,receipt_number
    </if>
    )
    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}
        <if test="receiptNumber != null">
            ,#{receiptNumber}
        </if>)
  </insert>