|
@@ -56,7 +56,7 @@ public class CostShareParamGroupServiceImpl extends ServiceImpl<CostShareParamGr
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
|
|
|
public Result importShareParamGroup(List<List<Object>> list, User user, MultipartFile file, String dateTime, Integer fileType) {
|
|
|
// 先检验当前年月是否存在数据
|
|
|
int year = 0;
|
|
@@ -108,92 +108,99 @@ public class CostShareParamGroupServiceImpl extends ServiceImpl<CostShareParamGr
|
|
|
});
|
|
|
if (CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
|
this.saveBatch(costShareParamGroupList);
|
|
|
- return Result.build(200,"数据导入成功",null);
|
|
|
- }else {
|
|
|
+ return Result.build(200, "数据导入成功", null);
|
|
|
+ } else {
|
|
|
return Result.build(500, "数据未成功导入", null);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private void checkShareParamGroupData(List<List<Object>> list, int year, int month, List<IncomeErrorMessage> incomeErrorMessageList, Map<String, Department> departmentMap, Map<Long, Responsibility> responsibilityMap, Map<Long, Long> responsibilityDepMap, Map<String, CostShareParam> shareParamMap, List<CostShareParamGroup> costShareParamGroupList, List<Object> departmentCodes, List<Object> departmentNames) {
|
|
|
for (int i = 2; i < list.size(); i++) {
|
|
|
- int row=i+2;
|
|
|
+ int row = i + 2;
|
|
|
List<Object> data = list.get(i);
|
|
|
// 检验成本分摊参数是否正确
|
|
|
CostShareParamGroup costShareParamGroupRequest = new CostShareParamGroup();
|
|
|
String shareParamCode = data.get(0).toString();
|
|
|
String shareParamName = data.get(1).toString();
|
|
|
CostShareParam costShareParam = shareParamMap.get(shareParamCode + shareParamName);
|
|
|
- if (Objects.nonNull(costShareParam)){
|
|
|
+ if (Objects.nonNull(costShareParam)) {
|
|
|
costShareParamGroupRequest.setShareParamCode(shareParamCode);
|
|
|
costShareParamGroupRequest.setShareParamName(shareParamName);
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
incomeErrorMessage.setTotal(1);
|
|
|
- incomeErrorMessage.setErrMessage("成本分摊代码:"+shareParamCode+" 名称"+shareParamName+"不存在");
|
|
|
+ incomeErrorMessage.setErrMessage("成本分摊代码:" + shareParamCode + " 名称" + shareParamName + "不存在");
|
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
}
|
|
|
for (int j = 2; j < departmentCodes.size(); j++) {
|
|
|
- if (data.size() > j ) {
|
|
|
- if (Objects.isNull(data.get(j))){
|
|
|
+ if (data.size() > j) {
|
|
|
+ if (Objects.isNull(data.get(j))) {
|
|
|
data.set(j, NumberConstant.ZERO);
|
|
|
- }else {
|
|
|
- data.set(j, Integer.parseInt(data.get(j).toString()));
|
|
|
+ } else if (isNumeric(data.get(j).toString())) {
|
|
|
+ data.set(j, Double.parseDouble(data.get(j).toString()));
|
|
|
+ } else {
|
|
|
+ IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
+ incomeErrorMessage.setTotal(row);
|
|
|
+ incomeErrorMessage.setErrMessage("第" + row + "行 第" + j + "列数据不符合规范");
|
|
|
+ incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
data.add(NumberConstant.ZERO);
|
|
|
}
|
|
|
}
|
|
|
- // 检验输入的数字是否合法
|
|
|
- for (int j=2;j<data.size();j++){
|
|
|
- if (!isNumeric(data.get(j).toString())){
|
|
|
- IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
- incomeErrorMessage.setTotal(row);
|
|
|
- incomeErrorMessage.setErrMessage("第"+row+"行 第"+j+"列数据不符合规范");
|
|
|
- incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ if (CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
|
+ // 检验数据是否全为0
|
|
|
+ Integer zeroStatus = 0;
|
|
|
+ for (int j = 0; j < data.size(); j++) {
|
|
|
+ if (!NumberConstant.ZERO.equals(data.get(j))) {
|
|
|
+ zeroStatus = 1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- if (CollectionUtils.isEmpty(incomeErrorMessageList)){
|
|
|
- for (int j = 2; j < data.size() ; j++) {
|
|
|
- CostShareParamGroup costShareParamGroup= BeanUtil.convertObj(costShareParamGroupRequest,CostShareParamGroup.class);
|
|
|
- // 检验科室信息是否准确
|
|
|
- String departmentCode = departmentCodes.get(j).toString();
|
|
|
- String departmentName = departmentNames.get(j).toString();
|
|
|
- Department department = departmentMap.get(departmentCode + departmentName);
|
|
|
- if (Objects.nonNull(department)) {
|
|
|
- // 检测责任中心是否存在
|
|
|
- Long id = department.getId();
|
|
|
- Long responsibilityId = responsibilityDepMap.get(id);
|
|
|
- if (Objects.nonNull(responsibilityId)) {
|
|
|
- Responsibility responsibility = responsibilityMap.get(responsibilityId);
|
|
|
- if (Objects.nonNull(responsibility)) {
|
|
|
- costShareParamGroup.setResponsibilityCode(responsibility.getResponsibilityCode());
|
|
|
- costShareParamGroup.setResponsibilityName(responsibility.getResponsibilityName());
|
|
|
+ if (NumberConstant.ONE.equals(zeroStatus)) {
|
|
|
+ for (int j = 2; j < data.size(); j++) {
|
|
|
+ CostShareParamGroup costShareParamGroup = BeanUtil.convertObj(costShareParamGroupRequest, CostShareParamGroup.class);
|
|
|
+ // 检验科室信息是否准确
|
|
|
+ String departmentCode = departmentCodes.get(j).toString();
|
|
|
+ String departmentName = departmentNames.get(j).toString();
|
|
|
+ Department department = departmentMap.get(departmentCode + departmentName);
|
|
|
+ if (Objects.nonNull(department)) {
|
|
|
+ // 检测责任中心是否存在
|
|
|
+ Long id = department.getId();
|
|
|
+ Long responsibilityId = responsibilityDepMap.get(id);
|
|
|
+ if (Objects.nonNull(responsibilityId)) {
|
|
|
+ Responsibility responsibility = responsibilityMap.get(responsibilityId);
|
|
|
+ if (Objects.nonNull(responsibility)) {
|
|
|
+ costShareParamGroup.setResponsibilityCode(responsibility.getResponsibilityCode());
|
|
|
+ costShareParamGroup.setResponsibilityName(responsibility.getResponsibilityName());
|
|
|
|
|
|
+ } else {
|
|
|
+ IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
+ incomeErrorMessage.setTotal(j);
|
|
|
+ incomeErrorMessage.setErrMessage("第" + j + "列科室信息对应的责任中心不存在");
|
|
|
+ incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ }
|
|
|
} else {
|
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
incomeErrorMessage.setTotal(j);
|
|
|
- incomeErrorMessage.setErrMessage("第" + j + "列科室信息对应的责任中心不存在");
|
|
|
+ incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在对应的责任中心");
|
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
}
|
|
|
} else {
|
|
|
IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
incomeErrorMessage.setTotal(j);
|
|
|
- incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在对应的责任中心");
|
|
|
+ incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在");
|
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
}
|
|
|
- } else {
|
|
|
- IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
|
|
|
- incomeErrorMessage.setTotal(j);
|
|
|
- incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在");
|
|
|
- incomeErrorMessageList.add(incomeErrorMessage);
|
|
|
+ costShareParamGroup.setAmount(BigDecimal.valueOf(Double.parseDouble(("0".equals(data.get(j).toString()) || StrUtil.isBlank(data.get(j).toString())) ? "0.00" : data.get(j).toString())));
|
|
|
+ costShareParamGroup.setHospId(UserContext.getHospId());
|
|
|
+ costShareParamGroup.setCreateTime(System.currentTimeMillis());
|
|
|
+ costShareParamGroup.setDateYear(year);
|
|
|
+ costShareParamGroup.setDateMonth(month);
|
|
|
+ costShareParamGroupList.add(costShareParamGroup);
|
|
|
}
|
|
|
- costShareParamGroup.setAmount(BigDecimal.valueOf(Double.parseDouble(("0".equals(data.get(j).toString()) || StrUtil.isBlank(data.get(j).toString())) ?"0.00":data.get(j).toString())));
|
|
|
- costShareParamGroup.setHospId(UserContext.getHospId());
|
|
|
- costShareParamGroup.setCreateTime(System.currentTimeMillis());
|
|
|
- costShareParamGroup.setDateYear(year);
|
|
|
- costShareParamGroup.setDateMonth(month);
|
|
|
- costShareParamGroupList.add(costShareParamGroup);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|