From 798aa9213a565c6c5ffb411e3cef40a10f99e9d1 Mon Sep 17 00:00:00 2001
From: lyfO_o <764716047@qq.com>
Date: 星期五, 31 三月 2023 09:16:53 +0800
Subject: [PATCH] 新疆绿色智能综合研究所补充

---
 src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml |  182 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 164 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
index 0d3224f..5f262f3 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeApplyDao.xml
+++ b/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>
 
@@ -116,12 +120,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 != ''">
@@ -145,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>
 
@@ -165,19 +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
-      and sr.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">
@@ -195,7 +214,14 @@
       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 and sr.valid_flag = 1
+      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>
 
@@ -339,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 != ''">
@@ -373,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>
@@ -441,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>
@@ -458,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 != ''">
@@ -563,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">

--
Gitblit v1.9.2