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