Browse Source

第二次雷鑫,智联工地部分月调度图片和月航拍全景提交

yanhang 3 months ago
parent
commit
510ba18d2c

+ 82 - 81
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoQueryMapper.xml

@@ -6,39 +6,85 @@
 <mapper namespace="com.rtrh.projects.modules.projects.mapper.SubInfoQueryMapper">
 
     <select id="pageGraphicProgress" resultType="map" parameterType="map">
+
         select
-            *
+        a.id,
+        a.is_hide as isHide,
+        sa.yearAmt,
+        src2.yearAmtSj,
+        a.prop_kind AS propKind,
+        a.indus_kind as indusKind,
+        a.status_fgw,
+        a.sub_name as subName,
+        a.amt_total as amtTotal,
+        DATE_FORMAT(a.begin_date, '%Y-%m-%d') AS beginDate,
+        DATE_FORMAT(a.end_date, '%Y-%m-%d') AS endDate,
+        a.`status`,
+        b.title as unitName,
+        num_bl_subquery.num_bl
         from
-            (
-                select a.id, a.is_hide as isHide, sa.yearAmt, src2.yearAmtSj,
-                       a.prop_kind AS propKind, a.indus_kind as indusKind, a.status_fgw, a.sub_name as subName,
-                       a.amt_total as amtTotal, DATE_FORMAT(a.begin_date, '%Y-%m-%d') AS beginDate, DATE_FORMAT(a.end_date, '%Y-%m-%d') AS endDate,
-                       a.`status`, b.title as unitName,
-                       (SELECT num_bl FROM sub_rpt_cont src WHERE src.sub_id = a.id AND src.logic_delete_flag = 0 ORDER BY last_update_time DESC, create_time DESC LIMIT 1) as num_bl
-            from week_and_month_file wamf
-            LEFT JOIN sub_rpt_cont src ON src.id = wamf.main_id
-            LEFT JOIN sub_info a ON a.id = src.sub_id
-            LEFT JOIN j_unit b ON a.unit_id = b.id
-            LEFT JOIN sub_manage d ON a.id = d.sub_id AND d.logic_delete_flag = 0
-            LEFT JOIN sub_verify e ON a.id = e.sub_id AND e.logic_delete_flag = 0
+        week_and_month_file wamf
+        LEFT JOIN sub_rpt_cont src ON src.id = wamf.main_id
+        LEFT JOIN sub_info a ON a.id = src.sub_id
+        LEFT JOIN j_unit b ON a.unit_id = b.id
+        LEFT JOIN sub_manage d ON a.id = d.sub_id AND d.logic_delete_flag = 0
+        LEFT JOIN sub_verify e ON a.id = e.sub_id AND e.logic_delete_flag = 0
+        LEFT JOIN (SELECT sum(amt) as yearAmt, sa.sub_id FROM sub_amtplan sa WHERE sa.logic_delete_flag = 0 AND sa.y_month like CONCAT('',#{year}, '%') GROUP BY sa.sub_id) sa ON sa.sub_id = a.id
+        LEFT JOIN (SELECT sum(amt) as yearAmtSj, src.sub_id FROM sub_rpt_cont src WHERE src.logic_delete_flag = 0 AND src.kj_month like CONCAT('',#{year}, '%') GROUP BY src.sub_id) src2 ON src2.sub_id = a.id
 
-            LEFT JOIN (SELECT sum(amt) as yearAmt, sa.sub_id FROM sub_amtplan sa WHERE sa.logic_delete_flag = 0 AND sa.y_month like CONCAT('',#{year}, '%') GROUP BY sa.sub_id) sa ON sa.sub_id = a.id
-            LEFT JOIN (SELECT sum(amt) as yearAmtSj, src.sub_id FROM sub_rpt_cont src WHERE src.logic_delete_flag = 0 AND src.kj_month like CONCAT('',#{year}, '%') GROUP BY src.sub_id) src2 ON src2.sub_id = a.id
+        LEFT JOIN (
+        SELECT t.sub_id, t.num_bl
+        from (
+        SELECT
+        src.sub_id,
+        src.num_bl,
+        @row_number := if(@prev_sub_id = src.sub_id, @row_number + 1, 1) as row_num,
+        @prev_sub_id := src.sub_id
+        FROM sub_rpt_cont src
+        WHERE src.logic_delete_flag = 0
+        ORDER BY src.sub_id, src.last_update_time DESC, src.create_time DESC
+        ) t
+        WHERE t.row_num = 1
+        ) num_bl_subquery ON num_bl_subquery.sub_id = a.id
+        where
+        wamf.logic_delete_flag = 0
+        and src.logic_delete_flag = 0
+        AND (wamf.file_type = '101' or wamf.file_type = '102' or wamf.file_type = '203')
+        AND a.status!= '0'
 
-        WHERE wamf.logic_delete_flag = 0 and src.logic_delete_flag = 0
-          AND (wamf.file_type = '101' or wamf.file_type = '102' or wamf.file_type = '203')
-          AND a.status != '0'
-        group by
-            a.id  ) t
 
+
+                <if test="subName!= null and subName!= ''">
+                    AND a.sub_name = #{subName}
+                </if>
+                <if test="subjectId!= null and subjectId!= ''">
+                    AND a.subject_id = #{subjectId}
+                </if>
+                <if test="indusKind!= null and indusKind!= ''">
+                    AND a.indus_kind = #{indusKind}
+                </if>
+                <if test="kind!= null and kind!= ''">
+                    AND a.kind = #{kind}
+                </if>
+                <if test="numBlMin!= null">
+                    AND num_bl_subquery.num_bl >= #{numBlMin}
+                </if>
+                <if test="numBlMax!= null">
+                    AND num_bl_subquery.num_bl &lt;= #{numBlMax}
+                </if>
+                <if test="propKind!= null and propKind!= ''">
+                    AND a.prop_kind = #{propKind}
+                </if>
+
+
+        group by
+        a.id
     </select>
+
     <select id="selectPageZk" resultType="map" parameterType="map">
-      <![CDATA[
+
         SELECT
-            (SELECT COUNT(*)
-             FROM sub_pre_new spn3
-             WHERE a.id = spn3.sub_id
-               AND spn3.logic_delete_flag = 0) AS preTotal,
+            (SELECT COUNT(*) FROM sub_pre_new spn3 WHERE a.id = spn3.sub_id AND spn3.logic_delete_flag = 0) AS preTotal,
             ts1.title AS indusKindName,
             a.content,
             a.end_date,
@@ -83,30 +129,9 @@
             a.reason,
             a.unit_id AS unitId,
             a.create_time,
-            COALESCE((
-                         SELECT GROUP_CONCAT(
-                                        CONCAT(
-                                                sa.y_month, 'nbsk', sa.assign_amt, 'nbsk', COALESCE(sa.remark, ' ')
-                                        ) SEPARATOR 'nbsy'
-                                )
-                         FROM sub_amtplan sa
-                         WHERE sa.sub_id = a.id AND sa.y_month LIKE '2025%' AND sa.amt IS NOT NULL
-                         GROUP BY sa.sub_id
-                     ), 0) AS assignAmt,
-            COALESCE((
-                         SELECT GROUP_CONCAT(b.title SEPARATOR '</br>')
-                         FROM sub_source g
-                                  LEFT JOIN t_systable b ON g.source_id = b.id
-                         WHERE g.sub_id = a.id AND g.logic_delete_flag = 0
-                         GROUP BY g.sub_id
-                     ), '--') AS zjlyName,
-            COALESCE((
-                         SELECT content
-                         FROM sub_rpt_cont src
-                         WHERE src.sub_id = a.id
-                         ORDER BY id DESC
-                     LIMIT 1
-                ), ' ') AS subEvolve,
+            COALESCE(( SELECT GROUP_CONCAT( CONCAT( sa.y_month, 'nbsk', sa.assign_amt, 'nbsk', COALESCE(sa.remark, ' ') ) SEPARATOR 'nbsy' ) FROM sub_amtplan sa WHERE sa.sub_id = a.id AND sa.y_month LIKE '2025%' AND sa.amt IS NOT NULL GROUP BY sa.sub_id ), 0) AS assignAmt,
+            COALESCE(( SELECT GROUP_CONCAT(b.title SEPARATOR ',') FROM sub_source g LEFT JOIN t_systable b ON g.source_id = b.id WHERE g.sub_id = a.id AND g.logic_delete_flag = 0 GROUP BY g.sub_id ), '--') AS zjlyName,
+            COALESCE(( SELECT content FROM sub_rpt_cont src WHERE src.sub_id = a.id ORDER BY id DESC LIMIT 1 ), ' ') AS subEvolve,
             a.begin_date,
             a.reason_no_rk AS reasonNoRk,
             a.sort1,
@@ -128,42 +153,17 @@
             a.status_jh AS statusJh,
             a.status_sp AS statusSp,
             a.work_space_img AS fileId,
-            COALESCE((
-                         SELECT SUM(amt)
-                         FROM sub_amtplan sa
-                         WHERE sa.sub_id = a.id AND sa.y_month LIKE '2025%' AND sa.amt IS NOT NULL
-                         GROUP BY sa.sub_id
-                     ), 0) AS yearPlanAmt,
-            COALESCE((
-                         SELECT SUM(amt)
-                         FROM sub_rpt_cont src
-                         WHERE src.sub_id = a.id AND src.kj_month LIKE '2025%' AND src.amt IS NOT NULL
-                         GROUP BY src.sub_id
-                     ), 0) AS yearEndAmt,
-            COALESCE((
-                         SELECT SUM(amt)
-                         FROM sub_rpt_cont src3
-                         WHERE src3.sub_id = a.id AND src3.amt IS NOT NULL
-                         GROUP BY src3.sub_id
-                     ), 0) AS allAmt
+            COALESCE(( SELECT SUM(amt) FROM sub_amtplan sa WHERE sa.sub_id = a.id AND sa.y_month LIKE '2025%' AND sa.amt IS NOT NULL GROUP BY sa.sub_id ), 0) AS yearPlanAmt,
+            COALESCE(( SELECT SUM(amt) FROM sub_rpt_cont src WHERE src.sub_id = a.id AND src.kj_month LIKE '2025%' AND src.amt IS NOT NULL GROUP BY src.sub_id ), 0) AS yearEndAmt,
+            COALESCE(( SELECT SUM(amt) FROM sub_rpt_cont src3 WHERE src3.sub_id = a.id AND src3.amt IS NOT NULL GROUP BY src3.sub_id ), 0) AS allAmt
         FROM sub_info a
                  LEFT JOIN j_unit b ON a.unit_id = b.id
                  LEFT JOIN j_unit c ON a.main_id = c.id
                  LEFT JOIN t_systable ts ON ts.`code` = a.subject_id AND ts.kind = 'JSDD'
                  LEFT JOIN t_systable ts1 ON ts1.id = a.indus_kind
                  LEFT JOIN sub_label sla ON sla.sub_id = a.id AND sla.logic_delete_flag = 0
-                 LEFT JOIN (
-            SELECT SUM(amt) AS yearAmt, sa.sub_id
-            FROM sub_amtplan sa
-            WHERE sa.logic_delete_flag = 0 AND sa.y_month >= '202501'
-            GROUP BY sa.sub_id
-        ) sa ON sa.sub_id = a.id
-                 LEFT JOIN (
-            SELECT SUM(amt) AS yearAmtSj, SUM(src.amt_rt) AS yearAmtRt, src.sub_id
-            FROM sub_rpt_cont src
-            WHERE src.logic_delete_flag = 0 AND src.kj_month >= '202501'
-            GROUP BY src.sub_id
-        ) src ON src.sub_id = a.id
+                 LEFT JOIN ( SELECT SUM(amt) AS yearAmt, sa.sub_id FROM sub_amtplan sa WHERE sa.logic_delete_flag = 0 AND sa.y_month >= '202501' GROUP BY sa.sub_id ) sa ON sa.sub_id = a.id
+                 LEFT JOIN ( SELECT SUM(amt) AS yearAmtSj, SUM(src.amt_rt) AS yearAmtRt, src.sub_id FROM sub_rpt_cont src WHERE src.logic_delete_flag = 0 AND src.kj_month >= '202501' GROUP BY src.sub_id ) src ON src.sub_id = a.id
                  LEFT JOIN sub_verify e ON a.id = e.sub_id AND e.logic_delete_flag = 0
                  LEFT JOIN sub_manage d ON a.id = d.sub_id AND d.logic_delete_flag = 0
                  LEFT JOIN sec_user_sub us ON a.id = us.sub_id AND us.logic_delete_flag = 0
@@ -173,9 +173,10 @@
                  LEFT JOIN sub_major mar ON mar.sub_id = a.id
         WHERE a.logic_delete_flag = 0
           AND a.status IN ('1', '6', '7', '8', 'A')
+                 <if test="subName!= null and subName!= ''">
+                     AND a.sub_name = #{subName}
+                 </if>
         GROUP BY a.id
         ORDER BY sort1 DESC, usersub DESC, a.begin_date, a.create_time DESC
-        ]]>
     </select>
-
 </mapper>

+ 8 - 1
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -1383,7 +1383,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         PageHelper.startPage(page.getPageNo(), page.getPageSize());
         // 使用 MyBatis 进行查询
         Map<String, Object> map = new HashMap<>();
-        map.put("subName","");
+        map.put("subName",queryTzVO.getSubName());
         List<Map<String, Object>> data = subInfoQueryMapper.selectPageZk(map);
 
         PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(data);
@@ -2626,6 +2626,13 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         // 使用 MyBatis 进行查询
         Map<String, Object> map = new HashMap<>();
         map.put("year","2025");
+        map.put("subName", queryTzVO.getSubName());
+        map.put("kind", queryTzVO.getKind());
+        map.put("indusKind", queryTzVO.getIndusKind());
+        map.put("subjectId", queryTzVO.getSubjectId());
+        map.put("propKind", queryTzVO.getPropKind());
+        map.put("numBlMin", queryTzVO.getNumBlMin());
+        map.put("numBlMax", queryTzVO.getNumBlMax());
         List<Map<String, Object>> data = subInfoQueryMapper.pageGraphicProgress(map);
 
         PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(data);

+ 1 - 5
projects/src/main/webapp/vmodules/graphic/list.jsp

@@ -91,9 +91,6 @@
 											</div>
 										</div>
 									</div>
-
-								</div>
-								<div class="layui-row">
 									<div class="layui-col-xs3 layui-col-sm3 layui-col-md4">
 										<div class="layui-form-item">
 											<label class="layui-form-label required">建设性质</label>
@@ -104,11 +101,10 @@
 														<option value="${js.code }">${js.title }</option>
 													</c:forEach>
 												</select>
-										    </div>
+											</div>
 										</div>
 									</div>
 
-
 								</div>
 								<div class="layui-row">
 									<div class="layui-col-xs4 layui-col-sm4 layui-col-md4">