pref#ncu_代表推选优化

This commit is contained in:
Paidax
2025-12-12 15:32:39 +08:00
parent 0259286c04
commit 0a9067df19
5 changed files with 33 additions and 38 deletions
@@ -149,7 +149,7 @@ public class SysUnitController {
public Result listUserSelect(@Valid String unitId, @Valid String keyWord) {
Sql sql = Sqls.create("select id,loginname,username,unitname from vw_user $condition");
Cnd cnd = Cnd.NEW();
cnd.and(View_user::getUnitId, "=", unitId);
// cnd.and(View_user::getUnitId, "=", unitId);
SqlExpressionGroup seg = new SqlExpressionGroup();
seg.orLike(View_user::getLoginname, keyWord, true);
seg.orLike(View_user::getUsername, keyWord, true);
@@ -17,6 +17,7 @@ import com.budwk.app.flow.constant.FlowConst;
import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.flow.entity.ProcessInstance;
import com.budwk.app.flow.entity.ProcessTask;
import com.budwk.app.flow.enums.ProcessInstanceStateEnum;
import com.budwk.app.flow.enums.ProcessSubmitTypeEnum;
import com.budwk.app.flow.enums.ProcessTaskStateEnum;
import com.budwk.app.sys.views.View_user;
@@ -395,6 +396,30 @@ public class TeacherCongressDelegatePushController {
return Result.success();
}
Sql sql = Sqls.create("""
SELECT
info.*
FROM
teacher_congress_delegate_push info
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
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.andEX("info.unionId", "=", unionId);
SqlExpressionGroup group = new SqlExpressionGroup();
group.or("t.taskName", "=", "0cacd1e7-7bb2-47dd-818b-6a73062e0c62");
group.or("t.taskName", "=", "c9227a2f-7b73-4549-b1f7-aa4779b31378");
group.or("t.taskName", "=", "900217e4-4332-4a21-90dd-363b8be17801");
group.or("t.taskName", "is", null);
cnd.and(group);
cnd.and("ins.state", "!=", ProcessInstanceStateEnum.REJECT.getCode());
cnd.andEX("info.sessionId", "=", sessionId);
cnd.andEX("info.schoolLeader", "!=", 1);
cnd.andEX("info.representativeType", "=", "正式代表");
sql.setCondition(cnd);
List<NutMap> writeList = baseService.listMap(sql);
/* Sql sql = Sqls.create("""
SELECT
info.*,
ins.id AS instanceId,
@@ -429,39 +454,8 @@ public class TeacherCongressDelegatePushController {
cnd.andEX("info.unionId", "=", unionId);
cnd.andEX("info.representativeType", "=", "正式代表");
cnd.groupBy("t.id");
/* Sql sql = Sqls.create("""
SELECT
info.*,
ins.id AS instanceId,
ins.businessNo,
ins.state instanceState,
ins.variable instanceVariale,
ins.processDefineId instanceProcessDefineId,
t.id taskId,
t.taskName AS taskKey,
t.displayName taskName,
t.taskType,
t.performType taskPerformType,
t.taskState,
t.finishTime,
t.taskParentId,
t.variable taskVariale,
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
FROM
teacher_congress_delegate_push info
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
$condition
""");
Cnd cnd = Cnd.NEW();
cnd.andEX("info.sessionId", "=", sessionId);
cnd.andEX("info.unionId", "=", unionId);
cnd.andEX("info.representativeType", "=", "正式代表");
cnd.and("ins.state", "=", ProcessTaskStateEnum.FINISHED.getCode());*/
sql.setCondition(cnd);
List<NutMap> writeList = baseService.listMap(sql);
List<NutMap> writeList = baseService.listMap(sql);*/
// 上报总人数
@@ -116,6 +116,7 @@ public class TeacherCongressDelegatePushServiceImpl extends BaseServiceImpl<Teac
dict.set(FlowConst.PROCESS_TASK_ID_KEY, push.getString("taskId"));
dict.set(FlowConst.SUBMIT_TYPE, ProcessSubmitTypeEnum.AGREE.getCode());
dict.set(FlowConst.EXT_ENABLE_OPERATOR, true);
dict.set("sessionId", sessionId);
flowCommonService.executeTask(dict);
});
}