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 d697602a..a25b5a10 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 @@ -20,6 +20,7 @@ import org.springframework.util.CollectionUtils; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -129,6 +130,14 @@ public class UserUtils { return null; } + public static String getUserId () { + SysUser user = getUser(); + if (Objects.isNull(user)) { + return null; + } + return user.getId(); + } + public static Set getPermissions() { SysUser user = getUser(); return sysPermissionService.getMenuPermission(user); diff --git a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java index bc9d6a99..3b0920d2 100644 --- a/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java +++ b/shuili-system/src/main/java/com/kms/yg/df/service/BsSgcDfSpPlayService.java @@ -121,7 +121,7 @@ public class BsSgcDfSpPlayService { DfSpPlayQueDto dfSpPlayQueDto = new DfSpPlayQueDto(); dfSpPlayQueDto.setCameraId(cameraId); DfSpPlayDto play = play(dfSpPlayQueDto); - if (null != play) { + if (null != play && null != play.getUrlsMap()) { dfSpPlayGridDto.getUrlsMapList().add(play.getUrlsMap()); } } catch (Exception e) { diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java b/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java index 0cf93a0c..df34a33f 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/domain/DfCheckingProblemV2.java @@ -32,8 +32,8 @@ public class DfCheckingProblemV2 extends SyBaseEntity { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; @ApiModelProperty("问题等级") private String problemLevel; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProReceiveFeedbackV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProReceiveFeedbackV2Dto.java index eece0106..267431f4 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProReceiveFeedbackV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProReceiveFeedbackV2Dto.java @@ -7,17 +7,20 @@ import lombok.Data; import java.util.Collections; import java.util.List; +/** + * @author s2y23 + */ @Data @ApiModel("团队管理关联信息对象") public class DfProReceiveFeedbackV2Dto { @ApiModelProperty("项目下拉") - private List dropDownList = Collections.EMPTY_LIST; + private List dropDownList; @ApiModelProperty("单位下拉") - private List unitList = Collections.EMPTY_LIST; + private List unitList; @Data - public class DfProjectDropDownItemV2Dto { + public static class DfProjectDropDownItemV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") @@ -34,10 +37,12 @@ public class DfProReceiveFeedbackV2Dto { private String category; @ApiModelProperty("创建者名称") private String personName; + @ApiModelProperty("创建者id") + private String createUid; } @Data - public class DfTeamUnitV2Dto { + public static class DfTeamUnitV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProblemV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProblemV2Dto.java index 3e0d839b..3c134dea 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProblemV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfProblemV2Dto.java @@ -17,8 +17,8 @@ public class DfProblemV2Dto { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; /** * id */ diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordDetailV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordDetailV2Dto.java index 9c80b803..2ff2a3e9 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordDetailV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordDetailV2Dto.java @@ -19,6 +19,15 @@ import java.util.List; @ApiModel("堤防巡视检查记录详情v2") public class DfRecordDetailV2Dto { + @ApiModelProperty("巡检负责单位") + private String responsibleUnit; + @ApiModelProperty("巡检负责单位id") + private String responsibleUnitId; + @ApiModelProperty("巡查责任人") + private String dutyHolderName; + @ApiModelProperty("巡查责任人id") + private String dutyHolderId; + @ApiModelProperty("问题统计数量") private int problemCount; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordSearchV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordSearchV2Dto.java index ff6d64ec..eedfdc5d 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordSearchV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfRecordSearchV2Dto.java @@ -16,6 +16,8 @@ public class DfRecordSearchV2Dto implements IAdcdDeptRole { @ApiModelProperty(value = "行政区划") private String adcd; + @ApiModelProperty(value = "巡查项目id") + private String checkingId; @ApiModelProperty("堤防名称") private String dikeName; diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingDto.java index b63bc141..3cd604c3 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingDto.java @@ -14,6 +14,7 @@ import java.util.List; @Data public class DfV2CheckingDto { + @ApiModelProperty("任务名称") private String taskName; @ApiModelProperty("巡检负责单位") diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingSearchDto.java index 6e76b2e1..ec06bb05 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/dto/v2/DfV2CheckingSearchDto.java @@ -23,6 +23,10 @@ public class DfV2CheckingSearchDto implements IAdcdDeptRole { private String type; @ApiModelProperty("巡查类别") private String category; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "堤防名称") + private String dikeName; public String getDikeCode() { if (StringUtils.isEmpty(this.dikeCode)) { diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java index b8a15b34..2506106b 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingRecordV2Service.java @@ -7,10 +7,7 @@ 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.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.DfYhV2; +import com.kms.yxgh.df.domain.*; import com.kms.yxgh.df.dto.v2.DfRecordDetailV2Dto; import com.kms.yxgh.df.dto.v2.DfRecordSearchV2Dto; import com.kms.yxgh.df.mapper.DfCheckingRecordV2Mapper; @@ -23,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -41,6 +39,9 @@ public class DfCheckingRecordV2Service extends BaseService list(SearchParam sp) { // 分页参数 Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); @@ -62,6 +63,11 @@ public class DfCheckingRecordV2Service extends BaseService() .eq(StringUtils.isNotBlank(record.getId()), DfCheckingProblemV2::getRecordId, record.getId()))); + DfCheckingV2ProjectManage manage = dfCheckingV2Service.getOne(new LambdaQueryWrapper().eq(DfCheckingV2ProjectManage::getId, record.getCheckingId())); + if (!Objects.isNull(manage)) { + dto.setResponsibleUnit(manage.getResponsibleUnit()); + dto.setResponsibleUnitId(manage.getResponsibleUnitId()); + } return dto; }) .collect(Collectors.toList()); diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java index a0304618..4e816428 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfCheckingV2Service.java @@ -17,6 +17,7 @@ import com.kms.yxgh.df.dto.v2.DfV2CheckingDto; import com.kms.yxgh.df.dto.v2.DfV2CheckingSearchDto; import com.kms.yxgh.df.mapper.DfCheckingV2Mapper; import com.kms.yxgh.util.BeanCopyUtils; +import com.kms.yxgh.util.StreamUtils; import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; @@ -25,13 +26,9 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; + /** * 项目管理 * @@ -76,6 +73,7 @@ public class DfCheckingV2Service extends BaseService items = dfCheckingV2ProjectItemV2Service.list( Wrappers.lambdaQuery() .in(DfCheckingV2ProjectItem::getCheckingId, ids) @@ -219,34 +217,38 @@ public class DfCheckingV2Service extends BaseService list = bsSgcDfManateamService.list(new LambdaQueryWrapper() - .apply(" distinct dike_code ") - .eq(BsSgcDfManateam::getCreateUid, userId)); + .eq(BsSgcDfManateam::getCreateUid, userId) + ); + list = StreamUtils.distinctByKeyFast(list, BsSgcDfManateam::getDikeCode); if (CollectionUtils.isEmpty(list)) { return receiveV2Dto; } receiveV2Dto.setUnitList(BeanCopyUtils.copyList(list, DfProReceiveFeedbackV2Dto.DfTeamUnitV2Dto.class)); List manageList = this.baseMapper.selectList(new LambdaQueryWrapper() - .apply(" distinct dike_code ") - .in(DfCheckingV2ProjectManage::getDikeCode, list.stream() - .map(BsSgcDfManateam::getDikeCode) - .collect(Collectors.toList()))); + .in(DfCheckingV2ProjectManage::getDikeCode, list.stream() + .map(BsSgcDfManateam::getDikeCode) + .collect(Collectors.toList())) + ); + manageList = StreamUtils.distinctByKeyFast(manageList, DfCheckingV2ProjectManage::getDikeCode); Map personNameList = list.stream() .collect(Collectors.toMap(BsSgcDfManateam::getDikeCode, BsSgcDfManateam::getPersonName)); receiveV2Dto.setDropDownList(manageList.stream().map(e -> { DfProReceiveFeedbackV2Dto.DfProjectDropDownItemV2Dto copy = BeanCopyUtils.copy(e, DfProReceiveFeedbackV2Dto.DfProjectDropDownItemV2Dto.class); - copy.setPersonName(personNameList.getOrDefault(copy.getDikeCode(), StringUtils.EMPTY)); + if (!Objects.isNull(copy)) { + copy.setPersonName(personNameList.getOrDefault(copy.getDikeCode(), StringUtils.EMPTY)); + } return copy; }).collect(Collectors.toList())); return receiveV2Dto; } + } diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/domain/DwCheckingProblemV2.java b/shuili-system/src/main/java/com/kms/yxgh/dw/domain/DwCheckingProblemV2.java index 1872962f..f536e5ab 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/domain/DwCheckingProblemV2.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/domain/DwCheckingProblemV2.java @@ -27,8 +27,8 @@ public class DwCheckingProblemV2 extends SyBaseEntity { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; /** * 问题位置 diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProReceiveFeedbackV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProReceiveFeedbackV2Dto.java index 73f3338c..b6d99847 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProReceiveFeedbackV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProReceiveFeedbackV2Dto.java @@ -7,17 +7,20 @@ import lombok.Data; import java.util.Collections; import java.util.List; +/** + * @author s2y23 + */ @Data @ApiModel("团队管理关联信息对象") public class DwProReceiveFeedbackV2Dto { @ApiModelProperty("项目下拉") - private List dropDownList = Collections.EMPTY_LIST; + private List dropDownList ; @ApiModelProperty("单位下拉") - private List unitList = Collections.EMPTY_LIST; + private List unitList; @Data - public class DwProjectDropDownItemV2Dto { + public static class DwProjectDropDownItemV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") @@ -34,10 +37,12 @@ public class DwProReceiveFeedbackV2Dto { private String category; @ApiModelProperty("创建者名称") private String personName; + @ApiModelProperty("创建者id") + private String createUid; } @Data - public class DwTeamUnitV2Dto { + public static class DwTeamUnitV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProblemV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProblemV2Dto.java index 1d1f50d9..ee3889ee 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProblemV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwProblemV2Dto.java @@ -17,8 +17,8 @@ public class DwProblemV2Dto { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; @ApiModelProperty("工程编码") private String dikeCode; diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordDetailV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordDetailV2Dto.java index 0b2ec208..5ddd29fb 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordDetailV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordDetailV2Dto.java @@ -14,10 +14,23 @@ import java.util.Collections; import java.util.Date; import java.util.List; +/** + * @author s2y23 + */ @Data @ApiModel("堤防巡视检查记录详情v2") public class DwRecordDetailV2Dto { + @ApiModelProperty("巡查责任人") + private String dutyHolderName; + @ApiModelProperty("巡查责任人id") + private String dutyHolderId; + @ApiModelProperty("巡检负责单位") + private String responsibleUnit; + @ApiModelProperty("巡检负责单位id") + private String responsibleUnitId; + + @ApiModelProperty("问题统计数量") private int problemCount; diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordSearchV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordSearchV2Dto.java index 706e8ddd..b3178764 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordSearchV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwRecordSearchV2Dto.java @@ -13,7 +13,8 @@ import java.util.Date; @Data @ApiModel("工程巡视检查记录检索条件v2") public class DwRecordSearchV2Dto implements IAdcdDeptRole { - + @ApiModelProperty("项目id") + private String checkingId; @ApiModelProperty("工程损坏单位数值") private String damageUnit; diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwV2CheckingSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwV2CheckingSearchDto.java index bf2c875c..8d691c49 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwV2CheckingSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/dto/DwV2CheckingSearchDto.java @@ -19,6 +19,10 @@ public class DwV2CheckingSearchDto implements IAdcdDeptRole { private String type; @ApiModelProperty("巡查类别") private String category; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "堤防名称") + private String dikeName; public String getDikeCode() { if (StringUtils.isEmpty(this.dikeCode)) { diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingRecordV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingRecordV2Service.java index 0d346000..236dfc48 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingRecordV2Service.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingRecordV2Service.java @@ -7,10 +7,8 @@ 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.enums.DfYhV2StatusEnum; -import com.kms.yxgh.dw.domain.DwCheckingProblemV2; -import com.kms.yxgh.dw.domain.DwCheckingRecord; -import com.kms.yxgh.dw.domain.DwCheckingV2ProjectItem; -import com.kms.yxgh.dw.domain.DwYhV2; +import com.kms.yxgh.df.domain.DfCheckingV2ProjectManage; +import com.kms.yxgh.dw.domain.*; import com.kms.yxgh.dw.dto.DwRecordDetailV2Dto; import com.kms.yxgh.dw.dto.DwRecordSearchV2Dto; import com.kms.yxgh.dw.enums.DwYhV2StatusEnum; @@ -24,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -43,6 +42,10 @@ public class DwCheckingRecordV2Service extends BaseService list(SearchParam sp) { // 分页参数 Page page = new Page<>(sp.getPageNum(), sp.getPageSize()); @@ -64,6 +67,11 @@ public class DwCheckingRecordV2Service extends BaseService() .eq(StringUtils.isNotBlank(record.getId()), DwCheckingProblemV2::getRecordId, record.getId()))); + DwCheckingV2ProjectManage manage = dwCheckingV2Service.getOne(new LambdaQueryWrapper().eq(DwCheckingV2ProjectManage::getId, record.getCheckingId())); + if (!Objects.isNull(manage)) { + dto.setResponsibleUnit(manage.getResponsibleUnit()); + dto.setResponsibleUnitId(manage.getResponsibleUnitId()); + } return dto; }) .collect(Collectors.toList()); diff --git a/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingV2Service.java b/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingV2Service.java index 22a3bb3d..ab86b201 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingV2Service.java +++ b/shuili-system/src/main/java/com/kms/yxgh/dw/service/DwCheckingV2Service.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.common.utils.UserUtils; import com.kms.yg.df.domain.BsSgcDfManateam; import com.kms.yg.df.service.BsSgcDfManateamService; +import com.kms.yxgh.df.domain.DfCheckingV2ProjectManage; import com.kms.yxgh.df.service.DfCheckingV2Service; import com.kms.yxgh.dw.domain.DwCheckingV2ProjectItem; import com.kms.yxgh.dw.domain.DwCheckingV2ProjectManage; @@ -17,6 +18,7 @@ import com.kms.yxgh.dw.dto.DwV2CheckingDto; import com.kms.yxgh.dw.dto.DwV2CheckingSearchDto; import com.kms.yxgh.dw.mapper.DwCheckingV2Mapper; import com.kms.yxgh.util.BeanCopyUtils; +import com.kms.yxgh.util.StreamUtils; import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; @@ -26,11 +28,7 @@ import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -234,8 +232,8 @@ public class DwCheckingV2Service extends BaseService list = bsSgcDfManateamService.list(new LambdaQueryWrapper() - .apply(" distinct dike_code ") .eq(BsSgcDfManateam::getCreateUid, userId)); + list = StreamUtils.distinctByKeyFast(list, BsSgcDfManateam::getDikeCode); if (CollectionUtils.isEmpty(list)) { return receiveV2Dto; } @@ -246,11 +244,13 @@ public class DwCheckingV2Service extends BaseService personNameList = list.stream() .collect(Collectors.toMap(BsSgcDfManateam::getDikeCode, BsSgcDfManateam::getPersonName)); receiveV2Dto.setDropDownList(manageList.stream().map(e -> { DwProReceiveFeedbackV2Dto.DwProjectDropDownItemV2Dto copy = BeanCopyUtils.copy(e, DwProReceiveFeedbackV2Dto.DwProjectDropDownItemV2Dto.class); + assert copy != null; copy.setPersonName(personNameList.getOrDefault(copy.getDikeCode(), com.baomidou.mybatisplus.core.toolkit.StringUtils.EMPTY)); return copy; }).collect(Collectors.toList())); 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 index 06ebd589..23a36a3c 100644 --- 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 @@ -26,8 +26,8 @@ public class SzCheckingProblemV2 extends SyBaseEntity { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; /** * 问题位置 diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProReceiveFeedbackV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProReceiveFeedbackV2Dto.java index 94cbf6de..2f877fcc 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProReceiveFeedbackV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProReceiveFeedbackV2Dto.java @@ -7,17 +7,20 @@ import lombok.Data; import java.util.Collections; import java.util.List; +/** + * @author s2y23 + */ @Data @ApiModel("团队管理关联信息对象") public class SzProReceiveFeedbackV2Dto { @ApiModelProperty("项目下拉") - private List dropDownList = Collections.EMPTY_LIST; + private List dropDownList; @ApiModelProperty("单位下拉") - private List unitList = Collections.EMPTY_LIST; + private List unitList ; @Data - public class SzProjectDropDownItemV2Dto { + public static class SzProjectDropDownItemV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") @@ -34,10 +37,12 @@ public class SzProReceiveFeedbackV2Dto { private String category; @ApiModelProperty("创建者名称") private String personName; + @ApiModelProperty("创建者id") + private String createUid; } @Data - public class SzTeamUnitV2Dto { + public static class SzTeamUnitV2Dto { @ApiModelProperty("堤防代码") private String id; @ApiModelProperty("项目名称") diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProblemV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProblemV2Dto.java index c31d7f46..a070c2c4 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProblemV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzProblemV2Dto.java @@ -17,8 +17,8 @@ public class SzProblemV2Dto { @ApiModelProperty("工程损坏单位数值") private String damageUnit; - @ApiModelProperty("工程损坏单位id") - private String damageUnitId; + @ApiModelProperty("工程损坏单位值") + private String damageValue; /** * 是否可以领单 1是 0否 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 dd8a999c..feba9e8b 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 @@ -18,6 +18,16 @@ import java.util.List; @ApiModel("水闸巡视检查记录详情v2") public class SzRecordDetailV2Dto { + + @ApiModelProperty("巡查责任人") + private String dutyHolderName; + @ApiModelProperty("巡查责任人id") + private String dutyHolderId; + @ApiModelProperty("巡检负责单位") + private String responsibleUnit; + @ApiModelProperty("巡检负责单位id") + private String responsibleUnitId; + @ApiModelProperty("问题统计数量") private int problemCount; @ApiModelProperty("文档") diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordSearchV2Dto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordSearchV2Dto.java index d5c7fc54..c8af9ec2 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordSearchV2Dto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzRecordSearchV2Dto.java @@ -16,7 +16,8 @@ public class SzRecordSearchV2Dto implements IAdcdDeptRole { @ApiModelProperty(value = "行政区划") private String adcd; - + @ApiModelProperty("项目id") + private String checkingId; @ApiModelProperty("水闸名称") private String wagaName; @ApiModelProperty("水闸类型") diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingSearchDto.java b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingSearchDto.java index 303bdb18..7c1c09c0 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingSearchDto.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/dto/v2/SzV2CheckingSearchDto.java @@ -19,6 +19,10 @@ public class SzV2CheckingSearchDto implements IAdcdDeptRole { private String category; @ApiModelProperty(value = "行政区划") private String adcd; + @ApiModelProperty(value = "任务名称") + private String taskName; + @ApiModelProperty(value = "水闸名称") + private String wagaName; public String getDikeCode() { if (StringUtils.isEmpty(this.wagaCode)) { 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 index b74056ca..90e54817 100644 --- 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 @@ -7,10 +7,7 @@ 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.domain.*; import com.kms.yxgh.sz.dto.v2.SzRecordDetailV2Dto; import com.kms.yxgh.sz.dto.v2.SzRecordSearchV2Dto; import com.kms.yxgh.sz.mapper.SzCheckingRecordV2Mapper; @@ -23,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -37,6 +35,7 @@ public class SzCheckingRecordV2Service extends BaseService() .eq(StringUtils.isNotBlank(record.getId()), SzCheckingProblemV2::getRecordId, record.getId()))); + + SzCheckingV2ProjectManage manage = szCheckingV2Service.getOne(new LambdaQueryWrapper().eq(SzCheckingV2ProjectManage::getId, record.getCheckingId())); + if (!Objects.isNull(manage)) { + dto.setResponsibleUnit(manage.getResponsibleUnit()); + dto.setResponsibleUnitId(manage.getResponsibleUnitId()); + } return dto; }) .collect(Collectors.toList()); 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 index 59381b95..9f51b971 100644 --- 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 @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kms.common.utils.UserUtils; +import com.kms.yg.df.domain.BsSgcDfManateam; import com.kms.yg.sz.domain.BsSgcSzManateam; import com.kms.yg.sz.service.BsSgcSzManateamService; import com.kms.yxgh.df.service.DfCheckingV2Service; @@ -17,6 +18,7 @@ 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.kms.yxgh.util.BeanCopyUtils; +import com.kms.yxgh.util.StreamUtils; import com.shuili.common.core.domain.SearchParam; import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; @@ -227,24 +229,26 @@ public class SzCheckingV2Service extends BaseService list = bsSgcSzManateamService.list(new LambdaQueryWrapper() - .apply(" distinct dike_code ") .eq(BsSgcSzManateam::getCreateUid, userId)); + list = StreamUtils.distinctByKeyFast(list, BsSgcSzManateam::getWagaCode); if (CollectionUtils.isEmpty(list)) { return receiveV2Dto; } receiveV2Dto.setUnitList(BeanCopyUtils.copyList(list, SzProReceiveFeedbackV2Dto.SzTeamUnitV2Dto.class)); List manageList = this.baseMapper.selectList(new LambdaQueryWrapper() - .apply(" distinct waga_code ") .in(SzCheckingV2ProjectManage::getWagaCode, list.stream() .map(BsSgcSzManateam::getWagaCode) .collect(Collectors.toList()))); + manageList = StreamUtils.distinctByKeyFast(manageList, SzCheckingV2ProjectManage::getWagaCode); Map personNameList = list.stream() .collect(Collectors.toMap(BsSgcSzManateam::getWagaCode, BsSgcSzManateam::getPersonName)); receiveV2Dto.setDropDownList(manageList.stream().map(e -> { SzProReceiveFeedbackV2Dto.SzProjectDropDownItemV2Dto copy = BeanCopyUtils.copy(e, SzProReceiveFeedbackV2Dto.SzProjectDropDownItemV2Dto.class); - copy.setPersonName(personNameList.getOrDefault(copy.getWagaCode(), StringUtils.EMPTY)); + if (!Objects.isNull(copy)) { + copy.setPersonName(personNameList.getOrDefault(copy.getWagaCode(), StringUtils.EMPTY)); + } return copy; }).collect(Collectors.toList())); return receiveV2Dto; diff --git a/shuili-system/src/main/java/com/kms/yxgh/util/StreamUtils.java b/shuili-system/src/main/java/com/kms/yxgh/util/StreamUtils.java index 9a34a229..a2de7094 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/util/StreamUtils.java +++ b/shuili-system/src/main/java/com/kms/yxgh/util/StreamUtils.java @@ -7,6 +7,7 @@ import lombok.AccessLevel; import lombok.NoArgsConstructor; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import java.util.function.BiFunction; import java.util.function.Function; import java.util.function.Predicate; @@ -20,6 +21,21 @@ import java.util.stream.Collectors; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class StreamUtils { + /** + * 高性能去重(基于ConcurrentHashMap) + */ + public static List distinctByKeyFast(List list, Function keyExtractor) { + return list.stream() + .filter(new Predicate() { + final Set seen = ConcurrentHashMap.newKeySet(); + @Override + public boolean test(T t) { + return seen.add(keyExtractor.apply(t)); + } + }) + .collect(Collectors.toList()); + } + /** * 将collection过滤 * diff --git a/shuili-system/src/main/resources/mapper/yxgh/DfCheckingV2Mapper.xml b/shuili-system/src/main/resources/mapper/yxgh/DfCheckingV2Mapper.xml index 63e46a9f..4a191900 100644 --- a/shuili-system/src/main/resources/mapper/yxgh/DfCheckingV2Mapper.xml +++ b/shuili-system/src/main/resources/mapper/yxgh/DfCheckingV2Mapper.xml @@ -12,6 +12,11 @@ + + + + + select @@ -31,6 +34,8 @@ jl.end_date , jl.scope , jl.create_uid , + jl.duty_holder_name, + jl.duty_holder_id, jl.create_name from bs_sgc_df_xsxcjl jl left join att_dike_base base on base.dike_code=jl.dike_code @@ -53,6 +58,9 @@ and jl.status = #{data.status} + + and jl.checking_id = #{data.checkingId} + and jl.type = #{data.type} diff --git a/shuili-system/src/main/resources/mapper/yxgh/DwCheckingV2Mapper.xml b/shuili-system/src/main/resources/mapper/yxgh/DwCheckingV2Mapper.xml index a5bcd9c9..6371c184 100644 --- a/shuili-system/src/main/resources/mapper/yxgh/DwCheckingV2Mapper.xml +++ b/shuili-system/src/main/resources/mapper/yxgh/DwCheckingV2Mapper.xml @@ -12,6 +12,11 @@ + + + + + select @@ -31,6 +34,8 @@ jl.end_date , jl.scope , jl.create_uid , + jl.duty_holder_name, + jl.duty_holder_id, jl.create_name from bs_sgc_dw_xsxcjl jl left join att_dike_base base on base.dike_code=jl.dike_code @@ -56,6 +61,9 @@ and jl.type = #{data.type} + + and jl.checking_id = #{data.checkingId} + and jl.checking_name like concat('%',#{data.name}, '%') diff --git a/shuili-system/src/main/resources/mapper/yxgh/SzCheckingV2Mapper.xml b/shuili-system/src/main/resources/mapper/yxgh/SzCheckingV2Mapper.xml index de11336a..2dfe6359 100644 --- a/shuili-system/src/main/resources/mapper/yxgh/SzCheckingV2Mapper.xml +++ b/shuili-system/src/main/resources/mapper/yxgh/SzCheckingV2Mapper.xml @@ -12,6 +12,10 @@ + + + + select @@ -31,6 +33,8 @@ jl.end_date , jl.scope , jl.create_uid , + jl.duty_holder_name, + jl.duty_holder_id, jl.create_name from bs_sgc_sz_xsxcjl jl left join att_waga_base base on base.waga_code=jl.waga_code @@ -53,6 +57,9 @@ and jl.status = #{data.status} + + and jl.checking_id = #{data.checkingId} + and jl.type = #{data.type} diff --git a/sql/sy/v1.6.0/增量脚本/v1.6.3-update.sql b/sql/sy/v1.6.0/增量脚本/v1.6.3-update.sql new file mode 100644 index 00000000..41507e54 --- /dev/null +++ b/sql/sy/v1.6.0/增量脚本/v1.6.3-update.sql @@ -0,0 +1,66 @@ +-- 堤防项目管理表新增 +-- 任务名称 +alter table bs_sgc_df_xmgl add column task_name varchar(50) not null default '' COMMENT '任务名称'; +-- 巡检负责单位 +alter table bs_sgc_df_xmgl add column responsible_unit varchar(50) not null default '' COMMENT '巡检负责单位'; +alter table bs_sgc_df_xmgl add column responsible_unit_id varchar(50) NOT NULL DEFAULT '' COMMENT '巡检负责单位id'; +-- 巡查周期 +alter table bs_sgc_df_xmgl add column cycle int NOT NULL DEFAULT '0' COMMENT '巡查周期 字典 patrol_maintenance_cycle'; +-- 任务时间 +alter table bs_sgc_df_xmgl add column `start_date` datetime DEFAULT NULL COMMENT '巡查开始时间'; +alter table bs_sgc_df_xmgl add column `end_date` datetime DEFAULT NULL COMMENT '巡查结束时间'; +-- 任务范围 +alter table bs_sgc_df_xmgl add column scope varchar(50) NOT NULL DEFAULT '' COMMENT '巡查范围'; +-- 项目创始人 +alter table bs_sgc_df_xmgl add column pro_founding_person varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人'; +alter table bs_sgc_df_xmgl add column pro_founding_person_id varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人id'; + +-- 水闸项目管理表新增 +-- 任务名称 +alter table bs_sgc_sz_xmgl add column task_name varchar(50) not null default '' COMMENT '任务名称'; +-- 巡检负责单位 +alter table bs_sgc_sz_xmgl add column responsible_unit varchar(50) not null default '' COMMENT '巡检负责单位'; +alter table bs_sgc_sz_xmgl add column responsible_unit_id int NOT NULL DEFAULT '0' COMMENT '巡检负责单位id'; +-- 巡查周期 +alter table bs_sgc_sz_xmgl add column cycle int NOT NULL DEFAULT '0' COMMENT '巡查周期 字典 patrol_maintenance_cycle'; +-- 任务时间 +alter table bs_sgc_sz_xmgl add column `start_date` datetime DEFAULT NULL COMMENT '巡查开始时间'; +alter table bs_sgc_sz_xmgl add column `end_date` datetime DEFAULT NULL COMMENT '巡查结束时间'; +-- 任务范围 +alter table bs_sgc_sz_xmgl add column scope varchar(50) NOT NULL DEFAULT '' COMMENT '巡查范围'; +-- 项目创始人 +alter table bs_sgc_sz_xmgl add column pro_founding_person varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人'; +alter table bs_sgc_sz_xmgl add column pro_founding_person_id varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人id'; + +-- 动物项目管理表新增 +-- 任务名称 +alter table bs_sgc_dw_xmgl add column task_name varchar(50) not null default '' COMMENT '任务名称'; +-- 巡检负责单位 +alter table bs_sgc_dw_xmgl add column responsible_unit varchar(50) not null default '' COMMENT '巡检负责单位'; +alter table bs_sgc_dw_xmgl add column responsible_unit_id int NOT NULL DEFAULT '0' COMMENT '巡检负责单位id'; +-- 巡查周期 +alter table bs_sgc_dw_xmgl add column cycle int NOT NULL DEFAULT '0' COMMENT '巡查周期 字典 patrol_maintenance_cycle'; +-- 任务时间 +alter table bs_sgc_dw_xmgl add column `start_date` datetime DEFAULT NULL COMMENT '巡查开始时间'; +alter table bs_sgc_dw_xmgl add column `end_date` datetime DEFAULT NULL COMMENT '巡查结束时间'; +-- 任务范围 +alter table bs_sgc_dw_xmgl add column scope varchar(50) NOT NULL DEFAULT '' COMMENT '巡查范围'; +-- 项目创始人 +alter table bs_sgc_dw_xmgl add column pro_founding_person varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人'; +alter table bs_sgc_dw_xmgl add column pro_founding_person_id varchar(50) NOT NULL DEFAULT '' COMMENT '项目创始人id'; + + + +-- 堤防缺陷列表 +alter table bs_sgc_df_xcqx add column damage_unit int NOT NULL DEFAULT '0' COMMENT '工程损坏单位 字典patrol_maintenance_damage_unit'; +alter table bs_sgc_df_xcqx add column damage_value int NOT NULL DEFAULT '0' COMMENT '工程损坏数值'; +-- 水闸缺陷列表 +alter table bs_sgc_sz_xcqx add column damage_unit int NOT NULL DEFAULT '0' COMMENT '工程损坏单位 字典patrol_maintenance_damage_unit'; +alter table bs_sgc_sz_xcqx add column damage_value int NOT NULL DEFAULT '0' COMMENT '工程损坏数值'; +-- 动物缺陷列表 +alter table bs_sgc_dw_xcqx add column damage_unit int NOT NULL DEFAULT '0' COMMENT '工程损坏单位 字典patrol_maintenance_damage_unit'; +alter table bs_sgc_dw_xcqx add column damage_value int NOT NULL DEFAULT '0' COMMENT '工程损坏数值'; + +select * from bs_sgc_df_manateam + +select * from bs_sgc_df_xsxcjl