Browse Source

Merge branch 'master' into release-sy-v2.0.0

master_tdsql
hxh 1 year ago
parent
commit
85cba969e8
  1. 12
      shuili-admin/pom.xml
  2. 2
      shuili-admin/src/main/java/com/kms/TianhuiApplication.java
  3. 265
      shuili-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java
  4. 242
      shuili-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java
  5. 11
      shuili-admin/src/main/java/com/kms/web/utils/CallBackRequest.java
  6. 19
      shuili-admin/src/main/java/com/kms/web/utils/CallType.java
  7. 154
      shuili-admin/src/main/java/com/kms/web/utils/SHACoder.java
  8. 291
      shuili-admin/src/main/java/com/kms/web/utils/WaterRequestUtil.java
  9. 27
      shuili-admin/src/main/java/com/kms/web/utils/WaterResult.java
  10. 215
      shuili-admin/src/main/java/com/kms/web/utils/scheduled/WaterScheduled.java
  11. 25
      shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleMenu.java
  12. 387
      shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleOrg.java
  13. 25
      shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleRole.java
  14. 26
      shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleUser.java
  15. 49
      shuili-admin/src/main/resources/application-test.yml
  16. 3
      shuili-admin/src/main/resources/application.yml
  17. 7
      shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysDept.java
  18. 11
      shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysRole.java
  19. 8
      shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysUser.java
  20. 10
      shuili-system/src/main/java/com/kms/system/service/SysUserService.java
  21. 27
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfDfhdmController.java
  22. 18
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfGcxyController.java
  23. 32
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfHdmtzzController.java
  24. 31
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfJyjlController.java
  25. 53
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java
  26. 18
      shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSwtzController.java
  27. 141
      shuili-system/src/main/java/com/kms/yg/df/controller/DfContrastController.java
  28. 2
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfDfhdm.java
  29. 2
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java
  30. 2
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfHdmtzz.java
  31. 2
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java
  32. 4
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java
  33. 127
      shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSwtz.java
  34. 26
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzCxjlController.java
  35. 28
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzGcjgController.java
  36. 27
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzGctxController.java
  37. 32
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java
  38. 17
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSjcsController.java
  39. 17
      shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzXlnlController.java
  40. 143
      shuili-system/src/main/java/com/kms/yg/sz/controller/SzContrastController.java
  41. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzCxjl.java
  42. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzGcjg.java
  43. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzGctx.java
  44. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSafeJbxx.java
  45. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzSwtz.java
  46. 2
      shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzXlnl.java
  47. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfAqrwMapper.xml
  48. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzhjsMapper.xml
  49. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfDaglMapper.xml
  50. 4
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfFzrMapper.xml
  51. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfJfglMapper.xml
  52. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfQqhjMapper.xml
  53. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfSafeJbxxMapper.xml
  54. 2
      shuili-system/src/main/resources/mapper/yg/df/BsSgcDfYhxxMapper.xml
  55. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzAqrwMapper.xml
  56. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzBzhjsMapper.xml
  57. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzDaglMapper.xml
  58. 4
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzFzrMapper.xml
  59. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzJfglMapper.xml
  60. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzQqhjMapper.xml
  61. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzSafeJbxxMapper.xml
  62. 2
      shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzYhxxMapper.xml
  63. 2
      sql/zj/v4.0.0/增量更新v2/v3.sql
  64. 130
      sql/zj/v4.0.0/增量更新v3/v3.sql
  65. 19
      sql/zj/v5.0.0/增量更新/v1.sql

12
shuili-admin/pom.xml

@ -27,6 +27,11 @@
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</dependency>
<!--<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
@ -67,6 +72,11 @@
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.65</version>
</dependency>
</dependencies>
@ -125,4 +135,4 @@
<finalName>${project.artifactId}</finalName>
</build>
</project>
</project>

2
shuili-admin/src/main/java/com/kms/TianhuiApplication.java

@ -7,6 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
@ -14,6 +15,7 @@ import org.springframework.context.annotation.ComponentScan;
*
* @author kms
*/
@EnableScheduling
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@ComponentScan(basePackages = {"com.shuili.*","com.kms.*"})
@MapperScan(basePackages = {"com.shuili.*","com.kms.*"})

265
shuili-admin/src/main/java/com/kms/web/controller/system/CmsCallBackController.java

@ -0,0 +1,265 @@
package com.kms.web.controller.system;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.system.domain.SysUserRole;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserRoleService;
import com.kms.system.service.SysUserService;
import com.kms.web.utils.CallBackRequest;
import com.kms.web.utils.CallType;
import com.kms.web.utils.WaterResult;
import com.kms.web.utils.singleDomain.SingleOrg;
import com.kms.web.utils.singleDomain.SingleRole;
import com.kms.web.utils.singleDomain.SingleUser;
import com.shuili.common.core.domain.entity.SysDept;
import com.shuili.common.core.domain.entity.SysRole;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.exception.CustomException;
import com.shuili.common.utils.password.PasswordUtil;
import com.shuili.common.utils.uuid.IdUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RequestMapping("/callBack")
@Controller
public class CmsCallBackController {
@Autowired
SysUserService userService;
@Autowired
SysDeptService deptService;
@Autowired
SysRoleService roleService;
@Autowired
SysUserRoleService userRoleService;
private static final Logger log = LoggerFactory.getLogger(CmsCallBackController.class);
@PostMapping("/notify")
public WaterResult callBack(@RequestBody CallBackRequest callBackRequest){
log.info("--------开启同步请求--------------,时间:{}",new Date());
log.info("发起同步请求的参数为:{}",callBackRequest);
String type = callBackRequest.getType();
String content = callBackRequest.getContent();
if(type.equals(CallType.USER_ADD)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser user = userService.getOne(query,false);
if(user!=null){
throw new CustomException("该用户已存在,无法添加");
}
user = new SysUser();
user.preInsert();
user.setCreateUid("1");
user.setUpdateUid("1");
user.setRemark("门户定时任务数据添加");
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
SingleOrg org = singleUser.getOrg();
if(org!=null){
user.setDeptId(org.getId());
String orgType = org.getType();
if(orgType.equals("GA")){ //政务
user.setUserType("00");
}else if(orgType.equals("SVA")){ //服务
user.setUserType("01");
}
}
if(CollectionUtil.isNotEmpty(singleUser.getRoleList())) {
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
}
userService.singleInsertUser(user);
}else if(type.equals(CallType.USER_UPDATE)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser user = userService.getOne(query,false);
if(user==null){
throw new CustomException("该用户不存在,无法修改");
}
SingleOrg org = singleUser.getOrg();
if(org!=null){
user.setDeptId(org.getId());
String orgType = org.getType();
if(orgType.equals("GA")){ //政务
user.setUserType("00");
}else if(orgType.equals("SVA")){ //服务
user.setUserType("01");
}
}
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
if(CollectionUtil.isNotEmpty(singleUser.getRoleList())) {
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
}
userService.updateUser(user);
}else if(type.equals(CallType.USER_DELETE)){
SingleUser singleUser = JSONObject.parseObject(content, SingleUser.class);
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",singleUser.getId());
SysUser one = userService.getOne(query, false);
if(one==null){
throw new CustomException("该用户不存在,无法删除");
}
userService.deleteUserById(one.getId());
}else if(type.equals(CallType.ORG_ADD)){
SingleOrg singleOrg = JSONObject.parseObject(content, SingleOrg.class);
SysDept dept = deptService.getById(singleOrg.getId());
if(dept==null) {
dept = new SysDept();
dept.setIsDownload("0");
dept.setIsComment("0");
dept.setDelFlag("0");
dept.setCreateTime(new Date());
BeanUtils.copyProperties(singleOrg,dept);
dept.setXzqhId(singleOrg.getArea());
dept.setXzqhName(singleOrg.getAreaText());
dept.setSingleCode(singleOrg.getCode());
dept.setSingleSeq(singleOrg.getSeq());
dept.setSingleType(singleOrg.getType());
dept.setDeptName(singleOrg.getName());
dept.setParentId(singleOrg.getParent());
dept.setLeader(singleOrg.getDutyPerson());
dept.setName(singleOrg.getName());
dept.setAdminName(singleOrg.getName());
dept.setUpdateTime(new Date());
if(singleOrg.getStatus()==null||singleOrg.getStatus().equals("1")){
dept.setStatus("0");
}else {
dept.setStatus("1");
}
deptService.save(dept);
}
}else if(type.equals(CallType.ORG_UPDATE)){
SingleOrg singleOrg = JSONObject.parseObject(content, SingleOrg.class);
SysDept dept = deptService.getById(singleOrg.getId());
if(dept!=null) {
BeanUtils.copyProperties(singleOrg, dept);
dept.setXzqhId(singleOrg.getArea());
dept.setXzqhName(singleOrg.getAreaText());
dept.setSingleCode(singleOrg.getCode());
dept.setSingleSeq(singleOrg.getSeq());
dept.setSingleType(singleOrg.getType());
dept.setDeptName(singleOrg.getName());
dept.setParentId(singleOrg.getParent());
dept.setLeader(singleOrg.getDutyPerson());
dept.setName(singleOrg.getName());
dept.setAdminName(singleOrg.getName());
dept.setUpdateTime(new Date());
if(singleOrg.getStatus()==null||singleOrg.getStatus().equals("1")){
dept.setStatus("0");
}else {
dept.setStatus("1");
}
deptService.updateById(dept);
}
}else if(type.equals(CallType.ROLE_ADD)){
log.info("执行消息:角色添加,参数为:"+content);
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
SysRole sysRole = roleService.getById(singleRole.getId());
if(sysRole==null){
sysRole = new SysRole();
sysRole.setStatus("0");
if(sysRole.getStatus()==null||sysRole.getStatus()=="0"){
sysRole.setStatus("1");
}
sysRole.setDelFlag("0");
sysRole.setRoleSort("0");
sysRole.setCreateTime(new Date());
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.save(sysRole);
}
}else if(type.equals(CallType.ROLE_UPDATE)){
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
SysRole sysRole = roleService.getById(singleRole.getId());
if(sysRole!=null){
if(sysRole.getStatus()==null||sysRole.getStatus()=="0"){
sysRole.setStatus("1");
}else{
sysRole.setStatus("0");
}
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.updateById(sysRole);
}
}else if(type.equals(CallType.ROLE_DELETE)){
SingleRole singleRole = JSONObject.parseObject(content, SingleRole.class);
roleService.deleteRoleById(singleRole.getId());
}else if(type.equals(CallType.ROLE_USER_BIND)){ //绑定
JSONObject jsonObject = JSONObject.parseObject(content);
String roleId = jsonObject.getString("roleId");
JSONArray userIds = jsonObject.getJSONArray("userIds");
List<String> list = userIds.toJavaList(String.class);
for (String id : list) {
SysUserRole sysUserRole = new SysUserRole();
sysUserRole.preInsert();
sysUserRole.setUserId(id);
sysUserRole.setRoleId(roleId);
userRoleService.save(sysUserRole);
}
}else if(type.equals(CallType.ROLE_USER_UNBIND)) { //解绑
JSONObject jsonObject = JSONObject.parseObject(content);
String roleId = jsonObject.getString("roleId");
JSONArray userIds = jsonObject.getJSONArray("userIds");
List<String> list = userIds.toJavaList(String.class);
QueryWrapper<SysUserRole> query = Wrappers.query();
query.eq("role_id",roleId).in("user_id",list);
userRoleService.remove(query);
}
log.info("--------同步请求结束--------------,时间:{}",new Date());
return WaterResult.success();
}
}

242
shuili-admin/src/main/java/com/kms/web/controller/system/SysLoginController.java

