commit
This commit is contained in:
@@ -225,4 +225,13 @@ public interface Roles {
|
||||
*/
|
||||
String JDH_DB2 = "05e7a279f4274a1eb3a81adb5f8c2454";
|
||||
|
||||
/**
|
||||
* 单位书记
|
||||
*/
|
||||
String GH03 = "428969eb99ff4b76883d83f847ee96a5";
|
||||
|
||||
/**
|
||||
* 工会组组长
|
||||
*/
|
||||
String ghxzzz = "308dfe9096f44a64a67b4714f67dcd96";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package io.v.nutz.sys.models;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
* @Author zhf
|
||||
* @Date 2022/12/25 10:04
|
||||
*/
|
||||
@Data
|
||||
@Table
|
||||
public class SysUnionGroup {
|
||||
|
||||
@Column
|
||||
@Name
|
||||
@Comment("ID")
|
||||
@Prev(els = {@EL("uuid()")})
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String id;
|
||||
|
||||
@Column
|
||||
@Comment("小组名称")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String groupName;
|
||||
|
||||
@Column
|
||||
@Comment("小组编码")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String groupCode;
|
||||
|
||||
@Column
|
||||
@Comment("所属工会")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
private String unionId;
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
package io.v.nutz.sys.models;
|
||||
|
||||
import lombok.Data;
|
||||
import org.nutz.dao.entity.annotation.*;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
@Table("sys_user_role")
|
||||
public class Sys_user_role implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -43,6 +45,21 @@ public class Sys_user_role implements Serializable {
|
||||
@Comment("工会id")
|
||||
private String unionid;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("工会小组id")
|
||||
private String unionGroupId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("代表小组id")
|
||||
private String groupId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("离退办小组id")
|
||||
private String ltbGroupId;
|
||||
|
||||
@Column
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("承办单位id")
|
||||
@@ -62,93 +79,5 @@ public class Sys_user_role implements Serializable {
|
||||
@ColDefine(type = ColType.VARCHAR, width = 32)
|
||||
@Comment("提案教代会机构id")
|
||||
private String jgid;
|
||||
|
||||
public String getGdhid() {
|
||||
return gdhid;
|
||||
}
|
||||
|
||||
public void setGdhid(String gdhid) {
|
||||
this.gdhid = gdhid;
|
||||
}
|
||||
|
||||
public String getJc() {
|
||||
return jc;
|
||||
}
|
||||
|
||||
public void setJc(String jc) {
|
||||
this.jc = jc;
|
||||
}
|
||||
|
||||
public String getStid() {
|
||||
return stid;
|
||||
}
|
||||
|
||||
public void setStid(String stid) {
|
||||
this.stid = stid;
|
||||
}
|
||||
|
||||
public String getCbdwid() {
|
||||
return cbdwid;
|
||||
}
|
||||
|
||||
public void setCbdwid(String cbdwid) {
|
||||
this.cbdwid = cbdwid;
|
||||
}
|
||||
|
||||
public String getUnionid() {
|
||||
return unionid;
|
||||
}
|
||||
|
||||
public void setUnionid(String unionid) {
|
||||
this.unionid = unionid;
|
||||
}
|
||||
|
||||
public String getRoleId() {
|
||||
return roleId;
|
||||
}
|
||||
|
||||
public void setRoleId(String roleId) {
|
||||
this.roleId = roleId;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getJdhid() {
|
||||
return jdhid;
|
||||
}
|
||||
|
||||
public void setJdhid(String jdhid) {
|
||||
this.jdhid = jdhid;
|
||||
}
|
||||
|
||||
public String getUnitid() {
|
||||
return unitid;
|
||||
}
|
||||
|
||||
public void setUnitid(String unitid) {
|
||||
this.unitid = unitid;
|
||||
}
|
||||
|
||||
public String getDbtid() {
|
||||
return dbtid;
|
||||
}
|
||||
|
||||
public void setDbtid(String dbtid) {
|
||||
this.dbtid = dbtid;
|
||||
}
|
||||
|
||||
public String getJgid() {
|
||||
return jgid;
|
||||
}
|
||||
|
||||
public void setJgid(String jgid) {
|
||||
this.jgid = jgid;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-1
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.wakershome.model.WakesHomeApply;
|
||||
import io.v.nutz.wakershome.service.IWakesHomeApplyService;
|
||||
import org.apache.shiro.authz.annotation.Logical;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
@@ -69,7 +70,9 @@ public class WakesHomeDeclarationApplyController {
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("wakeshome.declaration.apply")
|
||||
@RequiresPermissions(value = {"wakeshome.declaration.apply","wakeshome.declaration.mine",
|
||||
"wakeshome.declaration.organization", "wakeshome.declaration.school",
|
||||
"wakeshome.declaration.statistics"},logical = Logical.OR)
|
||||
public Object getInfoById(String id){
|
||||
return wakesHomeApplyService.findById(id);
|
||||
}
|
||||
|
||||
+1
-1
@@ -114,7 +114,7 @@ public class WakesHomeDeclarationMineController {
|
||||
.bind("basicInformation", htmlRenderPolicy)
|
||||
.bind("constructionPlan", htmlRenderPolicy).build();
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
String fileName = Globals.schoolName + "教工小家”建设计划书";
|
||||
String fileName = Globals.schoolName + "“教工小家”建设计划书";
|
||||
map.put("fileName", fileName);
|
||||
map.put("schoolName", Globals.schoolName);
|
||||
map.put("unionName", nutMap.getString("unionName"));
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ public class WakesHomeDeclarationSchoolController {
|
||||
public Object doRollBack(String id){
|
||||
WakesHomeApply wakesHome = wakesHomeApplyService.fetch(id);
|
||||
wakesHomeApplyService.dao().clear(Audit.class,Cnd.where("id","=",wakesHome.getSchoolAuditId()));
|
||||
wakesHomeApplyService.update(Chain.make("state",10010).add("schoolAuditId",null),Cnd.where("id","=",id));
|
||||
wakesHomeApplyService.update(Chain.make("state",10020).add("schoolAuditId",null),Cnd.where("id","=",id));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ public class AddZbController {
|
||||
CommentZb zb = commentZbService.insert(commentZb);
|
||||
for (CommentNr nr : commentZb.getNrs()) {
|
||||
nr.setZb_id(zb.getId());
|
||||
nr.getBzs().forEach(v->v.setZb_id(zb.getId()));
|
||||
commentZbService.insertWith(nr, "bzs");
|
||||
}
|
||||
});
|
||||
|
||||
@@ -6,6 +6,7 @@ import com.deepoove.poi.XWPFTemplate;
|
||||
import com.deepoove.poi.config.Configure;
|
||||
import com.deepoove.poi.policy.HackLoopTableRenderPolicy;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.result.Result;
|
||||
import io.v.nutz.base.utils.Vi;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.sys.models.Sys_file;
|
||||
@@ -201,6 +202,7 @@ public class StatisticsZpController {
|
||||
|
||||
/**
|
||||
* 分工会下所有测评结果导出(多个)压缩包
|
||||
*
|
||||
* @param zbId
|
||||
* @param unionId
|
||||
* @param response
|
||||
@@ -232,8 +234,41 @@ public class StatisticsZpController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 校验是否有附件
|
||||
*
|
||||
* @param peoId 测评结果Id
|
||||
* @param zbId 指标Id
|
||||
* @param unionId 分工会Id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@RequiresPermissions("wakeshome.review.statistics")
|
||||
public Object validateHasFiles(@Param(value = "peoId", required = false) String peoId,
|
||||
@Param(value = "zbId", required = false) String zbId,
|
||||
@Param(value = "unionId", required = false) String unionId) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("id", "=", peoId);
|
||||
cnd.andEX("zbId", "=", zbId);
|
||||
cnd.andEX("unionId", "=", unionId);
|
||||
List<CommentPeo> peoList = commentPeoService.dao().query(CommentPeo.class, cnd);
|
||||
List<Sys_file> files;
|
||||
try {
|
||||
files = peoList.stream().flatMap(v -> v.getFiles().stream()).collect(Collectors.toList());
|
||||
} catch (NullPointerException e) {
|
||||
return Result.error();
|
||||
}
|
||||
if (Lang.isEmpty(files)) {
|
||||
return Result.error();
|
||||
} else {
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 分工会导出附件
|
||||
*
|
||||
* @param zbId
|
||||
* @param unionId
|
||||
* @param response
|
||||
@@ -261,7 +296,7 @@ public class StatisticsZpController {
|
||||
|
||||
if (Lang.isNotEmpty(files)) {
|
||||
for (Sys_file file : files) {
|
||||
if(Lang.isNotEmpty(file)) {
|
||||
if (Lang.isNotEmpty(file)) {
|
||||
FileOutputStream outputStream = new FileOutputStream(tDir.getPath() + "/" + file.getFilename());
|
||||
ftpService.download(file.getFilepath(), outputStream);
|
||||
outputStream.close();
|
||||
|
||||
@@ -30,26 +30,17 @@ public class CommentZbServiceImpl extends ViServiceImpl<CommentZb> implements Co
|
||||
private CommentNrService commentNrService;
|
||||
|
||||
|
||||
private void setNrBz(List<CommentNr> nrs) {
|
||||
for (CommentNr nr : nrs) {
|
||||
nr = commentNrService.fetchLinks(nr, "bzs", Cnd.NEW().asc("location"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommentZb khzb(String zbid) {
|
||||
if (StrUtil.isBlank(zbid)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
CommentZb zb = dao().fetchLinks(fetch(zbid), "nrs");
|
||||
CommentZb zb = dao().fetchLinks(fetch(zbid), "nrs", Cnd.NEW().asc("contentNumber"));
|
||||
for (CommentNr nr : zb.getNrs()) {
|
||||
List<CommentBz> query = dao().query(CommentBz.class, Cnd.where("zb_id", "=", zbid).and("nr_id", "=", nr.getId()).asc("contentNumber"));
|
||||
nr.setBzs(query);
|
||||
}
|
||||
|
||||
// CommentZb zb = fetchLinks(fetch(zbid), "nrs", Cnd.NEW().asc("contentNumber"));
|
||||
// setNrBz(zb.getNrs());
|
||||
return zb;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,11 +3,13 @@ package io.v.nutz.web.controllers.platform.sys;
|
||||
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
||||
import cn.afterturn.easypoi.excel.annotation.Excel;
|
||||
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.wizzer.framework.base.Result;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.base.page.Pagination;
|
||||
import io.v.nutz.base.utils.PageUtil;
|
||||
import io.v.nutz.base.utils.Roles;
|
||||
import io.v.nutz.lang.Lang;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.models.*;
|
||||
import io.v.nutz.sys.services.*;
|
||||
@@ -26,14 +28,21 @@ import org.nutz.dao.util.cri.Static;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.log.Log;
|
||||
import org.nutz.log.Logs;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author: V
|
||||
@@ -78,7 +87,11 @@ public class SysUnionMangeCon {
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object changeSchoolUnionRole(String unionid, String roleId, String roleCode, String userId, int type) {
|
||||
public Object changeSchoolUnionRole(@Param(value = "unionid", required = false) String unionid,
|
||||
@Param(value = "roleId", required = false) String roleId,
|
||||
@Param(value = "roleCode", required = false) String roleCode,
|
||||
@Param(value = "userId", required = false) String userId,
|
||||
@Param(value = "type", required = false) int type) {
|
||||
if (type == 1) {
|
||||
Sys_user_role role = new Sys_user_role();
|
||||
role.setUserId(userId);
|
||||
@@ -109,7 +122,9 @@ public class SysUnionMangeCon {
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object schoolUnionRoles(String unionid, String searchName, String searchKeyword) {
|
||||
public Object schoolUnionRoles(@Param(value = "unionid", required = false) String unionid,
|
||||
@Param(value = "searchName", required = false) String searchName,
|
||||
@Param(value = "searchKeyword", required = false) String searchKeyword) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
role.`name` rolename,
|
||||
@@ -136,8 +151,8 @@ public class SysUnionMangeCon {
|
||||
cnd.and(new Static("dict.parentId = ( SELECT id FROM sys_dict WHERE `code` = 'SchoolRoles' LIMIT 1)"));
|
||||
}
|
||||
|
||||
if (Lang.notNull(searchName, searchKeyword)) {
|
||||
cnd.where().andLike(searchName, searchKeyword);
|
||||
if (StrUtil.isNotBlank(searchName) && StrUtil.isNotBlank(searchKeyword)) {
|
||||
cnd.and(Cnd.likeEX(searchName, searchKeyword));
|
||||
}
|
||||
|
||||
sql.setCondition(cnd);
|
||||
@@ -171,7 +186,10 @@ public class SysUnionMangeCon {
|
||||
@At("/unionPageData")
|
||||
@Ok("json:full")
|
||||
@ViReturn
|
||||
public Object unionPageData(String searchName, String searchKeyword, int pageNumber, int pageSize, String pageOrderName, String pageOrderBy) {
|
||||
public Object unionPageData(@Param(value = "searchName", required = false) String searchName,
|
||||
@Param(value = "searchKeyword", required = false) String searchKeyword, int pageNumber, int pageSize,
|
||||
@Param(value = "pageOrderName", required = false) String pageOrderName,
|
||||
@Param(value = "pageOrderBy", required = false) String pageOrderBy) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
@@ -348,7 +366,9 @@ public class SysUnionMangeCon {
|
||||
|
||||
|
||||
@At // 会员档案
|
||||
public Object hyPageData(String unitid, String unionid, String searchName, String searchKeyword, int pageNumber, int pageSize, String pageOrderName, String pageOrderBy) {
|
||||
public Object hyPageData(@Param(value = "unitid", required = false) String unitid,
|
||||
@Param(value = "unionid", required = false) String unionid,
|
||||
PageForm page) {
|
||||
try {
|
||||
// Sql sql = Sqls.create("SELECT u.id,u.username,u.loginname,u.sex,un.`name` unitname,u.mobile from sys_user u left join sys_unit un on u.unitid = un.id $condition");
|
||||
|
||||
@@ -363,16 +383,16 @@ public class SysUnionMangeCon {
|
||||
if (Strings.isNotBlank(unitid)) {
|
||||
cnd.and("u.unitid", "=", unitid);
|
||||
}
|
||||
if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) {
|
||||
cnd.and(searchName, "like", "%" + searchKeyword + "%");
|
||||
if (Strings.isNotBlank(page.getSearchName()) && Strings.isNotBlank(page.getSearchKeyword())) {
|
||||
cnd.where().andLike(page.getSearchName(), page.getSearchKeyword());
|
||||
}
|
||||
if (Strings.isNotBlank(pageOrderName) && Strings.isNotBlank(pageOrderBy)) {
|
||||
cnd.orderBy(pageOrderName, PageUtil.getOrder(pageOrderBy));
|
||||
if (StrUtil.isNotBlank(page.getPageOrderName()) && StrUtil.isNotBlank(page.getPageOrderBy())) {
|
||||
cnd.orderBy(page.getPageOrderName(), page.getPageOrderBy().equalsIgnoreCase("ascending") ? "ASC" : "DESC");
|
||||
} else {
|
||||
cnd.asc("u.unitid");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return Result.success().addData(sysUnionService.listPage(pageNumber, pageSize, sql));
|
||||
return Result.success().addData(sysUnionService.listPage(page.getPageNumber(), page.getPageSize(), sql));
|
||||
} catch (Exception e) {
|
||||
log.error(e);
|
||||
return Result.error();
|
||||
@@ -418,7 +438,9 @@ public class SysUnionMangeCon {
|
||||
}
|
||||
|
||||
@At
|
||||
public Object spyPageData(String qxid, String unionid, String searchName, String searchKeyword, int pageNumber, int pageSize, String pageOrderName, String pageOrderBy) {
|
||||
public Object spyPageData(@Param(value = "qxid", required = false) String qxid,
|
||||
@Param(value = "unionid", required = false) String unionid,
|
||||
PageForm page) {
|
||||
try {
|
||||
Sql sql = Sqls.create("SELECT\n" +
|
||||
"\tsur.roleId,\n" +
|
||||
@@ -445,16 +467,16 @@ public class SysUnionMangeCon {
|
||||
cnd.and("sur.roleId in (SELECT role.id from sys_dict dict left join sys_role role on dict.`code` = role.`code` WHERE parentId = '" + ViCommonCon.DICT_SPYJS_ID + "') and 1", "=", 1);
|
||||
}
|
||||
|
||||
if (Strings.isNotBlank(searchName) && Strings.isNotBlank(searchKeyword)) {
|
||||
cnd.where().andLike(searchName, searchKeyword);
|
||||
if (Strings.isNotBlank(page.getSearchName()) && Strings.isNotBlank(page.getSearchKeyword())) {
|
||||
cnd.where().andLike(page.getSearchName(), page.getSearchKeyword());
|
||||
}
|
||||
if (Strings.isNotBlank(pageOrderName) && Strings.isNotBlank(pageOrderBy)) {
|
||||
cnd.orderBy(pageOrderName, PageUtil.getOrder(pageOrderBy));
|
||||
if (StrUtil.isNotBlank(page.getPageOrderName()) && StrUtil.isNotBlank(page.getPageOrderBy())) {
|
||||
cnd.orderBy(page.getPageOrderName(), PageUtil.getOrder(page.getPageOrderBy()));
|
||||
} else {
|
||||
cnd.asc("sur.roleId");
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
return Result.success().addData(sysUnionService.listPage(pageNumber, pageSize, sql));
|
||||
return Result.success().addData(sysUnionService.listPage(page.getPageNumber(), page.getPageSize(), sql));
|
||||
} catch (Exception e) {
|
||||
log.error(e);
|
||||
return Result.error();
|
||||
@@ -476,6 +498,233 @@ public class SysUnionMangeCon {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据条件查询可选的三级单位,以及已选择了的单位
|
||||
*
|
||||
* @param unionId
|
||||
* @param unionGroupId
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getXzDw(String unionId, @Param(value = "unionGroupId", required = false) String unionGroupId) {
|
||||
List<Sys_unit> value = new ArrayList<>();
|
||||
Cnd cnd = Cnd.NEW();
|
||||
if (Strings.isNotBlank(unionGroupId)) {
|
||||
//根据工会小组id查出小组下的单位
|
||||
value = sysUnitService.query(Cnd.where("unionGroupId", "=", unionGroupId));
|
||||
} else {
|
||||
cnd.and("unionGroupId", "is", null);
|
||||
}
|
||||
|
||||
//查出这个工会下的二级单位
|
||||
List<Sys_unit> unit2 = sysUnitService.query(Cnd.where("unitlevel", "=", 2).and("unionid", "=", unionId));
|
||||
List<String> unit2Id = unit2.stream().map(v -> v.getId()).collect(Collectors.toList());
|
||||
//根据二级单位id查出下面的三级单位
|
||||
cnd.and("parentId", "in", unit2Id);
|
||||
List<Sys_unit> data = sysUnitService.query(cnd);
|
||||
return Map.of("data", data, "value", value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置工会小组
|
||||
*
|
||||
* @param sysUnionGroup
|
||||
* @param xzValue
|
||||
* @param oldGroupCode
|
||||
* @param unionId
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
public Object doSzXz(@Param("SysUnionGroup") SysUnionGroup sysUnionGroup,
|
||||
@Param(value = "xzValue", required = false) String[] xzValue,
|
||||
@Param(value = "oldGroupCode", required = false) String oldGroupCode, String unionId) {
|
||||
if (oldGroupCode != null && !oldGroupCode.equals(sysUnionGroup.getGroupCode())) {
|
||||
int groupCode = sysUnitService.dao().count(SysUnionGroup.class, Cnd.where("groupCode", "=", sysUnionGroup.getGroupCode()));
|
||||
if (groupCode > 0) {
|
||||
return Result.error("编码重复");
|
||||
}
|
||||
}
|
||||
sysUnionGroup.setUnionId(unionId);
|
||||
sysUnitService.insertOrUpdate(sysUnionGroup);
|
||||
|
||||
if (Strings.isNotBlank(sysUnionGroup.getId())) {
|
||||
sysUnitService.update(Chain.make("unionGroupId", null), Cnd.where("unionGroupId", "=", sysUnionGroup.getId()));
|
||||
}
|
||||
|
||||
if (Lang.isNotEmpty(xzValue)) {
|
||||
sysUnitService.update(Chain.make("unionGroupId", sysUnionGroup.getId()), Cnd.where("id", "in", xzValue));
|
||||
}
|
||||
return Result.success("操作成功");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工会查询他下面的工会小组分页
|
||||
*
|
||||
* @param page
|
||||
* @param unionId
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object xzPageData(PageForm page, String unionId) {
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
g.*,(
|
||||
SELECT
|
||||
GROUP_CONCAT( us.username, '(', us.loginname, ')' )
|
||||
FROM
|
||||
sys_user_role ro
|
||||
LEFT JOIN sys_user us ON us.id = ro.userId
|
||||
WHERE
|
||||
ro.unionGroupId = g.id
|
||||
AND ro.roleId = @roleId
|
||||
) groupLeader
|
||||
FROM
|
||||
`sys_union_group` g
|
||||
$condition
|
||||
""").setParam("roleId", Roles.ghxzzz);
|
||||
if (StrUtil.isNotBlank(page.getSearchName()) && StrUtil.isNotBlank(page.getSearchKeyword())) {
|
||||
cnd.and(Cnd.likeEX(page.getSearchName(), page.getSearchKeyword()));
|
||||
}
|
||||
cnd.and("g.unionId", "=", unionId);
|
||||
cnd.asc("g.groupCode");
|
||||
sql.setCondition(cnd);
|
||||
return sysUnitService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工会小组下面的组长
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object selectSzXzzz(String id) {
|
||||
return sysUserRoleService.query(Cnd.where("roleId", "=", Roles.ghxzzz).and("unionGroupId", "=", id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加工会小组组长
|
||||
*
|
||||
* @param userId
|
||||
* @param unionId
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doSzXzzz(@Param("userId") String[] userId, String unionId, String id) {
|
||||
Trans.exec(() -> {
|
||||
sysUserRoleService.clear(Cnd.where("unionGroupId", "=", id).and("roleId", "=", io.v.nutz.base.utils.Roles.ghxzzz));
|
||||
List<String> idList = Arrays.asList(userId);
|
||||
List<Sys_user_role> roles = new ArrayList<>();
|
||||
idList.forEach(v->{
|
||||
Sys_user_role user_role = new Sys_user_role();
|
||||
user_role.setRoleId(io.v.nutz.base.utils.Roles.ghxzzz);
|
||||
user_role.setUnionGroupId(id);
|
||||
user_role.setUserId(v);
|
||||
user_role.setUnionid(unionId);
|
||||
roles.add(user_role);
|
||||
});
|
||||
sysUserRoleService.insert(roles);
|
||||
sysUserService.clearCache();
|
||||
});
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据工会小组id删除小组以及对应的角色
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object doDeleteXz(String id) {
|
||||
Trans.exec(() -> {
|
||||
sysUserRoleService.clear(Cnd.where("roleId", "=", Roles.ghxzzz).and("unionGroupId", "=", id));
|
||||
sysUnitService.dao().delete(SysUnionGroup.class, id);
|
||||
sysUnitService.update(Chain.make("unionGroupId", null), Cnd.where("unionGroupId", "=", id));
|
||||
sysUserService.clearCache();
|
||||
});
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询工会小组会员
|
||||
*
|
||||
* @param page
|
||||
* @param id
|
||||
* @param threeUnitId
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object selectXzcy(PageForm page, String id, @Param(value = "threeUnitId", required = false) String threeUnitId) {
|
||||
//根据小组id查出这个小组对应的单位
|
||||
List<Sys_unit> sysUnits = sysUnitService.query(Cnd.where("unionGroupId", "=", id));
|
||||
//拿到单位id
|
||||
List<String> unitIds = sysUnits.stream().map(v -> v.getId()).collect(Collectors.toList());
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,
|
||||
u.loginname,
|
||||
u.username,
|
||||
u.sex,
|
||||
un.`name` threeUnitName,
|
||||
u.mobile
|
||||
FROM
|
||||
sys_user u
|
||||
LEFT JOIN sys_unit un ON u.threeUnitId = un.id
|
||||
$condition
|
||||
""");
|
||||
if (StrUtil.isNotBlank(page.getSearchName()) && StrUtil.isNotBlank(page.getSearchKeyword())) {
|
||||
cnd.and(Cnd.likeEX(page.getSearchName(), page.getSearchKeyword()));
|
||||
}
|
||||
if (Strings.isNotBlank(threeUnitId)) {
|
||||
cnd.and("threeUnitId", "=", threeUnitId);
|
||||
} else {
|
||||
cnd.and("threeUnitId", "in", unitIds);
|
||||
}
|
||||
cnd.and("member", "=", 1);
|
||||
sql.setCondition(cnd);
|
||||
return sysUnitService.listPageMap(page.getPageNumber(), page.getPageSize(), sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据小组id查询小组下面的三级单位
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object getThreeOptions(String id) {
|
||||
return sysUnitService.query(Cnd.where("unionGroupId", "=", id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除工会小组组长
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object cancelXzzz(String id) {
|
||||
sysUserRoleService.clear(Cnd.where("roleId", "=", Roles.ghxzzz).and("unionGroupId", "=", id));
|
||||
sysUserService.clearCache();
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改工会组成单位
|
||||
*
|
||||
@@ -511,8 +760,29 @@ public class SysUnionMangeCon {
|
||||
@At
|
||||
public Object getUserByUnionId(String query, String unionid) {
|
||||
try {
|
||||
return Result.success().addData(sysUserService.listPage(1, 50, Sqls.create("SELECT u.id,u.username,u.loginname,u.sex,u.mobile,u.zw,u.email\n" +
|
||||
"from sys_user u left join sys_unit un on u.unitid = un.id WHERE un.unionid = @unionid and (u.username LIKE @query or u.loginname like @query)").setParam("unionid", unionid).setParam("query", "%" + query + "%")));
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.id,
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile,
|
||||
u.email
|
||||
from
|
||||
"user" u
|
||||
$condition
|
||||
""");
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.and("u.unionid", "=", unionid);
|
||||
if (StrUtil.isNotBlank(query)) {
|
||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||
seg.orLike("u.username", query);
|
||||
seg.orLike("u.loginname", query);
|
||||
cnd.and(seg);
|
||||
}
|
||||
sql.setCondition(cnd);
|
||||
Pagination pagination = sysUserService.listPage(1, 10, sql);
|
||||
return Result.success().addData(pagination);
|
||||
} catch (Exception e) {
|
||||
return Result.error();
|
||||
}
|
||||
|
||||
@@ -7,30 +7,40 @@ import io.v.nutz.data.constant.SourceData;
|
||||
import io.v.nutz.annontation.ViReturn;
|
||||
import io.v.nutz.dao.CndPlus;
|
||||
import io.v.nutz.modules.models.PageForm;
|
||||
import io.v.nutz.proposal.models.ProposalConfig;
|
||||
import io.v.nutz.proposal.models.ProposalUndertake;
|
||||
import io.v.nutz.service.AsyncService;
|
||||
import io.v.nutz.service.ViService;
|
||||
import io.v.nutz.sys.models.Sys_unit;
|
||||
import io.v.nutz.sys.models.Sys_user;
|
||||
import io.v.nutz.sys.models.Sys_user_role;
|
||||
import io.v.nutz.sys.services.SysDqService;
|
||||
import io.v.nutz.sys.services.SysGxService;
|
||||
import io.v.nutz.sys.services.SysUnitClassService;
|
||||
import io.v.nutz.sys.services.SysUserService;
|
||||
import org.apache.shiro.authz.annotation.RequiresAuthentication;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||
import org.nutz.dao.Chain;
|
||||
import org.nutz.dao.Cnd;
|
||||
import org.nutz.dao.Dao;
|
||||
import org.nutz.dao.Sqls;
|
||||
import org.nutz.dao.sql.Sql;
|
||||
import org.nutz.dao.util.Daos;
|
||||
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;
|
||||
import org.nutz.lang.Strings;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
import org.nutz.log.Log;
|
||||
import org.nutz.log.Logs;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -43,7 +53,6 @@ import java.util.stream.Collectors;
|
||||
@RequiresAuthentication
|
||||
@Ok("json:full")
|
||||
public class SysUnitMangeController {
|
||||
private static final Log log = Logs.get();
|
||||
|
||||
@Inject("Sys_unit")
|
||||
private ViService<Sys_unit> sysUnitService;
|
||||
@@ -52,11 +61,10 @@ public class SysUnitMangeController {
|
||||
private SysUnitClassService sysUnitClassService;
|
||||
|
||||
@Inject
|
||||
private SysDqService sysDqService;
|
||||
private SysUserService sysUserService;
|
||||
|
||||
@Inject
|
||||
private SysGxService sysGxService;
|
||||
|
||||
private Dao dao;
|
||||
|
||||
@At("")
|
||||
@Ok("beetl:/platform/sys/unit/unitMange.html")
|
||||
@@ -68,6 +76,7 @@ public class SysUnitMangeController {
|
||||
// 单位数据更新
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object dataUpdate() {
|
||||
// 从系统数据库中查询已有的单位
|
||||
List<Sys_unit> sys_units = sysUnitService.query();
|
||||
@@ -75,7 +84,7 @@ public class SysUnitMangeController {
|
||||
// Map<String, String> map = sys_units.stream().collect(Collectors.toMap(sys_unit -> sys_unit.getId(), sys_unit -> sys_unit.getParentId()));
|
||||
List<String> list = sys_units.stream().map(v -> v.getId()).collect(Collectors.toList());
|
||||
// 从源数据中心拉取所有的单位
|
||||
List<Sys_unit> units = SourceData.units();
|
||||
/* List<Sys_unit> units = SourceData.units();
|
||||
for (Sys_unit unit : units) {
|
||||
if (list.contains(unit.getId())) { // 包含就修改
|
||||
sysUnitService.updateIgnoreNull(unit);
|
||||
@@ -84,7 +93,7 @@ public class SysUnitMangeController {
|
||||
beanMap.remove("child");
|
||||
sysUnitService.insert("sys_unit", Chain.from(beanMap));
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
List<Sys_unit> query = sysUnitService.query();
|
||||
query.forEach(v -> {
|
||||
@@ -98,8 +107,16 @@ public class SysUnitMangeController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 单位页面数据
|
||||
*
|
||||
* @param parentId 父id
|
||||
* @param pageForm 页面形式
|
||||
* @return {@link Object}
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object pageData(String parentId, PageForm pageForm) {
|
||||
CndPlus cnd = CndPlus.create();
|
||||
cnd.andExcludeEmpty("parentId", "=", parentId);
|
||||
@@ -108,39 +125,62 @@ public class SysUnitMangeController {
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findOne(String id) {
|
||||
return sysUnitService.fetch(id);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doAdd(Sys_unit sys_unit) {
|
||||
sys_unit.setId(sys_unit.getUnitcode());
|
||||
if (sysUnitService.count(Cnd.where("unitcode", "=", sys_unit.getUnitcode())) > 0) {
|
||||
return Result.error("单位代码已存在");
|
||||
}
|
||||
sysUnitService.update(Chain.make("hasChildren", true), Cnd.where("id", "=", sys_unit.getParentId()));
|
||||
sysUnitService.insert(sys_unit);
|
||||
|
||||
//添加承办单位
|
||||
ProposalUndertake proposalUndertake = new ProposalUndertake();
|
||||
proposalUndertake.setIsEnable(true);
|
||||
proposalUndertake.setUnitName(sys_unit.getName());
|
||||
proposalUndertake.setUnitCode(sys_unit.getUnitcode());
|
||||
dao.insert(proposalUndertake);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doEdit(Sys_unit sys_unit) {
|
||||
if (sysUnitService.count(Cnd.where("unitcode", "=", sys_unit.getUnitcode()).and("id", "!=", sys_unit.getId())) > 0) {
|
||||
return Result.error("单位代码已存在");
|
||||
}
|
||||
sys_unit.setOpAt(String.valueOf(System.currentTimeMillis()));
|
||||
sysUnitService.update(sys_unit);
|
||||
|
||||
//更新承办单位
|
||||
dao.update(ProposalUndertake.class, Chain.make("unitName", sys_unit.getName()), Cnd.where("unitCode", "=", sys_unit.getUnitcode()));
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doDelete(String id) {
|
||||
Sys_unit unit = sysUnitService.fetch(id);
|
||||
int count = sysUnitService.count(Cnd.where("parentId", "=", unit.getParentId()).and("id", "!=", id));
|
||||
sysUnitService.update(Chain.make("hasChildren", count > 0), Cnd.where("id", "=", unit.getParentId()));
|
||||
delete(id);
|
||||
|
||||
//删除承办单位
|
||||
dao.clear(ProposalUndertake.class, Cnd.where("unitCode", "=", unit.getUnitcode()));
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -160,11 +200,12 @@ public class SysUnitMangeController {
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object getUnitTreeData() {
|
||||
try {
|
||||
List list = new ArrayList();
|
||||
|
||||
Sys_unit school = sysUnitService.fetch(Cnd.NEW());
|
||||
Sys_unit school = sysUnitService.fetch("00000");
|
||||
school.setChild(child(school.getId()));
|
||||
|
||||
list.add(school);
|
||||
@@ -182,7 +223,7 @@ public class SysUnitMangeController {
|
||||
private List<Sys_unit> child(String parentId) {
|
||||
List<Sys_unit> units = sysUnitService.query(Cnd.where("parentId", "=", parentId));
|
||||
|
||||
asyncService.exe2(units, unit -> {
|
||||
units.forEach(unit -> {
|
||||
unit.setChild(child(unit.getId()));
|
||||
});
|
||||
|
||||
@@ -192,6 +233,7 @@ public class SysUnitMangeController {
|
||||
|
||||
@At
|
||||
@Ok("json")
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object getUnit2() {
|
||||
try {
|
||||
return Result.success().addData(sysUnitService.query(Cnd.where("unitlevel", "=", 2).asc("location")));
|
||||
@@ -200,43 +242,307 @@ public class SysUnitMangeController {
|
||||
}
|
||||
}
|
||||
|
||||
@Inject
|
||||
private SysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 查找单位下的用户
|
||||
*
|
||||
* @param pageForm 页面形式
|
||||
* @param unitId 单位id
|
||||
* @param threeUnitId 三个单元id
|
||||
* @return {@link Object}
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
public Object findPersonByUnitId(PageForm pageForm, String unitId) {
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findPersonByUnitId(PageForm pageForm, @Param(value = "unitId", required = false) String unitId, @Param(value = "threeUnitId", required = false) String threeUnitId) {
|
||||
NutMap map = new NutMap();
|
||||
|
||||
CndPlus cndPlus = CndPlus.create();
|
||||
cndPlus.andExcludeEmpty("unitid", "=", unitId);
|
||||
Sql userSql = Sqls.create("""
|
||||
select
|
||||
u.id,
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile,
|
||||
u.member,
|
||||
IFNULL( r.NAME, '普通用户' ) AS roleName,
|
||||
r.code as roleCode
|
||||
from `user` u
|
||||
LEFT JOIN sys_user_role sur on sur.userId = u.id and sur.roleId = @roleId
|
||||
LEFT JOIN sys_role r on r.id = sur.roleId
|
||||
$condition
|
||||
""");
|
||||
userSql.setParam("roleId", Roles.UNIT_MANGER);
|
||||
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.groupBy("u.id");
|
||||
cnd.andEX("u.unitid", "=", unitId);
|
||||
cnd.andEX("u.threeUnitId", "=", threeUnitId);
|
||||
|
||||
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cndPlus.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
cnd.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
}
|
||||
cndPlus.asc("member");
|
||||
cnd.desc("r.code");
|
||||
cnd.asc("member");
|
||||
userSql.setCondition(cnd);
|
||||
map.setv("userList", sysUserService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), userSql));
|
||||
|
||||
// Sql sql = Sqls.create("""
|
||||
// SELECT
|
||||
// su.*
|
||||
// FROM
|
||||
// sys_user su
|
||||
// LEFT JOIN sys_user_role sur ON sur.userId = su.id
|
||||
// $condition
|
||||
// """);
|
||||
//
|
||||
// Cnd cnd2 = Cnd.NEW();
|
||||
// cnd2.andEX("sur.roleId", "=", Roles.UNIT_MANGER);
|
||||
// cnd2.andEX("su.unitid", "=", unitId);
|
||||
// cnd.andEX("threeUnitId", "=", threeUnitId);
|
||||
// if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
// cnd2.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
// }
|
||||
// sql.setCondition(cnd2);
|
||||
// map.setv("principal", sysUserService.listMap(sql));
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 找到提议人由单位id
|
||||
*
|
||||
* @param pageForm 页面形式
|
||||
* @param unitId 单位id
|
||||
* @param type 类型 1.校领导 2.答复人
|
||||
* @return {@link Object}
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findProposalPersonByUnitId(PageForm pageForm, @Param(value = "unitId", required = false) String unitId, Integer type) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
su.*
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile
|
||||
FROM
|
||||
sys_user_role sur
|
||||
LEFT JOIN proposal_undertake pu ON pu.id = sur.cbdwid
|
||||
AND sur.roleId = @roleId
|
||||
left join sys_user u on u.id = sur.userId
|
||||
where pu.unitCode = @unitId
|
||||
""");
|
||||
sql.setParam("roleId", type == 1 ? Roles.IN_CHARGE_LEADER : Roles.CONTRACTOR_PERSON);
|
||||
sql.setParam("unitId", unitId);
|
||||
return sysUnitService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询管理员和公众用户
|
||||
*
|
||||
* @param unitId 单位id
|
||||
* @param type 类型 1.校领导 2.答复人
|
||||
* @return {@link Object}
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findProposalAdminAndPublicUser(@Param(value = "unitId", required = false) String unitId, Integer type) {
|
||||
ProposalConfig config = sysUnitService.dao().fetch(ProposalConfig.class);
|
||||
String schoolLeaderUnitCode = config.getSchoolLeaderUnitCode();
|
||||
|
||||
Sql publicUserSql = Sqls.create("""
|
||||
SELECT
|
||||
su.id,
|
||||
CONCAT( su.username, '(', su.loginname, ')', '- ', un.`name` ) `name`
|
||||
FROM
|
||||
sys_user su
|
||||
LEFT JOIN sys_unit un ON un.id = su.unitid
|
||||
WHERE
|
||||
su.unitid = @unitId
|
||||
""").setParam("unitId", type == 1 ? schoolLeaderUnitCode : unitId);
|
||||
List<NutMap> publicUsers = sysUnitService.listMap(publicUserSql);
|
||||
|
||||
|
||||
Sql adminUserSql = Sqls.create("""
|
||||
SELECT
|
||||
su.id,
|
||||
su.username
|
||||
FROM
|
||||
sys_user su
|
||||
LEFT JOIN sys_user_role sur ON sur.userId = su.id
|
||||
$condition
|
||||
LEFT JOIN proposal_undertake pun ON pun.id = sur.cbdwid
|
||||
$condition
|
||||
""");
|
||||
Cnd adminCnd = Cnd.NEW();
|
||||
// adminCnd.andEX("sur.cbdwid", "=", unitId);
|
||||
adminCnd.andEX("pun.unitCode", "=", unitId);
|
||||
adminCnd.andEX("sur.roleId", "=", type == 1 ? Roles.IN_CHARGE_LEADER : Roles.CONTRACTOR_PERSON);
|
||||
adminUserSql.setCondition(adminCnd);
|
||||
List<NutMap> adminUsers = sysUnitService.listMap(adminUserSql);
|
||||
|
||||
CndPlus cndPlus2 = CndPlus.create();
|
||||
cndPlus2.andExcludeEmpty("sur.roleId", "=", Roles.UNIT_MANGER);
|
||||
cndPlus2.andExcludeEmpty("su.unitid", "=", unitId);
|
||||
if (Strings.isNotBlank(pageForm.getSearchName()) && Strings.isNotBlank(pageForm.getSearchKeyword())) {
|
||||
cndPlus2.where().andLike(pageForm.getSearchName(), pageForm.getSearchKeyword());
|
||||
return Result.success(Map.of("publicUsers", publicUsers, "adminUsers", adminUsers));
|
||||
}
|
||||
|
||||
/**
|
||||
* 做管理用户设置建议
|
||||
*
|
||||
* @param userIds 用户id
|
||||
* @param unitId 单位id
|
||||
* @param type 类型 1.校领导 2.答复人
|
||||
* @return {@link Object}
|
||||
*/
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object doSetProposalAdminUser(@Param(value = "userIds", required = false) String[] userIds, @Param(value = "unitId", required = false) String unitId, Integer type) {
|
||||
String roleId = type == 1 ? Roles.IN_CHARGE_LEADER : Roles.CONTRACTOR_PERSON;
|
||||
//清除此单位的角色
|
||||
dao.clear(Sys_user_role.class, Cnd.where("roleId", "=", roleId).and("unitId", "=", unitId));
|
||||
ProposalUndertake proposalUndertake = dao.fetch(ProposalUndertake.class, Cnd.where("unitCode", "=", unitId));
|
||||
if (Lang.isNotEmpty(proposalUndertake)) {
|
||||
dao.clear(Sys_user_role.class, Cnd.where("cbdwid", "=", proposalUndertake.getId()).and("roleId", "=", roleId));
|
||||
}
|
||||
|
||||
sql.setCondition(cndPlus2);
|
||||
List<Sys_user_role> insertUserRoles = Arrays.stream(userIds).map(v -> {
|
||||
Sys_user_role sysUserRole = new Sys_user_role();
|
||||
sysUserRole.setUserId(v);
|
||||
sysUserRole.setRoleId(roleId);
|
||||
sysUserRole.setCbdwid(proposalUndertake.getId());
|
||||
return sysUserRole;
|
||||
}).collect(Collectors.toList());
|
||||
dao.insert(insertUserRoles);
|
||||
|
||||
map.setv("userList", sysUserService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), cndPlus));
|
||||
map.setv("principal", sysUserService.listMap(sql));
|
||||
//增加负责人角色
|
||||
if (type == 2) {
|
||||
List<Sys_user_role> roles = Arrays.stream(userIds).map(v -> {
|
||||
Sys_user_role sysUserRole = new Sys_user_role();
|
||||
sysUserRole.setUserId(v);
|
||||
sysUserRole.setRoleId(Roles.UNIT_MANGER);
|
||||
sysUserRole.setUnitid(unitId);
|
||||
return sysUserRole;
|
||||
}).collect(Collectors.toList());
|
||||
dao.insert(roles);
|
||||
}
|
||||
|
||||
return map;
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findChargeUnits(@Param(value = "unitId", required = false) String unitId, String userId) {
|
||||
List<Sys_unit> units = dao.query(Sys_unit.class, Cnd.where("unitlevel", "=", 2));
|
||||
|
||||
Sql chargeUnitSql = Sqls.create("""
|
||||
SELECT
|
||||
n.id
|
||||
FROM
|
||||
sys_user_role sur
|
||||
LEFT JOIN proposal_undertake pu ON pu.id = sur.cbdwid
|
||||
LEFT JOIN sys_unit n on n.id = pu.unitCode
|
||||
WHERE
|
||||
sur.roleId = @roleId
|
||||
AND sur.userId = @userId
|
||||
""");
|
||||
chargeUnitSql.setParam("roleId", Roles.IN_CHARGE_LEADER);
|
||||
chargeUnitSql.setParam("userId", userId);
|
||||
String[] chargeUnits = (String[]) Daos.query(dao, chargeUnitSql.toString(), Sqls.callback.strs());
|
||||
|
||||
return Result.success(Map.of("allUnits", units, "chargeUnits", chargeUnits));
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
@Aop(TransAop.READ_COMMITTED)
|
||||
public Object doSetChargeUnit(String userId, @Param("chargeUnits") String[] chargeUnits) {
|
||||
dao.clear(Sys_user_role.class, Cnd.where("userId", "=", userId).and("roleId", "=", Roles.IN_CHARGE_LEADER));
|
||||
|
||||
if (Lang.isNotEmpty(chargeUnits)) {
|
||||
List<ProposalUndertake> undertakes = dao.query(ProposalUndertake.class, Cnd.where("unitCode", "in", chargeUnits));
|
||||
List<Sys_user_role> userRoles = new ArrayList<>();
|
||||
for (ProposalUndertake undertake : undertakes) {
|
||||
Sys_user_role sysUserRole = new Sys_user_role();
|
||||
sysUserRole.setUserId(userId);
|
||||
sysUserRole.setRoleId(Roles.IN_CHARGE_LEADER);
|
||||
sysUserRole.setCbdwid(undertake.getId());
|
||||
userRoles.add(sysUserRole);
|
||||
}
|
||||
dao.insert(userRoles);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object findOtherRoleUsers(String unitId, String type) {
|
||||
Sql leftSql = Sqls.create("select id,username,loginname from sys_user where unitId = @unitId");
|
||||
leftSql.setParam("unitId", unitId);
|
||||
List<NutMap> leftUsers = sysUnitService.listMap(leftSql);
|
||||
|
||||
Sql rightSql = Sqls.create("""
|
||||
SELECT
|
||||
u.id
|
||||
FROM
|
||||
sys_user_role sur
|
||||
LEFT JOIN sys_user u ON u.id = sur.userId
|
||||
WHERE
|
||||
u.unitId = @unitId
|
||||
AND sur.roleId = @roleId
|
||||
""");
|
||||
rightSql.setParam("unitId", unitId);
|
||||
rightSql.setParam("roleId", getOtherRoleByType(type));
|
||||
String[] rightUsers = (String[]) Daos.query(dao, rightSql.toString(), Sqls.callback.strs());
|
||||
return Result.success(Map.of("leftUsers", leftUsers, "rightUsers", rightUsers));
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object otherRoleUserPageData(PageForm pageForm, String unitId, String type) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
u.username,
|
||||
u.loginname,
|
||||
u.sex,
|
||||
u.mobile
|
||||
FROM
|
||||
sys_user_role sur
|
||||
left join sys_user u on u.id = sur.userId
|
||||
WHERE
|
||||
u.unitId = @unitId
|
||||
AND sur.roleId = @roleId
|
||||
""");
|
||||
sql.setParam("roleId", getOtherRoleByType(type));
|
||||
sql.setParam("unitId", unitId);
|
||||
return sysUnitService.listPageMap(pageForm.getPageNumber(), pageForm.getPageSize(), sql);
|
||||
}
|
||||
|
||||
@At
|
||||
@ViReturn
|
||||
@RequiresPermissions("sys.manager.unit")
|
||||
public Object doSetOtherRoleUser(String unitId, @Param(value = "users", required = false) String[] users, String type) {
|
||||
String roleId = getOtherRoleByType(type);
|
||||
dao.clear(Sys_user_role.class, Cnd.where("unitId", "=", unitId).and("roleId", "=", roleId));
|
||||
|
||||
List<Sys_user_role> userRoles = new ArrayList<>();
|
||||
for (String user : users) {
|
||||
Sys_user_role userRole = new Sys_user_role();
|
||||
userRole.setUserId(user);
|
||||
userRole.setUnitid(unitId);
|
||||
userRole.setRoleId(roleId);
|
||||
userRoles.add(userRole);
|
||||
}
|
||||
dao.insert(userRoles);
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String getOtherRoleByType(String type) {
|
||||
if (type.equals("unitDwsj")) {
|
||||
return Roles.GH03;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,6 +123,10 @@ module.exports = {
|
||||
this.viewData = resp.data
|
||||
this.organizationAudit = resp.data.organizationAudit
|
||||
this.schoolAudit = resp.data.schoolAudit
|
||||
} else {
|
||||
this.viewData = {}
|
||||
this.organizationAudit = {}
|
||||
this.schoolAudit = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -68,6 +68,10 @@ layout("/layouts/platform.html"){
|
||||
<el-form-item class="is-required" label="基层工会简况"
|
||||
prop="basicInformation">
|
||||
<text-editor v-model="formData.basicInformation"></text-editor>
|
||||
<div style="text-align: right">
|
||||
<span style="color: #0a84ff">当前字数:{{ formData.basicInformation ? (dd3s.html2txt(formData.basicInformation).length) : 0 }}</span>
|
||||
<span>{{ ';最多500字' }}</span>
|
||||
</div>
|
||||
<!-- <el-input type="textarea" v-model="formData.basicInformation" maxlength="500" show-word-limit :rows="10"></el-input>-->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -70,7 +70,7 @@ layout("/layouts/platform.html"){
|
||||
</el-table-column>
|
||||
<el-table-column align="center" header-align="center" label="操作" fixed="right" width="150px">
|
||||
<template scope="{row}">
|
||||
<el-button @click="openView(row)" v-if="![8120].includes(row.state) && row.state" size="mini" type="primary">查看</el-button>
|
||||
<el-button @click="openView(row)" size="mini" type="primary">查看</el-button>
|
||||
<el-button @click="openAudit(row)" v-if="[8120].includes(row.state) || !row.state" size="mini" type="primary">审核</el-button>
|
||||
<el-button @click="doRollBack(row.id)" v-if="[8125,8130].includes(row.state) || !row.state" size="mini" type="danger">撤回</el-button>
|
||||
</template>
|
||||
|
||||
@@ -81,8 +81,12 @@ layout("/layouts/platform.html"){
|
||||
width="240px" fixed="right">
|
||||
<template scope="{row}">
|
||||
<el-button size="mini" @click="openView(row)">查看</el-button>
|
||||
<el-tooltip :content="canDownload ? ('导出【'+ row.unionName +'】管理员自我评议的评议结果') : ('导出【'+ row.unionName +'】下所有评议结果的压缩包') " placement="top">
|
||||
<el-button v-if="canDownload" size="mini" type="primary" @click="doDownLoad(row,canDownload)">导出</el-button>
|
||||
<el-tooltip
|
||||
:content="canDownload ? ('导出【'+ row.unionName +'】管理员自我评议的评议结果') : ('导出【'+ row.unionName +'】下所有评议结果的压缩包') "
|
||||
placement="top">
|
||||
<el-button v-if="canDownload" size="mini" type="primary"
|
||||
@click="doDownLoad(row,canDownload)">导出
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
<el-button size="mini" type="primary" @click="downloadFilesByUnion(row)">导出附件</el-button>
|
||||
</template>
|
||||
@@ -155,9 +159,10 @@ layout("/layouts/platform.html"){
|
||||
<el-table-column prop="userOnline" align="center" header-align="center"
|
||||
label="操作" width="240px" fixed="right">
|
||||
<template scope="{row}">
|
||||
<el-button plain size="mini" @click="openUserView(row)">查看</el-button>
|
||||
<el-button plain size="mini" type="primary" @click="downloadByPeoId(row)">导出</el-button>
|
||||
<el-button plain size="mini" type="primary" @click="downloadFilesByPeoId(row)">导出附件</el-button>
|
||||
<el-button size="mini" @click="openUserView(row)">查看</el-button>
|
||||
<el-button size="mini" type="primary" @click="downloadByPeoId(row)">导出</el-button>
|
||||
<el-button size="mini" type="primary" @click="downloadFilesByPeoId(row)">导出附件
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -237,7 +242,7 @@ layout("/layouts/platform.html"){
|
||||
'wakes-home-review': httpVueLoader('/components/wakeshome/review/ReviewResult.vue?v=' + moment(new Date()).unix()),
|
||||
},
|
||||
methods: {
|
||||
doDownLoad(row,flag){
|
||||
doDownLoad(row, flag) {
|
||||
if (flag) {
|
||||
// 为true,自我评议
|
||||
window.open(loc() + '/doDownLoadSingleByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id)
|
||||
@@ -246,15 +251,37 @@ layout("/layouts/platform.html"){
|
||||
window.open(loc() + '/doDownLoadZipByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id)
|
||||
}
|
||||
},
|
||||
downloadFilesByUnion(row){
|
||||
downloadFilesByUnion(row) {
|
||||
const result = this.validateHasFiles({unionId: row.id, zbId: this.pageForm.zbId})
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/exportFilesByUnionId?zbId=' + this.pageForm.zbId + '&unionId=' + row.id)
|
||||
},
|
||||
downloadByPeoId(row){
|
||||
downloadByPeoId(row) {
|
||||
window.open(loc() + '/exportByPeoId?peoId=' + row.id)
|
||||
},
|
||||
downloadFilesByPeoId(){
|
||||
downloadFilesByPeoId(row) {
|
||||
const result = this.validateHasFiles({peoId: row.id})
|
||||
if (!result) {
|
||||
return
|
||||
}
|
||||
window.open(loc() + '/exportFilesByPeoId?peoId=' + row.id)
|
||||
},
|
||||
validateHasFiles(data) {
|
||||
$.post('/platform/wakeshome/review/statistics/validateHasFiles', {
|
||||
peoId: data.peoId ? data.peoId : '',
|
||||
zbId: data.zbId ? data.zbId : '',
|
||||
unionId: data.unionId ? data.unionId : ''
|
||||
}).then(res => {
|
||||
if (res.code === 0) {
|
||||
return true
|
||||
} else {
|
||||
this.$message.warning("未上传附件,无法导出")
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
async getReviewResultNum(row) {
|
||||
const res = await $.post(loc() + "/getReviewResultNum", {
|
||||
zbId: this.userPageForm.zbId,
|
||||
@@ -318,8 +345,8 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
computed: {
|
||||
canDownload() {
|
||||
const data = this.zbList.find(v=> v.id === this.pageForm.zbId)
|
||||
return data.commentTarget===3 && data.unionIds && data.unionIds.length > 0
|
||||
const data = this.zbList.find(v => v.id === this.pageForm.zbId)
|
||||
return data.commentTarget === 3 && data.unionIds && data.unionIds.length > 0
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
|
||||
Reference in New Issue
Block a user