From de5ad599a574a1afa1f7292621f76ea7cac9b47d Mon Sep 17 00:00:00 2001 From: hxh <762326930@qq.com> Date: Thu, 18 Jan 2024 20:57:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=B0=E5=BD=95=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kms/yxgh/df/service/DfRecordService.java | 3 + .../kms/yxgh/sz/service/SzRecordService.java | 248 +++++++++--------- 2 files changed, 124 insertions(+), 127 deletions(-) diff --git a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java index 98987355..443eb158 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/df/service/DfRecordService.java @@ -143,6 +143,7 @@ public class DfRecordService extends BaseService { if (CollectionUtil.isNotEmpty(dfRecord.getItems())) { dfRecord.getItems().forEach(o -> { DfRecordItem item = new DfRecordItem(); + item.setId(o.getId()); item.setRecordId(dfRecord.getId()); item.setContent(o.getContent()); item.setParts(String.join(PART_SEPARATOR, o.getParts())); @@ -151,6 +152,8 @@ public class DfRecordService extends BaseService { dfRecordItemMapper.updateById(item); }); } + + this.baseMapper.updateById(BeanCopyUtils.copy(dfRecord, DfRecord.class)); return dfRecord; } diff --git a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java index 1b449b49..9937044e 100644 --- a/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java +++ b/shuili-system/src/main/java/com/kms/yxgh/sz/service/SzRecordService.java @@ -1,7 +1,5 @@ package com.kms.yxgh.sz.service; -import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR; - import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -13,12 +11,8 @@ import com.kms.yxgh.base.enums.CheckingStatus; import com.kms.yxgh.base.enums.RecordStatus; import com.kms.yxgh.sz.domain.SzRecord; import com.kms.yxgh.sz.domain.SzRecordItem; -import com.kms.yxgh.sz.dto.StartPlan; -import com.kms.yxgh.sz.dto.SzCheckingDetailDto; -import com.kms.yxgh.sz.dto.SzPlanDetailDto; -import com.kms.yxgh.sz.dto.SzRecordDetailDto; +import com.kms.yxgh.sz.dto.*; import com.kms.yxgh.sz.dto.SzRecordDetailDto.SzRecordItemDto; -import com.kms.yxgh.sz.dto.SzRecordSearchDto; import com.kms.yxgh.sz.mapper.SzRecordItemMapper; import com.kms.yxgh.sz.mapper.SzRecordMapper; import com.kms.yxgh.util.BeanCopyUtils; @@ -28,17 +22,15 @@ import com.shuili.common.core.domain.entity.SysUser; import com.shuili.common.core.service.BaseService; import com.shuili.common.utils.DateUtils; import com.shuili.common.utils.StringUtils; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.stream.Collectors; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.*; +import java.util.stream.Collectors; + +import static com.kms.yxgh.sz.service.SzCheckingService.PART_SEPARATOR; + /** * 水闸巡视检查记录Service接口 * @@ -49,131 +41,133 @@ import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor public class SzRecordService extends BaseService { - private final SzRecordItemMapper szRecordItemMapper; - private final SzCheckingService szCheckingService; - private final SzPlanService szPlanService; - private final SysUserService userService; + private final SzRecordItemMapper szRecordItemMapper; + private final SzCheckingService szCheckingService; + private final SzPlanService szPlanService; + private final SysUserService userService; - public IPage search(SearchParam sp) { - IPage page = selectPage(sp); - if (CollectionUtil.isNotEmpty(page.getRecords())) { - List ids = page.getRecords().stream().map(SzRecord::getId) - .collect(Collectors.toList()); - Wrapper wp = Wrappers.lambdaQuery() - .in(SzRecordItem::getRecordId, ids) - .eq(SzRecordItem::getStatus, CheckingStatus.ABNORMAL.getValue()); - Map> items = Optional.ofNullable(szRecordItemMapper.selectList(wp)) - .map(list -> list.stream().collect( - Collectors.groupingBy(SzRecordItem::getRecordId, Collectors.toList()))) - .orElseGet(Collections::emptyMap); + public IPage search(SearchParam sp) { + IPage page = selectPage(sp); + if (CollectionUtil.isNotEmpty(page.getRecords())) { + List ids = page.getRecords().stream().map(SzRecord::getId) + .collect(Collectors.toList()); + Wrapper wp = Wrappers.lambdaQuery() + .in(SzRecordItem::getRecordId, ids) + .eq(SzRecordItem::getStatus, CheckingStatus.ABNORMAL.getValue()); + Map> items = Optional.ofNullable(szRecordItemMapper.selectList(wp)) + .map(list -> list.stream().collect( + Collectors.groupingBy(SzRecordItem::getRecordId, Collectors.toList()))) + .orElseGet(Collections::emptyMap); - List records = page.getRecords().stream().map(r -> { - SzRecordSearchDto dto = BeanCopyUtils.copy(r, SzRecordSearchDto - .class); - if (dto != null) { - dto.setParts(items.getOrDefault(r.getId(), Collections.emptyList()) - .stream().map(item -> { - List parts = Arrays.stream(item.getParts().split( - SzCheckingService.PART_SEPARATOR)) - .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList()); - return parts.get(parts.size() - 1); - }).collect(Collectors.toList())); - dto.setOperatorName(Optional.ofNullable(userService.getWithRedis(r.getCreateUid())).map( - SysUser::getNickName).orElse("")); + List records = page.getRecords().stream().map(r -> { + SzRecordSearchDto dto = BeanCopyUtils.copy(r, SzRecordSearchDto + .class); + if (dto != null) { + dto.setParts(items.getOrDefault(r.getId(), Collections.emptyList()) + .stream().map(item -> { + List parts = Arrays.stream(item.getParts().split( + SzCheckingService.PART_SEPARATOR)) + .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList()); + return parts.get(parts.size() - 1); + }).collect(Collectors.toList())); + dto.setOperatorName(Optional.ofNullable(userService.getWithRedis(r.getCreateUid())).map( + SysUser::getNickName).orElse("")); + } + return dto; + }).collect(Collectors.toList()); + Page recordSearchDtoPage = new Page<>(page.getCurrent(), page.getSize(), + page.getTotal()); + recordSearchDtoPage.setRecords(records); + return recordSearchDtoPage; + } else { + return new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); } - return dto; - }).collect(Collectors.toList()); - Page recordSearchDtoPage = new Page<>(page.getCurrent(), page.getSize(), - page.getTotal()); - recordSearchDtoPage.setRecords(records); - return recordSearchDtoPage; - } else { - return new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); } - } - @Transactional(rollbackFor = Exception.class) - public SzRecordDetailDto start(StartPlan startPlan) { - SzPlanDetailDto planDetailDto = szPlanService.getDetailById(startPlan.getPlanId()); - if (planDetailDto != null) { - SzCheckingDetailDto checkingDetailDto = szCheckingService.getDetailById( - planDetailDto.getXcId()); - if (checkingDetailDto != null) { - SzRecord record = new SzRecord(); - record.setPlanId(startPlan.getPlanId()); - record.setName(planDetailDto.getName() + DateUtils.getTime()); - record.setStatus(RecordStatus.CHECKING.getValue()); - getBaseMapper().insert(record); - String id = record.getId(); - if (CollectionUtil.isNotEmpty(checkingDetailDto.getItems())) { - checkingDetailDto.getItems().forEach(o -> { - SzRecordItem item = new SzRecordItem(); - item.setRecordId(id); - item.setContent(o.getContent()); - item.setParts(String.join(PART_SEPARATOR, o.getParts())); - item.setStatus(CheckingStatus.NORMAL.getValue()); - item.setProblem(""); - szRecordItemMapper.insert(item); - }); + @Transactional(rollbackFor = Exception.class) + public SzRecordDetailDto start(StartPlan startPlan) { + SzPlanDetailDto planDetailDto = szPlanService.getDetailById(startPlan.getPlanId()); + if (planDetailDto != null) { + SzCheckingDetailDto checkingDetailDto = szCheckingService.getDetailById( + planDetailDto.getXcId()); + if (checkingDetailDto != null) { + SzRecord record = new SzRecord(); + record.setPlanId(startPlan.getPlanId()); + record.setName(planDetailDto.getName() + DateUtils.getTime()); + record.setStatus(RecordStatus.CHECKING.getValue()); + getBaseMapper().insert(record); + String id = record.getId(); + if (CollectionUtil.isNotEmpty(checkingDetailDto.getItems())) { + checkingDetailDto.getItems().forEach(o -> { + SzRecordItem item = new SzRecordItem(); + item.setRecordId(id); + item.setContent(o.getContent()); + item.setParts(String.join(PART_SEPARATOR, o.getParts())); + item.setStatus(CheckingStatus.NORMAL.getValue()); + item.setProblem(""); + szRecordItemMapper.insert(item); + }); + } + return this.getDetailById(id); + } else { + throw new SzException("查询巡查检查项数据异常"); + } } - return this.getDetailById(id); - } else { - throw new SzException("查询巡查检查项数据异常"); - } + throw new SzException("查询巡查计划"); } - throw new SzException("查询巡查计划"); - } - public SzRecordDetailDto getDetailById(String id) { - SzRecord record = this.getBaseMapper().selectById(id); - if (record != null) { - SzRecordDetailDto dto = BeanCopyUtils.copy(record, SzRecordDetailDto.class); - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzRecordItem::getRecordId, id); - List items = szRecordItemMapper.selectList(wp); - if (CollectionUtil.isNotEmpty(items) && dto != null) { - dto.setItems(StreamUtils.toList(items, r -> { - SzRecordItemDto itemDto = BeanCopyUtils.copy(r, SzRecordItemDto.class); - if (itemDto != null) { - itemDto.setParts(Arrays.stream(StringUtils.split(r.getParts(), PART_SEPARATOR)) - .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList())); - } - return itemDto; - })); - } - return dto; + public SzRecordDetailDto getDetailById(String id) { + SzRecord record = this.getBaseMapper().selectById(id); + if (record != null) { + SzRecordDetailDto dto = BeanCopyUtils.copy(record, SzRecordDetailDto.class); + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzRecordItem::getRecordId, id); + List items = szRecordItemMapper.selectList(wp); + if (CollectionUtil.isNotEmpty(items) && dto != null) { + dto.setItems(StreamUtils.toList(items, r -> { + SzRecordItemDto itemDto = BeanCopyUtils.copy(r, SzRecordItemDto.class); + if (itemDto != null) { + itemDto.setParts(Arrays.stream(StringUtils.split(r.getParts(), PART_SEPARATOR)) + .sorted(Comparator.comparingInt(String::length)).collect(Collectors.toList())); + } + return itemDto; + })); + } + return dto; + } + return null; } - return null; - } - @Transactional(rollbackFor = Exception.class) - public SzRecordDetailDto update(SzRecordDetailDto SzRecord) { - if (CollectionUtil.isNotEmpty(SzRecord.getItems())) { - SzRecord.getItems().forEach(o -> { - SzRecordItem item = new SzRecordItem(); - item.setRecordId(SzRecord.getId()); - item.setContent(o.getContent()); - item.setParts(String.join(PART_SEPARATOR, o.getParts())); - item.setStatus(o.getStatus()); - item.setProblem(o.getProblem()); - szRecordItemMapper.updateById(item); - }); + @Transactional(rollbackFor = Exception.class) + public SzRecordDetailDto update(SzRecordDetailDto szRecord) { + if (CollectionUtil.isNotEmpty(szRecord.getItems())) { + szRecord.getItems().forEach(o -> { + SzRecordItem item = new SzRecordItem(); + item.setId(o.getId()); + item.setRecordId(szRecord.getId()); + item.setContent(o.getContent()); + item.setParts(String.join(PART_SEPARATOR, o.getParts())); + item.setStatus(o.getStatus()); + item.setProblem(o.getProblem()); + szRecordItemMapper.updateById(item); + }); + } + this.baseMapper.updateById(BeanCopyUtils.copy(szRecord, SzRecord.class)); + return szRecord; } - return SzRecord; - } - @Transactional(rollbackFor = Exception.class) - public Boolean deleteById(String id) { - boolean rt = removeById(id); - if (rt) { - deleteItems(id); + @Transactional(rollbackFor = Exception.class) + public Boolean deleteById(String id) { + boolean rt = removeById(id); + if (rt) { + deleteItems(id); + } + return rt; } - return rt; - } - private void deleteItems(String id) { - Wrapper wp = Wrappers.lambdaQuery() - .eq(SzRecordItem::getRecordId, id); - szRecordItemMapper.delete(wp); - } + private void deleteItems(String id) { + Wrapper wp = Wrappers.lambdaQuery() + .eq(SzRecordItem::getRecordId, id); + szRecordItemMapper.delete(wp); + } }