李宇
2021-01-27 d6c65a4e3d1ca7d9a7bd6806c99fee035d0a44eb
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -24,6 +24,7 @@
    <result column="laboratoryContainerName" jdbcType="VARCHAR" property="laboratoryContainerName" />
    <result column="laboratoryContainerCode" jdbcType="VARCHAR" property="laboratoryContainerCode" />
    <result column="operatestateName" jdbcType="VARCHAR" property="operatestateName" />
    <result column="receipt_number" jdbcType="VARCHAR" property="receiptNumber" />
    <association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
         <id property="id" column="reagentId"/>
@@ -48,7 +49,12 @@
    <update id="updateTimeByCode" parameterType="java.util.Map">
        update ope_use_flow set create_time=now() where reagent_code=#{code} and status=#{status}
    </update>
  <sql id="queryWhereSql">
    <update id="updateReceiptNumber">
        update ope_use_flow
        set receipt_number = #{1}
        where reagent_code = #{0}
    </update>
    <sql id="queryWhereSql">
    <if test="reagentId != null and reagentId != ''">
      and ors.reagent_id = #{reagentId}
    </if>
@@ -110,9 +116,29 @@
   </sql>
   <select id="getOpeUseFlowList" parameterType="java.util.Map" resultMap="OpeUseFlow">
       <include refid="queryColumns"/>
        select oa.*,
        sr.*,
        ors.article_number as articleNumber,
        sr.id as reagentId,
        su.name as userName,
        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,
        bm1.meta_value as operatestateName
       from ope_use_flow as oa
      <include refid="queryJoins"/>
        left join ope_reagent_status ors on ors.reagent_code = oa.reagent_code
        left join sys_reagent sr on ors.reagent_id = sr.id
        left join sys_supplier as ss on sr.supplier_id = ss.id
        left join sys_user as su on oa.user_id = su.id
        left join sys_warehouse_container wc on wc.id = oa.container_id
        left join sys_warehouse w on w.id = wc.warehouse_id
        left join sys_laboratory_container lc on lc.id = oa.container_id
        left join sys_laboratory l on l.id = lc.laboratory_id
        left join base_meta bm1 on bm1.id = oa.operatestate
       where oa.valid_flag = 1
       <include refid="queryWhereSql"/>
         order by oa.create_time desc
@@ -138,7 +164,22 @@
    ORDER BY create_time DESC
    LIMIT 1
  </select>
  <insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow">
    <select id="getRegentInfoFromReceiptNumber" resultType="java.util.Map">
        SELECT ors.reagent_id reagentId,count(ors.reagent_id) count
        from  ope_use_flow ouf
        LEFT JOIN ope_reagent_status ors on ors.reagent_code = ouf.reagent_code
        WHERE ouf.receipt_number = #{0}
        GROUP BY ors.reagent_id
    </select>
    <select id="getUserIdByReagentCode" resultType="java.util.Map">
        select user_id,create_time
        from ope_use_flow
        where reagent_code =#{0}
        and operatestate =#{1}
        and valid_flag = 1
        limit 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>