소스 검색

Merge branch 'master' of http://8.137.121.180:10880/longping/subject_gxj

Wayne 3 달 전
부모
커밋
7ed421bfca
20개의 변경된 파일546개의 추가작업 그리고 123개의 파일을 삭제
  1. 0 5
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInduMapper.xml
  2. 3 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.java
  3. 64 2
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml
  4. 82 81
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoQueryMapper.xml
  5. 18 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubPreNewMapper.xml
  6. 2 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.java
  7. 14 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.xml
  8. 2 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoService.java
  9. 2 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubRptContService.java
  10. 12 5
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java
  11. 151 8
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java
  12. 6 0
      projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubRptContServiceImpl.java
  13. 2 2
      projects/src/main/java/com/rtrh/projects/web/controller/projects/ProjectsOverdueController.java
  14. 167 0
      projects/src/main/java/com/rtrh/projects/web/controller/subject/SubInfoController.java
  15. 2 1
      projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoApiController.java
  16. 12 9
      projects/src/main/resources/logback.xml
  17. 1 5
      projects/src/main/webapp/vmodules/graphic/list.jsp
  18. 1 1
      projects/src/main/webapp/vmodules/problem/info/cbToXjWarn.jsp
  19. 3 3
      projects/src/main/webapp/vmodules/subject/subInfo/oldDetailView.jsp
  20. 2 1
      projects/src/main/webapp/vmodules/workBench/zr_gzt.jsp

+ 0 - 5
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInduMapper.xml

@@ -15,11 +15,6 @@
             i.code,
             i.title,
             i.last_id as lastId,
-            i.create_user_id as createUserId,
-            i.create_time as createTime,
-            i.last_update_user_id as lastUpdateUserId,
-            i.last_update_time as lastUpdateTime,
-            i.logic_delete_flag as logicDeleteFlag,
             s.title as parentTitle
         from sub_indu i left join sub_indu s on i.last_id = s.id where i.logic_delete_flag=0
         <if test="vo!=null and vo.title!=null and vo.title!=''">

+ 3 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.java

@@ -1,6 +1,7 @@
 package com.rtrh.projects.modules.projects.mapper;
 
 import java.util.List;
+import java.util.Map;
 
 import com.rtrh.projects.modules.projects.dto.SubFixCbSearch;
 import com.rtrh.projects.modules.projects.po.RptCont;
@@ -102,4 +103,6 @@ public interface SubInfoMapper {
 
     List<WorkBenchVO> queryExceedMonthly(@Param("lastMonth") String lastMonth);
 
+    Map<String,Object> getSubInfoByFgwId(@Param("id") String id,@Param("queryYear") String queryYear);
+
 }

+ 64 - 2
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubInfoMapper.xml

@@ -347,7 +347,6 @@
             last_update_user_id AS lastUpdateUserId,
             last_update_user_name AS lastUpdateUserName,
             last_update_time AS lastUpdateTime,
-            logic_delete_flag AS logicDeleteFlag,
             status_lamp AS statusLamp,
             kind_nature AS kindNature
         from sub_info
@@ -558,6 +557,7 @@
     </select>
     <select id="selectNewestMonthReport" resultType="com.rtrh.projects.modules.projects.po.RptCont">
         SELECT
+            DISTINCT
             src.sub_id AS subId,src.content
         FROM
             sub_rpt_cont src
@@ -582,7 +582,7 @@
         WHERE
             src.logic_delete_flag = 0
           AND src.kind = '1'
-          AND src.content IS NOT NULL;
+          AND src.content IS NOT NULL
     </select>
     <select id="exportFixCbDetailExcel" resultType="com.rtrh.projects.modules.projects.vo.export.SubInfoFixCbDetail">
         SELECT sub_info.id as id,
@@ -1121,4 +1121,66 @@
         GROUP BY
             a.id
     </select>
