Browse Source

Merge branch 'refs/heads/release-sy-v1.0.0' into feature-sk

master_tdsql
hxh 4 months ago
parent
commit
77eac8a009
  1. 47
      shuili-admin/src/main/java/com/kms/web/controller/system/SysXzqhController.java
  2. 0
      shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java
  3. 25
      shuili-common/pom.xml
  4. 20
      shuili-system/src/main/java/com/kms/yg/cz/enmu/MonitorEnum.java
  5. 3
      shuili-system/src/main/java/com/kms/yg/cz/service/MonitorService.java
  6. 26
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java
  7. 4
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java
  8. 3
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java
  9. 6
      shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java
  10. 8
      shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSafeJbxxService.java
  11. 4
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java
  12. 24
      shuili-system/src/main/java/com/kms/yg/sz/domain/AttWagaCode.java
  13. 4
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzCxjl.java
  14. 7
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzGcjg.java
  15. 13
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSafeJbxx.java
  16. 10
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSwtz.java
  17. 11
      shuili-system/src/main/java/com/kms/yg/sz/mapper/AttWagaCodeMapper.java
  18. 9
      shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java
  19. 11
      shuili-system/src/main/java/com/kms/yg/sz/service/AttWagaCodeService.java
  20. 43
      shuili-system/src/main/java/com/kms/yxgh/common/controller/CommonApiController.java
  21. 24
      shuili-system/src/main/java/com/kms/yxgh/common/dto/IAdcd.java
  22. 122
      shuili-system/src/main/java/com/kms/yxgh/common/enums/DataSyncBasicEnum.java
  23. 11
      shuili-system/src/main/java/com/kms/yxgh/common/job/config/PoolConfig.java
  24. 6
      shuili-system/src/main/java/com/kms/yxgh/common/job/handler/AbstractSendMessageHandler.java
  25. 3
      shuili-system/src/main/java/com/kms/yxgh/common/job/handler/DfCheckingPlanSendMessageHandler.java
  26. 4
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfYqStatisticsProjectQueDto.java
  27. 7
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfProjectService.java
  28. 4
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzYqStatisticsProjectQueDto.java
  29. 7
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzProjectService.java
  30. 12
      shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml

47
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<SysXzqh> 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<SysXzqh> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("XZQHDM", substring);
queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm()))
.eq("LAYER", xzqh.getLayer());
List<SysXzqh> 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<SysXzqh> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("XZQHDM", substring);
queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm()))
.eq("LAYER", xzqh.getLayer() - 1);
List<SysXzqh> 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;
}
/**
* 查询行政区划列表
*/

0
shuili-admin/src/main/java/com/kms/web/synchronous/YgSynchronous.java

25
shuili-common/pom.xml

@ -13,6 +13,18 @@
<packaging>jar</packaging>
<description>boot 工程工具类 </description>
<properties>
<bitwalker.version>1.21</bitwalker.version>
<fastjson.version>1.2.79</fastjson.version>
<commons.io.version>2.11.0</commons.io.version>
<commons.fileupload.version>1.4</commons.fileupload.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
<servlet-api.version>4.0.1</servlet-api.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<!--csv文件操作-->
@ -47,6 +59,7 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet-api.version}</version>
</dependency>
<dependency>
@ -66,23 +79,27 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.13.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
@ -90,16 +107,22 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
</dependencies>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
</build>

20
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 {

3
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<String, String> paths = new HashMap<>();
public IPage<Object> pageQuery(MonitorQueDto queDto) {
public IPage<Object> pageQuery(MonitorQueDto queDto) {
MonitorEnum table = queDto.getMonitorType();
String path = paths.get(table.getTableName());
if (path == null) {

26
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;
}

4
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;
}

3
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;
}

6
shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfSafeJbxxMapper.java

@ -145,6 +145,12 @@ public interface BsSgcDfSafeJbxxMapper extends BaseMapper<BsSgcDfSafeJbxx> {
"<if test='dfProject.adcd != null and dfProject.adcd != \"\"'>",
"AND adcd like concat(#{dfProject.adcd}, '%') ",
"</if>",
"<if test='dfProject.dikeCodes != null and dfProject.dikeCodes.size() > 0'>",
"AND dike_code in ",
"<foreach collection='dfProject.dikeCodes' item='item' open='(' separator=',' close=')'>",
"#{item}",
"</foreach>",
"</if>",
"order by dike_name ",
"</script>"
})

8
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<BsSgcDfSafeJbxxMapper, B
HashMap<String, HashMap<String, String>> map = new HashMap<>();
for (int i = 0; i < pieDtos.size(); i++) {
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put(pieDtos.get(i).getStatus(), pieDtos.get(i).getNum());
@ -112,6 +119,7 @@ public class BsSgcDfSafeJbxxService extends BaseService<BsSgcDfSafeJbxxMapper, B
}
return map;
}

4
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java

