医疗互助系统:会员导入模板加身份证号码字段;会员台账新增身份证号码字段编辑;
This commit is contained in:
@@ -184,6 +184,7 @@ public class SickHelpListController {
|
||||
SELECT
|
||||
sick.loginName,
|
||||
sick.userName,
|
||||
IFNULL(NULLIF(sfm.idcard, ''), u.idcard) AS idcard,
|
||||
sick.unitName,
|
||||
sick.medicalFourTotalMoney,
|
||||
sick.selfPayMoney,
|
||||
@@ -243,6 +244,7 @@ public class SickHelpListController {
|
||||
excelExportEntities.add(indexExcelExportEntity);
|
||||
excelExportEntities.add(new ExcelExportEntity("工资号", "loginName", 20));
|
||||
excelExportEntities.add(new ExcelExportEntity("姓名", "userName", 20));
|
||||
excelExportEntities.add(new ExcelExportEntity("身份证号", "idcard", 30));
|
||||
excelExportEntities.add(new ExcelExportEntity("单位", "unitName", 20));
|
||||
excelExportEntities.add(new ExcelExportEntity("状态", "userState", 20));
|
||||
excelExportEntities.add(new ExcelExportEntity("是否会员", "isMember", 20));
|
||||
|
||||
@@ -95,7 +95,7 @@ public class SickFundListController {
|
||||
sfm.remark,
|
||||
u.unitid as unitId,
|
||||
u.unitname as unitName,
|
||||
u.idcard
|
||||
IFNULL(NULLIF(sfm.idcard, ''), u.idcard) AS idcard
|
||||
from sick_fund_member sfm
|
||||
left join `user` u on u.loginname = sfm.loginName
|
||||
$condition
|
||||
@@ -189,7 +189,7 @@ public class SickFundListController {
|
||||
return Result.error("该记录已存在,请勿重复添加!");
|
||||
}*/
|
||||
Trans.exec(() -> {
|
||||
dao.update(Sys_user.class, Chain.make("unitId", fundMember.getUnitId()), Cnd.where("loginname", "=", fundMember.getLoginName()));
|
||||
dao.update(Sys_user.class, Chain.make("unitId", fundMember.getUnitId()).add("idcard", fundMember.getIdcard()), Cnd.where("loginname", "=", fundMember.getLoginName()));
|
||||
dao.update(fundMember);
|
||||
});
|
||||
return null;
|
||||
@@ -211,7 +211,10 @@ public class SickFundListController {
|
||||
if (count > 0) {
|
||||
return Result.error("该记录已存在,请勿重复添加!");
|
||||
}*/
|
||||
dao.insert(fundMember);
|
||||
Trans.exec(() -> {
|
||||
dao.update(Sys_user.class, Chain.make("unitId", fundMember.getUnitId()).add("idcard", fundMember.getIdcard()), Cnd.where("loginname", "=", fundMember.getLoginName()));
|
||||
dao.insert(fundMember);
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -237,7 +240,7 @@ public class SickFundListController {
|
||||
sfm.remark,
|
||||
u.unitid as unitId,
|
||||
u.unitname as unitName,
|
||||
u.idcard
|
||||
IFNULL(NULLIF(sfm.idcard, ''), u.idcard) AS idcard
|
||||
from sick_fund_member sfm
|
||||
left join `user` u on u.loginname = sfm.loginName
|
||||
$condition
|
||||
|
||||
@@ -6,13 +6,16 @@ import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.ImportParams;
|
||||
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.sickHelp.model.SickFundMember;
|
||||
import io.v.nutz.sys.models.Sys_user;
|
||||
import io.v.nutz.util.ViTool;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
@@ -28,6 +31,7 @@ import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
import org.nutz.mvc.upload.TempFile;
|
||||
import org.nutz.mvc.upload.UploadAdaptor;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
@@ -71,7 +75,7 @@ public class SickHelpMemberController {
|
||||
ImportParams importParams = new ImportParams();
|
||||
List<SickFundMember> list = ExcelImportUtil.importExcel(tempFile.getFile(), SickFundMember.class, importParams);
|
||||
List<String> loginNames = list.stream().map(v -> v.getLoginName()).collect(Collectors.toList());
|
||||
Sql userSql = Sqls.create("select id,loginname,username,unitid,unitname,sex from user where loginname in (@loginNames)");
|
||||
Sql userSql = Sqls.create("select u.id,u.loginname,u.username,u.unitid,u.unitname,u.sex,su.idcard from user u left join sys_user su on su.loginname = u.loginname where u.loginname in (@loginNames)");
|
||||
userSql.setParam("loginNames", loginNames);
|
||||
List<NutMap> users = (List<NutMap>) Daos.query(dao, userSql.toString(), Sqls.callback.maps());
|
||||
Map<String, NutMap> userMap = users.stream().collect(Collectors.toMap(v -> v.getString("loginname"), v -> v));
|
||||
@@ -96,6 +100,9 @@ public class SickHelpMemberController {
|
||||
fundMember.setUnitId(user.getString("unitid"));
|
||||
fundMember.setUnitName(user.getString("unitname"));
|
||||
fundMember.setSex(user.getString("sex"));
|
||||
if (StrUtil.isBlank(fundMember.getIdcard())) {
|
||||
fundMember.setIdcard(user.getString("idcard"));
|
||||
}
|
||||
// fundMember.setIsMember(true);
|
||||
}
|
||||
fundMember.setIsMember("是".equals(fundMember.getMember()));
|
||||
@@ -117,7 +124,14 @@ public class SickHelpMemberController {
|
||||
List<List<SickFundMember>> splitFundMembers = ListUtil.split(Arrays.asList(fundMembers), 500);
|
||||
for (List<SickFundMember> splitFundMember : splitFundMembers) {
|
||||
new Thread(() -> {
|
||||
dao.insertOrUpdate(splitFundMember);
|
||||
Trans.exec(() -> {
|
||||
for (SickFundMember fundMember : splitFundMember) {
|
||||
if (StrUtil.isNotBlank(fundMember.getIdcard())) {
|
||||
dao.update(Sys_user.class, Chain.make("idcard", fundMember.getIdcard()), Cnd.where("loginname", "=", fundMember.getLoginName()));
|
||||
}
|
||||
}
|
||||
dao.insertOrUpdate(splitFundMember);
|
||||
});
|
||||
}).start();
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -65,6 +65,12 @@ public class SickFundMember {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 1)
|
||||
private String sex;
|
||||
|
||||
@Column
|
||||
@Comment("身份证号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 50)
|
||||
@Excel(name = "身份证号", width = 30)
|
||||
private String idcard;
|
||||
|
||||
@Column
|
||||
@Comment("是否会员")
|
||||
@ColDefine(type = ColType.BOOLEAN)
|
||||
|
||||
@@ -214,6 +214,11 @@ public class SickHelp {
|
||||
*/
|
||||
private String mutualGoldStartTime;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
private String idcard;
|
||||
|
||||
public void setSubsidyMoney(BigDecimal subsidyMoney) {
|
||||
if (subsidyMoney != null) {
|
||||
subsidyMoney = subsidyMoney.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
@@ -93,6 +93,8 @@ public class SickHelpImportServiceImpl extends ViServiceImpl<SickHelp> implement
|
||||
|
||||
if (fundMember != null) {
|
||||
|
||||
sick.setIdcard(StrUtil.isNotBlank(fundMember.getIdcard()) ? fundMember.getIdcard() : user == null ? null : user.getIdcard());
|
||||
|
||||
// sick.setUnitName(fundMember.getUnitName());
|
||||
|
||||
//本次导入的excel人员是否有重复数据
|
||||
@@ -175,9 +177,10 @@ public class SickHelpImportServiceImpl extends ViServiceImpl<SickHelp> implement
|
||||
|
||||
@Override
|
||||
public List<SickFundMember> searchUser(String key) {
|
||||
Cnd cnd = Cnd.where(Cnd.likeEX("userName", key)).or(Cnd.likeEX("loginName", key));
|
||||
Cnd cnd = Cnd.where(Cnd.likeEX("m.userName", key)).or(Cnd.likeEX("m.loginName", key));
|
||||
cnd.or(Cnd.likeEX("m.idcard", key)).or(Cnd.likeEX("u.idcard", key));
|
||||
|
||||
Sql sql = Sqls.create("select * from sick_fund_member $condition");
|
||||
Sql sql = Sqls.create("select m.*, IFNULL(NULLIF(m.idcard, ''), u.idcard) AS idcard from sick_fund_member m left join user u on u.loginname = m.loginName $condition");
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = listPageMap(1, 10, sql);
|
||||
return pagination.getList();
|
||||
|
||||
@@ -51,7 +51,8 @@ public class SickHelpListServiceImpl extends ViServiceImpl<SickHelp> implements
|
||||
SELECT
|
||||
sick.*,
|
||||
u.unionname as unionName,
|
||||
sfm.isMember
|
||||
sfm.isMember,
|
||||
IFNULL(NULLIF(sfm.idcard, ''), u.idcard) AS idcard
|
||||
FROM
|
||||
`sick_help` sick
|
||||
LEFT JOIN sick_fund_member sfm on sfm.loginName = sick.loginName
|
||||
@@ -75,6 +76,8 @@ public class SickHelpListServiceImpl extends ViServiceImpl<SickHelp> implements
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("sick.userName", subsidyUser);
|
||||
seg.orLike("sick.loginName", subsidyUser);
|
||||
seg.orLike("sfm.idcard", subsidyUser);
|
||||
seg.orLike("u.idcard", subsidyUser);
|
||||
cnd.and(seg);
|
||||
}
|
||||
if (StrUtil.isNotBlank(pageForm.getPageOrderName()) && StrUtil.isNotBlank(pageForm.getPageOrderBy())) {
|
||||
|
||||
@@ -92,6 +92,7 @@ layout("/layouts/platform.html"){
|
||||
<!-- <el-input v-model="row.userName" maxlength="10" size="small"></el-input>-->
|
||||
<!-- </template>-->
|
||||
</el-table-column>
|
||||
<el-table-column label="身份证号" prop="idcard" width="200"></el-table-column>
|
||||
<el-table-column label="单位" prop="unitName" show-overflow-tooltip width="150">
|
||||
<!-- <template scope="{row}">-->
|
||||
<!-- <el-input v-model="row.unitName" maxlength="10" size="small"></el-input>-->
|
||||
|
||||
@@ -76,41 +76,46 @@ layout("/layouts/platform.html"){
|
||||
<vi-title2 title="填写补助数据"></vi-title2>
|
||||
|
||||
<el-row>
|
||||
<el-col :lg="8" :xs="24">
|
||||
<el-col :lg="6" :xs="24">
|
||||
<el-form-item label="工号" prop="loginName">
|
||||
<el-select :disabled="formDisabled"
|
||||
:remote-method="searchUser"
|
||||
@change="userChange"
|
||||
clearable
|
||||
filterable
|
||||
placeholder="输入工号或者姓名查询"
|
||||
placeholder="输入工号、姓名或身份证号查询"
|
||||
remote
|
||||
reserve-keyword
|
||||
style="width: 100%"
|
||||
v-model="formData.loginName">
|
||||
<el-option
|
||||
:key="item.loginName"
|
||||
:label="item.userName+'('+item.loginName+')'"
|
||||
:label="item.userName+'('+item.loginName+') '+(item.idcard || '')"
|
||||
:value="item.loginName"
|
||||
v-for="item in userList"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :xs="24">
|
||||
<el-col :lg="6" :xs="24">
|
||||
<el-form-item label="姓名" prop="userName">
|
||||
<el-input :disabled="!this.formData.id"
|
||||
placeholder="输入工号之后自动显示"
|
||||
v-model="formData.userName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="8" :xs="24">
|
||||
<el-col :lg="6" :xs="24">
|
||||
<el-form-item label="身份证号" prop="idcard">
|
||||
<el-input placeholder="选择工号之后自动显示" readonly
|
||||
v-model="formData.idcard"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :lg="6" :xs="24">
|
||||
<el-form-item label="单位" prop="unitName">
|
||||
<el-input placeholder="输入工号之后自动显示"
|
||||
v-model="formData.unitName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20">
|
||||
@@ -337,6 +342,7 @@ layout("/layouts/platform.html"){
|
||||
this.$set(this.formData, 'subsidyDesc', resp_data.subsidyDesc)
|
||||
this.$set(this.formData, 'subsidyMoney', resp_data.subsidyMoney)
|
||||
this.$set(this.formData, 'unitName', resp_data.unitName)
|
||||
this.$set(this.formData, 'idcard', resp_data.idcard)
|
||||
this.notifySuccess(resp_data.validMsg.join('、'))
|
||||
} else {
|
||||
this.notifyWarning(resp_data.validMsg.join('、'))
|
||||
@@ -376,6 +382,7 @@ layout("/layouts/platform.html"){
|
||||
this.$set(this.formData, 'userName', user.userName)
|
||||
this.$set(this.formData, 'unitName', user.unitName)
|
||||
this.$set(this.formData, 'loginName', user.loginName)
|
||||
this.$set(this.formData, 'idcard', user.idcard)
|
||||
await this.getHistoryApplyRecords(user.loginName, this.formData.year)
|
||||
},
|
||||
async getHistoryApplyRecords(loginName, year) {
|
||||
@@ -401,6 +408,8 @@ layout("/layouts/platform.html"){
|
||||
await this.searchUser(loginName)
|
||||
resp.data.year = resp.data.year.toString()
|
||||
this.formData = resp.data
|
||||
const user = this.userList.find(v => v.loginName === loginName)
|
||||
this.$set(this.formData, 'idcard', user ? user.idcard : null)
|
||||
await this.getHistoryApplyRecords(loginName, this.formData.year)
|
||||
}
|
||||
},
|
||||
@@ -412,4 +421,4 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
|
||||
<div class="search-item">
|
||||
<div class="search-item-label">补助人:</div>
|
||||
<div class="search-item-option">
|
||||
<el-input clearable maxlength="10" placeholder="可输入补助人的工号或姓名进行查询"
|
||||
<el-input clearable maxlength="50" placeholder="可输入补助人的工号、姓名或身份证号进行查询"
|
||||
v-model.trim="pageForm.subsidyUser"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
@@ -269,6 +269,7 @@ layout("/layouts/platform.html"){
|
||||
{prop: 'year', label: '年度', sortable: true, fixed: 'left'},
|
||||
{prop: 'userName', label: '姓名', fixed: 'left'},
|
||||
{prop: 'loginName', label: '工号', fixed: 'left', width: 120},
|
||||
{prop: 'idcard', label: '身份证号', fixed: 'left', width: 200},
|
||||
{prop: 'unionName', label: '分工会', sortable: true, width: 150},
|
||||
{prop: 'unitName', label: '单位', sortable: true, width: 150},
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@ layout("/layouts/platform.html"){
|
||||
{prop: 'userName', label: '姓名'},
|
||||
{prop: 'loginName', label: '工号'},
|
||||
{prop: 'sex', label: '性别'},
|
||||
{prop: 'idcard', label: '身份证号'},
|
||||
{prop: 'unitName', label: '单位'},
|
||||
{prop: 'userState', label: '状态'},
|
||||
{prop: 'mutualGoldStartTime', label: '入会时间'},
|
||||
@@ -163,4 +164,4 @@ layout("/layouts/platform.html"){
|
||||
|
||||
<!--#
|
||||
}
|
||||
#-->
|
||||
#-->
|
||||
|
||||
@@ -147,6 +147,9 @@ layout("/layouts/platform.html"){
|
||||
<el-radio-button label="女"></el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号" prop="idcard">
|
||||
<el-input maxlength="50" v-model.trim="formData.idcard"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="单位" prop="unitId">
|
||||
<el-select clearable filterable style="width: 100%"
|
||||
@@ -215,6 +218,7 @@ layout("/layouts/platform.html"){
|
||||
loginName: [{required: true, message: '请输入工号', trigger: ['change', 'blur']}],
|
||||
userName: [{required: true, message: '请输入姓名', trigger: ['change', 'blur']}],
|
||||
// sex: [{required: true, message: '请选择性别', trigger: ['change', 'blur']}],
|
||||
idcard: [{required: false, message: '请输入身份证号', trigger: ['change', 'blur']}],
|
||||
unitName: [{required: false, message: '请输入单位', trigger: ['change', 'blur']}],
|
||||
unitId: [{required: true, message: '请选择单位', trigger: ['change', 'blur']}],
|
||||
isMember: [{required: true, message: '请选择是否会员', trigger: ['change', 'blur']}],
|
||||
@@ -230,6 +234,7 @@ layout("/layouts/platform.html"){
|
||||
userName: null,
|
||||
loginName: null,
|
||||
sex: null,
|
||||
idcard: null,
|
||||
unitName: null,
|
||||
unitId: null,
|
||||
isMember: null,
|
||||
|
||||
Reference in New Issue
Block a user