+
+    <select id="getSubInfoByFgwId" resultType="map" parameterType="string">
+        SELECT
+            sa.yearAmt,
+            src.yearAmtSj,
+            src.yearAmtRt,
+            IF
+            ( sa.yearAmt != 0, ROUND(( src.yearAmtSj - sa.yearAmt ) * 100 / sa.yearAmt, 2 ), NULL ) AS `offset`,
+            sqi.title problemReason,
+            IF
+            ( us.id IS NULL, 0, 1 ) AS isBl,
+            a.*,
+            b.title AS unitName,
+            f.title AS mainName,
+            c.title AS indusName,
+            d.title AS manageName,
+            e.title subjectId
+        FROM
+        sub_info a
+        LEFT JOIN j_unit b ON a.unit_id = b.id
+        LEFT JOIN j_unit d ON a.manage_id = d.id
+        LEFT JOIN j_unit f ON a.main_id = f.id
+        LEFT JOIN t_systable c ON a.indus_kind = c.id
+        LEFT JOIN t_systable e ON a.subject_id = e.id
+        LEFT JOIN sec_user_sub us ON a.id = us.sub_id
+        AND us.logic_delete_flag = 0
+        LEFT JOIN sub_q_info sqi ON sqi.sub_id = a.id
+        AND sqi.logic_delete_flag = 0
+        AND sqi.`status` = '0'
+        AND sqi.kind = 2
+        LEFT JOIN (
+        SELECT
+        sum( amt ) yearAmt,
+        sa.sub_id
+        FROM
+        sub_amtplan sa
+        WHERE
+        sa.logic_delete_flag = 0
+        AND sa.y_month >= #{queryYear}
+        AND sa.y_month &lt;= #{queryYear}
+        GROUP BY
+        sa.sub_id
+        ) sa ON sa.sub_id = a.id
+        LEFT JOIN (
+        SELECT
+        sum( amt ) yearAmtSj,
+        sum( amt_rt ) yearAmtRt,
+        src.sub_id
+        FROM
+        sub_rpt_cont src
+        WHERE
+        src.logic_delete_flag = 0
+        AND src.kj_month >= #{queryYear}
+        AND src.kj_month &lt;= #{queryYear}
+        GROUP BY
+        src.sub_id
+        ) src ON src.sub_id = a.id
+        WHERE
+        a.id = #{id}
+        GROUP BY
+        a.id
+    </select>
 </mapper>

+ 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>

+ 18 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubPreNewMapper.xml

@@ -5,6 +5,7 @@
     <select id="pageQueryCbToXjData" resultType="map" parameterType="map">
         SELECT
         a.id as id,
+        a.sub_code as subCode,
         a.sub_name as subName,
         a.begin_date as beginDate,
         a.end_date as endDate,
@@ -12,11 +13,13 @@
         c.title as mainTitle,
         a.qy_date as qyDate,
         a.cb_num as cbNum,
+        ts.title as indusName,
         concat(a.name_lead,':',a.tel_lead) as datePlan
         FROM
         sub_info a
         LEFT JOIN j_unit d ON a.unit_id = d.id
         LEFT JOIN j_unit c ON a.main_id = c.id
+        LEFT JOIN t_systable ts ON ts.id = a.indus_kind
         WHERE
         a.STATUS = '1'
         AND ( a.cb_status = '3' OR a.cb_status = '4' OR a.cb_status = '5' )
@@ -72,16 +75,20 @@
 
     <select id="pageQueryXjToZjData" resultType="map" parameterType="map">
         SELECT
+        a.id as id,
+        a.sub_code as subCode,
         a.sub_name as subName,
         a.begin_date as beginDate,
         a.end_date as endDate,
         d.title as unitTitle,
         c.title as mainTitle,
+        ts.title as indusName,
         concat(a.name_lead,':',a.tel_lead) as datePlan
         FROM
         sub_info a
         LEFT JOIN j_unit d ON a.unit_id = d.id
         LEFT JOIN j_unit c ON a.main_id = c.id
+        LEFT JOIN t_systable ts ON ts.id = a.indus_kind
         WHERE
         a.begin_date &lt;= NOW()
         AND a.`status` = 2
@@ -136,16 +143,20 @@
 
     <select id="pageQueryZjToTcData" resultType="map" parameterType="map">
         SELECT
+            a.id,
+            a.sub_code as subCode,
             a.sub_name as subName,
             a.begin_date as beginDate,
             a.end_date as endDate,
             d.title as unitTitle,
             c.title as mainTitle,
+            ts.title as indusName,
             concat(a.name_lead,':',a.tel_lead) as datePlan
         FROM
         sub_info a
         LEFT JOIN j_unit d ON a.unit_id = d.id
         LEFT JOIN j_unit c ON a.main_id = c.id
+        LEFT JOIN t_systable ts ON ts.id = a.indus_kind
         WHERE
         a.end_date &lt;= NOW()
         AND a.`status` = 3
@@ -200,17 +211,21 @@
 
     <select id="pageQueryTcToRgData" resultType="map" parameterType="map">
         SELECT
+            a.id,
+            a.sub_code as subCode,
             a.sub_name as subName,
             a.begin_date as beginDate,
             a.end_date as endDate,
             d.title as unitTitle,
             c.title as mainTitle,
             a.rt_date as rtDate,
+            ts.title as indusName,
             concat(a.name_lead,':',a.tel_lead) as datePlan
         FROM
         sub_info a
         LEFT JOIN j_unit d ON a.unit_id = d.id
         LEFT JOIN j_unit c ON a.main_id = c.id
+        LEFT JOIN t_systable ts ON ts.id = a.indus_kind
         WHERE
         a.rt_date &lt;= NOW()
         AND (a.is_rg = 0 or a.is_rg is null)
@@ -284,6 +299,8 @@
     <select id="pageQueryPreWarnData" resultType="map" parameterType="map">
         SELECT
             c.id subId,
