commit
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.budwk.app.flow.handler;
|
package com.budwk.app.flow.handler;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.flow.engine.AssignmentHandler;
|
import com.budwk.app.flow.engine.AssignmentHandler;
|
||||||
import com.budwk.app.flow.engine.core.Execution;
|
import com.budwk.app.flow.engine.core.Execution;
|
||||||
@@ -24,6 +25,10 @@ public class FlowUnitManagerHandler implements AssignmentHandler {
|
|||||||
@Override
|
@Override
|
||||||
public List<String> assign(TaskModel model, Execution execution) {
|
public List<String> assign(TaskModel model, Execution execution) {
|
||||||
String unitId = SecurityUtil.getUnitId();
|
String unitId = SecurityUtil.getUnitId();
|
||||||
|
String argsUnitId = execution.getArgs().getStr("argsUnitId");
|
||||||
|
if (StrUtil.isNotBlank(argsUnitId)){
|
||||||
|
unitId = argsUnitId;
|
||||||
|
}
|
||||||
|
|
||||||
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
SysRoleService sysRoleService = ServiceContext.find(SysRoleService.class);
|
||||||
Sys_role role = sysRoleService.getByCode(RoleConstant.UNIT_MANAGER);
|
Sys_role role = sysRoleService.getByCode(RoleConstant.UNIT_MANAGER);
|
||||||
@@ -42,7 +47,7 @@ public class FlowUnitManagerHandler implements AssignmentHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
return "获取当前登录用户所在单位负责人";
|
return "获取当前登录用户所在单位负责人(如果argsUnitId存在则查询argsUnitId单位的单位负责人)";
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getOrder() {
|
public int getOrder() {
|
||||||
|
|||||||
+2
-2
@@ -140,7 +140,7 @@ public class ExecutiveCommitteePushController {
|
|||||||
|
|
||||||
ExecutiveCommitteeConfig config = dao.fetch(ExecutiveCommitteeConfig.class,
|
ExecutiveCommitteeConfig config = dao.fetch(ExecutiveCommitteeConfig.class,
|
||||||
Cnd.where("teacherMeetId", "=", teacherMeetId));
|
Cnd.where("teacherMeetId", "=", teacherMeetId));
|
||||||
/* if (ObjectUtil.isEmpty(config)) {
|
if (ObjectUtil.isEmpty(config)) {
|
||||||
return Result.error("请先配置基础信息");
|
return Result.error("请先配置基础信息");
|
||||||
}
|
}
|
||||||
if (config.getFirstStartTime().getTime() > System.currentTimeMillis()) {
|
if (config.getFirstStartTime().getTime() > System.currentTimeMillis()) {
|
||||||
@@ -148,7 +148,7 @@ public class ExecutiveCommitteePushController {
|
|||||||
}
|
}
|
||||||
if (config.getFirstEndTime().getTime() < System.currentTimeMillis()) {
|
if (config.getFirstEndTime().getTime() < System.currentTimeMillis()) {
|
||||||
return Result.error("一次预选已结束");
|
return Result.error("一次预选已结束");
|
||||||
}*/
|
}
|
||||||
|
|
||||||
int dbCount = dao.count(ExecutiveCommitteeOnePush.class,
|
int dbCount = dao.count(ExecutiveCommitteeOnePush.class,
|
||||||
Cnd.where("teacherMeetId", "=", teacherMeetId)
|
Cnd.where("teacherMeetId", "=", teacherMeetId)
|
||||||
|
|||||||
+3
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.budwk.app.zhgh.democratic.grassrootscongress.controller.material;
|
package com.budwk.app.zhgh.democratic.grassrootscongress.controller.material;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
@@ -76,7 +77,8 @@ public class GrassrootsCongressMaterialApprovalController {
|
|||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.and("t.taskName", "=", "zlsh");
|
cnd.and("t.taskName", "=", "zlsh");
|
||||||
|
|
||||||
if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())){
|
if (!StpUtil.hasRole(RoleConstant.SYSADMIN.name()) &&
|
||||||
|
!StpUtil.hasRole(RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.budwk.app.zhgh.democratic.grassrootscongress.controller.meeting;
|
package com.budwk.app.zhgh.democratic.grassrootscongress.controller.meeting;
|
||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.base.page.Pagination;
|
import com.budwk.app.base.page.Pagination;
|
||||||
@@ -76,7 +77,8 @@ public class GrassrootsCongressMeetingApprovalController {
|
|||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.and("t.taskName", "=", "8384aafd-3cdb-49ab-a11f-c5d145b1672c");
|
cnd.and("t.taskName", "=", "8384aafd-3cdb-49ab-a11f-c5d145b1672c");
|
||||||
|
|
||||||
if(!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())){
|
if (!StpUtil.hasRole(RoleConstant.SYSADMIN.name()) &&
|
||||||
|
!StpUtil.hasRole(RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
@@ -66,6 +66,7 @@ public class ProposalSecondedController {
|
|||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
us.unionName,
|
us.unionName,
|
||||||
|
us.unitId,
|
||||||
info.*,
|
info.*,
|
||||||
type.name AS typeName,
|
type.name AS typeName,
|
||||||
tcs.fullName AS sessionName,
|
tcs.fullName AS sessionName,
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ public class ProposalMasterUnitAssignmentHandler implements AssignmentHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取负责人
|
// 获取负责人
|
||||||
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.PROPOSAL_UNIT_LEADER);
|
Sys_role sysRole = sysRoleService.getByCode(RoleConstant.UNIT_MANAGER);
|
||||||
|
|
||||||
List<Sys_user_role> sysUserRoles = dao.query(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnderTakeId, "=", undertake.getId()));
|
List<Sys_user_role> sysUserRoles = dao.query(Sys_user_role.class, Cnd.where(Sys_user_role::getRoleId, "=", sysRole.getId()).and(Sys_user_role::getUnderTakeId, "=", undertake.getId()));
|
||||||
List<String> selectUserIds = sysUserRoles.stream().map(Sys_user_role::getUserId).toList();
|
List<String> selectUserIds = sysUserRoles.stream().map(Sys_user_role::getUserId).toList();
|
||||||
|
|||||||
+24
-1
@@ -177,6 +177,7 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
info.code,
|
info.code,
|
||||||
info.brief,
|
info.brief,
|
||||||
info.measures,
|
info.measures,
|
||||||
|
info.researchFindings,
|
||||||
info.createUserName,
|
info.createUserName,
|
||||||
DATE_FORMAT(info.createTime, '%Y年%m月%d日') AS createTime,
|
DATE_FORMAT(info.createTime, '%Y年%m月%d日') AS createTime,
|
||||||
info.unitName,
|
info.unitName,
|
||||||
@@ -199,6 +200,8 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
//处理下富文本
|
//处理下富文本
|
||||||
String brief = docData.getString("brief");
|
String brief = docData.getString("brief");
|
||||||
String measures = docData.getString("measures");
|
String measures = docData.getString("measures");
|
||||||
|
String researchFindings = docData.getString("researchFindings");
|
||||||
|
docData.put("researchFindings", sysOfficeTemplateUtil.convertRichTextToDocText(researchFindings));
|
||||||
docData.put("brief", sysOfficeTemplateUtil.convertRichTextToDocText(brief));
|
docData.put("brief", sysOfficeTemplateUtil.convertRichTextToDocText(brief));
|
||||||
docData.put("measures", sysOfficeTemplateUtil.convertRichTextToDocText(measures));
|
docData.put("measures", sysOfficeTemplateUtil.convertRichTextToDocText(measures));
|
||||||
|
|
||||||
@@ -218,8 +221,27 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
|
|
||||||
// 按任务节点分组
|
// 按任务节点分组
|
||||||
Map<String, List<ProcessTaskVO>> taskGroups = doneTaskVos.stream().collect(Collectors.groupingBy(ProcessTaskVO::getDisplayName));
|
Map<String, List<ProcessTaskVO>> taskGroups = doneTaskVos.stream().collect(Collectors.groupingBy(ProcessTaskVO::getDisplayName));
|
||||||
docData.putAll(taskGroups);
|
|
||||||
|
|
||||||
|
|
||||||
|
Optional<List<ProcessTaskVO>> optionalList = taskGroups.entrySet().stream()
|
||||||
|
.filter(entry -> entry.getKey().contains("党委书记审核"))
|
||||||
|
.map(Map.Entry::getValue)
|
||||||
|
.findFirst();
|
||||||
|
|
||||||
|
if (optionalList.isPresent()) {
|
||||||
|
List<ProcessTaskVO> tasks = optionalList.get();
|
||||||
|
docData.put("auditName","党委书记审核");
|
||||||
|
taskGroups.put("auditInfo",tasks);
|
||||||
|
}else{
|
||||||
|
Optional<List<ProcessTaskVO>> optionalList2 = taskGroups.entrySet().stream()
|
||||||
|
.filter(entry -> entry.getKey().contains("单位负责人审核"))
|
||||||
|
.map(Map.Entry::getValue)
|
||||||
|
.findFirst();
|
||||||
|
List<ProcessTaskVO> tasks = optionalList2.get();
|
||||||
|
docData.put("auditName","单位负责人审核");
|
||||||
|
taskGroups.put("auditInfo",tasks);
|
||||||
|
}
|
||||||
|
docData.putAll(taskGroups);
|
||||||
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
||||||
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
|
||||||
htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true);
|
htmlRenderPolicy.getConfig().setShowDefaultTableBorderInTableCell(true);
|
||||||
@@ -227,6 +249,7 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
Configure config = Configure.builder()
|
Configure config = Configure.builder()
|
||||||
.bind("seconders", policy)
|
.bind("seconders", policy)
|
||||||
.bind("提案附议", policy)
|
.bind("提案附议", policy)
|
||||||
|
.bind("researchFindings", htmlRenderPolicy)
|
||||||
.bind("brief", htmlRenderPolicy)
|
.bind("brief", htmlRenderPolicy)
|
||||||
.bind("measures", htmlRenderPolicy)
|
.bind("measures", htmlRenderPolicy)
|
||||||
.bind("taskFormData.tf_opinion", htmlRenderPolicy)
|
.bind("taskFormData.tf_opinion", htmlRenderPolicy)
|
||||||
|
|||||||
+42
-12
@@ -41,10 +41,7 @@ import org.nutz.lang.util.NutMap;
|
|||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
@@ -193,8 +190,18 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
// 添加序号,去除富文本,获取附议人
|
// 添加序号,去除富文本,获取附议人
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
list.get(i).put("index", i + 1);
|
list.get(i).put("index", i + 1);
|
||||||
list.get(i).put("brief", HtmlUtil.cleanHtmlTag(list.get(i).getString("brief")));
|
if (StrUtil.isNotBlank(list.get(i).getString("researchFindings"))) {
|
||||||
list.get(i).put("measures", HtmlUtil.cleanHtmlTag(list.get(i).getString("measures")));
|
list.get(i).put("researchFindings",
|
||||||
|
HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("researchFindings")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
|
}
|
||||||
|
list.get(i).put("brief", HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("brief")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
|
list.get(i).put("measures", HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("measures")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
list.get(i).put("suggestUnits", list.get(i).getString("suggestUnits").replace("[", "").replace("]", ""));
|
list.get(i).put("suggestUnits", list.get(i).getString("suggestUnits").replace("[", "").replace("]", ""));
|
||||||
|
|
||||||
|
|
||||||
@@ -211,11 +218,16 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
|
|
||||||
if (inviteTask != null) {
|
if (inviteTask != null) {
|
||||||
NutMap variable = Json.fromJson(NutMap.class, inviteTask.getVariable());
|
NutMap variable = Json.fromJson(NutMap.class, inviteTask.getVariable());
|
||||||
|
if (StrUtil.isNotBlank(variable.getString("variable"))) {
|
||||||
List<NutMap> seconders = variable.getAsList(FlowConst.TASK_FORM_DATA_PREFIX + "seconder", NutMap.class);
|
List<NutMap> seconders = variable.getAsList(FlowConst.TASK_FORM_DATA_PREFIX + "seconder", NutMap.class);
|
||||||
list.get(i).put("secondedUserNames", seconders.stream().map(v -> v.getString("userName")).collect(Collectors.joining(",")));
|
list.get(i).put("secondedUserNames", seconders.stream().map(v -> v.getString("userName")).collect(Collectors.joining(",")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
List<Map<String, Object>> safeList = list.stream().map(nutMap -> {
|
||||||
|
Map<String, Object> map = new HashMap<>(nutMap);
|
||||||
|
return map;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
||||||
exportEntities.add(new ExcelExportEntity("序号", "index", 10));
|
exportEntities.add(new ExcelExportEntity("序号", "index", 10));
|
||||||
exportEntities.add(new ExcelExportEntity("提案编号", "code", 20));
|
exportEntities.add(new ExcelExportEntity("提案编号", "code", 20));
|
||||||
@@ -235,7 +247,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
exportParams.setTitle(title);
|
exportParams.setTitle(title);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list);
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, safeList);
|
||||||
CommonDownloadUtil.download(title + ".xlsx", workbook, response);
|
CommonDownloadUtil.download(title + ".xlsx", workbook, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -250,7 +262,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
List<NutMap> list = listMap(sql);
|
List<NutMap> list = listMap(sql);
|
||||||
|
|
||||||
for (NutMap row : list) {
|
for (NutMap row : list) {
|
||||||
String content = HtmlUtil.cleanHtmlTag(StrUtil.blankToDefault(row.getString("masterUnderTakeReply"), ""));
|
String content = HtmlUtil.removeHtmlTag(StrUtil.blankToDefault(row.getString("masterUnderTakeReply"), ""));
|
||||||
row.put("masterUnderTakeReply", content);
|
row.put("masterUnderTakeReply", content);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -421,6 +433,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
|
|
||||||
NutMap info = (NutMap) sql.getResult();
|
NutMap info = (NutMap) sql.getResult();
|
||||||
// 处理富文本内容
|
// 处理富文本内容
|
||||||
|
info.put("researchFindings", sysOfficeTemplateUtil.convertRichTextToDocText(info.getString("researchFindings")));
|
||||||
info.put("brief", sysOfficeTemplateUtil.convertRichTextToDocText(info.getString("brief")));
|
info.put("brief", sysOfficeTemplateUtil.convertRichTextToDocText(info.getString("brief")));
|
||||||
info.put("measures", sysOfficeTemplateUtil.convertRichTextToDocText(info.getString("measures")));
|
info.put("measures", sysOfficeTemplateUtil.convertRichTextToDocText(info.getString("measures")));
|
||||||
|
|
||||||
@@ -478,6 +491,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
.bind("seconders", policy)
|
.bind("seconders", policy)
|
||||||
.bind("brief", htmlRenderPolicy)
|
.bind("brief", htmlRenderPolicy)
|
||||||
.bind("measures", htmlRenderPolicy)
|
.bind("measures", htmlRenderPolicy)
|
||||||
|
.bind("researchFindings", htmlRenderPolicy)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -541,6 +555,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
info.name,
|
info.name,
|
||||||
info.code,
|
info.code,
|
||||||
info.researchFindings,
|
info.researchFindings,
|
||||||
|
info.suggestUnits,
|
||||||
info.brief,
|
info.brief,
|
||||||
info.measures,
|
info.measures,
|
||||||
info.createUserName,
|
info.createUserName,
|
||||||
@@ -573,8 +588,18 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
// 添加序号,去除富文本,获取附议人
|
// 添加序号,去除富文本,获取附议人
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
list.get(i).put("index", i + 1);
|
list.get(i).put("index", i + 1);
|
||||||
list.get(i).put("brief", HtmlUtil.cleanHtmlTag(list.get(i).getString("brief")));
|
if (StrUtil.isNotBlank(list.get(i).getString("researchFindings"))) {
|
||||||
list.get(i).put("measures", HtmlUtil.cleanHtmlTag(list.get(i).getString("measures")));
|
list.get(i).put("researchFindings", HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("researchFindings")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
|
}
|
||||||
|
list.get(i).put("brief", HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("brief")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
|
list.get(i).put("measures", HtmlUtil.unescape(HtmlUtil.cleanHtmlTag(list.get(i).getString("measures")))
|
||||||
|
.replaceAll("\\s+", " ")
|
||||||
|
.trim());
|
||||||
|
list.get(i).put("suggestUnits", list.get(i).getString("suggestUnits").replace("[", "").replace("]", ""));
|
||||||
|
|
||||||
// 流程实例
|
// 流程实例
|
||||||
// ProcessInstance instance = dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", list.get(i).getString("id")));
|
// ProcessInstance instance = dao().fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", list.get(i).getString("id")));
|
||||||
@@ -610,6 +635,11 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
row.put("instanceState", processInstanceStateMap.get(row.getString("instanceState")));
|
row.put("instanceState", processInstanceStateMap.get(row.getString("instanceState")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<Map<String, Object>> safeList = list.stream().map(nutMap -> {
|
||||||
|
Map<String, Object> map = new HashMap<>(nutMap);
|
||||||
|
return map;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
List<ExcelExportEntity> exportEntities = new ArrayList<>();
|
||||||
|
|
||||||
for (ExportTableColumns column : tableColumns) {
|
for (ExportTableColumns column : tableColumns) {
|
||||||
@@ -622,7 +652,7 @@ public class ProposalExportServiceImpl extends BaseServiceImpl<ProposalInfo> imp
|
|||||||
ExportParams exportParams = new ExportParams();
|
ExportParams exportParams = new ExportParams();
|
||||||
exportParams.setType(ExcelType.XSSF);
|
exportParams.setType(ExcelType.XSSF);
|
||||||
exportParams.setTitle(title);
|
exportParams.setTitle(title);
|
||||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, list);
|
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, exportEntities, safeList);
|
||||||
CommonDownloadUtil.download(title + ".xlsx", workbook, response);
|
CommonDownloadUtil.download(title + ".xlsx", workbook, response);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-2
@@ -33,6 +33,7 @@ import org.nutz.dao.util.cri.SqlExpressionGroup;
|
|||||||
import org.nutz.ioc.aop.Aop;
|
import org.nutz.ioc.aop.Aop;
|
||||||
import org.nutz.ioc.loader.annotation.Inject;
|
import org.nutz.ioc.loader.annotation.Inject;
|
||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
|
import org.nutz.lang.Lang;
|
||||||
import org.nutz.lang.util.NutMap;
|
import org.nutz.lang.util.NutMap;
|
||||||
import org.nutz.mvc.annotation.At;
|
import org.nutz.mvc.annotation.At;
|
||||||
import org.nutz.mvc.annotation.Ok;
|
import org.nutz.mvc.annotation.Ok;
|
||||||
@@ -40,6 +41,7 @@ import org.nutz.mvc.annotation.POST;
|
|||||||
import org.nutz.mvc.annotation.Param;
|
import org.nutz.mvc.annotation.Param;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -285,6 +287,9 @@ public class TeacherCongressDelegationController {
|
|||||||
}
|
}
|
||||||
if (type.equals("TEACHER_CONGRESS_VICE_DELEGATION_HEAD")){
|
if (type.equals("TEACHER_CONGRESS_VICE_DELEGATION_HEAD")){
|
||||||
List<Record> recordList = dao.query("sys_user_role", Cnd.where("tcSessionId", "=", sessionId).and("tcDelegationId", "=", delegationId).and("roleId", "=", role.getId()));
|
List<Record> recordList = dao.query("sys_user_role", Cnd.where("tcSessionId", "=", sessionId).and("tcDelegationId", "=", delegationId).and("roleId", "=", role.getId()));
|
||||||
|
if (Lang.isEmpty(recordList)) {
|
||||||
|
return Result.success(new ArrayList<>());
|
||||||
|
}
|
||||||
List<String> userIdList = recordList.stream().map(record -> record.getString("userId")).toList();
|
List<String> userIdList = recordList.stream().map(record -> record.getString("userId")).toList();
|
||||||
String userIds = userIdList.stream()
|
String userIds = userIdList.stream()
|
||||||
.map(s -> "'" + s + "'") // 给每个元素加上单引号
|
.map(s -> "'" + s + "'") // 给每个元素加上单引号
|
||||||
@@ -307,7 +312,9 @@ public class TeacherCongressDelegationController {
|
|||||||
}else{
|
}else{
|
||||||
Record record = dao.fetch("sys_user_role", Cnd.where("tcSessionId", "=", sessionId).and("tcDelegationId", "=", delegationId).and("roleId", "=", role.getId()));
|
Record record = dao.fetch("sys_user_role", Cnd.where("tcSessionId", "=", sessionId).and("tcDelegationId", "=", delegationId).and("roleId", "=", role.getId()));
|
||||||
String userId = Optional.ofNullable(record).map(r -> r.getString("userId")).orElse(null);
|
String userId = Optional.ofNullable(record).map(r -> r.getString("userId")).orElse(null);
|
||||||
|
if (Lang.isEmpty(userId)) {
|
||||||
|
return Result.success(new NutMap());
|
||||||
|
}
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
u.id as userId,
|
u.id as userId,
|
||||||
@@ -338,7 +345,7 @@ public class TeacherCongressDelegationController {
|
|||||||
* @param delegationId 代表团ID
|
* @param delegationId 代表团ID
|
||||||
* @param sessionId 届次ID
|
* @param sessionId 届次ID
|
||||||
* @param userId 团长id
|
* @param userId 团长id
|
||||||
* @param viceUserId 副团长id
|
* @param viceUserIds 副团长id
|
||||||
* @param contactUserId 联络人
|
* @param contactUserId 联络人
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1965,7 +1965,7 @@ layout("/layouts/v4/baseLayout.html"){
|
|||||||
<div class="oa-notice-header-icon">
|
<div class="oa-notice-header-icon">
|
||||||
<i class="fa fa-users"></i>
|
<i class="fa fa-users"></i>
|
||||||
</div>
|
</div>
|
||||||
<h2 class="oa-notice-header-title">基层动态</h2>
|
<h2 class="oa-notice-header-title">工会动态</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="oa-grassroots-content">
|
<div class="oa-grassroots-content">
|
||||||
@@ -1988,8 +1988,8 @@ layout("/layouts/v4/baseLayout.html"){
|
|||||||
<div class="oa-empty-state-icon">
|
<div class="oa-empty-state-icon">
|
||||||
<i class="fa fa-users"></i>
|
<i class="fa fa-users"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="oa-empty-state-title">暂无基层动态</div>
|
<div class="oa-empty-state-title">暂无工会动态</div>
|
||||||
<div class="oa-empty-state-desc">当前没有可用的基层动态内容</div>
|
<div class="oa-empty-state-desc">当前没有可用的工会动态内容</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ const jcdt = {
|
|||||||
<div class="jcdt-wrapper">
|
<div class="jcdt-wrapper">
|
||||||
<div class="jcdt-container">
|
<div class="jcdt-container">
|
||||||
<div class="jcdt-title">
|
<div class="jcdt-title">
|
||||||
<span>基层动态</span>
|
<span>工会动态</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="jcdt-content">
|
<div class="jcdt-content">
|
||||||
<div class="jcdt-list">
|
<div class="jcdt-list">
|
||||||
|
|||||||
+10
@@ -148,6 +148,15 @@ layout("/layouts/platform.html"){
|
|||||||
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
<enum-tag :value="row.instanceState" name="ProcessInstanceStateEnum" label_key="message"
|
||||||
size="small"></enum-tag>
|
size="small"></enum-tag>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'researchFindings'" scope="{row}">
|
||||||
|
<span v-html="row.researchFindings"></span>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'brief'" scope="{row}">
|
||||||
|
<span v-html="row.brief"></span>
|
||||||
|
</template>
|
||||||
|
<template v-else-if="column.prop === 'measures'" scope="{row}">
|
||||||
|
<span v-html="row.measures"></span>
|
||||||
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" fixed="right" min-width="200px">
|
<el-table-column label="操作" fixed="right" min-width="200px">
|
||||||
<template scope="{row}">
|
<template scope="{row}">
|
||||||
@@ -201,6 +210,7 @@ layout("/layouts/platform.html"){
|
|||||||
{label: "立案结果", prop: "caseFilingResult"},
|
{label: "立案结果", prop: "caseFilingResult"},
|
||||||
// {label: "立案类型", prop: "caseFilingType"},
|
// {label: "立案类型", prop: "caseFilingType"},
|
||||||
{label: "是否并案", prop: "merge"},
|
{label: "是否并案", prop: "merge"},
|
||||||
|
{label: "调研情况", prop: "researchFindings", visible: false},
|
||||||
{label: "案由", prop: "brief", visible: false},
|
{label: "案由", prop: "brief", visible: false},
|
||||||
{label: "建议措施", prop: "measures", visible: false},
|
{label: "建议措施", prop: "measures", visible: false},
|
||||||
{label: "主办单位", prop: "masterUnitName"},
|
{label: "主办单位", prop: "masterUnitName"},
|
||||||
|
|||||||
+1
@@ -139,6 +139,7 @@ layout("/layouts/platform.html"){
|
|||||||
processTaskId: row.taskId,
|
processTaskId: row.taskId,
|
||||||
taskName: row.curTaskName,
|
taskName: row.curTaskName,
|
||||||
type: type,
|
type: type,
|
||||||
|
argsUnitId: row.unitId,
|
||||||
tf_opinion: "同意该提案"
|
tf_opinion: "同意该提案"
|
||||||
}
|
}
|
||||||
this.$refs.proposalInfoRef.onOpen(row)
|
this.$refs.proposalInfoRef.onOpen(row)
|
||||||
|
|||||||
+1
@@ -143,6 +143,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
processTaskId: row.taskId,
|
processTaskId: row.taskId,
|
||||||
taskName: row.curTaskName,
|
taskName: row.curTaskName,
|
||||||
type: type,
|
type: type,
|
||||||
|
argsUnitId: row.unitId,
|
||||||
tf_opinion: "同意该提案"
|
tf_opinion: "同意该提案"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user