diff --git a/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java b/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java index 52c4c4c9..c63925af 100644 --- a/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java +++ b/shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java @@ -15,6 +15,7 @@ import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.entity.SysDept; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.enums.BusinessType; +import com.shuili.common.utils.StringUtils; import com.shuili.common.utils.poi.ExcelUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -62,34 +63,42 @@ public class SysXzqhController extends BaseController { @GetMapping("/common") @ApiOperation("通用行政区划") - public AjaxResult common() { - SysUser user = UserUtils.getUser(); - String deptId = user.getDeptId(); - SysDept sysDept = sysDeptService.getById(deptId); - String xzqhId = sysDept.getXzqhId(); - SysXzqh xzqh = sysXzqhService.getById(xzqhId); - String userName = user.getUserName(); - /*if (userName.equals("admin")) { - List list = sysXzqhService.list(); - return AjaxResult.success(list); - }else */ - if (xzqh.getLayer() == 1) { - String substring = xzqh.getXzqhdm().substring(0, 2); + public AjaxResult common(@RequestParam(value = "xzqhdm", required = false) String xzqhdm) { + if (StringUtils.isEmpty(xzqhdm)) { + SysUser user = UserUtils.getUser(); + String deptId = user.getDeptId(); + SysDept sysDept = sysDeptService.getById(deptId); + String xzqhId = sysDept.getXzqhId(); + SysXzqh xzqh = sysXzqhService.getById(xzqhId); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.likeRight("XZQHDM", substring); + queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm())) + .eq("LAYER", xzqh.getLayer()); + List list = sysXzqhService.list(queryWrapper); return AjaxResult.success(list); - } else if (xzqh.getLayer() == 2) { - String substring = xzqh.getXzqhdm().substring(0, 4); + } else { + SysXzqh xzqh = sysXzqhService.getById(xzqhdm); QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.likeRight("XZQHDM", substring); + queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm())) + .eq("LAYER", xzqh.getLayer() - 1); List list = sysXzqhService.list(queryWrapper); return AjaxResult.success(list); - } else { - return AjaxResult.success(xzqh); } } + private String getQuery(String xzqhdm) { + int index = xzqhdm.lastIndexOf("000"); + if (index >= 6) { + return getQuery(xzqhdm.substring(0, index)); + } + index = xzqhdm.lastIndexOf("00"); + if (index >= 0 && index < 6) { + return getQuery(xzqhdm.substring(0, index)); + } + return xzqhdm; + } + + /** * 查询行政区划列表 */ diff --git a/shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java b/shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java new file mode 100644 index 00000000..e69de29b diff --git a/shuili-common/pom.xml b/shuili-common/pom.xml index 77b1cf4a..a9bd1ee1 100644 --- a/shuili-common/pom.xml +++ b/shuili-common/pom.xml @@ -13,6 +13,18 @@ jar boot 工程工具类 + + 1.21 + 1.2.79 + 2.11.0 + 1.4 + 3.12.0 + 4.0.1 + UTF-8 + 1.8 + 1.8 + + @@ -47,6 +59,7 @@ javax.servlet javax.servlet-api + ${servlet-api.version} @@ -66,23 +79,27 @@ com.fasterxml.jackson.core jackson-annotations + 2.13.2 org.apache.commons commons-lang3 + ${commons-lang3.version} commons-fileupload commons-fileupload + ${commons.fileupload.version} commons-io commons-io + ${commons.io.version} @@ -90,16 +107,22 @@ com.alibaba fastjson + ${fastjson.version} + + eu.bitwalker UserAgentUtils + ${bitwalker.version} - + + + ${project.artifactId} diff --git a/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorEnum.java b/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorEnum.java index 6667a2f3..8ce2b221 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorEnum.java +++ b/shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorEnum.java @@ -40,27 +40,27 @@ public enum MonitorEnum { MS_DSM_CKOPDG("裂缝开合度位移监测表", MsHdmCkopdg.class), ; - private final String name; + private final String zhName; private final MonitorTypeEnum type; private final String mockData; private final Class clazz; - MonitorEnum(String name, Class clazz) { - this(name, Mock.DEFAULT, MonitorTypeEnum.MONITOR, clazz); + MonitorEnum(String zhName, Class clazz) { + this(zhName, Mock.DEFAULT, MonitorTypeEnum.MONITOR, clazz); } - MonitorEnum(String name, String mockData, Class clazz) { - this(name, mockData, MonitorTypeEnum.MONITOR, clazz); + MonitorEnum(String zhName, String mockData, Class clazz) { + this(zhName, mockData, MonitorTypeEnum.MONITOR, clazz); } - MonitorEnum(String name, MonitorTypeEnum type, Class clazz) { - this(name, Mock.DEFAULT, type, clazz); + MonitorEnum(String zhName, MonitorTypeEnum type, Class clazz) { + this(zhName, Mock.DEFAULT, type, clazz); } - MonitorEnum(String name, String mockData, MonitorTypeEnum type, Class clazz) { - this.name = name; + MonitorEnum(String zhName, String mockData, MonitorTypeEnum type, Class clazz) { + this.zhName = zhName; this.type = type; this.mockData = mockData; this.clazz = clazz; @@ -136,7 +136,7 @@ public enum MonitorEnum { @Override public String toString() { - return "表[" + this.getName() + "](" + this.name + ")"; + return "表[" + this.getTableName() + "](" + this.zhName + ")"; } public final static class Mock { diff --git a/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java b/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java index 9c075ab4..08d06211 100644 --- a/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java +++ b/shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java @@ -1,7 +1,6 @@ package com.kms.yg.cz.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.yg.cz.dto.MonitorQueDto; import com.kms.yg.cz.enmu.MonitorEnum; import com.kms.yxgh.util.DataCenterRestTemplateUtils; @@ -27,7 +26,7 @@ public class MonitorService { private Map paths = new HashMap<>(); - public IPage pageQuery(MonitorQueDto queDto) { + public IPage pageQuery(MonitorQueDto queDto) { MonitorEnum table = queDto.getMonitorType(); String path = paths.get(table.getTableName()); if (path == null) { diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java index ffefa8d3..3216aad9 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java +++ b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java @@ -95,6 +95,30 @@ public class BsSgcDfGcxy extends BaseEntity @ApiModelProperty("保护工矿") private String prfcMn; + + /** 保护城镇 */ + @Excel(name = "保护城镇") + @ApiModelProperty("保护城镇") + private String dikePrtwam; + + @Excel(name = "'保护耕地面积'") + @ApiModelProperty("'保护耕地面积'") + private String dikePrflar; + + @Excel(name = "'保护总人口数'") + @ApiModelProperty("'保护总人口数'") + private String diekPrpp; + + @Excel(name = "'是否保护铁路'") + @ApiModelProperty("'是否保护铁路'") + private String diekPrrw; + + @Excel(name = "'是否保护公路'") + @ApiModelProperty("'是否保护公路'") + private String dikePrrd; + + + /** 保护城镇 */ @Excel(name = "保护城镇") @ApiModelProperty("保护城镇") @@ -132,4 +156,6 @@ public class BsSgcDfGcxy extends BaseEntity @ApiModelProperty("记录失效时间") private Date exprDate; + + } diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java index 9172e939..da493c5b 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java +++ b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java @@ -34,7 +34,7 @@ public class BsSgcDfJyjl extends BaseEntity @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "决溢时间", width = 30, dateFormat = "yyyy-MM-dd") @ApiModelProperty("决溢时间") - private Date brspTime; + private Date brspDateTime; /** 决溢地点与形式 */ @Excel(name = "决溢地点与形式") @@ -99,4 +99,6 @@ public class BsSgcDfJyjl extends BaseEntity @ApiModelProperty("记录失效时间") private Date exprDate; + + private String brspForm; } diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java index 24938674..2d43cc76 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java +++ b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java @@ -482,4 +482,7 @@ public class BsSgcDfSafeJbxx extends BaseEntity implements IAdcd { @TableField(value = "EXPR_DATE", updateStrategy = FieldStrategy.IGNORED) private Date exprDate; + private String elevSysConver; + + private String mnun; } diff --git a/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java b/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java index d95946dc..0e0fb18f 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java @@ -145,6 +145,12 @@ public interface BsSgcDfSafeJbxxMapper extends BaseMapper { "", "AND adcd like concat(#{dfProject.adcd}, '%') ", "", + "", + "AND dike_code in ", + "", + "#{item}", + "", + "", "order by dike_name ", "" }) diff --git a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSafeJbxxService.java b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSafeJbxxService.java index 9145442a..b7e9f3d9 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSafeJbxxService.java +++ b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSafeJbxxService.java @@ -9,12 +9,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.system.service.SysXzqhService; import com.kms.yg.df.domain.BsSgcDfSafeJbxx; import com.kms.yg.df.mapper.BsSgcDfSafeJbxxMapper; +import com.kms.yg.sz.domain.BsSgcSzBzbp; +import com.kms.yg.sz.domain.BsSgcSzGcda; +import com.kms.yg.sz.domain.BsSgcSzSafeJbxx; +import com.kms.yg.sz.domain.dto.HistogramDto; import com.kms.yg.sz.domain.dto.PieDto; +import com.kms.yg.sz.mapper.BsSgcSzSafeJbxxMapper; import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.service.BaseService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -95,6 +101,7 @@ public class BsSgcDfSafeJbxxService extends BaseService> map = new HashMap<>(); + for (int i = 0; i < pieDtos.size(); i++) { HashMap hashMap = new HashMap<>(); hashMap.put(pieDtos.get(i).getStatus(), pieDtos.get(i).getNum()); @@ -112,6 +119,7 @@ public class BsSgcDfSafeJbxxService extends BaseService { +} diff --git a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java index fe8af996..b423c647 100644 --- a/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java +++ b/shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java @@ -111,6 +111,15 @@ public interface BsSgcSzSafeJbxxMapper extends BaseMapper { "" + "AND adcd like concat(#{szProject.adcd}, '%') " + "" + + "" + + "AND river_location = #{szProject.riverLocation} " + + "" + + "" + + "AND waga_code in " + + "" + + "#{item}" + + "" + + "" + "") @Results({ @Result(property = "wagaCode", column = "waga_code"), diff --git a/shuili-system/src/main/java/com/kms/yg/sz/service/AttWagaCodeService.java b/shuili-system/src/main/java/com/kms/yg/sz/service/AttWagaCodeService.java new file mode 100644 index 00000000..2889b52f --- /dev/null +++ b/shuili-system/src/main/java/com/kms/yg/sz/service/AttWagaCodeService.java @@ -0,0 +1,11 @@ +package com.kms.yg.sz.service; + +import com.kms.yg.sz.domain.AttWagaCode; + +import com.kms.yg.sz.mapper.AttWagaCodeMapper; +import com.shuili.common.core.service.BaseService; +import org.springframework.stereotype.Service; + +@Service +public class AttWagaCodeService extends BaseService { +} diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/controller/CommonApiController.java b/shuili-system/src/main/java/com/kms/yxgh/common/controller/CommonApiController.java index e89002bc..3f2bbe81 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/controller/CommonApiController.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/controller/CommonApiController.java @@ -1,18 +1,21 @@ package com.kms.yxgh.common.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.kms.common.utils.UserUtils; import com.kms.system.domain.SysXzqh; import com.kms.system.service.SysDictTypeService; import com.kms.system.service.SysXzqhService; import com.kms.yxgh.base.Response; +import com.shuili.common.core.domain.AjaxResult; +import com.shuili.common.core.domain.entity.SysDept; import com.shuili.common.core.domain.entity.SysDictData; +import com.shuili.common.core.domain.entity.SysUser; +import com.shuili.common.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -36,11 +39,33 @@ public class CommonApiController { @GetMapping("/xzgh/getGuangDong") @ApiOperation("获取广东省下属市区") - public Response> getGuangDong() { - List list = sysXzqhService.list(Wrappers.lambdaQuery(SysXzqh.class) - .likeRight(SysXzqh::getXzqhdm, "44") - .eq(SysXzqh::getLayer, 2)); - return Response.ok(list); + public Response> getGuangDong(@RequestParam(value = "xzqhdm", required = false) String xzqhdm) { + if (StringUtils.isEmpty(xzqhdm)) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.likeRight("XZQHDM", "44") + .in("LAYER", 3); + List list = sysXzqhService.list(queryWrapper); + return Response.ok(list); + } else { + SysXzqh xzqh = sysXzqhService.getById(xzqhdm); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm())) + .eq("LAYER", xzqh.getLayer() - 1); + List list = sysXzqhService.list(queryWrapper); + return Response.ok(list); + } + } + + private String getQuery(String xzqhdm) { + int index = xzqhdm.lastIndexOf("000"); + if (index >= 6) { + return getQuery(xzqhdm.substring(0, index)); + } + index = xzqhdm.lastIndexOf("00"); + if (index >= 0 && index < 6) { + return getQuery(xzqhdm.substring(0, index)); + } + return xzqhdm; } @ApiOperation("根据字典类型查询字典数据信息") diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/dto/IAdcd.java b/shuili-system/src/main/java/com/kms/yxgh/common/dto/IAdcd.java index 9ead8d71..a5aeae59 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/dto/IAdcd.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/dto/IAdcd.java @@ -8,18 +8,24 @@ public interface IAdcd { default String getAdcdQx() { String userAdcd = UserUtils.getAdcd(); - String targetAdcd = getAdcd(); - if (targetAdcd == null) { - return userAdcd == null ? null : userAdcd.replaceAll("00(00)?$", ""); + String adcd = getAdcd(); + if (adcd == null) { + adcd = userAdcd; } - if (userAdcd == null) { - return targetAdcd.replaceAll("00(00)?$", ""); + if (adcd == null) { + return null; } - userAdcd = userAdcd.replaceAll("00(00)?$", ""); - if (targetAdcd.startsWith(userAdcd)) { - return targetAdcd.replaceAll("00(00)?$", ""); + int index = adcd.length() - 1; + while (index >= 0 && adcd.charAt(index) == '0') { + index--; + } + if (index < 0) { + return adcd; + } + if (index > 5) { + return adcd.replaceAll("000(000)?$", ""); } else { - return userAdcd; + return adcd.substring(0, 6).replaceAll("00(00)?$", ""); } } } diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java b/shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java index fcb0b0e1..b68d369d 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java @@ -10,6 +10,7 @@ import com.kms.yxgh.common.job.JsonObjProxy; import com.shuili.common.core.redis.RedisCache; import com.shuili.common.utils.SpringUtils; import com.shuili.common.utils.StringUtils; +import com.shuili.common.utils.password.MD5Util; import lombok.Getter; import java.util.*; @@ -32,54 +33,41 @@ public enum DataSyncBasicEnum { ATT_DIKE_BASE("堤防基础信息", Constants.DF_MAP), ATT_DIKE_BSFST("堤防水文特征", Constants.DF_SWTZ_MAP), ATT_DISC_BASE("堤段基本信息", Constants.DF_DISC_MAP), + ATT_DIKE_DBIABT("堤防工程效益", Constants.DF_ID_MAP), + ATT_DIKE_DKHOS("堤防决溢记录", Constants.DF_DKHOS_MAP), ATT_WAGA_BASE("水闸基础信息", Constants.SZ_MAP), + ATT_WAGA_CODE("水闸工程代码", Constants.SZ_MAP), + ATT_WAGA_SLHYPR("水闸水文特征", Constants.SZ_ID_MAP), + ATT_WAGA_SLIGVL("水闸工程结构", Constants.SZ_ID_MAP), + ATT_WAGA_SLDNNT("水闸出险记录", Constants.SZ_DAWST_MAP), ATT_RV_BASE("河流基础信息", Constants.RV_MAP), ATT_DPDS_BASE("险工险峻信息", Constants.DPDS_MAP), ATT_BAS_BASE("流域基础信息", Constants.BAS_MAP), - ATT_ST_BASE("水文水工程监测站基础信息", Constants.ST_MAP, records -> { - Map> monMap = records.stream().map(JSONObject.class::cast) - .map(JsonObjProxy::new) - .collect(Collectors.toMap(obj -> obj.getString("stcd"), obj -> { - String monProj = obj.getString("monProj"); - if (StringUtils.isEmpty(monProj)) { - return Collections.emptyList(); - } - String stcd = obj.getString("stcd"); - return Arrays.stream(monProj.split(",")) - .map(proj -> { - BsSgcStMon monProjObj = new BsSgcStMon(); - monProjObj.setStcd(stcd); - monProjObj.setMonProj(proj); - return monProjObj; - }).collect(Collectors.toList()); - }, (a, b) -> a)); - BsSgcStMonService monMapper = SpringUtils.getBean(BsSgcStMonService.class); - monMapper.removeByIds(monMap.keySet()); - monMapper.saveBatch(monMap.values().stream().flatMap(Collection::stream) - .filter(Objects::nonNull) - .collect(Collectors.toList()), 1000); - }), - ATT_ST_MP("水工程监测测点信息", Constants.ST_MP_MAP), + ATT_ST_BASE("水文水工程监测站基础信息", Constants.ST_MAP, AfterHandler.ST_BASE), + SYS_XZQH("行政区划基础信息", Constants.XZQH_MAP), ; - private final String name; + //中文名称 + private final String zhName; + //字段映射处理器,默认自动映射,如:wageCode匹配waga_code、wagaCode、WAGA_CODE private final Map> valueHandler; + //数据同步后处理器 默认空实现 private final Consumer afterHandler; - DataSyncBasicEnum(String name, Map> valueHandler) { - this(name, valueHandler, a -> { + DataSyncBasicEnum(String zhName, Map> valueHandler) { + this(zhName, valueHandler, a -> { }); } - DataSyncBasicEnum(String name, Map> valueHandler, Consumer afterHandler) { - this.name = name; + DataSyncBasicEnum(String zhName, Map> valueHandler, Consumer afterHandler) { + this.zhName = zhName; this.valueHandler = valueHandler; this.afterHandler = afterHandler; } public TableInfo getTableInfo() { - return TableInfoHelper.getTableInfo(this.name().toLowerCase()); + return TableInfoHelper.getTableInfo(this.getTableName()); } public String getTableName() { @@ -88,10 +76,43 @@ public enum DataSyncBasicEnum { @Override public String toString() { - return "表[" + this.getName() + "](" + this.name + ")"; + return "表[" + this.getZhName() + "](" + this.zhName + ")"; + } + + public static class AfterHandler { + public static final Consumer ST_BASE = (records) -> { + Map> monMap = records.stream().map(JSONObject.class::cast) + .map(JsonObjProxy::new) + .collect(Collectors.toMap(obj -> obj.getString("stcd"), obj -> { + String monProj = obj.getString("monProj"); + if (StringUtils.isEmpty(monProj)) { + return Collections.emptyList(); + } + String stcd = obj.getString("stcd"); + return Arrays.stream(monProj.split(",")) + .map(proj -> { + BsSgcStMon monProjObj = new BsSgcStMon(); + monProjObj.setStcd(stcd); + monProjObj.setMonProj(proj); + return monProjObj; + }).collect(Collectors.toList()); + }, (a, b) -> a)); + BsSgcStMonService monMapper = SpringUtils.getBean(BsSgcStMonService.class); + monMapper.removeByIds(monMap.keySet()); + monMapper.saveBatch(monMap.values().stream().flatMap(Collection::stream) + .filter(Objects::nonNull) + .collect(Collectors.toList()), 1000); + }; } public static class Constants { + public static final Map> XZQH_MAP = new HashMap>() {{ + put("id", obj -> obj.getString("adcd")); + put("xzqhdm", obj -> obj.getString("adcd")); + put("parentid", obj -> obj.getString("adupcd")); + put("name", obj -> obj.getString("adnm")); + put("layer", obj -> obj.getInteger("adlevel")); + }}; public static final Map> SK_MAP = new HashMap>() {{ put("id", obj -> obj.getString("resCode")); @@ -109,6 +130,24 @@ public enum DataSyncBasicEnum { } }); }}; + public static final Map> DF_ID_MAP = new HashMap>() {{ + put("id", obj -> obj.getString("dikeCode")); + }}; + public static final Map> DF_DKHOS_MAP = new HashMap>() { + { + put("id", obj -> { + String wagaCode = obj.getString("dikeCode"); + Date fntm = obj.getDate("brspDateTime"); + String u; + if (fntm == null) { + u = wagaCode; + } else { + u = wagaCode + fntm.getTime(); + } + return MD5Util.MD5Encode(u, "utf-8"); + }); + } + }; public static final Map> DF_MAP = new HashMap>() {{ put("id", obj -> obj.getString("dikeCode")); put("adcd", obj -> { @@ -135,6 +174,27 @@ public enum DataSyncBasicEnum { put("dsflLev", obj -> obj.getString("dsfllv")); put("alwtLev", obj -> obj.getString("wrwl")); }}; + + public static final Map> SZ_ID_MAP = new HashMap>() { + { + put("id", obj -> obj.getString("wagaCode")); + } + }; + public static final Map> SZ_DAWST_MAP = new HashMap>() { + { + put("id", obj -> { + String wagaCode = obj.getString("wagaCode"); + Date fntm = obj.getDate("DNTM"); + String u; + if (fntm == null) { + u = wagaCode; + } else { + u = wagaCode + fntm.getTime(); + } + return MD5Util.MD5Encode(u, "utf-8"); + }); + } + }; public static final Map> SZ_MAP = new HashMap>() { { String cacheKey = RelCacheEnum.DWS_REL_WAGA_AD.getCacheKey(); diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/job/config/PoolConfig.java b/shuili-system/src/main/java/com/kms/yxgh/common/job/config/PoolConfig.java index 0d77f27d..4a2d97c6 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/job/config/PoolConfig.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/job/config/PoolConfig.java @@ -2,6 +2,9 @@ package com.kms.yxgh.common.job.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.context.event.ApplicationEventMulticaster; +import org.springframework.context.event.SimpleApplicationEventMulticaster; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.concurrent.Executor; @@ -10,6 +13,7 @@ import java.util.concurrent.Executor; public class PoolConfig { + @Primary @Bean(name = "syncDataPool") public Executor syncDataPool() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); @@ -20,4 +24,11 @@ public class PoolConfig { return executor; } + @Bean + public ApplicationEventMulticaster applicationEventMulticaster() { + SimpleApplicationEventMulticaster eventMulticaster = new SimpleApplicationEventMulticaster(); + eventMulticaster.setTaskExecutor(syncDataPool()); + return eventMulticaster; + } + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/AbstractSendMessageHandler.java b/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/AbstractSendMessageHandler.java index afae0f6c..83747662 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/AbstractSendMessageHandler.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/AbstractSendMessageHandler.java @@ -47,6 +47,7 @@ public abstract class AbstractSendMessageHandler implements JobHandler { @Override public JobTask runJob(JobTask jobTask) { + log.info("发送消息任务开始执行:{}", JSON.toJSONString(jobTask)); List messages = getMessagesAndUpdateJobTask(jobTask); sendMessage(messages); return jobTask; @@ -89,7 +90,7 @@ public abstract class AbstractSendMessageHandler implements JobHandler { private void sendMessage(List messages) { - if (StringUtils.isNotBlank(messageUrl)) { + if (StringUtils.isBlank(messageUrl)) { log.warn("消息发送地址为空"); return; } @@ -100,9 +101,10 @@ public abstract class AbstractSendMessageHandler implements JobHandler { HttpRequest httpRequest = HttpRequest.post(messageUrl).body(JSON.toJSONString(messages)); setHead(httpRequest); try (HttpResponse response = httpRequest.execute()) { - if (!response.isOk()) { + if (response.isOk()) { String body = response.body(); WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class); + log.debug("消息[{}]发送结果:{}", JSONObject.toJSONString(messages), body); isSuccess(waterResult); } else { log.error("消息发送失败"); diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/DfCheckingPlanSendMessageHandler.java b/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/DfCheckingPlanSendMessageHandler.java index 94fe723b..bdf106ca 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/DfCheckingPlanSendMessageHandler.java +++ b/shuili-system/src/main/java/com/kms/yxgh/common/job/handler/DfCheckingPlanSendMessageHandler.java @@ -2,6 +2,7 @@ package com.kms.yxgh.common.job.handler; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; import com.kms.yxgh.common.domain.JobTask; import com.kms.yxgh.common.job.JobStatus; import com.kms.yxgh.df.dto.DfCheckingPlanContentDto; @@ -40,6 +41,7 @@ public class DfCheckingPlanSendMessageHandler extends AbstractSendMessageHandler if (optional.isPresent()) { DfCheckingPlanContentDto content = optional.get(); if (CollectionUtil.isEmpty(content.getOperator())) { + log.info("操作者为空, jobTask:[{}],content:[{}]", JSON.toJSONString(jobTask), JSON.toJSONString(content)); return Collections.emptyList(); } Date nextTime = getNextTime(dto, jobTask.getNextStartTime()); @@ -48,6 +50,7 @@ public class DfCheckingPlanSendMessageHandler extends AbstractSendMessageHandler } else { jobTask.setStatus(JobStatus.FINISH.getCode()); } + log.info("组装数据, jobTask:[{}],content:[{}]", JSON.toJSONString(jobTask), JSON.toJSONString(content)); return content.getOperator().stream() .map(operator -> { MsgVo msgVo = new MsgVo(); diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java index 0305e0f0..844d8b66 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java @@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @ClassName: DfYqProjectQueDto * @Description: TODO @@ -23,4 +25,6 @@ public class DfYqStatisticsProjectQueDto { @ApiModelProperty(value = "行政区划") private String adcd; + private List dikeCodes; + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java index ee18eb93..93657fde 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java @@ -15,6 +15,7 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -91,6 +92,12 @@ public class DfProjectService { public IPage getYqProjectStatistics(SearchParam sp) { Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); DfYqStatisticsProjectQueDto dfProject = Optional.ofNullable(sp.getData()).orElseGet(DfYqStatisticsProjectQueDto::new); + List dikeCodes = Arrays.asList("HP0174419000000289", + "HP0174406000000022", + "HP0174406000000037", + "HP0174406000000109", + "HP0174413000000049"); + dfProject.setDikeCodes(dikeCodes); return dfProjectMapper.getDfYqStatisticsProjectListWithPage(page, dfProject); } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java index 19f9d188..79f1dd16 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java @@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * @ClassName: SzYqStatisticsProjectQueDto * @Description: TODO @@ -23,4 +25,6 @@ public class SzYqStatisticsProjectQueDto { @ApiModelProperty(value = "行政区划") private String adcd; + private List wagaCodes; + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java index 038d3c02..6a832582 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java @@ -18,6 +18,7 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @@ -104,6 +105,12 @@ public class SzProjectService { public IPage getYqProjectStatistics(SearchParam sp) { Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); SzYqStatisticsProjectQueDto szProject = Optional.ofNullable(sp.getData()).orElseGet(SzYqStatisticsProjectQueDto::new); + List wagaCodes = Arrays.asList( + "HP0074406070000026", + "HP0074406070000011", + "HP0074420000002626", + "HP0074413020000444"); + szProject.setWagaCodes(wagaCodes); return bsSgcSzSafeJbxxMapper.getSzYqProjectStatisticsWithPage(page, szProject); } diff --git a/shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml b/shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml index 22e53bab..0e705c12 100644 --- a/shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml +++ b/shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml @@ -155,7 +155,7 @@ id = #{id,jdbcType=VARCHAR} - update bs_sgc_qqjd_LAYER + update bs_sgc_qqjd_layer is_valid=0, @@ -168,7 +168,7 @@ SELECT - FROM bs_sgc_qqjd_LAYER a + FROM bs_sgc_qqjd_layer a WHERE a.is_valid=1 and a.id in @@ -200,7 +200,7 @@ SELECT ,IFNULL(orderNmTbl.orderNm,0) orderNm - FROM bs_sgc_qqjd_LAYER a + FROM bs_sgc_qqjd_layer a left join ( SELECT dl.layer_id, MAX(dl.order_nm) orderNm FROM bs_sgc_qqjd_dir_layer dl where 1=1 @@ -215,9 +215,9 @@ SELECT SYLAYER.LAYER_ID, count(SYLAYER.DIR_ID) num FROM - bs_sgc_qqjd_DIR_LAYER SYLAYER + bs_sgc_qqjd_dir_layer SYLAYER join bs_sgc_qqjd_layer al on SYLAYER.layer_id = al.id, - bs_sgc_qqjd_DIR SYDIR + bs_sgc_qqjd_dir SYDIR WHERE SYLAYER.is_valid = 1 AND