|
@@ -135,6 +135,29 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
|
}
|
|
|
Map<Long, Long> responsibilityDepMap = responsibilityDepartmentList.stream().collect(Collectors.toMap(ResponsibilityDepartment::getDepartmentId, ResponsibilityDepartment::getResponsibilityId));
|
|
|
Map<Long, Long> accountProMap = accountingProductList.stream().collect(Collectors.toMap(AccountingProduct::getProductId, AccountingProduct::getAccountingId));
|
|
|
+ checkImportData(list, incomeErrorMessageList, departmentMap, productMap, responsibilityMap, accountingMap, responsibilityDepMap, accountProMap);
|
|
|
+ if (!CollectionUtils.isEmpty(incomeErrorMessageList)){
|
|
|
+ // 说明存在错误数据
|
|
|
+ // TODO 不讲数据保存在收入归集表里面 直将信息保存在提交记录里面
|
|
|
+ }else {
|
|
|
+ // 实现厨具的存储
|
|
|
+
|
|
|
+ }
|
|
|
+ return Result.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ *检验数据
|
|
|
+ * @param list 表单数据
|
|
|
+ * @param incomeErrorMessageList 存储错误信息的集合
|
|
|
+ * @param departmentMap 科室Map
|
|
|
+ * @param productMap 成本项目map
|
|
|
+ * @param responsibilityMap 责任中心Map
|
|
|
+ * @param accountingMap 会计科目Map
|
|
|
+ * @param responsibilityDepMap 责任中心科室对照Map
|
|
|
+ * @param accountProMap 责任中心Map
|
|
|
+ */
|
|
|
+ private void checkImportData(List<List<Object>> list, List<IncomeErrorMessage> incomeErrorMessageList, Map<String, Department> departmentMap, Map<String, Product> productMap, Map<Long, Responsibility> responsibilityMap, Map<Long, Accounting> accountingMap, Map<Long, Long> responsibilityDepMap, Map<Long, Long> accountProMap) {
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
// 用来检验数据合理性的循环
|
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
@@ -172,24 +195,43 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
|
}else {
|
|
|
// 检验对应的会计科目是否存在
|
|
|
Long id = product.getId();
|
|
|
-
|
|
|
+ Long accountId = accountProMap.get(id);
|
|
|
+ if (Objects.isNull(accountingMap.get(accountId))){
|
|
|
+ incomeErrorMessage.setTotal(i);
|
|
|
+ incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"成本项目对应的会计科目不存在");
|
|
|
+ incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }
|
|
|
}
|
|
|
+ // 开单科室
|
|
|
if (Objects.isNull(department)){
|
|
|
incomeErrorMessage.setTotal(i);
|
|
|
incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"开单科室不存在");
|
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }else{
|
|
|
+ Long id = department.getId();
|
|
|
+ Long responsibilityId = responsibilityDepMap.get(id);
|
|
|
+ if (Objects.isNull(responsibilityMap.get(responsibilityId))){
|
|
|
+ incomeErrorMessage.setTotal(i);
|
|
|
+ incomeErrorMessage.setErrMessage("代码:"+openDepartmentCode+" 名称:"+openDepartmentName+"科室对应的责任中心不存在");
|
|
|
+ incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }
|
|
|
}
|
|
|
+ //执行科室
|
|
|
if (Objects.isNull(department1)){
|
|
|
incomeErrorMessage.setTotal(i);
|
|
|
incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"执行科室不存在");
|
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }else{
|
|
|
+ Long id = department1.getId();
|
|
|
+ Long responsibilityId = responsibilityDepMap.get(id);
|
|
|
+ if (Objects.isNull(responsibilityMap.get(responsibilityId))){
|
|
|
+ incomeErrorMessage.setTotal(i);
|
|
|
+ incomeErrorMessage.setErrMessage("代码:"+openDepartmentCode+" 名称:"+openDepartmentName+"科室对应的责任中心不存在");
|
|
|
+ incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }
|
|
|
}
|
|
|
- // 检验科室对应的责任中心是否存在
|
|
|
- // 检验成本项目对应的会计科目是否存在
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
- return Result.ok();
|
|
|
}
|
|
|
|
|
|
/**
|