+            ts.title as indusName,
+            c.sub_code as subCode,
             c.sub_name subName,
             d.title unitName,
             a.unit_desc unitDesc,
@@ -304,6 +321,7 @@
         LEFT JOIN j_unit d ON c.unit_id = d.id
         LEFT JOIN j_depart jd ON jd.id = a.sub_depart_id
         LEFT JOIN j_unit ju ON ju.id = a.sub_unit_id
+        LEFT JOIN t_systable ts ON ts.id = c.indus_kind
         LEFT JOIN sub_manage e ON c.id = e.sub_id
         AND e.logic_delete_flag = 0
         LEFT JOIN sub_verify f ON f.sub_id = c.id

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.java

@@ -1,6 +1,7 @@
 package com.rtrh.projects.modules.projects.mapper;
 
 import com.rtrh.core.repository.mybatis.MyBatisRepository;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -15,4 +16,5 @@ public interface SubRptContMapper {
 
     List<Map<String,Object>>  pageQueryMonthWarnData(Map<String, Object> params);
 
+    String selectNewestMonthReportByIdAndKind(@Param("subId") String subId,@Param("kind") String kind);
 }

+ 14 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/mapper/SubRptContMapper.xml

@@ -71,4 +71,18 @@
         GROUP BY
             a.id
     </select>
+    <select id="selectNewestMonthReportByIdAndKind" resultType="java.lang.String">
+        SELECT
+            content
+        FROM
+            sub_rpt_cont
+        WHERE
+            logic_delete_flag = 0
+          AND sub_id = #{subId}
+          AND kind = #{kind}
+          AND content IS NOT NULL
+        ORDER BY
+            kj_month DESC
+            LIMIT 1
+    </select>
 </mapper>

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubInfoService.java

@@ -38,6 +38,8 @@ public interface SubInfoService {
 	 */
 	Map<String,Object> getSubInfoById(String id, String queryYear);
 
+	Map<String,Object> getSubInfoByFgwId(String id, String queryYear);
+
 	/**
 	 * 查询申报项目
 	 * @param page

+ 2 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/SubRptContService.java

@@ -167,4 +167,6 @@ public interface SubRptContService {
 	 * @return
 	 */
 	Page list(Page page, LoginUserVO loginUserVO, SubInfoQueryTzVO queryTzVO);
+
+    String selectNewestMonthReportByIdAndKind(String subId, String code);
 }

+ 12 - 5
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoQueryServiceImpl.java

@@ -199,11 +199,11 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         Map<String, String> rptContentMap = new HashMap<>();
         if (Arrays.asList(SubInfoStatusEnum.ZJ.getCode(), SubInfoStatusEnum.TC.getCode()).contains(queryVO.getStatus())) {
             List<RptCont> rptContList = subInfoMapper.selectNewestMonthReport(ids);
-            rptContentMap = rptContList.stream().collect(Collectors.toMap(RptCont::getSubId, RptCont::getContent));
+            rptContentMap = rptContList.stream().collect(Collectors.toMap(RptCont::getSubId, RptCont::getContent, (v1, v2) -> v1));
         }
 
         List<TSystable> byKind = tSysTableService.getByKind(SysTableKind.JSDD);
