40 changed files with 2952 additions and 585 deletions
@ -0,0 +1,58 @@ |
|||
package com.epmet.commons.tools.enums; |
|||
|
|||
/** |
|||
* @author Administrator |
|||
*/ |
|||
|
|||
public enum RelationshipEnum { |
|||
/** |
|||
* 环境变量枚举 |
|||
*/ |
|||
UN_KNOWN("0", "暂不清楚", 0), |
|||
SELF("1", "本人", 1), |
|||
spouse("2", "配偶", 2), |
|||
CHILD("3", "子女", 3), |
|||
PARENT("4", "父母", 4), |
|||
PARENT_IN_LAW("5", "岳父母或公婆", 5), |
|||
GRANDPARENT_IN_LAW("6", "祖父母", 6), |
|||
CHILD_IN_LAW("7", "媳婿", 7), |
|||
GRANDCHILD("8", "孙子女", 8), |
|||
BROTHER_AND_SISTER("9", "兄弟姐妹", 9), |
|||
OTHER("10", "其他", 10), |
|||
; |
|||
|
|||
private final String code; |
|||
private final String name; |
|||
private final Integer sort; |
|||
|
|||
|
|||
|
|||
RelationshipEnum(String code, String name, Integer sort) { |
|||
this.code = code; |
|||
this.name = name; |
|||
this.sort = sort; |
|||
} |
|||
|
|||
public static RelationshipEnum getEnum(String code) { |
|||
RelationshipEnum[] values = RelationshipEnum.values(); |
|||
for (RelationshipEnum value : values) { |
|||
if (value.getCode().equals(code)) { |
|||
return value; |
|||
} |
|||
} |
|||
return RelationshipEnum.UN_KNOWN; |
|||
} |
|||
|
|||
|
|||
public String getCode() { |
|||
return code; |
|||
} |
|||
|
|||
public String getName() { |
|||
return name; |
|||
} |
|||
|
|||
public Integer getSort(){ |
|||
return sort; |
|||
} |
|||
} |
@ -0,0 +1,116 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryStatsConfigDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 项标签 |
|||
*/ |
|||
private String label; |
|||
|
|||
/** |
|||
* 表名 |
|||
*/ |
|||
private String tableName; |
|||
|
|||
/** |
|||
* 列名 |
|||
*/ |
|||
private String columnName; |
|||
|
|||
/** |
|||
* 管理平台分类图标 |
|||
*/ |
|||
private String managementIcon; |
|||
|
|||
/** |
|||
* 数据平台分类图标 |
|||
*/ |
|||
private String dataIcon; |
|||
|
|||
/** |
|||
* 房屋显示分类图标 |
|||
*/ |
|||
private String houseShowIcon; |
|||
|
|||
/** |
|||
* 状态 显示:show;隐藏:hidden |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
/** |
|||
* 删除标识:0.未删除 1.已删除 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private String revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private String createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,111 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
import lombok.Data; |
|||
|
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryWarnConfigDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
private String id; |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 项标签 |
|||
*/ |
|||
private String label; |
|||
|
|||
/** |
|||
* 表名 |
|||
*/ |
|||
private String tableName; |
|||
|
|||
/** |
|||
* 列名 |
|||
*/ |
|||
private String columnName; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
/** |
|||
* 等级1阈值 |
|||
*/ |
|||
private Integer level1; |
|||
|
|||
/** |
|||
* 等级2阈值 |
|||
*/ |
|||
private Integer level2; |
|||
|
|||
/** |
|||
* 等级3阈值 |
|||
*/ |
|||
private Integer level3; |
|||
|
|||
/** |
|||
* 删除标识:0.未删除 1.已删除 |
|||
*/ |
|||
private String delFlag; |
|||
|
|||
/** |
|||
* 乐观锁 |
|||
*/ |
|||
private String revision; |
|||
|
|||
/** |
|||
* 创建人 |
|||
*/ |
|||
private String createdBy; |
|||
|
|||
/** |
|||
* 创建时间 |
|||
*/ |
|||
private String createdTime; |
|||
|
|||
/** |
|||
* 更新人 |
|||
*/ |
|||
private String updatedBy; |
|||
|
|||
/** |
|||
* 更新时间 |
|||
*/ |
|||
private Date updatedTime; |
|||
|
|||
} |
@ -0,0 +1,80 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryStatsConfigFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
public interface UpdateStatusGroup {} |
|||
public interface SelectGroup {} |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
@NotBlank(message = "配置项id不能为空",groups = {UpdateGroup.class,UpdateStatusGroup.class,SelectGroup.class}) |
|||
private String id; |
|||
|
|||
/** |
|||
* 管理平台分类图标 |
|||
*/ |
|||
@NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) |
|||
private String managementIcon; |
|||
|
|||
/** |
|||
* 数据平台分类图标 |
|||
*/ |
|||
@NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) |
|||
private String dataIcon; |
|||
|
|||
/** |
|||
* 房屋显示分类图标 |
|||
*/ |
|||
@NotBlank(message = "管理平台分类图标不能为空",groups = {UpdateGroup.class}) |
|||
private String houseShowIcon; |
|||
|
|||
/** |
|||
* 状态 显示:show;隐藏:hidden |
|||
*/ |
|||
@NotBlank(message = "状态不能为空",groups = {UpdateStatusGroup.class}) |
|||
private String status; |
|||
|
|||
@NotBlank(message = "是否预警",groups = {UpdateGroup.class}) |
|||
private String warn; |
|||
|
|||
private Integer level1; |
|||
|
|||
private Integer level2; |
|||
|
|||
private Integer level3; |
|||
|
|||
} |
@ -0,0 +1,51 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.form; |
|||
|
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.io.Serializable; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryStatsConfigSortFormDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
@NotBlank(message = "配置项id不能为空") |
|||
private String id; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
@NotBlank(message = "排序不能为空") |
|||
private Integer sort; |
|||
|
|||
|
|||
} |
@ -0,0 +1,88 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.Date; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryStatsConfigResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* id |
|||
*/ |
|||
private String id; |
|||
|
|||
|
|||
/** |
|||
* 项标签 |
|||
*/ |
|||
private String label; |
|||
|
|||
|
|||
|
|||
/** |
|||
* 管理平台分类图标 |
|||
*/ |
|||
private String managementIcon; |
|||
|
|||
/** |
|||
* 数据平台分类图标 |
|||
*/ |
|||
private String dataIcon; |
|||
|
|||
/** |
|||
* 房屋显示分类图标 |
|||
*/ |
|||
private String houseShowIcon; |
|||
|
|||
/** |
|||
* 状态 显示:show;隐藏:hidden |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
private String warn; |
|||
/** |
|||
* 等级1阈值 |
|||
*/ |
|||
private Integer level1; |
|||
/** |
|||
* 等级2阈值 |
|||
*/ |
|||
private Integer level2; |
|||
/** |
|||
* 等级3阈值 |
|||
*/ |
|||
private Integer level3; |
|||
} |
@ -0,0 +1,26 @@ |
|||
/** |
|||
* Copyright (c) 2018 人人开源 All rights reserved. |
|||
* <p> |
|||
* https://www.renren.io
|
|||
* <p> |
|||
* 版权所有,侵权必究! |
|||
*/ |
|||
|
|||
package com.epmet.constant; |
|||
|
|||
/** |
|||
* 常量 |
|||
* @author sun |
|||
* @since 1.0.0 |
|||
*/ |
|||
public interface IcResiCategoryStatsConfigConstant { |
|||
/** |
|||
* 是否需要预警 |
|||
*/ |
|||
String WARN_YES = "1"; |
|||
String WARN_NO = "0"; |
|||
|
|||
String IC_RESI_USER = "ic_resi_user"; |
|||
|
|||
|
|||
} |
@ -0,0 +1,94 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.excel.IcResiCategoryStatsConfigExcel; |
|||
import com.epmet.service.IcResiCategoryStatsConfigService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("icresicategorystatsconfig") |
|||
public class IcResiCategoryStatsConfigController { |
|||
|
|||
@Autowired |
|||
private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<IcResiCategoryStatsConfigDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<IcResiCategoryStatsConfigDTO> page = icResiCategoryStatsConfigService.page(params); |
|||
return new Result<PageData<IcResiCategoryStatsConfigDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<IcResiCategoryStatsConfigDTO> get(@PathVariable("id") String id){ |
|||
IcResiCategoryStatsConfigDTO data = icResiCategoryStatsConfigService.get(id); |
|||
return new Result<IcResiCategoryStatsConfigDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody IcResiCategoryStatsConfigDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
icResiCategoryStatsConfigService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody IcResiCategoryStatsConfigDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
icResiCategoryStatsConfigService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
icResiCategoryStatsConfigService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<IcResiCategoryStatsConfigDTO> list = icResiCategoryStatsConfigService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryStatsConfigExcel.class); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,94 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.dto.IcResiCategoryWarnConfigDTO; |
|||
import com.epmet.excel.IcResiCategoryWarnConfigExcel; |
|||
import com.epmet.service.IcResiCategoryWarnConfigService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("icresicategorywarnconfig") |
|||
public class IcResiCategoryWarnConfigController { |
|||
|
|||
@Autowired |
|||
private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService; |
|||
|
|||
@GetMapping("page") |
|||
public Result<PageData<IcResiCategoryWarnConfigDTO>> page(@RequestParam Map<String, Object> params){ |
|||
PageData<IcResiCategoryWarnConfigDTO> page = icResiCategoryWarnConfigService.page(params); |
|||
return new Result<PageData<IcResiCategoryWarnConfigDTO>>().ok(page); |
|||
} |
|||
|
|||
@GetMapping("{id}") |
|||
public Result<IcResiCategoryWarnConfigDTO> get(@PathVariable("id") String id){ |
|||
IcResiCategoryWarnConfigDTO data = icResiCategoryWarnConfigService.get(id); |
|||
return new Result<IcResiCategoryWarnConfigDTO>().ok(data); |
|||
} |
|||
|
|||
@PostMapping |
|||
public Result save(@RequestBody IcResiCategoryWarnConfigDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); |
|||
icResiCategoryWarnConfigService.save(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PutMapping |
|||
public Result update(@RequestBody IcResiCategoryWarnConfigDTO dto){ |
|||
//效验数据
|
|||
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); |
|||
icResiCategoryWarnConfigService.update(dto); |
|||
return new Result(); |
|||
} |
|||
|
|||
@DeleteMapping |
|||
public Result delete(@RequestBody String[] ids){ |
|||
//效验数据
|
|||
AssertUtils.isArrayEmpty(ids, "id"); |
|||
icResiCategoryWarnConfigService.delete(ids); |
|||
return new Result(); |
|||
} |
|||
|
|||
@GetMapping("export") |
|||
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { |
|||
List<IcResiCategoryWarnConfigDTO> list = icResiCategoryWarnConfigService.list(params); |
|||
ExcelUtils.exportExcelToTarget(response, null, list, IcResiCategoryWarnConfigExcel.class); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,107 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.controller; |
|||
|
|||
import com.epmet.commons.tools.annotation.LoginUser; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.security.dto.TokenDto; |
|||
import com.epmet.commons.tools.utils.ExcelUtils; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.commons.tools.validator.AssertUtils; |
|||
import com.epmet.commons.tools.validator.ValidatorUtils; |
|||
import com.epmet.commons.tools.validator.group.AddGroup; |
|||
import com.epmet.commons.tools.validator.group.DefaultGroup; |
|||
import com.epmet.commons.tools.validator.group.UpdateGroup; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; |
|||
import com.epmet.dto.form.UpGovRoleFormDTO; |
|||
import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; |
|||
import com.epmet.excel.IcResiCategoryStatsConfigExcel; |
|||
import com.epmet.service.IcResiCategoryStatsConfigService; |
|||
import com.epmet.service.ResiCategoryStatsConfigService; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.servlet.http.HttpServletResponse; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@RestController |
|||
@RequestMapping("resicategorystatsconfig") |
|||
public class ResiCategoryStatsConfigController { |
|||
|
|||
@Autowired |
|||
private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; |
|||
@Autowired |
|||
private ResiCategoryStatsConfigService resiCategoryStatsConfigService; |
|||
|
|||
|
|||
/** |
|||
* 居民类别配置列表 |
|||
* @return |
|||
*/ |
|||
@PostMapping("list") |
|||
public Result<List<IcResiCategoryStatsConfigResultDTO>> list(@LoginUser TokenDto tokenDTO){ |
|||
String customerId = tokenDTO.getCustomerId(); |
|||
// String customerId = "123123";
|
|||
return new Result<List<IcResiCategoryStatsConfigResultDTO>>().ok(resiCategoryStatsConfigService.list(customerId)); |
|||
} |
|||
|
|||
@PostMapping("update") |
|||
public Result update(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, UpdateGroup.class); |
|||
String customerId = tokenDTO.getCustomerId(); |
|||
// String customerId = "123123";
|
|||
resiCategoryStatsConfigService.update(customerId,formDTO); |
|||
return new Result(); |
|||
} |
|||
@PostMapping("updatestatus") |
|||
public Result updateStatus(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.UpdateStatusGroup.class); |
|||
String customerId = tokenDTO.getCustomerId(); |
|||
// String customerId = "123123";
|
|||
resiCategoryStatsConfigService.updateStatus(customerId,formDTO); |
|||
return new Result(); |
|||
} |
|||
@PostMapping("updatesort") |
|||
public Result updateSort(@LoginUser TokenDto tokenDTO,@RequestBody List<IcResiCategoryStatsConfigSortFormDTO> formDTOs){ |
|||
for(IcResiCategoryStatsConfigSortFormDTO dto : formDTOs){ |
|||
ValidatorUtils.validateEntity(dto); |
|||
} |
|||
String customerId = tokenDTO.getCustomerId(); |
|||
// String customerId = "123123";
|
|||
resiCategoryStatsConfigService.updateSort(customerId,formDTOs); |
|||
return new Result(); |
|||
} |
|||
|
|||
@PostMapping("info") |
|||
public Result<IcResiCategoryStatsConfigResultDTO> info(@LoginUser TokenDto tokenDTO,@RequestBody IcResiCategoryStatsConfigFormDTO formDTO){ |
|||
ValidatorUtils.validateEntity(formDTO, IcResiCategoryStatsConfigFormDTO.SelectGroup.class); |
|||
return new Result<IcResiCategoryStatsConfigResultDTO>().ok(resiCategoryStatsConfigService.info(formDTO.getId())); |
|||
} |
|||
|
|||
|
|||
} |
@ -0,0 +1,33 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.entity.IcResiCategoryStatsConfigEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Mapper |
|||
public interface IcResiCategoryStatsConfigDao extends BaseDao<IcResiCategoryStatsConfigEntity> { |
|||
|
|||
} |
@ -0,0 +1,33 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.dao; |
|||
|
|||
import com.epmet.commons.mybatis.dao.BaseDao; |
|||
import com.epmet.entity.IcResiCategoryWarnConfigEntity; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Mapper |
|||
public interface IcResiCategoryWarnConfigDao extends BaseDao<IcResiCategoryWarnConfigEntity> { |
|||
|
|||
} |
@ -0,0 +1,83 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_resi_category_stats_config") |
|||
public class IcResiCategoryStatsConfigEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 项标签 |
|||
*/ |
|||
private String label; |
|||
|
|||
/** |
|||
* 表名 |
|||
*/ |
|||
private String tableName; |
|||
|
|||
/** |
|||
* 列名 |
|||
*/ |
|||
private String columnName; |
|||
|
|||
/** |
|||
* 管理平台分类图标 |
|||
*/ |
|||
private String managementIcon; |
|||
|
|||
/** |
|||
* 数据平台分类图标 |
|||
*/ |
|||
private String dataIcon; |
|||
|
|||
/** |
|||
* 房屋显示分类图标 |
|||
*/ |
|||
private String houseShowIcon; |
|||
|
|||
/** |
|||
* 状态 显示:show;隐藏:hidden |
|||
*/ |
|||
private String status; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
} |
@ -0,0 +1,81 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.entity; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
|
|||
import com.epmet.commons.mybatis.entity.BaseEpmetEntity; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
@EqualsAndHashCode(callSuper=false) |
|||
@TableName("ic_resi_category_warn_config") |
|||
public class IcResiCategoryWarnConfigEntity extends BaseEpmetEntity { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* 客户id |
|||
*/ |
|||
private String customerId; |
|||
|
|||
/** |
|||
* 项标签 |
|||
*/ |
|||
private String label; |
|||
|
|||
/** |
|||
* 表名 |
|||
*/ |
|||
private String tableName; |
|||
|
|||
/** |
|||
* 列名 |
|||
*/ |
|||
private String columnName; |
|||
|
|||
/** |
|||
* 排序 |
|||
*/ |
|||
private Integer sort; |
|||
|
|||
/** |
|||
* 等级1阈值 |
|||
*/ |
|||
private Integer level1; |
|||
|
|||
/** |
|||
* 等级2阈值 |
|||
*/ |
|||
private Integer level2; |
|||
|
|||
/** |
|||
* 等级3阈值 |
|||
*/ |
|||
private Integer level3; |
|||
|
|||
} |
@ -0,0 +1,83 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.excel; |
|||
|
|||
import cn.afterturn.easypoi.excel.annotation.Excel; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryStatsConfigExcel { |
|||
|
|||
@Excel(name = "id") |
|||
private String id; |
|||
|
|||
@Excel(name = "客户id") |
|||
private String customerId; |
|||
|
|||
@Excel(name = "项标签") |
|||
private String label; |
|||
|
|||
@Excel(name = "表名") |
|||
private String tableName; |
|||
|
|||
@Excel(name = "列名") |
|||
private String columnName; |
|||
|
|||
@Excel(name = "管理平台分类图标") |
|||
private String managementIcon; |
|||
|
|||
@Excel(name = "数据平台分类图标") |
|||
private String dataIcon; |
|||
|
|||
@Excel(name = "房屋显示分类图标") |
|||
private String houseShowIcon; |
|||
|
|||
@Excel(name = "状态 显示:show;隐藏:hidden") |
|||
private String status; |
|||
|
|||
@Excel(name = "排序") |
|||
private Integer sort; |
|||
|
|||
@Excel(name = "删除标识:0.未删除 1.已删除") |
|||
private String delFlag; |
|||
|
|||
@Excel(name = "乐观锁") |
|||
private String revision; |
|||
|
|||
@Excel(name = "创建人") |
|||
private String createdBy; |
|||
|
|||
@Excel(name = "创建时间") |
|||
private String createdTime; |
|||
|
|||
@Excel(name = "更新人") |
|||
private String updatedBy; |
|||
|
|||
@Excel(name = "更新时间") |
|||
private Date updatedTime; |
|||
|
|||
|
|||
} |
@ -0,0 +1,80 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.excel; |
|||
|
|||
import cn.afterturn.easypoi.excel.annotation.Excel; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Data |
|||
public class IcResiCategoryWarnConfigExcel { |
|||
|
|||
@Excel(name = "id") |
|||
private String id; |
|||
|
|||
@Excel(name = "客户id") |
|||
private String customerId; |
|||
|
|||
@Excel(name = "项标签") |
|||
private String label; |
|||
|
|||
@Excel(name = "表名") |
|||
private String tableName; |
|||
|
|||
@Excel(name = "列名") |
|||
private String columnName; |
|||
|
|||
@Excel(name = "排序") |
|||
private Integer sort; |
|||
|
|||
@Excel(name = "等级1阈值") |
|||
private Integer level1; |
|||
|
|||
@Excel(name = "等级2阈值") |
|||
private Integer level2; |
|||
|
|||
@Excel(name = "等级3阈值") |
|||
private Integer level3; |
|||
|
|||
@Excel(name = "删除标识:0.未删除 1.已删除") |
|||
private String delFlag; |
|||
|
|||
@Excel(name = "乐观锁") |
|||
private String revision; |
|||
|
|||
@Excel(name = "创建人") |
|||
private String createdBy; |
|||
|
|||
@Excel(name = "创建时间") |
|||
private String createdTime; |
|||
|
|||
@Excel(name = "更新人") |
|||
private String updatedBy; |
|||
|
|||
@Excel(name = "更新时间") |
|||
private Date updatedTime; |
|||
|
|||
|
|||
} |
@ -0,0 +1,47 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.redis; |
|||
|
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Component |
|||
public class IcResiCategoryStatsConfigRedis { |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
public void delete(Object[] ids) { |
|||
|
|||
} |
|||
|
|||
public void set(){ |
|||
|
|||
} |
|||
|
|||
public String get(String id){ |
|||
return null; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,47 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.redis; |
|||
|
|||
import com.epmet.commons.tools.redis.RedisUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Component |
|||
public class IcResiCategoryWarnConfigRedis { |
|||
@Autowired |
|||
private RedisUtils redisUtils; |
|||
|
|||
public void delete(Object[] ids) { |
|||
|
|||
} |
|||
|
|||
public void set(){ |
|||
|
|||
} |
|||
|
|||
public String get(String id){ |
|||
return null; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,95 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service; |
|||
|
|||
import com.epmet.commons.mybatis.service.BaseService; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.entity.IcResiCategoryStatsConfigEntity; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
public interface IcResiCategoryStatsConfigService extends BaseService<IcResiCategoryStatsConfigEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<IcResiCategoryStatsConfigDTO> |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
PageData<IcResiCategoryStatsConfigDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<IcResiCategoryStatsConfigDTO> |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
List<IcResiCategoryStatsConfigDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return IcResiCategoryStatsConfigDTO |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
IcResiCategoryStatsConfigDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void save(IcResiCategoryStatsConfigDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void update(IcResiCategoryStatsConfigDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void delete(String[] ids); |
|||
} |
@ -0,0 +1,95 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service; |
|||
|
|||
import com.epmet.commons.mybatis.service.BaseService; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.IcResiCategoryWarnConfigDTO; |
|||
import com.epmet.entity.IcResiCategoryWarnConfigEntity; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
public interface IcResiCategoryWarnConfigService extends BaseService<IcResiCategoryWarnConfigEntity> { |
|||
|
|||
/** |
|||
* 默认分页 |
|||
* |
|||
* @param params |
|||
* @return PageData<IcResiCategoryWarnConfigDTO> |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
PageData<IcResiCategoryWarnConfigDTO> page(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 默认查询 |
|||
* |
|||
* @param params |
|||
* @return java.util.List<IcResiCategoryWarnConfigDTO> |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
List<IcResiCategoryWarnConfigDTO> list(Map<String, Object> params); |
|||
|
|||
/** |
|||
* 单条查询 |
|||
* |
|||
* @param id |
|||
* @return IcResiCategoryWarnConfigDTO |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
IcResiCategoryWarnConfigDTO get(String id); |
|||
|
|||
/** |
|||
* 默认保存 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void save(IcResiCategoryWarnConfigDTO dto); |
|||
|
|||
/** |
|||
* 默认更新 |
|||
* |
|||
* @param dto |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void update(IcResiCategoryWarnConfigDTO dto); |
|||
|
|||
/** |
|||
* 批量删除 |
|||
* |
|||
* @param ids |
|||
* @return void |
|||
* @author generator |
|||
* @date 2021-11-04 |
|||
*/ |
|||
void delete(String[] ids); |
|||
} |
@ -0,0 +1,48 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service; |
|||
|
|||
import com.epmet.commons.mybatis.service.BaseService; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; |
|||
import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; |
|||
import com.epmet.entity.IcResiCategoryStatsConfigEntity; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
public interface ResiCategoryStatsConfigService { |
|||
|
|||
List<IcResiCategoryStatsConfigResultDTO> list(String customerId); |
|||
|
|||
IcResiCategoryStatsConfigResultDTO info(String id); |
|||
|
|||
void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO); |
|||
|
|||
void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO); |
|||
|
|||
void updateSort(String customerId,List<IcResiCategoryStatsConfigSortFormDTO> formDTOs); |
|||
} |
@ -0,0 +1,104 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.commons.tools.constant.FieldConstant; |
|||
import com.epmet.dao.IcResiCategoryStatsConfigDao; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.entity.IcResiCategoryStatsConfigEntity; |
|||
import com.epmet.redis.IcResiCategoryStatsConfigRedis; |
|||
import com.epmet.service.IcResiCategoryStatsConfigService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民类别配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Service |
|||
public class IcResiCategoryStatsConfigServiceImpl extends BaseServiceImpl<IcResiCategoryStatsConfigDao, IcResiCategoryStatsConfigEntity> implements IcResiCategoryStatsConfigService { |
|||
|
|||
@Autowired |
|||
private IcResiCategoryStatsConfigRedis icResiCategoryStatsConfigRedis; |
|||
|
|||
@Override |
|||
public PageData<IcResiCategoryStatsConfigDTO> page(Map<String, Object> params) { |
|||
IPage<IcResiCategoryStatsConfigEntity> page = baseDao.selectPage( |
|||
getPage(params, FieldConstant.CREATED_TIME, false), |
|||
getWrapper(params) |
|||
); |
|||
return getPageData(page, IcResiCategoryStatsConfigDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
public List<IcResiCategoryStatsConfigDTO> list(Map<String, Object> params) { |
|||
List<IcResiCategoryStatsConfigEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, IcResiCategoryStatsConfigDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<IcResiCategoryStatsConfigEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<IcResiCategoryStatsConfigEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public IcResiCategoryStatsConfigDTO get(String id) { |
|||
IcResiCategoryStatsConfigEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, IcResiCategoryStatsConfigDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(IcResiCategoryStatsConfigDTO dto) { |
|||
IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(IcResiCategoryStatsConfigDTO dto) { |
|||
IcResiCategoryStatsConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryStatsConfigEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
// 逻辑删除(@TableLogic 注解)
|
|||
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,104 @@ |
|||
/** |
|||
* Copyright 2018 人人开源 https://www.renren.io
|
|||
* <p> |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU General Public License as published by |
|||
* the Free Software Foundation, either version 3 of the License, or |
|||
* (at your option) any later version. |
|||
* <p> |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* <p> |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
*/ |
|||
|
|||
package com.epmet.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|||
import com.epmet.commons.tools.page.PageData; |
|||
import com.epmet.commons.tools.utils.ConvertUtils; |
|||
import com.epmet.commons.tools.constant.FieldConstant; |
|||
import com.epmet.dao.IcResiCategoryWarnConfigDao; |
|||
import com.epmet.dto.IcResiCategoryWarnConfigDTO; |
|||
import com.epmet.entity.IcResiCategoryWarnConfigEntity; |
|||
import com.epmet.redis.IcResiCategoryWarnConfigRedis; |
|||
import com.epmet.service.IcResiCategoryWarnConfigService; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* 居民类别预警配置表 |
|||
* |
|||
* @author generator generator@elink-cn.com |
|||
* @since v1.0.0 2021-11-04 |
|||
*/ |
|||
@Service |
|||
public class IcResiCategoryWarnConfigServiceImpl extends BaseServiceImpl<IcResiCategoryWarnConfigDao, IcResiCategoryWarnConfigEntity> implements IcResiCategoryWarnConfigService { |
|||
|
|||
@Autowired |
|||
private IcResiCategoryWarnConfigRedis icResiCategoryWarnConfigRedis; |
|||
|
|||
@Override |
|||
public PageData<IcResiCategoryWarnConfigDTO> page(Map<String, Object> params) { |
|||
IPage<IcResiCategoryWarnConfigEntity> page = baseDao.selectPage( |
|||
getPage(params, FieldConstant.CREATED_TIME, false), |
|||
getWrapper(params) |
|||
); |
|||
return getPageData(page, IcResiCategoryWarnConfigDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
public List<IcResiCategoryWarnConfigDTO> list(Map<String, Object> params) { |
|||
List<IcResiCategoryWarnConfigEntity> entityList = baseDao.selectList(getWrapper(params)); |
|||
|
|||
return ConvertUtils.sourceToTarget(entityList, IcResiCategoryWarnConfigDTO.class); |
|||
} |
|||
|
|||
private QueryWrapper<IcResiCategoryWarnConfigEntity> getWrapper(Map<String, Object> params){ |
|||
String id = (String)params.get(FieldConstant.ID_HUMP); |
|||
|
|||
QueryWrapper<IcResiCategoryWarnConfigEntity> wrapper = new QueryWrapper<>(); |
|||
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|||
|
|||
return wrapper; |
|||
} |
|||
|
|||
@Override |
|||
public IcResiCategoryWarnConfigDTO get(String id) { |
|||
IcResiCategoryWarnConfigEntity entity = baseDao.selectById(id); |
|||
return ConvertUtils.sourceToTarget(entity, IcResiCategoryWarnConfigDTO.class); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void save(IcResiCategoryWarnConfigDTO dto) { |
|||
IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class); |
|||
insert(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(IcResiCategoryWarnConfigDTO dto) { |
|||
IcResiCategoryWarnConfigEntity entity = ConvertUtils.sourceToTarget(dto, IcResiCategoryWarnConfigEntity.class); |
|||
updateById(entity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void delete(String[] ids) { |
|||
// 逻辑删除(@TableLogic 注解)
|
|||
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,264 @@ |
|||
package com.epmet.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.epmet.constant.IcResiCategoryStatsConfigConstant; |
|||
import com.epmet.dao.IcFormItemDao; |
|||
import com.epmet.dao.IcFormItemGroupDao; |
|||
import com.epmet.dao.IcResiCategoryStatsConfigDao; |
|||
import com.epmet.dao.IcResiCategoryWarnConfigDao; |
|||
import com.epmet.dto.IcResiCategoryStatsConfigDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigFormDTO; |
|||
import com.epmet.dto.form.IcResiCategoryStatsConfigSortFormDTO; |
|||
import com.epmet.dto.result.IcResiCategoryStatsConfigResultDTO; |
|||
import com.epmet.entity.IcFormItemEntity; |
|||
import com.epmet.entity.IcFormItemGroupEntity; |
|||
import com.epmet.entity.IcResiCategoryStatsConfigEntity; |
|||
import com.epmet.entity.IcResiCategoryWarnConfigEntity; |
|||
import com.epmet.service.IcResiCategoryStatsConfigService; |
|||
import com.epmet.service.IcResiCategoryWarnConfigService; |
|||
import com.epmet.service.ResiCategoryStatsConfigService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
import org.springframework.util.CollectionUtils; |
|||
|
|||
import javax.annotation.Resource; |
|||
import java.util.*; |
|||
import java.util.stream.Collectors; |
|||
|
|||
@Slf4j |
|||
@Service |
|||
public class ResiCategoryStatsConfigServiceImpl implements ResiCategoryStatsConfigService { |
|||
@Autowired |
|||
private IcResiCategoryStatsConfigService icResiCategoryStatsConfigService; |
|||
|
|||
@Resource |
|||
private IcFormItemDao icFormItemDao; |
|||
@Resource |
|||
private IcFormItemGroupDao icFormItemGroupDao; |
|||
@Resource |
|||
private IcResiCategoryStatsConfigDao icResiCategoryStatsConfigDao; |
|||
@Resource |
|||
private IcResiCategoryWarnConfigDao icResiCategoryWarnConfigDao; |
|||
@Autowired |
|||
private IcResiCategoryWarnConfigService icResiCategoryWarnConfigService; |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public List<IcResiCategoryStatsConfigResultDTO> list(String customerId) { |
|||
//1.获取IC_FORM_ITEM 中 用于数据分析字段的 id 和label
|
|||
List<IcFormItemEntity> icFormItemEntityList = icFormItemDao.selectList(new QueryWrapper<IcFormItemEntity>().lambda().eq(IcFormItemEntity::getDataAnalyse, 1)); |
|||
if(CollectionUtils.isEmpty(icFormItemEntityList)){ |
|||
return new ArrayList<>(); |
|||
} |
|||
Set<String> groupIds = icFormItemEntityList.stream().filter(item-> !"0".equals(item.getItemGroupId())).map(item->item.getItemGroupId()).collect(Collectors.toSet()); |
|||
List<IcFormItemGroupEntity> icFormItemGroupEntityList = icFormItemGroupDao.selectList(new QueryWrapper<IcFormItemGroupEntity>().lambda().in(IcFormItemGroupEntity::getId, groupIds)); |
|||
//获取tableName和COLUMN_NAME
|
|||
Map<String,IcFormItemEntity> tableColumnMap = new HashMap<>(); |
|||
Map<String,String> idTableMap = new HashMap<>(); |
|||
icFormItemEntityList.forEach(item->{ |
|||
Map<String,String> map = new HashMap<>(); |
|||
if("0".equals(item.getItemGroupId())){ |
|||
tableColumnMap.put(IcResiCategoryStatsConfigConstant.IC_RESI_USER+"-"+item.getColumnName(),item); |
|||
idTableMap.put(item.getId(),IcResiCategoryStatsConfigConstant.IC_RESI_USER); |
|||
}else{ |
|||
List<IcFormItemGroupEntity> collect = icFormItemGroupEntityList.stream().filter(i -> item.getItemGroupId().equals(i.getId())).collect(Collectors.toList()); |
|||
tableColumnMap.put(CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()+"-"+item.getColumnName(),item); |
|||
idTableMap.put(item.getId(),CollectionUtils.isEmpty(collect)?IcResiCategoryStatsConfigConstant.IC_RESI_USER:collect.get(0).getTableName()); |
|||
} |
|||
|
|||
}); |
|||
|
|||
//2.获取ic_resi_category_stats_config 和 ic_resi_category_warn_config 表中的数据
|
|||
List<IcResiCategoryStatsConfigEntity> statsConfigEntityList = icResiCategoryStatsConfigDao.selectList(null); |
|||
List<IcResiCategoryWarnConfigEntity> warnConfigEntityList = icResiCategoryWarnConfigDao.selectList(null); |
|||
//3.新增不存在的,删除不在tableColumnMap的
|
|||
|
|||
Map<String,IcResiCategoryStatsConfigEntity> statsTableColumnMap = new HashMap<>(); |
|||
statsConfigEntityList.stream().forEach(item->{ |
|||
statsTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); |
|||
}); |
|||
Map<String,IcResiCategoryWarnConfigEntity> warnTableColumnMap = new HashMap<>(); |
|||
warnConfigEntityList.stream().forEach(item->{ |
|||
warnTableColumnMap.put(item.getTableName()+"-"+item.getColumnName(),item); |
|||
}); |
|||
//差集
|
|||
//新增
|
|||
List<String> newStatsList = tableColumnMap.keySet().stream().filter(item -> !statsTableColumnMap.keySet().contains(item)).collect(Collectors.toList()); |
|||
|
|||
List<IcResiCategoryStatsConfigEntity> newStatsEntityList = new ArrayList<>(); |
|||
newStatsList.forEach(item->{ |
|||
IcFormItemEntity icFormItemEntity = tableColumnMap.get(item); |
|||
IcResiCategoryStatsConfigEntity entity = new IcResiCategoryStatsConfigEntity(); |
|||
entity.setCustomerId(customerId); |
|||
entity.setLabel(icFormItemEntity.getLabel()); |
|||
entity.setTableName(idTableMap.get(icFormItemEntity.getId())); |
|||
entity.setColumnName(icFormItemEntity.getColumnName()); |
|||
entity.setManagementIcon(""); |
|||
entity.setDataIcon(""); |
|||
entity.setHouseShowIcon(""); |
|||
entity.setStatus("show"); |
|||
entity.setSort(0); |
|||
newStatsEntityList.add(entity); |
|||
}); |
|||
if(!CollectionUtils.isEmpty(newStatsEntityList)){ |
|||
icResiCategoryStatsConfigService.insertBatch(newStatsEntityList); |
|||
} |
|||
|
|||
List<String> delStatsEntityIdList = new ArrayList<>(); |
|||
List<String> delWarnEntityIdList = new ArrayList<>(); |
|||
//需要删除的
|
|||
List<String> delStatsList = statsTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList()); |
|||
List<String> delWarnList = warnTableColumnMap.keySet().stream().filter(item -> !tableColumnMap.keySet().contains(item)).collect(Collectors.toList()); |
|||
delStatsList.forEach(item->{ |
|||
delStatsEntityIdList.add(statsTableColumnMap.get(item).getId()); |
|||
}); |
|||
delWarnList.forEach(item->{ |
|||
delWarnEntityIdList.add(warnTableColumnMap.get(item).getId()); |
|||
}); |
|||
if(!CollectionUtils.isEmpty(delStatsEntityIdList)){ |
|||
icResiCategoryStatsConfigService.deleteBatchIds(delStatsEntityIdList); |
|||
} |
|||
if(!CollectionUtils.isEmpty(delWarnEntityIdList)){ |
|||
icResiCategoryWarnConfigService.deleteBatchIds(delWarnEntityIdList); |
|||
} |
|||
|
|||
//4.返回数据
|
|||
List<IcResiCategoryStatsConfigEntity> statsConfigList = icResiCategoryStatsConfigDao.selectList(new QueryWrapper<IcResiCategoryStatsConfigEntity>().lambda().orderByAsc(IcResiCategoryStatsConfigEntity::getSort)); |
|||
List<IcResiCategoryWarnConfigEntity> warnConfigList = icResiCategoryWarnConfigDao.selectList(null); |
|||
Map<String,IcResiCategoryWarnConfigEntity> warnMap =new HashMap<>(); |
|||
warnConfigList.forEach(item->{ |
|||
warnMap.put(item.getTableName()+"-"+item.getColumnName(),item); |
|||
}); |
|||
List<IcResiCategoryStatsConfigResultDTO> result = new ArrayList<>(); |
|||
statsConfigList.forEach(item->{ |
|||
IcResiCategoryStatsConfigResultDTO icResiCategoryStatsConfigResultDTO = new IcResiCategoryStatsConfigResultDTO(); |
|||
icResiCategoryStatsConfigResultDTO.setId(item.getId()); |
|||
icResiCategoryStatsConfigResultDTO.setLabel(item.getLabel()); |
|||
icResiCategoryStatsConfigResultDTO.setManagementIcon(item.getManagementIcon()); |
|||
icResiCategoryStatsConfigResultDTO.setDataIcon(item.getDataIcon()); |
|||
icResiCategoryStatsConfigResultDTO.setHouseShowIcon(item.getHouseShowIcon()); |
|||
icResiCategoryStatsConfigResultDTO.setStatus(item.getStatus()); |
|||
icResiCategoryStatsConfigResultDTO.setSort(item.getSort()); |
|||
IcResiCategoryWarnConfigEntity warnConfigEntity = warnMap.get(item.getTableName() + "-" + item.getColumnName()); |
|||
if(warnConfigEntity==null){ |
|||
icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_NO); |
|||
}else{ |
|||
icResiCategoryStatsConfigResultDTO.setWarn(IcResiCategoryStatsConfigConstant.WARN_YES); |
|||
icResiCategoryStatsConfigResultDTO.setLevel1(warnConfigEntity.getLevel1()); |
|||
icResiCategoryStatsConfigResultDTO.setLevel2(warnConfigEntity.getLevel2()); |
|||
icResiCategoryStatsConfigResultDTO.setLevel3(warnConfigEntity.getLevel3()); |
|||
} |
|||
result.add(icResiCategoryStatsConfigResultDTO); |
|||
|
|||
}); |
|||
return result; |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public IcResiCategoryStatsConfigResultDTO info(String id) { |
|||
IcResiCategoryStatsConfigResultDTO result =new IcResiCategoryStatsConfigResultDTO(); |
|||
IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(id); |
|||
if(null == icResiCategoryStatsConfigDTO){ |
|||
return result; |
|||
} |
|||
IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper<IcResiCategoryWarnConfigEntity>().lambda() |
|||
.eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) |
|||
.eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); |
|||
|
|||
// IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = Optional.ofNullable(entity).orElse(new IcResiCategoryWarnConfigEntity());
|
|||
result.setId(icResiCategoryStatsConfigDTO.getId()); |
|||
result.setLabel(icResiCategoryStatsConfigDTO.getLabel()); |
|||
result.setManagementIcon(icResiCategoryStatsConfigDTO.getManagementIcon()); |
|||
result.setDataIcon(icResiCategoryStatsConfigDTO.getDataIcon()); |
|||
result.setHouseShowIcon(icResiCategoryStatsConfigDTO.getHouseShowIcon()); |
|||
result.setStatus(icResiCategoryStatsConfigDTO.getStatus()); |
|||
result.setSort(icResiCategoryStatsConfigDTO.getSort()); |
|||
result.setWarn(null==icResiCategoryWarnConfigEntity?IcResiCategoryStatsConfigConstant.WARN_NO:IcResiCategoryStatsConfigConstant.WARN_YES); |
|||
if(null!=icResiCategoryWarnConfigEntity){ |
|||
result.setLevel1(icResiCategoryWarnConfigEntity.getLevel1()); |
|||
result.setLevel2(icResiCategoryWarnConfigEntity.getLevel2()); |
|||
result.setLevel3(icResiCategoryWarnConfigEntity.getLevel3()); |
|||
} |
|||
return result; |
|||
|
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void update(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) { |
|||
IcResiCategoryStatsConfigDTO icResiCategoryStatsConfigDTO = icResiCategoryStatsConfigService.get(formDTO.getId()); |
|||
if(null == icResiCategoryStatsConfigDTO){ |
|||
return ; |
|||
} |
|||
//更新配置类别
|
|||
IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); |
|||
BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity); |
|||
icResiCategoryStatsConfigEntity.setCustomerId(customerId); |
|||
icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity); |
|||
|
|||
//更新配置预警
|
|||
if(IcResiCategoryStatsConfigConstant.WARN_YES.equals(formDTO.getWarn())){ |
|||
//更新
|
|||
IcResiCategoryWarnConfigEntity icResiCategoryWarnConfigEntity = icResiCategoryWarnConfigDao.selectOne(new QueryWrapper<IcResiCategoryWarnConfigEntity>().lambda() |
|||
.eq(IcResiCategoryWarnConfigEntity::getTableName, icResiCategoryStatsConfigDTO.getTableName()) |
|||
.eq(IcResiCategoryWarnConfigEntity::getColumnName, icResiCategoryStatsConfigDTO.getColumnName())); |
|||
if(null == icResiCategoryWarnConfigEntity){ |
|||
icResiCategoryWarnConfigEntity = new IcResiCategoryWarnConfigEntity(); |
|||
icResiCategoryWarnConfigEntity.setCustomerId(customerId); |
|||
icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel()); |
|||
icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName()); |
|||
icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName()); |
|||
icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1()); |
|||
icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2()); |
|||
icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3()); |
|||
icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort()); |
|||
icResiCategoryWarnConfigDao.insert(icResiCategoryWarnConfigEntity); |
|||
}else{ |
|||
icResiCategoryWarnConfigEntity.setCustomerId(customerId); |
|||
icResiCategoryWarnConfigEntity.setLabel(icResiCategoryStatsConfigDTO.getLabel()); |
|||
icResiCategoryWarnConfigEntity.setTableName(icResiCategoryStatsConfigDTO.getTableName()); |
|||
icResiCategoryWarnConfigEntity.setColumnName(icResiCategoryStatsConfigDTO.getColumnName()); |
|||
icResiCategoryWarnConfigEntity.setLevel1(formDTO.getLevel1()); |
|||
icResiCategoryWarnConfigEntity.setLevel2(formDTO.getLevel2()); |
|||
icResiCategoryWarnConfigEntity.setLevel3(formDTO.getLevel3()); |
|||
icResiCategoryWarnConfigEntity.setSort(icResiCategoryStatsConfigDTO.getSort()); |
|||
icResiCategoryWarnConfigDao.updateById(icResiCategoryWarnConfigEntity); |
|||
} |
|||
}else if(IcResiCategoryStatsConfigConstant.WARN_NO.equals(formDTO.getWarn())){ |
|||
//删除
|
|||
icResiCategoryWarnConfigDao.delete(new QueryWrapper<IcResiCategoryWarnConfigEntity>().lambda() |
|||
.eq(IcResiCategoryWarnConfigEntity::getTableName,icResiCategoryStatsConfigDTO.getTableName()) |
|||
.eq(IcResiCategoryWarnConfigEntity::getColumnName,icResiCategoryStatsConfigDTO.getColumnName())); |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void updateStatus(String customerId,IcResiCategoryStatsConfigFormDTO formDTO) { |
|||
//更新配置类别
|
|||
IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); |
|||
BeanUtils.copyProperties(formDTO,icResiCategoryStatsConfigEntity); |
|||
icResiCategoryStatsConfigEntity.setCustomerId(customerId); |
|||
icResiCategoryStatsConfigDao.updateById(icResiCategoryStatsConfigEntity); |
|||
} |
|||
|
|||
@Override |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void updateSort(String customerId,List<IcResiCategoryStatsConfigSortFormDTO> formDTOs) { |
|||
List<IcResiCategoryStatsConfigEntity > entityList = new ArrayList<>(); |
|||
for (IcResiCategoryStatsConfigSortFormDTO formDTO : formDTOs) { |
|||
IcResiCategoryStatsConfigEntity icResiCategoryStatsConfigEntity = new IcResiCategoryStatsConfigEntity(); |
|||
icResiCategoryStatsConfigEntity.setId(formDTO.getId()); |
|||
icResiCategoryStatsConfigEntity.setCustomerId(customerId); |
|||
icResiCategoryStatsConfigEntity.setSort(formDTO.getSort()); |
|||
entityList.add(icResiCategoryStatsConfigEntity); |
|||
} |
|||
icResiCategoryStatsConfigService.updateBatchById(entityList); |
|||
} |
|||
} |
@ -0,0 +1,26 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
|
|||
<mapper namespace="com.epmet.dao.IcResiCategoryStatsConfigDao"> |
|||
|
|||
<resultMap type="com.epmet.entity.IcResiCategoryStatsConfigEntity" id="icResiCategoryStatsConfigMap"> |
|||
<result property="id" column="ID"/> |
|||
<result property="customerId" column="CUSTOMER_ID"/> |
|||
<result property="label" column="LABEL"/> |
|||
<result property="tableName" column="TABLE_NAME"/> |
|||
<result property="columnName" column="COLUMN_NAME"/> |
|||
<result property="managementIcon" column="MANAGEMENT_ICON"/> |
|||
<result property="dataIcon" column="DATA_ICON"/> |
|||
<result property="houseShowIcon" column="HOUSE_SHOW_ICON"/> |
|||
<result property="status" column="STATUS"/> |
|||
<result property="sort" column="SORT"/> |
|||
<result property="delFlag" column="DEL_FLAG"/> |
|||
<result property="revision" column="REVISION"/> |
|||
<result property="createdBy" column="CREATED_BY"/> |
|||
<result property="createdTime" column="CREATED_TIME"/> |
|||
<result property="updatedBy" column="UPDATED_BY"/> |
|||
<result property="updatedTime" column="UPDATED_TIME"/> |
|||
</resultMap> |
|||
|
|||
|
|||
</mapper> |
@ -0,0 +1,25 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
|
|||
<mapper namespace="com.epmet.dao.IcResiCategoryWarnConfigDao"> |
|||
|
|||
<resultMap type="com.epmet.entity.IcResiCategoryWarnConfigEntity" id="icResiCategoryWarnConfigMap"> |
|||
<result property="id" column="ID"/> |
|||
<result property="customerId" column="CUSTOMER_ID"/> |
|||
<result property="label" column="LABEL"/> |
|||
<result property="tableName" column="TABLE_NAME"/> |
|||
<result property="columnName" column="COLUMN_NAME"/> |
|||
<result property="sort" column="SORT"/> |
|||
<result property="level1" column="LEVEL_1"/> |
|||
<result property="level2" column="LEVEL_2"/> |
|||
<result property="level3" column="LEVEL_3"/> |
|||
<result property="delFlag" column="DEL_FLAG"/> |
|||
<result property="revision" column="REVISION"/> |
|||
<result property="createdBy" column="CREATED_BY"/> |
|||
<result property="createdTime" column="CREATED_TIME"/> |
|||
<result property="updatedBy" column="UPDATED_BY"/> |
|||
<result property="updatedTime" column="UPDATED_TIME"/> |
|||
</resultMap> |
|||
|
|||
|
|||
</mapper> |
@ -0,0 +1,29 @@ |
|||
package com.epmet.dto.result; |
|||
|
|||
import lombok.Data; |
|||
import lombok.NoArgsConstructor; |
|||
|
|||
import java.io.Serializable; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author zhaoqifeng |
|||
* @DateTime 2020/11/18 下午1:47 |
|||
*/ |
|||
@NoArgsConstructor |
|||
@Data |
|||
public class OwnerRelationResultDTO implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 2876258704168954941L; |
|||
private String ownerName; |
|||
private List<UserListBean> userList; |
|||
|
|||
@NoArgsConstructor |
|||
@Data |
|||
public static class UserListBean { |
|||
private String userId; |
|||
private String userName; |
|||
private String isSelf; |
|||
private String relation; |
|||
} |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.epmet.service; |
|||
|
|||
/** |
|||
*@Description 居民信息导入service |
|||
*@Author wangxianzhang |
|||
*@Date 2021/11/4 |
|||
*/ |
|||
public interface IcResiUserImportService { |
|||
|
|||
Object importIcResiInfoFromExcel(); |
|||
|
|||
} |
@ -0,0 +1,718 @@ |
|||
package com.epmet.service.impl; |
|||
|
|||
import com.alibaba.excel.EasyExcelFactory; |
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.epmet.commons.tools.constant.ServiceConstant; |
|||
import com.epmet.commons.tools.dto.result.OptionResultDTO; |
|||
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|||
import com.epmet.commons.tools.exception.RenException; |
|||
import com.epmet.commons.tools.feign.ResultDataResolver; |
|||
import com.epmet.commons.tools.security.user.LoginUserUtil; |
|||
import com.epmet.commons.tools.utils.Result; |
|||
import com.epmet.dao.IcResiUserDao; |
|||
import com.epmet.dto.*; |
|||
import com.epmet.dto.form.AgencyIdFormDTO; |
|||
import com.epmet.dto.form.CustomerFormQueryDTO; |
|||
import com.epmet.dto.form.HouseFormDTO; |
|||
import com.epmet.dto.form.LoginUserDetailsFormDTO; |
|||
import com.epmet.dto.result.FormItem; |
|||
import com.epmet.dto.result.LoginUserDetailsResultDTO; |
|||
import com.epmet.dto.result.OptionDTO; |
|||
import com.epmet.entity.IcResiUserEntity; |
|||
import com.epmet.excel.handler.DynamicEasyExcelListener; |
|||
import com.epmet.feign.EpmetAdminOpenFeignClient; |
|||
import com.epmet.feign.EpmetUserOpenFeignClient; |
|||
import com.epmet.feign.GovOrgOpenFeignClient; |
|||
import com.epmet.feign.OperCustomizeOpenFeignClient; |
|||
import com.epmet.service.IcResiUserImportService; |
|||
import lombok.Data; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.commons.collections4.CollectionUtils; |
|||
import org.apache.commons.lang3.StringUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.io.File; |
|||
import java.util.*; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* @ClassName IcResiUserImportServiceImpl |
|||
* @Description TODO |
|||
* @Author wangxianzhang |
|||
* @Date 2021/11/4 8:53 下午 |
|||
* @Version 1.0 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
public class IcResiUserImportServiceImpl implements IcResiUserImportService, ResultDataResolver { |
|||
|
|||
public static final ThreadLocal errorRow = new ThreadLocal<ErrorRow>(); |
|||
|
|||
@Autowired |
|||
private LoginUserUtil loginUserUtil; |
|||
|
|||
@Autowired |
|||
private EpmetUserOpenFeignClient epmetUserOpenFeignClient; |
|||
|
|||
@Autowired |
|||
private EpmetAdminOpenFeignClient adminOpenFeignClient; |
|||
|
|||
@Autowired |
|||
private GovOrgOpenFeignClient govOrgOpenFeignClient; |
|||
|
|||
@Autowired |
|||
private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; |
|||
|
|||
@Autowired |
|||
private IcResiUserDao icResiUserDao; |
|||
|
|||
/** |
|||
* @description 列信息封装 |
|||
* |
|||
* @return |
|||
* @author wxz |
|||
* @date 2021.10.28 22:18:05 |
|||
*/ |
|||
@Data |
|||
public static class ColumnWrapper { |
|||
private String combinedLabel; |
|||
private String columnName; |
|||
private String itemType; |
|||
private String itemId; |
|||
private List<Integer> colIndexs; |
|||
//private List<String> colContents;
|
|||
// 单元格内容
|
|||
private String cellContent; |
|||
// 数据库中列的值
|
|||
private String colValue; |
|||
|
|||
// key:label,value:value
|
|||
private Map<String, String> options; |
|||
|
|||
/** |
|||
* 选项来源,REMOTE;LOCAL;如果是动态加载的下拉框或者CHECKBOX等的情况下使用。URL:接口获取(LABEL,VALUE);JSON:直接从JSON中取 |
|||
*/ |
|||
private String optionSourceType; |
|||
|
|||
/** |
|||
* 来源地址,REMOTE才有,固定格式;如果OPTIONS_SOURCE是URL,则此处填写要调用的接口的URL相对路径,例如:/API/GOV/ORG/XXXX。此处不应设置参数,若需要参数应当完全由后端,通过TOKEN信息来获取 |
|||
*/ |
|||
private String optionSourceValue; |
|||
} |
|||
|
|||
/** |
|||
* 错误行信息 |
|||
*/ |
|||
public static class ErrorRow { |
|||
private String sheetName; |
|||
private String idCard; |
|||
private String name; |
|||
private String errorInfo; |
|||
} |
|||
|
|||
/** |
|||
* 导入居民信息 |
|||
* 导入主表和所有子表信息 |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public Object importIcResiInfoFromExcel() { |
|||
String loginUserId = loginUserUtil.getLoginUserId(); |
|||
String loginUserApp = loginUserUtil.getLoginUserApp(); |
|||
String loginUserClient = loginUserUtil.getLoginUserClient(); |
|||
|
|||
LoginUserDetailsFormDTO userForm = new LoginUserDetailsFormDTO(); |
|||
userForm.setApp(loginUserApp); |
|||
userForm.setClient(loginUserClient); |
|||
userForm.setUserId(loginUserId); |
|||
|
|||
LoginUserDetailsResultDTO loginUserDetails = getResultDataOrThrowsException(epmetUserOpenFeignClient.getLoginUserDetails(userForm), ServiceConstant.EPMET_USER_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
String currUserAgencyId = loginUserDetails.getAgencyId(); |
|||
|
|||
String excelPathName = "/opt/test/基础信息表/resi_info.xls"; |
|||
CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(currUserAgencyId), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
String customerId = agencyInfo.getCustomerId(); |
|||
|
|||
importIcResiBaseInfoFromExcel(excelPathName, 0, 3, currUserAgencyId, agencyInfo.getPids(), loginUserId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 1, 2, currUserAgencyId, loginUserId, "ic_party_member", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 2, 2, currUserAgencyId, loginUserId, "ic_ensure_house", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 3, 2, currUserAgencyId, loginUserId, "ic_unemployed", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 4, 2, currUserAgencyId, loginUserId, "ic_veterans", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 5, 2, currUserAgencyId, loginUserId, "ic_united_front", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 6, 3, currUserAgencyId, loginUserId, "ic_volunteer", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 7, 2, currUserAgencyId, loginUserId, "ic_old_people", customerId); |
|||
importIcResiExtraInfoFromExcel(excelPathName, 8, 3, currUserAgencyId, loginUserId, "ic_special", customerId); |
|||
|
|||
return null; |
|||
} |
|||
|
|||
/** |
|||
* excel导入居民基本信息 |
|||
* @param sheetNo |
|||
* @param headRowNumber |
|||
* @param currUserAgencyId |
|||
* @param currUserAgencyPids |
|||
* @param currentUserId |
|||
* @return |
|||
*/ |
|||
private Object importIcResiBaseInfoFromExcel(String excelPathName, int sheetNo, int headRowNumber, String currUserAgencyId, String currUserAgencyPids, String currentUserId) { |
|||
DynamicEasyExcelListener readListener = new DynamicEasyExcelListener(); |
|||
EasyExcelFactory.read(new File(excelPathName)).registerReadListener(readListener).headRowNumber(headRowNumber).sheet(sheetNo).doRead(); |
|||
|
|||
List<Map<Integer, String>> headList = readListener.getHeadList(); |
|||
List<Map<Integer, String>> dataList = readListener.getDataList(); |
|||
|
|||
Map<Integer, List<String>> headers = mergeHead(headList); |
|||
|
|||
// 查询form相关信息
|
|||
List<FormItem> customerItems = listFormItems("resi_base_info"); |
|||
|
|||
// 清洗表头数据
|
|||
Map<Integer, String> abandonedHeaders = washHeaders(headers, customerItems); |
|||
|
|||
//合并多级表头
|
|||
HashMap<String, List<Integer>> combinedHeaders = combineHeaders(headers); |
|||
|
|||
// 得到客户配置item数据
|
|||
Map<String, FormItem> formItemMap = customerItems.stream().collect( |
|||
Collectors.toMap(formItem -> { |
|||
String groupLabel = formItem.getGroupLabel(); |
|||
String label = formItem.getLabel(); |
|||
if (StringUtils.isNotBlank(groupLabel)) { |
|||
return groupLabel.concat(":").concat(label); |
|||
} else { |
|||
return label; |
|||
} |
|||
}, formItem -> formItem) |
|||
); |
|||
Map<String, ColumnWrapper> headerColumnWrapper = convertExcelHeaders2DBColumnWrappers(formItemMap, combinedHeaders, dataList, abandonedHeaders); |
|||
|
|||
// 持久化
|
|||
persistIcResiBaseInfo(headerColumnWrapper, dataList, currUserAgencyId, abandonedHeaders, currUserAgencyPids, currentUserId); |
|||
|
|||
return headers; |
|||
} |
|||
|
|||
/** |
|||
* excel导入居民附加信息 |
|||
* @param excelPathName |
|||
* @param sheetNo |
|||
* @param headRowNumber |
|||
* @param currUserAgencyId |
|||
* @param currentUserId |
|||
* @param targetTableName 要插入哪一个表 |
|||
* @return |
|||
*/ |
|||
private Object importIcResiExtraInfoFromExcel(String excelPathName, int sheetNo, int headRowNumber, String currUserAgencyId, String currentUserId, |
|||
String targetTableName, String customerId) { |
|||
DynamicEasyExcelListener readListener = new DynamicEasyExcelListener(); |
|||
EasyExcelFactory.read(new File(excelPathName)).registerReadListener(readListener).headRowNumber(headRowNumber).sheet(sheetNo).doRead(); |
|||
|
|||
List<Map<Integer, String>> headList = readListener.getHeadList(); |
|||
List<Map<Integer, String>> dataList = readListener.getDataList(); |
|||
|
|||
Map<Integer, List<String>> headers = mergeHead(headList); |
|||
|
|||
// 查询form相关信息
|
|||
List<FormItem> customerItems = listFormItems("resi_base_info"); |
|||
|
|||
// 清洗表头数据
|
|||
Map<Integer, String> abandonedHeaders = washHeaders(headers, customerItems); |
|||
|
|||
//合并多级表头
|
|||
HashMap<String, List<Integer>> combinedHeaders = combineHeaders(headers); |
|||
|
|||
// 得到客户配置item数据
|
|||
Map<String, FormItem> formItemMap = customerItems.stream().collect( |
|||
Collectors.toMap(formItem -> { |
|||
String groupLabel = formItem.getGroupLabel(); |
|||
String label = formItem.getLabel(); |
|||
if (StringUtils.isNotBlank(groupLabel)) { |
|||
return groupLabel.concat(":").concat(label); |
|||
} else { |
|||
return label; |
|||
} |
|||
}, formItem -> formItem) |
|||
); |
|||
Map<String, ColumnWrapper> headerColumnWrapper = convertExcelHeaders2DBColumnWrappers(formItemMap, combinedHeaders, dataList, abandonedHeaders); |
|||
persistIcResiExtraInfo(headerColumnWrapper, dataList, currUserAgencyId, abandonedHeaders, currentUserId, targetTableName, customerId); |
|||
return headerColumnWrapper; |
|||
} |
|||
|
|||
/** |
|||
* 持久化IC居民基础信息 |
|||
* @param headerColumnWrapper 数据库列包装信息 |
|||
* @param dataRows 数据行集合 |
|||
* @param currUserAgencyId 当前用户的组织id |
|||
* @param checkBoxOptionColumnIdxAndLabel 复选框的列号&label中文 |
|||
*/ |
|||
private void persistIcResiBaseInfo(Map<String, ColumnWrapper> headerColumnWrapper, List<Map<Integer, String>> dataRows, |
|||
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel, |
|||
String currUserAgencyPids, String currentUserId) { |
|||
|
|||
// 遍历每一行,将行内容转化为
|
|||
for (Map<Integer, String> row : dataRows) { |
|||
|
|||
LinkedHashMap<String, String> columnAndValues = convertColumnWrappers2Map4Persist(headerColumnWrapper, row, currUserAgencyId, checkBoxOptionColumnIdxAndLabel); |
|||
|
|||
columnAndValues.put("IS_ENSURE_HOUSE", "0"); |
|||
columnAndValues.put("IS_OLD_PEOPLE", "0"); |
|||
columnAndValues.put("IS_PARTY", "0"); |
|||
columnAndValues.put("IS_SPECIAL", "0"); |
|||
columnAndValues.put("IS_UNEMPLOYED", "0"); |
|||
columnAndValues.put("IS_UNITED_FRONT", "0"); |
|||
columnAndValues.put("IS_VETERANS", "0"); |
|||
columnAndValues.put("IS_VOLUNTEER", "0"); |
|||
|
|||
columnAndValues.put("AGENCY_ID", currUserAgencyId); |
|||
columnAndValues.put("PIDS", currUserAgencyPids); |
|||
columnAndValues.put("CUSTOMER_ID", loginUserUtil.getCurrentCustomerId()); |
|||
columnAndValues.put("CREATED_BY", currentUserId); |
|||
columnAndValues.put("UPDATED_BY", currentUserId); |
|||
columnAndValues.put("ID", UUID.randomUUID().toString().replace("-", "")); |
|||
|
|||
// 验证居民信息是否存在
|
|||
String idCard = columnAndValues.get("ID_CARD"); |
|||
LambdaQueryWrapper<IcResiUserEntity> idCardQuery = new LambdaQueryWrapper<>(); |
|||
idCardQuery.eq(IcResiUserEntity::getIdCard, idCard); |
|||
|
|||
if (icResiUserDao.selectCount(idCardQuery) > 0) { |
|||
log.info("身份证号为【{}】的居民信息已存在,跳过导入", idCard); |
|||
} |
|||
|
|||
icResiUserDao.add("ic_resi_user", columnAndValues); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 持久化IC居民附加信息 |
|||
* @param headerColumnWrapper 数据库列包装信息 |
|||
* @param dataRows 数据行集合 |
|||
* @param currUserAgencyId 当前用户的组织id |
|||
* @param checkBoxOptionColumnIdxAndLabel 复选框的列号&label中文 |
|||
* @param targetTableName 要插入到哪一个表 |
|||
*/ |
|||
private void persistIcResiExtraInfo(Map<String, ColumnWrapper> headerColumnWrapper, List<Map<Integer, String>> dataRows, |
|||
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel, |
|||
String currentUserId, String targetTableName, String customerId) { |
|||
|
|||
// 遍历每一行,将行内容转化为
|
|||
for (Map<Integer, String> row : dataRows) { |
|||
|
|||
LinkedHashMap<String, String> columnAndValues = convertColumnWrappers2Map4Persist(headerColumnWrapper, row, currUserAgencyId, checkBoxOptionColumnIdxAndLabel); |
|||
|
|||
// 检验身份证号
|
|||
String idCard = columnAndValues.get("ID_CARD"); |
|||
if (StringUtils.isBlank(idCard)) { |
|||
throw new RenException(EpmetErrorCode.IDCARDNO_ERROR.getCode(), String.format("用户【%s】身份证号未填写或格式错误", columnAndValues.get("NAME"))); |
|||
} |
|||
|
|||
// 检查用户是否存在
|
|||
LambdaQueryWrapper<IcResiUserEntity> idCardQuery = new LambdaQueryWrapper<>(); |
|||
idCardQuery.eq(IcResiUserEntity::getIdCard, idCard); |
|||
|
|||
IcResiUserEntity icResiUserBaseInfo = icResiUserDao.selectOne(idCardQuery); |
|||
if (icResiUserBaseInfo == null) { |
|||
throw new RenException(EpmetErrorCode.RESI_NOT_FOUND.getCode(), String.format("身份证号为【%s】的居民信息未找到,请确认该居民信息存在", idCard)); |
|||
} |
|||
|
|||
String icResiId = icResiUserBaseInfo.getId(); |
|||
|
|||
// 验证党员信息是否存在
|
|||
if (CollectionUtils.isNotEmpty(icResiUserDao.selectSubTableRecords(customerId, icResiId, targetTableName))) { |
|||
log.info("身份证号为【{}】的居民【{}】信息已存在,跳过导入", idCard, targetTableName); |
|||
continue; |
|||
} |
|||
|
|||
columnAndValues.put("IC_RESI_USER", icResiId); |
|||
|
|||
columnAndValues.put("CUSTOMER_ID", loginUserUtil.getCurrentCustomerId()); |
|||
columnAndValues.put("CREATED_BY", currentUserId); |
|||
columnAndValues.put("UPDATED_BY", currentUserId); |
|||
columnAndValues.put("ID", UUID.randomUUID().toString().replace("-", "")); |
|||
|
|||
columnAndValues = removeNeedlessColumns(columnAndValues); |
|||
|
|||
icResiUserDao.add(targetTableName, columnAndValues); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 去掉多余的列 |
|||
* @param originColumnAndValues |
|||
* @return |
|||
*/ |
|||
private LinkedHashMap<String, String> removeNeedlessColumns(LinkedHashMap<String, String> originColumnAndValues) { |
|||
List<String> needlessColumns = Arrays.asList("GRID_ID", "VILLAGE_ID", "BUILD_ID", "UNIT_ID", "HOME_ID", |
|||
"IS_BDHJ", "NAME", "MOBILE", "GENDER", "ID_CARD", |
|||
"BIRTHDAY", "CONTACTS", "CONTACTS_MOBILE"); |
|||
|
|||
LinkedHashMap<String, String> newMap = new LinkedHashMap(); |
|||
|
|||
originColumnAndValues.entrySet().forEach(b -> { |
|||
if (!needlessColumns.contains(b.getKey())) { |
|||
newMap.put(b.getKey(), b.getValue()); |
|||
} |
|||
}); |
|||
|
|||
return newMap; |
|||
} |
|||
|
|||
/** |
|||
* 将当前行数据转化成LinkedHashMap,供后续插入 |
|||
* @param headerColumnWrapper 当前行的ColumnWrapper,每一个ColumnWrapper元素都是当前行中的一个列 |
|||
* @param row 当前行数据 |
|||
* @param currUserAgencyId 当前用户所属机构ID |
|||
* @param checkBoxOptionColumnIdxAndLabel 复选框options列表。key:列号,value:复选框中文 |
|||
* @return |
|||
*/ |
|||
private LinkedHashMap<String, String> convertColumnWrappers2Map4Persist(Map<String, ColumnWrapper> headerColumnWrapper, Map<Integer, String> row, |
|||
String currUserAgencyId, Map<Integer, String> checkBoxOptionColumnIdxAndLabel) { |
|||
LinkedHashMap<String, String> columnAndValues = new LinkedHashMap<>(); |
|||
|
|||
for (Map.Entry<String, ColumnWrapper> columnWrapperEntry : headerColumnWrapper.entrySet()) { |
|||
|
|||
ColumnWrapper columnWrapper = columnWrapperEntry.getValue(); |
|||
if ("input".equals(columnWrapper.getItemType()) |
|||
|| "textarea".equals(columnWrapper.getItemType()) |
|||
|| "datepicker".equals(columnWrapper.getItemType()) |
|||
|| "daterange".equals(columnWrapper.getItemType()) |
|||
) { |
|||
|
|||
String cellContent = row.get(columnWrapper.getColIndexs().get(0)); |
|||
columnWrapper.setCellContent(cellContent); |
|||
columnWrapper.setColValue(cellContent); |
|||
|
|||
} else if ("select".equals(columnWrapper.getItemType()) |
|||
|| "radio".equals(columnWrapper.getItemType())){ |
|||
|
|||
String optionSourceType = columnWrapper.getOptionSourceType(); |
|||
// 取单元格的内容
|
|||
String cellContent = row.get(columnWrapper.getColIndexs().get(0)); |
|||
columnWrapper.setCellContent(cellContent); |
|||
|
|||
if ("local".equals(optionSourceType)) { |
|||
// 根据单元格内容,取到指定的option
|
|||
Map<String, String> options = columnWrapper.getOptions(); |
|||
String colValue = options.get(cellContent); |
|||
columnWrapper.setColValue(colValue); |
|||
} else { |
|||
// remote类型
|
|||
|
|||
Map<String, String> options = listRemoteOptions(headerColumnWrapper, columnWrapper.getOptionSourceValue(), currUserAgencyId); |
|||
String colValue = options.get(cellContent); |
|||
columnWrapper.setColValue(colValue); |
|||
} |
|||
} else if ("checkbox".equals(columnWrapper.getItemType())) { |
|||
String checkBoxColValue = getCheckBoxColValue(columnWrapper, row, checkBoxOptionColumnIdxAndLabel); |
|||
columnWrapper.setColValue(checkBoxColValue); |
|||
} |
|||
columnAndValues.put(columnWrapper.columnName, columnWrapper.colValue); |
|||
} |
|||
|
|||
return columnAndValues; |
|||
} |
|||
|
|||
/** |
|||
* 根据formCode查询该form的item列表 |
|||
* @param formCode |
|||
* @return |
|||
*/ |
|||
private List<FormItem> listFormItems(String formCode) { |
|||
CustomerFormQueryDTO form = new CustomerFormQueryDTO(); |
|||
form.setFormCode(formCode); |
|||
Result<List<FormItem>> result = operCustomizeOpenFeignClient.listItems(form); |
|||
return getResultDataOrThrowsException(result, ServiceConstant.OPER_CUSTOMIZE_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), "【居民信息excel导入】查询表单相关信息失败"); |
|||
} |
|||
|
|||
/** |
|||
* @description 合并头 |
|||
* |
|||
* @param headers |
|||
* @return |
|||
* @author wxz |
|||
* @date 2021.10.28 21:27:18 |
|||
*/ |
|||
private HashMap<String, List<Integer>> combineHeaders(Map<Integer, List<String>> headers) { |
|||
HashMap<String, List<Integer>> itemAndColIndexs = new LinkedHashMap<>(); |
|||
|
|||
headers.forEach((k, v) -> { |
|||
String tempKey = String.join(":", v); |
|||
List<Integer> colIndexs = itemAndColIndexs.get(tempKey); |
|||
if (colIndexs == null) { |
|||
colIndexs = new ArrayList<>(); |
|||
itemAndColIndexs.put(tempKey, colIndexs); |
|||
} |
|||
colIndexs.add(k); |
|||
}); |
|||
|
|||
return itemAndColIndexs; |
|||
} |
|||
|
|||
/** |
|||
* @description 洗头 |
|||
* |
|||
* @param headers |
|||
* @param items |
|||
* @return |
|||
* @author wxz |
|||
* @date 2021.10.28 21:07:12 |
|||
*/ |
|||
private Map<Integer, String> washHeaders(Map<Integer, List<String>> headers, List<FormItem> items) { |
|||
List<String> itemLabels = items.stream().map(i -> i.getLabel()).collect(Collectors.toList()); |
|||
Map<Integer, String> abandonedHeaders = new HashMap<>(); |
|||
for (Map.Entry<Integer, List<String>> entry:headers.entrySet()) { |
|||
Integer colIdx = entry.getKey(); |
|||
List<String> v = entry.getValue(); |
|||
int lastPartIndex = v.size() - 1; |
|||
String lastValuePart = v.get(lastPartIndex); |
|||
if (!itemLabels.contains(lastValuePart)) { |
|||
// 该部分为options,它的上一级是item,那么去掉options这一级
|
|||
v.remove(lastPartIndex); |
|||
abandonedHeaders.put(colIdx, lastValuePart); |
|||
} |
|||
} |
|||
|
|||
return abandonedHeaders; |
|||
} |
|||
|
|||
/** |
|||
* @description 数据整合,将excel表头汉字信息转化成ColumnWrapper列封装数据 |
|||
* * key:itemId |
|||
* * value:ColumnWrapper列包装信息 |
|||
* @param formItemMap item map |
|||
* key:itemId; |
|||
* value: 合并之后的head字符串,例如:健康信息:监护人 |
|||
* @param combinedHeaders 合并之后的head信息。 |
|||
* key:合并之后head字符串(例如:党员信息:入党时间); |
|||
* value:列号组成的列表(例如[1,2,3]) |
|||
* @param datas |
|||
* @param abandonedHeaders |
|||
* @return |
|||
*/ |
|||
private Map<String, ColumnWrapper> convertExcelHeaders2DBColumnWrappers(Map<String, FormItem> formItemMap, Map<String, List<Integer>> combinedHeaders, |
|||
List<Map<Integer, String>> datas, Map<Integer, String> abandonedHeaders) { |
|||
|
|||
// HashMap<String, List<ColumnWrapper>> tables = new HashMap<>();
|
|||
Map<String, ColumnWrapper> columns = new LinkedHashMap<>(combinedHeaders.size()); |
|||
|
|||
for (Map.Entry<String, List<Integer>> entry : combinedHeaders.entrySet()) { |
|||
String combinedHeader = entry.getKey(); |
|||
|
|||
FormItem item = formItemMap.get(combinedHeader); |
|||
|
|||
if (item == null) { |
|||
// 如果数据库中没有该项,可能是用户自己定义的项,忽略
|
|||
continue; |
|||
} |
|||
|
|||
ColumnWrapper columnWrapper = new ColumnWrapper(); |
|||
|
|||
// 填充options
|
|||
columnWrapper.setItemType(item.getItemType()); |
|||
columnWrapper.setItemId(item.getItemId()); |
|||
String groupLabel = item.getGroupLabel(); |
|||
String combinedLabel = StringUtils.isBlank(groupLabel) ? item.getLabel() : groupLabel.concat(":").concat(item.getLabel()); |
|||
columnWrapper.setCombinedLabel(combinedLabel); |
|||
columnWrapper.setColumnName(item.getColumnName()); |
|||
columnWrapper.setColIndexs(entry.getValue()); |
|||
|
|||
columnWrapper.setOptionSourceType(item.getOptionSourceType()); |
|||
columnWrapper.setOptionSourceValue(item.getOptionSourceValue()); |
|||
columnWrapper.setOptions(item.getOptions().stream().collect(Collectors.toMap(OptionDTO::getLabel, OptionDTO::getValue))); |
|||
|
|||
columns.put(item.getItemId(), columnWrapper); |
|||
} |
|||
return columns; |
|||
} |
|||
|
|||
/** |
|||
* 获取checkbox列值 |
|||
* @param columnWrapper 数据库列包装信息,每一列跳数据对应数据库的一个列 |
|||
* @param dataRow 数据行,每一条都是一行中的一个单元格 |
|||
* @param checkboxOptions 复选框的选项。k: 列号, value: checkboxlabel中文 |
|||
* @return |
|||
*/ |
|||
private String getCheckBoxColValue(ColumnWrapper columnWrapper, Map<Integer, String> dataRow, Map<Integer, String> checkboxOptions) { |
|||
|
|||
Map<String, String> options = columnWrapper.getOptions(); |
|||
List<Integer> colIndexs = columnWrapper.getColIndexs(); |
|||
|
|||
List<String> optionValues = colIndexs.stream().filter(i -> { |
|||
String cellContent = dataRow.get(i); |
|||
return StringUtils.isNotBlank(cellContent) && cellContent.equals("是"); |
|||
}).map(i -> { |
|||
String checkboxOptionLabel = checkboxOptions.get(i); |
|||
return options.get(checkboxOptionLabel); |
|||
}).collect(Collectors.toList()); |
|||
|
|||
return String.join(",", optionValues); |
|||
} |
|||
|
|||
/** |
|||
* @description 合并表头 |
|||
* Map<Integer, List<String>> |
|||
* |
|||
* @param headList |
|||
* @return |
|||
* @author wxz |
|||
* @date 2021.10.27 16:17:34 |
|||
*/ |
|||
private Map<Integer, List<String>> mergeHead(List<Map<Integer, String>> headList) { |
|||
|
|||
Map<Integer, String> lastNotNullHeads = new LinkedHashMap<>(); |
|||
|
|||
Map<Integer, List<String>> mergedHead = new LinkedHashMap<>(); |
|||
|
|||
int levelCount = headList.size(); |
|||
|
|||
Map<Integer, String> firstLevel = headList.get(0); |
|||
|
|||
// 遍历所有列
|
|||
for (Map.Entry<Integer, String> column : firstLevel.entrySet()) { |
|||
Integer columIndex = column.getKey(); |
|||
|
|||
List<String> labels = new ArrayList<>(); |
|||
|
|||
// 竖着遍历该列的所有行
|
|||
for (int currentLevel = 0; currentLevel < levelCount; currentLevel ++) { |
|||
String label = headList.get(currentLevel).get(columIndex); |
|||
|
|||
if (StringUtils.isNotBlank(label)) { |
|||
lastNotNullHeads.put(currentLevel, label); |
|||
} else { |
|||
if (currentLevel == 0 || StringUtils.isBlank(headList.get(currentLevel - 1).get(columIndex))) { |
|||
label = lastNotNullHeads.get(currentLevel); |
|||
} |
|||
} |
|||
|
|||
if (StringUtils.isNotBlank(label)) { |
|||
labels.add(label); |
|||
} |
|||
} |
|||
|
|||
mergedHead.put(columIndex, labels); |
|||
} |
|||
|
|||
return mergedHead; |
|||
} |
|||
|
|||
/** |
|||
* 远程获取options |
|||
* @param fullUri |
|||
* @return |
|||
*/ |
|||
public Map<String, String> listRemoteOptions(Map<String, ColumnWrapper> columnWrappers, String fullUri, String currUserAgencyId) { |
|||
String pureUri = null; |
|||
String cascadeItemId = null; |
|||
ColumnWrapper cascadeItemColumnWrapper = null; |
|||
|
|||
if (fullUri.indexOf("?") != -1) { |
|||
String[] uriParts = fullUri.split("\\?"); |
|||
pureUri = uriParts[0]; |
|||
cascadeItemId = uriParts[1]; |
|||
|
|||
// 根据uri上的id,找到关联的itemid,从而找到关联的item的值
|
|||
if (columnWrappers != null){ |
|||
cascadeItemColumnWrapper = columnWrappers.get(cascadeItemId); |
|||
} |
|||
} else { |
|||
pureUri = fullUri; |
|||
} |
|||
|
|||
List<OptionResultDTO> options = null; |
|||
|
|||
switch (pureUri) { |
|||
case "/epmetuser/icresidemanddict/demandoption": |
|||
options = getResultDataOrThrowsException(epmetUserOpenFeignClient.getDemandOptions(), ServiceConstant.EPMET_USER_SERVER, |
|||
EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/customergrid/gridoption": |
|||
AgencyIdFormDTO form = new AgencyIdFormDTO(); |
|||
form.setAgencyId(currUserAgencyId); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getGridOption(form), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/customerpartybranch/branchoption": |
|||
|
|||
CustomerPartyBranchDTO bform = new CustomerPartyBranchDTO(); |
|||
bform.setGridId(cascadeItemColumnWrapper.getColValue()); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getBranchOption(bform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/icbuilding/buildingoption": |
|||
IcBuildingDTO buildingform = new IcBuildingDTO(); |
|||
buildingform.setNeighborHoodId(cascadeItemColumnWrapper.getColValue()); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getBuildingOptions(buildingform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/icbuildingunit/unitoption": |
|||
IcBuildingUnitDTO buForm = new IcBuildingUnitDTO(); |
|||
buForm.setBuildingId(cascadeItemColumnWrapper.getColValue()); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getUnitOptions(buForm), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/ichouse/houseoption": |
|||
HouseFormDTO hform = new HouseFormDTO(); |
|||
hform.setUnitId(cascadeItemColumnWrapper.getColValue()); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getHouseOption(hform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/gov/org/icneighborhood/neighborhoodoption": |
|||
IcNeighborHoodDTO nform = new IcNeighborHoodDTO(); |
|||
nform.setAgencyId(currUserAgencyId); |
|||
nform.setGridId(cascadeItemColumnWrapper.getColValue()); |
|||
options = getResultDataOrThrowsException(govOrgOpenFeignClient.getNeighborHoodOptions(nform), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/sys/dict/data/education": |
|||
options = getResultDataOrThrowsException(adminOpenFeignClient.getEducationOption(), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/sys/dict/data/house": |
|||
options = getResultDataOrThrowsException(adminOpenFeignClient.getHouseOption(), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/sys/dict/data/nation": |
|||
options = getResultDataOrThrowsException(adminOpenFeignClient.getNationOption(), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/sys/dict/data/ninesmallplaces": |
|||
options = getResultDataOrThrowsException(adminOpenFeignClient.getNineSmallPlacesOption(), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
case "/sys/dict/data/relationship": |
|||
options = getResultDataOrThrowsException(adminOpenFeignClient.getRelationshipOption(), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.SERVER_ERROR.getCode(), null); |
|||
break; |
|||
|
|||
} |
|||
|
|||
if (options == null) { |
|||
return null; |
|||
} |
|||
|
|||
return options.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); |
|||
|
|||
// 通用api调用,无法实现
|
|||
/*if (!uri.startsWith("/api")) uri = "/api".concat(uri); |
|||
|
|||
NamingService namingService = discoveryProperties.namingServiceInstance(); |
|||
ResponseEntity<Result<List<OptionResultDTO>>> response = null; |
|||
try { |
|||
// 调用gateway服务,查询相关接口
|
|||
Instance gatewayInstance = namingService.getAllInstances(ServiceConstant.EPMET_GATEWAY).get(0); |
|||
String ip = gatewayInstance.getIp(); |
|||
int port = gatewayInstance.getPort(); |
|||
|
|||
String url = String.format("http://%s:%s%s", ip, port, uri); |
|||
|
|||
ParameterizedTypeReference<Result<List<OptionResultDTO>>> tr = new ParameterizedTypeReference<Result<List<OptionResultDTO>>>() {}; |
|||
response = new RestTemplate().exchange(url, HttpMethod.POST, null, tr); |
|||
} catch (NacosException e) { |
|||
e.printStackTrace(); |
|||
} |
|||
|
|||
if (response != null && (response.getStatusCode() == HttpStatus.OK)) { |
|||
List<OptionResultDTO> options = response.getBody().getData(); |
|||
if (options == null) { |
|||
System.out.println(6); |
|||
} |
|||
return options.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); |
|||
} else { |
|||
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); |
|||
}*/ |
|||
|
|||
} |
|||
|
|||
} |
Loading…
Reference in new issue