commit
This commit is contained in:
@@ -8,6 +8,7 @@ import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
|
||||
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.base.Result;
|
||||
import cn.wizzer.framework.base.service.BaseService;
|
||||
@@ -38,6 +39,7 @@ 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.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -111,11 +113,11 @@ public class JdhDbGlController {
|
||||
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile,
|
||||
TIMESTAMPDIFF(YEAR, u.birthday,CURDATE()) as age,
|
||||
db.dbLoginName AS loginname,
|
||||
db.dbUserName AS username,
|
||||
db.dbSex AS sex,
|
||||
db.dbMobile AS mobile,
|
||||
TIMESTAMPDIFF(YEAR, db.dbBirthday,CURDATE()) as age,
|
||||
db.political,
|
||||
db.education,
|
||||
db.jobTitle,
|
||||
@@ -146,8 +148,11 @@ public class JdhDbGlController {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.groupBy("db.id");
|
||||
cnd.and("db.dbzt", "=", 2);
|
||||
if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) {
|
||||
cnd.and(searchName, "LIKE", "%" + searchKeyword + "%");
|
||||
if (StrUtil.isNotBlank(searchKeyword)) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("db.dbUserName", searchKeyword);
|
||||
seg.orLike("db.dbLoginName", searchKeyword);
|
||||
cnd.and(seg);
|
||||
}
|
||||
if (Strings.isNotBlank(jdhid)) {
|
||||
cnd.and("db.jdhid", "=", jdhid);
|
||||
@@ -227,6 +232,12 @@ public class JdhDbGlController {
|
||||
db.setDbunitname(userMap.getString("dwname"));
|
||||
db.setDbfghid(userMap.getString("ghid"));
|
||||
db.setDbfghname(userMap.getString("unionname"));
|
||||
db.setDbLoginName(userMap.getString("loginname"));
|
||||
db.setDbUserName(userMap.getString("username"));
|
||||
db.setDbSex(ObjectUtil.defaultIfBlank(userMap.getString("sex"), ""));
|
||||
db.setDbBirthday(ObjectUtil.defaultIfBlank(userMap.getString("birthday"), ""));
|
||||
db.setDbMobile(ObjectUtil.defaultIfBlank(userMap.getString("mobile"), ""));
|
||||
db.setDbNation(ObjectUtil.defaultIfBlank(userMap.getString("nation"), ""));
|
||||
db.setDbtid(dbtid);
|
||||
db.setJdhid(jdhid);
|
||||
db.setDbzt(2);
|
||||
@@ -303,8 +314,10 @@ public class JdhDbGlController {
|
||||
u.education,
|
||||
u.position,
|
||||
u.mobile,
|
||||
u.birthday,
|
||||
u.nation,
|
||||
dw.id AS dwid,
|
||||
dw.NAME AS dwname,
|
||||
dw.`name` AS dwname,
|
||||
gh.id AS ghid,
|
||||
gh.unionname
|
||||
FROM
|
||||
@@ -338,6 +351,13 @@ public class JdhDbGlController {
|
||||
db.setId(R.UU32());
|
||||
db.setDbid(userMap.getString("id"));
|
||||
|
||||
db.setDbLoginName(userMap.getString("loginname"));
|
||||
db.setDbUserName(userMap.getString("username"));
|
||||
db.setDbSex(ObjectUtil.defaultIfBlank(userMap.getString("sex"), ""));
|
||||
db.setDbBirthday(ObjectUtil.defaultIfBlank(userMap.getString("birthday"), ""));
|
||||
db.setDbMobile(ObjectUtil.defaultIfBlank(userMap.getString("mobile"), ""));
|
||||
db.setDbNation(ObjectUtil.defaultIfBlank(userMap.getString("nation"), ""));
|
||||
|
||||
db.setPolitical(userMap.getString("political"));
|
||||
db.setEducation(userMap.getString("education"));
|
||||
db.setJobTitle(userMap.getString("jobTitle"));
|
||||
@@ -513,6 +533,13 @@ public class JdhDbGlController {
|
||||
Jdh_db db = new Jdh_db();
|
||||
db.setId(R.UU32());
|
||||
db.setDbid(userMap.getString("id"));
|
||||
db.setDbLoginName(loginName);
|
||||
db.setDbUserName(userMap.getString("username"));
|
||||
db.setDbSex(userMap.getString("sex"));
|
||||
db.setDbBirthday(userMap.getString("birthday"));
|
||||
db.setDbMobile(userMap.getString("mobile"));
|
||||
db.setDbNation(userMap.getString("nation"));
|
||||
|
||||
db.setPolitical(userMap.getString("political"));
|
||||
db.setEducation(userMap.getString("education"));
|
||||
db.setJobTitle(userMap.getString("jobTitle"));
|
||||
|
||||
@@ -144,26 +144,33 @@ public class JdhDbScmdController {
|
||||
public Object queryNotDbUser(String jdhid, String dbtid, String keyword) {
|
||||
try {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,u.loginname,u.username,dw.id as dwid,dw.name as dwname,
|
||||
gh.id as ghid,gh.unionname,
|
||||
u.political,
|
||||
u.education,
|
||||
u.jobTitle,
|
||||
u.position
|
||||
FROM
|
||||
sys_user u
|
||||
LEFT JOIN sys_unit dw ON dw.id = u.unitid
|
||||
LEFT JOIN sys_union gh ON gh.id = dw.unionid
|
||||
SELECT
|
||||
u.id,
|
||||
u.loginname,
|
||||
u.username,
|
||||
u.unitid as dwid,
|
||||
u.unitname as dwname,
|
||||
gh.id as ghid,
|
||||
gh.unionname,
|
||||
u.political,
|
||||
u.education,
|
||||
u.jobTitle,
|
||||
u.position,
|
||||
u.birthday,
|
||||
u.sex,
|
||||
u.nation,
|
||||
u.mobile
|
||||
FROM
|
||||
`user` u
|
||||
$condition
|
||||
AND u.id NOT IN ( SELECT dbid FROM jdh_db WHERE jdhid = @jdhid AND dbzt in (1,2) )
|
||||
AND (u.username like @keyword or u.loginname like @keyword)
|
||||
""");
|
||||
AND u.id NOT IN ( SELECT dbid FROM jdh_db WHERE jdhid = @jdhid AND dbzt in (1,2) )
|
||||
AND (u.username like @keyword or u.loginname like @keyword)
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if ("unit".equals(Globals.MyConfig.getString("dbtzc"))) {
|
||||
cnd.and(new Static(" dw.id in (select dwid from jdh_dbt_zcdw where jdhid='%s' and dbtid='%s' )".formatted(jdhid, dbtid)));
|
||||
cnd.and(new Static(" u.unitid IN (select dwid from jdh_dbt_zcdw where jdhid='%s' and dbtid='%s' )".formatted(jdhid, dbtid)));
|
||||
} else {
|
||||
cnd.and(new Static("gh.id IN ( SELECT fghid FROM jdh_dbt_zcfgh WHERE jdhid = '%s' AND dbtid = '%s' )".formatted(jdhid, dbtid)));
|
||||
cnd.and(new Static(" u.unionid IN ( SELECT fghid FROM jdh_dbt_zcfgh WHERE jdhid = '%s' AND dbtid = '%s' )".formatted(jdhid, dbtid)));
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
sql.setParam("jdhid", jdhid);
|
||||
|
||||
@@ -29,6 +29,7 @@ import org.nutz.dao.Cnd;
|
||||
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.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.lang.Lang;
|
||||
@@ -94,13 +95,12 @@ public class JdhDbYlController {
|
||||
try {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile,
|
||||
TIMESTAMPDIFF(YEAR, u.birthday,CURDATE()) as age,
|
||||
u.unionname,
|
||||
u.unioncode,
|
||||
db.dbLoginName AS loginname,
|
||||
db.dbUserName AS username,
|
||||
db.dbSex AS sex,
|
||||
db.dbMobile AS mobile,
|
||||
TIMESTAMPDIFF(YEAR, db.dbBirthday,CURDATE()) as age,
|
||||
db.dbfghname AS unionname,
|
||||
db.id,
|
||||
db.dbid,
|
||||
db.jdhid,
|
||||
@@ -114,7 +114,6 @@ public class JdhDbYlController {
|
||||
r.`name` as rolename
|
||||
FROM
|
||||
jdh_db db
|
||||
LEFT JOIN `user` u ON u.id = db.dbid
|
||||
LEFT JOIN sys_role r ON r.id = db.roleid
|
||||
LEFT JOIN jdh_dbt dbt ON dbt.id = db.dbtid
|
||||
LEFT JOIN jdh_jdhxx jdh on jdh.id = db.jdhid
|
||||
@@ -127,8 +126,11 @@ public class JdhDbYlController {
|
||||
} else {
|
||||
cnd.desc("jdh.jdhkqsj").asc("dbt.dbtname").asc("db.dbunitname");
|
||||
}
|
||||
if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) {
|
||||
cnd.and(searchName, "LIKE", "%" + searchKeyword + "%");
|
||||
if (StrUtil.isNotBlank(searchKeyword)) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("db.dbUserName", searchKeyword);
|
||||
seg.orLike("db.dbLoginName", searchKeyword);
|
||||
cnd.and(seg);
|
||||
}
|
||||
if (Strings.isNotBlank(jdhid)) {
|
||||
cnd.and("db.jdhid", "=", jdhid);
|
||||
@@ -151,7 +153,7 @@ public class JdhDbYlController {
|
||||
}
|
||||
|
||||
if (!ShiroUtil.hasAnyRoles("sysadmin,SchoolUnionAdmin,tamange")) {
|
||||
cnd.and("u.unionid", "=", Vi.getUnionId());
|
||||
cnd.and("db.dbfghid", "=", Vi.getUnionId());
|
||||
}
|
||||
|
||||
sql.setCondition(cnd);
|
||||
@@ -171,15 +173,52 @@ public class JdhDbYlController {
|
||||
@At
|
||||
@RequiresPermissions("jdh.db.dbyl")
|
||||
public void downloadDbList(@Param(value = "jdh_id",required = false) String jdh_id, HttpServletResponse response) throws Exception {
|
||||
Sql dbtSql = Sqls.create("SELECT dbt.*,(SELECT count(1) from jdh_db db WHERE db.dbtid = dbt.id) " +
|
||||
"dbnum from jdh_dbt dbt where dbt.jdhid = @jdhid ORDER BY dbt.code").setParam("jdhid", jdh_id);
|
||||
Sql dbSql = Sqls.create("SELECT u.id,(case u.sex when '女' then CONCAT(u.username,'(女)') else u.username end) " +
|
||||
"username,u.nation mz,db.dbtid,db.roleid from jdh_db db left join sys_user u on db.dbid = u.id " +
|
||||
"WHERE db.dbzt = 2 and db.jdhid = @jdhid ORDER BY u.username").setParam("jdhid", jdh_id);
|
||||
Sql tzSql = Sqls.create("SELECT u.id,(case u.sex when '女' then CONCAT(u.username,'(女)') else u.username end) " +
|
||||
"username,u.nation mz,sur.dbtid,sur.roleId roleid from sys_user_role sur left join sys_user u on sur.userId = u.id " +
|
||||
"WHERE sur.roleId in (@tz_role_id,@ftz_role_id) and sur.jdhid = @jdhid ORDER BY u.username")
|
||||
.setParam("tz_role_id", Roles.DBT_TZ).setParam("ftz_role_id", Roles.DBT_FTZ).setParam("jdhid", jdh_id);
|
||||
Sql dbtSql = Sqls.create("""
|
||||
SELECT
|
||||
dbt.*,
|
||||
(SELECT count(1) FROM jdh_db db WHERE db.dbtid = dbt.id) dbnum
|
||||
FROM
|
||||
jdh_dbt dbt
|
||||
WHERE
|
||||
dbt.jdhid = @jdhid
|
||||
ORDER BY
|
||||
dbt.`code`
|
||||
""").setParam("jdhid", jdh_id);
|
||||
|
||||
Sql dbSql = Sqls.create("""
|
||||
SELECT
|
||||
db.dbid AS id,
|
||||
(CASE db.dbSex WHEN '女' THEN CONCAT(db.dbUsername, '(女)') ELSE db.dbUsername END) username,
|
||||
db.dbNation AS mz,
|
||||
db.dbtid,
|
||||
db.roleid
|
||||
FROM
|
||||
jdh_db db
|
||||
WHERE
|
||||
db.dbzt = 2
|
||||
AND db.jdhid = @jdhid
|
||||
ORDER BY
|
||||
db.dbUserName
|
||||
""").setParam("jdhid", jdh_id);
|
||||
|
||||
Sql tzSql = Sqls.create("""
|
||||
SELECT
|
||||
db.dbid AS id,
|
||||
(CASE db.dbSex WHEN '女' THEN CONCAT(db.dbUsername, '(女)') ELSE db.dbUsername END) username,
|
||||
db.dbNation AS mz,
|
||||
sur.dbtid,
|
||||
sur.roleId roleid
|
||||
FROM
|
||||
sys_user_role sur
|
||||
LEFT JOIN jdh_db db ON sur.userId = db.dbid
|
||||
WHERE
|
||||
sur.roleId IN (@tz_role_id, @ftz_role_id)
|
||||
AND sur.jdhid = @jdhid
|
||||
GROUP BY
|
||||
db.id
|
||||
ORDER BY
|
||||
db.dbUserName
|
||||
""").setParam("tz_role_id", Roles.DBT_TZ).setParam("ftz_role_id", Roles.DBT_FTZ).setParam("jdhid", jdh_id);
|
||||
|
||||
List<Record> dbtList = baseService.list(dbtSql);
|
||||
List<Record> dbs = baseService.list(dbSql);
|
||||
@@ -243,7 +282,7 @@ public class JdhDbYlController {
|
||||
Jdh_jdhxx jdhxx = baseService.dao().fetch(Jdh_jdhxx.class, jdhid);
|
||||
|
||||
//只查询开启教代会的代表
|
||||
Sql sql = Sqls.create("""
|
||||
/*Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.loginname,
|
||||
u.username,
|
||||
@@ -266,16 +305,16 @@ public class JdhDbYlController {
|
||||
dbt.code,
|
||||
u.unioncode,
|
||||
u.unitcode
|
||||
""").setParam("jdhid", jdhid);
|
||||
""").setParam("jdhid", jdhid);*/
|
||||
|
||||
Sql sql2 = Sqls.create("""
|
||||
SELECT
|
||||
u.loginname,
|
||||
u.username,
|
||||
u.sex,
|
||||
u.mobile,
|
||||
u.unitname,
|
||||
u.unionname,
|
||||
db.dbLoginName AS loginname,
|
||||
db.dbUserName AS username,
|
||||
db.dbSex AS sex,
|
||||
db.dbMobile AS mobile,
|
||||
db.dbunitname AS unitname,
|
||||
db.dbfghname AS unionname,
|
||||
dbt.dbtname,
|
||||
CONCAT( jdh.jdhjs, '届', jdh.jdhcs, '次' ) jdh,
|
||||
role.`name` rolename
|
||||
@@ -312,7 +351,7 @@ public class JdhDbYlController {
|
||||
}
|
||||
|
||||
response.setContentType("application/octet-stream");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String((jdhxx.getJdhjs() + "届" + jdhxx.getJdhcs() + "次" + "教代会代表名单.xls").getBytes("utf-8"), "ISO8859-1"));
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + new String((jdhxx.getJdhjs() + "届" + jdhxx.getJdhcs() + "次" + "教代会代表名单.xlsx").getBytes("utf-8"), "ISO8859-1"));
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), DB.class, dbs);
|
||||
workbook.write(response.getOutputStream());
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ 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.Roles;
|
||||
import io.v.nutz.sys.models.User;
|
||||
import io.v.nutz.zhgh.jdh.model.db.Jdh_db;
|
||||
import io.v.nutz.zhgh.jdh.model.zzjg.Jdh_dbt;
|
||||
import io.v.nutz.zhgh.jdh.model.zzjg.Jdh_dbt_zcdw;
|
||||
@@ -32,6 +33,9 @@ import org.nutz.mvc.annotation.Param;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author zhf
|
||||
@@ -570,9 +574,9 @@ public class DelegationController {
|
||||
PageForm page, @Param(value = "jdhid", required = false) String jdhid) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,
|
||||
u.loginname,
|
||||
u.username,
|
||||
db.dbid AS id,
|
||||
db.dbLoginName AS loginname,
|
||||
db.dbUserName AS username,
|
||||
db.dbunitname as unitname,
|
||||
db.dbfghname as unionname,
|
||||
r.`name` as rolename
|
||||
@@ -599,4 +603,32 @@ public class DelegationController {
|
||||
sql.setCondition(cnd);
|
||||
return sysUserRoleService.list(sql);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.jdh.zzjg.delegation")
|
||||
public Object setDbInfo() {
|
||||
List<Jdh_db> list = dao.query(Jdh_db.class, Cnd.NEW());
|
||||
|
||||
Set<String> userIds = list.stream().map(Jdh_db::getDbid).collect(Collectors.toSet());
|
||||
|
||||
List<User> query = dao.query(User.class, Cnd.where("id", "in", userIds));
|
||||
|
||||
Map<String, User> userMap = query.stream().collect(Collectors.toMap(User::getId, v -> v));
|
||||
|
||||
for (Jdh_db db : list) {
|
||||
User user = userMap.get(db.getDbid());
|
||||
db.setDbUserName(user.getUsername());
|
||||
db.setDbLoginName(user.getLoginname());
|
||||
db.setDbSex(user.getSex());
|
||||
db.setDbBirthday(user.getBirthday());
|
||||
db.setDbMobile(user.getMobile());
|
||||
db.setDbNation(user.getNation());
|
||||
}
|
||||
|
||||
dao.update(list);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,36 @@ public class Jdh_db implements Serializable {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbid;
|
||||
|
||||
@Column
|
||||
@Comment("代表工号")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbLoginName;
|
||||
|
||||
@Column
|
||||
@Comment("代表姓名")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbUserName;
|
||||
|
||||
@Column
|
||||
@Comment("代表性别")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
private String dbSex;
|
||||
|
||||
@Column
|
||||
@Comment("代表生日")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbBirthday;
|
||||
|
||||
@Column
|
||||
@Comment("代表联系方式")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbMobile;
|
||||
|
||||
@Column
|
||||
@Comment("代表民族")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String dbNation;
|
||||
|
||||
@Column
|
||||
@Comment("所属教代会ID")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
|
||||
Reference in New Issue
Block a user