Browse Source

feat: 巡视检查详情返回计划的巡检计划文档

master_tdsql
hxh 1 year ago
parent
commit
ba0dea1302
  1. 3
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanDetailDto.java
  2. 4
      shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailDto.java
  3. 4
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java
  4. 8
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java
  5. 125
      shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java
  6. 4
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java
  7. 58
      shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java
  8. 24
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java
  9. 10
      shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java
  10. 1
      sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql

3
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfPlanDetailDto.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -55,7 +56,7 @@ public class DfPlanDetailDto {
private List<OperatorDto> operators;
@ApiModelProperty("检查依据文档")
private List<String> files;
private List<String> files = Collections.emptyList();
public String getCycleType() {
if (cycleType == null || cycleType.isEmpty())

4
shuili-system/src/main/java/com/kms/yxgh/df/dto/DfRecordDetailDto.java

@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Collections;
import java.util.List;
/**
@ -36,6 +37,9 @@ public class DfRecordDetailDto {
@ApiModelProperty("巡查项")
private List<DfRecordItemDto> items;
@ApiModelProperty("依据文件")
private List<String> files = Collections.emptyList();
@Data
public static class DfRecordItemDto {

4
shuili-system/src/main/java/com/kms/yxgh/df/service/DfPlanService.java

@ -62,7 +62,9 @@ public class DfPlanService extends BaseService<DfPlanMapper, DfPlan> {
DfPlanDetailDto dto = BeanCopyUtils.copy(dfPlan, DfPlanDetailDto.class);
if (dto != null) {
dto.setOtherConfig(JSON.parseObject(dfPlan.getOtherConfig()));
dto.setFiles(JSON.parseArray(dfPlan.getFiles(), String.class));
if (StringUtils.isNotEmpty(dfPlan.getFiles())) {
dto.setFiles(JSON.parseArray(dfPlan.getFiles(), String.class));
}
Wrapper<DfPlanOperator> wp = Wrappers.<DfPlanOperator>lambdaQuery()
.select(DfPlanOperator::getId, DfPlanOperator::getOperatorUid,
DfPlanOperator::getOperatorName)

8
shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java

@ -160,11 +160,19 @@ public class DfRecordService extends BaseService<DfRecordMapper, DfRecord> {
return itemDto;
}));
}
setFiles(dto);
return dto;
}
return null;
}
private void setFiles(DfRecordDetailDto dto) {
if (dto != null && StringUtils.isNotEmpty(dto.getPlanId())) {
DfPlanDetailDto planDetailDto = dfPlanService.getDetailById(dto.getPlanId());
dto.setFiles(planDetailDto.getFiles());
}
}
@Transactional(rollbackFor = Exception.class)
public DfRecordDetailDto update(DfRecordDetailDto dfRecord) {
if (CollectionUtil.isNotEmpty(dfRecord.getItems())) {

125
shuili-system/src/main/java/com/kms/yxgh/sz/domain/SzPlan.java

@ -6,9 +6,10 @@ import com.kms.yxgh.base.SyBaseEntity;
import com.shuili.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import java.util.Date;
/**
* 水闸巡视检查计划对象 bs_sgc_sz_xsjh
@ -21,65 +22,67 @@ import lombok.Data;
@ApiModel("水闸巡视检查计划")
public class SzPlan extends SyBaseEntity {
private static final long serialVersionUID = 1L;
/**
* 巡查ID
*/
@Excel(name = "巡查ID")
@ApiModelProperty("巡查ID")
private String xcId;
@ApiModelProperty("水闸编码")
private String wagaCode;
/**
* 名称
*/
@Excel(name = "名称")
@ApiModelProperty("名称")
private String name;
/**
* 巡查类型
*/
@Excel(name = "巡查类型")
@ApiModelProperty("巡查类型")
private String type;
/**
* 检查次数
*/
@Excel(name = "检查次数")
@ApiModelProperty("检查次数")
private Long frequency;
/**
* 周期
*/
@Excel(name = "周期")
@ApiModelProperty("周期")
private String cycleType;
/**
* 是否提醒
*/
@ApiModelProperty("是否提醒")
private Boolean isReminder;
/**
* 提醒时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("提醒时间")
private Date reminderTime;
/**
* 附加配置
*/
@Excel(name = "附加配置")
@ApiModelProperty("附加配置")
private String otherConfig;
private static final long serialVersionUID = 1L;
/**
* 巡查ID
*/
@Excel(name = "巡查ID")
@ApiModelProperty("巡查ID")
private String xcId;
@ApiModelProperty("水闸编码")
private String wagaCode;
/**
* 名称
*/
@Excel(name = "名称")
@ApiModelProperty("名称")
private String name;
/**
* 巡查类型
*/
@Excel(name = "巡查类型")
@ApiModelProperty("巡查类型")
private String type;
/**
* 检查次数
*/
@Excel(name = "检查次数")
@ApiModelProperty("检查次数")
private Long frequency;
/**
* 周期
*/
@Excel(name = "周期")
@ApiModelProperty("周期")
private String cycleType;
/**
* 是否提醒
*/
@ApiModelProperty("是否提醒")
private Boolean isReminder;
/**
* 提醒时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd")
@ApiModelProperty("提醒时间")
private Date reminderTime;
/**
* 附加配置
*/
@Excel(name = "附加配置")
@ApiModelProperty("附加配置")
private String otherConfig;
private String files;
}

4
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzPlanDetailDto.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@ -54,6 +55,9 @@ public class SzPlanDetailDto {
@ApiModelProperty("执行人")
private List<OperatorDto> operators;
@ApiModelProperty("检查依据文档")
private List<String> files = Collections.emptyList();
public String getCycleType() {
if (cycleType == null || cycleType.isEmpty())
return "0";

58
shuili-system/src/main/java/com/kms/yxgh/sz/dto/SzRecordDetailDto.java

@ -2,9 +2,11 @@ package com.kms.yxgh.sz.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
import lombok.Data;
import java.util.Collections;
import java.util.List;
/**
* @ClassName: SzRecordDetailDto
* @Description: TODO
@ -17,40 +19,44 @@ import lombok.Data;
@ApiModel("水闸巡视检查记录详情")
public class SzRecordDetailDto {
@ApiModelProperty("巡查记录")
private String id;
@ApiModelProperty("巡查记录")
private String id;
@ApiModelProperty("巡查计划ID")
private String planId;
@ApiModelProperty("巡查计划ID")
private String planId;
@ApiModelProperty("水闸ID")
private String wagaCode;
@ApiModelProperty("水闸ID")
private String wagaCode;
@ApiModelProperty("巡查记录名称")
private String name;
@ApiModelProperty("巡查记录名称")
private String name;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("巡查项")
private List<SzRecordItemDto> items;
@ApiModelProperty("巡查项")
private List<SzRecordItemDto> items;
@Data
public static class SzRecordItemDto {
@ApiModelProperty("主键")
private String id;
@ApiModelProperty("依据文件")
private List<String> files = Collections.emptyList();
@ApiModelProperty("检查部位")
private List<String> parts;
@Data
public static class SzRecordItemDto {
@ApiModelProperty("检查内容")
private String content;
@ApiModelProperty("主键")
private String id;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("检查部位")
private List<String> parts;
@ApiModelProperty("检查内容")
private String content;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("存在问题")
private String problem;
}
@ApiModelProperty("存在问题")
private String problem;
}
}

24
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzPlanService.java

@ -59,10 +59,13 @@ public class SzPlanService extends BaseService<SzPlanMapper, SzPlan> {
}
public SzPlanDetailDto getDetailById(String id) {
SzPlan SzPlan = this.getById(id);
SzPlanDetailDto dto = BeanCopyUtils.copy(SzPlan, SzPlanDetailDto.class);
SzPlan szPlan = this.getById(id);
SzPlanDetailDto dto = BeanCopyUtils.copy(szPlan, SzPlanDetailDto.class);
if (dto != null) {
dto.setOtherConfig(JSON.parseObject(SzPlan.getOtherConfig()));
dto.setOtherConfig(JSON.parseObject(szPlan.getOtherConfig()));
if (StringUtils.isNotEmpty(szPlan.getFiles())) {
dto.setFiles(JSON.parseArray(szPlan.getFiles(), String.class));
}
Wrapper<SzPlanOperator> wp = Wrappers.<SzPlanOperator>lambdaQuery()
.select(SzPlanOperator::getId, SzPlanOperator::getOperatorUid,
SzPlanOperator::getOperatorName)
@ -86,6 +89,7 @@ public class SzPlanService extends BaseService<SzPlanMapper, SzPlan> {
szPlan.setId(null);
if (checkNameDistinct(szPlan.getId(), szPlan.getName())) {
szPlan.setOtherConfig(JSON.toJSONString(dto.getOtherConfig()));
szPlan.setFiles(JSON.toJSONString(dto.getFiles()));
getBaseMapper().insert(szPlan);
String id = szPlan.getId();
if (CollectionUtil.isNotEmpty(dto.getOperators())) {
@ -113,12 +117,13 @@ public class SzPlanService extends BaseService<SzPlanMapper, SzPlan> {
@Transactional(rollbackFor = Exception.class)
public SzPlanDetailDto update(SzPlanDetailDto dto) {
if (exist(dto.getId())) {
SzPlan SzPlan = BeanCopyUtils.copy(dto, SzPlan.class);
if (SzPlan != null) {
if (checkNameDistinct(SzPlan.getId(), SzPlan.getName())) {
SzPlan.setOtherConfig(JSON.toJSONString(dto.getOtherConfig()));
getBaseMapper().updateById(SzPlan);
String id = SzPlan.getId();
SzPlan szPlan = BeanCopyUtils.copy(dto, SzPlan.class);
if (szPlan != null) {
if (checkNameDistinct(szPlan.getId(), szPlan.getName())) {
szPlan.setOtherConfig(JSON.toJSONString(dto.getOtherConfig()));
szPlan.setFiles(JSON.toJSONString(dto.getFiles()));
getBaseMapper().updateById(szPlan);
String id = szPlan.getId();
deleteItems(id);
if (CollectionUtil.isNotEmpty(dto.getOperators())) {
dto.getOperators().forEach(insertOperator(id));
@ -145,6 +150,7 @@ public class SzPlanService extends BaseService<SzPlanMapper, SzPlan> {
}
return rt;
}
private boolean isUse(String id) {
Wrapper<SzRecord> wp = Wrappers.<SzRecord>lambdaQuery()
.eq(SzRecord::getPlanId, id);

10
shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java

@ -158,11 +158,21 @@ public class SzRecordService extends BaseService<SzRecordMapper, SzRecord> {
return itemDto;
}));
}
setFiles(dto);
return dto;
}
return null;
}
private void setFiles(SzRecordDetailDto dto) {
if (dto != null && StringUtils.isNotEmpty(dto.getPlanId())) {
SzPlanDetailDto planDetailDto = szPlanService.getDetailById(dto.getPlanId());
if (planDetailDto != null) {
dto.setFiles(planDetailDto.getFiles());
}
}
}
@Transactional(rollbackFor = Exception.class)
public SzRecordDetailDto update(SzRecordDetailDto szRecord) {
if (CollectionUtil.isNotEmpty(szRecord.getItems())) {

1
sql/sy/v1.2.0/全量脚本/v1.2.0-all.sql

@ -547,6 +547,7 @@ CREATE TABLE `bs_sgc_sz_xsjh` (
`IS_REMINDER` int COLLATE utf8mb4_general_ci COMMENT '是否提醒',
`REMINDER_TIME` datetime DEFAULT NULL COMMENT '提醒时间',
`OTHER_CONFIG` text COLLATE utf8mb4_general_ci COMMENT '附加配置',
`FILES` text COLLATE utf8mb4_general_ci COMMENT '巡查依据附件文档',
`REMARK` text COLLATE utf8mb4_general_ci COMMENT '备注',
`CREATE_UID` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
`CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',

Loading…
Cancel
Save