@ -96,7 +96,9 @@ public class BsSgcSzSafeJbxxController extends BaseController {
.eq(data.getStatus() != null, BsSgcSzSafeJbxx::getStatus, data.getStatus())
.likeRight(data.getAdcd() != null, BsSgcSzSafeJbxx::getAdcd, sysXzqhService.getSubString(data.getAdcd()))
.isNull(BsSgcSzSafeJbxx::getExprDate)
.orderByDesc(BsSgcSzSafeJbxx::getCreateTime));
// .orderByDesc(BsSgcSzSafeJbxx::getCreateTime)
.orderByAsc(BsSgcSzSafeJbxx::getEngScal));
return page;

24
shuili-system/src/main/java/com/kms/yg/sz/domain/AttWagaCode.java

@ -0,0 +1,24 @@
package com.kms.yg.sz.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
@Data
@TableName("att_waga_code")
public class AttWagaCode extends BaseEntity {
private String wagaCode;
private String wagaCode2;
private String wagaCode3;
private String note;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateDate;
}

4
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzCxjl.java

@ -99,4 +99,8 @@ public class BsSgcSzCxjl extends BaseEntity
@ApiModelProperty("记录失效时间")
private String relation;
private String wagaDnstgr;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date dntm;
}

7
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzGcjg.java

@ -232,4 +232,11 @@ public class BsSgcSzGcjg extends BaseEntity {
@Excel(name = "记录失效时间")
@ApiModelProperty("记录失效时间")
private String relation;
private Integer gaorNum;
private Integer aGaorNum;
private String elevSys;
private String elevSysConver;
private String hset;
private Integer hsgram;
}

13
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSafeJbxx.java

@ -297,4 +297,17 @@ public class BsSgcSzSafeJbxx extends BaseEntity implements IAdcd {
@TableField(value = "EXPR_DATE", updateStrategy= FieldStrategy.IGNORED)
private Date exprDate;
private String wagaCenLat;
private String ifCeb;
private String ifHyj;
private String ifGse;
private String ifSge;
private String freqin;
private String wagaOv;
@JsonFormat(pattern = "yyyy-MM-dd")
private Date checkDate;
}

10
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSwtz.java

