成本预算调整
This commit is contained in:
parent
fb77cc25db
commit
f3a4ddbeeb
@ -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.<Company>lambdaQuery().eq(Company::getCompanySn, projectInfoBySn.getCompanySn()));
|
||||
Integer version = Integer.valueOf(request.getParameter("version"));
|
||||
// ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(projectSn);
|
||||
// Company company = companyService.getOne(Wrappers.<Company>lambdaQuery().eq(Company::getCompanySn, projectInfoBySn.getCompanySn()));
|
||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||
LambdaQueryWrapper<CostSubject> wrapper = Wrappers.<CostSubject>lambdaQuery()
|
||||
.eq(CostSubject::getSn, company.getHeadquartersSn())
|
||||
.eq(CostSubject::getType, projectInfoBySn.getProjectLx());
|
||||
.eq(CostSubject::getSn, projectSn);
|
||||
// .eq(CostSubject::getType, projectInfoBySn.getProjectLx());
|
||||
List<CostSubject> subjectList = costSubjectService.list(wrapper);
|
||||
for (Map.Entry<String, MultipartFile> 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;
|
||||
|
||||
@ -278,6 +278,7 @@ public class CostSubjectController {
|
||||
public Result introduceCostSubject(@RequestBody Map<String, Object> param) {
|
||||
Integer toLevelType = MapUtils.getInteger(param, "toLevelType");
|
||||
String sn = MapUtils.getString(param, "sn");
|
||||
String type = MapUtils.getString(param, "type");
|
||||
List<CostSubject> exists = costSubjectService.list(new LambdaQueryWrapper<CostSubject>().eq(CostSubject::getSn, sn));
|
||||
Map<String, CostSubject> existCodes = exists.stream().collect(Collectors.toMap(CostSubject::getCode, Function.identity(), (k1, k2) -> k1));
|
||||
List<Long> subjectIds = exists.stream().map(CostSubject::getId).collect(Collectors.toList());
|
||||
@ -297,12 +298,12 @@ public class CostSubjectController {
|
||||
}
|
||||
List<CostSubject> 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<CostSubject> list, String sn, Long parentId, Integer toLevelType, Map<String, CostSubject> existCodes, Set<String> useCodes) {
|
||||
private void addCostSubject(CostSubject costSubject, List<CostSubject> list, String sn, Long parentId, Integer toLevelType, Map<String, CostSubject> existCodes, Set<String> useCodes, String type) {
|
||||
List<CostSubject> 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<CostSubject>().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<CostSubject>().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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,7 +97,10 @@ public class CostBudgetServiceImpl extends ServiceImpl<CostBudgetMapper, CostBud
|
||||
public List<CostBudgetDto> exportList(QueryWrapper<CostSubject> wrapper, ProjectInfoExtVo projectInfoBySn, boolean flag, String level) {
|
||||
wrapper.lambda().eq(CostSubject::getParentId, 0);
|
||||
List<CostSubject> list = costSubjectService.list(wrapper);
|
||||
List<CostBudgetDto> dtoList = convert(list);
|
||||
List<CostSubject> filter = list.stream().filter(l -> StringUtils.isNotBlank(l.getName())).collect(Collectors.toList());
|
||||
List<CostBudgetDto> dtoList = convert(filter);
|
||||
List<CostSubject> total = list.stream().filter(l -> StringUtils.isBlank(l.getName())).collect(Collectors.toList());
|
||||
dtoList.addAll(convert(total));
|
||||
if (dtoList.size() > 0) {
|
||||
List<CostSubject> allList = costSubjectService.list(Wrappers.<CostSubject>lambdaQuery()
|
||||
.eq(CostSubject::getSn, projectInfoBySn.getProjectSn())
|
||||
|
||||
@ -50,9 +50,11 @@ public class JzProjectBudgetServiceImpl extends ServiceImpl<JzProjectBudgetMappe
|
||||
List<JzCustomer> 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> 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> 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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user