rsbi 4 年之前
父節點
當前提交
85dc1e4522

+ 37 - 7
src/main/java/com/ruisitech/bi/entity/bireport/Area.java

@@ -1,25 +1,30 @@
+/*
+ * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
+ * 用户不能删除系统源码上的版权信息, 使用许可证地址:
+ * https://www.ruisitech.com/licenses/index.html
+ */
 package com.ruisitech.bi.entity.bireport;
 
 import com.ruisitech.bi.entity.common.BaseEntity;
 
+/**
+ * 地图地域对照表
+ */
 public class Area extends BaseEntity {
 	
 	private Integer id;
-	private String code;
+	private String provCode;
 	private String provName;
+	private String cityCode;
 	private String cityName;
+	private String townCode;
+	private String townName;
 	public Integer getId() {
 		return id;
 	}
 	public void setId(Integer id) {
 		this.id = id;
 	}
-	public String getCode() {
-		return code;
-	}
-	public void setCode(String code) {
-		this.code = code;
-	}
 	public String getProvName() {
 		return provName;
 	}
@@ -33,6 +38,31 @@ public class Area extends BaseEntity {
 		this.cityName = cityName;
 	}
 	
+	
+	public String getProvCode() {
+		return provCode;
+	}
+	public void setProvCode(String provCode) {
+		this.provCode = provCode;
+	}
+	public String getCityCode() {
+		return cityCode;
+	}
+	public void setCityCode(String cityCode) {
+		this.cityCode = cityCode;
+	}
+	public String getTownCode() {
+		return townCode;
+	}
+	public void setTownCode(String townCode) {
+		this.townCode = townCode;
+	}
+	public String getTownName() {
+		return townName;
+	}
+	public void setTownName(String townName) {
+		this.townName = townName;
+	}
 	@Override
 	public void validate() {
 		

+ 26 - 2
src/main/java/com/ruisitech/bi/mapper/bireport/AreaMapper.java

@@ -1,14 +1,38 @@
+/*
+ * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
+ * 用户不能删除系统源码上的版权信息, 使用许可证地址:
+ * https://www.ruisitech.com/licenses/index.html
+ */
 package com.ruisitech.bi.mapper.bireport;
 
 import com.ruisitech.bi.entity.bireport.Area;
-import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
-@Mapper
 public interface AreaMapper {
 	
 	List<Area> listCityByProvCode(@Param("code") String code);
+	
+	List<Area> listTownByCityCode(@Param("code") String code);
+	
+	/**
+	 * 查询省得编码,名称
+	 * @param name
+	 * @return
+	 */
+	Area getProvByName( @Param("name") String name);
+	
+	Area getCityByName( @Param("name") String name);
+	
+	/**
+	 * 查询所有省市
+	 * @param dbName
+	 * @return
+	 */
+	List<Map<String, Object>> listProvAndCitys(@Param("dbName") String dbName);
+	
+	Area getProvByCityCode(@Param("code") String code);
 
 }

+ 48 - 0
src/main/java/com/ruisitech/bi/service/bireport/AreaService.java

@@ -0,0 +1,48 @@
+/*
+ * Copyright 2018 本系统版权归成都睿思商智科技有限公司所有 
+ * 用户不能删除系统源码上的版权信息, 使用许可证地址:
+ * https://www.ruisitech.com/licenses/index.html
+ */
+package com.ruisitech.bi.service.bireport;
+
+import com.ruisitech.bi.entity.bireport.Area;
+import com.ruisitech.bi.mapper.bireport.AreaMapper;
+import com.ruisitech.bi.util.RSBIUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AreaService {
+
+	@Autowired
+	private AreaMapper mapper;
+	
+	private String dbName = RSBIUtils.getConstant("dbName");
+	
+	public Area getProvByCityCode(String name){
+		return mapper.getProvByCityCode(name);
+	}
+	
+	public Area getProvByName(String name){
+		return mapper.getProvByName(name);
+	}
+	
+	public Area getCityByName(String name) {
+		return mapper.getCityByName( name);
+	}
+	
+	public List<Area> listCityByProvCode(String code){
+		return mapper.listCityByProvCode(code);
+	}
+	
+	public List<Area> listTownByCityCode(String code){
+		return mapper.listTownByCityCode(code);
+	}
+	
+	public List<Map<String, Object>> listProvAndCitys(){
+		return mapper.listProvAndCitys(dbName);
+	}
+}

+ 27 - 0
src/main/java/com/ruisitech/bi/web/bireport/ChartController.java

@@ -3,7 +3,9 @@ package com.ruisitech.bi.web.bireport;
 import com.alibaba.fastjson.JSONObject;
 import com.rsbi.ext.engine.view.context.ExtContext;
 import com.rsbi.ext.engine.view.context.MVContext;
+import com.ruisitech.bi.entity.bireport.Area;
 import com.ruisitech.bi.entity.bireport.ChartQueryDto;
+import com.ruisitech.bi.service.bireport.AreaService;
 import com.ruisitech.bi.service.bireport.ChartService;
 import com.ruisitech.bi.util.BaseController;
 import com.ruisitech.bi.util.CompPreviewService;
@@ -27,6 +29,9 @@ public class ChartController extends BaseController  {
 	@Autowired
 	private ChartService chartService;
 
+	@Autowired
+	private AreaService areaService;
+
 	private static Logger logger = Logger.getLogger(TableController.class);
 
 	@RequestMapping(value="/ChartView.action", method = RequestMethod.POST)
@@ -49,4 +54,26 @@ public class ChartController extends BaseController  {
 			return super.buildError(ex.getMessage());
 		}
 	}
+
+	@RequestMapping(value="/listAreas.action")
+	public @ResponseBody Object listAreas(){
+		return super.buildSucces(areaService.listProvAndCitys());
+	}
+
+
+	@RequestMapping(value="/getProvByName.action")
+	public @ResponseBody Object getProvByName(String name){
+		return super.buildSucces(areaService.getProvByName(name));
+	}
+
+	@RequestMapping(value="/getCityByName.action")
+	public @ResponseBody Object getCityByName(String name){
+		return super.buildSucces(areaService.getCityByName(name));
+	}
+
+	@RequestMapping(value="/getProvByCityCode.action")
+	public @ResponseBody Object getProvByCityCode(String code){
+		Area area = areaService.getProvByCityCode(code);
+		return super.buildSucces(area);
+	}
 }

+ 40 - 2
src/main/resources/mybatis/areaMapper.xml

@@ -3,13 +3,51 @@
 <mapper namespace="com.ruisitech.bi.mapper.bireport.AreaMapper">
     <resultMap id="BaseResultMap" type="com.ruisitech.bi.entity.bireport.Area">
 		<id column="id" property="id"/>
-		<result column="code" property="code"/>
+		<result column="prov_code" property="provCode"/>
 		<result column="prov_name" property="provName"/>
+		<result column="city_code" property="cityCode"/>
 		<result column="city_name" property="cityName"/>
+		<result column="town_code" property="townCode"/>
+		<result column="town_name" property="townName"/>
     </resultMap>
     
     <select id="listCityByProvCode" resultMap="BaseResultMap" parameterType="java.lang.String">
-		select * from code_area where code = #{code}
+		select DISTINCT city_code, city_name from code_town where prov_code = #{code}
 	</select>
 	
+	<select id="listTownByCityCode" resultMap="BaseResultMap" parameterType="java.lang.String">
+		select DISTINCT town_code, town_name from code_town where city_code = #{code}
+	</select>
+	
+	<select id="getProvByName" resultMap="BaseResultMap" parameterType="java.lang.String">
+		select DISTINCT prov_code, prov_name from code_town where prov_name = #{name}
+	</select>
+	
+	<select id="getCityByName" resultMap="BaseResultMap" parameterType="java.lang.String">
+		select DISTINCT city_code, city_name from code_town where city_name = #{name}
+	</select>
+	
+	<select id="listProvAndCitys" resultType="java.util.HashMap" parameterType="java.lang.String">
+		select DISTINCT prov_code as code, prov_name as name from code_town
+		union all
+		select DISTINCT city_code, 
+		<if test="dbName == 'oracle'">
+		'--' || city_name 
+		</if>
+		<if test="dbName == 'mysql'">
+		concat('--',city_name) 
+		</if>
+		<if test="dbName == 'sqlser'">
+		'--' + city_name 
+		</if>
+		<if test="dbName == 'sqlite'">
+			'--' || city_name
+		</if>
+		city_name from code_town where zxs != 1
+		order by code
+	</select>
+	
+	<select id="getProvByCityCode" resultMap="BaseResultMap" parameterType="java.lang.String">
+		select DISTINCT prov_code, prov_name from code_town where city_code = #{code}
+	</select>
 </mapper>