From f3a4ddbeebb8aabb106d17710e995830674d701e Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Thu, 31 Oct 2024 19:14:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E6=9C=AC=E9=A2=84=E7=AE=97=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cost/controller/CostBudgetController.java | 10 ++++--- .../controller/CostSubjectController.java | 29 +++++++++++-------- .../service/impl/CostBudgetServiceImpl.java | 5 +++- .../impl/JzProjectBudgetServiceImpl.java | 8 +++-- 4 files changed, 32 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostBudgetController.java b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostBudgetController.java index 1126b4f4c..284195249 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostBudgetController.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostBudgetController.java @@ -313,12 +313,13 @@ public class CostBudgetController { public Result importExcel(HttpServletRequest request, HttpServletResponse response) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; String projectSn = request.getParameter("projectSn"); - ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn); - Company company = companyService.getOne(Wrappers.lambdaQuery().eq(Company::getCompanySn, projectInfoBySn.getCompanySn())); + Integer version = Integer.valueOf(request.getParameter("version")); +// ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn); +// Company company = companyService.getOne(Wrappers.lambdaQuery().eq(Company::getCompanySn, projectInfoBySn.getCompanySn())); Map fileMap = multipartRequest.getFileMap(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery() - .eq(CostSubject::getSn, company.getHeadquartersSn()) - .eq(CostSubject::getType, projectInfoBySn.getProjectLx()); + .eq(CostSubject::getSn, projectSn); +// .eq(CostSubject::getType, projectInfoBySn.getProjectLx()); List subjectList = costSubjectService.list(wrapper); for (Map.Entry entity : fileMap.entrySet()) { MultipartFile file = entity.getValue();// 获取上传文件对象 @@ -348,6 +349,7 @@ public class CostBudgetController { costBudget.setCreateTime(new Date()); costBudget.setIsCount(StringUtils.isBlank(codeList.get(0).getName())); costBudget.setLevel(codeList.get(0).getLevel()); + costBudget.setVersion(version); costBudgetList.add(costBudget); } int num = 0; diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostSubjectController.java b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostSubjectController.java index 9f839e8c9..1048307e8 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostSubjectController.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/controller/CostSubjectController.java @@ -278,6 +278,7 @@ public class CostSubjectController { public Result introduceCostSubject(@RequestBody Map param) { Integer toLevelType = MapUtils.getInteger(param, "toLevelType"); String sn = MapUtils.getString(param, "sn"); + String type = MapUtils.getString(param, "type"); List exists = costSubjectService.list(new LambdaQueryWrapper().eq(CostSubject::getSn, sn)); Map existCodes = exists.stream().collect(Collectors.toMap(CostSubject::getCode, Function.identity(), (k1, k2) -> k1)); List subjectIds = exists.stream().map(CostSubject::getId).collect(Collectors.toList()); @@ -297,12 +298,12 @@ public class CostSubjectController { } List topList = list.stream().filter(costSubject -> Objects.equals(costSubject.getParentId(), 0L)).collect(Collectors.toList()); for (CostSubject costSubject : topList) { - addCostSubject(costSubject, list, sn, 0L, toLevelType, existCodes, useCodes); + addCostSubject(costSubject, list, sn, 0L, toLevelType, existCodes, useCodes, type); } return Result.ok(); } - private void addCostSubject(CostSubject costSubject, List list, String sn, Long parentId, Integer toLevelType, Map existCodes, Set useCodes) { + private void addCostSubject(CostSubject costSubject, List list, String sn, Long parentId, Integer toLevelType, Map existCodes, Set useCodes, String type) { List childList = list.stream().filter(subject -> Objects.equals(subject.getParentId(), costSubject.getId())).collect(Collectors.toList()); CostSubject costSubject1 = JSON.parseObject(JSON.toJSONString(costSubject), CostSubject.class); costSubject1.setId(null); @@ -319,22 +320,26 @@ public class CostSubjectController { // costSubject1.setUpdateTime(new Date()); costSubject1.setLevelType(toLevelType); // costSubject1.setChildren(Lists.newArrayList()); - if (!useCodes.contains(costSubject1.getCode())) { - if (existCodes.containsKey(costSubject1.getCode())) { - UserInfo user = SecurityUtils.getUser(); - costSubjectService.update(new LambdaUpdateWrapper().set(CostSubject::getCreateBy, user.getUserId().toString()) - .set(CostSubject::getUpdateTime, new Date()).eq(CostSubject::getSn, sn).eq(CostSubject::getCode, costSubject1.getCode())); - } else { - costSubjectService.saveInfo(costSubject1); - parentId = costSubject1.getId(); +// if (!useCodes.contains(costSubject1.getCode())) { + CostSubject costSubjectExist = existCodes.get(costSubject1.getCode()); + if (costSubjectExist != null && costSubjectExist.getType().equals(costSubject1.getType())) { + UserInfo user = SecurityUtils.getUser(); + costSubjectService.update(new LambdaUpdateWrapper().set(CostSubject::getCreateBy, user.getUserId().toString()) + .set(CostSubject::getUpdateTime, new Date()).eq(CostSubject::getSn, sn).eq(CostSubject::getCode, costSubject1.getCode())); + } else { + if (StringUtils.isNotBlank(type)) { + costSubject1.setType(Integer.parseInt(type)); } + costSubjectService.saveInfo(costSubject1); + parentId = costSubject1.getId(); } - if (existCodes.containsKey(costSubject.getCode())) { +// } + if (costSubjectExist != null && costSubjectExist.getType().equals(costSubject1.getType())) { parentId = existCodes.get(costSubject.getCode()).getId(); } if (CollUtil.isNotEmpty(childList)) { for (CostSubject subject : childList) { - addCostSubject(subject, list, sn, parentId, toLevelType, existCodes, useCodes); + addCostSubject(subject, list, sn, parentId, toLevelType, existCodes, useCodes, type); } } } diff --git a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java index 01464b88d..8465d1fc2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/cost/service/impl/CostBudgetServiceImpl.java @@ -97,7 +97,10 @@ public class CostBudgetServiceImpl extends ServiceImpl exportList(QueryWrapper wrapper, ProjectInfoExtVo projectInfoBySn, boolean flag, String level) { wrapper.lambda().eq(CostSubject::getParentId, 0); List list = costSubjectService.list(wrapper); - List dtoList = convert(list); + List filter = list.stream().filter(l -> StringUtils.isNotBlank(l.getName())).collect(Collectors.toList()); + List dtoList = convert(filter); + List total = list.stream().filter(l -> StringUtils.isBlank(l.getName())).collect(Collectors.toList()); + dtoList.addAll(convert(total)); if (dtoList.size() > 0) { List allList = costSubjectService.list(Wrappers.lambdaQuery() .eq(CostSubject::getSn, projectInfoBySn.getProjectSn()) diff --git a/src/main/java/com/zhgd/xmgl/modules/jz/service/impl/JzProjectBudgetServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/jz/service/impl/JzProjectBudgetServiceImpl.java index 8f9182a0c..3b95e7899 100644 --- a/src/main/java/com/zhgd/xmgl/modules/jz/service/impl/JzProjectBudgetServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/jz/service/impl/JzProjectBudgetServiceImpl.java @@ -50,9 +50,11 @@ public class JzProjectBudgetServiceImpl extends ServiceImpl jzCustomers = jzCustomerList.stream().filter(j -> j.getId().toString().equals(jzProjects.get(0).getCustomerId().toString())).collect(Collectors.toList()); record.setCustomerName(jzCustomers.size() > 0 ? jzCustomers.get(0).getName() : ""); } - List jzProjectDemand = jzProjectDemandList.stream().filter(j -> j.getId().toString().equals(record.getDemandId().toString())).collect(Collectors.toList()); - if (jzProjectDemand.size() > 0) { - record.setDemandName(jzProjectDemand.get(0).getTitle()); + if (jzProjectDemandList.size() > 0) { + List jzProjectDemand = jzProjectDemandList.stream().filter(j -> j.getId().toString().equals(record.getDemandId().toString())).collect(Collectors.toList()); + if (jzProjectDemand.size() > 0) { + record.setDemandName(jzProjectDemand.get(0).getTitle()); + } } } return pageList;