医疗互助系统-补助台账:修复搜索异常;修复数据导入计算时报错数据也被导入等问题;
This commit is contained in:
@@ -128,7 +128,12 @@ public class SickHelpImportController {
|
||||
@Ok("json:full")
|
||||
@ViReturn
|
||||
public Object doImport(@Param("sickHelps") SickHelp[] sickHelps) {
|
||||
sickHelpImportService.importData(Arrays.asList(sickHelps));
|
||||
List<SickHelp> checkList = sickHelpImportService.checkData(Arrays.asList(sickHelps));
|
||||
boolean hasErrorData = checkList.stream().anyMatch(v -> !Boolean.TRUE.equals(v.getValid()));
|
||||
if (hasErrorData) {
|
||||
return Result.error("存在校验不合格的数据,无法导入");
|
||||
}
|
||||
sickHelpImportService.importData(checkList);
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -223,8 +228,8 @@ public class SickHelpImportController {
|
||||
insList.forEach(v -> v.setCalc(null));
|
||||
sickHelps.forEach(v -> {
|
||||
SickHelpMedicalIns medicalIns = medicalInsMap.get(v.getLoginName());
|
||||
if (Boolean.TRUE.equals(v.getValid()) && medicalIns != null && v.getNoLimitSubsidyMoney() != null) {
|
||||
medicalIns.setCalc(v.getNoLimitSubsidyMoney());
|
||||
if (Boolean.TRUE.equals(v.getValid()) && medicalIns != null && v.getSubsidyMoney() != null) {
|
||||
medicalIns.setCalc(v.getSubsidyMoney());
|
||||
}
|
||||
});
|
||||
if (!insList.isEmpty()) {
|
||||
|
||||
@@ -464,8 +464,8 @@ public class SickHelpMedicalInsController {
|
||||
insList.forEach(v -> v.setCalc(null));
|
||||
sickHelps.forEach(v -> {
|
||||
SickHelpMedicalIns medicalIns = medicalInsMap.get(v.getLoginName());
|
||||
if (Boolean.TRUE.equals(v.getValid()) && medicalIns != null && v.getNoLimitSubsidyMoney() != null) {
|
||||
medicalIns.setCalc(v.getNoLimitSubsidyMoney());
|
||||
if (medicalIns != null && v.getSubsidyMoney() != null) {
|
||||
medicalIns.setCalc(v.getSubsidyMoney());
|
||||
}
|
||||
});
|
||||
if (!insList.isEmpty()) {
|
||||
|
||||
@@ -108,15 +108,14 @@ public class SickHelpImportServiceImpl extends ViServiceImpl<SickHelp> implement
|
||||
sick.setValidMsg(sick.getValidMsg());
|
||||
}
|
||||
|
||||
//本年是否有重复记录 这里只对新增的判断
|
||||
if (StrUtil.isBlank(sick.getId())) {
|
||||
//同工号、同年度已有记录时按更新处理
|
||||
if (StrUtil.isBlank(sick.getId()) && sick.getYear() != null) {
|
||||
Cnd duplicateCnd = Cnd.NEW();
|
||||
duplicateCnd.and("loginName", "=", fundMember.getLoginName());
|
||||
duplicateCnd.and("year", "=", sick.getYear());
|
||||
int count = dao().count(SickHelp.class, duplicateCnd);
|
||||
if (count > 0) {
|
||||
sick.getValidMsg().add("数据库中该用户已存在" + sick.getYear() + "年记录");
|
||||
sick.setValidMsg(sick.getValidMsg());
|
||||
SickHelp oldData = dao().fetch(SickHelp.class, duplicateCnd);
|
||||
if (oldData != null) {
|
||||
sick.setId(oldData.getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,9 +169,18 @@ public class SickHelpImportServiceImpl extends ViServiceImpl<SickHelp> implement
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public void importData(List<SickHelp> sickHelps) {
|
||||
for (SickHelp sickHelp : sickHelps) {
|
||||
sickHelp.setStateCode(SickHelpStateEnum.DTJ.getStateCode());
|
||||
SickHelp oldData = dao().fetch(SickHelp.class, Cnd.where("loginName", "=", sickHelp.getLoginName())
|
||||
.and("year", "=", sickHelp.getYear()));
|
||||
if (oldData == null) {
|
||||
sickHelp.setId(null);
|
||||
sickHelp.setStateCode(SickHelpStateEnum.DTJ.getStateCode());
|
||||
dao().insert(sickHelp);
|
||||
} else {
|
||||
sickHelp.setId(oldData.getId());
|
||||
sickHelp.setStateCode(null);
|
||||
dao().updateIgnoreNull(sickHelp);
|
||||
}
|
||||
}
|
||||
dao().insertOrUpdate(sickHelps);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -240,8 +240,8 @@ layout("/layouts/platform.html"){
|
||||
async doImport() {
|
||||
const hasErrorData = this.tableData.some(v => !v.valid)
|
||||
if (hasErrorData) {
|
||||
// this.notifyWarning('数据校验不合格,无法导入')
|
||||
// return
|
||||
this.notifyWarning('数据校验不合格,无法导入')
|
||||
return
|
||||
}
|
||||
const resp = await $.post('/platform/sickHelp/import/doImport', {sickHelps: JSON.stringify(this.tableData)})
|
||||
if (resp.code === 0) {
|
||||
@@ -249,6 +249,8 @@ layout("/layouts/platform.html"){
|
||||
this.globalYear = null
|
||||
this.notifySuccess(resp.msg)
|
||||
this.$refs.excelUpload.clearFiles()
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
},
|
||||
globalYearChange(val) {
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user