Răsfoiți Sursa

进一步完善

wanger 1 săptămână în urmă
părinte
comite
34dc513bf3

+ 9 - 0
onemap-modules/onemap-spotoverlap/src/main/java/com/onemap/spotoverlap/domain/yzt/AnalyseDetailQx.java

@@ -6,6 +6,15 @@ public class AnalyseDetailQx {
     private String overlapzb;
     private String fxjg;
     private String fxyj;
+    private String ypqx;
+
+    public String getYpqx() {
+        return ypqx;
+    }
+
+    public void setYpqx(String ypqx) {
+        this.ypqx = ypqx;
+    }
 
     public String getLayername() {
         return layername;

+ 3 - 2
onemap-modules/onemap-spotoverlap/src/main/java/com/onemap/spotoverlap/service/impl/yzt/YztServiceImpl.java

@@ -797,6 +797,7 @@ public class YztServiceImpl implements IYztService {
     @Override
     public RequestResult getFeatureBySwid(String tablename, String swid) {
         try {
+            List<String> notQueryFieldsList = Arrays.asList(notQueryFields.split(","));
             String querySQL = "select * from  " + tablename + " where swid = '" + swid + "'";
             List<Map<String, Object>> results = yztMapper.executeSQL(querySQL);
             List<Map> res = new ArrayList<Map>();
@@ -804,7 +805,7 @@ public class YztServiceImpl implements IYztService {
                 Map cur = new HashMap();
                 for (Map.Entry<String, Object> entry : thisdata.entrySet()) {
                     String key = entry.getKey();
-                    if (!"geom".equals(key) && !key.contains("面积") && !key.contains("编号集合")) {
+                    if (!notQueryFieldsList.contains(key)) {
                         cur.put(key, entry.getValue());
                     }
                 }
@@ -1280,7 +1281,7 @@ public class YztServiceImpl implements IYztService {
             }
             String[] calcsub = report.getCalctotal().split(",");
             for (String sub : calcsub) {
-                if(StringUtils.isEmpty(sub)){
+                if (StringUtils.isEmpty(sub)) {
                     continue;
                 }
                 if (StringUtils.isNotEmpty(sqlwhere)) {

+ 1 - 1
onemap-modules/onemap-spotoverlap/src/main/resources/bootstrap.yml

@@ -57,7 +57,7 @@ qgis: D:\Program Files\QGIS 3.34.9\bin\
 # 导出的字段集合
 exportFields: 编号,后类型,合法性判断,合法性说明,swarea
 # 不参与查询的字段集合
-notQueryFields: 面积集合,geom,面积比,编号集合,面积
+notQueryFields: 面积集合,geom,面积比,编号集合,面积,swid,swtype,swarea
 # 地图导出的配置  固定项是高度还是宽度  再根据比例计算尺寸
 mapExport:
   fixed: width

+ 24 - 8
onemap-modules/onemap-spotoverlap/src/main/resources/mapper/postgresql/yzt/YztMapper.xml

@@ -350,16 +350,32 @@ WHERE
 
     <select id="getAnalyseDetailQx" resultType="com.onemap.spotoverlap.domain.yzt.AnalyseDetailQx"
             parameterType="java.lang.String">
-        SELECT
-            T.overlaparea ,T.overlapzb||'%' "overlapzb", replace(T."result",'#','') "fxjg",
-            d.sourcename "layername",
-            (select "value" from t_analyse_type p where p.name = d.relationship)||relationshipkey||relationshipvalue||'%' "fxyj"
-        FROM
-            t_analyse_result T
-            left join t_model_detail d on d.id = T.detailid
+        select fff.*,
+(select type from t_assessment_config c where name = fff.fxjg) as ypqx from (SELECT
+CASE
+
+	WHEN T
+		.overlaparea IS NULL THEN
+			'0' ELSE T.overlaparea
+			END AS "overlaparea",
+	CASE
+
+			WHEN T.overlapzb IS NULL THEN
+			'0%' ELSE T.overlapzb || '%'
+		END AS "overlapzb",
+	CASE
+
+			WHEN ( T."result" IS NULL OR T."result" = '#' ) THEN
+			'--' ELSE ( REPLACE ( T."result", '#', '' ) )
+		END AS "fxjg",
+		d.sourcename "layername",
+		( SELECT "value" FROM t_analyse_type P WHERE P.NAME = d.relationship ) || relationshipkey || relationshipvalue || '%' "fxyj"
+	FROM
+		t_analyse_result
+		T LEFT JOIN t_model_detail d ON d.ID = T.detailid
         WHERE
             T.tablename = #{tablename}
-            AND T.swid = #{swid}
+            AND T.swid = #{swid} ) fff
     </select>
 
     <select id="getJctbtjXzq" resultType="com.onemap.spotoverlap.domain.yzt.AnalyseResult"