From f5095c72ada22f0b42137c7b4c86f924093687c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=AD=A6=E6=88=90?= <1274337408@qq.com> Date: Sun, 20 Sep 2026 17:20:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=96=97=E4=BA=92=E5=8A=A9=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=EF=BC=9A=E4=BC=9A=E5=91=98=E5=AF=BC=E5=85=A5=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=8A=A0=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7=E7=A0=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B=E4=BC=9A=E5=91=98=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BA=AB=E4=BB=BD=E8=AF=81=E5=8F=B7=E7=A0=81?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BC=96=E8=BE=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SickHelpListController.java | 2 ++ .../member/SickFundListController.java | 11 +++++---- .../member/SickHelpMemberController.java | 18 +++++++++++++-- .../v/nutz/sickHelp/model/SickFundMember.java | 6 +++++ .../io/v/nutz/sickHelp/model/SickHelp.java | 5 ++++ .../impl/SickHelpImportServiceImpl.java | 7 ++++-- .../service/impl/SickHelpListServiceImpl.java | 5 +++- .../views/platform/sickHelp/import/excel.html | 1 + .../views/platform/sickHelp/import/form.html | 23 +++++++++++++------ .../views/platform/sickHelp/list/index.html | 3 ++- .../platform/sickHelp/member/execlImport.html | 3 ++- .../views/platform/sickHelp/member/list.html | 5 ++++ 12 files changed, 71 insertions(+), 18 deletions(-) diff --git a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java index 5018139..3f6bcbd 100644 --- a/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java +++ b/src/main/java/io/v/nutz/sickHelp/controller/SickHelpListController.java @@ -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)); diff --git a/src/main/java/io/v/nutz/sickHelp/controller/member/SickFundListController.java b/src/main/java/io/v/nutz/sickHelp/controller/member/SickFundListController.java index e72b0cc..cf662e7 100644 --- a/src/main/java/io/v/nutz/sickHelp/controller/member/SickFundListController.java +++ b/src/main/java/io/v/nutz/sickHelp/controller/member/SickFundListController.java @@ -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 diff --git a/src/main/java/io/v/nutz/sickHelp/controller/member/SickHelpMemberController.java b/src/main/java/io/v/nutz/sickHelp/controller/member/SickHelpMemberController.java index 79ffd46..421aa72 100644 --- a/src/main/java/io/v/nutz/sickHelp/controller/member/SickHelpMemberController.java +++ b/src/main/java/io/v/nutz/sickHelp/controller/member/SickHelpMemberController.java @@ -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 list = ExcelImportUtil.importExcel(tempFile.getFile(), SickFundMember.class, importParams); List 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 users = (List) Daos.query(dao, userSql.toString(), Sqls.callback.maps()); Map 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> splitFundMembers = ListUtil.split(Arrays.asList(fundMembers), 500); for (List 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; diff --git a/src/main/java/io/v/nutz/sickHelp/model/SickFundMember.java b/src/main/java/io/v/nutz/sickHelp/model/SickFundMember.java index 21d5a50..100d504 100644 --- a/src/main/java/io/v/nutz/sickHelp/model/SickFundMember.java +++ b/src/main/java/io/v/nutz/sickHelp/model/SickFundMember.java @@ -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) diff --git a/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java b/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java index 53a3674..c0d93aa 100644 --- a/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java +++ b/src/main/java/io/v/nutz/sickHelp/model/SickHelp.java @@ -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); diff --git a/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpImportServiceImpl.java b/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpImportServiceImpl.java index 1e58688..536bbaf 100644 --- a/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpImportServiceImpl.java +++ b/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpImportServiceImpl.java @@ -93,6 +93,8 @@ public class SickHelpImportServiceImpl extends ViServiceImpl 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 implement @Override public List 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(); diff --git a/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpListServiceImpl.java b/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpListServiceImpl.java index e22baa5..f3e3cb8 100644 --- a/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpListServiceImpl.java +++ b/src/main/java/io/v/nutz/sickHelp/service/impl/SickHelpListServiceImpl.java @@ -51,7 +51,8 @@ public class SickHelpListServiceImpl extends ViServiceImpl 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 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())) { diff --git a/src/main/resources/views/platform/sickHelp/import/excel.html b/src/main/resources/views/platform/sickHelp/import/excel.html index 584c984..6ea38d2 100644 --- a/src/main/resources/views/platform/sickHelp/import/excel.html +++ b/src/main/resources/views/platform/sickHelp/import/excel.html @@ -92,6 +92,7 @@ layout("/layouts/platform.html"){ + diff --git a/src/main/resources/views/platform/sickHelp/import/form.html b/src/main/resources/views/platform/sickHelp/import/form.html index 9ffd323..057e1c8 100644 --- a/src/main/resources/views/platform/sickHelp/import/form.html +++ b/src/main/resources/views/platform/sickHelp/import/form.html @@ -76,41 +76,46 @@ layout("/layouts/platform.html"){ - + - + - + + + + + + - @@ -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"){ \ No newline at end of file +#--> diff --git a/src/main/resources/views/platform/sickHelp/list/index.html b/src/main/resources/views/platform/sickHelp/list/index.html index a49ac77..ed0886f 100644 --- a/src/main/resources/views/platform/sickHelp/list/index.html +++ b/src/main/resources/views/platform/sickHelp/list/index.html @@ -45,7 +45,7 @@ layout("/layouts/platform.html"){
补助人:
-
@@ -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}, diff --git a/src/main/resources/views/platform/sickHelp/member/execlImport.html b/src/main/resources/views/platform/sickHelp/member/execlImport.html index 5d7d396..cb23b98 100644 --- a/src/main/resources/views/platform/sickHelp/member/execlImport.html +++ b/src/main/resources/views/platform/sickHelp/member/execlImport.html @@ -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"){ \ No newline at end of file +#--> diff --git a/src/main/resources/views/platform/sickHelp/member/list.html b/src/main/resources/views/platform/sickHelp/member/list.html index eb23d39..c78b903 100644 --- a/src/main/resources/views/platform/sickHelp/member/list.html +++ b/src/main/resources/views/platform/sickHelp/member/list.html @@ -147,6 +147,9 @@ layout("/layouts/platform.html"){ + + +