@ -2,16 +2,28 @@ package com.kms.web.controller.system;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.system.domain.SysRoleMenu;
import com.kms.system.service.SysRoleMenuService;
import com.kms.system.service.SysRoleService;
import com.kms.web.utils.WaterRequestUtil;
import com.kms.web.utils.WaterResult;
import com.kms.web.utils.singleDomain.SingleMenu;
import com.shuili.common.constant.Constants;
import com.shuili.common.constant.YesOrNo;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
import com.shuili.common.core.domain.entity.SysMenu;
import com.shuili.common.core.domain.entity.SysRole;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.core.domain.model.LoginBody;
import com.shuili.common.core.redis.RedisCache;
import com.shuili.common.enums.UserStatus;
import com.shuili.common.exception.BaseException;
import com.shuili.common.exception.CustomException;
import com.shuili.common.mybaitsplus.BeanToWrapper;
import com.shuili.common.utils.StringUtils;
import com.shuili.common.utils.password.PasswordUtil;
@ -25,13 +37,22 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;
/**
* 登录验证
@ -52,6 +73,10 @@ public class SysLoginController extends BaseController {
private SysUserService userService;
@Autowired
private RedisCache redisCache;
@Autowired
WaterRequestUtil waterRequestUtil;
@Value("${water.redirect}")
private String redirect;
@PostMapping("/login")
@ApiOperation("登录接口")
@ -144,4 +169,213 @@ public class SysLoginController extends BaseController {
return AjaxResult.success(menuService.buildMenus(menus));
}
/**
* 门户单点认证登录
* @return
*/
@GetMapping("/signOnLogin")
public ModelAndView signOnLogin(HttpServletRequest request,
HttpServletResponse response,
@RequestParam(name = "page",required = false) String page,
@RequestParam(name = "token")String token) throws IOException {
WaterResult waterResult;
CountDownLatch countDownLatch = new CountDownLatch(1);
try {
waterResult = waterRequestUtil.authUser(token);
}catch (Exception e){
log.error(e.getMessage());
throw new CustomException("登录失败");
}
//异步执行菜单同步
executorService.submit(new RolePerms(token,waterResult,countDownLatch));
JSONObject jsonObject = JSONObject.parseObject(waterResult.getData());
String user = jsonObject.getString("user");
JSONObject userJsonObject = JSONObject.parseObject(user);
String uid = userJsonObject.getString("id");
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",uid);
List<SysUser> list = userService.list(query);
if(CollectionUtil.isEmpty(list)){
throw new CustomException("数据异常,登录失败");
}
AjaxResult ajax = AjaxResult.success();
SysUser sysUser = list.get(0);
if (UserStatus.DELETED.getCode().equals(sysUser.getDelFlag())) {
log.info(" :{} 已被删除.", sysUser.getUserName());
AsyncManager.me().execute(AsyncFactory.recordLogininfor(sysUser.getUserName(), Constants.LOGIN_FAIL, "账户已删除"));
throw new BaseException("对不起,您的账号:" + sysUser.getUserName() + " 已被删除");
} else if (UserStatus.DISABLE.getCode().equals(sysUser.getStatus())) {
log.info("登录用户:{} 已被停用.", sysUser.getUserName());
AsyncManager.me().execute(AsyncFactory.recordLogininfor(sysUser.getUserName(), Constants.LOGIN_FAIL, "账户已停用"));
throw new BaseException("对不起,您的账号:" + sysUser.getUserName() + " 已停用");
}
AsyncManager.me().execute(AsyncFactory.recordLogininfor(sysUser.getUserName(), Constants.LOGIN_SUCCESS, "登录成功"));
StpUtil.login(sysUser.getId());
StpUtil.getSession().set("jianwei-user",sysUser);
String tokenValue = StpUtil.getTokenValue();
userService.updateWithReids(sysUser);
ajax.put("token",tokenValue);
ajax.put("authorization",token);
try {
countDownLatch.await();
} catch (InterruptedException e) {
e.printStackTrace();
}
// if(StringUtils.isEmpty(page)){
// List<SysMenu> menus = menuService.selectMenuTreeByUserId(sysUser.getId());
// List<RouterVo> routerVos = menuService.buildMenus(menus);
// StringBuffer stringBuffer = new StringBuffer();
// for (RouterVo routerVo : routerVos) {
// stringBuffer.append("/"+routerVo.getPath());
// List<RouterVo> children = routerVo.getChildren();
// if(CollectionUtil.isEmpty(children)){
// continue;
// }else {
// RouterVo vo = children.get(0);
// List<RouterVo> childrenTwo = vo.getChildren();
// if(CollectionUtil.isEmpty(childrenTwo)){
//
// }
// }
// }
// }
RedirectView redirectView = new RedirectView(redirect+"?token="+tokenValue+"&page="+page);
ModelAndView modelAndView = new ModelAndView(redirectView);
return modelAndView;
}
@Autowired
SysRoleService sysRoleService;
@Autowired
SysRoleMenuService sysRoleMenuService;
@Autowired
SysMenuService sysMenuService;
ExecutorService executorService = Executors.newFixedThreadPool(5);
/**
* 根据用户token获取资源权限
* @param
* @return
*/
// @GetMapping("/getSingleRotes/{token}")
// public AjaxResult getSingleRotes(@PathVariable String token){
// WaterResult waterResult = waterRequestUtil.authUser(token);
// String data = waterResult.getData();
// JSONObject jsonObject = JSONObject.parseObject(data);
// List<String> functionPerms = jsonObject.getJSONArray("functionPerms").toJavaList(String.class);
// List<String> roles = jsonObject.getJSONArray("roles").toJavaList(String.class);
// QueryWrapper<SysRole> query = Wrappers.query();
// query.in("role_key",roles);
// List<SysRole> roleList = sysRoleService.list(query);
// QueryWrapper<SysMenu> menuQueryWrapper = Wrappers.query();
// menuQueryWrapper.in("perms",functionPerms);
// List<SysMenu> menus = sysMenuService.list(menuQueryWrapper);
//
// return AjaxResult.success(menuService.buildMenus(menus));
// }
class RolePerms implements Runnable{
public String token;
public WaterResult waterResult;
public CountDownLatch countDownLatch;
public RolePerms(String token,WaterResult waterResult,CountDownLatch countDownLatch){
this.token = token;
this.waterResult = waterResult;
this.countDownLatch = countDownLatch;
}
@Override
@Transactional
public void run() {
try {
WaterResult result = waterRequestUtil.getUserResource(token);
List<SingleMenu> singleMenus = JSONObject.parseArray(result.getData(), SingleMenu.class);
List<SingleMenu> singleAllMenus = new ArrayList<>();
setChildren(singleMenus,singleAllMenus);
String data = waterResult.getData();
JSONObject datajson = JSONObject.parseObject(data);
List<String> functionPerms = datajson.getJSONArray("functionPerms").toJavaList(String.class);
List<String> collect = singleAllMenus.stream().map(singleMenu -> singleMenu.getPermissionCode()).collect(Collectors.toList());
collect.addAll(functionPerms);
QueryWrapper<SysMenu> menuQueryWrapper = Wrappers.query();
menuQueryWrapper.in("perms",collect);
List<SysMenu> menus = sysMenuService.list(menuQueryWrapper);
List<String> menuids = menus.stream().map(menu -> {
return menu.getId();
}).collect(Collectors.toList());
// WaterResult waterResult = waterRequestUtil.authUser(token);
List<String> roles = datajson.getJSONArray("roles").toJavaList(String.class);
log.info("获取的权限有:"+roles);
if(CollectionUtil.isNotEmpty(roles)) {
QueryWrapper<SysRole> sysRoleQueryWrapper = Wrappers.query();
sysRoleQueryWrapper.in("role_key", roles);
List<SysRole> roleList = sysRoleService.list(sysRoleQueryWrapper);
if (CollectionUtil.isNotEmpty(roleList)) {
List<String> rids = roleList.stream().map(role -> role.getId()).collect(Collectors.toList());
for (SysRole sysRole : roleList) {
QueryWrapper<SysRoleMenu> sysRoleMenuQueryWrapper = Wrappers.query();
if (CollectionUtil.isNotEmpty(rids)) {
sysRoleMenuQueryWrapper.eq("role_id", sysRole.getId());
List<SysRoleMenu> list = sysRoleMenuService.list(sysRoleMenuQueryWrapper);
List<String> menutwoids = list.stream().map(menu -> {
return menu.getMenuId();
}).collect(Collectors.toList());
List<String> disjunction = (List<String>) CollectionUtil.disjunction(menuids, menutwoids);
menuids.removeAll(menutwoids);
if(CollectionUtil.isNotEmpty(disjunction)) { //存在不存在的按钮 进行删除
sysRoleMenuQueryWrapper.in("menu_id", disjunction);
sysRoleMenuService.remove(sysRoleMenuQueryWrapper);
}
}
for (String menu : menuids) {
SysRoleMenu sysRoleMenu = new SysRoleMenu();
sysRoleMenu.preInsert();
sysRoleMenu.setRoleId(sysRole.getId());
sysRoleMenu.setMenuId(menu);
sysRoleMenuService.save(sysRoleMenu);
}
}
}
}
}catch (Exception e){
log.error("同步菜单权限失败:"+e.getMessage());
throw e;
}finally {
countDownLatch.countDown();
}
}
}
public static void setChildren(List<SingleMenu> singleMenus,List<SingleMenu> singleAllMenus){
if(CollectionUtil.isNotEmpty(singleMenus)) {
for (SingleMenu singleMenu :
singleMenus) { //剔除掉不符合的
if(singleMenu.getVisible()!=null&&singleMenu.getStatus()!=null) {
if (singleMenu.getStatus().equals("1")) {
singleAllMenus.add(singleMenu);
}
}
if (CollectionUtil.isNotEmpty(singleMenu.getChildren())) {
List<SingleMenu> children = singleMenu.getChildren();
for (SingleMenu child : children) {
if(singleMenu.getVisible()!=null&&singleMenu.getStatus()!=null) {
if (singleMenu.getStatus().equals("1")) {
singleAllMenus.add(child);
}
}
if(CollectionUtil.isNotEmpty(child.getChildren())) {
setChildren(child.getChildren(),singleAllMenus);
}
}
}
}
}
}
}

11
shuili-admin/src/main/java/com/kms/web/utils/CallBackRequest.java

@ -0,0 +1,11 @@
package com.kms.web.utils;
import lombok.Data;
@Data
public class CallBackRequest {
private String type;
private String content;
}

19
shuili-admin/src/main/java/com/kms/web/utils/CallType.java

@ -0,0 +1,19 @@
package com.kms.web.utils;
import lombok.Data;
@Data
public class CallType {
public final static String USER_ADD = "USER_ADD";
public final static String USER_UPDATE = "USER_UPDATE";
public static String USER_DELETE = "USER_DELETE";
public static String ORG_UPDATE = "ORG_UPDATE";
public static String ORG_ADD = "ORG_ADD";
public static String ROLE_ADD = "ROLE_ADD";
public static String ROLE_UPDATE = "ROLE_UPDATE";
public static String ROLE_DELETE = "ROLE_DELETE";
public static String ROLE_USER_BIND = "ROLE_USER_BIND";//用户角色关系绑定
public static String ROLE_USER_UNBIND = "ROLE_USER_UNBIND";//用户角色关系解绑
}

154
shuili-admin/src/main/java/com/kms/web/utils/SHACoder.java

@ -0,0 +1,154 @@
package com.kms.web.utils;
import org.apache.commons.codec.digest.DigestUtils;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.util.encoders.Hex;
import java.security.MessageDigest;
import java.security.Security;
public abstract class SHACoder {
/**
* SHA加密
*
* @param data 待加密数据
* @return byte[] 消息摘要
* @throws Exception
*/
public static byte[] encodeSHA(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha(data);
}
/**
* SHAHex加密
*
* @param data 待加密数据
* @return String 消息摘要
* @throws Exception
*/
public static String encodeSHAHex(String data) throws Exception {
// 执行消息摘要
return DigestUtils.shaHex(data);
}
/**
* SHA-224加密
*
* @param data
* 待加密数据
* @return byte[] 消息摘要
*
* @throws Exception
*/
public static byte[] encodeSHA224(byte[] data) throws Exception {
// 加入BouncyCastleProvider支持
Security.addProvider(new BouncyCastleProvider());
// 初始化MessageDigest
MessageDigest md = MessageDigest.getInstance("SHA-224");
// 执行消息摘要
return md.digest(data);
}
/**
* SHA-224加密
*
* @param data
* 待加密数据
* @return byte[] 消息摘要
* @throws Exception
*/
public static String encodeSHA224Hex(byte[] data) throws Exception {
// 执行消息摘要
byte[] b = encodeSHA224(data);
// 做十六进制编码处理
return new String(Hex.encode(b));
}
/**
* SHA256加密
*
* @param data 待加密数据
* @return byte[] 消息摘要
* @throws Exception
*/
public static byte[] encodeSHA256(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha256(data);
}
/**
* SHA256Hex加密
*
* @param data 待加密数据
* @return String 消息摘要
* @throws Exception
*/
public static String encodeSHA256Hex(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha256Hex(data);
}
/**
* SHA384加密
*
* @param data 待加密数据
* @return byte[] 消息摘要
* @throws Exception
*/
public static byte[] encodeSHA384(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha384(data);
}
/**
* SHA384Hex加密
*
* @param data 待加密数据
* @return String 消息摘要
* @throws Exception
*/
public static String encodeSHA384Hex(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha384Hex(data);
}
/**
* SHA512Hex加密
*
* @param data 待加密数据
* @return byte[] 消息摘要
* @throws Exception
*/
public static byte[] encodeSHA512(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha512(data);
}
/**
* SHA512Hex加密
*
* @param data 待加密数据
* @return String 消息摘要
* @throws Exception
*/
public static String encodeSHA512Hex(String data) throws Exception {
// 执行消息摘要
return DigestUtils.sha512Hex(data);
}
}

291
shuili-admin/src/main/java/com/kms/web/utils/WaterRequestUtil.java

