Merge branch 'main' of https://dd3skj.picp.vip/JyuHsin/zhgh_jshvc
This commit is contained in:
@@ -391,6 +391,7 @@ public class ProcessTaskServiceImpl extends BaseServiceImpl<ProcessTask> impleme
|
|||||||
processTask.setTaskState(ProcessTaskStateEnum.DOING.getCode());
|
processTask.setTaskState(ProcessTaskStateEnum.DOING.getCode());
|
||||||
processTask.setTaskType(taskModel.getTaskType().getCode());
|
processTask.setTaskType(taskModel.getTaskType().getCode());
|
||||||
processTask.setProcessInstanceId(execution.getProcessInstanceId());
|
processTask.setProcessInstanceId(execution.getProcessInstanceId());
|
||||||
|
processTask.setH5FormKey(taskModel.getH5form());
|
||||||
|
|
||||||
// 增加是否为第一个任务节点标识
|
// 增加是否为第一个任务节点标识
|
||||||
execution.getArgs().put(FlowConst.IS_FIRST_TASK_NODE, FlowUtil.isFistTaskName(execution.getProcessModel(), taskModel.getName()));
|
execution.getArgs().put(FlowConst.IS_FIRST_TASK_NODE, FlowUtil.isFistTaskName(execution.getProcessModel(), taskModel.getName()));
|
||||||
|
|||||||
+1
@@ -106,6 +106,7 @@ public class ActivityDeclareBranchUnionController {
|
|||||||
|
|
||||||
cnd.and("t.taskName", "=", "54f481d7-3239-4cd2-882d-e1cc18ea86eb");
|
cnd.and("t.taskName", "=", "54f481d7-3239-4cd2-882d-e1cc18ea86eb");
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
|
cnd.andEX("info.applyTime", "=", pageParam.getYear());
|
||||||
|
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
|
|||||||
+1
@@ -100,6 +100,7 @@ public class ActivityDeclareClubPrincipalController {
|
|||||||
cnd.and("t.taskName", "=", "06d5979b-b52f-4df1-8974-087568322cd6");
|
cnd.and("t.taskName", "=", "06d5979b-b52f-4df1-8974-087568322cd6");
|
||||||
|
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
|
cnd.andEX("info.applyTime", "=", pageParam.getYear());
|
||||||
|
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
|
|||||||
+198
-194
@@ -66,225 +66,229 @@ import java.util.*;
|
|||||||
@At("/platform/activityDeclare/mine")
|
@At("/platform/activityDeclare/mine")
|
||||||
public class ActivityDeclareMineController {
|
public class ActivityDeclareMineController {
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private Dao dao;
|
private Dao dao;
|
||||||
@Inject
|
@Inject
|
||||||
private FlowEngine flowEngine;
|
private FlowEngine flowEngine;
|
||||||
@Inject
|
@Inject
|
||||||
private SysOfficeTemplateUtil sysOfficeTemplateUtil;
|
private SysOfficeTemplateUtil sysOfficeTemplateUtil;
|
||||||
@Inject
|
@Inject
|
||||||
private ActivityDeclareService activityDeclareService;
|
private ActivityDeclareService activityDeclareService;
|
||||||
|
|
||||||
@At("")
|
@At("")
|
||||||
@SaCheckPermission("activityDeclare.mine")
|
@SaCheckPermission("activityDeclare.mine")
|
||||||
@Ok("beetl:/platform/zhgh/activity/declarereimbursement/declare/mine/index.html")
|
@Ok("beetl:/platform/zhgh/activity/declarereimbursement/declare/mine/index.html")
|
||||||
public void index() {
|
public void index() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("活动申报,我的申请列表")
|
@ApiOperation("活动申报,我的申请列表")
|
||||||
@SaCheckPermission("activityDeclare.mine")
|
@SaCheckPermission("activityDeclare.mine")
|
||||||
public Result pageData(CommonPageParam pageParam) {
|
public Result pageData(CommonPageParam pageParam) {
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
info.id,
|
info.id,
|
||||||
info.userName,
|
info.userName,
|
||||||
info.mobile,
|
info.mobile,
|
||||||
info.loginName,
|
info.loginName,
|
||||||
info.applyTime,
|
info.applyTime,
|
||||||
info.activityName,
|
info.activityName,
|
||||||
info.activityAddress,
|
info.activityAddress,
|
||||||
info.planStartTime,
|
info.planStartTime,
|
||||||
info.planEndTime,
|
info.planEndTime,
|
||||||
info.declareUnitName,
|
info.declareUnitName,
|
||||||
info.activityType,
|
info.activityType,
|
||||||
info.activityContent,
|
info.activityContent,
|
||||||
info.activityNumber,
|
info.activityNumber,
|
||||||
ins.id AS instanceId,
|
ins.id AS instanceId,
|
||||||
ins.businessNo,
|
ins.businessNo,
|
||||||
ins.state instanceState,
|
ins.state instanceState,
|
||||||
ins.variable instanceVariable,
|
ins.variable instanceVariable,
|
||||||
ins.processDefineId instanceProcessDefineId,
|
ins.processDefineId instanceProcessDefineId,
|
||||||
t.id taskId,
|
t.id taskId,
|
||||||
t.taskName AS taskKey,
|
t.taskName AS taskKey,
|
||||||
t.displayName taskName,
|
t.displayName taskName,
|
||||||
t.taskType,
|
t.taskType,
|
||||||
t.performType taskPerformType,
|
t.performType taskPerformType,
|
||||||
t.taskState,
|
t.taskState,
|
||||||
t.finishTime,
|
t.finishTime,
|
||||||
t.taskParentId,
|
t.taskParentId,
|
||||||
t.variable taskVariable,
|
t.variable taskVariable,
|
||||||
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
|
IF((SELECT taskName FROM wf_process_task tt WHERE tt.id = t.taskParentId) = 'startTask', 1, 0) canRevoke,
|
||||||
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask' AND taskState in (10,20)) AS startTaskId
|
(select MAX(id) from wf_process_task where processInstanceId = ins.id and taskName = 'startTask' AND taskState in (10,20)) AS startTaskId
|
||||||
FROM
|
FROM
|
||||||
activity_declare_info info
|
activity_declare_info info
|
||||||
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
LEFT JOIN `wf_process_instance` ins ON ins.businessNo = info.id
|
||||||
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
LEFT JOIN wf_process_task t ON t.processInstanceId = ins.id AND t.taskState = 10
|
||||||
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
LEFT JOIN wf_process_task_actor ta ON ta.processTaskId = t.id
|
||||||
$condition
|
$condition
|
||||||
""");
|
""");
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
pageParam.buildSearch(cnd, "info.");
|
pageParam.buildSearch(cnd, "info.");
|
||||||
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
|
cnd.andEX("info.applyTime", "=", pageParam.getYear());
|
||||||
cnd.desc("info.applyTime");
|
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
|
||||||
} else {
|
cnd.desc("info.applyTime");
|
||||||
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
|
} else {
|
||||||
}
|
cnd.orderBy("info." + pageParam.getPageOrderName(), PageUtil.getOrder(pageParam.getPageOrderBy()));
|
||||||
sql.setCondition(cnd);
|
}
|
||||||
Pagination<NutMap> pagination = activityDeclareService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
|
sql.setCondition(cnd);
|
||||||
return Result.success().addData(pagination);
|
Pagination<NutMap> pagination = activityDeclareService.listPageMap(pageParam.getPageNumber(), pageParam.getPageSize(), sql);
|
||||||
}
|
return Result.success().addData(pagination);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("活动申报,查看活动申报")
|
@ApiOperation("活动申报,查看活动申报")
|
||||||
@SaCheckPermission("activityDeclare")
|
@SaCheckPermission("activityDeclare")
|
||||||
public Result findOne(@Valid String id) {
|
public Result findOne(@Valid String id) {
|
||||||
ActivityDeclareInfo info = dao.fetch(ActivityDeclareInfo.class, id);
|
ActivityDeclareInfo info = dao.fetch(ActivityDeclareInfo.class, id);
|
||||||
return Result.success().addData(info);
|
return Result.success().addData(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@ApiOperation("删除活动申报")
|
@ApiOperation("删除活动申报")
|
||||||
@Aop(TransAop.READ_COMMITTED)
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
@SaCheckPermission("activityDeclare.mine")
|
@SaCheckPermission("activityDeclare.mine")
|
||||||
@SLog(tag = "活动申报", msg = "删除活动申报id: ${args[0]}")
|
@SLog(tag = "活动申报", msg = "删除活动申报id: ${args[0]}")
|
||||||
public Result onDelete(@Valid String id) {
|
public Result onDelete(@Valid String id) {
|
||||||
dao.clear(ActivityDeclareInfo.class, Cnd.where("id", "=", id));
|
dao.clear(ActivityDeclareInfo.class, Cnd.where("id", "=", id));
|
||||||
// 删除流程相关
|
// 删除流程相关
|
||||||
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(id);
|
||||||
|
|
||||||
// 如果有报销的流程,也一并删除
|
// 如果有报销的流程,也一并删除
|
||||||
ActivityReimbursementInfo reimbursementInfo = dao.fetch(ActivityReimbursementInfo.class, Cnd.where("declareId", "=", id));
|
ActivityReimbursementInfo reimbursementInfo = dao.fetch(ActivityReimbursementInfo.class, Cnd.where("declareId", "=", id));
|
||||||
if (Lang.isNotEmpty(reimbursementInfo)) {
|
if (Lang.isNotEmpty(reimbursementInfo)) {
|
||||||
dao.clear(ActivityReimbursementInfo.class, Cnd.where("id", "=", reimbursementInfo.getId()));
|
dao.clear(ActivityReimbursementInfo.class, Cnd.where("id", "=", reimbursementInfo.getId()));
|
||||||
// 删除流程相关
|
// 删除流程相关
|
||||||
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(reimbursementInfo.getId());
|
flowEngine.processInstanceService().deleteProcessInstanceByBusinessKey(reimbursementInfo.getId());
|
||||||
}
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@At
|
@At
|
||||||
@Ok("void")
|
@Ok("void")
|
||||||
@SaCheckPermission("activityDeclare.mine")
|
@SaCheckPermission("activityDeclare.mine")
|
||||||
@SLog(tag = "活动申报", msg = "导出活动申报表")
|
@SLog(tag = "活动申报", msg = "导出活动申报表")
|
||||||
public void doExportDeclare(@Valid String id, HttpServletResponse response) {
|
public void doExportDeclare(@Valid String id, HttpServletResponse response) {
|
||||||
HashMap<String, Object> docData = new HashMap<>();
|
HashMap<String, Object> docData = new HashMap<>();
|
||||||
|
|
||||||
Sql sql = Sqls.create("""
|
Sql sql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
info.*,
|
info.*,
|
||||||
ins.id AS instanceId
|
ins.id AS instanceId
|
||||||
FROM
|
FROM
|
||||||
`activity_declare_info` info
|
`activity_declare_info` info
|
||||||
LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id
|
LEFT JOIN wf_process_instance ins ON ins.businessNo = info.id
|
||||||
WHERE
|
WHERE
|
||||||
ins.state = 20 AND info.id = @id
|
ins.state = 20 AND info.id = @id
|
||||||
""").setParam("id", id);
|
""").setParam("id", id);
|
||||||
sql.setCallback(Sqls.callback.map());
|
sql.setCallback(Sqls.callback.map());
|
||||||
dao.execute(sql);
|
dao.execute(sql);
|
||||||
NutMap info = (NutMap) sql.getResult();
|
NutMap info = (NutMap) sql.getResult();
|
||||||
|
|
||||||
String activityContent = info.getString("activityContent");
|
String activityContent = info.getString("activityContent");
|
||||||
info.put("activityContent", sysOfficeTemplateUtil.convertRichTextToDocText(activityContent));
|
info.put("activityContent", sysOfficeTemplateUtil.convertRichTextToDocText(activityContent));
|
||||||
|
|
||||||
docData.put("schoolName", Globals.AppName);
|
info.put("applyTime", DateUtil.format(info.getTime("applyTime"), "yyyy-MM-dd"));
|
||||||
docData.put("info", info);
|
info.put("planStartTime", DateUtil.format(info.getTime("planStartTime"), "yyyy年MM月dd日"));
|
||||||
|
info.put("planEndTime", DateUtil.format(info.getTime("planEndTime"), "yyyy年MM月dd日"));
|
||||||
|
docData.put("schoolName", Globals.AppName);
|
||||||
|
docData.put("info", info);
|
||||||
|
|
||||||
List<ProcessTaskVO> doneTaskVos = new ArrayList<>();
|
List<ProcessTaskVO> doneTaskVos = new ArrayList<>();
|
||||||
List<ProcessTask> doneTaskList = flowEngine.processTaskService().getDoneTaskList(info.getLong("instanceId"), null);
|
List<ProcessTask> doneTaskList = flowEngine.processTaskService().getDoneTaskList(info.getLong("instanceId"), null);
|
||||||
for (ProcessTask doneTask : doneTaskList) {
|
for (ProcessTask doneTask : doneTaskList) {
|
||||||
ProcessTaskVO taskVO = flowEngine.processTaskService().findById(doneTask.getId());
|
ProcessTaskVO taskVO = flowEngine.processTaskService().findById(doneTask.getId());
|
||||||
doneTaskVos.add(taskVO);
|
doneTaskVos.add(taskVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 分工会审核
|
// 分工会审核
|
||||||
doneTaskVos.stream().filter(task -> "分工会审核".equals(task.getDisplayName()))
|
doneTaskVos.stream().filter(task -> "分工会审核".equals(task.getDisplayName()))
|
||||||
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
||||||
.ifPresent(v -> {
|
.ifPresent(v -> {
|
||||||
Dict taskFormData = v.getTaskFormData();
|
Dict taskFormData = v.getTaskFormData();
|
||||||
HashMap<String, Object> approval = new HashMap<>();
|
HashMap<String, Object> approval = new HashMap<>();
|
||||||
|
|
||||||
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
||||||
approval.put("user", taskFormData.getStr("tf_userName"));
|
approval.put("user", taskFormData.getStr("tf_userName"));
|
||||||
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
||||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||||
}
|
}
|
||||||
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
||||||
docData.put("fgh", approval);
|
docData.put("fgh", approval);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 协会负责人审核
|
// 协会负责人审核
|
||||||
doneTaskVos.stream().filter(task -> "协会负责人审核".equals(task.getDisplayName()))
|
doneTaskVos.stream().filter(task -> "协会负责人审核".equals(task.getDisplayName()))
|
||||||
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
||||||
.ifPresent(v -> {
|
.ifPresent(v -> {
|
||||||
Dict taskFormData = v.getTaskFormData();
|
Dict taskFormData = v.getTaskFormData();
|
||||||
HashMap<String, Object> approval = new HashMap<>();
|
HashMap<String, Object> approval = new HashMap<>();
|
||||||
|
|
||||||
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
||||||
approval.put("user", taskFormData.getStr("tf_userName"));
|
approval.put("user", taskFormData.getStr("tf_userName"));
|
||||||
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
||||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||||
}
|
}
|
||||||
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
||||||
docData.put("xh", approval);
|
docData.put("xh", approval);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 校工会负责人审核
|
// 校工会负责人审核
|
||||||
doneTaskVos.stream().filter(task -> "校工会负责人审核".equals(task.getDisplayName()))
|
doneTaskVos.stream().filter(task -> "校工会负责人审核".equals(task.getDisplayName()))
|
||||||
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
||||||
.ifPresent(v -> {
|
.ifPresent(v -> {
|
||||||
Dict taskFormData = v.getTaskFormData();
|
Dict taskFormData = v.getTaskFormData();
|
||||||
HashMap<String, Object> approval = new HashMap<>();
|
HashMap<String, Object> approval = new HashMap<>();
|
||||||
|
|
||||||
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
||||||
approval.put("user", taskFormData.getStr("tf_userName"));
|
approval.put("user", taskFormData.getStr("tf_userName"));
|
||||||
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
||||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||||
}
|
}
|
||||||
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
||||||
docData.put("xfzr", approval);
|
docData.put("xfzr", approval);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 校工会主席审核
|
// 校工会主席审核
|
||||||
doneTaskVos.stream().filter(task -> "校工会主席审核".equals(task.getDisplayName()))
|
doneTaskVos.stream().filter(task -> "校工会主席审核".equals(task.getDisplayName()))
|
||||||
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
.max(Comparator.comparing(ProcessTaskVO::getCreatedAt))
|
||||||
.ifPresent(v -> {
|
.ifPresent(v -> {
|
||||||
Dict taskFormData = v.getTaskFormData();
|
Dict taskFormData = v.getTaskFormData();
|
||||||
HashMap<String, Object> approval = new HashMap<>();
|
HashMap<String, Object> approval = new HashMap<>();
|
||||||
|
|
||||||
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
approval.put("date", DateUtil.format(v.getFinishTime(), "yyyy年MM月dd日"));
|
||||||
approval.put("user", taskFormData.getStr("tf_userName"));
|
approval.put("user", taskFormData.getStr("tf_userName"));
|
||||||
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
if (StrUtil.isNotBlank(taskFormData.getStr("tf_sign"))) {
|
||||||
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
approval.put("sign", sysOfficeTemplateUtil.createPictureRenderData(taskFormData.getStr("tf_sign")));
|
||||||
}
|
}
|
||||||
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
approval.put("opinion", taskFormData.getStr("tf_opinion"));
|
||||||
docData.put("xzx", approval);
|
docData.put("xzx", approval);
|
||||||
});
|
});
|
||||||
|
|
||||||
String budgetsStr = info.getString("budgets");
|
String budgetsStr = info.getString("budgets");
|
||||||
List<ActivityBudgetVO> list = JSONUtil.parseArray(budgetsStr).toList(ActivityBudgetVO.class);
|
List<ActivityBudgetVO> list = JSONUtil.parseArray(budgetsStr).toList(ActivityBudgetVO.class);
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
list.get(i).setRanking(i + 1);
|
list.get(i).setRanking(i + 1);
|
||||||
}
|
}
|
||||||
docData.put("budgets", list);
|
docData.put("budgets", list);
|
||||||
|
|
||||||
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
||||||
Configure config = Configure.builder()
|
Configure config = Configure.builder()
|
||||||
.bind("budgets", policy)
|
.bind("budgets", policy)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
String fileName = Globals.AppName + "【" + info.getString("activityName") + "】申报表.docx";
|
String fileName = Globals.AppName + "【" + info.getString("activityName") + "】申报表.docx";
|
||||||
|
|
||||||
try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
|
try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream()) {
|
||||||
XWPFTemplate.compile(sysOfficeTemplateUtil.getTemplate("activity_declare"), config).render(docData).writeAndClose(byteArrayOutputStream);
|
XWPFTemplate.compile(sysOfficeTemplateUtil.getTemplate("activity_declare"), config).render(docData).writeAndClose(byteArrayOutputStream);
|
||||||
CommonDownloadUtil.download(fileName, byteArrayOutputStream.toByteArray(), response);
|
CommonDownloadUtil.download(fileName, byteArrayOutputStream.toByteArray(), response);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("活动申报表导出失败,id:{},错误信息:{}", id, e.getMessage());
|
log.error("活动申报表导出失败,id:{},错误信息:{}", id, e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -100,6 +100,7 @@ public class ActivityDeclareSchoolPrincipalController {
|
|||||||
|
|
||||||
cnd.and("t.taskName", "=", "5b511275-143f-4ecd-8eff-7c8ad1456b1b");
|
cnd.and("t.taskName", "=", "5b511275-143f-4ecd-8eff-7c8ad1456b1b");
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
|
cnd.andEX("info.applyTime", "=", pageParam.getYear());
|
||||||
|
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
|
|||||||
+1
@@ -97,6 +97,7 @@ public class ActivityDeclareSchoolUnionController {
|
|||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
cnd.and("t.taskName", "=", "81428a9b-63c0-44b8-a28c-17d282c2cc8e");
|
cnd.and("t.taskName", "=", "81428a9b-63c0-44b8-a28c-17d282c2cc8e");
|
||||||
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
cnd.and("ta.actorId", "in", List.of(SecurityUtil.getUserId()));
|
||||||
|
cnd.andEX("info.applyTime", "=", pageParam.getYear());
|
||||||
|
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
|
|||||||
+1
-1
@@ -108,7 +108,7 @@ public class ActivityReimbursementBranchUnionController {
|
|||||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -108,7 +108,7 @@ public class ActivityReimbursementClubPrincipalController {
|
|||||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
@@ -133,6 +133,7 @@ public class ActivityReimbursementMineController {
|
|||||||
cnd.and("info.userId", "=", SecurityUtil.getUserId());
|
cnd.and("info.userId", "=", SecurityUtil.getUserId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
|
if (StrUtil.isAllBlank(pageParam.getPageOrderName(), pageParam.getPageOrderBy())) {
|
||||||
cnd.desc("info.applyTime");
|
cnd.desc("info.applyTime");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -100,7 +100,7 @@ public class ActivityReimbursementSchoolFinanceController {
|
|||||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -108,7 +108,7 @@ public class ActivityReimbursementSchoolPrincipalController {
|
|||||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
@@ -124,6 +124,7 @@ public class ActivityReimbursementSchoolUnionController {
|
|||||||
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
cnd.andEX("outlay.budgetReimburseType", "=" , pageParam.getBudgetReimburseType());
|
||||||
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
cnd.andEX("info.outlayManageSource", "=", pageParam.getOutlayManageSource());
|
||||||
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
cnd.andEX("info.activityReimbursementMode", "=", pageParam.getActivityReimbursementMode());
|
||||||
|
cnd.andEX("YEAR(info.applyTime)", "=", pageParam.getYear());
|
||||||
|
|
||||||
if (pageParam.getAudit()) {
|
if (pageParam.getAudit()) {
|
||||||
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
cnd.and("t.taskState", "in", List.of(ProcessTaskStateEnum.FINISHED.getCode(), ProcessTaskStateEnum.WITHDRAW.getCode(), ProcessTaskStateEnum.INTERRUPT.getCode()));
|
||||||
|
|||||||
+1
-1
@@ -177,7 +177,7 @@ public class ClubUserJoinApplyController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", userApply.getId()));
|
ProcessInstance processInstance = dao.fetch(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "=", userApply.getId()));
|
||||||
if (!processInstance.getState().equals(ProcessInstanceStateEnum.FINISHED.getCode())) {
|
if (!List.of(ProcessInstanceStateEnum.REJECT.getCode(),ProcessInstanceStateEnum.FINISHED.getCode()).contains(processInstance.getState())) {
|
||||||
return Result.error(99, "您有该协会的申请记录尚未完成,请到我的申请里查看!");
|
return Result.error(99, "您有该协会的申请记录尚未完成,请到我的申请里查看!");
|
||||||
}
|
}
|
||||||
return Result.success();
|
return Result.success();
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ public class Asset extends BaseModel implements Serializable {
|
|||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("单价")
|
@Comment("单价")
|
||||||
@ColDefine(customType = "decimal(6,2)")
|
@ColDefine(customType = "decimal(10,2)")
|
||||||
private BigDecimal assetUnitPrice;
|
private BigDecimal assetUnitPrice;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
|
|||||||
+4
-4
@@ -43,22 +43,22 @@ public class AssetDepreciationRecord extends BaseModel implements Serializable {
|
|||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("资产全部的价值")
|
@Comment("资产全部的价值")
|
||||||
@ColDefine(customType = "decimal(6,2)")
|
@ColDefine(customType = "decimal(10,2)")
|
||||||
private BigDecimal assetAllMoney;
|
private BigDecimal assetAllMoney;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("剩余价值")
|
@Comment("剩余价值")
|
||||||
@ColDefine(customType = "decimal(6,2)")
|
@ColDefine(customType = "decimal(10,2)")
|
||||||
private BigDecimal assetSurplusMoney;
|
private BigDecimal assetSurplusMoney;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("累计折旧多少钱")
|
@Comment("累计折旧多少钱")
|
||||||
@ColDefine(customType = "decimal(6,2)")
|
@ColDefine(customType = "decimal(10,2)")
|
||||||
private BigDecimal assetDepreciationMoney;
|
private BigDecimal assetDepreciationMoney;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
@Comment("平均一个月多少钱")
|
@Comment("平均一个月多少钱")
|
||||||
@ColDefine(customType = "decimal(6,2)")
|
@ColDefine(customType = "decimal(10,2)")
|
||||||
private BigDecimal assetAverageMonthMoney;
|
private BigDecimal assetAverageMonthMoney;
|
||||||
|
|
||||||
@Column
|
@Column
|
||||||
|
|||||||
+7
-4
@@ -18,9 +18,11 @@ import com.budwk.app.zhgh.dayofficework.qsv.service.QsvQuizService;
|
|||||||
import com.budwk.app.zhgh.dayofficework.qsv.service.QsvUserAnswerRecordService;
|
import com.budwk.app.zhgh.dayofficework.qsv.service.QsvUserAnswerRecordService;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nutz.aop.interceptor.ioc.TransAop;
|
||||||
import org.nutz.dao.Cnd;
|
import org.nutz.dao.Cnd;
|
||||||
import org.nutz.dao.Dao;
|
import org.nutz.dao.Dao;
|
||||||
import org.nutz.dao.util.cri.Static;
|
import org.nutz.dao.util.cri.Static;
|
||||||
|
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.util.NutMap;
|
import org.nutz.lang.util.NutMap;
|
||||||
@@ -61,10 +63,11 @@ public class H5QsvQuizController {
|
|||||||
|
|
||||||
@At
|
@At
|
||||||
@SaCheckLogin
|
@SaCheckLogin
|
||||||
|
@Aop(TransAop.READ_COMMITTED)
|
||||||
public Result subjects(@Valid String activityId) {
|
public Result subjects(@Valid String activityId) {
|
||||||
QsvActivity activity = dao.fetch(QsvActivity.class, activityId);
|
QsvActivity activity = dao.fetch(QsvActivity.class, activityId);
|
||||||
|
|
||||||
if(activity.getGroupId() != null){
|
if (activity.getGroupId() != null) {
|
||||||
int count = dao.count(ActivityUserScope.class, Cnd.where("groupId", "=", activity.getGroupId())
|
int count = dao.count(ActivityUserScope.class, Cnd.where("groupId", "=", activity.getGroupId())
|
||||||
.and("userId", "=", SecurityUtil.getUserId()));
|
.and("userId", "=", SecurityUtil.getUserId()));
|
||||||
if (count != 1) {
|
if (count != 1) {
|
||||||
@@ -102,7 +105,7 @@ public class H5QsvQuizController {
|
|||||||
cnd.and(new Static("1=1 ORDER BY FIELD (id," + dynamic + ")"));
|
cnd.and(new Static("1=1 ORDER BY FIELD (id," + dynamic + ")"));
|
||||||
resultSubjects = dao.query(QsvSubject.class, cnd);
|
resultSubjects = dao.query(QsvSubject.class, cnd);
|
||||||
answerRecordId = lastRecordOptional.get().getId();
|
answerRecordId = lastRecordOptional.get().getId();
|
||||||
}else{
|
} else {
|
||||||
//没生成过 那就看全部的题目
|
//没生成过 那就看全部的题目
|
||||||
List<QsvSubject> subjects = dao.query(QsvSubject.class, Cnd.where("activityId", "=", activityId));
|
List<QsvSubject> subjects = dao.query(QsvSubject.class, Cnd.where("activityId", "=", activityId));
|
||||||
QsvUserAnswerRecord answerRecord = qsvUserAnswerRecordService.insertRecord(activityId, subjects.stream().map(QsvSubject::getId).collect(Collectors.toList()));
|
QsvUserAnswerRecord answerRecord = qsvUserAnswerRecordService.insertRecord(activityId, subjects.stream().map(QsvSubject::getId).collect(Collectors.toList()));
|
||||||
@@ -319,14 +322,14 @@ public class H5QsvQuizController {
|
|||||||
return Result.success(result);
|
return Result.success(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 答题记录
|
// 答题记录
|
||||||
@At
|
@At
|
||||||
public Result answerRecord(@Valid String answerRecordId) {
|
public Result answerRecord(@Valid String answerRecordId) {
|
||||||
QsvUserAnswerRecord record = dao.fetch(QsvUserAnswerRecord.class, answerRecordId);
|
QsvUserAnswerRecord record = dao.fetch(QsvUserAnswerRecord.class, answerRecordId);
|
||||||
return Result.success(record);
|
return Result.success(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提交答题
|
// 提交答题
|
||||||
@At
|
@At
|
||||||
@ApiOperation("提交答题")
|
@ApiOperation("提交答题")
|
||||||
@SLog(type = "qsv.quiz", tag = "提交答题", msg = "问卷调查提交答题")
|
@SLog(type = "qsv.quiz", tag = "提交答题", msg = "问卷调查提交答题")
|
||||||
|
|||||||
+7
-7
@@ -77,25 +77,25 @@ public class ProposalQueryComprehensiveController {
|
|||||||
$condition
|
$condition
|
||||||
""");
|
""");
|
||||||
Cnd cnd = Cnd.NEW();
|
Cnd cnd = Cnd.NEW();
|
||||||
if(ArrayUtil.isNotEmpty(pageForm.getOrigins())){
|
if (ArrayUtil.isNotEmpty(pageForm.getOrigins()) && StrUtil.isNotBlank(pageForm.getCommonKeyword())) {
|
||||||
SqlExpressionGroup seg = new SqlExpressionGroup();
|
SqlExpressionGroup seg = new SqlExpressionGroup();
|
||||||
|
|
||||||
// 案名
|
// 案名
|
||||||
if(ArrayUtil.contains(pageForm.getOrigins(),"name")){
|
if (ArrayUtil.contains(pageForm.getOrigins(), "name")) {
|
||||||
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
||||||
seg.orLike("info.name", keyword);
|
seg.orLike("info.name", keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 案由
|
// 案由
|
||||||
if(ArrayUtil.contains(pageForm.getOrigins(),"brief")){
|
if (ArrayUtil.contains(pageForm.getOrigins(), "brief")) {
|
||||||
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
||||||
seg.orLike("info.brief", keyword);
|
seg.orLike("info.brief", keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提案人
|
// 提案人
|
||||||
if(ArrayUtil.contains(pageForm.getOrigins(),"createUserName")){
|
if (ArrayUtil.contains(pageForm.getOrigins(), "createUserName")) {
|
||||||
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
||||||
seg.orLike("info.createUserName", keyword);
|
seg.orLike("info.createUserName", keyword);
|
||||||
seg.orLike("info.createUserLoginName", keyword);
|
seg.orLike("info.createUserLoginName", keyword);
|
||||||
@@ -103,18 +103,18 @@ public class ProposalQueryComprehensiveController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 答复内容
|
// 答复内容
|
||||||
if(ArrayUtil.contains(pageForm.getOrigins(),"answer")){
|
if (ArrayUtil.contains(pageForm.getOrigins(), "answer")) {
|
||||||
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
for (String keyword : pageForm.getCommonKeyword().split(" ")) {
|
||||||
seg.orLike("JSON_EXTRACT(replyTask.variable,'$.tf_opinion')", keyword);
|
seg.orLike("JSON_EXTRACT(replyTask.variable,'$.tf_opinion')", keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!seg.isEmpty()){
|
if (!seg.isEmpty()) {
|
||||||
cnd.and(seg);
|
cnd.and(seg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(StrUtil.isNotBlank(pageForm.getUnderTakeUnitId())){
|
if (StrUtil.isNotBlank(pageForm.getUnderTakeUnitId())) {
|
||||||
cnd.andEX("pru.unitId", "=", pageForm.getUnderTakeUnitId());
|
cnd.andEX("pru.unitId", "=", pageForm.getUnderTakeUnitId());
|
||||||
}
|
}
|
||||||
ProposalQueryComprehensiveParam.buildSearch(cnd, pageForm);
|
ProposalQueryComprehensiveParam.buildSearch(cnd, pageForm);
|
||||||
|
|||||||
+21
-1
@@ -123,7 +123,7 @@ public class TeacherCongressDelegateServiceImpl extends BaseServiceImpl<Teacher_
|
|||||||
delegationSql.setParam("sessionId", pageForm.getSessionId());
|
delegationSql.setParam("sessionId", pageForm.getSessionId());
|
||||||
List<NutMap> delegationList = listMap(delegationSql);
|
List<NutMap> delegationList = listMap(delegationSql);
|
||||||
|
|
||||||
//查询所有的团长、副团长
|
//查询所有的团长
|
||||||
Sys_role tzRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_HEAD);
|
Sys_role tzRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_DELEGATION_HEAD);
|
||||||
Sql tzSql = Sqls.create("""
|
Sql tzSql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
@@ -142,6 +142,25 @@ public class TeacherCongressDelegateServiceImpl extends BaseServiceImpl<Teacher_
|
|||||||
tzSql.setParam("tzRoles", List.of(tzRole.getId()));
|
tzSql.setParam("tzRoles", List.of(tzRole.getId()));
|
||||||
List<NutMap> tzList = listMap(tzSql);
|
List<NutMap> tzList = listMap(tzSql);
|
||||||
|
|
||||||
|
//查询所有的副团长
|
||||||
|
Sys_role ftzRole = sysRoleService.getByCode(RoleConstant.TEACHER_CONGRESS_VICE_DELEGATION_HEAD);
|
||||||
|
Sql ftzSql = Sqls.create("""
|
||||||
|
SELECT
|
||||||
|
t2.id,
|
||||||
|
t2.username,
|
||||||
|
t2.sex,
|
||||||
|
t1.tcDelegationId
|
||||||
|
FROM
|
||||||
|
sys_user_role t1
|
||||||
|
LEFT JOIN sys_user t2 ON t2.id = t1.userId
|
||||||
|
WHERE
|
||||||
|
t1.tcSessionId = @sessionId
|
||||||
|
AND t1.roleId IN (@ftzRoles)
|
||||||
|
""");
|
||||||
|
ftzSql.setParam("sessionId", pageForm.getSessionId());
|
||||||
|
ftzSql.setParam("ftzRoles", List.of(ftzRole.getId()));
|
||||||
|
List<NutMap> ftzList = listMap(ftzSql);
|
||||||
|
|
||||||
//查询代表
|
//查询代表
|
||||||
Sql delegateSql = Sqls.create("""
|
Sql delegateSql = Sqls.create("""
|
||||||
SELECT
|
SELECT
|
||||||
@@ -161,6 +180,7 @@ public class TeacherCongressDelegateServiceImpl extends BaseServiceImpl<Teacher_
|
|||||||
|
|
||||||
for (NutMap delegation : delegationList) {
|
for (NutMap delegation : delegationList) {
|
||||||
delegation.put("tz", tzList.stream().filter(tz -> tz.getString("tcDelegationId").equals(delegation.getString("id"))).toList());
|
delegation.put("tz", tzList.stream().filter(tz -> tz.getString("tcDelegationId").equals(delegation.getString("id"))).toList());
|
||||||
|
delegation.put("ftz", ftzList.stream().filter(ftz -> ftz.getString("tcDelegationId").equals(delegation.getString("id"))).toList());
|
||||||
//过滤本代表团的代表
|
//过滤本代表团的代表
|
||||||
List<NutMap> delegateList = delegateAllList.stream().filter(delegate -> delegate.getString("delegationId").equals(delegation.getString("id"))).toList();
|
List<NutMap> delegateList = delegateAllList.stream().filter(delegate -> delegate.getString("delegationId").equals(delegation.getString("id"))).toList();
|
||||||
//按5人平均分组
|
//按5人平均分组
|
||||||
|
|||||||
+45
-35
@@ -74,7 +74,8 @@ layout("/layouts/platform.html"){
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="申请时间">
|
<el-descriptions-item label="申请时间">
|
||||||
<el-form-item prop="applyTime">
|
<el-form-item prop="applyTime">
|
||||||
<el-input disabled type="text" v-model="$moment(formData.applyTime).format('YYYY-MM-DD')"></el-input>
|
<el-input disabled type="text"
|
||||||
|
v-model="$moment(formData.applyTime).format('YYYY-MM-DD')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
@@ -226,7 +227,7 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'formData.activityType': function(newVal, oldVal) {
|
'formData.activityType': function (newVal, oldVal) {
|
||||||
if (newVal !== oldVal) {
|
if (newVal !== oldVal) {
|
||||||
this.$set(this.formData, "deductionBudgetId", null)
|
this.$set(this.formData, "deductionBudgetId", null)
|
||||||
this.getBudgetByYear()
|
this.getBudgetByYear()
|
||||||
@@ -277,46 +278,55 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
// 提交
|
// 提交
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.$confirm("您确定要提交吗?", "提示", {
|
this.$refs.formRef.validate().then((valid) => {
|
||||||
confirmButtonText: "确定",
|
if (valid) {
|
||||||
cancelButtonText: "取消",
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
type: "warning"
|
confirmButtonText: "确定",
|
||||||
}).then(() => {
|
cancelButtonText: "取消",
|
||||||
if (this.formData.planDate && this.formData.planDate.length > 0) {
|
type: "warning"
|
||||||
this.formData.planStartTime = this.formData.planDate[0]
|
}).then(() => {
|
||||||
this.formData.planEndTime = this.formData.planDate[1]
|
if (this.formData.planDate && this.formData.planDate.length > 0) {
|
||||||
|
this.formData.planStartTime = this.formData.planDate[0]
|
||||||
|
this.formData.planEndTime = this.formData.planDate[1]
|
||||||
|
}
|
||||||
|
this.$axios.post('/platform/activityDeclare/apply/submit', {
|
||||||
|
data: JSON.stringify(this.formData)
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success("提交成功")
|
||||||
|
commonUtil.pjaxPush('/platform/activityDeclare/mine')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
this.$axios.post('/platform/activityDeclare/apply/submit', {
|
|
||||||
data: JSON.stringify(this.formData)
|
|
||||||
}).then(res => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success("提交成功")
|
|
||||||
commonUtil.pjaxPush('/platform/activityDeclare/mine')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
onFinishTask() {
|
onFinishTask() {
|
||||||
this.$confirm("您确定要提交吗?", "提示", {
|
this.$refs.formRef.validate().then((valid) => {
|
||||||
confirmButtonText: "确定",
|
if (valid) {
|
||||||
cancelButtonText: "取消",
|
this.$confirm("您确定要提交吗?", "提示", {
|
||||||
type: "warning"
|
confirmButtonText: "确定",
|
||||||
}).then(() => {
|
cancelButtonText: "取消",
|
||||||
if (this.formData.planDate && this.formData.planDate.length > 0) {
|
type: "warning"
|
||||||
this.formData.planStartTime = this.formData.planDate[0]
|
}).then(() => {
|
||||||
this.formData.planEndTime = this.formData.planDate[1]
|
if (this.formData.planDate && this.formData.planDate.length > 0) {
|
||||||
|
this.formData.planStartTime = this.formData.planDate[0]
|
||||||
|
this.formData.planEndTime = this.formData.planDate[1]
|
||||||
|
}
|
||||||
|
this.$axios.post('/platform/activityDeclare/apply/submitAgain', {
|
||||||
|
data: JSON.stringify(this.formData),
|
||||||
|
taskId: GetQueryString("taskId")
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.$message.success("提交成功")
|
||||||
|
commonUtil.pjaxPush('/platform/activityDeclare/mine')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
this.$axios.post('/platform/activityDeclare/apply/submitAgain', {
|
|
||||||
data: JSON.stringify(this.formData),
|
|
||||||
taskId: GetQueryString("taskId")
|
|
||||||
}).then(res => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.$message.success("提交成功")
|
|
||||||
commonUtil.pjaxPush('/platform/activityDeclare/mine')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
},
|
},
|
||||||
// 设置申报主体名称
|
// 设置申报主体名称
|
||||||
setDeclareUnitName(val) {
|
setDeclareUnitName(val) {
|
||||||
|
|||||||
+4
-3
@@ -28,7 +28,8 @@ layout("/layouts/platform.html"){
|
|||||||
<el-descriptions-item label="报销模式">
|
<el-descriptions-item label="报销模式">
|
||||||
<el-form-item prop="activityReimbursementMode"
|
<el-form-item prop="activityReimbursementMode"
|
||||||
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
:rules="[{required:true,message:'必填',trigger:['change','blur']}]">
|
||||||
<el-radio-group v-model="formData.activityReimbursementMode" @change="getActivityReimbursementByUser">
|
<el-radio-group v-model="formData.activityReimbursementMode"
|
||||||
|
@change="getActivityReimbursementByUser">
|
||||||
<el-radio-button label="activity">活动报销</el-radio-button>
|
<el-radio-button label="activity">活动报销</el-radio-button>
|
||||||
<el-radio-button label="daily">日常报销</el-radio-button>
|
<el-radio-button label="daily">日常报销</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
@@ -522,14 +523,14 @@ layout("/layouts/platform.html"){
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (this.$auth.hasRoleOr(["UNION_REIMBURSEMENT_MANAGER","UNION_REIMBURSEMENT_MANAGER"])) {
|
if (this.$auth.hasRoleOr(["UNION_REIMBURSEMENT_MANAGER", "BRANCH_UNION_CHAIRMAN", "BRANCH_UNION_WENTI_SPORTS"])) {
|
||||||
this.budgetTypeOption.map(v => {
|
this.budgetTypeOption.map(v => {
|
||||||
if (["ACTIVITY_BUDGET_TYPE_TWO"].includes(v.code)) {
|
if (["ACTIVITY_BUDGET_TYPE_TWO"].includes(v.code)) {
|
||||||
budgetTypeCloseOption.push(v)
|
budgetTypeCloseOption.push(v)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (this.$auth.hasRoleOr(["CLUB_REIMBURSEMENT_MANAGER","CLUB_PRESIDENT"])) {
|
if (this.$auth.hasRoleOr(["CLUB_REIMBURSEMENT_MANAGER", "CLUB_PRESIDENT"])) {
|
||||||
this.budgetTypeOption.map(v => {
|
this.budgetTypeOption.map(v => {
|
||||||
if (["ACTIVITY_BUDGET_TYPE_THREE"].includes(v.code)) {
|
if (["ACTIVITY_BUDGET_TYPE_THREE"].includes(v.code)) {
|
||||||
budgetTypeCloseOption.push(v)
|
budgetTypeCloseOption.push(v)
|
||||||
|
|||||||
+5
-4
@@ -27,14 +27,15 @@ const INFO = {
|
|||||||
<el-descriptions-item></el-descriptions-item>
|
<el-descriptions-item></el-descriptions-item>
|
||||||
|
|
||||||
<template v-if="viewData.activityReimbursementMode==='activity'">
|
<template v-if="viewData.activityReimbursementMode==='activity'">
|
||||||
<el-descriptions-item label="活动计划时间">{{ (viewData.planStartTime ? viewData.planStartTime :
|
<el-descriptions-item label="活动计划时间">
|
||||||
|
{{ (viewData.planStartTime ? $moment(viewData.planStartTime).format('YYYY-MM-DD') :
|
||||||
'未填写')
|
'未填写')
|
||||||
+ ' ~ ' + (viewData.planEndTime ? viewData.planEndTime : '未填写') }}
|
+ ' ~ ' + (viewData.planEndTime ? $moment(viewData.planEndTime).format('YYYY-MM-DD') : '未填写') }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="活动人数">{{ viewData.activityNumber }}</el-descriptions-item>
|
<el-descriptions-item label="活动人数">{{ viewData.activityNumber }}</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="实际活动时间" :span="2">{{ (viewData.startTime ? viewData.startTime :
|
<el-descriptions-item label="实际活动时间" :span="2">{{ (viewData.startTime ? $moment(viewData.startTime).format('YYYY-MM-DD') :
|
||||||
'未填写') + ' ~ ' + (viewData.endTime ? viewData.endTime : '未填写') }}
|
'未填写') + ' ~ ' + (viewData.endTime ? $moment(viewData.endTime).format('YYYY-MM-DD') : '未填写') }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item label="活动地址" :span="2">{{ viewData.activityAddress }}
|
<el-descriptions-item label="活动地址" :span="2">{{ viewData.activityAddress }}
|
||||||
|
|||||||
@@ -713,6 +713,7 @@ var ACTIVITY_SPORTS_APPLY_USER = {
|
|||||||
})
|
})
|
||||||
//表格的人员
|
//表格的人员
|
||||||
arr.forEach((v) => {
|
arr.forEach((v) => {
|
||||||
|
this.applyFromData.teamName=this.teamList.find(t=>t.id===this.applyFromData.teamId)?.name
|
||||||
const data = {
|
const data = {
|
||||||
id: null,
|
id: null,
|
||||||
loginname: v.loginname,
|
loginname: v.loginname,
|
||||||
|
|||||||
+32
-21
@@ -115,18 +115,19 @@ layout("/layouts/platform.html"){
|
|||||||
<!-- ></el-input>-->
|
<!-- ></el-input>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
<!-- <el-form-item label="调研情况" prop="researchFindings">-->
|
<!-- <el-form-item label="调研情况" prop="researchFindings">-->
|
||||||
<!-- <el-input-->
|
<!-- <el-input-->
|
||||||
<!-- v-model="formData.researchFindings"-->
|
<!-- v-model="formData.researchFindings"-->
|
||||||
<!-- type="textarea"-->
|
<!-- type="textarea"-->
|
||||||
<!-- autosize-->
|
<!-- autosize-->
|
||||||
<!-- :autosize="{ minRows: 4, maxRows: 4}"-->
|
<!-- :autosize="{ minRows: 4, maxRows: 4}"-->
|
||||||
<!-- placeholder="调研情况"-->
|
<!-- placeholder="调研情况"-->
|
||||||
<!-- ></el-input>-->
|
<!-- ></el-input>-->
|
||||||
<!-- </el-form-item>-->
|
<!-- </el-form-item>-->
|
||||||
|
|
||||||
<el-form-item label="建议承办单位" prop="suggestUnits">
|
<el-form-item label="建议承办单位" prop="suggestUnits">
|
||||||
<el-select v-model="formData.suggestUnits" multiple filterable style="width: 100%" placeholder="请选择建议承办单位">
|
<el-select v-model="formData.suggestUnits" multiple filterable style="width: 100%"
|
||||||
|
placeholder="请选择建议承办单位">
|
||||||
<el-option :key="item.id" :label="item.name" :value="item.name"
|
<el-option :key="item.id" :label="item.name" :value="item.name"
|
||||||
v-for="item in suggestUnitOptions"></el-option>
|
v-for="item in suggestUnitOptions"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@@ -242,7 +243,9 @@ layout("/layouts/platform.html"){
|
|||||||
this.$message.warning("请填写提案名称")
|
this.$message.warning("请填写提案名称")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.formData.brief.length < this.proposalConfig.briefMinLength) {
|
let brief = clone(this.formData.brief)
|
||||||
|
brief = removeHTMLTag(brief)
|
||||||
|
if (brief.length < this.proposalConfig.briefMinLength) {
|
||||||
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
|
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -257,16 +260,21 @@ layout("/layouts/platform.html"){
|
|||||||
loading.close()
|
loading.close()
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$message.success("提交成功")
|
this.$message.success("提交成功")
|
||||||
this.$confirm("提交成功,是否立即去邀请附议人?", "提示", {
|
if (this.formData.source==="PERSONAL"){
|
||||||
confirmButtonText: "确定",
|
this.$confirm("提交成功,是否立即去邀请附议人?", "提示", {
|
||||||
cancelButtonText: "取消",
|
confirmButtonText: "确定",
|
||||||
type: "warning"
|
cancelButtonText: "取消",
|
||||||
}).then(() => {
|
type: "warning"
|
||||||
commonUtil.pjaxPush('/platform/proposal/mine?bizId=' + res.data.id + "&operation=invite")
|
}).then(() => {
|
||||||
}).catch(() => {
|
commonUtil.pjaxPush('/platform/proposal/mine?bizId=' + res.data.id + "&operation=invite")
|
||||||
this.$message.info("请到我的提案界面邀请附议人")
|
}).catch(() => {
|
||||||
|
this.$message.info("请到我的提案界面邀请附议人")
|
||||||
|
commonUtil.pjaxPush('/platform/proposal/mine')
|
||||||
|
})
|
||||||
|
}else{
|
||||||
commonUtil.pjaxPush('/platform/proposal/mine')
|
commonUtil.pjaxPush('/platform/proposal/mine')
|
||||||
})
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -275,13 +283,16 @@ layout("/layouts/platform.html"){
|
|||||||
|
|
||||||
// 重新提交
|
// 重新提交
|
||||||
async onSubmitAgain() {
|
async onSubmitAgain() {
|
||||||
|
|
||||||
const valid = await this.$refs["addForm"].validate()
|
const valid = await this.$refs["addForm"].validate()
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (!this.formData.name || this.formData.name.trim().length < 1) {
|
if (!this.formData.name || this.formData.name.trim().length < 1) {
|
||||||
this.$message.warning("请填写提案名称")
|
this.$message.warning("请填写提案名称")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.formData.brief.length < this.proposalConfig.briefMinLength) {
|
let brief = clone(this.formData.brief)
|
||||||
|
brief = removeHTMLTag(brief)
|
||||||
|
if (brief.length < this.proposalConfig.briefMinLength) {
|
||||||
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
|
this.$message.warning("提案内容和依据最少为" + this.proposalConfig.briefMinLength + "字")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -412,7 +412,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
} else if (this.viewData.userNumberLimit === 2) {
|
} else if (this.viewData.userNumberLimit === 2) {
|
||||||
//分工会人数限制
|
//分工会人数限制
|
||||||
const union = this.viewData.unionUserNumberLimit.find(v => v.id === this.$store.state.user.union.id)
|
const union = this.viewData.unionUserNumberLimit.find(v => v.id === this.$store.state.user.union.id)
|
||||||
this.viewData.unionTeamNum = union.limitNum
|
this.viewData.unionLimitNum = union.limitNum
|
||||||
}
|
}
|
||||||
if (this.viewData.signUpMethod === 3) {
|
if (this.viewData.signUpMethod === 3) {
|
||||||
this.listTeamUserUnion()
|
this.listTeamUserUnion()
|
||||||
@@ -768,6 +768,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.init()
|
this.init()
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
+1
-1
@@ -66,7 +66,7 @@ layout("/layouts/platform_h5.html"){
|
|||||||
</van-form>
|
</van-form>
|
||||||
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
<div style="display: flex; justify-content: space-between; column-gap: 10px; padding: 10px">
|
||||||
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
|
<van-button type="danger" block @click="handleTaskAction(6)">退回</van-button>
|
||||||
<van-button type="danger" block @click="handleTaskAction(20)">不同意</van-button>
|
<van-button type="danger" block @click="handleTaskAction(2)">不同意</van-button>
|
||||||
<van-button type="primary" block @click="handleTaskAction(1)">同意</van-button>
|
<van-button type="primary" block @click="handleTaskAction(1)">同意</van-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user