| | |
| | | import java.lang.invoke.SerializedLambda; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Optional; |
| | |
| | | .and(Func.isNotBlank(key), c -> c.likeRight(CheckProject::getCode, key)) |
| | | .or().likeRight(Func.isNotBlank(key), CheckProject::getName, key).or() |
| | | .likeRight(Func.isNotBlank(key), CheckProject::getRemark, key) |
| | | .orderByDesc(CheckProject::getCreateTime, CheckProject::getId)); |
| | | .orderByDesc(Arrays.asList(CheckProject::getCreateTime, CheckProject::getId))); |
| | | /* |
| | | IPage<CheckProject> page = page(Condition.getPage(query), (Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getStatus(); |
| | |
| | | return v0.getId(); |
| | | }}));*/ |
| | | return Optional.<IPage<CheckProject>>ofNullable(page).map(p -> { |
| | | IPage page2 = new Page<>(p.getCurrent(), p.getSize(), p.getTotal()); |
| | | IPage<CheckProjectVO> page2 = new Page<>(p.getCurrent(), p.getSize(), p.getTotal()); |
| | | page2.setRecords(CheckProjectConvert.INSTANCE.convert(p.getRecords())); |
| | | return page2; |
| | | }).orElse(new Page<>()); |
| | |
| | | |
| | | @Override // org.springblade.modules.cps.service.ICheckProjectService |
| | | public BladeFile exportCheckProject(String key, Integer status) { |
| | | |
| | | List<CheckProject> checkProjects = list( |
| | | Wrappers.<CheckProject>lambdaQuery() |
| | | .eq(CheckProject::getStatus, status) |
| | | .and(Func.isNotBlank(key), c -> c.likeRight(CheckProject::getCode, key)).or() |
| | | .likeRight(Func.isNotBlank(key), CheckProject::getName, key).or() |
| | | .likeRight(Func.isNotBlank(key), CheckProject::getRemark, key) |
| | | .orderByDesc(Arrays.asList(CheckProject::getCreateTime, CheckProject::getId)) |
| | | |
| | | ); |
| | | |
| | | List<Long> ids = checkProjects.stream().map(CheckProject::getId).collect(Collectors.toList()); |
| | | /* |
| | | List<CheckProject> checkProjects = list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getStatus(); |
| | | }, status)).and(Func.isNotBlank(key), c -> { |
| | |
| | | List<Long> ids = (List) checkProjects.stream().map((v0) -> { |
| | | return v0.getId(); |
| | | }).collect(Collectors.toList()); |
| | | */ |
| | | Map<Long, List<CheckItem>> itemMap = null; |
| | | if (Func.isNotEmpty(ids)) { |
| | | List<CheckItem> checkItems = this.checkItemService.list(Wrappers.<CheckItem>lambdaQuery().in(CheckItem::getCheckProjectId, ids)); |
| | | itemMap = (Map<Long, List<CheckItem>>)checkItems.stream().collect(Collectors.groupingBy(CheckItem::getCheckProjectId)); |
| | | /* |
| | | List<CheckItem> checkItems = this.checkItemService.list((Wrapper) Wrappers.lambdaQuery().in((v0) -> { |
| | | return v0.getCheckProjectId(); |
| | | }, ids)); |
| | | itemMap = (Map) checkItems.stream().collect(Collectors.groupingBy((v0) -> { |
| | | return v0.getCheckProjectId(); |
| | | })); |
| | | }));*/ |
| | | } |
| | | List<CheckProjectExcel> result = Lists.newArrayList(); |
| | | for (CheckProject checkProject : checkProjects) { |
| | |
| | | if (rawData.size() > 200) { |
| | | throw new ServiceException(MessageUtils.message("excel.import.size.failed", new Object[0])); |
| | | } |
| | | |
| | | Set<String> codes = Sets.newHashSet(listObjs(Wrappers.<CheckProject>lambdaQuery().select(CheckProject::getCode).eq(CheckProject::getStatus, CommonConstant.ENABLE), String::valueOf)); |
| | | Set<String> names = Sets.newHashSet(listObjs(Wrappers.<CheckProject>lambdaQuery().select(CheckProject::getName).eq(CheckProject::getStatus, CommonConstant.ENABLE), String::valueOf)); |
| | | Map<String, Set<String>> codeNameMap = (Map<String, Set<String>>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, |
| | | Collectors.mapping(v -> v.getProjectCode() + "-" + v.getProjectName() + "-" + v.getRemark(), Collectors.toSet()))); |
| | | Map<String, Integer> itemNameCount = (Map<String, Integer>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, |
| | | Collectors.mapping(CheckProjectImport::getItemName, Collectors.reducing(Integer.valueOf(0), e -> Integer.valueOf(1), Integer::sum)))); |
| | | Map<String, Set<String>> itemNameSet = (Map<String, Set<String>>)rawData.stream().filter(c -> Func.isNotBlank(c.getProjectCode())).collect(Collectors.groupingBy(CheckProjectImport::getProjectCode, |
| | | Collectors.mapping(CheckProjectImport::getItemName, Collectors.toSet()))); |
| | | |
| | | /* |
| | | Set<String> codes = Sets.newHashSet(listObjs((Wrapper) Wrappers.lambdaQuery().select(new SFunction[]{(v0) -> { |
| | | return v0.getCode(); |
| | | }}).eq((v0) -> { |
| | |
| | | }, Collectors.mapping((v0) -> { |
| | | return v0.getItemName(); |
| | | }, Collectors.toSet()))); |
| | | */ |
| | | List<CheckProjectImport> failExcel = Lists.newArrayList(); |
| | | for (CheckProjectImport data : rawData) { |
| | | validImport(data, codes, names, codeNameMap, itemNameCount, itemNameSet, failExcel); |
| | |
| | | MultipartFile multipartFile = ExcelUtil.exportFillTemplateToMultipartFile(ExcelConstant.DIRECTORY + "checkProjectFailTemplate" + ExcelConstant.SUFFIX, MessageUtils.message("excel.import.failed.report.name", new Object[0]) + ExcelConstant.SUFFIX, "点检项目表", failExcel, (Object) null, (AbstractMergeStrategy) null); |
| | | return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile); |
| | | } |
| | | |
| | | Map<CheckProject, List<CheckItem>> collect = rawData.stream().collect(Collectors.groupingBy(c -> CheckProject.builder().code(c.getProjectCode()).name(c.getProjectName()).remark(c.getRemark()).build(), |
| | | |
| | | Collectors.mapping(c -> CheckItem.builder().name(c.getItemName()).valueType(c.getValueType()).requirement(c.getRequirement()).standardValue(c.getStandardValue()).build(), |
| | | |
| | | Collectors.toList()))); |
| | | /* |
| | | Map<CheckProject, List<CheckItem>> collect = (Map) rawData.stream().collect(Collectors.groupingBy(c4 -> { |
| | | return CheckProject.builder().code(c4.getProjectCode()).name(c4.getProjectName()).remark(c4.getRemark()).build(); |
| | | }, Collectors.mapping(c5 -> { |
| | | return CheckItem.builder().name(c5.getItemName()).valueType(c5.getValueType()).requirement(c5.getRequirement()).standardValue(c5.getStandardValue()).build(); |
| | | }, Collectors.toList()))); |
| | | collect.forEach(project, items -> { |
| | | }, Collectors.toList())));*/ |
| | | collect.forEach((project, items) -> { |
| | | save(project); |
| | | List<CheckItem> itemList = (List) items.stream().filter(c6 -> { |
| | | List<CheckItem> itemList = items.stream().filter(c6 -> { |
| | | return Func.isNotBlank(c6.getName()); |
| | | }).peek(c7 -> { |
| | | c7.setCheckProjectId(project.getId()); |
| | |
| | | } |
| | | |
| | | private boolean checkStopStatus(String code) { |
| | | CheckProject checkProject = getOne(Wrappers.<CheckProject>lambdaQuery().eq(CheckProject::getCode, code).eq(CheckProject::getStatus, CommonConstant.DEACTIVATE)); |
| | | /* |
| | | CheckProject checkProject = (CheckProject) getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> { |
| | | return v0.getCode(); |
| | | }, code)).eq((v0) -> { |
| | | return v0.getStatus(); |
| | | }, CommonConstant.DEACTIVATE)); |
| | | */ |
| | | if (checkProject != null) { |
| | | return Boolean.TRUE.booleanValue(); |
| | | return true; |
| | | } |
| | | return Boolean.FALSE.booleanValue(); |
| | | return false; |
| | | } |
| | | } |