Bladeren bron

修改结果

LAPTOP-BJJ3IV5R\SIWEI 9 maanden geleden
bovenliggende
commit
27e96c3a8e

+ 9 - 12
onemap-modules/onemap-analyse/src/main/resources/mapper/oracle/vector/TableDateMapper.xml

@@ -71,19 +71,16 @@
 
     <select id="getTargetTable" resultType="Map">
         SELECT
-        <foreach item="column" collection="columns" separator=",">
-            <choose>
-                <when test="column == 'geom'">
-                </when>
-                <otherwise>
-                    a.${column}
-                </otherwise>
-            </choose>
-        </foreach>
-        <if test="columns != null and !columns.isEmpty()">
-            ,
-        </if>
         public.st_asewkt(b.geom) AS geom
+        <if test="columns != null and columns!='' ">
+            <foreach item="column" collection="columns">
+                <choose>
+                    <when test="column != 'geom'">
+                        ,a.${column}
+                    </when>
+                </choose>
+            </foreach>
+        </if>
         <if test="siweiArea == true">
             , public.st_area(
             <choose>

+ 9 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/config/fzss/HgxfxScxSortationDTO.java

@@ -18,6 +18,7 @@ public class HgxfxScxSortationDTO {
     private Integer template;
     private Integer xssx;
     private Integer status;
+    private Integer style;
 
     public String getId() {
         return id;
@@ -98,4 +99,12 @@ public class HgxfxScxSortationDTO {
     public void setStatus(Integer status) {
         this.status = status;
     }
+
+    public Integer getStyle() {
+        return style;
+    }
+
+    public void setStyle(Integer style) {
+        this.style = style;
+    }
 }

+ 10 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/mapper/fzss/HgxfxRwJgMapper.java

@@ -52,4 +52,14 @@ public interface HgxfxRwJgMapper extends BaseMapper<HgxfxRwJgDTO> {
             @Param("yslx") String yslx
     );
 
+    List<Map> selectTypeList(
+            @Param("bsm") String bsm,
+            @Param("rwbsm") String rwbsm,
+            @Param("scxbsm") String scxbsm,
+            @Param("type_column") String type_column,
+            @Param("type_length") Integer type_length,
+            @Param("type_dict") String type_dict,
+            @Param("yslx") String yslx
+    );
+
 }

+ 16 - 9
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/fzss/hgxfxjg/HgxfxJgService.java

@@ -51,23 +51,30 @@ public class HgxfxJgService {
         retMap.put("rwbsm", rwbsm);
         retMap.put("scxbsm", scxbsm);
         retMap.put("scxname", scxname);
+        retMap.put("scxstyle", 0);
         if (StringUtils.isEmpty(scxSortationPid)) {
             scxSortationPid = "0";
         }
         HgxfxRwJgDTO dtao = hgxfxRwJgMapper.selectTypeNo(bsm, rwbsm, scxbsm, yslx);
-        if (dtao != null) {
-            retMap.put("mj", dtao.getMj());
-        }
         HgxfxScxSortationDTO v001_sortation = getHgxfxScxSortation(scxbsm, scxSortationPid, template);
         if (StringUtils.isNotNull(v001_sortation)) {
-            List<Map> v_list = hgxfxRwJgMapper.selectType(bsm, rwbsm, scxbsm, v001_sortation.getTypeColumn(), v001_sortation.getTypeLength(), v001_sortation.getTypeDict(), yslx);
-            if (v_list != null && v_list.size() > 0) {
-                for (Map v02_datas : v_list) {
-                    Map<String, Object> childMap = GetHgxfxScxFxjg(bsm, rwbsm, scxbsm, scxname, v001_sortation.getId(), template, v02_datas.get("yslx").toString());
-                    v02_datas.put("dataList", childMap.get("dataList"));
+            if (null == v001_sortation.getStyle() || v001_sortation.getStyle() == 0) {
+                List<Map> v_list = hgxfxRwJgMapper.selectType(bsm, rwbsm, scxbsm, v001_sortation.getTypeColumn(), v001_sortation.getTypeLength(), v001_sortation.getTypeDict(), yslx);
+                if (v_list != null && v_list.size() > 0) {
+                    for (Map v02_datas : v_list) {
+                        Map<String, Object> childMap = GetHgxfxScxFxjg(bsm, rwbsm, scxbsm, scxname, v001_sortation.getId(), template, v02_datas.get("yslx").toString());
+                        v02_datas.put("dataList", childMap.get("dataList"));
+                    }
+                }
+                if (dtao != null) {
+                    retMap.put("mj", dtao.getMj());
                 }
+                retMap.put("dataList", v_list);
+            } else {
+                retMap.put("scxstyle", 1);
+                List<Map> v_list = hgxfxRwJgMapper.selectTypeList(bsm, rwbsm, scxbsm, v001_sortation.getTypeColumn(), v001_sortation.getTypeLength(), v001_sortation.getTypeDict(), yslx);
+                retMap.put("dataList", v_list);
             }
-            retMap.put("dataList", v_list);
         } else {
             retMap.put("data", dtao);
         }

+ 22 - 0
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/fzss/HgxfxRwJgMapper.xml

@@ -49,4 +49,26 @@
         </if>
     </select>
 
+    <select id="selectTypeList" resultType="map">
+        select
+        <if test="type_dict != null and type_dict != ''">
+            v2.mc yslx_name,
+        </if>
+        v1.type_column as "${type_column}",v1.bsm,v1.rwbsm,v1.scxbsm,v1.mj,
+        public.st_asewkt(ret_geom) geom
+        from(
+        select v0.type_column,v0.bsm bsm,v0.rwbsm rwbsm,v0.scxbsm scxbsm,mj::numeric mj,v0.geom ret_geom
+        from (
+        select v.*,substring("${type_column}",1,#{type_length}) type_column from t_fzss_hgxfx_rw_jg v
+        where bsm = #{bsm} and rwbsm = #{rwbsm} and scxbsm = #{scxbsm}
+        <if test="yslx != null and yslx != ''">
+            and yslx like concat(#{yslx},'%')
+        </if>
+        )v0
+        )v1
+        <if test="type_dict != null and type_dict != ''">
+            left join t_fzss_fzxz_dict v2 on v2.dm=v1.type_column and v2.fzbs = #{type_dict}
+        </if>
+    </select>
+
 </mapper>