李宇
2021-08-18 c3510da29a7974c6af7ff3de1ade3db429d6f848
src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -16,7 +16,7 @@
    <result property="updateTime" column="update_time"></result>
    <result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
    <result property="approveUserId" column="approve_user_id"></result>
      <result property="beforeApproveUserId" column="before_approve_user_id"></result>
    <result property="beforeApproveUserId" column="before_approve_user_id"></result>
    <result property="memo" column="memo"></result>
    <result property="applyUserName" column="applyUserName"></result>
    <result property="approveUserName" column="approveUserName"></result>
@@ -50,8 +50,10 @@
      <result property="productSn" column="reagentProductSn"></result>
      <result property="controlProducts" column="controlProducts"></result>
      <result property="dangerousFlag" column="reagentDangerousFlag" typeHandler="com.nanometer.smartlab.entity.handler.DangerousFlagHandler"></result>
        <result property="productHome" column="productHome"></result>
        <result property="productHomeName" column="productHomeName"></result>
      <result property="productHome" column="productHome"></result>
      <result property="productHomeName" column="productHomeName"></result>
      <result property="type" column="type"></result>
      <result property="supplierFlag" column="supplierFlag"></result>
    </association>
  </resultMap>
@@ -116,12 +118,9 @@
            and (oa.approve_user_id = #{searchApproval} or oa.before_approve_user_id = #{searchApproval})
        </if>
        <if test="applyUserName != null and applyUserName != ''">
            and su.name like #{applyUserName}
        </if>
        <if test="approvaUserName != null and approvaUserName != ''">
            and (suApprove.name like #{approvaUserName} or sys.name like #{approvaUserName})
            and (suApprove.name like concat('%',#{approvaUserName},'%')
            or sys.name like concat('%',#{approvaUserName},'%') )
        </if>
      <if test="editId != null and editId != ''">
@@ -146,7 +145,9 @@
    ss.name as supplierName,
    su.name as applyUserName,
    suApprove.name as approveUserName,
    bm.meta_value as productHomeName
    bm.meta_value as productHomeName,
    ss.valid_flag  as supplierFlag,
    sr.type as type
    from ope_apply as oa
    left join sys_reagent sr on oa.reagent_id = sr.id
    left join sys_supplier as ss on sr.supplier_id = ss.id
@@ -167,16 +168,21 @@
    su.name as applyUserName,
    suApprove.name as approveUserName,
    bm.meta_value as productHomeName,
    fir.name as firName
    fir.name as firName,
    ss.valid_flag  as supplierFlag,
    sr.type as type
    from ope_apply as oa
    left join sys_reagent sr on oa.reagent_id = sr.id
    left join sys_supplier as ss on sr.supplier_id = ss.id
    left join sys_user as su on oa.apply_user_id = su.id
    left join sys_user as suApprove on oa.approve_user_id = suApprove.id
      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 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
    <if test="isShow != null and isShow ==0">
        and (ss.valid_flag = 1 or sr.type = 0)
    </if>
    <include refid="queryWhereSql"/>
    order by oa.create_time desc
    <if test="first != null and pageSize != null">
@@ -195,6 +201,9 @@
      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
      <if test="isShow != null and isShow ==0">
          and (ss.valid_flag = 1 or sr.type = 0)
      </if>
    <include refid="queryWhereSql"/>
  </select>
@@ -204,14 +213,23 @@
  </insert>
  <insert id="insertOpeApplyList" parameterType="java.util.List">
    insert into ope_apply
       (id, apply_code, reagent_id, num, deadline, apply_user_id, objective, status, approve_user_id, memo, valid_flag, create_time, update_time,apply_goal,apply_price,first_user)
    values
       <foreach collection="list" item="opeApply" separator=",">
          (#{opeApply.id}, #{opeApply.applyCode}, #{opeApply.reagent.id}, #{opeApply.num}, #{opeApply.deadline},
          #{opeApply.applyUserId}, #{opeApply.objective}, #{opeApply.status}, #{opeApply.approveUserId}, #{opeApply.memo}, 1, now(), now(),#{opeApply.applyGoal},#{opeApply.reagent.price},#{opeApply.approveUserId})
       </foreach>
      insert into ope_apply
      (id, apply_code, reagent_id, num, deadline, apply_user_id, objective, status, approve_user_id, memo, valid_flag, create_time, update_time,apply_goal,apply_price,first_user)
      values
      <foreach collection="list" item="opeApply" separator=",">
          (#{opeApply.id}, #{opeApply.applyCode}, #{opeApply.reagent.id}, #{opeApply.num}, #{opeApply.deadline},
          #{opeApply.applyUserId}, #{opeApply.objective}, #{opeApply.status}, #{opeApply.approveUserId}, #{opeApply.memo}, 1, now(), now(),#{opeApply.applyGoal},#{opeApply.reagent.price},#{opeApply.approveUserId})
      </foreach>
  </insert>
    <insert id="insertList">
        insert into ope_apply
        (id, apply_code, reagent_id, num, deadline, apply_user_id, objective, status, approve_user_id, memo, valid_flag, create_time, update_time,apply_goal,apply_price,first_user)
        values
        <foreach collection="list" item="opeApply" separator=",">
            (#{opeApply.id}, #{opeApply.applyCode}, #{opeApply.reagent.id}, #{opeApply.num}, #{opeApply.deadline},
            #{opeApply.applyUserId}, #{opeApply.objective}, #{opeApply.status}, #{opeApply.approveUserId}, #{opeApply.memo}, 1, #{opeApply.createTime}, #{opeApply.updateTime},#{opeApply.applyGoal},#{opeApply.reagent.price},#{opeApply.approveUserId})
        </foreach>
    </insert>
    <update id="updateFirst" parameterType="java.util.Map">
        update ope_apply set first_user=approve_user_id where id=#{id}
@@ -231,7 +249,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}
@@ -359,7 +381,7 @@
        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>
@@ -425,8 +447,34 @@
        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">
@@ -484,6 +532,45 @@
        where oa.valid_flag = 1
        and oa.id = #{0}
    </select>
    <select id="getOpeApplyReserveListByNameForRowData"
            resultMap="OpeApplyReserve">
         SELECT
        oa.id,
        oa.apply_code,
        sr.id reagent_id,
        oa. STATUS,
        sr.product_sn reagentProductSn,
        sr.`name` reagentName,
        bm2.meta_value controlProducts,
        bm3.meta_value reagentFormat,
        sr.main_metering reagentMainMetering,
        sr.price reagentPrice,
        sr.cas reagentCas,
        oa.article_number articleNumber,
        bm4.meta_value reagentCharacter,
        bm1.meta_value productHome,
        sr.dangerous_flag,
        oa.num,
        oa.apply_user_id apply_user,
        oa.used,
        su.`name` apply_user_id,
        su.project,
        su1.`name` as projectManage,
        oa.arrival_time
        FROM
        ope_apply AS oa
        LEFT JOIN sys_reagent sr ON sr.id = oa.reagent_id
        LEFT JOIN sys_user su ON su.id = oa.apply_user_id
        LEFT JOIN base_meta AS bm2 ON sr.control_products = bm2.id
        LEFT JOIN base_meta AS bm3 ON sr.reagent_format = bm3.id
        LEFT JOIN base_meta AS bm4 ON sr.reagent_character = bm4.id
        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.id = #{id}
    </select>
    <update id="updateByReId" parameterType="java.util.Map">