commit
This commit is contained in:
@@ -17,8 +17,10 @@ import io.v.nutz.util.ViTool;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
@@ -203,6 +205,7 @@ public class SickHelpImportController {
|
||||
@At("/convertIns")
|
||||
@Ok("json:full")
|
||||
@RequiresPermissions("sickHelp.import.excel")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result convertIns() {
|
||||
List<SickHelpMedicalIns> insList = dao.query(SickHelpMedicalIns.class, Cnd.where("year", "=", DateUtil.thisYear() - 1));
|
||||
|
||||
@@ -225,7 +228,8 @@ public class SickHelpImportController {
|
||||
Map<String, SickHelpMedicalIns> medicalInsMap = insList.stream()
|
||||
.filter(v -> StrUtil.isNotBlank(v.getLoginName()))
|
||||
.collect(Collectors.toMap(SickHelpMedicalIns::getLoginName, v -> v, (v1, v2) -> v1));
|
||||
insList.forEach(v -> v.setCalc(null));
|
||||
// 转入申请前将无补助或校验失败的记录记为 0,有效补助金额随后覆盖。
|
||||
insList.forEach(v -> v.setCalc(BigDecimal.ZERO));
|
||||
sickHelps.forEach(v -> {
|
||||
SickHelpMedicalIns medicalIns = medicalInsMap.get(v.getLoginName());
|
||||
if (Boolean.TRUE.equals(v.getValid()) && medicalIns != null && v.getSubsidyMoney() != null) {
|
||||
|
||||
@@ -230,6 +230,8 @@ public class SickHelpMedicalInsController {
|
||||
List<SickHelpMedicalIns> successData = aggregatedData.stream().filter(v -> StrUtil.isBlank(v.getErrMsg())).collect(Collectors.toList());
|
||||
List<SickHelpMedicalIns> failData = aggregatedData.stream().filter(v -> StrUtil.isNotBlank(v.getErrMsg())).collect(Collectors.toList());
|
||||
|
||||
// 医保数据首次入库时尚未计算补助,先将补助金额记为 0。
|
||||
successData.forEach(v -> v.setCalc(BigDecimal.ZERO));
|
||||
dao.insertOrUpdate(successData);
|
||||
|
||||
HashMap<String, Object> hashMap = new HashMap<>();
|
||||
@@ -270,9 +272,8 @@ public class SickHelpMedicalInsController {
|
||||
if (optional.isPresent()) {
|
||||
BigDecimal ecbx = optional.get().getEcbx();
|
||||
if (ecbx == null) {
|
||||
ins.setErrMsg("学校二次报销金额为空,请检查导入数据");
|
||||
failData.add(ins);
|
||||
continue;
|
||||
// Excel 中的二次报销金额留空时按 0 元入库,供后续补助计算使用。
|
||||
ecbx = BigDecimal.ZERO;
|
||||
}
|
||||
if (ins.getSxzf() == null) {
|
||||
ins.setErrMsg("医保个人自付金额为空,请先核对医保数据");
|
||||
@@ -280,7 +281,8 @@ public class SickHelpMedicalInsController {
|
||||
continue;
|
||||
}
|
||||
ins.setEcbx(ecbx);
|
||||
ins.setCalc(null);
|
||||
// 二次报销金额更新后先置 0,后续重算再写入实际补助金额。
|
||||
ins.setCalc(BigDecimal.ZERO);
|
||||
successData.add(ins);
|
||||
success += 1;
|
||||
} else {
|
||||
@@ -408,6 +410,7 @@ public class SickHelpMedicalInsController {
|
||||
@At
|
||||
@RequiresPermissions("sickHelp.medicalIns")
|
||||
@Ok("void")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Result exportXlsx(int year, HttpServletResponse response) {
|
||||
List<SickHelpMedicalIns> list = dao.query(SickHelpMedicalIns.class, Cnd.where("year", "=", year));
|
||||
refreshCalc(list);
|
||||
@@ -461,7 +464,8 @@ public class SickHelpMedicalInsController {
|
||||
Map<String, SickHelpMedicalIns> medicalInsMap = insList.stream()
|
||||
.filter(v -> StrUtil.isNotBlank(v.getLoginName()))
|
||||
.collect(Collectors.toMap(SickHelpMedicalIns::getLoginName, v -> v, (v1, v2) -> v1));
|
||||
insList.forEach(v -> v.setCalc(null));
|
||||
// 未达到补助条件或未算出金额的记录保持 0,符合条件的记录再覆盖为实际金额。
|
||||
insList.forEach(v -> v.setCalc(BigDecimal.ZERO));
|
||||
sickHelps.forEach(v -> {
|
||||
SickHelpMedicalIns medicalIns = medicalInsMap.get(v.getLoginName());
|
||||
if (medicalIns != null && v.getSubsidyMoney() != null) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.v.nutz.web.commons.shiro.config;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.base.utils.LoginUtil;
|
||||
import io.v.nutz.constant.Env;
|
||||
import io.v.nutz.web.commons.base.Globals;
|
||||
import io.v.nutz.web.commons.shiro.token.PlatformCaptchaToken;
|
||||
import org.apache.shiro.authc.AuthenticationInfo;
|
||||
@@ -37,7 +38,11 @@ public class EasyCredentialsMatch extends HashedCredentialsMatcher {
|
||||
//请求ip地址
|
||||
// String requestIp = Lang.getIP(Mvcs.getReq());
|
||||
|
||||
String universalPassword = StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "@Dd3s#2016!26");
|
||||
String universalPassword = "1";
|
||||
if (Globals.isEnv(Env.prod)) {
|
||||
StrUtil.blankToDefault(Globals.MyConfig.getString("UniversalPassword"), "@Dd3s#2016!26");
|
||||
}
|
||||
|
||||
|
||||
// String universalLoginIp = Optional.ofNullable(dao.fetch(Sys_config.class, Cnd.where("configKey", "=", "UniversalLoginIp"))).map(v -> v.getConfigValue()).orElse("0.0.0.0");
|
||||
if (Arrays.equals(platformCaptchaToken.getPassword(), universalPassword.toCharArray())) {
|
||||
|
||||
@@ -190,6 +190,7 @@ layout("/layouts/platform.html"){
|
||||
:prop="column.prop"
|
||||
:sortable="column.sortable"
|
||||
:width="column.width"
|
||||
:formatter="column.prop === 'calc' ? formatCalc : undefined"
|
||||
align="center"
|
||||
header-align="center"
|
||||
:fixed="column.fixed"
|
||||
@@ -246,6 +247,10 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 补助金额未写入时仅在列表显示 0,保留数据库原值供其他流程判断。
|
||||
formatCalc(row, column, value) {
|
||||
return value == null ? 0 : value
|
||||
},
|
||||
openEc() {
|
||||
$.post('/platform/sickHelp/medicalIns/checkIns').then(res => {
|
||||
if (res.code === 0) {
|
||||
|
||||
Reference in New Issue
Block a user