|
@@ -1,8 +1,11 @@
|
|
package com.imed.costaccount.service.impl;
|
|
package com.imed.costaccount.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import com.alibaba.druid.util.StringUtils;
|
|
import com.alibaba.druid.util.StringUtils;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.imed.costaccount.common.exception.CostException;
|
|
import com.imed.costaccount.common.exception.CostException;
|
|
import com.imed.costaccount.common.util.BeanUtil;
|
|
import com.imed.costaccount.common.util.BeanUtil;
|
|
import com.imed.costaccount.common.util.DateUtils;
|
|
import com.imed.costaccount.common.util.DateUtils;
|
|
@@ -10,16 +13,13 @@ import com.imed.costaccount.common.util.Result;
|
|
import com.imed.costaccount.common.util.UserContext;
|
|
import com.imed.costaccount.common.util.UserContext;
|
|
import com.imed.costaccount.constants.NumberConstant;
|
|
import com.imed.costaccount.constants.NumberConstant;
|
|
import com.imed.costaccount.enums.DateStyleEnum;
|
|
import com.imed.costaccount.enums.DateStyleEnum;
|
|
|
|
+import com.imed.costaccount.mapper.ShareParamValueMapper;
|
|
import com.imed.costaccount.model.*;
|
|
import com.imed.costaccount.model.*;
|
|
import com.imed.costaccount.model.vo.IncomeErrorMessage;
|
|
import com.imed.costaccount.model.vo.IncomeErrorMessage;
|
|
import com.imed.costaccount.service.CostIncomeFileService;
|
|
import com.imed.costaccount.service.CostIncomeFileService;
|
|
import com.imed.costaccount.service.CostShareParamService;
|
|
import com.imed.costaccount.service.CostShareParamService;
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
-
|
|
|
|
-import com.imed.costaccount.mapper.ShareParamValueMapper;
|
|
|
|
import com.imed.costaccount.service.ShareParamValueService;
|
|
import com.imed.costaccount.service.ShareParamValueService;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -112,8 +112,22 @@ public class ShareParamValueServiceImpl extends ServiceImpl<ShareParamValueMappe
|
|
i.setFileId(id);
|
|
i.setFileId(id);
|
|
i.setDataSourceType(1);
|
|
i.setDataSourceType(1);
|
|
});
|
|
});
|
|
|
|
+ // 保存数据的唯一性
|
|
|
|
+ Map<String, List<ShareParamValue>> map = shareParamValues.stream().collect(Collectors.groupingBy(k -> k.getShareParamCode().trim() + "code" + k.getResponsibilityCode().trim()+k.getDateYear().toString().trim()+"code"+k.getDateMonth().toString().trim()
|
|
|
|
+ ));
|
|
|
|
+ LinkedList<ShareParamValue> realList = new LinkedList<>();
|
|
|
|
+ Set<String> strings = map.keySet();
|
|
|
|
+ for (String str : strings) {
|
|
|
|
+ List<ShareParamValue> shareParamValuesList = map.get(str);
|
|
|
|
+ if (CollUtil.isNotEmpty(shareParamValuesList)) {
|
|
|
|
+ BigDecimal reduce = shareParamValuesList.stream().map(ShareParamValue::getValueNum).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
+ ShareParamValue shareParamValue = shareParamValuesList.get(0);
|
|
|
|
+ shareParamValue.setValueNum(reduce);
|
|
|
|
+ realList.add(shareParamValue);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
if (CollectionUtils.isEmpty(incomeErrorMessageList)) {
|
|
- this.saveBatch(shareParamValues);
|
|
|
|
|
|
+ this.saveBatch(realList);
|
|
return Result.build(200, "数据导入成功", null);
|
|
return Result.build(200, "数据导入成功", null);
|
|
} else {
|
|
} else {
|
|
return Result.build(200, "数据未成功导入", null);
|
|
return Result.build(200, "数据未成功导入", null);
|
|
@@ -201,7 +215,7 @@ public class ShareParamValueServiceImpl extends ServiceImpl<ShareParamValueMappe
|
|
incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在");
|
|
incomeErrorMessage.setErrMessage("第" + j + "列科室信息不存在");
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
incomeErrorMessageList.add(incomeErrorMessage);
|
|
}
|
|
}
|
|
- shareParamValue.setValueNum(BigDecimal.valueOf(Double.parseDouble(("0".equals(data.get(j).toString()) || StrUtil.isBlank(data.get(j).toString())) ? "0.00" : data.get(j).toString())));
|
|
|
|
|
|
+ shareParamValue.setValueNum(new BigDecimal(("0".equals(data.get(j).toString()) || StrUtil.isBlank(data.get(j).toString())) ? "0.00" : data.get(j).toString()));
|
|
shareParamValue.setHospId(UserContext.getHospId());
|
|
shareParamValue.setHospId(UserContext.getHospId());
|
|
shareParamValue.setCreateTime(System.currentTimeMillis());
|
|
shareParamValue.setCreateTime(System.currentTimeMillis());
|
|
shareParamValue.setDateYear(year);
|
|
shareParamValue.setDateYear(year);
|