|
@@ -89,6 +89,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
List<CostIncomeGroup> records = pages.getRecords();
|
|
List<CostIncomeGroup> records = pages.getRecords();
|
|
List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList = BeanUtil.convertList(records, CostIncomeGroupBeforeVO.class);
|
|
List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList = BeanUtil.convertList(records, CostIncomeGroupBeforeVO.class);
|
|
// 查询所有的责任中心 科室 会计科目 成本项目的数据 处理名字
|
|
// 查询所有的责任中心 科室 会计科目 成本项目的数据 处理名字
|
|
|
|
+ // TODO 修改直接获取名字
|
|
setCodeName(hospId, costIncomeGroupBeforeVOList);
|
|
setCodeName(hospId, costIncomeGroupBeforeVOList);
|
|
// 进行金额合并
|
|
// 进行金额合并
|
|
List<CostIncomeGroupAllAmountVO> costIncomeGroupAllAmountVoS = baseMapper.countMoney(costIncomeGroupBeforeVOList);
|
|
List<CostIncomeGroupAllAmountVO> costIncomeGroupAllAmountVoS = baseMapper.countMoney(costIncomeGroupBeforeVOList);
|
|
@@ -145,7 +146,8 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
Map<Long, Long> responsibilityDepMap = responsibilityDepartmentList.stream().collect(Collectors.toMap(ResponsibilityDepartment::getDepartmentId, ResponsibilityDepartment::getResponsibilityId));
|
|
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));
|
|
Map<Long, Long> accountProMap = accountingProductList.stream().collect(Collectors.toMap(AccountingProduct::getProductId, AccountingProduct::getAccountingId));
|
|
List<CostIncomeGroup> costIncomeGroupArrayList = new ArrayList<>();
|
|
List<CostIncomeGroup> costIncomeGroupArrayList = new ArrayList<>();
|
|
- checkImportData(list, incomeErrorMessageList,costIncomeGroupArrayList, departmentMap, productMap, responsibilityMap, accountingMap, responsibilityDepMap, accountProMap);
|
|
|
|
|
|
+ // 检验数据
|
|
|
|
+ checkImportData(list, incomeErrorMessageList, costIncomeGroupArrayList, departmentMap, productMap, responsibilityMap, accountingMap, responsibilityDepMap, accountProMap);
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
if (!CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
// 说明存在错误数据
|
|
// 说明存在错误数据
|
|
@@ -161,11 +163,11 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
// 开单科室 执行科室的代码和名称
|
|
// 开单科室 执行科室的代码和名称
|
|
String openDepartmentCode = data.get(3).toString();
|
|
String openDepartmentCode = data.get(3).toString();
|
|
String startDepartmentCode = data.get(5).toString();
|
|
String startDepartmentCode = data.get(5).toString();
|
|
- String beforeMoney = data.get(6).toString();
|
|
|
|
|
|
+ BigDecimal beforeMoney = (BigDecimal) data.get(15);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
String uploadFile = uploadFile(file, UserContext.getCurrentUser());
|
|
String uploadFile = uploadFile(file, UserContext.getCurrentUser());
|
|
- if (StrUtil.isNotBlank(uploadFile)){
|
|
|
|
|
|
+ if (StrUtil.isNotBlank(uploadFile)) {
|
|
// 文件上传成功 将文件记录保存
|
|
// 文件上传成功 将文件记录保存
|
|
}
|
|
}
|
|
return Result.ok();
|
|
return Result.ok();
|
|
@@ -173,15 +175,16 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
|
|
|
|
/**
|
|
/**
|
|
* 检验数据
|
|
* 检验数据
|
|
- * @param list 表单数据
|
|
|
|
- * @param incomeErrorMessageList 存储错误信息的集合
|
|
|
|
|
|
+ *
|
|
|
|
+ * @param list 表单数据
|
|
|
|
+ * @param incomeErrorMessageList 存储错误信息的集合
|
|
* @param costIncomeGroupArrayList
|
|
* @param costIncomeGroupArrayList
|
|
- * @param departmentMap 科室Map
|
|
|
|
- * @param productMap 成本项目map
|
|
|
|
- * @param responsibilityMap 责任中心Map
|
|
|
|
- * @param accountingMap 会计科目Map
|
|
|
|
- * @param responsibilityDepMap 责任中心科室对照Map
|
|
|
|
- * @param accountProMap 责任中心Map
|
|
|
|
|
|
+ * @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, List<CostIncomeGroup> costIncomeGroupArrayList, Map<String, Department> departmentMap, Map<String, Product> productMap, Map<Long, Responsibility> responsibilityMap, Map<Long, Accounting> accountingMap, Map<Long, Long> responsibilityDepMap, Map<Long, Long> accountProMap) {
|
|
private void checkImportData(List<List<Object>> list, List<IncomeErrorMessage> incomeErrorMessageList, List<CostIncomeGroup> costIncomeGroupArrayList, 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++) {
|
|
for (int i = 0; i < list.size(); i++) {
|
|
@@ -190,7 +193,6 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
List<Object> data = list.get(i);
|
|
List<Object> data = list.get(i);
|
|
log.info("用户输入的数据是{}", data);
|
|
log.info("用户输入的数据是{}", data);
|
|
- Object money = data.get(data.size() - 1);
|
|
|
|
// 成本项目的代码和名称
|
|
// 成本项目的代码和名称
|
|
String productCode = data.get(0).toString();
|
|
String productCode = data.get(0).toString();
|
|
String productName = data.get(1).toString();
|
|
String productName = data.get(1).toString();
|
|
@@ -199,10 +201,12 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
String openDepartmentCode = data.get(3).toString();
|
|
String openDepartmentCode = data.get(3).toString();
|
|
String startDepartmentName = data.get(4).toString();
|
|
String startDepartmentName = data.get(4).toString();
|
|
String startDepartmentCode = data.get(5).toString();
|
|
String startDepartmentCode = data.get(5).toString();
|
|
- BigDecimal beforeMoney = (BigDecimal)data.get(6);
|
|
|
|
- if (!Objects.isNull(money) && !NumberConstant.ZERO.equals(Integer.parseInt(money.toString()))) {
|
|
|
|
|
|
+ BigDecimal beforeMoney = (BigDecimal) data.get(15);
|
|
|
|
+ boolean checkNull = Objects.isNull(beforeMoney);
|
|
|
|
+ boolean checkOne = NumberConstant.ZERO.equals(Integer.parseInt(beforeMoney.toString()));
|
|
|
|
+ if (!checkNull && !checkOne) {
|
|
// 要求这一行的数据必须全部填写
|
|
// 要求这一行的数据必须全部填写
|
|
- for (int j = 0; j < data.size(); j++) {
|
|
|
|
|
|
+ for (int j = 0; j < NumberConstant.FIVE; j++) {
|
|
if (Objects.isNull(data.get(j))) {
|
|
if (Objects.isNull(data.get(j))) {
|
|
incomeErrorMessage.setTotal(i);
|
|
incomeErrorMessage.setTotal(i);
|
|
int row = i + 1;
|
|
int row = i + 1;
|
|
@@ -211,70 +215,73 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // TODO 暂时不走循环 直接获取数据的处理
|
|
|
|
- // 检验数据是否存在
|
|
|
|
- Product product = productMap.get(productCode + productName);
|
|
|
|
- Department department = departmentMap.get(openDepartmentCode + openDepartmentName);
|
|
|
|
- Department department1 = departmentMap.get(startDepartmentCode + startDepartmentName);
|
|
|
|
- if (Objects.isNull(product)) {
|
|
|
|
|
|
+ }
|
|
|
|
+ // TODO 暂时不走循环 直接获取数据的处理
|
|
|
|
+ // 检验数据是否存在
|
|
|
|
+ Product product = productMap.get(productCode + productName);
|
|
|
|
+ Department department = departmentMap.get(openDepartmentCode + openDepartmentName);
|
|
|
|
+ Department department1 = departmentMap.get(startDepartmentCode + startDepartmentName);
|
|
|
|
+// if (!checkNull && !checkOne ){
|
|
|
|
+// if (StrUtil.isNotBlank(productCode) && StrUtil.isNotBlank(productName)){
|
|
|
|
+// if (Objects.isNull(product)) {
|
|
|
|
+// incomeErrorMessage.setTotal(i);
|
|
|
|
+// incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "成本项目不存在");
|
|
|
|
+// incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
|
+// } 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);
|
|
|
|
+// } else {
|
|
|
|
+// costIncomeGroup.setProductCode(productCode);
|
|
|
|
+// costIncomeGroup.setProductName(productName);
|
|
|
|
+// costIncomeGroup.setAccountCode(accountingMap.get(accountId).getAccountingCode());
|
|
|
|
+// costIncomeGroup.setAccountName(accountingMap.get(accountId).getAccountingName());
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ // 开单科室
|
|
|
|
+ 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.setTotal(i);
|
|
- incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "成本项目不存在");
|
|
|
|
|
|
+ incomeErrorMessage.setErrMessage("代码:" + openDepartmentCode + " 名称:" + openDepartmentName + "科室对应的责任中心不存在");
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
} else {
|
|
} 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);
|
|
|
|
- }else{
|
|
|
|
- costIncomeGroup.setProductCode(productCode);
|
|
|
|
- costIncomeGroup.setAccountCode(accountingMap.get(accountId).getAccountingCode());
|
|
|
|
- }
|
|
|
|
|
|
+ costIncomeGroup.setOpenDepartmentCode(openDepartmentCode);
|
|
|
|
+ costIncomeGroup.setOpenResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
|
|
}
|
|
}
|
|
- // 开单科室
|
|
|
|
- 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);
|
|
|
|
- }else {
|
|
|
|
- costIncomeGroup.setOpenDepartmentCode(openDepartmentCode);
|
|
|
|
- costIncomeGroup.setOpenResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- //执行科室
|
|
|
|
- if (Objects.isNull(department1)) {
|
|
|
|
|
|
+ }
|
|
|
|
+ //执行科室
|
|
|
|
+ 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.setTotal(i);
|
|
- incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "执行科室不存在");
|
|
|
|
|
|
+ incomeErrorMessage.setErrMessage("代码:" + openDepartmentCode + " 名称:" + openDepartmentName + "科室对应的责任中心不存在");
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
} else {
|
|
} 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);
|
|
|
|
- }else {
|
|
|
|
- costIncomeGroup.setStartDepartmentCode(startDepartmentCode);
|
|
|
|
- costIncomeGroup.setStartResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- costIncomeGroup.setAmount(beforeMoney);
|
|
|
|
- }else {
|
|
|
|
- // 最后一位是0 或者是null的情况
|
|
|
|
- if (StrUtil.isNotBlank(productCode)){
|
|
|
|
- costIncomeGroup.setProductCode(productCode);
|
|
|
|
-// costIncomeGroup.setAccountCode(accountingMap.get(accountId))
|
|
|
|
|
|
+ costIncomeGroup.setStartDepartmentCode(startDepartmentCode);
|
|
|
|
+ costIncomeGroup.setStartResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ costIncomeGroup.setAmount(beforeMoney);
|
|
|
|
+
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -304,6 +311,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
|
|
i.setAccountCodeName("[" + i.getAccountCode() + "]" + accountMap.get(i.getAccountCode()));
|
|
i.setAccountCodeName("[" + i.getAccountCode() + "]" + accountMap.get(i.getAccountCode()));
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 文件上传
|
|
* 文件上传
|
|
*/
|
|
*/
|