@ -1,5 +1,6 @@
package com.kms.yg.sz.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.shuili.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -8,6 +9,7 @@ import com.shuili.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
/**
@ -138,4 +140,12 @@ public class BsSgcSzSwtz extends BaseEntity
@ApiModelProperty("水闸id")
private String wagaCode;
private String normWatLev;
private String dslklv;
private String dsfllv;
private String chhllv;
private String note;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
// private Date updateDate;
}

11
shuili-system/src/main/java/com/kms/yg/sz/mapper/AttWagaCodeMapper.java

@ -0,0 +1,11 @@
package com.kms.yg.sz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yg.sz.domain.AttWagaCode;
import com.kms.yg.sz.domain.BsSgcSzAqjc;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Repository
public interface AttWagaCodeMapper extends BaseMapper<AttWagaCode> {
}

9
shuili-system/src/main/java/com/kms/yg/sz/mapper/BsSgcSzSafeJbxxMapper.java

@ -111,6 +111,15 @@ public interface BsSgcSzSafeJbxxMapper extends BaseMapper<BsSgcSzSafeJbxx> {
"<if test='szProject.adcd != null and szProject.adcd != \"\"'>" +
"AND adcd like concat(#{szProject.adcd}, '%') " +
"</if>" +
"<if test='szProject.riverLocation != null and szProject.riverLocation != \"\"'>" +
"AND river_location = #{szProject.riverLocation} " +
"</if>" +
"<if test='szProject.wagaCodes != null and szProject.wagaCodes.size() > 0'>" +
"AND waga_code in " +
"<foreach collection='szProject.wagaCodes' item='item' open='(' separator=',' close=')'>" +
"#{item}" +
"</foreach>" +
"</if>" +
"</script>")
@Results({
@Result(property = "wagaCode", column = "waga_code"),

11
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<AttWagaCodeMapper, AttWagaCode> {
}

43
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<List<SysXzqh>> getGuangDong() {
List<SysXzqh> list = sysXzqhService.list(Wrappers.lambdaQuery(SysXzqh.class)
.likeRight(SysXzqh::getXzqhdm, "44")
.eq(SysXzqh::getLayer, 2));
return Response.ok(list);
public Response<List<SysXzqh>> getGuangDong(@RequestParam(value = "xzqhdm", required = false) String xzqhdm) {
if (StringUtils.isEmpty(xzqhdm)) {
QueryWrapper<SysXzqh> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("XZQHDM", "44")
.in("LAYER", 3);
List<SysXzqh> list = sysXzqhService.list(queryWrapper);
return Response.ok(list);
} else {
SysXzqh xzqh = sysXzqhService.getById(xzqhdm);
QueryWrapper<SysXzqh> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("XZQHDM", getQuery(xzqh.getXzqhdm()))
.eq("LAYER", xzqh.getLayer() - 1);
List<SysXzqh> 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("根据字典类型查询字典数据信息")

24
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)?$", "");
}
}
}

122
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<String, List<BsSgcStMon>> 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<String, Function<JsonObjProxy, Object>> valueHandler;
//数据同步后处理器 默认空实现
private final Consumer<JSONArray> afterHandler;
DataSyncBasicEnum(String name, Map<String, Function<JsonObjProxy, Object>> valueHandler) {
this(name, valueHandler, a -> {
DataSyncBasicEnum(String zhName, Map<String, Function<JsonObjProxy, Object>> valueHandler) {
this(zhName, valueHandler, a -> {
});
}
DataSyncBasicEnum(String name, Map<String, Function<JsonObjProxy, Object>> valueHandler, Consumer<JSONArray> afterHandler) {
this.name = name;
DataSyncBasicEnum(String zhName, Map<String, Function<JsonObjProxy, Object>> valueHandler, Consumer<JSONArray> 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<JSONArray> ST_BASE = (records) -> {
Map<String, List<BsSgcStMon>> 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<String, Function<JsonObjProxy, Object>> XZQH_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {{
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<String, Function<JsonObjProxy, Object>> SK_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {{
put("id", obj -> obj.getString("resCode"));
@ -109,6 +130,24 @@ public enum DataSyncBasicEnum {
}
});
}};
public static final Map<String, Function<JsonObjProxy, Object>> DF_ID_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {{
put("id", obj -> obj.getString("dikeCode"));
}};
public static final Map<String, Function<JsonObjProxy, Object>> DF_DKHOS_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {
{
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<String, Function<JsonObjProxy, Object>> DF_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {{
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<String, Function<JsonObjProxy, Object>> SZ_ID_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {
{
put("id", obj -> obj.getString("wagaCode"));
}
};
public static final Map<String, Function<JsonObjProxy, Object>> SZ_DAWST_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {
{
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<String, Function<JsonObjProxy, Object>> SZ_MAP = new HashMap<String, Function<JsonObjProxy, Object>>() {
{
String cacheKey = RelCacheEnum.DWS_REL_WAGA_AD.getCacheKey();

11
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;
}
}

6
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<MsgVo> messages = getMessagesAndUpdateJobTask(jobTask);
sendMessage(messages);
return jobTask;
@ -89,7 +90,7 @@ public abstract class AbstractSendMessageHandler implements JobHandler {
private void sendMessage(List<MsgVo> 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("消息发送失败");

3
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();

4
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<String> dikeCodes;
}

7
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<DfYqStatisticsProjectListDto> getYqProjectStatistics(SearchParam<DfYqStatisticsProjectQueDto> sp) {
Page<DfYqStatisticsProjectListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
DfYqStatisticsProjectQueDto dfProject = Optional.ofNullable(sp.getData()).orElseGet(DfYqStatisticsProjectQueDto::new);
List<String> dikeCodes = Arrays.asList("HP0174419000000289",
"HP0174406000000022",
"HP0174406000000037",
"HP0174406000000109",
"HP0174413000000049");
dfProject.setDikeCodes(dikeCodes);
return dfProjectMapper.getDfYqStatisticsProjectListWithPage(page, dfProject);
}

4
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<String> wagaCodes;
}

7
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<SzYqStatisticsProjectListDto> getYqProjectStatistics(SearchParam<SzYqStatisticsProjectQueDto> sp) {
Page<SzYqStatisticsProjectListDto> page = new Page<>(sp.getPageNum(), sp.getPageSize());
SzYqStatisticsProjectQueDto szProject = Optional.ofNullable(sp.getData()).orElseGet(SzYqStatisticsProjectQueDto::new);
List<String> wagaCodes = Arrays.asList(
"HP0074406070000026",
"HP0074406070000011",
"HP0074420000002626",
"HP0074413020000444");
szProject.setWagaCodes(wagaCodes);
return bsSgcSzSafeJbxxMapper.getSzYqProjectStatisticsWithPage(page, szProject);
}

12
shuili-system/src/main/resources/mapper/yg/znjg/SyLayerMapper.xml

@ -155,7 +155,7 @@
id = #{id,jdbcType=VARCHAR}
</update>
<delete id="delete">
update bs_sgc_qqjd_LAYER
update bs_sgc_qqjd_layer
<set>
is_valid=0,
</set>
@ -168,7 +168,7 @@
</delete>
<select id="selectByLayerName" resultType="java.lang.Long">
SELECT COUNT(*) AS CNT FROM bs_sgc_qqjd_LAYER
SELECT COUNT(*) AS CNT FROM bs_sgc_qqjd_layer
WHERE
is_valid = 1
AND SERVICE_NAME=#{serviceName}
@ -187,7 +187,7 @@
<select id="findLayerByLayerIds" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM bs_sgc_qqjd_LAYER a
FROM bs_sgc_qqjd_layer a
WHERE a.is_valid=1
and a.id in
<foreach collection="list" close=")" separator="," index="index" open="(" item="item">
@ -200,7 +200,7 @@
SELECT
<include refid="Base_Column_List_Query"/>
,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

Loading…
Cancel
Save