李宇
2021-06-23 c87738a78f57e6f68a0111d68ef3748b29dc1eda
src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -63,7 +63,9 @@
    <result property="arrivalNum" column="arrival_num"></result>
    <result property="status" column="status" typeHandler="com.nanometer.smartlab.entity.handler.ApplyStatusHandler"></result>
    <result property="applyUserId" column="apply_user_id"></result>
    <result property="applyUser" column="apply_user"></result>
    <result property="arrivalTime" column="arrival_time"></result>
    <result property="articleNumber" column="articleNumber"></result>
    <result property="projectManage" column="projectManage"/>
    <result property="project" column="project"/>
    <association property="reagent" javaType="com.nanometer.smartlab.entity.SysReagent">
@@ -175,6 +177,7 @@
      left join sys_user as fir on fir.id=oa.first_user
    left join base_meta as bm on sr.product_home = bm.id
    where oa.valid_flag = 1
      and sr.valid_flag = 1
    <include refid="queryWhereSql"/>
    order by oa.create_time desc
    <if test="first != null and pageSize != null">
@@ -192,7 +195,7 @@
      left join sys_user as sys on sys.id=oa.before_approve_user_id
      left join sys_user as fir on fir.id=oa.first_user
      left join base_meta as bm on sr.product_home = bm.id
      where oa.valid_flag = 1
      where oa.valid_flag = 1 and sr.valid_flag = 1
    <include refid="queryWhereSql"/>
  </select>
@@ -229,7 +232,11 @@
  </update>
  <update id="updateOpeApplyStatus" parameterType="java.util.Map" >
    update ope_apply set status=#{status}, memo=#{memo}, update_time=now()
    update ope_apply set status=#{status},
     <if test="memo !=null and memo != ''">
         memo=#{memo},
     </if>
      update_time=now()
    where id in
    <foreach collection="applyIds" item="item" index="index" open="(" separator="," close=")">
      #{item}
@@ -357,8 +364,18 @@
        LEFT JOIN base_meta AS bm1 ON sr.product_home = bm1.id
        LEFT JOIN sys_project as project on project.project = su.project
        LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
        where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
        where oa.valid_flag = 1 and (oa.status=4 or oa.status=6 or oa.status = 10)
        <include refid="getOpeApplyReserveList_queryWhereSql" />
        <if test="isAllApply != null">
            <choose>
                <when test="isAllApply == 1">
                    and oa.used = oa.num
                </when>
                <otherwise>
                    and oa.used != oa.num
                </otherwise>
            </choose>
        </if>
        GROUP BY oa.id
        )as oaa
    </select>
@@ -397,6 +414,7 @@
        bm1.meta_value productHome,
        sr.dangerous_flag,
        oa.num,
        oa.apply_user_id apply_user,
        oa.used,
        su.`name` apply_user_id,
        su.project,
@@ -412,8 +430,44 @@
        LEFT JOIN base_meta AS bm1 ON sr.product_home = bm1.id
        LEFT JOIN sys_project as project on project.project = su.project
        LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
        where oa.valid_flag = 1 and (oa.status=4 or oa.status=6)
        <include refid="getOpeApplyReserveList_queryWhereSql" />
        where oa.valid_flag = 1 and (
        <choose>
            <when test="status == @com.nanometer.smartlab.entity.enumtype.ApplyStatus@EXPIRED">
                oa.status = 10
            </when>
            <otherwise>
                oa.status=4 or oa.status=6
            </otherwise>
        </choose>
        )
        <if test="reagentName != null and reagentName != ''">
            and sr.name like concat('%',#{reagentName},'%')
        </if>
        <if test="personName != null and personName != ''">
            and su.name like concat('%',#{personName},'%')
        </if>
        <if test="userId != null and userId != ''">
            and oa.apply_user_id =#{userId}
        </if>
        <if test="status != null and status != ''">
            and oa.status =#{status}
        </if>
        <if test="productSn != null and productSn != ''">
            and sr.product_sn like concat('%',#{productSn},'%')
        </if>
        <if test="applyCode != null and applyCode != ''">
            and oa.apply_code = #{applyCode}
        </if>
        <if test="isAllApply != null">
            <choose>
                <when test="isAllApply == 1">
                    and oa.used = oa.num
                </when>
                <otherwise>
                    and oa.used != oa.num
                </otherwise>
            </choose>
        </if>
        GROUP BY oa.id
        order by oa.update_time desc
        <if test="first != null and pageSize != null">
@@ -466,4 +520,18 @@
    <update id="updateByReId" parameterType="java.util.Map">
        update ope_apply set reagent_id=#{newReId} where reagent_id=#{oldReId}
    </update>
    <update id="updateOpeApplyInfo" parameterType="java.util.Map">
        update
        ope_apply
        set status = #{status}
        <if test="arrivalTime!=null" >
            ,arrival_time = #{arrivalTime}
        </if>
        <if test="consigneeId!=null" >
            ,consignee_id = #{consigneeId}
        </if>
        where valid_flag = 1
        and id = #{applyId}
    </update>
</mapper>