lyfO_o
2023-03-31 798aa9213a565c6c5ffb411e3cef40a10f99e9d1
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -52,6 +52,7 @@
    <update id="updateReceiptNumber">
        update ope_use_flow
        set receipt_number = #{1}
        , note = #{2}
        where reagent_code = #{0}
    </update>
    <sql id="queryWhereSql">
@@ -196,12 +197,14 @@
        LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code
        LEFT JOIN sys_reagent sr on sr.id = ors.reagent_id
        left join base_meta bm1 on bm1.id = su.department
        <if test="userId !=null and userId != ''">
            LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id
        </if>
        WHERE ouf.operatestate = #{operatestate}
        and   LENGTH(trim(ouf.receipt_number))>0
        WHERE
        (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate1})
        and LENGTH(trim(ouf.receipt_number))>0
        and ouf.valid_flag = 1
        <if test="userId !=null and userId != ''">
            and  ouf.user_id = #{userId}
        </if>
        <if test="reagentCode !=null and reagentCode != ''">
            and ouf.reagent_code like concat("%",#{reagentCode},"%")
        </if>
@@ -230,6 +233,7 @@
    </select>
    <select id="selectPersonalUseInfo" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
        SELECT ouf.receipt_number receiptNumber,
        ouf.note,
        count(ouf.reagent_code) applyNum,
        su.name username,
        su.project ,
@@ -246,12 +250,15 @@
        LEFT JOIN sys_reagent sr on sr.id = ors.reagent_id
        left join base_meta bm1 on bm1.id = su.department
        left join sys_laboratory sl on sl.id = ouf.house_id
        <if test="userId !=null and userId != ''">
            LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id
        </if>
        WHERE ouf.operatestate = #{operatestate}
        and   LENGTH(trim(ouf.receipt_number))>0
        WHERE
        (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate1})
        and LENGTH(trim(ouf.receipt_number))>0
        and ouf.valid_flag = 1
        <if test="userId !=null and userId != ''">
            and  ouf.user_id = #{userId}
        </if>
        <if test="reagentCode !=null and reagentCode != ''">
            and ouf.reagent_code like concat("%",#{reagentCode},"%")
        </if>
@@ -300,7 +307,9 @@
        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}
        WHERE
        (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate1})
        and ouf.receipt_number = #{receiptNumber}
        and ouf.valid_flag = 1
    </select>
@@ -316,7 +325,8 @@
        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}
        WHERE (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate})
        and ouf.receipt_number = #{receiptNumber}
        and ouf.valid_flag = 1
    </select>
@@ -338,6 +348,7 @@
    </select>
    <select id="selectByReceiptNumber" resultType="com.nanometer.smartlab.entity.OpeUseFlow">
        SELECT ouf.receipt_number receiptNumber,
        ouf.note,
        count(ouf.reagent_code) applyNum,
        su.name username,
        su.project ,
@@ -357,8 +368,9 @@
        <if test="userId !=null and userId != ''">
            LEFT JOIN sys_reagent sr2 on sr2.id = ouf.user_id
        </if>
        WHERE ouf.operatestate = #{operatestate}
        and   LENGTH(trim(ouf.receipt_number))>0
        WHERE (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate1})
        and LENGTH(trim(ouf.receipt_number))>0
        and ouf.valid_flag = 1
      and ouf.receipt_number =  #{receiptNumber}
        group by ouf.receipt_number
@@ -388,13 +400,74 @@
        <include refid="queryWhereSql"/>
        order by oa.create_time desc
    </select>
    <select id="selectDetail" resultType="java.util.Map">
      SELECT
        sr.product_sn productSn,
        sr.NAME reagentName,
        ouf.reagent_code reagentCode,
        bm3.meta_value controlProducts,
        bm.meta_value  reagentFormat,
        CONCAT(sr.main_metering,bm1.meta_value) perInfo,
        bm2.meta_value productHome,
        ors.article_number articleNumber,
        su.name username,
        su.project,
        bm4.meta_value department,
        sl.name location,
        date_format(ouf.create_time,'%Y-%m-%d %H:%i') createTime
        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
        LEFT JOIN sys_user as su on su.id = ouf.user_id
        left join base_meta bm4 on bm4.id = su.department
        LEFT JOIN sys_laboratory sl on sl.id = ouf.house_id
        WHERE
        (ouf.operatestate = #{operatestate}
        or ouf.operatestate = #{operatestate1})
        and ouf.valid_flag = 1
      and LENGTH(trim(ouf.receipt_number))>0
        <if test="userId !=null and userId != ''">
            and  ouf.user_id = #{userId}
        </if>
        <if test="reagentCode !=null and reagentCode != ''">
            and ouf.reagent_code like concat("%",#{reagentCode},"%")
        </if>
        <if test="startTime !=null and startTime != ''">
            and ouf.create_time &gt;#{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and ouf.create_time &lt;#{endTime}
        </if>
        <if test="project !=null and project != ''">
            and su.project like concat("%",#{project},"%")
        </if>
        <if test="department !=null and department != ''">
            and su.bm1.meta_value like concat("%",#{department},"%")
        </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>
    </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
    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,volume
    <if test="receiptNumber != null">
        ,receipt_number
    </if>
    )
    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}
    values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState},#{volume}
        <if test="receiptNumber != null">
            ,#{receiptNumber}
        </if>)