Browse Source

add:提防v2

release-sy-tdsql
“lyd” 1 month ago
parent
commit
1ed40bf580
  1. 12
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java
  2. 6
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingRecord.java
  3. 2
      shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingV2ProjectItem.java
  4. 4
      shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordSearchV2Dto.java
  5. 1
      shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfYhV2Mapper.java
  6. 16
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java
  7. 47
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java
  8. 49
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java
  9. 18
      shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java

12
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java

@ -30,7 +30,7 @@ public class DfCheckingProblemV2 extends SyBaseEntity {
* 项目id
*/
@ApiModelProperty("项目id")
private String projectId;
private String checkingId;
/**
* 记录id
@ -100,7 +100,15 @@ public class DfCheckingProblemV2 extends SyBaseEntity {
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("巡查开始时间")
private Date startTime;
private Date startDate;
/**
* 巡查开始时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("巡查结束时间")
private Date endDate;

6
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingRecord.java

@ -14,7 +14,7 @@ import lombok.Data;
* @author sy
* @date 2024-01-04
*/
@TableName("bs_sgc_df_xcitem")
@TableName("bs_sgc_df_xsxcjl")
@Data
@ApiModel("项目管理记录")
public class DfCheckingRecord extends SyBaseEntity {
@ -25,14 +25,14 @@ public class DfCheckingRecord extends SyBaseEntity {
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("开始时间")
private Date startTime;
private Date startDate;
/**
* 结束时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty("结束时间")
private Date doneTime;
private Date endDate;
/**
* 巡查范围

2
shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingV2ProjectItem.java

@ -23,7 +23,7 @@ public class DfCheckingV2ProjectItem extends SyBaseEntity {
* 项目id
*/
@ApiModelProperty("项目id")
private Integer projectId;
private Integer checkingId;
/**
* 检查部位

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

@ -33,9 +33,9 @@ public class DfRecordSearchV2Dto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "开始时间")
private Date startTime;
private Date startDate;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty(value = "结束时间")
private Date endTime;
private Date endDate;
}

1
shuili-system/src/main/java/com/kms/yxgh/df/mapper/DfYhV2Mapper.java

@ -1,6 +1,7 @@
package com.kms.yxgh.df.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kms.yxgh.df.domain.DfYhV2;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kms.yxgh.common.dto.ApprovalDetailDto;

16
shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingProblemV2Service.java

@ -39,7 +39,7 @@ public class DfCheckingProblemV2Service extends BaseService<DfCheckingProblemV2M
LambdaQueryWrapper<DfCheckingProblemV2> queryWrapper = new LambdaQueryWrapper<>();
if (!ObjectUtils.isEmpty(data)) {
Optional.ofNullable(data.getCategory())
.filter(com.baomidou.mybatisplus.core.toolkit.StringUtils::isNotBlank)
.filter(StringUtils::isNotBlank)
.ifPresent(category -> queryWrapper.eq(DfCheckingProblemV2::getCategory, category));
Optional.ofNullable(data.getType())
@ -47,27 +47,31 @@ public class DfCheckingProblemV2Service extends BaseService<DfCheckingProblemV2M
.ifPresent(type -> queryWrapper.eq(DfCheckingProblemV2::getType, type));
Optional.ofNullable(data.getName())
.filter(com.baomidou.mybatisplus.core.toolkit.StringUtils::isNotBlank)
.filter(StringUtils::isNotBlank)
.ifPresent(name -> queryWrapper.like(DfCheckingProblemV2::getName, name));
Optional.ofNullable(data.getDutyHolder())
.filter(com.baomidou.mybatisplus.core.toolkit.StringUtils::isNotBlank)
.filter(StringUtils::isNotBlank)
.ifPresent(dutyHolder -> queryWrapper.like(DfCheckingProblemV2::getDutyHolderName, dutyHolder));
Optional.ofNullable(data.getStatus())
.filter(StringUtils::isNotBlank)
.ifPresent(status -> queryWrapper.like(DfCheckingProblemV2::getStatus, status));
Optional.ofNullable(data.getStartTime())
Optional.ofNullable(data.getStartDate())
.filter(startTime -> startTime != null)
.ifPresent(startTime -> queryWrapper.ge(DfCheckingProblemV2::getCreateTime, startTime));
Optional.ofNullable(data.getEndDate())
.filter(endTime -> endTime != null)
.ifPresent(endTime -> queryWrapper.le(DfCheckingProblemV2::getEndTime, endTime));
Optional.ofNullable(data.getProblemLevel())
.filter(problemLevel -> problemLevel != null)
.filter(StringUtils::isNotBlank)
.ifPresent(problemLevel -> queryWrapper.le(DfCheckingProblemV2::getProblemLevel, problemLevel));
Optional.ofNullable(data.getRecordId())
.filter(StringUtils::isNotBlank)
.filter(StringUtils::isBlank)
.ifPresent(recordId -> queryWrapper.eq(DfCheckingProblemV2::getProblemLevel, recordId));
}

47
shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java

@ -11,6 +11,7 @@ import com.kms.yxgh.common.enums.DfYhV2StatusEnum;
import com.kms.yxgh.df.domain.DfCheckingProblemV2;
import com.kms.yxgh.df.domain.DfCheckingRecord;
import com.kms.yxgh.df.domain.DfCheckingV2ProjectItem;
import com.kms.yxgh.df.domain.DfCheckingV2ProjectManage;
import com.kms.yxgh.df.dto.DfCheckingDetailDto;
import com.kms.yxgh.df.dto.v2.DfProblemV2Dto;
import com.kms.yxgh.df.dto.v2.DfRecordDetailV2Dto;
@ -69,11 +70,11 @@ public class DfCheckingRecordV2Service extends BaseService<DfCheckingRecordV2Map
.filter(StringUtils::isNotBlank)
.ifPresent(status -> queryWrapper.like(DfCheckingRecord::getStatus, status));
Optional.ofNullable(data.getStartTime())
Optional.ofNullable(data.getStartDate())
.filter(startTime -> startTime != null)
.ifPresent(startTime -> queryWrapper.ge(DfCheckingRecord::getCreateTime, startTime));
Optional.ofNullable(data.getEndTime())
Optional.ofNullable(data.getEndDate())
.filter(endTime -> endTime != null)
.ifPresent(endTime -> queryWrapper.le(DfCheckingRecord::getCreateTime, endTime));
}
@ -111,7 +112,7 @@ public class DfCheckingRecordV2Service extends BaseService<DfCheckingRecordV2Map
List<DfCheckingV2ProjectItem> items = dfCheckingV2ProjectItemV2Service.list(
Wrappers.<DfCheckingV2ProjectItem>lambdaQuery()
.eq(DfCheckingV2ProjectItem::getProjectId, id)
.eq(DfCheckingV2ProjectItem::getCheckingId, id)
);
dto.setItems(items.stream()
.map(DfCheckingV2Service::convertToItemDto)
@ -143,6 +144,14 @@ public class DfCheckingRecordV2Service extends BaseService<DfCheckingRecordV2Map
BeanUtils.copyProperties(dfRecord, dfCheckingRecord);
// 提交为已巡检
dfCheckingRecord.setStatus(DfYhV2StatusEnum.INSPECTED.getValue());
// 如果相关缺陷大于一条就是养护中
if (!dfRecord.getProblems().isEmpty()) {
dfCheckingRecord.setStatus(DfYhV2StatusEnum.UNDER_MAINTENANCE.getValue());
}
// 提交时缺陷无数据就是无缺陷
if (dfRecord.getProblems().isEmpty()) {
dfCheckingRecord.setStatus(DfYhV2StatusEnum.NO_DEFECTS.getValue());
}
updateById(dfCheckingRecord);
dfCheckingProblemV2Service.updateBatchById(convertToImages(dfRecord.getProblems()));
return dfRecord;
@ -176,23 +185,21 @@ public class DfCheckingRecordV2Service extends BaseService<DfCheckingRecordV2Map
}
@Transactional(rollbackFor = Exception.class)
public Boolean myRemove(String[] ids) {
return Optional.ofNullable(ids)
.filter(array -> array.length > 0)
.map(array -> {
int count = dfCheckingProblemV2Service.count(new LambdaQueryWrapper<DfCheckingProblemV2>()
.eq(DfCheckingProblemV2::getProjectId, DfCheckingV2Service.getIntList(array))
);
if (count > 0) {
throw new RuntimeException("请先删除项目子项");
}
Arrays.stream(array)
.parallel() // 使用并行流
.forEach(e->{
dfCheckingProblemV2Service.remove(new LambdaQueryWrapper<DfCheckingProblemV2>().eq(DfCheckingProblemV2::getRecordId,e));
});
return removeById(ids);
})
.orElse(false);
if ( null!= ids && ids.length > 0) {
int count = dfCheckingProblemV2Service.count(new LambdaQueryWrapper<DfCheckingProblemV2>()
.in(DfCheckingProblemV2::getCheckingId
, DfCheckingV2Service.getIntList(ids))
);
if (count > 0) {
throw new RuntimeException("请先删除项目子项");
}
dfCheckingProblemV2Service.remove(new LambdaQueryWrapper<DfCheckingProblemV2>()
.in(DfCheckingProblemV2::getCheckingId, DfCheckingV2Service.getIntList(ids)));
return remove(new LambdaQueryWrapper<DfCheckingRecord>()
.in(DfCheckingRecord::getId, DfCheckingV2Service.getIntList(ids)));
}
return Boolean.FALSE;
}
}

49
shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java

@ -1,6 +1,8 @@
package com.kms.yxgh.df.service;
import com.alibaba.druid.sql.visitor.functions.If;
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;
@ -77,15 +79,19 @@ public class DfCheckingV2Service extends BaseService<DfCheckingV2Mapper, DfCheck
.map(DfV2CheckingDto::getId)
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(ids)) {
return dtoPage;
}
List<DfCheckingV2ProjectItem> items = dfCheckingV2ProjectItemV2Service.list(
Wrappers.<DfCheckingV2ProjectItem>lambdaQuery()
.in(DfCheckingV2ProjectItem::getProjectId, ids)
.in(DfCheckingV2ProjectItem::getCheckingId, ids)
);
// 将项目项关联到 DTO
vos.forEach(dto -> {
List<DfCheckingDetailDto.DfCheckingItemDto> itemDtos = items.stream()
.filter(item -> Objects.equals(item.getProjectId(),dto.getId()))
.filter(item -> Objects.equals(item.getCheckingId(),dto.getId()))
.map(DfCheckingV2Service::convertToItemDto)
.collect(Collectors.toList());
dto.setItems(itemDtos);
@ -123,7 +129,7 @@ public class DfCheckingV2Service extends BaseService<DfCheckingV2Mapper, DfCheck
List<DfCheckingV2ProjectItem> items = dfCheckingV2ProjectItemV2Service.list(
Wrappers.<DfCheckingV2ProjectItem>lambdaQuery()
.eq(DfCheckingV2ProjectItem::getProjectId, id)
.eq(DfCheckingV2ProjectItem::getCheckingId, id)
);
dto.setItems(items.stream()
@ -150,7 +156,7 @@ public class DfCheckingV2Service extends BaseService<DfCheckingV2Mapper, DfCheck
List<DfCheckingV2ProjectItem> projectItems = items.parallelStream() // 使用并行流
.map(item -> {
DfCheckingV2ProjectItem projectItem = new DfCheckingV2ProjectItem();
projectItem.setProjectId(Integer.valueOf(dfCheckingV2ProjectManage.getId()));
projectItem.setCheckingId(Integer.valueOf(dfCheckingV2ProjectManage.getId()));
projectItem.setContent(item.getContent());
projectItem.setParts(String.join(",", item.getParts()));
return projectItem;
@ -183,21 +189,21 @@ public class DfCheckingV2Service extends BaseService<DfCheckingV2Mapper, DfCheck
dfCheckingV2ProjectItemV2Service
.remove(new LambdaQueryWrapper<DfCheckingV2ProjectItem>()
.eq(DfCheckingV2ProjectItem::getProjectId,dfV2Ck.getId()));
.eq(DfCheckingV2ProjectItem::getCheckingId,dfV2Ck.getId()));
List<DfCheckingV2ProjectItem> items = dfV2Ck.getItems().stream()
.map(item -> {
DfCheckingV2ProjectItem projectItem = new DfCheckingV2ProjectItem();
projectItem.setId(item.getId());
projectItem.setProjectId(Integer.valueOf(dfV2Ck.getId()));
projectItem.setCheckingId(Integer.valueOf(dfCheckingV2ProjectManage.getId()));
projectItem.setContent(item.getContent());
projectItem.setParts(String.join(",", item.getParts()));
return projectItem;
})
.collect(Collectors.toList());
if (!dfCheckingV2ProjectItemV2Service.updateBatchById(items)) {
if (!dfCheckingV2ProjectItemV2Service.saveOrUpdateBatch(items)) {
throw new RuntimeException("项目子项修改失败");
}
@ -206,21 +212,20 @@ public class DfCheckingV2Service extends BaseService<DfCheckingV2Mapper, DfCheck
@Transactional(rollbackFor = Exception.class)
public boolean myRemove(String[] ids) {
return Optional.ofNullable(ids)
.filter(array -> array.length > 0)
.map(array -> {
int count = dfCheckingV2ProjectItemV2Service.count(new LambdaQueryWrapper<DfCheckingV2ProjectItem>()
.eq(DfCheckingV2ProjectItem::getProjectId, getIntList(array))
);
if (count > 0) {
throw new RuntimeException("请先删除项目子项");
}
Arrays.stream(array)
.parallel() // 使用并行流
.forEach(dfCheckingV2ProjectItemV2Service::removeById);
return removeById(ids);
})
.orElse(false);
if ( null!= ids && ids.length > 0) {
int count = dfCheckingV2ProjectItemV2Service.count(new LambdaQueryWrapper<DfCheckingV2ProjectItem>()
.in(DfCheckingV2ProjectItem::getCheckingId, getIntList(ids))
);
if (count > 0) {
throw new RuntimeException("请先删除项目子项");
}
dfCheckingV2ProjectItemV2Service.remove(new LambdaQueryWrapper<DfCheckingV2ProjectItem>()
.in(DfCheckingV2ProjectItem::getCheckingId, getIntList(ids)));
return remove(new LambdaQueryWrapper<DfCheckingV2ProjectManage>()
.in(DfCheckingV2ProjectManage::getId, getIntList(ids)));
}
return Boolean.FALSE;
}
public static List<Integer> getIntList(String[] ids) {
if (ids == null) {

18
shuili-system/src/main/java/com/kms/yxgh/df/service/DfYhV2Service.java

@ -13,6 +13,8 @@ import com.kms.yxgh.common.dto.ApprovalDetailDto;
import com.kms.yxgh.common.dto.ApprovalSearchDto;
import com.kms.yxgh.common.service.DefaultApprovalBusinessService;
import com.kms.yxgh.common.dto.DocV2Dto;
import com.kms.yxgh.df.domain.DfCheckingV2ProjectItem;
import com.kms.yxgh.df.domain.DfCheckingV2ProjectManage;
import com.kms.yxgh.df.domain.DfYhV2;
import com.kms.yxgh.df.dto.v2.*;
import com.kms.yxgh.df.mapper.DfYhV2Mapper;
@ -64,7 +66,7 @@ public class DfYhV2Service extends DefaultApprovalBusinessService<DfYhV2Mapper,
.filter(StringUtils::isNotBlank)
.ifPresent(status -> queryWrapper.like(DfYhV2::getStatus, status));
Optional.ofNullable(data.getStartTime())
Optional.ofNullable(data.getStartDate())
.filter(startTime -> startTime != null)
.ifPresent(startTime -> queryWrapper.ge(DfYhV2::getCreateTime, startTime));
@ -113,15 +115,11 @@ public class DfYhV2Service extends DefaultApprovalBusinessService<DfYhV2Mapper,
public Boolean myRemove(String[] ids) {
return Optional.ofNullable(ids)
.filter(array -> array.length > 0)
.map(array -> {
Arrays.stream(array)
.parallel() // 使用并行流
.forEach(this::removeById);
return removeById(ids);
})
.orElse(false);
if ( null!= ids && ids.length > 0) {
return remove(new LambdaQueryWrapper<DfYhV2>()
.in(DfYhV2::getId, DfCheckingV2Service.getIntList(ids)));
}
return Boolean.FALSE;
}
public DfYhDetailV2Dto edit(DfRecordDetailV2Dto dfYh, Boolean commit) {

Loading…
Cancel
Save