소스 검색

气瓶模块楼栋楼层查询优化

xuxiaofei 2 년 전
부모
커밋
ed952bc25a

+ 2 - 2
zd-modules/zd-airbottle/src/main/java/com/zd/airbottle/controller/QpBottleStorageController.java

@@ -267,10 +267,10 @@ public class QpBottleStorageController extends BaseController {
         List<QpBottleStorageVO> list = qpBottleStorageService.selectQpTaskListIndex(storageInfoVo);
         for (int i=0;i<list.size();i++){
 
-            QpTaskVO task =   qpTaskService.selectQpTaskById(list.get(i).getTaskId());
+            /*QpTaskVO task =   qpTaskService.selectQpTaskById(list.get(i).getTaskId());
             list.get(i).setCampus(task.getCampus());//校区
             list.get(i).setBuilding(task.getBuilding());//楼栋
-            list.get(i).setRoom(task.getRoom());//房间号
+            list.get(i).setRoom(task.getRoom());//房间号*/
 
             if("gq".equals(list.get(i).getRemark())){
                 QpTaskDetail qpTaskDetail = new QpTaskDetail();

+ 108 - 18
zd-modules/zd-airbottle/src/main/resources/mapper/airbottle/QpBottleStorageMapper.xml

@@ -120,8 +120,8 @@
                t.air_bottle_name,
                t.specification_name,
                t.air_bottle_config_id,
-               (select nick_name from sys_user u where u.user_id = t.storage_userid)           storageUser,
-               (select phonenumber from sys_user u where u.user_id = t.storage_userid)         storageUserPhone,
+               (select nick_name from sys_user u where u.user_id = t.storage_userid)   storageUser,
+               (select phonenumber from sys_user u where u.user_id = t.storage_userid) storageUserPhone,
                (select l.room room
                 from lab_subject s,
                      lab_subject_layout l
@@ -131,10 +131,19 @@
                                    qp_task ta
                               where bs.task_id = ta.id
                                 and bs.task_detail_id = t.task_detail_id
-                              LIMIT 1))                                                        room,
-               (select location from qp_task ta where ta.id = t.task_id)                       location,
-               (select phonenumber from sys_user u where u.user_id = t.rejection_apply_userid) refusePhonen,
-               (select nick_name from sys_user u where u.user_id = t.rejection_apply_userid)   refuseName
+                                                                                       LIMIT 1))                                                        room,
+               (
+        select location
+        from qp_task ta
+        where ta.id = t.task_id) location
+            , (
+        select phonenumber
+        from sys_user u
+        where u.user_id = t.rejection_apply_userid) refusePhonen
+            , (
+        select nick_name
+        from sys_user u
+        where u.user_id = t.rejection_apply_userid) refuseName
         from qp_bottle_storage as t
     </sql>
     <sql id="whereSql">
@@ -216,8 +225,8 @@
         select * from (
         <include refid="selectQpBottleStorageListVo"/>
         ) t2 LEFT JOIN qp_task ta on t2.task_id=ta.id