-        Map<String, String> kindMap = byKind.stream().collect(Collectors.toMap(TSystable::getCode, TSystable::getTitle));
+        Map<String, String> kindMap = byKind.stream().collect(Collectors.toMap(TSystable::getCode, TSystable::getTitle, (v1, v2) -> v1));
 
         if (CollectionUtil.isNotEmpty(data)) {
             for (SubInfoGxj e : data) {
@@ -301,7 +301,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         Map<String, Long> abc = list.stream().collect(Collectors.groupingBy(e -> StringUtils.defaultIfBlank(e.getAbc(), NullValueEnum.UNKNOWN_CATEGORY.getCode()), Collectors.counting()));
         // 建设地点统计
         List<TSystable> jsddDict = tSysTableService.getByKind(SysTableKind.JSDD);
-        Map<String, String> jsddNameMap = jsddDict.stream().collect(Collectors.toMap(TSystable::getCode, TSystable::getTitle));
+        Map<String, String> jsddNameMap = jsddDict.stream().collect(Collectors.toMap(TSystable::getCode, TSystable::getTitle, (v1, v2) -> v1));
         Map<String, Long> subject = list.stream().collect(Collectors.groupingBy(e -> StringUtils.defaultIfBlank(e.getSubjectId(), "."), Collectors.counting()));
         List<StatisticsVO.KvNum> jsddList = new ArrayList<>();
         subject.forEach((k, v) -> {
@@ -312,7 +312,7 @@ public class SubInfoQueryServiceImpl implements SubInfoQueryService {
         });
         // 行业统计
         List<SubIndu> hyflDict = subInduService.queryParentAll();
-        Map<String, String> hyflNameMap = hyflDict.stream().collect(Collectors.toMap(SubIndu::getCode, SubIndu::getTitle));
+        Map<String, String> hyflNameMap = hyflDict.stream().collect(Collectors.toMap(SubIndu::getCode, SubIndu::getTitle, (v1, v2) -> v1));
         hyflNameMap.put(NullValueEnum.UNKNOWN_INDUS_KIND.getCode(), NullValueEnum.UNKNOWN_INDUS_KIND.getDesc());
         Map<String, Long> indusKind = list.stream()
                 .collect(Collectors.groupingBy(e -> {
@@ -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);

+ 151 - 8
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubInfoServiceImpl.java

@@ -541,6 +541,152 @@ public class SubInfoServiceImpl implements SubInfoService {
         return old;
     }
 
+    @Override
+    @TargetDataSource(value="secondary")
+    public Map<String, Object> getSubInfoByFgwId(String id, String queryYear) {
+        Map<String, Object> data = subInfoMapper.getSubInfoByFgwId(id, queryYear);
+        String kindName = "";
+        //后续需替换数据源,请使用mybatis方式
+        if (data.get("kind") != null) {
+            String[] kind = data.get("kind").toString().split(",");
+            for (String item : kind) {
+                String oneKineName = tSysTableService.getTitleByKindAndCode(SysTableKind.XMLX, item);
+                if (StringUtil.isNotEmpty(oneKineName)) {
+                    kindName += oneKineName + " ";
+                }
+            }
+        }
+        data.put("kindName", kindName);
+        String propKindName = tSysTableService.getTitleByKindAndCode(SysTableKind.JSXZ, data.get("prop_kind") == null ? "" : String.valueOf(data.get("prop_kind")));
+        data.put("propKindName", propKindName);
+        //建设地点
+        String subjectName = tSysTableService.getTitleByKindAndCode(SysTableKind.JSDD, data.get("subject_id") == null ? "" : String.valueOf(data.get("subject_id")));
+        data.put("subjectName", subjectName);
+        String kindNature = tSysTableService.getTitleByKindAndCode(SysTableKind.TZXZ, data.get("kind_nature") == null ? "0" : data.get("kind_nature").toString());
+        data.put("kindNature", kindNature);
+        String approve_id = data.get("approve_id") == null ? null : String.valueOf(data.get("approve_id"));
+        if (StringUtil.isNotEmpty(approve_id)) {
+            JUnit unit = jUnitDao.findById(approve_id);
+            data.put("approveName", unit == null ? "" : unit.getTitle());
+        }
+        String departId = data.get("approve_departid") == null ? null : String.valueOf(data.get("approve_departid"));
+        if (StringUtil.isNotEmpty(departId)) {
+            JDepart depart = jDepartDao.findById(departId);
+            data.put("approveDepartName", depart == null ? "" : depart.getTitle());
+        }
+        String departId2 = data.get("approve_departid2") == null ? null : String.valueOf(data.get("approve_departid2"));
+        if (StringUtil.isNotEmpty(departId2)) {
+            //市发改委
+            JDepart depart = jDepartDao.findById(departId2);
+            data.put("approveDepartName2", depart == null ? "" : depart.getTitle());
+        }
+
+        BigDecimal zero = new BigDecimal(0);
+        BigDecimal amtComp = (BigDecimal) data.get("amt_comp");
+        BigDecimal amtYear = (BigDecimal) data.get("amt_year");
+        if (amtComp == null || amtYear == null
+                || amtYear.compareTo(zero) == 0
+                || amtComp.compareTo(zero) == 0) {
+            data.put("amtPercent", 0);
+        } else {
+            data.put("amtPercent", amtComp.multiply(new BigDecimal(100)).divide(amtYear, 2, RoundingMode.HALF_UP).setScale(0, RoundingMode.HALF_UP).intValue());
+        }
+        if (data.get("amt_year") == null) {
+            data.put("amt_year", 0);
+        }
+
+        //到位资金
+        if (data.get("amt_comptotal") == null) {
+            data.put("amt_comptotal", 0);
+        }
+
+        //创建人
+        if (data.get("create_user_id") != null) {
+            SecUser user = secUserDao.findById(String.valueOf(data.get("create_user_id")));
+            if (null != user) {
+                data.put("createUserName", user.getLogin());
+            }
+        }
+
+        BigDecimal numTotal = (BigDecimal) data.get("num_total");
+        BigDecimal numComp = (BigDecimal) data.get("num_comp");
+        if (numComp == null || numTotal == null
+                || numTotal.compareTo(zero) == 0
+                || numComp.compareTo(zero) == 0) {
+            data.put("numPercent", 0);
+        } else {
+            data.put("numPercent", numComp.multiply(new BigDecimal(100)).divide(numTotal, 2, RoundingMode.HALF_UP).setScale(0, RoundingMode.HALF_UP).intValue());
+        }
+
+        String is_rk = (String) data.get("is_rk");
+        if (is_rk == null) {
+            data.put("is_rk", 0);
+        }
+
+        //项目是否隐藏
+        //是否隐藏
+        SubIsHideStatusEnum subIsHideStatusEnum = SubIsHideStatusEnum.getEnumByKey(String.valueOf(data.get("is_hide") == null ? "0" : data.get("is_hide")));
+        if (subIsHideStatusEnum != null) {
+            data.put("isHideName", subIsHideStatusEnum.getDesc());
+        }
+
+
+        //20231219 增加偏离度
+        BigDecimal yearAmt = data.get("yearAmt") == null ? BigDecimal.ZERO : (BigDecimal) data.get("yearAmt");
+        BigDecimal yearAmtSj = data.get("yearAmtSj") == null ? BigDecimal.ZERO : (BigDecimal) data.get("yearAmtSj");
+
+
+        if (yearAmt.compareTo(BigDecimal.ZERO) != 0) {
+            data.put("pld", (yearAmtSj.subtract(yearAmt)).multiply(new BigDecimal(100)).divide(yearAmt, BigDecimal.ROUND_HALF_UP, 2));
+
+        } else {
+            data.put("pld", BigDecimal.ZERO);
+        }
+
+
+        //当前项目状态
+        String status = String.valueOf(data.get("status"));
+        ProjectStatusEnum statusEnum = ProjectStatusEnum.getEnumByKey(status);
+        switch (statusEnum) {
+            case DKG:
+                //待开工
+                String startQueryHql = "FROM SubStart WHERE logicDeleteFlag = ? AND subId = ? ";
+                Long startCount = subInfoDao.getCount(startQueryHql, 0, id);
+                if (startCount == 0) {
+                    data.put("statusName", ProjectStatusEnum.DKG.getDesc() + ":未提交审核");
+                } else {
+                    data.put("statusName", ProjectStatusEnum.DKG.getDesc() + ":待审核");
+                }
+                break;
+            case YKG:
+                //已开工
+                String completedQueryHql = "FROM SubCompleted WHERE logicDeleteFlag = ? AND subId = ? ";
+                Long completedCount = subInfoDao.getCount(completedQueryHql, 0, id);
+                if (completedCount == 0) {
+                    data.put("statusName", ProjectStatusEnum.YKG.getDesc() + ":无竣工申请");
+                } else {
+                    if (data.get("status_sp") == null || Objects.equals(data.get("status_sp"), ApprovalStatusEnum.DSP.getKey())) {
+                        data.put("statusName", ProjectStatusEnum.YKG.getDesc() + ":待审核");
+                    } else if (Objects.equals(data.get("status_sp"), ApprovalStatusEnum.YSP.getKey())) {
+                        data.put("statusName", ProjectStatusEnum.YKG.getDesc() + ":竣工申请已审核");
+                    }
+                }
+                break;
+            default:
+                data.put("statusName", statusEnum.getDesc());
+                break;
+        }
+
+        if (!Objects.equals("0", data.get("status_fgw"))) {
+            //显示红绿灯,且不是绿灯
+            SubquestionInfo subquestionInfo = subquestioninfoservice.findByColor(String.valueOf(data.get("id")), (Date) data.get("date_fgw"));
+            if (subquestionInfo != null) {
+                data.put("colorReason", subquestionInfo.getTitle());
+            }
+        }
+        return data;
+    }
+
     @Override
     public Map<String, Object> getSubInfoById(String id, String queryYear) {
         Map<String, Object> data = subInfoDao.getSubInfoById(id, queryYear);
@@ -4733,14 +4879,11 @@ public class SubInfoServiceImpl implements SubInfoService {
     @Override
     public SubInfoGxj findById(String subId) {
         SubInfoGxj subInfo = subInfoMapper.findById(subId);
-        String hql = "FROM RptCont WHERE logicDeleteFlag = 0 AND subId = :subId AND kind = :kind AND content IS NOT NULL ORDER BY kjMonth DESC";
-        Query query = rptContDao.createQuery(hql);
-        query.setParameter("subId", subInfo.getSubId());
-        query.setParameter("kind", RptContKindEnum.MONTH.getCode());
-        query.setMaxResults(1);
-        Object result = query.uniqueResult();
-        Optional.ofNullable(result).map(o -> (RptCont) o).ifPresent(o -> subInfo.setProgress(o.getContent()));
-        sysTableService.getByKind(SysTableKind.HYFL).stream()
+        if (Arrays.asList(SubInfoStatusEnum.ZJ.getCode(), SubInfoStatusEnum.TC.getCode()).contains(subInfo.getStatus())){
+            String content = subRptContService.selectNewestMonthReportByIdAndKind(subId, RptContKindEnum.MONTH.getCode());
+            subInfo.setProgress(content);
+        }
+        subInduService.queryAll(null).stream()
                 .filter(e -> e.getCode().equals(subInfo.getIndusKind()))
                 .findFirst().ifPresent(e-> subInfo.setIndusName(e.getTitle()));
         sysTableService.getByKind(SysTableKind.JSXZ).stream()

+ 6 - 0
projects-service/src/main/java/com/rtrh/projects/modules/projects/service/impl/SubRptContServiceImpl.java

@@ -1331,6 +1331,12 @@ public class SubRptContServiceImpl implements SubRptContService {
 		return page;
 	}
 
+	@Override
+	@TargetDataSource("secondary")
+	public String selectNewestMonthReportByIdAndKind(String subId, String kind) {
+		return subRptContMapper.selectNewestMonthReportByIdAndKind(subId, kind);
+	}
+
 	private StringBuffer buildSql(LoginUserVO loginUserVO, SubInfoQueryTzVO queryVO) {
 		StringBuffer sql = new StringBuffer();
 		if (StringUtil.isEmpty(queryVO.getYear())) {

+ 2 - 2
projects/src/main/java/com/rtrh/projects/web/controller/projects/ProjectsOverdueController.java

@@ -81,8 +81,8 @@ public class ProjectsOverdueController extends BaseController {
 	}
 	@RequestMapping(value="/overdue/projectInfo2",method=RequestMethod.GET)
 	public ModelAndView projectInfo2(Model model,String subId,String lastUrl, Boolean layer, String queryYear, Boolean isCt) {
-		SubInfoGxj subInfoGxj = subInfoService.findById(subId);
-		model.addAttribute("sunInfo", subInfoGxj);
+		SubInfoGxj vo = subInfoService.findById(subId);
+		model.addAttribute("sunInfo", vo);
 		model.addAttribute("layer", layer);
 		model.addAttribute("queryYear", queryYear);
 		return new ModelAndView("/vmodules/project/projectInfo.jsp");

+ 167 - 0
projects/src/main/java/com/rtrh/projects/web/controller/subject/SubInfoController.java

@@ -1409,6 +1409,173 @@ public class SubInfoController extends BaseController {
 
     }
 
+    @GetMapping("detailFgwView")
+    public ModelAndView detailFgwView(Model model, String subId, String lastUrl, Boolean layer, String queryYear, Boolean isCt) {
+
+
+        Map<String, Object> subInfo = subInfoService.getSubInfoByFgwId(subId, queryYear);
+
+
+        final String[] light = {""};
+
+
+        if ((subInfo.get("status") == null ? "0" : subInfo.get("status") + "").equals(ProjectStatusEnum.PRE.getKey())) {
+            //判断灯色
+            //判断项目前期问题
+
+            //获取项目前期资料
+            List<SubPreNewResultVO> list = subPreNewService.listBySubId(subId);
+            //判断前期是否有问题
+            list.stream().forEach(v -> {
+                String status = checkPreLigth(v);
+                if ("yellow".equals(status)) {
+                    if (!"red".equals(status)) {
+                        light[0] = "yellow";
+                    }
+                } else if ("red".equals(status)) {
+                    light[0] = "red";
+                }
+
+            });
+        } else {
+            //判断偏离度问题
+            BigDecimal pld = subInfo.get("pld") == null ? BigDecimal.ZERO : (BigDecimal) subInfo.get("pld");
+            //-30到-10  为黄色
+            if (new BigDecimal(-30).compareTo(pld) <= 0 && new BigDecimal(-10).compareTo(pld) >= 0) {
+                light[0] = "yellow";
+            }//小于 -30   为红色
+            else if (new BigDecimal(-30).compareTo(pld) > 0) {
+                light[0] = "red";
+            }
+
+            //判断 月报红黄灯
+            PreWarnDataQueryVO queryVO = new PreWarnDataQueryVO();
+            queryVO.setSubId(subId);
+            Page pageData = subRptContService.pageMonthWarnData(new Page(), getCurUser().getLoginUser(), queryVO);
+            if (pageData.getList().size() > 0) {
+                List<Map<String, Object>> list = pageData.getList();
+                list.stream().forEach(v -> {
+                    Calendar calendar = Calendar.getInstance();
+                    Date newDate = calendar.getTime();
+                    calendar.set(Calendar.DAY_OF_MONTH, 5);
+
+                    if (v.get("monthId") != null) {
+                        if (v.get("create_time") != null) {
+                            //填写了月报   但是超过3天为  红色
+                            if ((((Date) v.get("create_time")).getTime() - calendar.getTime().getTime()) > (86400 * 3)) {
+                                light[0] = "red";
+                            } else {
+                                if (!"red".equals(light[0])) {
+                                    light[0] = "yellow";
+                                }
+                            }
+                        }
+                    } else {
+                        //未填写  月报 超过下月5号 3天   为红色
+                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+                        String time = format.format(calendar.getTime());
+                        if (newDate.getTime() - calendar.getTime().getTime() > (86400 * 3)) {
+                            light[0] = "red";
+                        } else {
+                            if (!"red".equals(light[0])) {
+                                light[0] = "yellow";
+                            }
+                        }
+                    }
+                });
+            }
+        }
+
+
+        //项目前期,月报 ,偏离度  都没有灯色
+        if ("yellow".equals(light[0])) {
+            subInfo.put("status_fgw", "1");
+        } else if ("red".equals(light[0])) {
+            subInfo.put("status_fgw", "2");
+        } else {
+            subInfo.put("status_fgw", "0");
+        }
+
+
+        //判断是否  是项目单位, 并且项目处于 项目前期过程中。 能直接进入项目前期
+        String status = String.valueOf(subInfo.get("status"));
+        if (ProjectStatusEnum.PRE.getKey().equals(status) && "2".equals(getCurUser().getKindUnit())) {
+            subInfo.put("preCheck", true);
+        }
+        //判断是否项目已经竣工
+        model.addAttribute("completeCheck", ProjectStatusEnum.END.getKey().equals(status));
+
+        model.addAttribute("sunInfo", subInfo);
+
+        int currYear = DateUtil.thisYear();
+        model.addAttribute("currYear", currYear);
+        model.addAttribute("lastUrl", lastUrl);
+
+        model.addAttribute("layer", Boolean.TRUE.equals(layer));
+        model.addAttribute("canPrint", false);
+        model.addAttribute("queryYear", queryYear);
+
+        //当前状态
+        if (Boolean.TRUE.equals(isCt)) {
+            return new ModelAndView("/vmodules/statics/layer/subInfo/projectInfo.jsp");
+        }
+
+        //总完成投资
+        BigDecimal allEndAmt = BigDecimal.ZERO;
+        BigDecimal totalAmt = (BigDecimal) (subInfo.get("amt_total"));    //这个原始用法出现问题,类型错误报错
+//        BigDecimal totalAmt = new BigDecimal(((Float) subInfo.get("amt_total")).toString());
+        List<RptCont> allRpt = subRptContService.getListBySub(subId, null, RptContKindEnum.MONTH);
+        if (CollectionUtil.isNotEmpty(allRpt)) {
+            double sum = allRpt.stream().mapToDouble(new ToDoubleFunction<RptCont>() {
+                @Override
+                public double applyAsDouble(RptCont value) {
+                    if (value.getAmt() != null) {
+                        return value.getAmt().doubleValue();
+                    }
+                    return 0;
+                }
+            }).sum();
+            allEndAmt = BigDecimal.valueOf(sum);
+        }
+        if (totalAmt == null) {
+            totalAmt = BigDecimal.ZERO;
+        }
+        model.addAttribute("totalAmt", totalAmt.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP));
+        model.addAttribute("allEndAmt", allEndAmt.divide(BigDecimal.valueOf(10000), 2, RoundingMode.HALF_UP));
+        if (BigDecimal.ZERO.compareTo(totalAmt) != 0) {
+            model.addAttribute("allEndAmtRate", allEndAmt.divide(totalAmt, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP));
+        } else {
+            model.addAttribute("allEndAmtRate", "0");
+        }
+        BigDecimal yearAmt = BigDecimal.ZERO;
+        List<SubAmtPlan> currYearAmtPlanList = subAmtPlanDao.getBySubId(subId, String.valueOf(currYear));
+        if (CollectionUtil.isNotEmpty(currYearAmtPlanList)) {
+            for (SubAmtPlan amt : currYearAmtPlanList) {
+                if (amt.getAmt() != null) {
+                    yearAmt = yearAmt.add(amt.getAmt());
+                }
+            }
+        }
+
+        BigDecimal yearAmtSj = (BigDecimal) subInfo.get("yearAmtSj");
+        if (yearAmtSj == null) {
+            yearAmtSj = BigDecimal.ZERO;
+        }
+
+
+        model.addAttribute("yearPlanAmt", (yearAmt).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP));
+        model.addAttribute("yearAmt", yearAmt.divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP));
+        model.addAttribute("yearAmtSj", yearAmtSj.divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP));
+        if (BigDecimal.ZERO.compareTo(yearAmt) != 0) {
+            model.addAttribute("yearEndAmtRate", yearAmtSj.divide(yearAmt, 4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP));
+        } else {
+            model.addAttribute("yearEndAmtRate", 0);
+        }
+
+        return new ModelAndView("/vmodules/subject/subInfo/oldDetailView.jsp");
+
+    }
+
 
     @GetMapping("detailViewOut")
     public ModelAndView detailViewOut(Model model, String subId, String lastUrl, Boolean layer, String queryYear, Boolean isCt) {

+ 2 - 1
projects/src/main/java/com/rtrh/projects/web/controller/subject/api/SubInfoApiController.java

@@ -385,7 +385,8 @@ public class SubInfoApiController extends BaseController {
     public Message getById(@RequestBody SubInfoJsonGetVO getVO) {
         Message message = new Message();
         try {
-            SubInfoJsonForm infoVO = subInfoService.getFormById(getVO.getId(), getVO.getNeedSpName());
+            // SubInfoVO infoVO = subInfoService.getById(getVO.getId());
+            SubInfoGxj infoVO = subInfoService.findById(getVO.getId());
             message.setData(infoVO);
         } catch (Exception e) {
             logger.error("", e);

+ 12 - 9
projects/src/main/resources/logback.xml

@@ -16,7 +16,7 @@
 		class="ch.qos.logback.core.rolling.RollingFileAppender">
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}.log</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}.log</fileNamePattern>
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}.log</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
 		<encoder>
@@ -29,7 +29,7 @@
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}_runtime.log-->
 <!--			</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_runtime.log
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_runtime.log
 			</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
@@ -42,21 +42,21 @@
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}_mvc.log-->
 <!--			</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_mvc.log
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_mvc.log
 			</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
 		<encoder>
 			<pattern>%date %level [%thread] %10logger [%file:%line] %msg%n
 			</pattern>
-		</encoder>	
+		</encoder>
 	</appender>
 	<appender name="FILEJDBC"
 		class="ch.qos.logback.core.rolling.RollingFileAppender">
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}_jdbc.log-->
 <!--			</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_jdbc.log
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_jdbc.log
 			</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
@@ -70,7 +70,7 @@
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}_bizz.log-->
 <!--			</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_bizz.log
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_bizz.log
 			</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
@@ -84,7 +84,7 @@
 		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 <!--			<fileNamePattern>F:/Logs/projects/%d{yyyy-MM-dd}_vcode.log-->
 <!--			</fileNamePattern>-->
-			<fileNamePattern>C:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_vcode.log
+			<fileNamePattern>D:/svn/logs/xingjiang/projects/%d{yyyy-MM-dd}_vcode.log
 			</fileNamePattern>
 			<maxHistory>30</maxHistory>
 		</rollingPolicy>
@@ -107,7 +107,7 @@
 		<appender-ref ref="STDOUT" />
 		<appender-ref ref="FILE" />
 	</logger>
-	
+
 	<logger name="net.sf.ehcache" additivity="false" level="WARN">
 		<appender-ref ref="FILE" />
 		<appender-ref ref="STDOUT" />
@@ -123,7 +123,10 @@
 		<appender-ref ref="FILEBIZZ" />
 		<appender-ref ref="STDOUT" />
 	</logger>
-	
+	<logger name="com.rtrh.projects" additivity="false" level="debug">
+		<appender-ref ref="STDOUT" />
+	</logger>
+
 	<logger name="com.rtrh.core.spring.intercepter.ExecutionMethodInterceptor"
 		additivity="false" level="INFO">
 		<appender-ref ref="FILERUNTIME" />

+ 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">

+ 1 - 1
projects/src/main/webapp/vmodules/problem/info/cbToXjWarn.jsp

@@ -868,7 +868,7 @@
                 var index = layer.open({
                     type: 2,
                     area: ['1000px', '800px'],
-                    content: App.getUrl("/subject/subInfo/detailView?layer=true&subId="+ obj.data.subId + "&lastUrl=" + window.location.href),
+                    content: App.getUrl("/subject/subInfo/detailView?layer=true&subId="+ obj.data.id + "&lastUrl=" + window.location.href),
                 });
                 layui.layer.full(index);
             },

+ 3 - 3
projects/src/main/webapp/vmodules/subject/subInfo/oldDetailView.jsp

@@ -229,8 +229,8 @@
 						<img v-if="warningLight.jg === 2" class="light-rgb-red" src="${WebSite.asset}/css/images/light-red.png" />
 						<div class="light-name">竣工警示灯</div>
 					</div>
-					<div class="light-item" @click="onChangeActive(2)">
-						<%-- 偏离度显示 --%>
+					<%--<div class="light-item" @click="onChangeActive(2)">
+						&lt;%&ndash; 偏离度显示 &ndash;%&gt;
 						<c:choose>
 							<c:when test="${sunInfo.status_fgw == '2'}">
 								<img class="light-rgb-red"   src="${WebSite.asset}/css/images/light-red.png" title="${not empty sunInfo.problemReason ? sunInfo.problemReason : '暂无描述'}"></img>
@@ -243,7 +243,7 @@
 							</c:otherwise>
 						</c:choose>
 						<div class="light-name">偏离度警示灯</div>
-					</div>
+					</div>--%>
 				</div>
 
 			</div>

+ 2 - 1
projects/src/main/webapp/vmodules/workBench/zr_gzt.jsp

@@ -71,7 +71,8 @@
                         <img src="${WebSite.asset }/css/images/u138.svg" /> 已办事项
                     </div>
                 </div> --%>
-                <div class="layui-card" @click="toYQ()">
+<%--                <div class="layui-card" @click="toYQ()">--%>
+                <div class="layui-card">
                     <div class="layui-card-body">
                         <div class="img_num">
                             <img src="${WebSite.asset }/css/images/workPlat/remind.png"/>