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">
@@ -114,12 +116,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 != ''">
@@ -175,6 +174,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"/>
    order by oa.create_time desc
    <if test="first != null and pageSize != null">
@@ -193,6 +195,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>
@@ -202,14 +207,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}
@@ -229,7 +243,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 +375,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 +425,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 +441,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">
@@ -461,6 +526,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">
@@ -470,9 +574,13 @@
    <update id="updateOpeApplyInfo" parameterType="java.util.Map">
        update
        ope_apply
        set status = #{status},
        arrival_time = #{arrivalTime},
        consignee_id = #{consigneeId}
        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>