-        LEFT JOIN   sys_dept d on   ta.dept_id=d.dept_id
-        LEFT JOIN sys_user u on  ta.user_id=u.user_id
+        LEFT JOIN sys_dept d on ta.dept_id=d.dept_id
+        LEFT JOIN sys_user u on ta.user_id=u.user_id
         <where>
             <if test="searchValue != null  and searchValue != ''">
                 and ( t2.storageUser like concat('%', #{searchValue}, '%')
@@ -236,10 +245,10 @@
                 AND DATE_FORMAT(t2.create_time,'%Y-%m-%d') &lt;=DATE_FORMAT(#{endTime},'%Y-%m-%d')
             </if>
             <if test="ids != null ">
-            and t2.id in
-            <foreach item="id" collection="ids" open="(" separator="," close=")">
-                #{id}
-            </foreach>
+                and t2.id in
+                <foreach item="id" collection="ids" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
             </if>
             <!-- 数据范围过滤 -->
             ${params.dataScope}
@@ -458,7 +467,8 @@
     </delete>
 
     <!-- 入库表实验室关联查询 -->
-    <select id="selectQpBottleStorageByRelationSubject" parameterType="com.zd.airbottle.domain.vo.QpBottleStorageVO" resultMap="QpBottleStorageResult">
+    <select id="selectQpBottleStorageByRelationSubject" parameterType="com.zd.airbottle.domain.vo.QpBottleStorageVO"
+            resultMap="QpBottleStorageResult">
         select t.id,t.task_id,t.task_detail_id, t.create_time,
         (select d.dept_class_name from lab_subject s,sys_dept d where s.build_id=d.dept_id and s.id=t.location_id)
         campus,
@@ -557,22 +567,100 @@
     <select id="selectQpTaskListIndex" parameterType="com.zd.airbottle.domain.vo.QpBottleStorageVO"
             resultMap="QpBottleStorageResult">
         select *
-        from (select distinct ta.id, ta.id task_id, '' task_detail_id, 'gq' remark, ta.create_time
+        from (select distinct ta.id,
+                              ta.id                               task_id,
+                              ''                                  task_detail_id,
+                              'gq'                                remark,
+                              ta.create_time,
+                              (select bfl.room_num
+                               from lab_build_floor_layout bfl
+                               where bfl.sub_id = ta.location_id) room,
+                              (
+                                  select f.`name`
+                                  from lab_build_floor f
+                                  where f.type = 2
+                                    and f.id =
+                                        (select bfl.build_id
+                                         from lab_build_floor_layout bfl
+                                         where bfl.sub_id = ta.location_id)
+                              )                                   building,
+                              (
+                                  select f.name
+                                  from lab_build_floor f
+                                  where f.type = 1
+                                    and f.id = (
+                                      select f.parent_id
+                                      from lab_build_floor f
+                                      where f.id =
+                                            (select bfl.build_id
+                                             from lab_build_floor_layout bfl
+                                             where bfl.sub_id = ta.location_id))
+                              )                                   campus
               from qp_task ta,
                    qp_task_detail td
               where ta.id = td.task_id
                 and td.is_dispose = 0
                 and td.supplier_id = #{companyId}
               UNION all
-              select bso.id, bs.task_id, bs.task_detail_id, 'hs' remark, bso.create_time
+              select bso.id,
+                     bs.task_id,
+                     bs.task_detail_id,
+                     'hs'                                                                                    remark,
+                     bso.create_time,
+                     (select bfl.room_num from lab_build_floor_layout bfl where bfl.sub_id = tk.location_id) room,
+                     (
+                         select f.`name`
+                         from lab_build_floor f
+                         where f.type = 2
+                           and f.id =
+                               (select bfl.build_id from lab_build_floor_layout bfl where bfl.sub_id = tk.location_id)
+                     )                                                                                       building,
+                     (
+                         select f.name
+                         from lab_build_floor f
+                         where f.type = 1
+                           and f.id = (
+                             select f.parent_id
+                             from lab_build_floor f
+                             where f.id =
+                                   (select bfl.build_id
+                                    from lab_build_floor_layout bfl
+                                    where bfl.sub_id = tk.location_id))
+                     )                                                                                       campus
               from qp_bottle_storage_out bso
                        LEFT JOIN qp_bottle_storage bs on bso.storage_id = bs.id
                        LEFT JOIN qp_task_detail td on td.id = bs.task_detail_id
+                       LEFT JOIN qp_task tk on tk.id = bs.task_id
               where bso.out_status = 0
                 and td.supplier_id = #{companyId}
               UNION all
-              select bs.id, bs.task_id, bs.task_detail_id, 'wt' remark, bs.create_time
+              select bs.id,
+                     bs.task_id,
+                     bs.task_detail_id,
+                     'wt'                                                                                    remark,
+                     bs.create_time,
+                     (select bfl.room_num from lab_build_floor_layout bfl where bfl.sub_id = tk.location_id) room,
+                     (
+                         select f.`name`
+                         from lab_build_floor f
+                         where f.type = 2
+                           and f.id =
+                               (select bfl.build_id from lab_build_floor_layout bfl where bfl.sub_id = tk.location_id)
+                     )                                                                                       building,
+                     (
+                         select f.name
+                         from lab_build_floor f
+                         where f.type = 1
+                           and f.id = (
+                             select f.parent_id
+                             from lab_build_floor f
+                             where f.id =
+                                   (select bfl.build_id
+                                    from lab_build_floor_layout bfl
+                                    where bfl.sub_id = tk.location_id))
+                     )                                                                                       campus
               from qp_bottle_storage bs
+                       LEFT JOIN qp_task tk on tk.id = bs.task_id
                        LEFT JOIN qp_task_detail td
                                  on bs.task_detail_id = td.id
               where bs.air_status = 1
@@ -585,7 +673,7 @@
     <select id="selectIntoStorageList" parameterType="com.zd.airbottle.domain.vo.QpBottleStorageVO"
             resultMap="QpBottleStorageResult">
         select * from qp_bottle_storage bs,qp_task ta
-        where bs.task_id = ta.id and bs.task_id = ta.id and  bs.storage_status!=3  and bs.air_status=0
+        where bs.task_id = ta.id and bs.task_id = ta.id and bs.storage_status!=3 and bs.air_status=0
         <if test="subjectId != null ">and ta.location_id=#{subjectId}</if>
         <if test="userId != null ">and ta.user_id=#{userId}</if>
     </select>
@@ -608,7 +696,9 @@
 
     <!-- 查询实验室负责人-->
     <select id="selectSubectDetalsById" resultType="java.util.Map">
-        select admin_id adminId from lab_subject where id= #{subjectId};
+        select admin_id adminId
+        from lab_subject
+        where id = #{subjectId};
     </select>
 
 </mapper>