diff --git a/shuili-admin/pom.xml b/shuili-admin/pom.xml
index abbeff2e..ab0b20a8 100644
--- a/shuili-admin/pom.xml
+++ b/shuili-admin/pom.xml
@@ -54,6 +54,12 @@
shuili-system
${project.version}
+
+
+ com.slsoft
+ shuili-generator
+ ${project.version}
+
io.springfox
diff --git a/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java b/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java
index a933ba3b..f957e8cc 100644
--- a/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java
+++ b/shuili-system/src/main/java/com/kms/common/utils/UserUtils.java
@@ -3,6 +3,7 @@ package com.kms.common.utils;
import cn.dev33.satoken.stp.StpUtil;
import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.domain.SysXzqh;
+import com.kms.system.mapper.SysDeptMapper;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysUserService;
import com.kms.system.service.SysXzqhService;
@@ -10,11 +11,14 @@ import com.shuili.common.core.domain.entity.SysDept;
import com.shuili.common.core.domain.entity.SysUser;
import com.shuili.common.utils.SpringUtils;
import com.shuili.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.Set;
public class UserUtils {
+
+
private static SysUserService userService = null;
private static SysPermissionService sysPermissionService = null;
@@ -74,8 +78,9 @@ public class UserUtils {
try {
String loginId = StpUtil.getLoginId("-1");
if (StringUtils.isNotEmpty(loginId)) {
- return getUserService().getWithRedis(loginId);
-// return getUserService().selectUserById(loginId);
+ SysUser user = getUserService().getWithRedis(loginId);
+// return getUserService().getWithRedis(loginId);
+ return getUserService().selectUserById(loginId);
}
} catch (Exception ignored) {
}
diff --git a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfAqrwController.java b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfAqrwController.java
index 7edc063b..da4918ae 100644
--- a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfAqrwController.java
+++ b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfAqrwController.java
@@ -1,5 +1,6 @@
package com.kms.yg.df.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
@@ -8,7 +9,9 @@ import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.df.domain.BsSgcDfAqrw;
+import com.kms.yg.df.domain.BsSgcDfDfrw;
import com.kms.yg.df.service.BsSgcDfAqrwService;
+import com.kms.yg.df.service.BsSgcDfDfrwService;
import com.kms.yg.sz.domain.dto.AqrwDto;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
@@ -47,6 +50,10 @@ public class BsSgcDfAqrwController extends BaseController
@Autowired
private SysDeptService sysDeptService;
+ @Autowired
+ private BsSgcDfDfrwService bsSgcDfDfrwService;
+
+
@GetMapping("/getLevel/{taskId}")
public AjaxResult getLevel(@PathVariable String taskId) {
@@ -83,10 +90,10 @@ public class BsSgcDfAqrwController extends BaseController
QueryWrapper sysXzqhQueryWrapper = new QueryWrapper<>();
sysXzqhQueryWrapper.eq("XZQHDM", infoAdcd);
SysXzqh xzqh = sysXzqhService.getOne(sysXzqhQueryWrapper);
- if (xzqh.getLayer()==1) {
+ if (xzqh.getLayer()==5) {
infoAdcd = xzqh.getXzqhdm().substring(0, 2);
- } else if (xzqh.getLayer()==2) {
+ } else if (xzqh.getLayer()==4) {
infoAdcd = xzqh.getXzqhdm().substring(0, 4);
}else {
@@ -104,10 +111,10 @@ public class BsSgcDfAqrwController extends BaseController
String xzqhId = sysDept.getXzqhId();
SysXzqh xzqh = sysXzqhService.getById(xzqhId);
String substring = "";
- if (xzqh.getLayer()==1) {
+ if (xzqh.getLayer()==5) {
substring = xzqh.getXzqhdm().substring(0, 2);
- } else if (xzqh.getLayer()==2) {
+ } else if (xzqh.getLayer()==4) {
substring = xzqh.getXzqhdm().substring(0, 4);
}else {
@@ -121,10 +128,10 @@ public class BsSgcDfAqrwController extends BaseController
sysXzqhQueryWrapper.eq("XZQHDM", adcd);
SysXzqh xzqh = sysXzqhService.getOne(sysXzqhQueryWrapper);
- if (xzqh.getLayer()==1) {
+ if (xzqh.getLayer()==5) {
adcd = xzqh.getXzqhdm().substring(0, 2);
- } else if (xzqh.getLayer()==2) {
+ } else if (xzqh.getLayer()==4) {
adcd = xzqh.getXzqhdm().substring(0, 4);
}else {
@@ -190,6 +197,11 @@ public class BsSgcDfAqrwController extends BaseController
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
+ for (String id:ids){
+ LambdaQueryWrapperlw=new LambdaQueryWrapper<>();
+ lw.eq(BsSgcDfDfrw::getTaskId,id);
+ bsSgcDfDfrwService.remove(lw);
+ }
return toAjax(bsSgcSzAqrwService.removeByIds(Arrays.asList(ids)));
}
}
diff --git a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfManateamController.java b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfManateamController.java
new file mode 100644
index 00000000..78c7731b
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfManateamController.java
@@ -0,0 +1,115 @@
+package com.kms.yg.df.controller;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.shuili.common.core.controller.BaseController;
+import com.shuili.common.core.domain.SearchParam;
+import com.shuili.common.utils.poi.ExcelUtil;
+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.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.shuili.common.mybaitsplus.BeanToWrapper;
+
+import com.shuili.common.annotation.Log;
+import com.shuili.common.core.domain.AjaxResult;
+import com.shuili.common.enums.BusinessType;
+import com.kms.yg.df.domain.BsSgcDfManateam;
+import com.kms.yg.df.service.BsSgcDfManateamService;
+
+
+/**
+ * 管理团队管理Controller
+ *
+ * @author kms
+ * @date 2025-03-11
+ */
+@RestController
+@RequestMapping("/manateam/manateam")
+@Api(tags = "管理团队管理")
+public class BsSgcDfManateamController extends BaseController
+{
+ @Autowired
+ private BsSgcDfManateamService bsSgcDfManateamService;
+
+
+ /**
+ * 查询管理团队管理列表
+ */
+ @PostMapping("/list")
+ @ApiOperation("管理团队管理列表")
+ public IPage list(@RequestBody SearchParam sp)
+ {
+ return bsSgcDfManateamService.selectPage(sp);
+ }
+
+ /**
+ * 导出管理团队管理列表
+ */
+ @Log(title = "管理团队管理导出", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ @ApiOperation("管理团队管理导出")
+ public AjaxResult export(@RequestBody BsSgcDfManateam bsSgcDfManateam)
+ {
+ List list = bsSgcDfManateamService.listByIds(bsSgcDfManateam.getIds());
+ ExcelUtil util = new ExcelUtil<>(BsSgcDfManateam.class);
+ return util.exportExcel(list, "manateam");
+ }
+
+ /**
+ * 获取管理团队管理详细信息
+ */
+ @ApiOperation(" 管理团队管理详情")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") String id)
+ {
+ return AjaxResult.success(bsSgcDfManateamService.getById(id));
+ }
+
+ /**
+ * 新增管理团队管理
+ */
+ @Log(title = "管理团队管理新增", businessType = BusinessType.INSERT)
+ @PostMapping
+ @ApiOperation("管理团队管理新增")
+ public AjaxResult add(@RequestBody BsSgcDfManateam bsSgcDfManateam)
+ {
+ BaseEntityUtils.preInsert(bsSgcDfManateam);
+ return toAjax(bsSgcDfManateamService.save(bsSgcDfManateam));
+ }
+
+ /**
+ * 修改管理团队管理
+ */
+ @ApiOperation("管理团队管理修改")
+ @Log(title = "管理团队管理修改", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody BsSgcDfManateam bsSgcDfManateam)
+ {
+ return toAjax(bsSgcDfManateamService.updateById(bsSgcDfManateam));
+ }
+
+ /**
+ * 删除管理团队管理
+ */
+ @ApiOperation("管理团队管理删除")
+ @Log(title = "管理团队管理删除", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable String[] ids)
+ {
+ return toAjax(bsSgcDfManateamService.removeByIds(Arrays.asList(ids)));
+ }
+}
diff --git a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java
index 66e74e11..1c5adbb9 100644
--- a/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java
+++ b/shuili-system/src/main/java/com/kms/yg/df/controller/BsSgcDfSafeJbxxController.java
@@ -5,9 +5,11 @@ import java.util.*;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.common.utils.UserUtils;
+import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
@@ -69,6 +71,10 @@ public class BsSgcDfSafeJbxxController extends BaseController {
@Autowired
private SysDeptService sysDeptService;
+ @Autowired
+ private SysPermissionService permissionService;
+
+
@GetMapping("/getPie")
public List> getPie() {
@@ -116,15 +122,29 @@ public class BsSgcDfSafeJbxxController extends BaseController {
public IPage list(@RequestBody SearchParam sp) {
BsSgcDfSafeJbxx data = sp.getData();
SysUser sysUser = UserUtils.getUser();
- String[] roleIds = sysUser.getRoleIds();
+ logger.error("user is ",sysUser);
+ Set roles = permissionService.getRolePermission(sysUser);
SysDept dept = sysUser.getDept();
- String xzqhId = dept.getXzqhId();
- if(StringUtils.isNotEmpty(sp.getData().getAdcd())){
- xzqhId=sp.getData().getAdcd();
+ String xzqhId=null;
+ String name =null;
+ if (dept != null) {
+ xzqhId = dept.getXzqhId();
+ if (ObjectUtils.isNotEmpty(sp.getData()) && StringUtils.isNotEmpty(sp.getData().getAdcd())) {
+ xzqhId = sp.getData().getAdcd();
+ }
+ name = dept.getName();
+ } else {
+ logger.error("Dept is null for user: {}", sysUser.getUserName());
+ // 设置默认值或抛出异常
+ if (ObjectUtils.isNotEmpty(sp.getData()) && StringUtils.isNotEmpty(sp.getData().getAdcd())) {
+ xzqhId = sp.getData().getAdcd();
+ }else {
+ xzqhId = "440000000000";
+ }
+ name="";
}
- String name = dept.getName();
boolean isGLDW=false;
- for (String roleId:roleIds){
+ for (String roleId:roles){
if (roleId.equals("YW00352")){
isGLDW=true;
break;
diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfBzbp.java b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfBzbp.java
index 56176e04..e112965c 100644
--- a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfBzbp.java
+++ b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfBzbp.java
@@ -99,6 +99,15 @@ public class BsSgcDfBzbp extends BaseEntity
@TableField(exist = false)
private String number;
+ @TableField(exist = false)
+ private String oneType;
+ @TableField(exist = false)
+ private String twoType;
+ @TableField(exist = false)
+ private String threeType;
+ @TableField(exist = false)
+ private String fourType;
+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss:SSS",timezone="GMT+8")
private Date sortTime;
diff --git a/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfManateam.java b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfManateam.java
new file mode 100644
index 00000000..57a0bdc5
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yg/df/domain/BsSgcDfManateam.java
@@ -0,0 +1,77 @@
+package com.kms.yg.df.domain;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import com.shuili.common.annotation.Excel;
+import com.shuili.common.core.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+
+
+/**
+ * 管理团队管理对象 bs_sgc_df_manateam
+ *
+ * @author kms
+ * @date 2025-03-11
+ */
+@TableName("bs_sgc_df_manateam")
+@Data
+@ApiModel("管理团队管理")
+public class BsSgcDfManateam extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 堤防名称 */
+ @Excel(name = "堤防名称")
+ @ApiModelProperty("堤防名称")
+ private String dikeName;
+
+ /** 人员类型 */
+ @Excel(name = "人员类型")
+ @ApiModelProperty("人员类型")
+ private String personType;
+
+ /** 堤防代码 */
+ @Excel(name = "堤防代码")
+ @ApiModelProperty("堤防代码")
+ private String dikeCode;
+
+ /** 账户或或手机号 */
+ @Excel(name = "账户或或手机号")
+ @ApiModelProperty("账户或或手机号")
+ private String phone;
+
+ /** 人员名称 */
+ @Excel(name = "人员名称")
+ @ApiModelProperty("人员名称")
+ private String personName;
+
+ /** 身份证号 */
+ @Excel(name = "身份证号")
+ @ApiModelProperty("身份证号")
+ private String idNo;
+
+ /** 职务 */
+ @Excel(name = "职务")
+ @ApiModelProperty("职务")
+ private String post;
+
+ /** 部门 */
+ @Excel(name = "部门")
+ @ApiModelProperty("部门")
+ private String department;
+
+ /** $column.columnComment */
+ @ApiModelProperty("部门")
+ private String createUid;
+
+ /** $column.columnComment */
+ @ApiModelProperty("部门")
+ private String updateUid;
+
+ /** $column.columnComment */
+ @ApiModelProperty("部门")
+ private String owerDept;
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfManateamMapper.java b/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfManateamMapper.java
new file mode 100644
index 00000000..d61859bc
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yg/df/mapper/BsSgcDfManateamMapper.java
@@ -0,0 +1,16 @@
+package com.kms.yg.df.mapper;
+
+import org.springframework.stereotype.Repository;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kms.yg.df.domain.BsSgcDfManateam;
+
+/**
+ * 管理团队管理Mapper接口
+ *
+ * @author kms
+ * @date 2025-03-11
+ */
+@Repository
+public interface BsSgcDfManateamMapper extends BaseMapper {
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfManateamService.java b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfManateamService.java
new file mode 100644
index 00000000..6d573174
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfManateamService.java
@@ -0,0 +1,16 @@
+package com.kms.yg.df.service;
+
+import com.shuili.common.core.service.BaseService;
+import com.kms.yg.df.mapper.BsSgcDfManateamMapper;
+import com.kms.yg.df.domain.BsSgcDfManateam;
+import org.springframework.stereotype.Service;
+/**
+ * 管理团队管理Service接口
+ *
+ * @author kms
+ * @date 2025-03-11
+ */
+@Service
+public class BsSgcDfManateamService extends BaseService{
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzAqrwController.java b/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzAqrwController.java
index 11fa6416..268a949b 100644
--- a/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzAqrwController.java
+++ b/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzAqrwController.java
@@ -1,5 +1,6 @@
package com.kms.yg.sz.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.kms.common.utils.BaseEntityUtils;
@@ -8,8 +9,10 @@ import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
import com.kms.yg.sz.domain.BsSgcSzAqrw;
+import com.kms.yg.sz.domain.BsSgcSzSzrw;
import com.kms.yg.sz.domain.dto.AqrwDto;
import com.kms.yg.sz.service.BsSgcSzAqrwService;
+import com.kms.yg.sz.service.BsSgcSzSzrwService;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.controller.BaseController;
import com.shuili.common.core.domain.AjaxResult;
@@ -47,6 +50,9 @@ public class BsSgcSzAqrwController extends BaseController
@Autowired
private SysDeptService sysDeptService;
+ @Autowired
+ private BsSgcSzSzrwService bsSgcSzSzrwService;
+
@GetMapping("/getLevel/{taskId}")
public AjaxResult getLevel(@PathVariable String taskId) {
@@ -190,6 +196,11 @@ public class BsSgcSzAqrwController extends BaseController
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids)
{
+ for (String id:ids){
+ LambdaQueryWrapper lw=new LambdaQueryWrapper<>();
+ lw.eq(BsSgcSzSzrw::getTaskId,id);
+ bsSgcSzSzrwService.remove(lw);
+ }
return toAjax(bsSgcSzAqrwService.removeByIds(Arrays.asList(ids)));
}
}
diff --git a/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java b/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java
index e600ed2a..2ac858de 100644
--- a/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java
+++ b/shuili-system/src/main/java/com/kms/yg/sz/controller/BsSgcSzSafeJbxxController.java
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.common.utils.UserUtils;
+import com.kms.framework.web.service.SysPermissionService;
import com.kms.system.domain.SysXzqh;
import com.kms.system.service.SysDeptService;
import com.kms.system.service.SysXzqhService;
@@ -65,6 +66,9 @@ public class BsSgcSzSafeJbxxController extends BaseController {
@Autowired
private SysDeptService sysDeptService;
+ @Autowired
+ private SysPermissionService permissionService;
+
@GetMapping("/getPie")
@@ -116,15 +120,30 @@ public class BsSgcSzSafeJbxxController extends BaseController {
public IPage list(@RequestBody SearchParam sp) {
BsSgcSzSafeJbxx data = sp.getData();
SysUser sysUser = UserUtils.getUser();
- String[] roleIds = sysUser.getRoleIds();
+ logger.error("user is",sysUser);
+ Set roles = permissionService.getRolePermission(sysUser);
SysDept dept = sysUser.getDept();
- String xzqhId = dept.getXzqhId();
- if(ObjectUtils.isNotEmpty(sp.getData())&&StringUtils.isNotEmpty(sp.getData().getAdcd())){
- xzqhId=sp.getData().getAdcd();
+ String xzqhId=null;
+ String name =null;
+ if (dept != null) {
+ xzqhId = dept.getXzqhId();
+ if (ObjectUtils.isNotEmpty(sp.getData()) && StringUtils.isNotEmpty(sp.getData().getAdcd())) {
+ xzqhId = sp.getData().getAdcd();
+ }
+ name = dept.getName();
+ } else {
+ logger.error("Dept is null for user: {}", sysUser.getUserName());
+ // 设置默认值或抛出异常
+ if (ObjectUtils.isNotEmpty(sp.getData()) && StringUtils.isNotEmpty(sp.getData().getAdcd())) {
+ xzqhId = sp.getData().getAdcd();
+ }else {
+ xzqhId = "440000000000";
+ }
+ name="";
}
- String name = dept.getName();
+
boolean isGLDW=false;
- for (String roleId:roleIds){
+ for (String roleId:roles){
if (roleId.equals("YW00352")){
isGLDW=true;
break;
diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/ApprovalTypeEnum.java b/shuili-system/src/main/java/com/kms/yxgh/common/ApprovalTypeEnum.java
index 65e28ec5..450ffa38 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/common/ApprovalTypeEnum.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/common/ApprovalTypeEnum.java
@@ -11,8 +11,9 @@ public enum ApprovalTypeEnum {
YH_RECORD("堤防维修养护记录", "yh_record", "dfYhRecordService"),
YH_V2_RECORD("堤防维修养护记录v2", "yh_record_v2", "dfYhV2Service"),
SZ_YH_PLAN("水闸维修养护计划", "sz_yh_plan", "szYhPlanService"),
- SZ_YH_RECORD("水闸维修养护记录", "sz_yh_record", "szYhRecordService");
+ SZ_YH_RECORD("水闸维修养护记录", "sz_yh_record", "szYhRecordService"),
+ SZ_V2_YH_RECORD("水闸维修养护记录", "sz_v2_yh_record", "szYhV2Service"),;
private final String name;
private final String value;
diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/enums/ProjectCharEnum.java b/shuili-system/src/main/java/com/kms/yxgh/common/enums/ProjectCharEnum.java
index 607bd09e..85f5f99d 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/common/enums/ProjectCharEnum.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/common/enums/ProjectCharEnum.java
@@ -23,6 +23,21 @@ public enum ProjectCharEnum {
C_1("工程分布", Collections.singletonList(StaticIndexEnum.DF_PROJECT_ADCD_SUM), "数量", Collections.emptyList()),
C_2("巡查分析", Arrays.asList(StaticIndexEnum.DF_CHECKING_ADCD_SUM, StaticIndexEnum.DF_JD_ADCD_SUM), "数量", Collections.emptyList()),
C_3("缺陷和养护对比", Arrays.asList(StaticIndexEnum.DF_QX_ADCD_SUM, StaticIndexEnum.DF_YH_ADCD_SUM), "数量", Collections.emptyList()),
+
+
+
+
+ C_SZ_14("巡查记录分析", Arrays.asList(StaticIndexEnum.SZ_JL_ONE_DATE_SUM, StaticIndexEnum.SZ_JL_TWO_DATE_SUM), "数量", Collections.emptyList()),
+ C_SZ_15("巡查缺陷分析", Arrays.asList(StaticIndexEnum.SZ_QX_ONE_DATE_SUM, StaticIndexEnum.SZ_QX_TWO_DATE_SUM), "数量", Collections.emptyList()),
+ C_SZ_16("缺陷问题等级分析", Arrays.asList(StaticIndexEnum.SZ_QX_DJ_LX_SUM, StaticIndexEnum.SZ_QX_DJ_JD_SUM, StaticIndexEnum.SZ_QX_DJ_ZD_SUM, StaticIndexEnum.SZ_QX_DJ_YB_SUM), "数量", Collections.emptyList()),
+ C_SZ_17("缺陷养护对比分析", Arrays.asList(StaticIndexEnum.SZ_BD_YH_SUM, StaticIndexEnum.SZ_BD_QX_SUM), "数量", Collections.emptyList()),
+ C_SZ_18("巡查项目总数", Collections.singletonList(StaticIndexEnum.SZ_XM_SUM), "数量", Collections.emptyList()),
+
+ C_SZ_1("工程分布", Collections.singletonList(StaticIndexEnum.SZ_PROJECT_ADCD_SUM), "数量", Collections.emptyList()),
+ C_SZ_2("巡查分析", Arrays.asList(StaticIndexEnum.SZ_CHECKING_ADCD_SUM, StaticIndexEnum.SZ_JD_ADCD_SUM), "数量", Collections.emptyList()),
+ C_SZ_3("缺陷和养护对比", Arrays.asList(StaticIndexEnum.SZ_QX_ADCD_SUM, StaticIndexEnum.SZ_YH_ADCD_SUM), "数量", Collections.emptyList()),
+
+
;
diff --git a/shuili-system/src/main/java/com/kms/yxgh/common/enums/StaticIndexEnum.java b/shuili-system/src/main/java/com/kms/yxgh/common/enums/StaticIndexEnum.java
index b16918e9..040ffe7e 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/common/enums/StaticIndexEnum.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/common/enums/StaticIndexEnum.java
@@ -9,6 +9,10 @@ import com.kms.yxgh.df.mapper.DfCheckingProblemV2Mapper;
import com.kms.yxgh.df.mapper.DfCheckingRecordV2Mapper;
import com.kms.yxgh.df.mapper.DfCheckingV2Mapper;
import com.kms.yxgh.df.mapper.DfYhV2Mapper;
+import com.kms.yxgh.sz.mapper.SzCheckingProblemV2Mapper;
+import com.kms.yxgh.sz.mapper.SzCheckingRecordV2Mapper;
+import com.kms.yxgh.sz.mapper.SzCheckingV2Mapper;
+import com.kms.yxgh.sz.mapper.SzYhV2Mapper;
import com.shuili.common.utils.SpringUtils;
import lombok.Getter;
@@ -111,6 +115,113 @@ public enum StaticIndexEnum {
return adcdGroup(list, sp);
}, "个", "0"),
+
+
+
+
+
+
+
+
+
+
+
+
+ SZ_JL_ONE_DATE_SUM("机电巡查", sp -> {
+ SzCheckingRecordV2Mapper mapper = SpringUtils.getBean(SzCheckingRecordV2Mapper.class);
+ List list = mapper.countDateGroup(sp, PatrolMaintenanceCategory.JD_PATROL);
+ return dataGroup(list);
+ }, "个", "0"),
+ SZ_JL_TWO_DATE_SUM("工程巡查", sp -> {
+ SzCheckingRecordV2Mapper mapper = SpringUtils.getBean(SzCheckingRecordV2Mapper.class);
+ List list = mapper.countDateGroup(sp, PatrolMaintenanceCategory.PROJECT_PATROL);
+ return dataGroup(list);
+ }, "个", "0"),
+
+
+ SZ_QX_ONE_DATE_SUM("机电巡查", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countDate(sp, PatrolMaintenanceCategory.JD_PATROL);
+ return dataGroup(list);
+ }, "个", "0"),
+ SZ_QX_TWO_DATE_SUM("工程巡查", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countDate(sp, PatrolMaintenanceCategory.PROJECT_PATROL);
+ return dataGroup(list);
+ }, "个", "0"),
+
+
+ SZ_QX_DJ_LX_SUM("零星", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countLevel(sp, PatrolMaintenanceCategory.DJ_LX);
+ return dataGroup(list);
+ }, "个", "0"),
+ SZ_QX_DJ_YB_SUM("一般", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countLevel(sp, PatrolMaintenanceCategory.DJ_YB);
+ return dataGroup(list);
+ }, "个", "0"),
+ SZ_QX_DJ_JD_SUM("较大", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countLevel(sp, PatrolMaintenanceCategory.DJ_JD);
+ return dataGroup(list);
+ }, "个", "0"),
+ SZ_QX_DJ_ZD_SUM("重大", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countLevel(sp, PatrolMaintenanceCategory.DJ_ZD);
+ return dataGroup(list);
+ }, "个", "0"),
+
+
+ SZ_BD_YH_SUM("养护次数", sp -> {
+ SzYhV2Mapper mapper = SpringUtils.getBean(SzYhV2Mapper.class);
+ List list = mapper.countYhDto(sp);
+ return dataGroup(list);
+ }, "个", "0"),
+
+ SZ_BD_QX_SUM("缺陷次数", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.countQx(sp);
+ return dataGroup(list);
+ }, "个", "0"),
+
+ SZ_XM_SUM("巡查项目数", sp -> {
+ SzCheckingRecordV2Mapper mapper = SpringUtils.getBean(SzCheckingRecordV2Mapper.class);
+ int list = mapper.countXm(sp);
+ Map map = new HashMap<>();
+ map.put("sum", String.valueOf(list));
+ return map;
+ }, "个", "0"),
+
+
+ SZ_QX_ADCD_SUM("缺陷数量", sp -> {
+ SzCheckingProblemV2Mapper mapper = SpringUtils.getBean(SzCheckingProblemV2Mapper.class);
+ List list = mapper.count(sp);
+ return adcdGroup(list, sp);
+ }, "个", "0"),
+ SZ_YH_ADCD_SUM("养护次数", sp -> {
+ SzYhV2Mapper mapper = SpringUtils.getBean(SzYhV2Mapper.class);
+ List list = mapper.count(sp);
+ return adcdGroup(list, sp);
+ }, "个", "0"),
+ SZ_PROJECT_ADCD_SUM("工程数量", sp -> {
+ SzCheckingV2Mapper mapper = SpringUtils.getBean(SzCheckingV2Mapper.class);
+ List list = mapper.count(sp);
+ return adcdGroup(list, sp);
+ }, "个", "0"),
+ SZ_CHECKING_ADCD_SUM("工程巡查", sp -> {
+ SzCheckingRecordV2Mapper mapper = SpringUtils.getBean(SzCheckingRecordV2Mapper.class);
+ List list = mapper.count(sp, PatrolMaintenanceCategory.PROJECT_PATROL);
+ return adcdGroup(list, sp);
+ }, "个", "0"),
+ SZ_JD_ADCD_SUM("机电巡查", sp -> {
+ SzCheckingRecordV2Mapper mapper = SpringUtils.getBean(SzCheckingRecordV2Mapper.class);
+ List list = mapper.count(sp, PatrolMaintenanceCategory.JD_PATROL);
+ return adcdGroup(list, sp);
+ }, "个", "0"),
+
+
+
;
diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingController.java b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingController.java
index 893aab24..b91b0abf 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingController.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/df/controller/DfCheckingController.java
@@ -103,8 +103,8 @@ public class DfCheckingController {
@ApiOperation("检查项树数组")
@GetMapping("/tree")
- public Response> checkingItemTree() {
- return Response.ok(dfCheckingService.checkingItems());
+ public Response> checkingItemTree(@RequestParam(value = "key", required = false) String key) {
+ return Response.ok(dfCheckingService.checkingItems(key));
}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java
index 0dab4e98..9e8a574e 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java
@@ -70,11 +70,11 @@ public class DfCheckingProblemV2Service extends BaseService queryWrapper.le(DfCheckingProblemV2::getProblemLevel, problemLevel));
+ .ifPresent(problemLevel -> queryWrapper.eq(DfCheckingProblemV2::getProblemLevel, problemLevel));
Optional.ofNullable(data.getRecordId())
.filter(StringUtils::isBlank)
- .ifPresent(recordId -> queryWrapper.eq(DfCheckingProblemV2::getProblemLevel, recordId));
+ .ifPresent(recordId -> queryWrapper.eq(DfCheckingProblemV2::getRecordId, recordId));
}
queryWrapper.ne(DfCheckingProblemV2::getStatus, DURING_INSPECTION.getValue());
diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingService.java
index 2d718bc7..4abe0622 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingService.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingService.java
@@ -47,9 +47,11 @@ public class DfCheckingService extends BaseService
public final static String PART_SEPARATOR = ":";
- public List checkingItems() {
- String DICT_TYPE = "df_xs_c_classfy";
- return getByDictTypeStream(DICT_TYPE)
+ public List checkingItems(String key) {
+ if (StringUtils.isBlank(key)) {
+ key = "df_xs_c_classfy";
+ }
+ return getByDictTypeStream(key)
.map(this::getByDictTypeStream).sorted(Comparator.comparing(CommonCheckingTreeDto::getSort)).collect(Collectors.toList());
}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java
index 46485c65..3d5bdab9 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -84,9 +85,9 @@ public class DfYhV2Service extends DefaultApprovalBusinessService queryWrapper.le(DfYhV2::getProblemLevel, problemLevel));
+ if (StringUtils.isNotBlank(data.getProblemLevel())) {
+ queryWrapper.eq(DfYhV2::getProblemLevel, data.getProblemLevel());
+ }
Optional.ofNullable(data.getRecordId())
.filter(StringUtils::isBlank)
@@ -197,10 +198,16 @@ public class DfYhV2Service extends DefaultApprovalBusinessService wp = Wrappers.lambdaUpdate()
- .eq(DfCheckingRecord::getId, byId.getRecordId())
- .set(DfCheckingRecord::getStatus, status);
- dfCheckingRecordV2Mapper.update(null,wp);
+ List list = list(new LambdaQueryWrapper().eq(DfYhV2::getRecordId, byId.getRecordId()));
+ if (CollectionUtils.isNotEmpty(list) && !list.isEmpty()) {
+ long count = list.stream().filter(e -> Objects.equals(DfYhV2StatusEnum.ACCEPTED.getValue(), e.getStatus())).count();
+ if (count+1==list.size() || Objects.equals(1,list.size())) {
+ Wrapper wp = Wrappers.lambdaUpdate()
+ .eq(DfCheckingRecord::getId, byId.getRecordId())
+ .set(DfCheckingRecord::getStatus, status);
+ dfCheckingRecordV2Mapper.update(null,wp);
+ }
+ }
}
@Override
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingProblemV2Controller.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingProblemV2Controller.java
index 0641ddb0..12efc381 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingProblemV2Controller.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingProblemV2Controller.java
@@ -1,9 +1,8 @@
package com.kms.yxgh.sz.controller.v2;
-
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.sz.dto.v2.SzProblemV2Dto;
import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.service.SzCheckingProblemV2Service;
import com.shuili.common.core.domain.SearchParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -19,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
@Api(tags = "水闸巡查缺陷v2")
public class SzCheckingProblemV2Controller {
+ private final SzCheckingProblemV2Service szCheckingProblemV2Service;
/**
@@ -27,7 +27,7 @@ public class SzCheckingProblemV2Controller {
@PostMapping("/list")
@ApiOperation("水闸巡查缺陷列表v2")
public IPage list(@RequestBody SearchParam sp) {
- return new Page<>();
+ return szCheckingProblemV2Service.list(sp);
}
}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingRecordV2Controller.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingRecordV2Controller.java
index 50bb6e52..e7c32fb0 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingRecordV2Controller.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingRecordV2Controller.java
@@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.base.UpdateGroup;
+import com.kms.yxgh.df.service.DfCheckingRecordV2Service;
import com.kms.yxgh.sz.dto.v2.SzRecordDetailV2Dto;
import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.service.SzCheckingRecordV2Service;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
@@ -22,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
@Api(tags = "水闸巡视检查记录v2")
public class SzCheckingRecordV2Controller {
+ private final SzCheckingRecordV2Service szCheckingRecordV2Service;
/**
* 查询堤防巡视检查记录列表
@@ -29,13 +32,13 @@ public class SzCheckingRecordV2Controller {
@PostMapping("/list")
@ApiOperation("水闸巡视检查记录列表v2")
public IPage list(@RequestBody SearchParam sp) {
- return new Page<>();
+ return szCheckingRecordV2Service.list(sp);
}
@ApiOperation("水闸巡视检查记录详情v2")
@GetMapping(value = "/{id}")
public Response getInfo(@PathVariable("id") String id) {
- return Response.ok();
+ return Response.ok(szCheckingRecordV2Service.getInfo(id));
}
@ApiOperation("水闸巡视检查记录新增或修改v2")
@@ -44,7 +47,8 @@ public class SzCheckingRecordV2Controller {
public Response edit(@Validated(UpdateGroup.class)
@RequestBody SzRecordDetailV2Dto szRecord,
@PathVariable("commit") Boolean commit) {
- return Response.ok();
+
+ return Response.ok(szCheckingRecordV2Service.edit(szRecord,commit));
}
@ApiOperation("水闸巡视检查记录删除v2")
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingV2Controller.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingV2Controller.java
index 8ed7028e..68222d83 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingV2Controller.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzCheckingV2Controller.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.sz.dto.v2.SzV2CheckingDto;
import com.kms.yxgh.sz.dto.v2.SzV2CheckingSearchDto;
+import com.kms.yxgh.sz.service.SzCheckingLineService;
+import com.kms.yxgh.sz.service.SzCheckingV2Service;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
@@ -23,38 +25,39 @@ import org.springframework.web.bind.annotation.*;
@Api(tags = "水闸巡查项目v2")
public class SzCheckingV2Controller {
+ private final SzCheckingV2Service szCheckingV2Service;
@PostMapping("/list")
@ApiOperation("水闸项目列表")
public IPage list(@RequestBody SearchParam sp) {
- return new Page<>();
+ return szCheckingV2Service.list(sp);
}
@ApiOperation("水闸巡查项目详情")
@GetMapping(value = "/{id}")
public Response getInfo(@PathVariable("id") String id) {
- return Response.ok();
+ return Response.ok(szCheckingV2Service.getInfo(id));
}
@Log(title = "水闸巡查项目新增", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ApiOperation("水闸巡查项目新增")
public Response add(@RequestBody SzV2CheckingDto szV2Ck) {
- return Response.ok();
+ return Response.ok(szCheckingV2Service.add(szV2Ck));
}
@ApiOperation("水闸巡查项目修改")
@Log(title = "水闸巡查项目修改", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
public Response edit(@RequestBody SzV2CheckingDto szV2Ck) {
- return Response.ok();
+ return Response.ok(szCheckingV2Service.edit(szV2Ck));
}
@ApiOperation("水闸巡查项目删除")
@Log(title = "水闸巡查项目删除", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public Response remove(@PathVariable("ids") String[] ids) {
- return Response.ok();
+ return Response.ok(szCheckingV2Service.myRemove(ids));
}
}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzYhV2Controller.java b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzYhV2Controller.java
index 313773d1..b5bddfa2 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzYhV2Controller.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/controller/v2/SzYhV2Controller.java
@@ -1,14 +1,14 @@
package com.kms.yxgh.sz.controller.v2;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.base.Response;
import com.kms.yxgh.base.UpdateGroup;
import com.kms.yxgh.common.ApprovalTypeEnum;
import com.kms.yxgh.common.controller.ApprovalAbstractController;
-import com.kms.yxgh.df.dto.v2.*;
import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzYhApproveDto;
import com.kms.yxgh.sz.dto.v2.SzYhDetailV2Dto;
import com.kms.yxgh.sz.dto.v2.SzYhListV2Dto;
+import com.kms.yxgh.sz.service.SzYhV2Service;
import com.shuili.common.annotation.Log;
import com.shuili.common.core.domain.SearchParam;
import com.shuili.common.enums.BusinessType;
@@ -17,25 +17,28 @@ import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import static com.kms.yxgh.common.ApprovalTypeEnum.YH_V2_RECORD;
+
+import static com.kms.yxgh.common.ApprovalTypeEnum.*;
+
@RestController
@AllArgsConstructor
@RequestMapping("/run/sz/v2/yh")
@Api(tags = "水闸养护v2")
-public class SzYhV2Controller extends ApprovalAbstractController {
+public class SzYhV2Controller extends ApprovalAbstractController {
+ private final SzYhV2Service szYhV2Service;
@PostMapping("/list")
@ApiOperation("水闸养护列表v2")
public IPage list(@RequestBody SearchParam sp) {
- return new Page<>();
+ return szYhV2Service.list(sp);
}
@ApiOperation("水闸养护详情v2")
@GetMapping(value = "/{id}")
public Response getInfo(@PathVariable("id") String id) {
- return Response.ok();
+ return Response.ok(szYhV2Service.getInfo(id));
}
@ApiOperation("水闸养护新增或修改v2")
@@ -44,18 +47,18 @@ public class SzYhV2Controller extends ApprovalAbstractController edit(@Validated(UpdateGroup.class)
@RequestBody SzYhDetailV2Dto szYh,
@PathVariable("commit") Boolean commit) {
- return Response.ok();
+ return Response.ok(szYhV2Service.edit(szYh,commit));
}
@ApiOperation("水闸养护删除v2")
@Log(title = "水闸养护删除v2", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public Response myRemove(@PathVariable("ids") String[] ids) {
- return Response.ok();
+ return Response.ok(szYhV2Service.myRemove(ids));
}
@Override
public ApprovalTypeEnum getApprovalType() {
- return YH_V2_RECORD;
+ return SZ_V2_YH_RECORD;
}
}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingProblemV2.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingProblemV2.java
new file mode 100644
index 00000000..5990980b
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingProblemV2.java
@@ -0,0 +1,143 @@
+package com.kms.yxgh.sz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kms.yxgh.base.SyBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 缺陷记录 bs_sgc_sz_xcqx
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@TableName("bs_sgc_sz_xcqx")
+@Data
+@ApiModel("缺陷记录")
+public class SzCheckingProblemV2 extends SyBaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ private String itemId;
+
+ /**
+ * 问题位置
+ */
+ @ApiModelProperty("部位")
+ private String parts;
+
+
+ @ApiModelProperty("问题等级")
+ private String problemLevel;
+
+ /**
+ * 项目id
+ */
+ @ApiModelProperty("项目id")
+ private String checkingId;
+
+ /**
+ * 记录id
+ */
+ @ApiModelProperty("记录id")
+ private String recordId;
+
+
+ /**
+ * 巡查状态字典:patrol_maintenance_status
+ */
+ @ApiModelProperty("巡查状态字典:patrol_maintenance_status")
+ private String status;
+
+
+ /**
+ * 巡查项目名称
+ */
+ @ApiModelProperty("巡查项目名称")
+ private String checkingName;
+
+
+ /**
+ * 巡查类型 字典:patrol_maintenance_type
+ */
+ @ApiModelProperty("巡查类型 字典:patrol_maintenance_type")
+ private String type;
+
+ /**
+ * 巡查类别字典:key_jf_patrol_category
+ */
+ @ApiModelProperty("巡查类别字典:patrol_maintenance_category")
+ private String category;
+
+
+ /**
+ * 巡查责任人
+ */
+ @ApiModelProperty("巡查责任人")
+ private String dutyHolderName;
+
+ /**
+ * 巡查责任人id
+ */
+ @ApiModelProperty("巡查责任人id")
+ private String dutyHolderId;
+
+ /**
+ * 堤防代码
+ */
+ @ApiModelProperty("堤防代码")
+ private String wagaCode;
+
+
+ /**
+ * 堤防代码名称
+ */
+ @ApiModelProperty("堤防代码名称")
+ private String wagaName;
+
+ /**
+ * 巡查开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("巡查开始时间")
+ private Date startDate;
+
+ /**
+ * 巡查开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("巡查结束时间")
+ private Date endDate;
+
+ /**
+ * 问题位置
+ */
+ @ApiModelProperty("问题位置")
+ private String position;
+
+ @ApiModelProperty("检查内容")
+ private String content;
+ /**
+ * 文档
+ */
+ @ApiModelProperty("文档")
+ private String doc;
+
+ /**
+ * 创建人id
+ */
+ @ApiModelProperty("创建人id")
+ private String createUid;
+
+
+ /**
+ * 附加配置
+ */
+ @ApiModelProperty("备注")
+ private String remark;
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingRecord.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingRecord.java
new file mode 100644
index 00000000..5306051f
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingRecord.java
@@ -0,0 +1,121 @@
+package com.kms.yxgh.sz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kms.yxgh.base.SyBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * bs_sgc_df_xsxcjl
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@TableName("bs_sgc_sz_xsxcjl")
+@Data
+@ApiModel("水闸项目管理记录")
+public class SzCheckingRecord extends SyBaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("开始时间")
+ private Date startDate;
+
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("结束时间")
+ private Date endDate;
+
+ /**
+ * 巡查范围
+ */
+ @ApiModelProperty("巡查范围")
+ private String scope;
+
+
+ /**
+ * 项目id
+ */
+ @ApiModelProperty("项目id")
+ private String checkingId;
+
+ /**
+ * 巡查状态字典:patrol_maintenance_status
+ */
+ @ApiModelProperty("巡查状态字典:patrol_maintenance_status")
+ private String status;
+
+ /**
+ * 巡查责任人
+ */
+ @ApiModelProperty("巡查责任人")
+ private String dutyHolderName;
+
+ /**
+ * 巡查责任人id
+ */
+ @ApiModelProperty("巡查责任人id")
+ private String dutyHolderId;
+
+ /**
+ * 项目名称
+ */
+ @ApiModelProperty("项目名称")
+ private String checkingName;
+
+ /**
+ * 巡查类型 字典:patrol_maintenance_type
+ */
+ @ApiModelProperty("巡查类型 字典:patrol_maintenance_type")
+ private String type;
+
+ /**
+ * 巡查类别字典:key_jf_patrol_category
+ */
+ @ApiModelProperty("巡查类别字典:patrol_maintenance_category")
+ private String category;
+
+ /**
+ * 堤防代码
+ */
+ @ApiModelProperty("水闸代码")
+ private String wagaCode;
+
+
+ /**
+ * 堤防代码名称
+ */
+ @ApiModelProperty("水闸代码名称")
+ private String wagaName;
+
+
+ /**
+ * 创建人id
+ */
+ @ApiModelProperty("创建人id")
+ private String createUid;
+
+
+ /**
+ * 附加配置
+ */
+ @ApiModelProperty("备注")
+ private String remark;
+
+ /**
+ * 创建人名称
+ */
+ @ApiModelProperty("创建人名称")
+ private String createName;
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectItem.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectItem.java
new file mode 100644
index 00000000..6550882b
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectItem.java
@@ -0,0 +1,41 @@
+package com.kms.yxgh.sz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.kms.yxgh.base.SyBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 水闸项目管理子项
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@TableName("bs_sgc_sz_xcitem")
+@Data
+@ApiModel("水闸项目管理子项")
+public class SzCheckingV2ProjectItem extends SyBaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 项目id
+ */
+ @ApiModelProperty("项目id")
+ private String checkingId;
+
+ /**
+ * 检查部位
+ */
+ @ApiModelProperty("检查部位")
+ private String parts;
+
+ /**
+ * 检查内容
+ */
+ @ApiModelProperty("检查内容")
+ private String content;
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectManage.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectManage.java
new file mode 100644
index 00000000..f25d34d0
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzCheckingV2ProjectManage.java
@@ -0,0 +1,68 @@
+package com.kms.yxgh.sz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.kms.yxgh.base.SyBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * bs_sgc_df_hdjh
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@TableName("bs_sgc_sz_xmgl")
+@Data
+@ApiModel("水闸项目管理")
+public class SzCheckingV2ProjectManage extends SyBaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 堤防代码
+ */
+ @ApiModelProperty("水闸代码")
+ private String wagaCode;
+
+
+ /**
+ * 堤防代码名称
+ */
+ @ApiModelProperty("水闸代码名称")
+ private String wagaName;
+
+ /**
+ * 项目名称
+ */
+ @ApiModelProperty("项目名称")
+ private String name;
+
+
+ /**
+ * 巡查类型 字典:patrol_maintenance_type
+ */
+ @ApiModelProperty("巡查类型 字典:patrol_maintenance_type")
+ private String type;
+
+
+ /**
+ * 巡查类别字典:key_jf_patrol_category
+ */
+ @ApiModelProperty("巡查类别字典:patrol_maintenance_category")
+ private String category;
+
+ /**
+ * 附加配置
+ */
+ @ApiModelProperty("备注")
+ private String remark;
+
+ /**
+ * 创建人名称
+ */
+ @ApiModelProperty("创建人名称")
+ private String createName;
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzYhV2.java b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzYhV2.java
new file mode 100644
index 00000000..3affe622
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzYhV2.java
@@ -0,0 +1,136 @@
+package com.kms.yxgh.sz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kms.yxgh.base.SyBaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 缺陷记录 bs_sgc_df_xcqx
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@TableName("bs_sgc_sz_xcyj")
+@Data
+@ApiModel("水闸巡视养护管理表")
+public class SzYhV2 extends SyBaseEntity {
+
+ /**
+ * 巡查项目id
+ */
+ @ApiModelProperty("巡查项目id")
+ private String checkingId;
+ /**
+ * 缺陷id
+ */
+ @ApiModelProperty("缺陷id")
+ private String problemId;
+ /**
+ * 文档
+ */
+ @ApiModelProperty("文档")
+ private String doc;
+
+
+ /**
+ * 维养责任人id
+ */
+ @ApiModelProperty("维养责任人id")
+ private String dutyHolderId;
+
+ /**
+ * 维养责任人名称
+ */
+ @ApiModelProperty("维养责任人名称")
+ private String dutyHolderName;
+
+
+ /**
+ * 问题等级
+ */
+ @ApiModelProperty("水闸问题等级")
+ private String problemLevel;
+
+
+ /**
+ * 记录id
+ */
+ @ApiModelProperty("记录id")
+ private String recordId;
+
+ /**
+ * 巡查状态字典:patrol_maintenance_status
+ */
+ @ApiModelProperty("巡查状态字典:patrol_maintenance_status")
+ private String status;
+
+ /**
+ * 名称
+ */
+ @ApiModelProperty("名称")
+ private String name;
+
+ /**
+ * 巡查类型 字典:patrol_maintenance_type
+ */
+ @ApiModelProperty("巡查类型 字典:patrol_maintenance_type")
+ private String type;
+
+ /**
+ * 巡查类别字典:key_jf_patrol_category
+ */
+ @ApiModelProperty("巡查类别字典:patrol_maintenance_category")
+ private String category;
+
+ /**
+ * 堤防代码
+ */
+ @ApiModelProperty("堤防代码")
+ private String wagaCode;
+
+
+ /**
+ * 堤防代码名称
+ */
+ @ApiModelProperty("水闸代码名称")
+ private String wagaName;
+
+ /**
+ * 维养开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("维养开始时间")
+ private Date startDate;
+
+ /**
+ * 维养结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty("维养结束时间")
+ private Date endDate;
+
+
+ /**
+ * 创建人id
+ */
+ @ApiModelProperty("创建人id")
+ private String createUid;
+
+
+ /**
+ * 附加配置
+ */
+ @ApiModelProperty("备注")
+ private String remark;
+
+
+ private String content;
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordDetailV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordDetailV2Dto.java
index acb98da3..2d150527 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordDetailV2Dto.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordDetailV2Dto.java
@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.kms.yxgh.base.AddGroup;
import com.kms.yxgh.base.UpdateGroup;
import com.kms.yxgh.common.dto.DocV2Dto;
-import com.kms.yxgh.sz.dto.SzCheckingDetailDto;
+import com.kms.yxgh.sz.dto.v2.SzCheckingDetailDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingDto.java
index 99a92336..b8a99ec0 100644
--- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingDto.java
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingDto.java
@@ -1,6 +1,7 @@
package com.kms.yxgh.sz.dto.v2;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.kms.yxgh.df.dto.DfCheckingDetailDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -16,9 +17,9 @@ public class SzV2CheckingDto {
@ApiModelProperty("水闸编码")
private String wagaCode;
@ApiModelProperty("水闸名称")
- private String wageName;
- @ApiModelProperty("类型")
- private String wageType;
+ private String wagaName;
+ @ApiModelProperty("水闸类型")
+ private String wagaType;
@NotNull
@ApiModelProperty("主键")
@@ -27,10 +28,10 @@ public class SzV2CheckingDto {
@ApiModelProperty("名称")
private String name;
- @ApiModelProperty("类型")
+ @ApiModelProperty("巡查类型")
private String type;
- @ApiModelProperty("类别")
+ @ApiModelProperty("巡查类别")
private String category;
@ApiModelProperty("创建时间")
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzYhApproveDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzYhApproveDto.java
new file mode 100644
index 00000000..8326d540
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzYhApproveDto.java
@@ -0,0 +1,25 @@
+package com.kms.yxgh.sz.dto.v2;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel(value = "水闸养护验收列表信息v2")
+@Data
+public class SzYhApproveDto extends SzV2CheckingDto {
+
+ @ApiModelProperty("巡查责任人")
+ private String dutyHolderId;
+
+ @ApiModelProperty("巡查责任人名称")
+ private String dutyHolderName;
+
+ @ApiModelProperty("问题级别")
+ private String problemLevel;
+
+ @ApiModelProperty("记录id")
+ private String recordId;
+ @ApiModelProperty("问题id")
+ private String problemId;
+ @ApiModelProperty("状态")
+ private String status;
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingProblemV2Mapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingProblemV2Mapper.java
new file mode 100644
index 00000000..a250d075
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingProblemV2Mapper.java
@@ -0,0 +1,80 @@
+package com.kms.yxgh.sz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kms.yxgh.common.dto.CountDateDto;
+import com.kms.yxgh.common.dto.CountDto;
+import com.kms.yxgh.common.dto.ObjectStatisticQueDto;
+import com.kms.yxgh.common.enums.PatrolMaintenanceCategory;
+import com.kms.yxgh.sz.domain.SzCheckingProblemV2;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * SzCheckingProblemV2Mapper
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@Repository
+public interface SzCheckingProblemV2Mapper extends BaseMapper {
+
+ @Select("")
+ List count(@Param("data") ObjectStatisticQueDto sp);
+
+
+ @Select("")
+ List countDate(@Param("data") ObjectStatisticQueDto sp, @Param("category") PatrolMaintenanceCategory category);
+
+
+ @Select("")
+ List countLevel(@Param("data") ObjectStatisticQueDto sp, @Param("category") PatrolMaintenanceCategory category);
+
+
+ @Select("")
+ List countQx(@Param("data") ObjectStatisticQueDto sp);
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingRecordV2Mapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingRecordV2Mapper.java
new file mode 100644
index 00000000..d95d16a6
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingRecordV2Mapper.java
@@ -0,0 +1,68 @@
+package com.kms.yxgh.sz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kms.yxgh.common.dto.CountDateDto;
+import com.kms.yxgh.common.dto.CountDto;
+import com.kms.yxgh.common.dto.ObjectStatisticQueDto;
+import com.kms.yxgh.common.enums.PatrolMaintenanceCategory;
+import com.kms.yxgh.df.domain.DfCheckingRecord;
+import com.kms.yxgh.sz.domain.SzCheckingRecord;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 害堤动物防治计划Mapper接口
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@Repository
+public interface SzCheckingRecordV2Mapper extends BaseMapper {
+
+ @Select("")
+ List count(@Param("data") ObjectStatisticQueDto sp, @Param("category") PatrolMaintenanceCategory category);
+
+
+ @Select("")
+ List countDateGroup(@Param("data") ObjectStatisticQueDto sp, @Param("category") PatrolMaintenanceCategory category);
+
+ @Select(""
+ )
+ int countXm(@Param("data") ObjectStatisticQueDto sp);
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2Mapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2Mapper.java
new file mode 100644
index 00000000..8b7a9204
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2Mapper.java
@@ -0,0 +1,36 @@
+package com.kms.yxgh.sz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kms.yxgh.common.dto.CountDto;
+import com.kms.yxgh.common.dto.ObjectStatisticQueDto;
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectManage;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * SzCheckingV2Mapper
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@Repository
+public interface SzCheckingV2Mapper extends BaseMapper {
+
+ @Select(""
+ )
+ List count(@Param("data") ObjectStatisticQueDto sp);
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2ProjectItemMapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2ProjectItemMapper.java
new file mode 100644
index 00000000..29555e30
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzCheckingV2ProjectItemMapper.java
@@ -0,0 +1,18 @@
+package com.kms.yxgh.sz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kms.yxgh.df.domain.DfCheckingV2ProjectItem;
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectItem;
+import org.springframework.stereotype.Repository;
+
+/**
+ * SzCheckingV2ProjectItemMapper
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@Repository
+public interface SzCheckingV2ProjectItemMapper extends BaseMapper {
+
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhV2Mapper.java b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhV2Mapper.java
new file mode 100644
index 00000000..fb26bda9
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/mapper/SzYhV2Mapper.java
@@ -0,0 +1,53 @@
+package com.kms.yxgh.sz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kms.yxgh.common.dto.*;
+import com.kms.yxgh.sz.domain.SzYhV2;
+import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzYhApproveDto;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * DfYhV2Mapper
+ *
+ * @author sy
+ * @date 2024-01-04
+ */
+@Repository
+public interface SzYhV2Mapper extends BaseMapper {
+
+ IPage> approvalSearchPage(Page page, @Param("dto") ApprovalSearchDto data);
+
+
+ @Select("")
+ List count(@Param("data") ObjectStatisticQueDto sp);
+
+
+ @Select("")
+ List countYhDto(@Param("data") ObjectStatisticQueDto sp);
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingProblemV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingProblemV2Service.java
new file mode 100644
index 00000000..5e4a800e
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingProblemV2Service.java
@@ -0,0 +1,111 @@
+
+package com.kms.yxgh.sz.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kms.yxgh.df.domain.DfCheckingProblemV2;
+import com.kms.yxgh.df.dto.v2.DfProblemV2Dto;
+import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto;
+import com.kms.yxgh.sz.domain.SzCheckingProblemV2;
+import com.kms.yxgh.sz.dto.v2.SzProblemV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.mapper.SzCheckingProblemV2Mapper;
+import com.shuili.common.core.domain.SearchParam;
+import com.shuili.common.core.service.BaseService;
+import com.shuili.common.utils.BeanUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+import static com.kms.yxgh.common.enums.DfYhV2StatusEnum.DURING_INSPECTION;
+
+/**
+ * 项目管理记录
+ *
+ * @author sy
+ * @date 2023-11-09
+ */
+@Service
+@AllArgsConstructor
+public class SzCheckingProblemV2Service extends BaseService {
+
+
+ public IPage list(SearchParam sp) {
+ // 分页参数
+ Page page = new Page<>(sp.getPageNum(), sp.getPageSize());
+ SzRecordSearchV2Dto data = sp.getData();
+
+ // 构建查询条件
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper();
+ if (!ObjectUtils.isEmpty(data)) {
+ Optional.ofNullable(data.getCategory())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(category -> queryWrapper.eq(SzCheckingProblemV2::getCategory, category));
+
+ Optional.ofNullable(data.getType())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(type -> queryWrapper.eq(SzCheckingProblemV2::getType, type));
+
+ Optional.ofNullable(data.getName())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(name -> queryWrapper.like(SzCheckingProblemV2::getCheckingName, name));
+
+ Optional.ofNullable(data.getDutyHolder())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(dutyHolder -> queryWrapper.like(SzCheckingProblemV2::getDutyHolderName, dutyHolder));
+
+ Optional.ofNullable(data.getStatus())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(status -> queryWrapper.like(SzCheckingProblemV2::getStatus, status));
+
+ if (!Objects.isNull(data.getStartDate())) {
+ queryWrapper.ge(SzCheckingProblemV2::getStartDate, data.getStartDate());
+ }
+
+ if (!Objects.isNull(data.getEndDate())) {
+ queryWrapper.le(SzCheckingProblemV2::getEndDate, data.getEndDate());
+ }
+ Optional.ofNullable(data.getProblemLevel())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(problemLevel -> queryWrapper.eq(SzCheckingProblemV2::getProblemLevel, problemLevel));
+
+ Optional.ofNullable(data.getRecordId())
+ .filter(StringUtils::isBlank)
+ .ifPresent(recordId -> queryWrapper.eq(SzCheckingProblemV2::getProblemLevel, recordId));
+
+ }
+ queryWrapper.ne(SzCheckingProblemV2::getStatus, DURING_INSPECTION.getValue());
+
+ // 查询分页数据
+ Page queryPage = page(page, queryWrapper);
+ if (queryPage == null) {
+ return new Page<>();
+ }
+
+ // 转换为 DTO 分页对象
+ Page dtoPage = new Page<>();
+ BeanUtils.copyProperties(queryPage, dtoPage);
+
+ // 处理查询结果
+ List vos = queryPage.getRecords().stream()
+ .map(record -> {
+ SzProblemV2Dto dto = new SzProblemV2Dto();
+ BeanUtils.copyProperties(record, dto);
+ return dto;
+ })
+ .collect(Collectors.toList());
+ dtoPage.setRecords(vos);
+ return dtoPage;
+ }
+}
+
+
+
+
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingRecordV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingRecordV2Service.java
new file mode 100644
index 00000000..ea0df726
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingRecordV2Service.java
@@ -0,0 +1,257 @@
+package com.kms.yxgh.sz.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kms.yxgh.common.enums.DfYhV2StatusEnum;
+import com.kms.yxgh.df.service.DfCheckingV2Service;
+import com.kms.yxgh.sz.domain.SzCheckingProblemV2;
+import com.kms.yxgh.sz.domain.SzCheckingRecord;
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectItem;
+import com.kms.yxgh.sz.domain.SzYhV2;
+import com.kms.yxgh.sz.dto.v2.SzRecordDetailV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.mapper.SzCheckingRecordV2Mapper;
+import com.shuili.common.core.domain.SearchParam;
+import com.shuili.common.core.service.BaseService;
+import com.shuili.common.utils.BeanUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * 水闸项目管理记录
+ *
+ * @author sy
+ * @date 2023-11-09
+ */
+@Service
+@AllArgsConstructor
+public class SzCheckingRecordV2Service extends BaseService {
+
+ private final SzYhV2Service szYhV2Service;
+
+
+ private final SzCheckingV2ProjectItemV2Service szCheckingV2ProjectItemV2Service;
+
+ private final SzCheckingProblemV2Service szCheckingProblemV2Service;
+
+ public IPage list(SearchParam sp) {
+ // 分页参数
+ Page page = new Page<>(sp.getPageNum(), sp.getPageSize());
+ SzRecordSearchV2Dto data = sp.getData();
+
+ // 构建查询条件
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (!ObjectUtils.isEmpty(data)) {
+ Optional.ofNullable(data.getCategory())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(category -> queryWrapper.eq(SzCheckingRecord::getCategory, category));
+
+ Optional.ofNullable(data.getType())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(type -> queryWrapper.eq(SzCheckingRecord::getType, type));
+
+ Optional.ofNullable(data.getName())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(name -> queryWrapper.like(SzCheckingRecord::getCheckingName, name));
+
+ Optional.ofNullable(data.getDutyHolder())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(dutyHolder -> queryWrapper.like(SzCheckingRecord::getDutyHolderName, dutyHolder));
+
+ Optional.ofNullable(data.getStatus())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(status -> queryWrapper.like(SzCheckingRecord::getStatus, status));
+
+
+ if (!Objects.isNull(data.getStartDate())) {
+ queryWrapper.ge(SzCheckingRecord::getStartDate, data.getStartDate());
+ }
+
+ if (!Objects.isNull(data.getEndDate())) {
+ queryWrapper.le(SzCheckingRecord::getEndDate, data.getEndDate());
+ }
+ }
+
+ // 查询分页数据
+ Page queryPage = page(page, queryWrapper);
+ if (queryPage == null) {
+ return new Page<>();
+ }
+
+ // 转换为 DTO 分页对象
+ Page dtoPage = new Page<>();
+ BeanUtils.copyProperties(queryPage, dtoPage);
+
+ // 处理查询结果
+ List vos = queryPage.getRecords().stream()
+ .map(record -> {
+ SzRecordDetailV2Dto dto = new SzRecordDetailV2Dto();
+ BeanUtils.copyProperties(record, dto);
+ return dto;
+ })
+ .collect(Collectors.toList());
+ dtoPage.setRecords(vos);
+ return dtoPage;
+
+ }
+
+
+ public SzRecordDetailV2Dto getInfo(String id) {
+ SzRecordDetailV2Dto dto = new SzRecordDetailV2Dto();
+ SzCheckingRecord szCheckingRecord = getById(id);
+ if (szCheckingRecord == null) {
+ return dto;
+ }
+ BeanUtils.copyProperties(szCheckingRecord, dto);
+
+
+ List items = szCheckingV2ProjectItemV2Service.list(new LambdaQueryWrapper()
+ .eq(SzCheckingV2ProjectItem::getCheckingId,szCheckingRecord.getCheckingId()));
+
+
+
+ dto.setItems(items.stream()
+ .map(SzCheckingV2Service::convertToItemDto)
+ .collect(Collectors.toList()));
+
+
+ List recordsList = szCheckingProblemV2Service.list(new LambdaQueryWrapper()
+ .eq(SzCheckingProblemV2::getRecordId, szCheckingRecord.getId()));
+ List dtoList = new ArrayList<>();
+ for (SzCheckingProblemV2 record : recordsList) {
+ SzRecordDetailV2Dto.SzRecordItemDetailV2Dto detailV2Dto = new SzRecordDetailV2Dto.SzRecordItemDetailV2Dto();
+ if (null != record.getParts()) {
+ detailV2Dto.setParts(DfCheckingV2Service.getStringList(record.getParts().split(",")));
+ }
+ if (null != record.getDoc()) {
+ detailV2Dto.setProblemImages(DfCheckingV2Service.getStringList(record.getDoc().split(",")));
+ }
+ detailV2Dto.setItemId(record.getItemId());
+ detailV2Dto.setId(record.getId());
+ detailV2Dto.setPosition(record.getPosition());
+ detailV2Dto.setContent(record.getContent());
+ detailV2Dto.setProblemLevel(record.getProblemLevel());
+ detailV2Dto.setStatus(record.getStatus());
+ dtoList.add(detailV2Dto);
+ }
+ dto.setProblems(dtoList);
+ return dto;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public SzRecordDetailV2Dto edit(SzRecordDetailV2Dto szRecord, Boolean commit) {
+ // 先删后加
+ myRemovePraIds(szRecord);
+ if (commit) {
+ SzCheckingRecord szCheckingRecord = new SzCheckingRecord();
+ BeanUtils.copyProperties(szRecord, szCheckingRecord);
+ // 提交为已巡检
+ szCheckingRecord.setStatus(DfYhV2StatusEnum.INSPECTED.getValue());
+ // 如果相关缺陷大于一条就是养护中
+ if (!szRecord.getProblems().isEmpty()) {
+ szCheckingRecord.setStatus(DfYhV2StatusEnum.UNDER_MAINTENANCE.getValue());
+ } else {
+ // 提交时缺陷无数据就是无缺陷
+ szCheckingRecord.setStatus(DfYhV2StatusEnum.NO_DEFECTS.getValue());
+ }
+ mySaveOrUpdate(szCheckingRecord);
+ szRecord.setStatus(szCheckingRecord.getStatus());
+ szRecord.setRecordId(szCheckingRecord.getId());
+ szCheckingProblemV2Service.saveOrUpdateBatch(convertToImages(szRecord));
+ return szRecord;
+ } else {
+ SzCheckingRecord szCheckingRecord = new SzCheckingRecord();
+ BeanUtils.copyProperties(szRecord, szCheckingRecord);
+ // 未提交维巡查中
+ szCheckingRecord.setStatus(DfYhV2StatusEnum.DURING_INSPECTION.getValue());
+ mySaveOrUpdate(szCheckingRecord);
+ szRecord.setStatus(DfYhV2StatusEnum.DURING_INSPECTION.getValue());
+ szRecord.setRecordId(szCheckingRecord.getId());
+ szCheckingProblemV2Service.saveOrUpdateBatch(convertToImages(szRecord));
+ return szRecord;
+ }
+ }
+
+ public void mySaveOrUpdate (SzCheckingRecord szCheckingRecord) {
+ Boolean flag = org.springframework.util.StringUtils.isEmpty(szCheckingRecord.getId()) ? Boolean.TRUE :Boolean.FALSE;
+ if (flag) {
+ save(szCheckingRecord);
+ }else {
+ updateById(szCheckingRecord);
+ }
+ }
+
+ public void myRemovePraIds(SzRecordDetailV2Dto dfRecord) {
+ List ids = dfRecord.getProblems()
+ .stream()
+ .map(SzRecordDetailV2Dto.SzRecordItemDetailV2Dto::getId).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(ids)) {
+ szCheckingProblemV2Service.remove(new LambdaQueryWrapper().in(SzCheckingProblemV2::getId, ids));
+ szYhV2Service.remove(new LambdaQueryWrapper().in(SzYhV2::getProblemId, ids));
+ }
+ }
+
+ public static List convertToImages(SzRecordDetailV2Dto dfRecord) {
+ List szCheckingProblemV2s = new ArrayList<>();
+ dfRecord.getProblems().forEach(e -> {
+ SzCheckingProblemV2 szCheckingProblemV2 = new SzCheckingProblemV2();
+ BeanUtils.copyProperties(e, szCheckingProblemV2);
+ szCheckingProblemV2.setCheckingId(dfRecord.getCheckingId());
+ szCheckingProblemV2.setRecordId(dfRecord.getRecordId());
+ szCheckingProblemV2.setCheckingName(dfRecord.getCheckingName());
+ szCheckingProblemV2.setWagaCode(dfRecord.getWagaCode());
+ szCheckingProblemV2.setWagaName(dfRecord.getWagaName());
+ szCheckingProblemV2.setDutyHolderName(dfRecord.getCreateName());
+ szCheckingProblemV2.setDutyHolderId(dfRecord.getCreateUid());
+ szCheckingProblemV2.setStartDate(dfRecord.getStartDate());
+ szCheckingProblemV2.setEndDate(dfRecord.getEndDate());
+ szCheckingProblemV2.setType(dfRecord.getType());
+ szCheckingProblemV2.setCategory(dfRecord.getCategory());
+ szCheckingProblemV2.setStatus(dfRecord.getStatus());
+ szCheckingProblemV2.setItemId(e.getItemId());
+ if (null != e.getParts()) {
+ szCheckingProblemV2.setParts(String.join(",", e.getParts()));
+ }
+ if (null != e.getProblemImages()) {
+ szCheckingProblemV2.setDoc(String.join(",", e.getProblemImages()));
+ }
+ szCheckingProblemV2s.add(szCheckingProblemV2);
+ });
+ return szCheckingProblemV2s;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean myRemove(String[] ids) {
+ if (null != ids && ids.length > 0) {
+ int count = szCheckingProblemV2Service.count(new LambdaQueryWrapper()
+ .in(SzCheckingProblemV2::getCheckingId
+ , SzCheckingV2Service.getIntList(ids))
+ );
+ if (count > 0) {
+ throw new RuntimeException("请先删除项目子项");
+ }
+ szCheckingProblemV2Service.remove(new LambdaQueryWrapper()
+ .in(SzCheckingProblemV2::getCheckingId, SzCheckingV2Service.getIntList(ids)));
+
+ return remove(new LambdaQueryWrapper()
+ .in(SzCheckingRecord::getId, SzCheckingV2Service.getIntList(ids)));
+ }
+ return Boolean.FALSE;
+ }
+
+}
+
+
+
+
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2ProjectItemV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2ProjectItemV2Service.java
new file mode 100644
index 00000000..0a86b975
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2ProjectItemV2Service.java
@@ -0,0 +1,19 @@
+package com.kms.yxgh.sz.service;
+
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectItem;
+import com.kms.yxgh.sz.mapper.SzCheckingV2ProjectItemMapper;
+import com.shuili.common.core.service.BaseService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目管理项
+ *
+ * @author sy
+ * @date 2023-11-09
+ */
+@Service
+@AllArgsConstructor
+public class SzCheckingV2ProjectItemV2Service extends BaseService {
+
+}
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2Service.java
new file mode 100644
index 00000000..e62ca804
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzCheckingV2Service.java
@@ -0,0 +1,233 @@
+package com.kms.yxgh.sz.service;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kms.yxgh.df.service.DfCheckingV2Service;
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectItem;
+import com.kms.yxgh.sz.domain.SzCheckingV2ProjectManage;
+import com.kms.yxgh.sz.dto.v2.SzCheckingDetailDto;
+import com.kms.yxgh.sz.dto.v2.SzV2CheckingDto;
+import com.kms.yxgh.sz.dto.v2.SzV2CheckingSearchDto;
+import com.kms.yxgh.sz.mapper.SzCheckingV2Mapper;
+import com.shuili.common.core.domain.SearchParam;
+import com.shuili.common.core.service.BaseService;
+import com.shuili.common.utils.BeanUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.*;
+import java.util.stream.Collectors;
+/**
+ * 水闸项目管理
+ *
+ * @author sy
+ * @date 2023-11-09
+ */
+@Service
+@AllArgsConstructor
+public class SzCheckingV2Service extends BaseService {
+
+ private final SzCheckingV2ProjectItemV2Service szCheckingV2ProjectItemV2Service;
+
+ public IPage list(SearchParam sp) {
+ // 分页参数
+ Page page = new Page<>(sp.getPageNum(), sp.getPageSize());
+ SzV2CheckingSearchDto data = sp.getData();
+
+ // 构建查询条件
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (!ObjectUtils.isEmpty(data)) {
+ Optional.ofNullable(data.getCategory())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(category -> queryWrapper.eq(SzCheckingV2ProjectManage::getCategory, category));
+
+ Optional.ofNullable(data.getType())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(type -> queryWrapper.eq(SzCheckingV2ProjectManage::getType, type));
+
+ Optional.ofNullable(data.getName())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(name -> queryWrapper.like(SzCheckingV2ProjectManage::getName, name));
+ }
+
+ // 查询分页数据
+ Page queryPage = page(page, queryWrapper);
+ if (queryPage == null) {
+ return new Page<>();
+ }
+
+ // 转换为 DTO 分页对象
+ Page dtoPage = new Page<>();
+ BeanUtils.copyProperties(queryPage, dtoPage);
+
+ // 处理查询结果
+ List vos = queryPage.getRecords().stream()
+ .map(record -> {
+ SzV2CheckingDto dto = new SzV2CheckingDto();
+ BeanUtils.copyProperties(record, dto);
+ return dto;
+ })
+ .collect(Collectors.toList());
+
+ // 获取关联的项目项
+ List ids = vos.stream()
+ .map(SzV2CheckingDto::getId)
+ .collect(Collectors.toList());
+
+ if (CollectionUtils.isEmpty(ids)) {
+ return dtoPage;
+ }
+
+
+ List items =
+ szCheckingV2ProjectItemV2Service
+ .list(new LambdaQueryWrapper()
+ .in(SzCheckingV2ProjectItem::getCheckingId,ids));
+
+
+ // 将项目项关联到 DTO
+ vos.forEach(dto -> {
+ List itemDtos = items.stream()
+ .filter(item -> Objects.equals(item.getCheckingId(), dto.getId()))
+ .map(SzCheckingV2Service::convertToItemDto)
+ .collect(Collectors.toList());
+ dto.setItems(itemDtos);
+ });
+
+ dtoPage.setRecords(vos);
+ return dtoPage;
+ }
+
+
+ /**
+ * 将 DfCheckingV2ProjectItem 转换为 DfCheckingDetailDto.DfCheckingItemDto
+ *
+ * @param item 原始对象
+ * @return 转换后的 DTO 对象
+ */
+ public static SzCheckingDetailDto.SzCheckingItemDto convertToItemDto(SzCheckingV2ProjectItem item) {
+ SzCheckingDetailDto.SzCheckingItemDto itemDto = new SzCheckingDetailDto.SzCheckingItemDto();
+ itemDto.setId(item.getId());
+ itemDto.setContent(item.getContent());
+
+ // 处理 parts 字段
+ Optional.ofNullable(item.getParts())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(parts -> itemDto.setParts(Arrays.asList(parts.split(","))));
+
+ return itemDto;
+ }
+
+ public SzV2CheckingDto getInfo(String id) {
+ SzCheckingV2ProjectManage szCheckingV2ProjectManage = getById(id);
+ SzV2CheckingDto dto = new SzV2CheckingDto();
+ if (!Objects.isNull(szCheckingV2ProjectManage)) {
+ BeanUtils.copyProperties(szCheckingV2ProjectManage, dto);
+ List items = szCheckingV2ProjectItemV2Service
+ .list(new LambdaQueryWrapper()
+ .eq(SzCheckingV2ProjectItem::getCheckingId,id));
+ dto.setItems(items.stream()
+ .map(SzCheckingV2Service::convertToItemDto)
+ .collect(Collectors.toList()));
+ }
+ return dto;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public SzV2CheckingDto add(SzV2CheckingDto dto) {
+ // 将 DTO 转换为实体对象
+ SzCheckingV2ProjectManage szCheckingV2ProjectManage = new SzCheckingV2ProjectManage();
+ BeanUtils.copyProperties(dto, szCheckingV2ProjectManage);
+
+ // 保存实体对象
+ if (!save(szCheckingV2ProjectManage)) {
+ throw new RuntimeException("保存失败");
+ }
+ // 处理关联的 items
+ Optional.ofNullable(dto.getItems())
+ .filter(items -> !items.isEmpty())
+ .ifPresent(items -> {
+ List projectItems = items.parallelStream() // 使用并行流
+ .map(item -> {
+ SzCheckingV2ProjectItem projectItem = new SzCheckingV2ProjectItem();
+ projectItem.setCheckingId(szCheckingV2ProjectManage.getId());
+ projectItem.setContent(item.getContent());
+ projectItem.setParts(String.join(",", item.getParts()));
+ return projectItem;
+ })
+ .collect(Collectors.toList());
+ // 批量保存 items
+ szCheckingV2ProjectItemV2Service.saveBatch(projectItems);
+ });
+ return dto;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public SzV2CheckingDto edit(SzV2CheckingDto dfV2Ck) {
+
+
+ if (StringUtils.isBlank(dfV2Ck.getId())) {
+ return null;
+ }
+
+ SzCheckingV2ProjectManage szCheckingV2ProjectManage = getById(dfV2Ck.getId());
+ if (szCheckingV2ProjectManage == null) {
+ return null;
+ }
+
+ BeanUtils.copyProperties(dfV2Ck, szCheckingV2ProjectManage);
+
+ if (!updateById(szCheckingV2ProjectManage)) {
+ throw new RuntimeException("修改失败");
+ }
+
+ szCheckingV2ProjectItemV2Service
+ .remove(new LambdaQueryWrapper()
+ .eq(SzCheckingV2ProjectItem::getCheckingId, dfV2Ck.getId()));
+
+
+ List items = dfV2Ck.getItems().stream()
+ .map(item -> {
+ SzCheckingV2ProjectItem projectItem = new SzCheckingV2ProjectItem();
+ projectItem.setId(item.getId());
+ projectItem.setCheckingId(szCheckingV2ProjectManage.getId());
+ projectItem.setContent(item.getContent());
+ projectItem.setParts(String.join(",", item.getParts()));
+ return projectItem;
+ })
+ .collect(Collectors.toList());
+
+ if (!szCheckingV2ProjectItemV2Service.saveOrUpdateBatch(items)) {
+ throw new RuntimeException("项目子项修改失败");
+ }
+
+ return dfV2Ck;
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public boolean myRemove(String[] ids) {
+ if (null != ids && ids.length > 0) {
+ szCheckingV2ProjectItemV2Service.remove(new LambdaQueryWrapper()
+ .in(SzCheckingV2ProjectItem::getCheckingId, getIntList(ids)));
+
+ return remove(new LambdaQueryWrapper()
+ .in(SzCheckingV2ProjectManage::getId, getIntList(ids)));
+ }
+ return Boolean.FALSE;
+ }
+
+ public static List getIntList(String[] ids) {
+ return DfCheckingV2Service.getIntList(ids);
+ }
+
+ public static List getStringList(String[] ids) {
+ return DfCheckingV2Service.getStringList(ids);
+ }
+}
+
+
+
+
diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzYhV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzYhV2Service.java
new file mode 100644
index 00000000..201666e7
--- /dev/null
+++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzYhV2Service.java
@@ -0,0 +1,227 @@
+package com.kms.yxgh.sz.service;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kms.yxgh.common.ApprovalStatusEnum;
+import com.kms.yxgh.common.ApprovalTypeEnum;
+import com.kms.yxgh.common.dto.ApprovalDetailDto;
+import com.kms.yxgh.common.dto.ApprovalSearchDto;
+import com.kms.yxgh.common.dto.DocV2Dto;
+import com.kms.yxgh.common.enums.DfYhV2StatusEnum;
+import com.kms.yxgh.common.service.ApprovalService;
+import com.kms.yxgh.common.service.DefaultApprovalBusinessService;
+import com.kms.yxgh.df.domain.DfCheckingRecord;
+import com.kms.yxgh.df.domain.DfYhV2;
+import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto;
+import com.kms.yxgh.df.dto.v2.DfYhApproveDto;
+import com.kms.yxgh.df.service.DfCheckingV2Service;
+import com.kms.yxgh.sz.domain.SzCheckingRecord;
+import com.kms.yxgh.sz.domain.SzYhV2;
+import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzYhApproveDto;
+import com.kms.yxgh.sz.dto.v2.SzYhDetailV2Dto;
+import com.kms.yxgh.sz.dto.v2.SzYhListV2Dto;
+import com.kms.yxgh.sz.mapper.SzCheckingRecordV2Mapper;
+import com.kms.yxgh.sz.mapper.SzYhV2Mapper;
+import com.shuili.common.core.domain.SearchParam;
+import com.shuili.common.utils.BeanUtils;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+/**
+ * 项目管理记录
+ *
+ * @author sy
+ * @date 2023-11-09
+ */
+@Service
+@AllArgsConstructor
+public class SzYhV2Service extends DefaultApprovalBusinessService {
+
+ private ApprovalService approvalService;
+
+ private SzCheckingRecordV2Mapper szCheckingRecordV2Mapper;
+
+ public IPage list(SearchParam sp) {
+ // 分页参数
+ Page page = new Page<>(sp.getPageNum(), sp.getPageSize());
+ SzRecordSearchV2Dto data = sp.getData();
+
+ // 构建查询条件
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (!ObjectUtils.isEmpty(data)) {
+ Optional.ofNullable(data.getCategory())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(category -> queryWrapper.eq(SzYhV2::getCategory, category));
+
+ Optional.ofNullable(data.getType())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(type -> queryWrapper.eq(SzYhV2::getType, type));
+
+ Optional.ofNullable(data.getName())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(name -> queryWrapper.like(SzYhV2::getName, name));
+
+ Optional.ofNullable(data.getDutyHolder())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(dutyHolder -> queryWrapper.like(SzYhV2::getDutyHolderName, dutyHolder));
+
+ Optional.ofNullable(data.getStatus())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(status -> queryWrapper.like(SzYhV2::getStatus, status));
+
+ if (!Objects.isNull(data.getStartDate())) {
+ queryWrapper.ge(SzYhV2::getStartDate, data.getStartDate());
+ }
+
+ if (!Objects.isNull(data.getEndDate())) {
+ queryWrapper.le(SzYhV2::getEndDate, data.getEndDate());
+ }
+
+ Optional.ofNullable(data.getProblemLevel())
+ .filter(StringUtils::isNotBlank)
+ .ifPresent(problemLevel -> queryWrapper.eq(SzYhV2::getProblemLevel, problemLevel));
+
+ Optional.ofNullable(data.getRecordId())
+ .filter(StringUtils::isBlank)
+ .ifPresent(recordId -> queryWrapper.eq(SzYhV2::getRecordId, recordId));
+
+ }
+
+ // 查询分页数据
+ Page queryPage = page(page, queryWrapper);
+ if (queryPage == null) {
+ return new Page<>();
+ }
+
+ // 转换为 DTO 分页对象
+ Page dtoPage = new Page<>();
+ BeanUtils.copyProperties(queryPage, dtoPage);
+
+ // 处理查询结果
+ List vos = queryPage.getRecords().stream()
+ .map(record -> {
+ SzYhListV2Dto dto = new SzYhListV2Dto();
+ BeanUtils.copyProperties(record, dto);
+ dto.setApprovalId(approvalService.getTaskId(dto.getId(), ApprovalTypeEnum.YH_V2_RECORD));
+ return dto;
+ })
+ .collect(Collectors.toList());
+ dtoPage.setRecords(vos);
+ return dtoPage;
+ }
+
+
+ public SzYhDetailV2Dto getInfo(String id) {
+ SzYhDetailV2Dto dto = new SzYhDetailV2Dto();
+ SzYhV2 dfYhV2 = getById(id);
+ if (dfYhV2 != null) {
+ BeanUtils.copyProperties(dfYhV2, dto);
+ dto.setDoc(JSONObject.parseObject(dfYhV2.getDoc(), DocV2Dto.class));
+ }
+ return dto;
+ }
+
+
+ public Boolean myRemove(String[] ids) {
+ if (null != ids && ids.length > 0) {
+ return remove(new LambdaQueryWrapper()
+ .in(SzYhV2::getId, DfCheckingV2Service.getIntList(ids)));
+ }
+ return Boolean.FALSE;
+ }
+
+ public SzYhDetailV2Dto edit(SzYhDetailV2Dto szYh, Boolean commit) {
+ SzYhDetailV2Dto dto = new SzYhDetailV2Dto();
+ SzYhV2 szYhV2 = new SzYhV2();
+ if (commit) {
+ BeanUtils.copyProperties(szYh, szYhV2);
+ szYhV2.setDoc(getDocStrJson(szYh.getDoc()));
+ szYhV2.setStatus(DfYhV2StatusEnum.YES_UNDER.getValue());
+ saveOrUpdate(szYhV2);
+ BeanUtils.copyProperties(szYhV2, dto);
+ approvalService.submit(szYhV2.getId(), ApprovalTypeEnum.SZ_V2_YH_RECORD);
+ return dto;
+ } else {
+ BeanUtils.copyProperties(szYh, szYhV2);
+ szYhV2.setDoc(getDocStrJson(szYh.getDoc()));
+ szYhV2.setStatus(DfYhV2StatusEnum.UNDER_MAINTENANCE.getValue());
+ saveOrUpdate(szYhV2);
+ BeanUtils.copyProperties(szYhV2, dto);
+ return dto;
+ }
+ }
+
+ private static String getDocStrJson(DocV2Dto dto) {
+ if (dto == null) {
+ return null;
+ }
+ return JSONObject.toJSONString(dto);
+
+ }
+
+ @Override
+ public IPage> approvalSearch(SearchParam> sp) {
+ if (sp.getData() == null) {
+ return new Page<>();
+ }
+ return this.getBaseMapper().approvalSearchPage(new Page<>(sp.getPageNum(), sp.getPageSize()), sp.getData());
+ }
+
+ @Override
+ public void updateApprovalStatus(String formId, ApprovalStatusEnum status) {
+ String formStatus;
+ switch (status){
+ case PASS:
+ formStatus = DfYhV2StatusEnum.ACCEPTED.getValue();
+ // 验收同步修改掉记录列表的状态
+ synRecordStatus(formId,formStatus);
+ break;
+ case REJECT:
+ formStatus = DfYhV2StatusEnum.UNDER_MAINTENANCE.getValue();
+ break;
+ default:
+ formStatus = DfYhV2StatusEnum.YES_UNDER.getValue();
+ }
+ Wrapper wp = Wrappers.lambdaUpdate()
+ .eq(SzYhV2::getId, formId)
+ .set(SzYhV2::getStatus, formStatus);
+ this.update(null, wp);
+ }
+
+
+ private void synRecordStatus(String formId, String status){
+ SzYhV2 byId = getById(formId);
+ List list = list(new LambdaQueryWrapper().eq(SzYhV2::getRecordId, byId.getRecordId()));
+ if (CollectionUtils.isNotEmpty(list) && !list.isEmpty()) {
+ long count = list.stream().filter(e -> Objects.equals(DfYhV2StatusEnum.ACCEPTED.getValue(), e.getStatus())).count();
+ if (count+1==list.size()|| Objects.equals(1,list.size())) {
+ Wrapper wp = Wrappers.lambdaUpdate()
+ .eq(SzCheckingRecord::getId, byId.getRecordId())
+ .set(SzCheckingRecord::getStatus, status);
+ szCheckingRecordV2Mapper.update(null,wp);
+ }
+ }
+ }
+
+ @Override
+ public String formStatus(String formId) {
+ return ApprovalStatusEnum.SUBMITTING.getValue();
+ }
+}
+
+
+
+
diff --git a/shuili-system/src/main/resources/mapper/system/SysUserMapper.xml b/shuili-system/src/main/resources/mapper/system/SysUserMapper.xml
index efe3a0d5..c296cf3c 100644
--- a/shuili-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/shuili-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -50,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -64,7 +65,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select u.is_pc_user,u.invitee,u.is_first,u.id,u.password, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_uid, u.create_time, u.remark,
u.real_name,u.card_no,u.department,u.post,u.professional,
- d.id, d.parent_id,d.tag as dtag, d.dept_name as ddept_name, d.order_num as dorder_num, d.leader as dleader, d.status as dept_status, d.pc_logo, d.pc_background, d.admin_logo,
+ d.id,d.xzqh_id,d.parent_id,d.tag as dtag, d.dept_name as ddept_name, d.order_num as dorder_num, d.leader as dleader, d.status as dept_status, d.pc_logo, d.pc_background, d.admin_logo,
r.id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
from sys_user u
left join sys_dept d on u.dept_id = d.id
diff --git a/shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzbpMapper.xml b/shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzbpMapper.xml
index 47f1347c..183d8d83 100644
--- a/shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzbpMapper.xml
+++ b/shuili-system/src/main/resources/mapper/yg/df/BsSgcDfBzbpMapper.xml
@@ -9,14 +9,22 @@
-
+
+
+
+