Эх сурвалжийг харах

Merge branch 'dev' of http://114.244.114.158:8802/siwei/sanya-data-management-back into dev

gushoubang 11 сар өмнө
parent
commit
eb1e8de163

+ 10 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/domain/config/fzss/HgxfxRwJgDTO.java

@@ -14,6 +14,8 @@ public class HgxfxRwJgDTO {
     private String geom;
     @TableField(exist = false)
     private String mc_name;
+    @TableField(exist = false)
+    private Integer gs;
 
     public String getBsm() {
         return bsm;
@@ -78,4 +80,12 @@ public class HgxfxRwJgDTO {
     public void setMc_name(String mc_name) {
         this.mc_name = mc_name;
     }
+
+    public Integer getGs() {
+        return gs;
+    }
+
+    public void setGs(Integer gs) {
+        this.gs = gs;
+    }
 }

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

@@ -62,4 +62,10 @@ public interface HgxfxRwJgMapper extends BaseMapper<HgxfxRwJgDTO> {
             @Param("yslx") String yslx
     );
 
+    List<Map> selectTypeScxList(
+            @Param("bsm") String bsm,
+            @Param("rwbsm") String rwbsm,
+            @Param("scxbsm") String scxbsm
+    );
+
 }

+ 3 - 0
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/impl/fzss/hgxfxjg/HgxfxHandleService.java

@@ -165,6 +165,9 @@ public class HgxfxHandleService {
             return retList;
         }
         List<String> fromkjdataList = (List<String>) from_kj_data;
+        if (fromkjdataList == null || fromkjdataList.size() == 0) {
+            return retList;
+        }
 
         RawTableLengthVo rawTableLengthVo = new RawTableLengthVo();
         rawTableLengthVo.setRawTableName(v_sjy);

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

@@ -32,17 +32,23 @@ public class HgxfxJgService {
         if (StringUtils.isEmpty(scxPBsm)) {
             scxPBsm = "0";
         }
-        List<Map> retli = new ArrayList<>();
+        List<Map> retlist = new ArrayList<>();
         List<HgxfxScxRwDTO> scxList = hgxfxScxRwMapper.selectScxRwInfo(rwbsm, scxPBsm);
         if (scxList != null && scxList.size() > 0) {
             for (HgxfxScxRwDTO v00_scx : scxList) {
-                Map v001_sortation = GetHgxfxScxFxjg(v00_scx.getBsm(), v00_scx.getRwbsm(), v00_scx.getScxbsm(), v00_scx.getScxname(), null, template, null);
-                List<Map> child = GetHgxfxFxjg(rwbsm, v00_scx.getScxbsm(), template);
-                v001_sortation.put("child", child);
-                retli.add(v001_sortation);
+                Map jg_data = GetHgxfxScxFxjg(v00_scx.getBsm(), v00_scx.getRwbsm(), v00_scx.getScxbsm(), v00_scx.getScxname(), null, template, null);
+//                List<Map> child = GetHgxfxFxjg(rwbsm, v00_scx.getScxbsm(), template);
+//                v001_sortation.put("child", child);
+//                retli.add(v001_sortation);
+                int jsf = (int) jg_data.get("jsf");
+                if (jsf != 1) {
+                    List<Map> children = GetHgxfxFxjg(rwbsm, v00_scx.getScxbsm(), template);
+                    jg_data.put("children", children);
+                }
+                retlist.add(jg_data);
             }
         }
-        return retli;
+        return retlist;
     }
 
     private Map<String, Object> GetHgxfxScxFxjg(String bsm, String rwbsm, String scxbsm, String scxname, String scxSortationPid, Integer template, String yslx) {
@@ -51,32 +57,43 @@ public class HgxfxJgService {
         retMap.put("rwbsm", rwbsm);
         retMap.put("scxbsm", scxbsm);
         retMap.put("scxname", scxname);
-        retMap.put("scxstyle", 0);
+        //用于控制是否结束
+        retMap.put("jsf", 0);
         if (StringUtils.isEmpty(scxSortationPid)) {
             scxSortationPid = "0";
         }
-        HgxfxRwJgDTO dtao = hgxfxRwJgMapper.selectTypeNo(bsm, rwbsm, scxbsm, yslx);
         HgxfxScxSortationDTO v001_sortation = getHgxfxScxSortation(scxbsm, scxSortationPid, template);
-        if (StringUtils.isNotNull(v001_sortation)) {
-            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);
-            }
-        } else {
-            retMap.put("data", dtao);
+        if (StringUtils.isNull(v001_sortation)) {
+            return retMap;
+        }
+        if (StringUtils.isNull(v001_sortation.getStyle())) {
+            return retMap;
+        }
+        // 上述,查询结果为空,或者说style为空,则代表只查询当前信息,不做其他查询
+        //  style 字段说明,
+        // 0 类型为数组图标(应显示饼图)
+        // 1 类型为列表(应列表展示)
+        // 2 类型按子集分类汇总(应显示饼图)
+        if (0 == v001_sortation.getStyle()) {
+            retMap.put("scxstyle", 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"));
+//                }
+//            }
+            retMap.put("dataList", v_list);
+        } else if (1 == v001_sortation.getStyle()) {
+            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("jsf", 1);
+        } else if (2 == v001_sortation.getStyle()) {
+            retMap.put("scxstyle", 0);
+            List<Map> v_list = hgxfxRwJgMapper.selectTypeScxList(bsm, rwbsm, scxbsm);
+            retMap.put("dataList", v_list);
+            retMap.put("jsf", 1);
         }
         return retMap;
     }

+ 24 - 17
onemap-modules/onemap-apply/src/main/resources/mapper/postgresql/fzss/HgxfxRwJgMapper.xml

@@ -12,7 +12,7 @@
 
 
     <select id="selectTypeNo" resultType="com.onemap.apply.domain.config.fzss.HgxfxRwJgDTO">
-        select  v0.bsm,v0.rwbsm,v0.scxbsm,sum(v0.mj::numeric) mj,
+        select  v0.bsm,v0.rwbsm,v0.scxbsm,sum(v0.mj::numeric) mj,count(*) gs,
         public.st_asewkt(public.st_union(v0.geom)) geom
         from t_fzss_hgxfx_rw_jg v0
         where bsm = #{bsm}
@@ -51,24 +51,31 @@
 
     <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
+        v1.yslx_name,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
+            select v0.yslx_name,v0.bsm bsm,v0.rwbsm rwbsm,v0.scxbsm scxbsm,mj::numeric mj,v0.geom ret_geom
+            from (
+                select v.*,coalesce(v.yslx,'地块') yslx_name from t_fzss_hgxfx_rw_jg v
+                where bsm = #{bsm} and rwbsm = #{rwbsm} and scxbsm = #{scxbsm}
+            )v0
+        )v1
+    </select>
+
+    <select id="selectTypeScxList" resultType="map">
+        select
+        v1.type_column as yslx,yslx_name ,v1.bsm,v1.rwbsm,v1.scxbsm,v1.mj, public.st_asewkt(ret_geom) geom
+        from(
+            select v0.bsm,v0.rwbsm,v0.scxbsm,v0.type_column,v0.yslx_name,
+            sum(mj::numeric) mj,
+            public.st_union(v0.geom) ret_geom
+            from (
+                select v.*,v1.bsmmc yslx_name,v.scxbsm type_column  from t_fzss_hgxfx_rw_jg v
+                left join t_fzss_hgxfx_scx v1 on v.scxbsm = v1.bsm
+                where v.bsm = #{bsm} and v.rwbsm = #{rwbsm} and v1.pbsm = #{scxbsm}
+            )v0
+            group by v0.bsm,v0.rwbsm,v0.scxbsm,v0.type_column,v0.yslx_name
         )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>