@ -0,0 +1,291 @@
package com.kms.web.utils;
import cn.hutool.core.util.IdUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import com.shuili.common.exception.CustomException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap;
@Component
public class WaterRequestUtil {
private static final Logger log = LoggerFactory.getLogger(WaterRequestUtil.class);
@Value("${water.paasToken}")
public String paasToken;
@Value("${water.paasId}")
public String paasId;
//网关
@Value("${water.url}")
public String url;
//单点登录id
@Value("${water.singOnServiceId}")
public String singOnServiceId;
//单点登录密钥
@Value("${water.singOnAppsecret}")
public String singOnAppsecret;
@Value("${water.singOnUrl}")
public String singOnUrl;
//验证用户登录
@Value("${water.userUrl}")
public String userUrl;
@Value("${water.authUserServiceId}")
public String authUserServiceId;
@Value("${water.authUserAppsecret}")
public String authUserAppsecret;
@Value("${water.systemCode}")
public String systemCode;
@Value("${water.systemName}")
public String systemName;
//获取部门信息
@Value("${water.orgUrl}")
public String orgUrl;
@Value("${water.orgServiceId}")
public String orgServiceId;
@Value("${water.orgAppsecret}")
public String orgAppsecret;
//业务角色
@Value("${water.roleUrl}")
public String roleUrl;
@Value("${water.roleServiceId}")
public String roleServiceId;
@Value("${water.roleAppsecret}")
public String roleAppsecret;
@Value("${water.systemUrl}")
public String systemUrl;
@Value("${water.systemServiceId}")
public String systemServiceId;
@Value("${water.systemAppsecret}")
public String systemAppsecret;
@Value("${water.usersUrl}")
public String usersUrl;
@Value("${water.usersServiceId}")
public String usersServiceId;
@Value("${water.usersAppsecret}")
public String usersAppsecret;
@Value("${water.resourceUrl}")
public String resourceUrl;
@Value("${water.resourceServiceId}")
public String resourceServiceId;
@Value("${water.resourceAppsecret}")
public String resourceAppsecret;
/**
* 设置
* @param httpRequest
* @param serviceId
* @param appsecret
*/
private void setHead(HttpRequest httpRequest,String serviceId,String appsecret){
String timestamp = String.valueOf(new Date().getTime());
String nonce = IdUtil.fastSimpleUUID();
String signature = timestamp + paasToken + nonce + timestamp;
try {
signature = SHACoder.encodeSHA256Hex(signature).toUpperCase();
} catch (Exception e) {
e.printStackTrace();
}
httpRequest
.header("x-tsp-paasid",paasId)
.header("x-tsp-signature",signature)
.header("x-tsp-timestamp",timestamp)
.header("x-tsp-nonce", nonce)
.header("x-tsp-serviceid",serviceId)
.header("x-tsp-appsecret",appsecret);
}
public HttpRequest createGet(String url,String serviceId,String appsecret){
HttpRequest httpRequest = HttpRequest.get(url);
setHead(httpRequest,serviceId,appsecret);
return httpRequest;
}
public HttpRequest createPost(String url,String serviceId,String appsecret){
HttpRequest httpRequest = HttpRequest.post(url);
setHead(httpRequest,serviceId,appsecret);
return httpRequest;
}
/**
* 业务系统
* @return
*/
public WaterResult systemPage(){
log.info("查询业务系统-----------------");
HttpRequest post = createPost(systemUrl, systemServiceId, systemAppsecret);
HashMap<String, String> query = new HashMap<>();
query.put("code",systemCode);
query.put("name",systemName);
HttpResponse response = post.body(JSONObject.toJSONString(query))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{
// "msg": "操作成功",
// "code": 200,
// "data": {
// "code": 200,
// "message": "成功",
// "success": true,
// "data": "[{\"contractor\":\"数字广东网络建设有限公司\",\"code\":\"sgc-jg\",\"buildingLinkman\":\"张三\",\"contractorId\":\"1647768587123822593\",\"displayMobileFlag\":\"2\",\"manageUrl\":\"http://19.25.74.73:8001/\",\"type\":\"2\",\"building\":\"广东省水利厅\",\"developerId\":\"1732646766216482817\",\"developerPhone\":\"13333333333\",\"contractorPhone\":\"17324499124\",\"levelText\":\"省级\",\"buildingPhone\":\"13333333333\",\"id\":\"1732648267643097090\",\"manageImg\":\"{}\",\"area\":\"440000\",\"level\":\"1\",\"displayFlag\":\"1\",\"buildingId\":\"202206101718001\",\"createTime\":\"2023-12-07 06:28:33\",\"developerLinkman\":\"张三\",\"name\":\"水工程应用-水利工程建设管理模块\",\"publicUrl\":\"http://10.169.133.130:8001\",\"developer\":\"中通服建设有限公司\",\"contractorLinkman\":\"徐勇\",\"status\":\"1\"}]",
// "timestamp": "1710140017747"
// }
//}
return waterResult;
}
// public static void main(String[] args) {
// HttpRequest post = createPost("http://19.25.35.204:31190/data_center/gateway/api/usrc/open-api/system/list", "DGSP_1606199297580052481", "b26a1c7b95744369c00f65b7a0790b6");
// HashMap<String, String> query = new HashMap<>();
// query.put("code","sgc-jg");
// query.put("name","水工程应用-水利工程建设管理模块");
// HttpResponse response = post.body(JSONObject.toJSONString(query))
// .execute();
// String body = response.body();
// WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
//
// }
/**
* 单点登录
* @return
*/
public WaterResult signOn(String userId){
HttpRequest get = createGet(userUrl,singOnServiceId,singOnAppsecret);
HttpResponse response = get.header("x-tsp-target", paasId)
.header("x-tsp-uid-type", "id")
.header("x-tsp-uid", userId)
.execute();
String body = response.body();
return JSONObject.parseObject(body, WaterResult.class);
}
/**
* 验证用户登录
* @param authorization
* @return
*/
public WaterResult authUser(String authorization){
log.info("--------请求统一门户用户验证,请求地址为:"+userUrl);
HttpRequest get = createGet(userUrl,authUserServiceId,authUserAppsecret);
HttpResponse response = get.header("Authorization", authorization)
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
return waterResult;
}
public WaterResult getOrgPage(){
log.info("--------请求获取门户组织信息,请求地址为:"+orgUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("page",1);
hashMap.put("size",100);
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(orgUrl,orgServiceId,orgAppsecret);
HttpResponse response = get.body(JSONObject.toJSONString(hashMap))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{
// "msg": "操作成功",
// "code": 200,
// "data": {
// "code": 200,
// "message": "成功",
// "success": true,
// "data": "{\"total\":4,\"size\":100,\"records\":[{\"parent\":\"202206101718001\",\"source\":\"tif\",\"type\":\"GA\",\"levelText\":\"省级\",\"id\":\"1646339896680984578\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"统一身份认证\",\"categoryText\":\"单位\",\"name\":\"水文局\",\"treeCode\":\"00030-00016\",\"status\":\"1\",\"code\":\"SJ0013\",\"orgId\":\"1646339896680984578\",\"tifld\":\"1232236\",\"seq\":18,\"areaText\":\"广东省\",\"updateTime\":\"2024-02-28 02:45:24\",\"createTime\":\"2023-04-13 02:29:54\",\"statusText\":\"启用\",\"category\":\"1\",\"crossParent\":\"\"},{\"parent\":\"0\",\"type\":\"FIRM\",\"levelText\":\"省级\",\"id\":\"1732646766216482817\",\"area\":\"440000\",\"level\":\"1\",\"categoryText\":\"单位\",\"name\":\"中通服建设有限公司\",\"treeCode\":\"00028\",\"status\":\"1\",\"code\":\"914400001903268010\",\"orgId\":\"1732646766216482817\",\"seq\":84,\"areaText\":\"广东省\",\"updateTime\":\"2023-12-11 18:05:29\",\"createTime\":\"2023-12-07 06:22:35\",\"statusText\":\"启用\",\"category\":\"1\"},{\"parent\":\"0\",\"natureText\":\"\",\"source\":\"input\",\"type\":\"GA\",\"levelText\":\"省级\",\"id\":\"202206101718001\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"手动创建\",\"categoryText\":\"单位\",\"name\":\"广东省水利厅\",\"treeCode\":\"00030\",\"status\":\"1\",\"code\":\"006941135\",\"abbrName\":\"水利厅\",\"uscc\":\"114400000069411352\",\"orgId\":\"202206101718001\",\"tifld\":\"114400000069411352\",\"seq\":67,\"nature\":\"1\",\"areaText\":\"广东省\",\"updateTime\":\"2024-02-28 02:45:24\",\"createTime\":\"2022-12-14 10:02:37\",\"statusText\":\"启用\",\"category\":\"1\",\"remarks\":\"默认机构,不可删除\"},{\"parent\":\"202206101718001\",\"source\":\"tif\",\"type\":\"GA\",\"deptTags\":\"noEntity\",\"levelText\":\"省级\",\"id\":\"1646339701234806785\",\"area\":\"440000\",\"level\":\"1\",\"sourceText\":\"统一身份认证\",\"categoryText\":\"部门\",\"name\":\"建设处\",\"treeCode\":\"00030-00044\",\"status\":\"1\",\"code\":\"SJ0001-024\",\"orgId\":\"1646339701234806785\",\"seq\":114,\"areaText\":\"广东省\",\"updateTime\":\"2024-01-08 18:47:31\",\"deptTagsText\":\"\",\"createTime\":\"2023-04-13 02:29:07\",\"statusText\":\"启用\",\"category\":\"2\",\"crossParent\":\"\"}],\"page\":1}",
// "timestamp": "1710140677104"
// }
//}
return waterResult;
}
public WaterResult getUserResource(String authorization){
log.info("--------请求获取门户角色信息,请求地址为:"+resourceUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(resourceUrl+"?systemCode="+systemCode,resourceServiceId,resourceAppsecret);
// HttpRequest get = createPost(resourceUrl,resourceServiceId,resourceAppsecret);
get.header("Authorization",authorization);
HttpResponse response = get
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{\"total\":1,\"size\":100,\"records\":[{\"area\":\"440000\",\"systemList\":[{\"area\":\"440000\",\"code\":\"sgc-jg\",\"name\":\"水工程应用-水利工程建设管理模块\",\"id\":\"1732648267643097090\"}],\"code\":\"YW00013\",\"level\":\"1d\",\"dataConfig\":\"none\",\"type\":\"BUSINESS\",\"posts\":[],\"users\":[{\"id\":\"20231225000006\"},{\"id\":\"20240119000002\"}],\"name\":\"水利工程应用-水利工程建设管理模块角色\",\"id\":\"20231213000001\",\"category\":\"BUSINESS\",\"businesses\":[{\"parent\":\"1762458920822599682\",\"businessCode\":\"YWSLGCJSGL0008\",\"parentName\":\"水利工程建设管理\",\"businessName\":\"水利工程建设管理\",\"description\":\"\",\"id\":\"1705128209926942721\",\"delFlag\":0}],\"status\":\"1\"}],\"page\":1}
return waterResult;
}
public WaterResult getRolePage(){
log.info("--------请求获取门户角色信息,请求地址为:"+roleUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("page",1);
hashMap.put("size",100);
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(roleUrl,roleServiceId,roleAppsecret);
HttpResponse response = get.body(JSONObject.toJSONString(hashMap))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
//{\"total\":1,\"size\":100,\"records\":[{\"area\":\"440000\",\"systemList\":[{\"area\":\"440000\",\"code\":\"sgc-jg\",\"name\":\"水工程应用-水利工程建设管理模块\",\"id\":\"1732648267643097090\"}],\"code\":\"YW00013\",\"level\":\"1d\",\"dataConfig\":\"none\",\"type\":\"BUSINESS\",\"posts\":[],\"users\":[{\"id\":\"20231225000006\"},{\"id\":\"20240119000002\"}],\"name\":\"水利工程应用-水利工程建设管理模块角色\",\"id\":\"20231213000001\",\"category\":\"BUSINESS\",\"businesses\":[{\"parent\":\"1762458920822599682\",\"businessCode\":\"YWSLGCJSGL0008\",\"parentName\":\"水利工程建设管理\",\"businessName\":\"水利工程建设管理\",\"description\":\"\",\"id\":\"1705128209926942721\",\"delFlag\":0}],\"status\":\"1\"}],\"page\":1}
return waterResult;
}
public WaterResult usersPage(){
log.info("--------请求获取门户用户信息,请求地址为:"+usersUrl);
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("page",1);
hashMap.put("size",100);
hashMap.put("systemCode",systemCode);
HttpRequest get = createPost(usersUrl,usersServiceId,usersAppsecret);
HttpResponse response = get.body(JSONObject.toJSONString(hashMap))
.execute();
String body = response.body();
WaterResult waterResult = JSONObject.parseObject(body, WaterResult.class);
isSuccess(waterResult);
return waterResult;
}
private void isSuccess(WaterResult waterResult){
if(waterResult==null){
throw new CustomException("请求异常");
}
if(waterResult.getCode()!=200||!waterResult.getSuccess()){
throw new CustomException("请求失败,原因:"+waterResult.getMessage());
}
}
}

27
shuili-admin/src/main/java/com/kms/web/utils/WaterResult.java

@ -0,0 +1,27 @@
package com.kms.web.utils;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WaterResult {
private int code;
private String message;
private Boolean success;
private String data;
private String timestamp;
public static WaterResult success(){
WaterResult waterResult = new WaterResult();
waterResult.setCode(200);
waterResult.setSuccess(true);
waterResult.setTimestamp(String.valueOf(System.currentTimeMillis()));
waterResult.setMessage("发布成功");
return waterResult;
}
}

215
shuili-admin/src/main/java/com/kms/web/utils/scheduled/WaterScheduled.java

@ -0,0 +1,215 @@
package com.kms.web.utils.scheduled;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysRoleService;
import com.kms.system.service.SysUserService;
import com.kms.web.controller.system.SysRoleController;
import com.kms.web.utils.WaterRequestUtil;
import com.kms.web.utils.WaterResult;
import com.kms.web.utils.singleDomain.SingleOrg;
import com.kms.web.utils.singleDomain.SingleRole;
import com.kms.web.utils.singleDomain.SingleUser;
import com.shuili.common.constant.UserConstants;
import com.shuili.common.core.domain.entity.SysDept;
import com.shuili.common.core.domain.entity.SysRole;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.utils.password.MD5Util;
import com.shuili.common.utils.password.PasswordUtil;
import com.shuili.common.utils.uuid.IdUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Configuration
public class WaterScheduled {
private static final Logger log = LoggerFactory.getLogger(WaterScheduled.class);
@Autowired
WaterRequestUtil waterRequestUtil;
@Autowired
SysUserService userService;
@Autowired
SysDeptService deptService;
@Autowired
SysRoleController roleController;
@Autowired
SysRoleService roleService;
// @Scheduled(cron = "0 * * * * ?")
@Scheduled(cron = "0 0/10 * * * ? ")
public void userScheduled(){
log.info("----------------------开始执行用户同步功能----------------------------");
WaterResult waterResult = waterRequestUtil.usersPage();
String data = waterResult.getData();
String records = JSONObject.parseObject(data).getString("records");
List<SingleUser> singleUserList = JSONObject.parseArray(records, SingleUser.class);
for (SingleUser singleUser : singleUserList) {
String id = singleUser.getId();
QueryWrapper<SysUser> query = Wrappers.query();
query.eq("single_user_id",id);
SysUser user = userService.getOne(query,false);
Boolean flag = (user==null);
if(flag){
user = new SysUser();
user.preInsert();
user.setCreateUid("1");
user.setUpdateUid("1");
user.setRemark("门户定时任务数据添加");
user.setId(IdUtils.fastSimpleUUID());
user.setIsPcUser("0");
user.setDelFlag("0");
// user.setUserType("00");
user.setMd5(MD5Util.MD5Encode(singleUser.toString(), "utf-8"));
}else {
String md = MD5Util.MD5Encode(singleUser.toString(), "utf-8");
if(user.getMd5()!=null&&md.equals(user.getMd5())){
continue;
}
}
SingleOrg org = singleUser.getOrg();
if(org!=null){
user.setDeptId(org.getId());
user.setDeptId(org.getId());
String orgType = org.getType();
if(orgType.equals("GA")){ //政务
user.setUserType("00");
}else if(orgType.equals("SVA")){ //服务
user.setUserType("01");
}
}
user.setPhonenumber(singleUser.getPhone());
user.setNickName(singleUser.getName());
user.setUserName(singleUser.getUsername());
user.setSingleUserSource(singleUser.getSource());
user.setSingleUserType(singleUser.getType());
user.setSingleUserId(singleUser.getId());
user.setPassword(PasswordUtil.entryptPassword(singleUser.getUsername()));
user.setIsFirst(singleUser.getFirstSignIn().toString());
if(singleUser.getStatus()==null||singleUser.getStatus().equals("1")){
user.setStatus("0");
}else {
user.setStatus("1");
}
List<String> collect = singleUser.getRoleList().stream().map(singleRole -> singleRole.getId()).collect(Collectors.toList());
user.setRoleIds(collect.toArray(new String[collect.size()]));
if(flag){
userService.singleInsertUser(user);
}else {
userService.updateUser(user);
}
}
}
/**
*
*/
@Scheduled(cron = "0 0/10 * * * ? ")
public void orgScheduled(){
log.info("----------------------开始执行部门同步功能----------------------------");
WaterResult waterResult = waterRequestUtil.getOrgPage();
String data = waterResult.getData();
String records = JSONObject.parseObject(data).getString("records");
List<SingleOrg> singleOrgs = JSONObject.parseArray(records, SingleOrg.class);
for (SingleOrg singleOrg : singleOrgs) {
SysDept dept = deptService.getById(singleOrg.getId());
boolean flag = (dept!=null);
if(flag){
String md = MD5Util.MD5Encode(singleOrg.toString(), "utf-8");
if(dept.getMd5()!=null&&md.equals(dept.getMd5())){
continue;
}
}else {
dept = new SysDept();
dept.setCreateUid("1");
dept.setUpdateUid("1");
dept.setRemark("门户定时任务数据添加");
dept.setIsDownload("0");
dept.setIsComment("0");
dept.setDelFlag("0");
dept.setCreateTime(new Date());
String md = MD5Util.MD5Encode(singleOrg.toString(), "utf-8");
dept.setMd5(md);
}
dept.setMd5(MD5Util.MD5Encode(singleOrg.toString(), "utf-8"));
BeanUtils.copyProperties(singleOrg,dept);
dept.setXzqhId(singleOrg.getArea());
dept.setXzqhName(singleOrg.getAreaText());
dept.setSingleCode(singleOrg.getCode());
dept.setSingleSeq(singleOrg.getSeq());
dept.setSingleType(singleOrg.getType());
dept.setDeptName(singleOrg.getName());
dept.setParentId(singleOrg.getParent());
dept.setLeader(singleOrg.getDutyPerson());
dept.setName(singleOrg.getName());
dept.setAdminName(singleOrg.getName());
dept.setUpdateTime(new Date());
if(singleOrg.getStatus()==null||singleOrg.getStatus().equals("1")){
dept.setStatus("0");
}else {
dept.setStatus("1");
}
if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
{
log.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
if(flag){
deptService.updateById(dept);
}else {
deptService.save(dept);
}
}
}
@Scheduled(cron = "0 0/10 * * * ? ")
public void roleScheduled(){
log.info("----------------------开始执行角色同步功能----------------------------");
WaterResult rolePage = waterRequestUtil.getRolePage();
String data = rolePage.getData();
String records = JSONObject.parseObject(data).getString("records");
List<SingleRole> singleRoles = JSONObject.parseArray(records, SingleRole.class);
for (SingleRole singleRole : singleRoles) {
SysRole sysRole = roleService.getById(singleRole.getId());
if(sysRole!=null){
String md = MD5Util.MD5Encode(singleRole.toString(), "utf-8");
if(sysRole.getMd5()!=null&&md.equals(sysRole.getMd5())){
continue;
}
sysRole.setMd5(MD5Util.MD5Encode(singleRole.toString(), "utf-8"));
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
sysRole.setUpdateTime(new Date());
roleService.updateById(sysRole);
}else {
sysRole = new SysRole();
sysRole.preInsert();
sysRole.setStatus("0");
sysRole.setDelFlag("0");
sysRole.setRoleSort("0");
sysRole.setCreateUid("1");
sysRole.setUpdateUid("1");
sysRole.setRemark("门户定时任务数据添加");
sysRole.setMd5(MD5Util.MD5Encode(singleRole.toString(), "utf-8"));
BeanUtils.copyProperties(singleRole,sysRole);
sysRole.setRoleName(singleRole.getName());
sysRole.setRoleKey(singleRole.getCode());
roleService.save(sysRole);
}
}
}
}

25
shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleMenu.java

@ -0,0 +1,25 @@
package com.kms.web.utils.singleDomain;
import lombok.Data;
import java.util.List;
@Data
public class SingleMenu {
private String systemId;
private String code; //菜单标识
private String visible; //是否可见 1可见 0不可见
private String icon; //菜单图标
private String pid;
private String type;
private String path; //路径
private String name; //资源名称
private String id;
private String iframe;//是否外链
private Integer seq; //排序
private String status; //状态 1启用 0停用
private String permissionCode; //权限标识
private List<SingleMenu> children;
}

387
shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleOrg.java

@ -0,0 +1,387 @@
package com.kms.web.utils.singleDomain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SingleOrg {
private String address; //机构地址
private String area; //机构区域
private String areaText; //机构区域描述
private String businessScope; //业务范围
private String category;//机构类别(单位、部门)
private String categoryText;//单位、部门
private String code;//机构代码
private String parent;//同级父级机构ID
private String crossParent; //跨级父级机构ID
private String donaQualif;//是否具有公开募捐资格(字典)
private String name;//机构名称
private String nature;//机构性质
private String natureText;//机构性质描述
private String level;//机构级别
private String levelText;//机构级别名称
private String record;//是否备案
private String dutyPerson; //机构负责人
private String foundDate; //成立时间
private String registerDate;//登记日期
private String manageOrg;//登记管理机关
private String dutyPersonPhone;//负责人联系方式
private String expiryDate;//机构有效期
private String target;//组织建设目标
private String promoter;//发起人
private String promoterPhone;//发起人联系方式
private String source;//机构来源
private String volunteerNum;//志愿者人数
private String tel;//座机电话
private String businessTime;//营业时间
private String map;//机构经纬度信息
private String tifld;//统一社会信用代码
private String uscc;//统一身份认证关联id
private String govOrgId;//监管部门/发起单位Id
private String govOrgName;//监管部门/发起单位名称
private String legalPerson;//法定代表人
private String legalPersonNo;//法定代表人身份证
private String legalPersonPhone;//法定代表人联系电话
private String seq;
private String type; //类型
private String id;
private String status;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public String getAreaText() {
return areaText;
}
public void setAreaText(String areaText) {
this.areaText = areaText;
}
public String getBusinessScope() {
return businessScope;
}
public void setBusinessScope(String businessScope) {
this.businessScope = businessScope;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getCategoryText() {
return categoryText;
}
public void setCategoryText(String categoryText) {
this.categoryText = categoryText;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getParent() {
return parent;
}
public void setParent(String parent) {
this.parent = parent;
}
public String getCrossParent() {
return crossParent;
}
public void setCrossParent(String crossParent) {
this.crossParent = crossParent;
}
public String getDonaQualif() {
return donaQualif;
}
public void setDonaQualif(String donaQualif) {
this.donaQualif = donaQualif;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNature() {
return nature;
}
public void setNature(String nature) {
this.nature = nature;
}
public String getNatureText() {
return natureText;
}
public void setNatureText(String natureText) {
this.natureText = natureText;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getLevelText() {
return levelText;
}
public void setLevelText(String levelText) {
this.levelText = levelText;
}
public String getRecord() {
return record;
}
public void setRecord(String record) {
this.record = record;
}
public String getDutyPerson() {
return dutyPerson;
}
public void setDutyPerson(String dutyPerson) {
this.dutyPerson = dutyPerson;
}
public String getFoundDate() {
return foundDate;
}
public void setFoundDate(String foundDate) {
this.foundDate = foundDate;
}
public String getRegisterDate() {
return registerDate;
}
public void setRegisterDate(String registerDate) {
this.registerDate = registerDate;
}
public String getManageOrg() {
return manageOrg;
}
public void setManageOrg(String manageOrg) {
this.manageOrg = manageOrg;
}
public String getDutyPersonPhone() {
return dutyPersonPhone;
}
public void setDutyPersonPhone(String dutyPersonPhone) {
this.dutyPersonPhone = dutyPersonPhone;
}
public String getExpiryDate() {
return expiryDate;
}
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
}
public String getTarget() {
return target;
}
public void setTarget(String target) {
this.target = target;
}
public String getPromoter() {
return promoter;
}
public void setPromoter(String promoter) {
this.promoter = promoter;
}
public String getPromoterPhone() {
return promoterPhone;
}
public void setPromoterPhone(String promoterPhone) {
this.promoterPhone = promoterPhone;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getVolunteerNum() {
return volunteerNum;
}
public void setVolunteerNum(String volunteerNum) {
this.volunteerNum = volunteerNum;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getBusinessTime() {
return businessTime;
}
public void setBusinessTime(String businessTime) {
this.businessTime = businessTime;
}
public String getMap() {
return map;
}
public void setMap(String map) {
this.map = map;
}
public String getTifld() {
return tifld;
}
public void setTifld(String tifld) {
this.tifld = tifld;
}
public String getUscc() {
return uscc;
}
public void setUscc(String uscc) {
this.uscc = uscc;
}
public String getGovOrgId() {
return govOrgId;
}
public void setGovOrgId(String govOrgId) {
this.govOrgId = govOrgId;
}
public String getGovOrgName() {
return govOrgName;
}
public void setGovOrgName(String govOrgName) {
this.govOrgName = govOrgName;
}
public String getLegalPerson() {
return legalPerson;
}
public void setLegalPerson(String legalPerson) {
this.legalPerson = legalPerson;
}
public String getLegalPersonNo() {
return legalPersonNo;
}
public void setLegalPersonNo(String legalPersonNo) {
this.legalPersonNo = legalPersonNo;
}
public String getLegalPersonPhone() {
return legalPersonPhone;
}
public void setLegalPersonPhone(String legalPersonPhone) {
this.legalPersonPhone = legalPersonPhone;
}
public String getSeq() {
return seq;
}
public void setSeq(String seq) {
this.seq = seq;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}

25
shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleRole.java

@ -0,0 +1,25 @@
package com.kms.web.utils.singleDomain;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class SingleRole {
private String id;
private String area;
private String systemList;
private String code;
private String level;
private String dataConfig;
private String type;
private String category;
private String posts;
private String users;
private String name;
private String businesses;
}

26
shuili-admin/src/main/java/com/kms/web/utils/singleDomain/SingleUser.java

@ -0,0 +1,26 @@
package com.kms.web.utils.singleDomain;
import lombok.Data;
import java.util.List;
@Data
public class SingleUser {
private String id;
private String source;
private String type;
private Long seq;
private Integer firstSignIn;
private SingleOrg org;
private Boolean isPartTimeUser;
private List<SingleRole> roleList;
private List<SingleOrg> deptList;
private List<SingleOrg> orgs;
private String phone;
private String name;
private String status;
private String username;
}

49
shuili-admin/src/main/resources/application-test.yml

@ -225,7 +225,9 @@ ignored:
/system/file/**,
/system/user/exportExcel,
/system/kaptcha/render,
/test/**
/test/**,
/signOnLogin,
/callBack/notify
# http请求连接池
http:
pool:
@ -247,3 +249,48 @@ http:
# ocr: http://192.168.0.62:12340/ExtractServer?WSDL
# #内容是文件类型识别
# fielTypeAndContent: http://192.168.0.42:8089/detect
water:
#跳转地址
redirect: http://19.25.74.73:8001/#/singleLogin
#业务系统编码
systemCode: sgc-yg
systemName: 水工程应用-水利工程运行管理模块(运管处)
#请求测试环境网关
# url: http://19.25.35.204:31190/data_center/gateway/api
url: http://19.25.40.10:31190/data_center/gateway/portal
#应用token
paasToken: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzeXN0ZW1JZCI6IjE3MzI3MDMxMTE1NDc0ODIxMTQifQ.4oiD3WBwrxT5z8goAvA9O88vsYVxwaE-8vyQmWl7xbg
#应用id
paasId: 1732703111547482114
singOnUrl: ${water.url}/uaa/social/sso
#服务id
singOnServiceId: DGSP_1606192265703567361
#服务密钥
singOnAppsecret: 92c8749c5a424758ba550f3cc79cf882
userUrl: ${water.url}/uaa/auth/user
usersUrl: ${water.url}/usrc/open-api/user/page
# 组织
orgUrl: ${water.url}/usrc/open-api/org/orgPage
# 业务系统
systemUrl: ${water.url}/usrc/open-api/system/list
# 业务角色
businessRole: ${water.url}/usrc/open-api/role/page
# 用户资源
resourceUrl: ${water.url}/usrc/resource/build
usersAppsecret: 97ba97908eca4624aa131f7530cc4d30
usersServiceId: DGSP_1606198353790349313
orgServiceId: DGSP_1606197217079439362
orgAppsecret: 7ac7d77ddaa14ad1b653a0263906c0f8
roleUrl: ${water.url}/usrc/open-api/role/page
authUserServiceId: DGSP_1606192911177592833
authUserAppsecret: 4961464000044bb6907e9b61d736d194
roleServiceId: DGSP_1731517609955848193
roleAppsecret: e49e175c07fd4bbe90b3c928772fa58f
systemServiceId: DGSP_1606199297580052481
systemAppsecret: 4b26a1c7b95744369c00f65b7a0790b6
resourceServiceId: DGSP_1606193569955950593
resourceAppsecret: e9fbf96d53b34abca030b8f64de70ce9

3
shuili-admin/src/main/resources/application.yml

@ -1,5 +1,6 @@
spring:
profiles:
# include: dev,druid-dev
include: sy,druid-sy
# include: sy,druid-sy
# include: zhishiku,druid-zhishiku
include: test,druid-test

7
shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysDept.java

@ -61,9 +61,14 @@ public class SysDept extends BaseEntity
private String parentName;
private String xzqhId;
private String xzqhName;
private String xzqhName;
private String category;
private String singleSeq;
private String singleCode;
private String singleType;
private String md5;
/** 子部门 */
@TableField(exist = false)

11
shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysRole.java

@ -6,6 +6,7 @@ import javax.validation.constraints.Size;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.shuili.common.mybaitsplus.NoQuery;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -18,6 +19,7 @@ import com.shuili.common.core.domain.BaseEntity;
* @author shuili
*/
@TableName("sys_role")
@Data
public class SysRole extends BaseEntity
{
private static final long serialVersionUID = 1L;
@ -59,6 +61,15 @@ public class SysRole extends BaseEntity
@TableField(exist = false)
private String[] deptIds;
private String area;
private String code;
private String level;
private String dataConfig;
private String type;
private String category;
private String md5;
public SysRole()
{

8
shuili-framework/src/main/java/com/shuili/common/core/domain/entity/SysUser.java

@ -124,7 +124,15 @@ public class SysUser extends BaseEntity
@TableField(exist = false)
private String roleName; //邀请人
private String userType;
private String singleUserId; //单点用户id
private String singleUserSource; //用户来源
private String singleUserType; //用户类型
private String md5;
public String getInvitee() {
return invitee;

10
shuili-system/src/main/java/com/kms/system/service/SysUserService.java

@ -486,4 +486,14 @@ public class SysUserService extends BaseService<SysUserMapper,SysUser> {
return userMapper.findList(sysUser);
}
@Transactional
public boolean singleInsertUser(SysUser user) {
// 新增用户信息
boolean rows = saveWithRedis(user);
// 新增用户岗位关联
insertUserPost(user);
// 新增用户与角色管理
insertUserRole(user);
return rows;
}
}

27
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfDfhdmController.java

@ -1,8 +1,14 @@
package com.kms.yg.df.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.df.service.BsSgcDfSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -45,6 +51,9 @@ public class BsSgcDfDfhdmController extends BaseController
@Autowired
private BsSgcDfDfhdmService bsSgcDfDfhdmService;
@Autowired
private BsSgcDfSafeJbxxService bsSgcDfSafeJbxxService;
/**
@ -54,7 +63,10 @@ public class BsSgcDfDfhdmController extends BaseController
@ApiOperation("堤防横断面列表")
public IPage list(@RequestBody SearchParam<BsSgcDfDfhdm> sp)
{
return bsSgcDfDfhdmService.selectPage(sp);
Page<BsSgcDfDfhdm> page = bsSgcDfDfhdmService.page(new Page<>(sp.getPageNum(), sp.getPageSize()), Wrappers.lambdaQuery(BsSgcDfDfhdm.class)
.eq(BsSgcDfDfhdm::getDikeCode, sp.getData().getDikeCode())
.isNull(BsSgcDfDfhdm::getExprDate));
return page;
}
/**
@ -100,6 +112,19 @@ public class BsSgcDfDfhdmController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody BsSgcDfDfhdm bsSgcDfDfhdm)
{
String dikeCode = bsSgcDfDfhdm.getDikeCode();
BsSgcDfSafeJbxx byId = bsSgcDfSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class)
.eq(BsSgcDfSafeJbxx::getDikeCode, dikeCode));
byId.setStatus("4");
bsSgcDfSafeJbxxService.updateById(byId);
String id = bsSgcDfDfhdm.getId();
BsSgcDfDfhdm dfhdm = bsSgcDfDfhdmService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcDfDfhdmService.save(dfhdm);
bsSgcDfDfhdm.setEffDate(new Date());
bsSgcDfDfhdm.setExprDate(null);
return toAjax(bsSgcDfDfhdmService.updateById(bsSgcDfDfhdm));
}

18
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfGcxyController.java

@ -1,12 +1,17 @@
package com.kms.yg.df.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.df.domain.BsSgcDfDfhdm;
import com.kms.yg.df.domain.BsSgcDfGcxy;
import com.kms.yg.df.domain.BsSgcDfJyjl;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.df.service.BsSgcDfGcxyService;
import com.kms.yg.df.service.BsSgcDfSafeJbxxService;
@ -71,7 +76,11 @@ public class BsSgcDfGcxyController extends BaseController
@ApiOperation("工程效益列表")
public IPage list(@RequestBody SearchParam<BsSgcDfGcxy> sp)
{
return bsSgcSzGcxyService.selectPage(sp);
Page<BsSgcDfGcxy> page = bsSgcSzGcxyService.page(new Page<>(sp.getPageNum(), sp.getPageSize()), Wrappers.lambdaQuery(BsSgcDfGcxy.class)
.eq(BsSgcDfGcxy::getDikeCode, sp.getData().getDikeCode())
.isNull(BsSgcDfGcxy::getExprDate));
return page;
}
/**
@ -128,6 +137,13 @@ public class BsSgcDfGcxyController extends BaseController
.eq(BsSgcDfSafeJbxx::getDikeCode, dikeCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzGcxy.getId();
BsSgcDfGcxy dfhdm = bsSgcSzGcxyService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzGcxyService.save(dfhdm);
bsSgcSzGcxy.setEffDate(new Date());
bsSgcSzGcxy.setExprDate(null);
return toAjax(bsSgcSzGcxyService.updateById(bsSgcSzGcxy));
}

32
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfHdmtzzController.java

@ -1,8 +1,16 @@
package com.kms.yg.df.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.df.domain.BsSgcDfDfhdm;
import com.kms.yg.df.domain.BsSgcDfGcxy;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.df.service.BsSgcDfSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -12,6 +20,7 @@ import com.kms.common.utils.BaseEntityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.ParameterResolutionDelegate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
@ -46,6 +55,10 @@ public class BsSgcDfHdmtzzController extends BaseController
private BsSgcDfHdmtzzService bsSgcDfHdmtzzService;
@Autowired
private BsSgcDfSafeJbxxService bsSgcDfSafeJbxxService;
/**
* 查询横断面特征值列表
*/
@ -53,7 +66,10 @@ public class BsSgcDfHdmtzzController extends BaseController
@ApiOperation("横断面特征值列表")
public IPage list(@RequestBody SearchParam<BsSgcDfHdmtzz> sp)
{
return bsSgcDfHdmtzzService.selectPage(sp);
Page<BsSgcDfHdmtzz> page = bsSgcDfHdmtzzService.page(new Page<>(sp.getPageNum(), sp.getPageSize()), Wrappers.lambdaQuery(BsSgcDfHdmtzz.class)
.eq(BsSgcDfHdmtzz::getDikeCode, sp.getData().getDikeCode())
.isNull(BsSgcDfHdmtzz::getExprDate));
return page;
}
/**
@ -99,6 +115,20 @@ public class BsSgcDfHdmtzzController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody BsSgcDfHdmtzz bsSgcDfHdmtzz)
{
String dikeCode = bsSgcDfHdmtzz.getDikeCode();
BsSgcDfSafeJbxx byId = bsSgcDfSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class)
.eq(BsSgcDfSafeJbxx::getDikeCode, dikeCode));
byId.setStatus("4");
bsSgcDfSafeJbxxService.updateById(byId);
String id = bsSgcDfHdmtzz.getId();
BsSgcDfHdmtzz dfhdm = bsSgcDfHdmtzzService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcDfHdmtzzService.save(dfhdm);
bsSgcDfHdmtzz.setEffDate(new Date());
bsSgcDfHdmtzz.setExprDate(null);
return toAjax(bsSgcDfHdmtzzService.updateById(bsSgcDfHdmtzz));
}

31
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfJyjlController.java

@ -1,8 +1,16 @@
package com.kms.yg.df.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.df.domain.BsSgcDfHdmtzz;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.df.domain.BsSgcDfSwtz;
import com.kms.yg.df.service.BsSgcDfSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -46,7 +54,8 @@ public class BsSgcDfJyjlController extends BaseController
private BsSgcDfJyjlService bsSgcDfJyjlService;
@Autowired
private BsSgcDfSafeJbxxService bsSgcSzSafeJbxxService;
/**
* 查询决溢记录列表
*/
@ -54,7 +63,11 @@ public class BsSgcDfJyjlController extends BaseController
@ApiOperation("决溢记录列表")
public IPage list(@RequestBody SearchParam<BsSgcDfJyjl> sp)
{
return bsSgcDfJyjlService.selectPage(sp);
Page<BsSgcDfJyjl> page = bsSgcDfJyjlService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcDfJyjl.class)
.eq(BsSgcDfJyjl::getDikeCode, sp.getData().getDikeCode())
.isNull(BsSgcDfJyjl::getExprDate));
return page;
}
/**
@ -100,6 +113,18 @@ public class BsSgcDfJyjlController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody BsSgcDfJyjl bsSgcDfJyjl)
{
String dikeCode = bsSgcDfJyjl.getDikeCode();
BsSgcDfSafeJbxx byId = bsSgcSzSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class)
.eq(BsSgcDfSafeJbxx::getDikeCode, dikeCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcDfJyjl.getId();
BsSgcDfJyjl dfhdm = bsSgcDfJyjlService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcDfJyjlService.save(dfhdm);
bsSgcDfJyjl.setEffDate(new Date());
bsSgcDfJyjl.setExprDate(null);
return toAjax(bsSgcDfJyjlService.updateById(bsSgcDfJyjl));
}

53
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java

@ -1,10 +1,7 @@
package com.kms.yg.df.controller;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -61,6 +58,9 @@ public class BsSgcDfSafeJbxxController extends BaseController {
@Autowired
private BsSgcDfSafeJbxxService bsSgcSzSafeJbxxService;
@Autowired
private BsSgcDfSafeJbxxService bsSgcDfSafeJbxxService;
@Autowired
private SysXzqhService sysXzqhService;
@ -93,12 +93,12 @@ public class BsSgcDfSafeJbxxController extends BaseController {
}
@GetMapping("/getHistogram")
public HashMap<String, HashMap<String,String>> getHistogram() {
public HashMap<String, HashMap<String, String>> getHistogram() {
Integer layer = sysXzqhService.getLayer();
String xzqh = sysXzqhService.getXzqh();
HashMap<String, HashMap<String,String>> dto = bsSgcSzSafeJbxxService.getHistogram(layer, xzqh);
HashMap<String, HashMap<String, String>> dto = bsSgcSzSafeJbxxService.getHistogram(layer, xzqh);
return dto;
@ -115,9 +115,10 @@ public class BsSgcDfSafeJbxxController extends BaseController {
BsSgcDfSafeJbxx data = sp.getData();
Page<BsSgcDfSafeJbxx> page = bsSgcSzSafeJbxxService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class).like(data.getDikeName() != null, BsSgcDfSafeJbxx::getDikeName, data.getDikeName())
.ne(BsSgcDfSafeJbxx::getStatus,"0")
.ne(BsSgcDfSafeJbxx::getStatus, "0")
.eq(data.getDikeType() != null, BsSgcDfSafeJbxx::getDikeType, data.getDikeType())
.eq(data.getStatus() != null, BsSgcDfSafeJbxx::getStatus, data.getStatus())
.isNull(BsSgcDfSafeJbxx::getExprDate)
.likeRight(data.getAdcd() != null, BsSgcDfSafeJbxx::getAdcd, sysXzqhService.getSubString(data.getAdcd()))
.orderByDesc(BsSgcDfSafeJbxx::getCreateTime));
@ -131,8 +132,8 @@ public class BsSgcDfSafeJbxxController extends BaseController {
Page<BsSgcDfSafeJbxx> page = bsSgcSzSafeJbxxService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class).like(data.getDikeName() != null, BsSgcDfSafeJbxx::getDikeName, data.getDikeName())
.eq(BsSgcDfSafeJbxx::getStatus, "1").or().eq(BsSgcDfSafeJbxx::getStatus, "4").or().eq(BsSgcDfSafeJbxx::getHzStatus,"0")
.or().eq(BsSgcDfSafeJbxx::getZxStatus,"0")
.eq(BsSgcDfSafeJbxx::getStatus, "1").or().eq(BsSgcDfSafeJbxx::getStatus, "4").or().eq(BsSgcDfSafeJbxx::getHzStatus, "0")
.or().eq(BsSgcDfSafeJbxx::getZxStatus, "0")
.eq(data.getDikeType() != null, BsSgcDfSafeJbxx::getDikeType, data.getDikeType())
.eq(data.getStatus() != null, BsSgcDfSafeJbxx::getStatus, data.getStatus())
.likeRight(data.getAdcd() != null, BsSgcDfSafeJbxx::getAdcd, sysXzqhService.getSubString(data.getAdcd()))
@ -182,7 +183,39 @@ public class BsSgcDfSafeJbxxController extends BaseController {
@PutMapping
public AjaxResult edit(@RequestBody BsSgcDfSafeJbxx bsSgcSzSafeJbxx) {
// bsSgcSzSafeJbxx.setStatus("4");
return toAjax(bsSgcSzSafeJbxxService.updateById(bsSgcSzSafeJbxx));
/*if (bsSgcSzSafeJbxx.getStatus().equals("6")) {
String id = bsSgcSzSafeJbxx.getId();
BsSgcDfSafeJbxx byId = bsSgcSzSafeJbxxService.getById(id);
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzSafeJbxxService.save(byId);
bsSgcSzSafeJbxx.setEffDate(new Date());
bsSgcSzSafeJbxx.setExprDate(null);
}*/
if (bsSgcSzSafeJbxx.getStatus().equals("4")) {
String id = bsSgcSzSafeJbxx.getId();
//获取未修改的数据
BsSgcDfSafeJbxx byId = bsSgcDfSafeJbxxService.getById(id);
//将未修改的数据插入数据库
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcDfSafeJbxxService.save(byId);
//生成新的数据
bsSgcSzSafeJbxx.setEffDate(new Date());
bsSgcSzSafeJbxx.setExprDate(null);
return toAjax(bsSgcDfSafeJbxxService.updateById(bsSgcSzSafeJbxx));
}
if (bsSgcSzSafeJbxx.getStatus().equals("5")) {
List<BsSgcDfSafeJbxx> list = bsSgcDfSafeJbxxService.list(Wrappers.lambdaQuery(BsSgcDfSafeJbxx.class)
.eq(BsSgcDfSafeJbxx::getDikeCode, bsSgcSzSafeJbxx.getDikeCode())
.isNull(BsSgcDfSafeJbxx::getEffDate)
.orderByDesc(BsSgcDfSafeJbxx::getExprDate));
bsSgcDfSafeJbxxService.removeById(bsSgcSzSafeJbxx.getId());
BsSgcDfSafeJbxx bsSgcDfSafeJbxx = list.get(0);
bsSgcDfSafeJbxx.setExprDate(null);
return toAjax(bsSgcDfSafeJbxxService.updateById(bsSgcDfSafeJbxx));
}
return toAjax(bsSgcDfSafeJbxxService.updateById(bsSgcSzSafeJbxx));
}
/**

18
shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSwtzController.java

@ -1,11 +1,16 @@
package com.kms.yg.df.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.df.domain.BsSgcDfHdmtzz;
import com.kms.yg.df.domain.BsSgcDfJyjl;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.df.domain.BsSgcDfSwtz;
import com.kms.yg.df.service.BsSgcDfSafeJbxxService;
@ -71,7 +76,11 @@ public class BsSgcDfSwtzController extends BaseController
@ApiOperation("水文特征列表")
public IPage list(@RequestBody SearchParam<BsSgcDfSwtz> sp)
{
return bsSgcSzSwtzService.selectPage(sp);
Page<BsSgcDfSwtz> page = bsSgcSzSwtzService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcDfSwtz.class)
.eq(BsSgcDfSwtz::getDikeCode, sp.getData().getDikeCode())
.isNull(BsSgcDfSwtz::getExprDate));
return page;
}
/**
@ -127,6 +136,13 @@ public class BsSgcDfSwtzController extends BaseController
.eq(BsSgcDfSafeJbxx::getDikeCode, dikeCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzSwtz.getId();
BsSgcDfSwtz dfhdm = bsSgcSzSwtzService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzSwtzService.save(dfhdm);
bsSgcSzSwtz.setEffDate(new Date());
bsSgcSzSwtz.setExprDate(null);
return toAjax(bsSgcSzSwtzService.updateById(bsSgcSzSwtz));
}

141
shuili-system/src/main/java/com/kms/yg/df/controller/DfContrastController.java

@ -2,13 +2,12 @@ package com.kms.yg.df.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.yg.df.domain.BsSgcDfGcgl;
import com.kms.yg.df.domain.BsSgcDfJbxx;
import com.kms.yg.df.service.BsSgcDfGcglService;
import com.kms.yg.df.service.BsSgcDfJbxxService;
import com.kms.yg.df.domain.*;
import com.kms.yg.df.service.*;
import com.kms.yg.sz.controller.SzContrastController;
import com.kms.yg.sz.domain.BsSgcSzGcda;
import com.kms.yg.sz.domain.BsSgcSzGcgl;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.shuili.common.core.domain.AjaxResult;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
@ -24,10 +23,36 @@ import java.util.List;
public class DfContrastController {
@Autowired
private BsSgcDfGcglService bsSgcDfGcglService;
private BsSgcDfSafeJbxxService bsSgcDfGcglService;
@Autowired
private BsSgcDfJbxxService bsSgcDfJbxxService;
private BsSgcDfDfhdmService bsSgcDfDfhdmService;
@Autowired
private BsSgcDfHdmtzzService bsSgcDfHdmtzzService;
@Autowired
private BsSgcDfSwtzService bsSgcDfSwtzService;
@Autowired
private BsSgcDfJyjlService bsSgcDfJyjlService;
@Autowired
private BsSgcDfGcxyService bsSgcDfGcxyService;
@Data
public class ContrastResult {
private List<BsSgcDfSafeJbxx> jbxx;
private List<BsSgcDfDfhdm> hdm;
private List<BsSgcDfHdmtzz> hdmtzz;
private List<BsSgcDfSwtz> swtz;
private List<BsSgcDfJyjl> jyjl;
private List<BsSgcDfGcxy> gcxy;
}
@GetMapping("/{embankmentCode}")
@ -36,19 +61,19 @@ public class DfContrastController {
//基本信息
//查询当前使用的版本
QueryWrapper<BsSgcDfJbxx> queryWrapper = Wrappers.query();
QueryWrapper<BsSgcDfSafeJbxx> queryWrapper = Wrappers.query();
queryWrapper.isNull("EXPR_DATE");
queryWrapper.eq("dike_code", embankmentCode);
BsSgcDfJbxx one = bsSgcDfJbxxService.getOne(queryWrapper);
BsSgcDfSafeJbxx one = bsSgcDfGcglService.getOne(queryWrapper);
//查询之前的10个版本
QueryWrapper<BsSgcDfJbxx> query = Wrappers.query();
QueryWrapper<BsSgcDfSafeJbxx> query = Wrappers.query();
query.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfJbxx> list = bsSgcDfJbxxService.list(query);
List<BsSgcDfSafeJbxx> list = bsSgcDfGcglService.list(query);
if (one != null) {
list.add(0,one);
@ -58,34 +83,108 @@ public class DfContrastController {
//工程管理
//查询当前版本
QueryWrapper<BsSgcDfGcgl> wrapper = new QueryWrapper<>();
QueryWrapper<BsSgcDfDfhdm> wrapper = new QueryWrapper<>();
wrapper.isNull("EXPR_DATE");
wrapper.eq("dike_code", embankmentCode);
BsSgcDfGcgl one1 = bsSgcDfGcglService.getOne(wrapper);
BsSgcDfDfhdm one1 = bsSgcDfDfhdmService.getOne(wrapper);
//查询之前的10个版本
QueryWrapper<BsSgcDfGcgl> query1 = Wrappers.query();
QueryWrapper<BsSgcDfDfhdm> query1 = Wrappers.query();
query1.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfGcgl> list1 = bsSgcDfGcglService.list(query1);
List<BsSgcDfDfhdm> list1 = bsSgcDfDfhdmService.list(query1);
if (one1 != null){
list1.add(0,one1);
}
contrastResult.setGcgl(list1);
return AjaxResult.success(contrastResult);
}
contrastResult.setHdm(list1);
@Data
public class ContrastResult {
private List<BsSgcDfJbxx> jbxx;
private List<BsSgcDfGcgl> gcgl;
QueryWrapper<BsSgcDfHdmtzz> wrapper1 = new QueryWrapper<>();
wrapper1.isNull("EXPR_DATE");
wrapper1.eq("dike_code", embankmentCode);
BsSgcDfHdmtzz one2 = bsSgcDfHdmtzzService.getOne(wrapper1);
//查询之前的10个版本
QueryWrapper<BsSgcDfHdmtzz> query2 = Wrappers.query();
query2.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfHdmtzz> list2 = bsSgcDfHdmtzzService.list(query2);
if (one1 != null){
list2.add(0,one2);
}
contrastResult.setHdmtzz(list2);
QueryWrapper<BsSgcDfSwtz> wrapper2 = new QueryWrapper<>();
wrapper2.isNull("EXPR_DATE");
wrapper2.eq("dike_code", embankmentCode);
BsSgcDfSwtz one3 = bsSgcDfSwtzService.getOne(wrapper2);
//查询之前的10个版本
QueryWrapper<BsSgcDfSwtz> query3 = Wrappers.query();
query3.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfSwtz> list3 = bsSgcDfSwtzService.list(query3);
if (one3 != null){
list3.add(0,one3);
}
contrastResult.setSwtz(list3);
QueryWrapper<BsSgcDfJyjl> wrapper3 = new QueryWrapper<>();
wrapper3.isNull("EXPR_DATE");
wrapper3.eq("dike_code", embankmentCode);
BsSgcDfJyjl one4 = bsSgcDfJyjlService.getOne(wrapper3);
//查询之前的10个版本
QueryWrapper<BsSgcDfJyjl> query4 = Wrappers.query();
query4.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfJyjl> list4 = bsSgcDfJyjlService.list(query4);
if (one4 != null){
list4.add(0,one4);
}
contrastResult.setJyjl(list4);
QueryWrapper<BsSgcDfGcxy> wrapper4 = new QueryWrapper<>();
wrapper4.isNull("EXPR_DATE");
wrapper4.eq("dike_code", embankmentCode);
BsSgcDfGcxy one5 = bsSgcDfGcxyService.getOne(wrapper4);
//查询之前的10个版本
QueryWrapper<BsSgcDfGcxy> query5 = Wrappers.query();
query5.eq("dike_code", embankmentCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcDfGcxy> list5 = bsSgcDfGcxyService.list(query5);
if (one5 != null){
list5.add(0,one5);
}
contrastResult.setGcxy(list5);
return AjaxResult.success(contrastResult);
}
}

2
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfDfhdm.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-29
*/
@TableName("bs_sgc_df_dfhdm")
@TableName("att_dike_bnbdcrpr")
@Data
@ApiModel("堤防横断面")
public class BsSgcDfDfhdm extends BaseEntity

2
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfGcxy.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_df_gcxy")
@TableName("att_dike_dbiabt")
@Data
@ApiModel("工程效益")
public class BsSgcDfGcxy extends BaseEntity

2
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfHdmtzz.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_df_hdmtzz")
@TableName("att_dike_dktr")
@Data
@ApiModel("横断面特征值")
public class BsSgcDfHdmtzz extends BaseEntity

2
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfJyjl.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-29
*/
@TableName("bs_sgc_df_jyjl")
@TableName("att_dike_dkhos")
@Data
@ApiModel("决溢记录")
public class BsSgcDfJyjl extends BaseEntity

4
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSafeJbxx.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_df_safe_jbxx")
@TableName("att_dike_base")
@Data
@ApiModel("堤防安全管理基本信息")
public class BsSgcDfSafeJbxx extends BaseEntity
@ -76,7 +76,7 @@ public class BsSgcDfSafeJbxx extends BaseEntity
/** 堤防级别 */
@Excel(name = "堤防级别")
@ApiModelProperty("堤防级别")
private String engGrad;
private String dikeGrad;
/** 主要建筑物级别 */
@Excel(name = "主要建筑物级别")

127
shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfSwtz.java

@ -1,6 +1,8 @@
package com.kms.yg.df.domain;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -17,193 +19,242 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_df_swtz")
@TableName("att_dike_bsfst")
@Data
@ApiModel("水文特征")
public class BsSgcDfSwtz extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 河道宽度(m) */
/* *//** 河道宽度(m) *//*
@Excel(name = "河道宽度", readConverterExp = "m=")
@ApiModelProperty("河道宽度")
@TableField(exist = false)
private String riverWidth;
/** 河道比降 */
*//** 河道比降 *//*
@Excel(name = "河道比降")
@ApiModelProperty("河道比降")
private String riverGradient;
/** 多年平均径流量 */
*//** 多年平均径流量 *//*
@Excel(name = "多年平均径流量")
@ApiModelProperty("多年平均径流量")
private String annualAverageRunoff;
/** 多年平均输沙量 */
*//** 多年平均输沙量 *//*
@Excel(name = "多年平均输沙量")
@ApiModelProperty("多年平均输沙量")
private String averageSedimentTransport;
/** 多年平均最低气温 */
*//** 多年平均最低气温 *//*
@Excel(name = "多年平均最低气温")
@ApiModelProperty("多年平均最低气温")
private String averageMinimumTemperature;
/** 设计重现期 */
*//** 设计重现期 *//*
@Excel(name = "设计重现期")
@ApiModelProperty("设计重现期")
private String dsrcin;
/** 设计洪峰流量 */
*//** 设计洪峰流量 *//*
@Excel(name = "设计洪峰流量")
@ApiModelProperty("设计洪峰流量")
private String peakFlowRate;
/** 校核重现期 */
*//** 校核重现期 *//*
@Excel(name = "校核重现期")
@ApiModelProperty("校核重现期")
private String chrcin;
/** 校核洪峰流量 */
*//** 校核洪峰流量 *//*
@Excel(name = "校核洪峰流量")
@ApiModelProperty("校核洪峰流量")
private String verifyFlowRate;
/** 设计过闸流量 */
*//** 设计过闸流量 *//*
@Excel(name = "设计过闸流量")
@ApiModelProperty("设计过闸流量")
private String dslcfl;
/** 设计闸上水位 */
*//** 设计闸上水位 *//*
@Excel(name = "设计闸上水位")
@ApiModelProperty("设计闸上水位")
private String dsuswl;
/** 设计闸下水位 */
*//** 设计闸下水位 *//*
@Excel(name = "设计闸下水位")
@ApiModelProperty("设计闸下水位")
private String dsdswl;
/** 校核过闸流量 */
*//** 校核过闸流量 *//*
@Excel(name = "校核过闸流量")
@ApiModelProperty("校核过闸流量")
private String chlcfl;
/** 校核闸上水位 */
*//** 校核闸上水位 *//*
@Excel(name = "校核闸上水位")
@ApiModelProperty("校核闸上水位")
private String chuswl;
/** 校核闸下水位 */
*//** 校核闸下水位 *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String chdswl;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String createUid;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String updateUid;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String proCode;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String proNo;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String owerDept;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "校核闸下水位")
@ApiModelProperty("校核闸下水位")
private String relation;
/** 堤防id */
*//** 堤防id *//*
@Excel(name = "堤防id")
@ApiModelProperty("堤防id")
private String dikeId;
/** $column.columnComment */
*//** $column.columnComment *//*
@Excel(name = "堤防id")
@ApiModelProperty("堤防id")
private String dikeCode;
/** 设计洪水标准 */
*//** 设计洪水标准 *//*
@Excel(name = "设计洪水标准")
@ApiModelProperty("设计洪水标准")
private String designFloodStandard;
/** 设计洪水位 */
*//** 设计洪水位 *//*
@Excel(name = "设计洪水位")
@ApiModelProperty("设计洪水位")
private String designFloodHigh;
/** 保证水位 */
*//** 保证水位 *//*
@Excel(name = "保证水位")
@ApiModelProperty("保证水位")
private String ensureLevel;
/** 警戒水位 */
*//** 警戒水位 *//*
@Excel(name = "警戒水位")
@ApiModelProperty("警戒水位")
private String alertLevel;
/** 设防水位 */
*//** 设防水位 *//*
@Excel(name = "设防水位")
@ApiModelProperty("设防水位")
private String fortificationLevel;
/** 设计流量 */
*//** 设计流量 *//*
@Excel(name = "设计流量")
@ApiModelProperty("设计流量")
private String designFlow;
/** 警戒流量 */
*//** 警戒流量 *//*
@Excel(name = "警戒流量")
@ApiModelProperty("警戒流量")
private String alertFlow;
/** 校核水位 */
*//** 校核水位 *//*
@Excel(name = "校核水位")
@ApiModelProperty("校核水位")
private String checkLevel;
/** 校核流量 */
*//** 校核流量 *//*
@Excel(name = "校核流量")
@ApiModelProperty("校核流量")
private String checkFlow;
/** 历史最高水位 */
*//** 历史最高水位 *//*
@Excel(name = "历史最高水位")
@ApiModelProperty("历史最高水位")
private String highestWaterLevel;
/** 最高水位日期 */
*//** 最高水位日期 *//*
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "最高水位日期", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("最高水位日期")
private Date highestWaterLevelTime;
/** 历史最大洪峰流量 */
*//** 历史最大洪峰流量 *//*
@Excel(name = "历史最大洪峰流量")
@ApiModelProperty("历史最大洪峰流量")
private String highestWaterFlow;
/** 历史最大洪峰流量日期 */
*/
/**
* 历史最大洪峰流量日期
*//*
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "历史最大洪峰流量日期", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("历史最大洪峰流量日期")
private Date highestWaterFlowTime;
private Date highestWaterFlowTime;*/
private String dikeCode;
//设计洪水标准
private String dsflStd;
//设计洪水位
private String dsflLev;
//保证水位
private String gnwtLev;
//警戒水位
private String alwtLev;
//设防水位
private String frwLev;
//设计流量
private String dsFlow;
//警戒流量
private String alFlow;
//校核水位
private String chwLev;
//校核流量
private String chFlow;
//历史最高水位
private String hshgwtLev;
//历史最高水位发生日期
private Date hhwlTime;
//历史最大洪峰流量
private String hmxfpFlow;
//历史最大洪峰流量发生日期
private Date hmxflTime;
//备注
private String note;
/** 记录生效时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "记录生效时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("记录生效时间")
private Date effDate;
/** 记录失效时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "记录失效时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("记录失效时间")
private Date exprDate;
}

26
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzCxjlController.java

@ -5,7 +5,11 @@ import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.sz.domain.BsSgcSzGcjg;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -48,6 +52,9 @@ public class BsSgcSzCxjlController extends BaseController
@Autowired
private BsSgcSzCxjlService bsSgcSzCxjlService;
@Autowired
private BsSgcSzSafeJbxxService bsSgcSzSafeJbxxService;
/**
* 查询出险记录列表
@ -56,7 +63,11 @@ public class BsSgcSzCxjlController extends BaseController
@ApiOperation("出险记录列表")
public IPage list(@RequestBody SearchParam<BsSgcSzCxjl> sp)
{
return bsSgcSzCxjlService.selectPage(sp);
Page<BsSgcSzCxjl> page = bsSgcSzCxjlService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcSzCxjl.class)
.eq(BsSgcSzCxjl::getWagaCode, sp.getData().getWagaCode())
.isNull(BsSgcSzCxjl::getExprDate));
return page;
}
/**
@ -103,11 +114,16 @@ public class BsSgcSzCxjlController extends BaseController
public AjaxResult edit(@RequestBody BsSgcSzCxjl bsSgcSzCxjl)
{
String wagaCode = bsSgcSzCxjl.getWagaCode();
BsSgcSzSafeJbxx byId = bsSgcSzSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcSzSafeJbxx.class)
.eq(BsSgcSzSafeJbxx::getWagaCode, wagaCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzCxjl.getId();
BsSgcSzCxjl byId = bsSgcSzCxjlService.getById(id);
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzCxjlService.save(byId);
BsSgcSzCxjl dfhdm = bsSgcSzCxjlService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzCxjlService.save(dfhdm);
bsSgcSzCxjl.setEffDate(new Date());
bsSgcSzCxjl.setExprDate(null);

28
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzGcjgController.java

@ -5,7 +5,12 @@ import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.sz.domain.BsSgcSzCxjl;
import com.kms.yg.sz.domain.BsSgcSzGctx;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -49,6 +54,10 @@ public class BsSgcSzGcjgController extends BaseController
private BsSgcSzGcjgService bsSgcSzGcjgService;
@Autowired
private BsSgcSzSafeJbxxService bsSgcSzSafeJbxxService;
/**
* 查询工程结构列表
*/
@ -56,7 +65,11 @@ public class BsSgcSzGcjgController extends BaseController
@ApiOperation("工程结构列表")
public IPage list(@RequestBody SearchParam<BsSgcSzGcjg> sp)
{
return bsSgcSzGcjgService.selectPage(sp);
Page<BsSgcSzGcjg> page = bsSgcSzGcjgService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcSzGcjg.class)
.eq(BsSgcSzGcjg::getWagaCode, sp.getData().getWagaCode())
.isNull(BsSgcSzGcjg::getExprDate));
return page;
}
/**
@ -103,11 +116,16 @@ public class BsSgcSzGcjgController extends BaseController
public AjaxResult edit(@RequestBody BsSgcSzGcjg bsSgcSzGcjg)
{
String wagaCode = bsSgcSzGcjg.getWagaCode();
BsSgcSzSafeJbxx byId = bsSgcSzSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcSzSafeJbxx.class)
.eq(BsSgcSzSafeJbxx::getWagaCode, wagaCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzGcjg.getId();
BsSgcSzGcjg byId = bsSgcSzGcjgService.getById(id);
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzGcjgService.save(byId);
BsSgcSzGcjg dfhdm = bsSgcSzGcjgService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzGcjgService.save(dfhdm);
bsSgcSzGcjg.setEffDate(new Date());
bsSgcSzGcjg.setExprDate(null);
return toAjax(bsSgcSzGcjgService.updateById(bsSgcSzGcjg));

27
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzGctxController.java

@ -5,7 +5,12 @@ import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yg.sz.domain.BsSgcSzGcjg;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.domain.BsSgcSzXlnl;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.utils.poi.ExcelUtil;
@ -48,6 +53,9 @@ public class BsSgcSzGctxController extends BaseController
@Autowired
private BsSgcSzGctxService bsSgcSzGctxService;
@Autowired
private BsSgcSzSafeJbxxService bsSgcSzSafeJbxxService;
/**
* 查询工程特性列表
@ -56,7 +64,11 @@ public class BsSgcSzGctxController extends BaseController
@ApiOperation("工程特性列表")
public IPage list(@RequestBody SearchParam<BsSgcSzGctx> sp)
{
return bsSgcSzGctxService.selectPage(sp);
Page<BsSgcSzGctx> page = bsSgcSzGctxService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcSzGctx.class)
.eq(BsSgcSzGctx::getWagaCode, sp.getData().getWagaCode())
.isNull(BsSgcSzGctx::getExprDate));
return page;
}
/**
@ -102,11 +114,16 @@ public class BsSgcSzGctxController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody BsSgcSzGctx bsSgcSzGctx)
{
String wagaCode = bsSgcSzGctx.getWagaCode();
BsSgcSzSafeJbxx byId = bsSgcSzSafeJbxxService.getOne(Wrappers.lambdaQuery(BsSgcSzSafeJbxx.class)
.eq(BsSgcSzSafeJbxx::getWagaCode, wagaCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzGctx.getId();
BsSgcSzGctx byId = bsSgcSzGctxService.getById(id);
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzGctxService.save(byId);
BsSgcSzGctx dfhdm = bsSgcSzGctxService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzGctxService.save(dfhdm);
bsSgcSzGctx.setEffDate(new Date());
bsSgcSzGctx.setExprDate(null);
return toAjax(bsSgcSzGctxService.updateById(bsSgcSzGctx));

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

@ -10,6 +10,7 @@ import com.kms.common.utils.UserUtils;
import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.df.domain.BsSgcDfSafeJbxx;
import com.kms.yg.sz.domain.BsSgcSzBzbp;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.domain.dto.HistogramDto;
@ -177,14 +178,29 @@ public class BsSgcSzSafeJbxxController extends BaseController {
@PutMapping
public AjaxResult edit(@RequestBody BsSgcSzSafeJbxx bsSgcSzSafeJbxx) {
// bsSgcSzSafeJbxx.setStatus("4");
String id = bsSgcSzSafeJbxx.getId();
BsSgcSzSafeJbxx byId = bsSgcSzSafeJbxxService.getById(id);
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzSafeJbxxService.save(byId);
bsSgcSzSafeJbxx.setEffDate(new Date());
bsSgcSzSafeJbxx.setExprDate(null);
if (bsSgcSzSafeJbxx.getStatus().equals("4")) {
String id = bsSgcSzSafeJbxx.getId();
//获取未修改的数据
BsSgcSzSafeJbxx byId = bsSgcSzSafeJbxxService.getById(id);
//将未修改的数据插入数据库
byId.setExprDate(new Date());
byId.setId(UUID.randomUUID().toString());
bsSgcSzSafeJbxxService.save(byId);
//生成新的数据
bsSgcSzSafeJbxx.setEffDate(new Date());
bsSgcSzSafeJbxx.setExprDate(null);
return toAjax(bsSgcSzSafeJbxxService.updateById(bsSgcSzSafeJbxx));
}
if (bsSgcSzSafeJbxx.getStatus().equals("5")) {
List<BsSgcSzSafeJbxx> list = bsSgcSzSafeJbxxService.list(Wrappers.lambdaQuery(BsSgcSzSafeJbxx.class)
.eq(BsSgcSzSafeJbxx::getWagaCode, bsSgcSzSafeJbxx.getWagaCode())
.isNull(BsSgcSzSafeJbxx::getEffDate)
.orderByDesc(BsSgcSzSafeJbxx::getExprDate));
bsSgcSzSafeJbxxService.removeById(bsSgcSzSafeJbxx.getId());
BsSgcSzSafeJbxx bsSgcDfSafeJbxx = list.get(0);
bsSgcDfSafeJbxx.setExprDate(null);
return toAjax(bsSgcSzSafeJbxxService.updateById(bsSgcDfSafeJbxx));
}
return toAjax(bsSgcSzSafeJbxxService.updateById(bsSgcSzSafeJbxx));
}

17
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSjcsController.java

@ -1,11 +1,15 @@
package com.kms.yg.sz.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.df.domain.BsSgcDfSwtz;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.domain.BsSgcSzSjcs;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
@ -62,7 +66,11 @@ public class BsSgcSzSjcsController extends BaseController
@ApiOperation("设计参数列表")
public IPage list(@RequestBody SearchParam<BsSgcSzSjcs> sp)
{
return bsSgcSzSjcsService.selectPage(sp);
Page<BsSgcSzSjcs> page = bsSgcSzSjcsService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcSzSjcs.class)
.eq(BsSgcSzSjcs::getWagaCode, sp.getData().getWagaCode())
.isNull(BsSgcSzSjcs::getExprDate));
return page;
}
/**
@ -102,6 +110,13 @@ public class BsSgcSzSjcsController extends BaseController
.eq(BsSgcSzSafeJbxx::getWagaCode, wagaCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzSjcs.getId();
BsSgcSzSjcs dfhdm = bsSgcSzSjcsService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzSjcsService.save(dfhdm);
bsSgcSzSjcs.setEffDate(new Date());
bsSgcSzSjcs.setExprDate(null);
return toAjax(bsSgcSzSjcsService.save(bsSgcSzSjcs));
}

17
shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzXlnlController.java

@ -1,12 +1,16 @@
package com.kms.yg.sz.controller;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.sz.domain.BsSgcSzSafeJbxx;
import com.kms.yg.sz.domain.BsSgcSzSjcs;
import com.kms.yg.sz.domain.BsSgcSzXlnl;
import com.kms.yg.sz.service.BsSgcSzSafeJbxxService;
import com.kms.yg.sz.service.BsSgcSzXlnlService;
@ -67,7 +71,11 @@ public class BsSgcSzXlnlController extends BaseController
@ApiOperation("泄流能力列表")
public IPage list(@RequestBody SearchParam<BsSgcSzXlnl> sp)
{
return bsSgcSzXlnlService.selectPage(sp);
Page<BsSgcSzXlnl> page = bsSgcSzXlnlService.page(new Page<>(sp.getPageNum(), sp.getPageSize()),
Wrappers.lambdaQuery(BsSgcSzXlnl.class)
.eq(BsSgcSzXlnl::getWagaCode, sp.getData().getWagaCode())
.isNull(BsSgcSzXlnl::getExprDate));
return page;
}
/**
@ -123,6 +131,13 @@ public class BsSgcSzXlnlController extends BaseController
.eq(BsSgcSzSafeJbxx::getWagaCode, wagaCode));
byId.setStatus("4");
bsSgcSzSafeJbxxService.updateById(byId);
String id = bsSgcSzXlnl.getId();
BsSgcSzXlnl dfhdm = bsSgcSzXlnlService.getById(id);
dfhdm.setExprDate(new Date());
dfhdm.setId(UUID.randomUUID().toString());
bsSgcSzXlnlService.save(dfhdm);
bsSgcSzXlnl.setEffDate(new Date());
bsSgcSzXlnl.setExprDate(null);
return toAjax(bsSgcSzXlnlService.updateById(bsSgcSzXlnl));
}

143
shuili-system/src/main/java/com/kms/yg/sz/controller/SzContrastController.java

@ -2,10 +2,8 @@ package com.kms.yg.sz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.kms.yg.sz.domain.BsSgcSzGcda;
import com.kms.yg.sz.domain.BsSgcSzGcgl;
import com.kms.yg.sz.service.BsSgcSzGcdaService;
import com.kms.yg.sz.service.BsSgcSzGcglService;
import com.kms.yg.sz.domain.*;
import com.kms.yg.sz.service.*;
import com.shuili.common.core.domain.AjaxResult;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,12 +19,36 @@ import java.util.List;
public class SzContrastController {
@Autowired
private BsSgcSzGcdaService bsSgcSzGcdaService;
private BsSgcSzSafeJbxxService bsSgcSzSafeJbxxService;
@Autowired
private BsSgcSzGcglService bsSgcSzGcglService;
private BsSgcSzSjcsService bsSgcSzSjcsService;
@Autowired
private BsSgcSzXlnlService bsSgcSzXlnlService;
@Autowired
private BsSgcSzGctxService bsSgcSzGctxService;
@Autowired
private BsSgcSzGcjgService bsSgcSzGcjgService;
@Autowired
private BsSgcSzCxjlService bsSgcSzCxjlService;
@Data
public class ContrastResult {
private List<BsSgcSzSafeJbxx> jbxx;
private List<BsSgcSzSjcs> sjcs;
private List<BsSgcSzXlnl> xlnl;
private List<BsSgcSzGctx> gctx;
private List<BsSgcSzGcjg> gcjg;
private List<BsSgcSzCxjl> cxjl;
}
@GetMapping("/{sluiceCode}")
public AjaxResult contrast(@PathVariable String sluiceCode) {
@ -34,19 +56,19 @@ public class SzContrastController {
//基本信息
//查询当前使用的版本
QueryWrapper<BsSgcSzGcda> queryWrapper = Wrappers.query();
QueryWrapper<BsSgcSzSafeJbxx> queryWrapper = Wrappers.query();
queryWrapper.isNull("EXPR_DATE");
queryWrapper.eq("waga_code", sluiceCode);
BsSgcSzGcda one = bsSgcSzGcdaService.getOne(queryWrapper);
BsSgcSzSafeJbxx one = bsSgcSzSafeJbxxService.getOne(queryWrapper);
//查询之前的10个版本
QueryWrapper<BsSgcSzGcda> query = Wrappers.query();
QueryWrapper<BsSgcSzSafeJbxx> query = Wrappers.query();
query.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzGcda> list = bsSgcSzGcdaService.list(query);
List<BsSgcSzSafeJbxx> list = bsSgcSzSafeJbxxService.list(query);
if (one != null) {
list.add(0,one);
@ -56,34 +78,113 @@ public class SzContrastController {
//工程管理
//查询当前版本
QueryWrapper<BsSgcSzGcgl> wrapper = new QueryWrapper<>();
QueryWrapper<BsSgcSzSjcs> wrapper = new QueryWrapper<>();
wrapper.isNull("EXPR_DATE");
wrapper.eq("waga_code", sluiceCode);
BsSgcSzGcgl one1 = bsSgcSzGcglService.getOne(wrapper);
BsSgcSzSjcs one1 = bsSgcSzSjcsService.getOne(wrapper);
//查询之前的10个版本
QueryWrapper<BsSgcSzGcgl> query1 = Wrappers.query();
QueryWrapper<BsSgcSzSjcs> query1 = Wrappers.query();
query1.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzGcgl> list1 = bsSgcSzGcglService.list(query1);
List<BsSgcSzSjcs> list1 = bsSgcSzSjcsService.list(query1);
if (one1 != null){
list1.add(0,one1);
}
contrastResult.setGcgl(list1);
return AjaxResult.success(contrastResult);
contrastResult.setSjcs(list1);
}
@Data
public class ContrastResult {
private List<BsSgcSzGcda> jbxx;
QueryWrapper<BsSgcSzXlnl> wrapper1 = new QueryWrapper<>();
wrapper1.isNull("EXPR_DATE");
wrapper1.eq("waga_code", sluiceCode);
BsSgcSzXlnl one2 = bsSgcSzXlnlService.getOne(wrapper1);
//查询之前的10个版本
QueryWrapper<BsSgcSzXlnl> query2 = Wrappers.query();
query2.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzXlnl> list2 = bsSgcSzXlnlService.list(query2);
private List<BsSgcSzGcgl> gcgl;
if (one2 != null){
list2.add(0,one2);
}
contrastResult.setXlnl(list2);
QueryWrapper<BsSgcSzGctx> wrapper2 = new QueryWrapper<>();
wrapper2.isNull("EXPR_DATE");
wrapper2.eq("waga_code", sluiceCode);
BsSgcSzGctx one3 = bsSgcSzGctxService.getOne(wrapper2);
//查询之前的10个版本
QueryWrapper<BsSgcSzGctx> query3 = Wrappers.query();
query3.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzGctx> list3 = bsSgcSzGctxService.list(query3);
if (one3 != null){
list3.add(0,one3);
}
contrastResult.setGctx(list3);
QueryWrapper<BsSgcSzGcjg> wrapper3 = new QueryWrapper<>();
wrapper3.isNull("EXPR_DATE");
wrapper3.eq("waga_code", sluiceCode);
BsSgcSzGcjg one4 = bsSgcSzGcjgService.getOne(wrapper3);
//查询之前的10个版本
QueryWrapper<BsSgcSzGcjg> query4 = Wrappers.query();
query4.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzGcjg> list4 = bsSgcSzGcjgService.list(query4);
if (one4 != null){
list4.add(0,one4);
}
contrastResult.setGcjg(list4);
QueryWrapper<BsSgcSzCxjl> wrapper4 = new QueryWrapper<>();
wrapper4.isNull("EXPR_DATE");
wrapper4.eq("waga_code", sluiceCode);
BsSgcSzCxjl one5 = bsSgcSzCxjlService.getOne(wrapper4);
//查询之前的10个版本
QueryWrapper<BsSgcSzCxjl> query5 = Wrappers.query();
query5.eq("waga_code", sluiceCode).isNotNull("EXPR_DATE")
.orderByDesc("EXPR_DATE")
.last("limit 10");
List<BsSgcSzCxjl> list5 = bsSgcSzCxjlService.list(query5);
if (one5 != null){
list5.add(0,one5);
}
contrastResult.setCxjl(list5);
return AjaxResult.success(contrastResult);
}
}

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

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_sz_cxjl")
@TableName("att_waga_sldnnt")
@Data
@ApiModel("出险记录")
public class BsSgcSzCxjl extends BaseEntity

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

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_sz_gcjg")
@TableName("att_waga_sligvl")
@Data
@ApiModel("工程结构")
public class BsSgcSzGcjg extends BaseEntity {

2
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzGctx.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_sz_gctx")
@TableName("att_waga_slprch")
@Data
@ApiModel("工程特性")
public class BsSgcSzGctx extends BaseEntity

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

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_sz_safe_jbxx")
@TableName("att_waga_base")
@Data
@ApiModel("水闸安全管理基本信息")
public class BsSgcSzSafeJbxx extends BaseEntity {

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

@ -16,7 +16,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-01-17
*/
@TableName("bs_sgc_sz_swtz")
@TableName("att_waga_slhypr")
@Data
@ApiModel("水文特征")
public class BsSgcSzSwtz extends BaseEntity

2
shuili-system/src/main/java/com/kms/yg/sz/domain/BsSgcSzXlnl.java

@ -17,7 +17,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
* @author kms
* @date 2024-02-28
*/
@TableName("bs_sgc_sz_xlnl")
@TableName("att_waga_escpp")
@Data
@ApiModel("泄流能力")
public class BsSgcSzXlnl extends BaseEntity {

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfAqrwMapper.xml

@ -8,7 +8,7 @@
SELECT sx.`NAME`,
COUNT(1) num
FROM bs_sgc_df_dfrw ss
LEFT JOIN bs_sgc_df_safe_jbxx sj ON sj.dike_code = ss.dike_code
LEFT JOIN att_dike_base sj ON sj.dike_code = ss.dike_code
LEFT JOIN sys_xzqh sx ON sj.adcd = sx.XZQHDM
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzhjsMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_df_bzhjs sf
left join bs_sgc_df_safe_jbxx sj on sf.dike_code = sj.dike_code
left join att_dike_base sj on sf.dike_code = sj.dike_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfDaglMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_df_dagl sd
left join bs_sgc_df_safe_jbxx sj on sd.dike_code = sj.dike_code
left join att_dike_base sj on sd.dike_code = sj.dike_code
</sql>

4
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfFzrMapper.xml

@ -8,7 +8,7 @@
select sj.dike_name,
sf.*
from bs_sgc_df_fzr sf
left join bs_sgc_df_safe_jbxx sj on sf.dike_code = sj.dike_code
left join att_dike_base sj on sf.dike_code = sj.dike_code
</sql>
@ -17,7 +17,7 @@
count(1) num,
sf.type
from bs_sgc_df_fzr sf
left join bs_sgc_df_safe_jbxx sj on sf.dike_code = sj.dike_code
left join att_dike_base sj on sf.dike_code = sj.dike_code
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfJfglMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_df_jfgl sf
left join bs_sgc_df_safe_jbxx sj on sf.dike_code = sj.dike_code
left join att_dike_base sj on sf.dike_code = sj.dike_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfQqhjMapper.xml

@ -11,7 +11,7 @@
sj.adcd,
sq.*
from bs_sgc_df_qqhj sq
left join bs_sgc_df_safe_jbxx sj on sq.dike_code = sj.dike_code
left join att_dike_base sj on sq.dike_code = sj.dike_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfSafeJbxxMapper.xml

@ -8,7 +8,7 @@
select sx.name,
count(1) num,
sj.`status`
from bs_sgc_df_safe_jbxx sj
from att_dike_base sj
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
shuili-system/src/main/resources/mapper/yg/df/BsSgcDfYhxxMapper.xml

@ -9,7 +9,7 @@
count(1) num,
sx.`name`
from bs_sgc_df_yhxx sy
left join bs_sgc_df_safe_jbxx sj on sj.dike_code=sy.dike_code
left join att_dike_base sj on sj.dike_code=sy.dike_code
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzAqrwMapper.xml

@ -8,7 +8,7 @@
SELECT sx.`NAME`,
COUNT(1) num
FROM bs_sgc_sz_szrw ss
LEFT JOIN bs_sgc_sz_safe_jbxx sj ON sj.waga_code = ss.waga_code
LEFT JOIN att_waga_base sj ON sj.waga_code = ss.waga_code
LEFT JOIN sys_xzqh sx ON sj.adcd = sx.XZQHDM
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzBzhjsMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_sz_bzhjs sf
left join bs_sgc_sz_safe_jbxx sj on sf.waga_code = sj.waga_code
left join att_waga_base sj on sf.waga_code = sj.waga_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzDaglMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_sz_dagl sd
left join bs_sgc_sz_safe_jbxx sj on sd.waga_code = sj.waga_code
left join att_waga_base sj on sd.waga_code = sj.waga_code
</sql>

4
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzFzrMapper.xml

@ -8,7 +8,7 @@
select sj.waga_name,
sf.*
from bs_sgc_sz_fzr sf
left join bs_sgc_sz_safe_jbxx sj on sf.waga_code = sj.waga_code
left join att_waga_base sj on sf.waga_code = sj.waga_code
</sql>
@ -17,7 +17,7 @@
count(1) num,
sf.type
from bs_sgc_sz_fzr sf
left join bs_sgc_sz_safe_jbxx sj on sf.waga_code = sj.waga_code
left join att_waga_base sj on sf.waga_code = sj.waga_code
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzJfglMapper.xml

@ -7,7 +7,7 @@
<sql id="info">
select *
from bs_sgc_sz_jfgl sf
left join bs_sgc_sz_safe_jbxx sj on sf.waga_code = sj.waga_code
left join att_waga_base sj on sf.waga_code = sj.waga_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzQqhjMapper.xml

@ -12,7 +12,7 @@
sj.adcd,
sq.*
from bs_sgc_sz_qqhj sq
left join bs_sgc_sz_safe_jbxx sj on sq.waga_code = sj.waga_code
left join att_waga_base sj on sq.waga_code = sj.waga_code
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzSafeJbxxMapper.xml

@ -8,7 +8,7 @@
select sx.name,
count(1) num,
sj.`status`
from bs_sgc_sz_safe_jbxx sj
from att_waga_base sj
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
shuili-system/src/main/resources/mapper/yg/sz/BsSgcSzYhxxMapper.xml

@ -9,7 +9,7 @@
count(1) num,
sx.`name`
from bs_sgc_sz_yhxx sy
left join bs_sgc_sz_safe_jbxx sj on sj.waga_code=sy.waga_code
left join att_waga_base sj on sj.waga_code=sy.waga_code
left join sys_xzqh sx on sj.adcd=sx.xzqhdm
</sql>

2
sql/zj/v4.0.0/增量更新v2/v3.sql

@ -1,4 +1,4 @@
1.
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzbp`
CHANGE COLUMN `sluice_code` `waga_code` varchar (255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水闸编码' AFTER `mark_name`,
CHANGE COLUMN `sluice_name` `waga_name` varchar (255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '水闸名称' AFTER `adcd`;

130
sql/zj/v4.0.0/增量更新v3/v3.sql

@ -0,0 +1,130 @@
CREATE TABLE `sgc_yg`.`bs_sgc_sz_bzh` (
`id` varchar(255) NOT NULL,
`category` varchar(255) NULL COMMENT '类别',
`project` varchar(255) NULL COMMENT '项目',
`basic_requirements` varchar(255) NULL COMMENT '标准化基本要求',
`evaluation_content` varchar(255) NULL COMMENT '评价内容及要求',
`score` varchar(255) NULL COMMENT '标准分',
`evaluation_indicators` varchar(255) NULL COMMENT '评价指标及赋分',
`scoring_interpretation` varchar(255) NULL COMMENT '赋分解释',
`review_method` varchar(255) NULL COMMENT '评审方式',
`type` varchar(255) NULL COMMENT '类型',
`order` varchar(255) NULL COMMENT '排序',
PRIMARY KEY (`id`)
) COMMENT = '水闸标准化';
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzh`
ADD COLUMN `create_uid` varchar(255) NULL AFTER `order`,
ADD COLUMN `create_time` datetime NULL AFTER `create_uid`,
ADD COLUMN `update_uid` varchar(255) NULL AFTER `create_time`,
ADD COLUMN `update_time` datetime NULL AFTER `update_uid`,
ADD COLUMN `remark` varchar(255) NULL AFTER `update_time`;
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzh`
MODIFY COLUMN `category` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '类别' AFTER `id`,
MODIFY COLUMN `project` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '项目' AFTER `category`,
MODIFY COLUMN `basic_requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '标准化基本要求' AFTER `project`,
MODIFY COLUMN `evaluation_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '评价内容及要求' AFTER `basic_requirements`,
MODIFY COLUMN `score` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '标准分' AFTER `evaluation_content`,
MODIFY COLUMN `evaluation_indicators` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '评价指标及赋分' AFTER `score`,
MODIFY COLUMN `scoring_interpretation` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '赋分解释' AFTER `evaluation_indicators`,
MODIFY COLUMN `review_method` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '评审方式' AFTER `scoring_interpretation`;
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzh`
CHANGE COLUMN `orderBy` `order_by` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '排序' AFTER `review_method`;
CREATE TABLE `sgc_yg`.`bs_sgc_sz_bzhjs` (
`id` varchar(255) NOT NULL,
`waga_code` varchar(255) NULL COMMENT '水闸编码',
`stauts` varchar(255) NULL COMMENT '状态',
`acceptance_attachment` varchar(255) NULL COMMENT '验收申请',
`score` varchar(255) NULL COMMENT '分数',
`create_uid` varchar(255) NULL,
`create_time` datetime NULL,
`update_uid` varchar(255) NULL,
`update_time` datetime NULL,
PRIMARY KEY (`id`)
) COMMENT = '水闸标准化建设';
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzh`
ADD COLUMN `parent_id` varchar(255) NULL AFTER `update_time`;
ALTER TABLE `sgc_yg`.`bs_sgc_sz_bzhjs`
ADD COLUMN `remark` varchar(255) NULL AFTER `update_time`;
CREATE TABLE `bs_sgc_df_dagl` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`dike_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '堤防编码',
`regulations_attachment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '堤防调度规程',
`plan_attachment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '年度调度运用计划',
`create_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT NULL,
`update_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`ower_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`relation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '堤防档案管理' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
CREATE TABLE `bs_sgc_df_jfgl` (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`dike_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '堤防编码',
`unit_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '单位名称',
`people_num` int(11) NULL DEFAULT NULL COMMENT '人员数量',
`funds` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经费',
`funds_purpose` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '经费用途',
`create_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`update_uid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT NULL,
`ower_dept` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`relation` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '经费管理' ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
ALTER TABLE `sgc_yg`.`bs_sgc_df_aqjc`
MODIFY COLUMN `testing_results` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '现场检测成果' AFTER `evaluate`,
MODIFY COLUMN `calculation_results` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '复核计算成果' AFTER `testing_results`;
ALTER TABLE `sgc_yg`.`bs_sgc_sz_aqjc`
MODIFY COLUMN `testing_results` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '现场检测成果' AFTER `evaluate`,
MODIFY COLUMN `calculation_results` varchar(3000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '复核计算成果' AFTER `testing_results`;
RENAME TABLE bs_sgc_df_safe_jbxx TO ATT_DIKE_BASE;
RENAME TABLE bs_sgc_df_dfhdm TO ATT_DIKE_BNBDCRPR;
RENAME TABLE bs_sgc_df_hdmtzz TO ATT_DIKE_DKTR;
RENAME TABLE bs_sgc_df_hydrographic_features TO ATT_DIKE_BSFST;
RENAME TABLE bs_sgc_df_jyjl TO ATT_DIKE_DKHOS;
RENAME TABLE bs_sgc_df_gcxy TO ATT_DIKE_DBIABT;
RENAME TABLE bs_sgc_sz_safe_jbxx TO ATT_WAGA_BASE;
RENAME TABLE bs_sgc_sz_swtz TO ATT_WAGA_SLHYPR;
RENAME TABLE bs_sgc_sz_xlnl TO ATT_WAGA_ESCPP;
RENAME TABLE bs_sgc_sz_gctx TO ATT_WAGA_SLPRCH;
RENAME TABLE bs_sgc_sz_gcjg TO ATT_WAGA_SLIGVL;
RENAME TABLE bs_sgc_sz_cxjl TO ATT_WAGA_SLDNNT;

19
sql/zj/v5.0.0/增量更新/v1.sql

@ -0,0 +1,19 @@
ALTER TABLE `sgc_yg`.`sys_role` ADD COLUMN `area` VARCHAR ( 255 ) NULL AFTER `md5`;
ALTER TABLE `sgc_yg`.`sys_role` ADD COLUMN `data_config` VARCHAR ( 255 ) NULL AFTER `md5`;
ALTER TABLE `sgc_yg`.`sys_role` ADD COLUMN `type` VARCHAR ( 255 ) NULL AFTER `md5`;
ALTER TABLE `sgc_yg`.`sys_role` ADD COLUMN `category` VARCHAR ( 50 ) NULL AFTER `md5`;
ALTER TABLE `sgc_yg`.`sys_role` ADD COLUMN `md5` VARCHAR ( 50 ) NULL AFTER `md5`;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `single_type` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `single_code` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `single_seq` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `category` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `md5` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `level_text` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_dept` ADD COLUMN `level` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_user` ADD COLUMN `single_user_id` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_user` ADD COLUMN `single_user_source` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_user` ADD COLUMN `single_user_type` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_user` ADD COLUMN `md5` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`sys_user` ADD COLUMN `user_type` VARCHAR ( 255 ) NULL;
ALTER TABLE `sgc_yg`.`att_dike_base`
CHANGE COLUMN `ENG_GRAD` `dike_GRAD` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '堤防级别' AFTER `dike_USE`;
Loading…
Cancel
Save