lyfO_o
2022-05-05 1bcc45b241b13da792a52fe1bb1d489a8aa7c14b
src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
@@ -16,9 +16,11 @@
    <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="applyUserProject" column="applyUserProject"></result>
    <result property="applyUserDepartment" column="applyUserDepartment"></result>
    <result property="approveUserName" column="approveUserName"></result>
    <result property="startReagentCode" column="start_reagent_code"></result>
    <result property="endReagentCode" column="end_reagent_code"></result>
@@ -50,8 +52,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>
@@ -142,15 +146,22 @@
    sr.memo as reagentMemo, sr.valid_flag as reagentValidFlag, sr.create_time as reagentCreateTime, sr.update_time as reagentUpdateTime,sr.control_products as controlProducts,sr.product_sn as reagentProductSn,sr.product_home as productHome,
    ss.name as supplierName,
    su.name as applyUserName,
    su.project as applyUserProject,
    bm2.meta_value as applyUserDepartment,
    fir.name as firName,
    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
    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 base_meta as bm on sr.product_home = bm.id
     left join base_meta as bm2 on bm2.id = su.department
    where oa.id = #{id} and oa.valid_flag = 1
  </select>
@@ -162,21 +173,30 @@
    sr.dangerous_flag as reagentDangerousFlag,sr.control_products as controlProducts,sr.product_home as productHome,
    ss.name as supplierName,
    su.name as applyUserName,
    su.project as applyUserProject,
    bm2.meta_value as applyUserDepartment,
    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
    left join base_meta as bm1 on bm1.id = sr.control_products
    left join base_meta as bm2 on bm2.id = su.department
    where oa.valid_flag = 1
    <if test="isShow != null and isShow ==0">
        and (ss.valid_flag = 1 or sr.type = 0)
    </if>
      <if test="controlProduct != null and controlProduct != ''">
          and bm1.meta_value like concat("%",#{controlProduct},"%")
      </if>
    <include refid="queryWhereSql"/>
    order by oa.create_time desc
    <if test="first != null and pageSize != null">
@@ -194,9 +214,13 @@
      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
      left join base_meta as bm1 on bm1.id = sr.control_products
      where oa.valid_flag = 1
      <if test="isShow != null and isShow ==0">
          and (ss.valid_flag = 1 or sr.type = 0)
      </if>
      <if test="controlProduct != null and controlProduct != ''">
          and bm1.meta_value like concat("%",#{controlProduct},"%")
      </if>
    <include refid="queryWhereSql"/>
  </select>
@@ -341,7 +365,7 @@
        <if test="userId != null and userId != ''">
            and oa.apply_user_id =#{userId}
        </if>
        <if test="status != null and status != ''">
        <if test="status != null ">
            and oa.status =#{status}
        </if>
        <if test="productSn != null and productSn != ''">
@@ -375,7 +399,16 @@
        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 or oa.status = 10)
        where oa.valid_flag = 1 and (
        <choose>
            <when test="status != null and status == 10">
                oa.status = 10
            </when>
            <otherwise>
                oa.status=4 or oa.status=6
            </otherwise>
        </choose>
        )
        <include refid="getOpeApplyReserveList_queryWhereSql" />
        <if test="isAllApply != null">
            <choose>
@@ -443,7 +476,7 @@
        LEFT JOIN sys_user as su1 on su1.id = project.sys_user_id
        where oa.valid_flag = 1 and (
        <choose>
            <when test="status == @com.nanometer.smartlab.entity.enumtype.ApplyStatus@EXPIRED">
            <when test="status != null and status == 10">
                oa.status = 10
            </when>
            <otherwise>
@@ -460,7 +493,7 @@
        <if test="userId != null and userId != ''">
            and oa.apply_user_id =#{userId}
        </if>
        <if test="status != null and status != ''">
        <if test="status != null ">
            and oa.status =#{status}
        </if>
        <if test="productSn != null and productSn != ''">
@@ -565,6 +598,117 @@
    </select>
    <select id="getApplyControlInfo" resultType="java.util.Map">
              (SELECT sum(oa.num) sum,"易制毒" name from ope_apply oa
      LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id
      LEFT JOIN base_meta bm on bm.id = sr.control_products
      where
      oa.valid_flag = 1
      and sr.valid_flag = 1
      and YEAR(oa.create_time)=YEAR(NOW())
        and oa.status in(2,3,4,6)
      and
      meta_value like "%易制毒%") UNION ALL(
         SELECT sum(oa.num) sum,"易制爆"  name from ope_apply oa
      LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id
      LEFT JOIN base_meta bm on bm.id = sr.control_products
      where
      oa.valid_flag = 1
      and sr.valid_flag = 1
      and YEAR(oa.create_time)=YEAR(NOW())
        and oa.status in(2,3,4,6)
      and meta_value like "%易制爆%")UNION ALL(
      SELECT sum(oa.num) sum,"总数"  name from ope_apply oa
      LEFT JOIN sys_reagent sr on oa.reagent_id = sr.id
      where
      oa.valid_flag = 1
      and sr.valid_flag = 1
      and YEAR(oa.create_time)=YEAR(NOW())
        and oa.status in(2,3,4,6)
      )
    </select>
    <select id="getOpeApplySupplerRequireMngTotalCount" resultType="java.lang.Integer">
        select count(1)
        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 base_meta as bm on sr.product_home = bm.id
        left join base_meta as bm1 on bm1.id = sr.control_products
        where oa.valid_flag = 1
        <if test="isShow != null and isShow ==0">
            and (ss.valid_flag = 1 or sr.type = 0)
        </if>
        <if test="reagentName != null and reagentName != ''">
            and sr.name like concat("%",#{reagentName},"%")
        </if>
        <if test="startDeadline != null">
            and oa.deadline >= #{startDeadline}
        </if>
        <if test="endDeadline != null">
            and #{endDeadline} >= oa.deadline
        </if>
        <if test="status != null">
            and oa.status = #{status}
        </if>
        <if test="company != null and company != ''">
            and ss.name = #{company}
        </if>
    </select>
    <select id="getOpeApplySupplerRequireMngList" parameterType="java.util.Map" resultMap="OpeApply">
        select oa.*,sys.name as secondUserName,
        sr.name as reagentName,sr.price as reagentPrice ,sr.cas as reagentCas, sr.reagent_type as reagentType, sr.reagent_character as reagentCharacter, sr.supplier_id as reagentSupplierId,
        sr.reagent_format as reagentFormat, sr.main_metering as reagentMainMetering, sr.reagent_unit as reagentUnit, sr.per_box as reagentPerBox,
        sr.memo as reagentMemo, sr.valid_flag as reagentValidFlag, sr.create_time as reagentCreateTime, sr.update_time as reagentUpdateTime, sr.product_sn as reagentProductSn,
        sr.dangerous_flag as reagentDangerousFlag,sr.control_products as controlProducts,sr.product_home as productHome,
        ss.name as supplierName,
        su.name as applyUserName,
        suApprove.name as approveUserName,
        bm.meta_value as productHomeName,
        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 base_meta as bm on sr.product_home = bm.id
        left join base_meta as bm1 on bm1.id = sr.control_products
        where oa.valid_flag = 1
        <if test="isShow != null and isShow ==0">
            and (ss.valid_flag = 1 or sr.type = 0)
        </if>
        <if test="company != null and company != ''">
            and ss.name = #{company}
        </if>
        <if test="reagentName != null and reagentName != ''">
            and sr.name like concat("%",#{reagentName},"%")
        </if>
        <if test="startDeadline != null">
            and oa.deadline >= #{startDeadline}
        </if>
        <if test="endDeadline != null">
            and #{endDeadline} >= oa.deadline
        </if>
        <if test="status != null">
            and oa.status = #{status}
        </if>
        order by oa.create_time desc
        <if test="first != null and pageSize != null">
            limit #{first}, #{pageSize}
        </if>
    </select>
    <update id="updateByReId" parameterType="java.util.Map">