疗休养

This commit is contained in:
Paidax
2025-06-11 16:45:59 +08:00
parent 8457290438
commit 77d9aef4c5
20 changed files with 1377 additions and 1267 deletions
@@ -2,8 +2,8 @@ package io.v.nutz.zhgh.lxy.controller;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import org.nutz.dao.Cnd;
import org.nutz.dao.Sqls;
import org.nutz.dao.entity.Record;
@@ -40,7 +40,7 @@ public class LxyAgentController {
final String title = "【疗休养】";
List<NutMap> result = new ArrayList<>();
if (ShiroUtil.hasAnyRoles("sysadmin")) {
result.add(new NutMap().setv("title", title).setv("url", FGHSH).setv("iconClass", vi.getIconByPath(FGHSH)).setv("label", "待基层工会审核").setv("number", getFghshCount()));
result.add(new NutMap().setv("title", title).setv("url", FGHSH).setv("iconClass", vi.getIconByPath(FGHSH)).setv("label", "待院级工会审核").setv("number", getFghshCount()));
result.add(new NutMap().setv("title", title).setv("url", XGHSH).setv("iconClass", vi.getIconByPath(XGHSH)).setv("label", "待校工会审核").setv("number", getXghshCount().size()));
}
return result;
@@ -40,30 +40,36 @@ public class LxyCommon {
Record record = lxyHdService.list(Sqls.create("SELECT * FROM `lxy_hd` WHERE id = @id").setParam("id", id)).get(0);
record.set("files", baseService.dao().query("sys_file", Cnd.where("reid", "=", id)));
record.set("mefp", lxyHdService.list(Sqls.create("SELECT fp.*,unionname,unioncode from lxy_mefp fp left join sys_union un on fp.ghid = un.id WHERE fp.hdid = @id ORDER BY un.unioncode").setParam("id", id)));
record.set("bm", lxyBmService.list(Sqls.create("SELECT\n" +
"\tu.id,\n" +
"\tu.loginname,\n" +
"\tu.username,\n" +
"\tu.sex,\n" +
"\tu.mobile,\n" +
"\tTIMESTAMPDIFF(\n" +
"\t\tYEAR,\n" +
"\t\tu.birthday,\n" +
"\tCURDATE()) age,\n" +
"\tbm.bmzt \n" +
"FROM\n" +
"\tsys_user u\n" +
"\tLEFT JOIN lxy_bm bm ON u.id = bm.userid \n" +
"WHERE\n" +
"\tbm.hdid = @hdid \n" +
"\tAND u.id IN (\n" +
"\tSELECT\n" +
"\t\tbm.userid \n" +
"\tFROM\n" +
"\t\tlxy_bm bm \n" +
"\tWHERE\n" +
"\tbm.bmzt IN (3,5,6) AND\n" +
"\tbm.hdid =@hdid) ORDER BY bm.bmzt DESC").setParam("hdid", id)));
record.set("bm", lxyBmService.list(Sqls.create("""
SELECT
u.id,
u.loginname,
u.username,
u.sex,
bm.mobile,
bm.nation,
bm.zyhj,
bm.idcard,
bm.talent,
TIMESTAMPDIFF(YEAR, u.birthday, CURDATE()) age,
bm.bmzt
FROM
sys_user u
LEFT JOIN lxy_bm bm ON u.id = bm.userid
WHERE
bm.hdid = @hdid
AND u.id IN (
SELECT
bm.userid
FROM
lxy_bm bm
WHERE
bm.bmzt IN (3, 5, 6)
AND bm.hdid = @hdid
)
ORDER BY
bm.bmzt DESC
""").setParam("hdid", id)));
return record;
}
@@ -4,13 +4,12 @@ import cn.wizzer.framework.base.service.BaseService;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.model.Lxy_bm;
import io.v.nutz.zhgh.lxy.model.Lxy_grxx;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.zhgh.lxy.service.LxyGrxxService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.web.commons.utils.ShiroUtil;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -28,12 +27,10 @@ import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;
import java.util.List;
/**
* @author: Aaron
* @create: 2020-09-01 16:08
* @description: 疗修养基层工会审核
* @description: 疗修养分工会审核
**/
@At("/platform/zgfw/lxy/fghsh")
@Ok("json")
@@ -65,13 +62,13 @@ public class LxyFghShController {
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.fghsh")
public Object pageData(@Param(value = "year",required = false) Integer year,
@Param(value = "hdid",required = false) String hdid,
@Param(value = "searchName",required = false) String searchName,
@Param(value = "searchKeyword",required = false) String searchKeyword,
public Object pageData(@Param(value = "year", required = false) Integer year,
@Param(value = "hdid", required = false) String hdid,
@Param(value = "searchName", required = false) String searchName,
@Param(value = "searchKeyword", required = false) String searchKeyword,
@Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize,
@Param(value = "pageOrderName",required = false) String pageOrderName,
@Param(value = "pageOrderBy",required = false) String pageOrderBy) {
@Param(value = "pageOrderName", required = false) String pageOrderName,
@Param(value = "pageOrderBy", required = false) String pageOrderBy) {
Sql sql = Sqls.create("SELECT\n" +
"\tunit.name unitname,\n" +
"\tl.id,\n" +
@@ -141,17 +138,24 @@ public class LxyFghShController {
@At
@ViReturn
@RequiresPermissions(value = {"zgfw.lxy.xghsh","zgfw.lxy.fghsh"},logical = Logical.OR)
@RequiresPermissions(value = {"zgfw.lxy.xghsh", "zgfw.lxy.fghsh"}, logical = Logical.OR)
public Object getBmInfo(String id) {
Lxy_grxx grxx = lxyGrxxService.fetch(id);
List<Sys_file> files = baseService.dao().query(Sys_file.class, Cnd.where("reid", "=", id));
grxx.setFiles(files);
// List<Sys_file> files = baseService.dao().query(Sys_file.class, Cnd.where("reid", "=", id));
// grxx.setFiles(files);
Lxy_bm lxyBm = lxyBmService.dao().fetch(Lxy_bm.class, Cnd.where("hdid", "=", grxx.getHdid())
.and("userid", "=", grxx.getUserid()));
NutMap nutMap = Lang.obj2nutmap(grxx);
nutMap.put("bmFiles", lxyBm.getFiles());
NutMap nutMap = Lang.obj2nutmap(lxyBm);
nutMap.put("username", grxx.getUsername());
nutMap.put("loginname", grxx.getLoginname());
nutMap.put("sex", grxx.getSex());
// nutMap.put("bmFiles", lxyBm.getFiles());
// nutMap.put("mobile", lxyBm.getMobile());
// nutMap.put("idcard", lxyBm.getIdcard());
// nutMap.put("zyhj", lxyBm.getZyhj());
// nutMap.put("bz", lxyBm.getBz());
return nutMap;
}
@@ -1,36 +1,46 @@
package io.v.nutz.zhgh.lxy.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.wizzer.framework.base.Result;
import cn.wizzer.framework.page.Pagination;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.DateUtil;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.base.utils.ViTool;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.model.Lxy_bm;
import io.v.nutz.zhgh.lxy.model.Lxy_grxx;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.zhgh.lxy.service.LxyGrxxService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.template.LxyImportTemp;
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.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.Sqls;
import org.nutz.dao.entity.Record;
import org.nutz.dao.sql.Sql;
import org.nutz.dao.util.cri.SqlExpressionGroup;
import org.nutz.dao.util.cri.Static;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Lang;
import org.nutz.lang.Strings;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.AdaptBy;
import org.nutz.mvc.annotation.At;
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.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
@@ -45,14 +55,15 @@ import java.util.List;
@RequiresAuthentication
public class LxyGhbmController {
@Inject
private LxyHdService lxyHdService;
@Inject
private Vi vi;
@Inject
private Dao dao;
@Inject
private LxyBmService lxyBmService;
@Inject
private LxyHdService lxyHdService;
@Inject
private SysUserService sysUserService;
@Inject
private LxyGrxxService lxyGrxxService;
@@ -66,15 +77,15 @@ public class LxyGhbmController {
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object pageData(@Param(value = "year",required = false) Integer year,
@Param(value = "hdid",required = false) String hdid,
@Param(value = "unionId",required = false)String unionId,
@Param(value = "searchName",required = false) String searchName,
@Param(value = "searchKeyword",required = false) String searchKeyword,
@Param(value = "pageNumber",required = false) int pageNumber,
@Param(value = "pageSize",required = false) int pageSize,
@Param(value = "pageOrderName",required = false) String pageOrderName,
@Param(value = "pageOrderBy",required = false) String pageOrderBy) {
public Object pageData(@Param(value = "year", required = false) Integer year,
@Param(value = "hdid", required = false) String hdid,
@Param(value = "unionId", required = false) String unionId,
@Param(value = "searchName", required = false) String searchName,
@Param(value = "searchKeyword", required = false) String searchKeyword,
@Param(value = "pageNumber", required = false) int pageNumber,
@Param(value = "pageSize", required = false) int pageSize,
@Param(value = "pageOrderName", required = false) String pageOrderName,
@Param(value = "pageOrderBy", required = false) String pageOrderBy) {
Sql sql = Sqls.create("""
SELECT
mefp.*,
@@ -101,7 +112,7 @@ public class LxyGhbmController {
cnd.and(new Static("now() < hd.bmjzsj"));
cnd.and("mefp.hdid", "=", hdid);
cnd.andEX("un.id","=",unionId);
cnd.andEX("un.id", "=", unionId);
if (!ShiroUtil.hasAnyRoles(new String[]{"sysadmin", "SchoolUnionAdmin"})) {
cnd.and(new Static("mefp.ghid in " + vi.getMangeUnionStr()));
//工会管理员查看分配名额大于0的
@@ -131,14 +142,15 @@ public class LxyGhbmController {
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object getNotApply(String unionid, String hdid,
@Param(value = "query",required = false) String query,
@Param(value = "checks",required = false) String[] checks) {
@Param(value = "query", required = false) String query,
@Param(value = "checks", required = false) String[] checks) {
Sql sql = Sqls.create("""
SELECT
u.id,
u.sex,
u.mobile,
u.unitid,
TIMESTAMPDIFF(
YEAR,
u.birthday,
@@ -146,7 +158,8 @@ public class LxyGhbmController {
u.username,
u.loginname,
unit.`name` unitname,
un.unionname
un.unionname,
u.idcard
FROM
sys_user u
LEFT JOIN lxy_bm bm ON bm.userid = u.id
@@ -178,20 +191,25 @@ public class LxyGhbmController {
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object getHasApply(String unionid, String hdid,
@Param(value = "query",required = false) String query,
@Param(value = "checks",required = false) String[] checks) {
@Param(value = "query", required = false) String query,
@Param(value = "checks", required = false) String[] checks) {
Sql sql = Sqls.create("""
SELECT
u.id,
u.loginname,
u.username,
u.unitname,
bm.bmzt,
TIMESTAMPDIFF(
YEAR,
u.birthday,
CURDATE()) age,
bm.files
bm.age,
bm.files,
bm.zyhj,
bm.bz,
bm.mobile,
bm.idcard,
bm.unitid,
bm.unitname,
bm.unionname,
bm.nation,
bm.talent
FROM
lxy_bm bm
LEFT JOIN `user` u ON u.id = bm.userid
@@ -203,101 +221,25 @@ public class LxyGhbmController {
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object getUser(@Param(value = "sign",required = false) Integer sign,
@Param(value = "unionid",required = false) String unionid,
@Param(value = "hdid",required = false) String hdid,
@Param(value = "hdid",required = false) String query,
@Param(value = "checks",required = false) String[] checks,
@Param("pageNumber") int pageNumber,@Param("pageSize") int pageSize,
@Param(value = "pageOrderName",required = false) String pageOrderName,
@Param(value = "pageOrderBy",required = false) String pageOrderBy) {
Sql sql = Sqls.create("SELECT\n" +
"\tu.id,\n" +
"\tu.sex,u.mobile, TIMESTAMPDIFF(YEAR, u.birthday, CURDATE()) age,\n" +
"\tu.username,\n" +
"\tu.loginname,\n" +
"\tunit.`name` unitname,\n" +
"\tun.unionname \n" +
"FROM\n" +
"\tsys_user u\n" +
"\tLEFT JOIN lxy_bm bm ON bm.userid = u.id \n" +
"\tLEFT JOIN sys_unit unit ON u.unitid = unit.id\n" +
"\tLEFT JOIN ry_rygl_gr ry ON ry.userid = u.id\n" +
"\tLEFT JOIN sys_union un ON unit.unionid = un.id $condition");
Cnd cnd = Cnd.NEW();
cnd.and("unit.unionid", "=", unionid);
cnd.and("bm.hdid","=",hdid);
if (sign == 0) {
cnd.and(new Static("u.id not in (SELECT bm.userid from lxy_bm bm WHERE bm.hdid = '" + hdid + "')"));
}
if (checks.length > 0) {
for (String check : checks) {
if (check.equals("honer")) {
cnd.and(new Static("ry.zyxjsj is not null"));
}
if (check.equals("five")) {
cnd.and(new Static(" u.id not in (SELECT bm.userid from lxy_bm bm WHERE YEAR (NOW())- 5 < YEAR ( bm.bmsj ) )"));
}
}
}
if (Strings.isNotBlank(query)) {
SqlExpressionGroup group = new SqlExpressionGroup();
group.orLike("u.username", query).orLike("u.loginname", query);
cnd.and(group);
}
if (Strings.isNotBlank(pageOrderName) && Strings.isNotBlank(pageOrderName)) {
cnd.orderBy(pageOrderName, PageUtil.getOrder(pageOrderBy));
}
cnd.desc("bm.bmzt");
sql.setCondition(cnd);
Pagination pagination = lxyHdService.listPage(pageNumber, pageSize, sql);
return pagination;
}
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object getNumberData(String unionid, String hdid) {
Sql sql = Sqls.create("SELECT\n" +
"\tun.unionname,\n" +
"\tmefp.number sum,\n" +
"\t( SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid and bm.bmzt = 5) ybm,\n" +
"\t( SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid and bm.bmzt in (1,3)) dsh ,\n" +
"\t( SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid and bm.bmzt in (2,4)) btg ,\n" +
"\t(mefp.number - (SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid and bm.bmzt not in (2,4))) kxz\n" +
"FROM\n" +
"\tlxy_mefp mefp\n" +
"\tLEFT JOIN sys_union un ON mefp.ghid = un.id WHERE mefp.hdid=@hdid and mefp.ghid=@unionid").setParam("hdid", hdid).setParam("unionid", unionid);
Record record = lxyHdService.list(sql).get(0);
record.set("multiple", lxyBmService.list(Sqls.create("SELECT bm.userid id from lxy_bm bm WHERE bm.hdid = '" + hdid + "' AND bm.ghid = '" + unionid + "'")));
return record;
}
@At
@ViReturn
@RequiresAuthentication
@RequiresPermissions("zgfw.lxy.ghbm")
public Object bm(@Param("::data") List<NutMap> bmMapList, @Param("flag") boolean flag) {
Trans.exec(() -> {
List<Lxy_bm> bmList = Lang.collection2list(bmMapList, Lxy_bm.class);
if (Lang.isNotEmpty(bmList)) {
lxyBmService.clear(Cnd
.where("bmzt", "is", null)
.NEW().and(Cnd.exps("bmzt", "is", null).or("bmzt", "=", 4))
.and("ghid", "=", bmList.get(0).getGhid())
.and("hdid", "=", bmList.get(0).getHdid()));
List<Lxy_grxx> grxxList = new ArrayList<>();
for (Lxy_bm bm : bmList) {
lxyBmService.clear(Cnd
.where("userid","=",bm.getUserid())
.and("ghid", "=", bmList.get(0).getGhid())
.and("hdid", "=", bmList.get(0).getHdid()));
// NutMap nutMap = bmMapList.stream().filter(item -> item.getString("id").equals(bm.getId())).findFirst().orElse(NutMap.NEW());
Lxy_bm fetch = lxyBmService.fetch(Cnd.where("hdid", "=", bm.getGhid()).and("userid", "=", bm.getUserid()).and("bmzt", "=", 3));
if (Lang.isNotEmpty(fetch)) {
continue;
@@ -305,6 +247,8 @@ public class LxyGhbmController {
bm.setBmzt(flag ? 3 : null);
bm.setBmlx(1);
bm.setBmsj(DateUtil.getDate());
// bm.setNation(nutMap.getString("nation"));
// bm.setTalent(nutMap.getString("talent"));
if (flag) {
Sql sql = Sqls.create("SELECT u.loginname,u.username,u.mobile,TIMESTAMPDIFF(YEAR,u.birthday,CURDATE()) age,u.sex,u.position,u.personType,u.nation,u.idcard FROM sys_user u WHERE u.id = '" + bm.getUserid() + "'");
@@ -313,13 +257,13 @@ public class LxyGhbmController {
Lxy_grxx lxy_grxx = new Lxy_grxx();
lxy_grxx.setLoginname(item.getString("loginname"));
lxy_grxx.setUsername(item.getString("username"));
lxy_grxx.setMobile(item.getString("mobile"));
lxy_grxx.setAge(item.getString("age"));
lxy_grxx.setMobile(bm.getMobile());
lxy_grxx.setAge(bm.getAge());
lxy_grxx.setSex(item.getString("sex"));
lxy_grxx.setZw(item.getString("position"));
lxy_grxx.setRsbz(item.getString("personType"));
lxy_grxx.setMz(item.getString("nation"));
lxy_grxx.setIdcard(item.getString("idcard"));
lxy_grxx.setIdcard(bm.getIdcard());
lxy_grxx.setChry(new ArrayList());
lxy_grxx.setUserid(bm.getUserid());
lxy_grxx.setHdid(bm.getHdid());
@@ -335,85 +279,76 @@ public class LxyGhbmController {
return null;
}
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.ghbm")
public Object doEdit(@Param("::data") List<NutMap> bmMapList) {
if (Lang.isEmpty(bmMapList)) {
return Result.success();
}
public Object findBm(String ghId, String hdId) {
Sql sql = Sqls.create("""
SELECT
l.id,
hd.id hdid,
u.id uid,
u.loginname,
u.username,
u.sex,
bm.age,
bm.mobile,
bm.idcard,
bm.unitname,
bm.bmzt,
bm.zyhj,
bm.nation,
bm.talent,
bm.bz,
bm.ghid
FROM
lxy_bm bm
LEFT JOIN lxy_hd hd ON hd.id = bm.hdid
LEFT JOIN sys_user u ON u.id = bm.userid
LEFT JOIN sys_unit unit ON u.unitid = unit.id
LEFT JOIN Lxy_grxx l ON l.loginname = u.loginname
$condition
""");
List<Lxy_bm> bmList = Lang.collection2list(bmMapList, Lxy_bm.class);
lxyBmService.clear(Cnd.where("hdid", "=", bmList.get(0).getHdid()).and("ghid", "=", bmList.get(0).getGhid()).and("bmlx", "=", 1));
lxyGrxxService.clear(Cnd.where("hdid", "=", bmList.get(0).getHdid()).and("ghid", "=", bmList.get(0).getGhid()));
List<Lxy_grxx> grxxList = new ArrayList<>();
for (Lxy_bm bm : bmList) {
Lxy_bm fetch = lxyBmService.fetch(Cnd.where("hdid", "=", bm.getGhid()).and("userid", "=", bm.getUserid()).and("bmzt", "=", 3));
if (Lang.isNotEmpty(fetch)) {
continue;
}
bm.setBmzt(3);
bm.setBmlx(1);
bm.setBmsj(DateUtil.getDate());
Sql sql = Sqls.create("SELECT u.loginname,u.username,u.mobile,TIMESTAMPDIFF(YEAR,u.birthday,CURDATE()) age,u.sex,u.position,u.preparedBy,u.nation,u.idcard FROM sys_user u WHERE u.id = '" + bm.getUserid() + "'");
List<Record> records = sysUserService.list(sql);
records.forEach(item -> {
Lxy_grxx lxy_grxx = new Lxy_grxx();
lxy_grxx.setLoginname(item.getString("loginname"));
lxy_grxx.setUsername(item.getString("username"));
lxy_grxx.setMobile(item.getString("mobile"));
lxy_grxx.setAge(item.getString("age"));
lxy_grxx.setSex(item.getString("sex"));
lxy_grxx.setZw(item.getString("position"));
lxy_grxx.setRsbz(item.getString("preparedBy"));
lxy_grxx.setMz(item.getString("nation"));
lxy_grxx.setIdcard(item.getString("idcard"));
lxy_grxx.setChry(new ArrayList());
lxy_grxx.setUserid(bm.getUserid());
lxy_grxx.setHdid(bm.getHdid());
lxy_grxx.setGhid(bm.getGhid());
grxxList.add(lxy_grxx);
});
}
lxyBmService.insert(bmList);
lxyGrxxService.insert(grxxList);
return null;
Cnd cnd = Cnd.NEW();
cnd.and("bm.bmzt","NOT IN",List.of(2,4,6));
cnd.and("bm.hdid","=",hdId);
cnd.and("bm.ghid","=",ghId);
cnd.groupBy("u.loginname");
cnd.desc("bm.bmzt");
sql.setCondition(cnd);
return lxyBmService.list(sql);
}
@At
@Ok("void")
@RequiresPermissions("zgfw.lxy.ghbm")
public void downloadImportTemp(HttpServletResponse response) {
try {
ViTool.excelResponse(response, "疗休养导入模版.xlsx");
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
Workbook sheets = ExcelExportUtil.exportExcel(exportParams, LxyImportTemp.class, new ArrayList<>());
ServletOutputStream outputStream = response.getOutputStream();
sheets.write(outputStream);
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@At
@RequiresPermissions("zgfw.lxy.ghbm")
public Object findBm(String ghId, String hdId) {
try {
Sql sql = Sqls.create("SELECT\n" +
"unit.`name` unitname,\n" +
"l.id,\n" +
"hd.id hdid,\n" +
"u.id uid,\n" +
"u.loginname,\n" +
"u.username,\n" +
"u.sex,\n" +
"u.mobile,\n" +
"TIMESTAMPDIFF(YEAR,u.birthday,CURDATE()) age,\n" +
"bm.bmzt,\n" +
"bm.ghid\n" +
"FROM lxy_bm bm\n" +
"LEFT JOIN lxy_hd hd ON hd.id = bm.hdid\n" +
"LEFT JOIN sys_user u ON u.id = bm.userid\n" +
"LEFT JOIN sys_unit unit ON u.unitid = unit.id\n" +
"LEFT JOIN Lxy_grxx l ON l.loginname = u.loginname \n" +
"WHERE bm.bmzt NOT IN (2,4,6) AND bm.hdid = @hdid \n" +
"AND bm.ghid = @ghid \n" +
"GROUP BY u.loginname\n" +
"ORDER BY bm.bmzt DESC");
sql.setParam("hdid", hdId);
sql.setParam("ghid", ghId);
List<Record> list = lxyBmService.list(sql);
return Result.success().addData(list);
} catch (Exception e) {
return Result.error();
}
@AdaptBy(type = UploadAdaptor.class, args = {"ioc:fileUpload"})
public Result doImport(TempFile file, String projectId){
String unionId = Vi.getUnionId();
// 已经报名的人
int count = dao.count(Lxy_bm.class, Cnd.where("hdid", "=", projectId).and("ghid", "=", unionId)
.and("bmzt", "in", List.of("1", "2", "3", "4", "5", "6")));
return null;
}
}
@@ -4,13 +4,13 @@ import cn.wizzer.framework.base.service.BaseService;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.model.Lxy_grxx;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.zhgh.lxy.service.LxyGrxxService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import org.apache.commons.io.FilenameUtils;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -2,13 +2,13 @@ package io.v.nutz.zhgh.lxy.controller;
import cn.wizzer.framework.base.service.BaseService;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.dao.CndPlus;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.zhgh.lxy.model.Lxy_hd;
import io.v.nutz.zhgh.lxy.model.Lxy_mefp;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.zhgh.lxy.service.LxyMefpService;
import io.v.nutz.sys.models.Sys_file;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.boot.starter.ftp.FtpService;
@@ -195,7 +195,7 @@ public class LxyHdCon {
FROM
sys_union gh
LEFT JOIN `user` u ON u.unionid = gh.id
GROUP BY gh.id
GROUP BY gh.id ORDER BY gh.unioncode asc
""");
return lxyHdService.list(sql);
}
@@ -3,8 +3,10 @@ package io.v.nutz.zhgh.lxy.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.MsgApi;
import io.v.nutz.base.utils.OfficeTemplateUtil;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.zhgh.lxy.model.Lxy_bm;
import io.v.nutz.zhgh.lxy.service.LxyGrxxService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import org.apache.poi.ss.usermodel.Workbook;
@@ -53,6 +55,10 @@ public class LxyHdTjController {
@Inject
private OfficeTemplateUtil officeTemplateUtil;
@Inject
private MsgApi msgApi;
@At("")
@Ok("beetl:/platform/zgfw/lxy/HdTj.html")
@RequiresPermissions("zgfw.lxy.hdtj")
@@ -62,9 +68,9 @@ public class LxyHdTjController {
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.hdtj")
public Object pageData(@Param(value = "hdid",required = false) String hdid,
@Param(value = "ghid",required = false) String ghid,
@Param(value = "searchKey",required = false) String searchKey,
public Object pageData(@Param(value = "hdid", required = false) String hdid,
@Param(value = "ghid", required = false) String ghid,
@Param(value = "searchKey", required = false) String searchKey,
@Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize) {
Cnd cnd = Cnd.NEW();
Sql sql = Sqls.create("SELECT gr.* ,u.unionname,u.unioncode,u.unitname unitname,u.unitcode FROM `lxy_grxx` gr \n" +
@@ -96,13 +102,23 @@ public class LxyHdTjController {
@At
@Ok("void")
@RequiresPermissions("zgfw.lxy.hdtj")
public void doExport(@Param(value = "hdid",required = false) String hdid,
@Param(value = "hdname",required = false) String hdname,
@Param(value = "ghid",required = false) String ghid, HttpServletResponse response) throws IOException {
public void doExport(@Param(value = "hdid", required = false) String hdid,
@Param(value = "hdname", required = false) String hdname,
@Param(value = "ghid", required = false) String ghid, HttpServletResponse response) throws IOException {
Cnd cnd = Cnd.NEW();
Sql sql = Sqls.create("SELECT gr.* ,u.unionname,u.unioncode,u.unitname unitname,u.unitcode FROM `lxy_grxx` gr \n" +
"LEFT JOIN lxy_bm bm ON bm.userid = gr.userid \n" +
"LEFT JOIN `user` u ON u.id=bm.userid $condition");
Sql sql = Sqls.create("""
SELECT
gr.*,
bm.unionname,
bm.unitname,
bm.zyhj,
bm.bz
FROM
`lxy_grxx` gr
LEFT JOIN lxy_bm bm ON bm.userid = gr.userid
LEFT JOIN `user` u ON u.id = bm.userid
$condition
""");
cnd.and(new Static("bm.bmzt = 5"));
cnd.and("gr.hdid", "=", hdid);
@@ -111,7 +127,7 @@ public class LxyHdTjController {
cnd.and("gr.ghid", "=", ghid);
}
cnd.groupBy("bm.userid");
cnd.asc("u.unionname").asc("u.unitcode").asc("gr.age");
cnd.asc("bm.unionname").asc("bm.unitname").asc("gr.age");
sql.setCondition(cnd);
List<Record> list = lxyGrxxService.list(sql);
int i = 1;
@@ -132,7 +148,7 @@ public class LxyHdTjController {
String fileName = "疗休养人员名单汇总表.xls";
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("utf-8"), "ISO8859-1"));
//TemplateExportParams params = new TemplateExportParams("templates/lxy/lxyrymd.xls");
// TemplateExportParams params = new TemplateExportParams("C:\\Users\\mayn\\Desktop\\lxyrymd.xls");
TemplateExportParams params = new TemplateExportParams(officeTemplateUtil.getPath("lxy_lxyrymd"));
// Workbook workbook = ExcelExportUtil.exportExcel(params, map);
// workbook.write(response.getOutputStream());
@@ -141,4 +157,20 @@ public class LxyHdTjController {
workbook.write(outputStream);
outputStream.close();
}
@At
@RequiresPermissions("zgfw.lxy.hdtj")
public Object openSendMessage(String hdid,
@Param("sendTypes") String[] sendTypes,
@Param("content") String content) {
List<Lxy_bm> grxxes = lxyGrxxService.dao().query(Lxy_bm.class, Cnd.where("hdid", "=", hdid).and("bmzt", "=", 5));
// List<String> loginnames = grxxes.stream().map(Lxy_bm::getLoginname).collect(Collectors.toList());
// loginnames.forEach(loginname -> {
// msgApi.sendMsg(content, "", "", "", "4", new ArrayList<>() {{
// add(NutMap.NEW().addv("userId", loginname));
// }});
// });
return null;
}
}
@@ -5,11 +5,11 @@ import io.v.nutz.base.annontation.ViReturn;
import io.v.nutz.base.utils.DateUtil;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.model.Lxy_bm;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.sys.services.SysUserService;
import io.v.nutz.web.commons.utils.ShiroUtil;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.dao.Cnd;
@@ -8,14 +8,15 @@ import io.v.nutz.base.service.BaseService;
import io.v.nutz.base.utils.PageUtil;
import io.v.nutz.base.utils.Roles;
import io.v.nutz.base.utils.Vi;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.web.commons.utils.FileUtil;
import io.v.nutz.web.commons.utils.ShiroUtil;
import io.v.nutz.zhgh.lxy.model.Lxy_grxx;
import io.v.nutz.zhgh.lxy.service.LxyBmService;
import io.v.nutz.zhgh.lxy.service.LxyHdService;
import io.v.nutz.sys.models.Sys_file;
import io.v.nutz.web.commons.utils.ShiroUtil;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.nutz.boot.starter.ftp.FtpService;
import org.nutz.dao.Chain;
import org.nutz.dao.Cnd;
import org.nutz.dao.Sqls;
@@ -26,6 +27,7 @@ import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.json.Json;
import org.nutz.lang.Strings;
import org.nutz.lang.random.R;
import org.nutz.lang.util.NutMap;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
@@ -33,15 +35,14 @@ import org.nutz.mvc.annotation.Param;
import org.nutz.trans.Trans;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import static org.nutz.boot.starter.ftp.FtpStarter.*;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Author: 1V
@@ -69,6 +70,9 @@ public class LxyXghshController {
@Inject
protected PropertiesProxy conf;
@Inject
private FtpService ftpService;
@At("")
@Ok("beetl:/platform/zgfw/lxy/HdXghsh.html")
@RequiresPermissions("zgfw.lxy.xghsh")
@@ -78,14 +82,14 @@ public class LxyXghshController {
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.xghsh")
public Object pageData(@Param(value = "hdid",required = false) String hdid,
@Param(value = "year",required = false) Integer year,
@Param(value = "isAudit",required = false) Integer isAudit,
@Param(value = "searchName",required = false) String searchName,
@Param(value = "unionId",required = false) String unionId,
@Param("pageNumber") int pageNumber,@Param("pageSize") int pageSize,
@Param(value = "pageOrderName",required = false) String pageOrderName,
@Param(value = "pageOrderBy",required = false) String pageOrderBy) {
public Object pageData(@Param(value = "hdid", required = false) String hdid,
@Param(value = "year", required = false) Integer year,
@Param(value = "isAudit", required = false) Integer isAudit,
@Param(value = "searchName", required = false) String searchName,
@Param(value = "unionId", required = false) String unionId,
@Param("pageNumber") int pageNumber, @Param("pageSize") int pageSize,
@Param(value = "pageOrderName", required = false) String pageOrderName,
@Param(value = "pageOrderBy", required = false) String pageOrderBy) {
Sql sql = Sqls.create("""
SELECT
mefp.*,
@@ -94,6 +98,7 @@ public class LxyXghshController {
hd.*,
(mefp.number - ( SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid AND bm.bmzt NOT IN (2,4)) ) remain,
(SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid AND bm.bmzt = 3) dsh,
(SELECT count( 1 ) FROM lxy_bm bm WHERE bm.hdid = mefp.hdid AND bm.ghid = mefp.ghid AND bm.bmzt = 5) ysh,
(SELECT GROUP_CONCAT(u.username) FROM lxy_bm bm LEFT JOIN `user` u on u.id=bm.userid WHERE bm.hdid=@hdid AND bm.ghid=mefp.ghid AND bm.bmzt != 4) username ,
(SELECT GROUP_CONCAT(DISTINCT concat(u.username,'(',u.mobile,')') ) FROM `user` u LEFT JOIN sys_user_role ur ON u.id = ur.userId WHERE u.unionid = mefp.ghid AND ur.roleId = @roleId ) fglyname
FROM
@@ -108,7 +113,7 @@ public class LxyXghshController {
Cnd cnd = Cnd.NEW();
cnd.andEX("mefp.ghid", "=", unionId);
cnd.and(new Static("now()<hd.bmjzsj"));
// cnd.and(new Static("now()<hd.bmjzsj"));
cnd.and("mefp.number", ">", 0);
cnd.and("mefp.hdid", "=", hdid);
cnd.and(new Static("(select count(1) from lxy_bm lb where lb.hdid = '" + hdid + "' and lb.ghid = mefp.ghid AND lb.bmzt is NOT null) > 0 "));
@@ -148,40 +153,46 @@ public class LxyXghshController {
* @return
*/
@At
@ViReturn
@RequiresPermissions("zgfw.lxy.xghsh")
public Object findBm(String ghId, String hdId, Integer pageNumber, Integer pageSize) {
try {
Sql sql = Sqls.create("""
SELECT
l.id,
hd.id hdid,
u.id uid,
u.loginname,
u.username,
u.unitname,
u.unionname,
u.sex,
u.mobile,
TIMESTAMPDIFF(YEAR,u.birthday,CURDATE()) age,
bm.bmzt,
bm.ghid
FROM lxy_bm bm
LEFT JOIN lxy_hd hd ON hd.id = bm.hdid
LEFT JOIN Lxy_grxx l ON l.userid = bm.userid
LEFT JOIN `user` u ON u.id = bm.userid
WHERE bm.bmzt IN (3,4,5) AND bm.hdid = @hdid
AND bm.ghid = @ghid
GROUP BY u.username
ORDER BY bm.bmzt ASC
""");
sql.setParam("hdid", hdId);
sql.setParam("ghid", ghId);
// List<Record> list = lxyBmService.list(sql);
Pagination pagination = lxyBmService.listPage(pageNumber, pageSize, sql);
return Result.success().addData(pagination);
} catch (Exception e) {
return Result.error();
}
Sql sql = Sqls.create("""
SELECT
l.id,
hd.id hdid,
u.id uid,
u.loginname,
u.username,
u.sex,
bm.age,
bm.mobile,
bm.idcard,
bm.unitname,
bm.bmzt,
bm.zyhj,
bm.nation,
bm.talent,
bm.bz,
bm.ghid
FROM
lxy_bm bm
LEFT JOIN lxy_hd hd ON hd.id = bm.hdid
LEFT JOIN sys_user u ON u.id = bm.userid
LEFT JOIN sys_unit unit ON u.unitid = unit.id
LEFT JOIN Lxy_grxx l ON l.loginname = u.loginname
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.and("bm.bmzt", "NOT IN", List.of(2, 4, 6));
cnd.and("bm.hdid", "=", hdId);
cnd.and("bm.ghid", "=", ghId);
cnd.groupBy("u.loginname");
cnd.desc("bm.bmzt");
sql.setCondition(cnd);
Pagination pagination = lxyBmService.listPage(pageNumber, pageSize, sql);
return Result.success().addData(pagination);
}
@At
@@ -226,16 +237,12 @@ public class LxyXghshController {
}
@At
@RequiresAuthentication
@RequiresPermissions("zgfw.lxy.xghsh")
public void downLoadAll(@Param(value = "year",required = false) Integer year,
@Param(value = "hdid",required = false) String hdid,
@Param(value = "unionId",required = false) String unionId,
@Param(value = "isAudit",required = false) Integer isAudit, HttpServletResponse response) throws IOException {
public void downLoadAll(@Param(value = "year", required = false) Integer year,
@Param(value = "hdid", required = false) String hdid,
@Param(value = "unionId", required = false) String unionId,
@Param(value = "isAudit", required = false) Integer isAudit, HttpServletResponse response) throws IOException {
response.setContentType("application/octet-stream");
response.setHeader("content-disposition", "attachment;filename="
+ URLEncoder.encode("报名人员材料.zip", "UTF-8"));
Sql sql = Sqls.create("""
SELECT
@@ -262,45 +269,70 @@ public class LxyXghshController {
sql.setCondition(cnd);
List<NutMap> list = baseService.listMap(sql);
//连接ftp
FTPClient ftpClient = new FTPClient();
ftpClient.connect(conf.get(PROP_SERVER_HOST, ""), conf.getInt(PROP_SERVER_PORT, 21));
ftpClient.login(conf.get(PROP_SERVER_USERNAME, ""), conf.get(PROP_SERVER_PASSWORD, ""));
ftpClient.enterLocalPassiveMode();
try {
ZipOutputStream zipOutputStream = new ZipOutputStream(new BufferedOutputStream(response.getOutputStream()));
list.forEach(item -> {
if (StrUtil.isNotBlank(item.getString("files"))) {
List<Sys_file> fileList = Json.fromJsonAsList(Sys_file.class, item.getString("files"));
try {
for (int i = 0; i < fileList.size(); i++) {
Sys_file file = fileList.get(0);
String fileName = item.getString("username");
if (fileList.size() > 1) {
fileName = fileName + (i + 1);
response.reset();
response.setContentType("application/x-msdownload;charset=utf-8");
/**
* 创建临时文件夹
*/
String tmpPath = "tmp/" + R.UU32();
File tmpDir = new File(tmpPath + "/报名人员材料");
tmpDir.mkdirs();
Map<String, List<NutMap>> unionNameMap = list.stream()
.collect(Collectors.groupingBy(l -> l.getString("unionname")));
unionNameMap.forEach((k, v) -> {
File unionTmpDir = new File(tmpDir + "/" + k);
unionTmpDir.mkdirs();
List<NutMap> unionNameList = list.stream().filter(li -> li.getString("unionname").equals(k)).collect(Collectors.toList());
unionNameList.forEach(item -> {
File tDir = new File(unionTmpDir + "/" + item.getString("username"));
tDir.mkdirs();
if (StrUtil.isNotBlank(item.getString("files"))) {
List<Sys_file> fileList = Json.fromJsonAsList(Sys_file.class, item.getString("files"));
fileList.forEach(file -> {
try {
FileOutputStream outputStream = new FileOutputStream(tDir.getPath() + "/" + file.getFilename());
ftpService.download(file.getFilepath(), outputStream);
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
fileName = fileName + "--" + file.getFilename();
zipOutputStream.putNextEntry(new ZipEntry(item.getString("unionname") + "/" + fileName));
//读取ftp文件
InputStream inputStream = ftpClient.retrieveFileStream(file.getFilepath());
org.apache.commons.io.IOUtils.copy(inputStream, zipOutputStream);
inputStream.close();
zipOutputStream.closeEntry();
ftpClient.completePendingCommand();
response.flushBuffer();
}
} catch (Exception e) {
e.printStackTrace();
});
}
}
});
});
zipOutputStream.flush();
zipOutputStream.close();
ftpClient.logout();
String aimsDir = "zipTmp/" + R.UU32();
String aimsName = "报名人员材料.zip";
String aimsPath = aimsDir + "/" + aimsName;
FileUtil.compressToZip(tmpDir.getPath(), aimsDir, aimsName);
response.setHeader("content-disposition", "attachment;filename="
+ URLEncoder.encode(aimsName, "UTF-8"));
File aimsFile = new File(aimsPath);
FileInputStream inputStream = new FileInputStream(aimsFile);
org.apache.commons.io.IOUtils.copy(inputStream, response.getOutputStream());
inputStream.close();
aimsFile.delete();
FileUtil.deleteDir(new File(tmpPath));
FileUtil.deleteDir(new File(aimsDir));
} catch (Exception e) {
e.printStackTrace();
}
}
}
@@ -32,6 +32,11 @@ public class Lxy_bm {
@ColDefine(type = ColType.VARCHAR, width = 32)
private String userid;
@Column
@Comment("工号")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String loginname;
@Column
@Comment("工会id")
@ColDefine(type = ColType.VARCHAR, width = 32)
@@ -43,15 +48,64 @@ public class Lxy_bm {
private String bmsj;
@Column
@Comment("报名状态(1.待基层工会审核 2.基层工会审核不通过 3.待校工会审核 4 校工会审核不通过 5 报名成功 6 待填写个人资料)")
@Comment("报名状态(1.待分工会审核 2.分工会审核不通过 3.待校工会审核 4 校工会审核不通过 5 报名成功 6 待填写个人资料)")
@ColDefine(type = ColType.INT)
private Integer bmzt;
@Column
@Comment("报名类型(1.基层工会统一报名 2.个人报名)")
@Comment("报名类型(1.分工会统一报名 2.个人报名)")
@ColDefine(type = ColType.INT)
private Integer bmlx;
@Column
@Comment("单位")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String unitname;
@Column
@Comment("单位id")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String unitid;
@Column
@Comment("年龄")
@ColDefine(type = ColType.INT)
private String age;
@Column
@Comment("民族")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String nation;
@Column
@Comment("疗休养身份")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String zyhj;
@Column
@Comment("工会")
@ColDefine(type = ColType.VARCHAR, width = 50)
private String unionname;
@Column
@Comment("身份证号码")
@ColDefine(type = ColType.VARCHAR, width = 32)
private String idcard;
@Column
@Comment("手机号")
@ColDefine(type = ColType.VARCHAR, width = 11)
private String mobile;
@Column
@Comment("是否为ABCDE类高层次人才")
@ColDefine(type = ColType.VARCHAR, width = 20)
private String talent;
@Column
@Comment("备注")
@ColDefine(type = ColType.VARCHAR, width = 1000)
private String bz;
@Column
@Comment("附件")
@ColDefine(type = ColType.MYSQL_JSON)
@@ -0,0 +1,39 @@
package io.v.nutz.zhgh.lxy.template;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
/**
* @version 1.0
* @Author zzr
* @name:LxyImportTemp
* @Date 2025/6/11 16:16
* @注释
*/
@Data
public class LxyImportTemp {
@Excel(name = "工号")
String loginname;
@Excel(name = "姓名")
String username;
@Excel(name = "民族")
String nation;
@Excel(name = "疗休养员身份")
String zyhj;
@Excel(name = "身份证号")
String idcard;
@Excel(name = "联系电话")
String mobile;
@Excel(name = "是否为ABCDE类高层次人才")
String talent;
String remark;
}