feat:职代会h5端UI优化调整
This commit is contained in:
+34
-4
@@ -37,6 +37,12 @@ public class CongressH5Controller {
|
||||
public void meetingListPage() {
|
||||
}
|
||||
|
||||
@At("/meeting/remark")
|
||||
@Ok("beetl:/platform/zhghh5/democratic/congress/meeting/remark.html")
|
||||
@SaCheckLogin
|
||||
public void meetingRemarkPage() {
|
||||
}
|
||||
|
||||
@At("/pdf")
|
||||
@Ok("beetl:/platform/zhghh5/democratic/congress/pdf.html")
|
||||
@SaCheckLogin
|
||||
@@ -69,14 +75,38 @@ public class CongressH5Controller {
|
||||
|
||||
@At("/materialsList")
|
||||
@SaCheckLogin
|
||||
public Result materialsList(@Param("typeId") String typeId, @Param("timeId") String timeId, @Param("emplid") String emplid) {
|
||||
return Result.success(congressH5Service.materialsList(typeId, timeId, emplid));
|
||||
public Result materialsList(@Param("typeId") String typeId,
|
||||
@Param("timeId") String timeId,
|
||||
@Param("emplid") String emplid,
|
||||
@Param("searchKeyword") String searchKeyword,
|
||||
@Param("fileType") String fileType,
|
||||
@Param("uploadTimeOrder") String uploadTimeOrder,
|
||||
@Param("pageNumber") Integer pageNumber,
|
||||
@Param("pageSize") Integer pageSize) {
|
||||
return Result.success(congressH5Service.materialsList(typeId, timeId, emplid, searchKeyword,
|
||||
fileType, uploadTimeOrder, pageNumber, pageSize));
|
||||
}
|
||||
|
||||
@At("/user/meetingList")
|
||||
@SaCheckLogin
|
||||
public Result userMeetingList(@Param("timeId") String timeId, @Param("emplid") String emplid) {
|
||||
return Result.success(congressH5Service.userMeetingList(timeId, emplid));
|
||||
public Result userMeetingList(@Param("timeId") String timeId,
|
||||
@Param("emplid") String emplid,
|
||||
@Param("searchKeyword") String searchKeyword,
|
||||
@Param("signTimeStatus") String signTimeStatus,
|
||||
@Param("signInCountStatus") String signInCountStatus,
|
||||
@Param("signStatus") String signStatus,
|
||||
@Param("pageNumber") Integer pageNumber,
|
||||
@Param("pageSize") Integer pageSize) {
|
||||
return Result.success(congressH5Service.userMeetingList(timeId, emplid, searchKeyword,
|
||||
signTimeStatus, signInCountStatus, signStatus, pageNumber, pageSize));
|
||||
}
|
||||
|
||||
@At("/user/meetingRemark")
|
||||
@SaCheckLogin
|
||||
public Result meetingRemark(@Param("meetingId") String meetingId,
|
||||
@Param("timeId") String timeId,
|
||||
@Param("emplid") String emplid) {
|
||||
return Result.success(congressH5Service.meetingRemark(meetingId, timeId, emplid));
|
||||
}
|
||||
|
||||
@At("/signin")
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.democratic.congress.service;
|
||||
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import org.nutz.lang.util.NutMap;
|
||||
|
||||
import java.util.List;
|
||||
@@ -11,9 +12,14 @@ public interface CongressH5Service {
|
||||
|
||||
List<NutMap> materialsTypeList();
|
||||
|
||||
List<NutMap> materialsList(String typeId, String sessionId, String emplid);
|
||||
Pagination<NutMap> materialsList(String typeId, String sessionId, String emplid, String searchKeyword,
|
||||
String fileType, String uploadTimeOrder, Integer pageNumber, Integer pageSize);
|
||||
|
||||
List<NutMap> userMeetingList(String sessionId, String emplid);
|
||||
Pagination<NutMap> userMeetingList(String sessionId, String emplid, String searchKeyword,
|
||||
String signTimeStatus, String signInCountStatus, String signStatus,
|
||||
Integer pageNumber, Integer pageSize);
|
||||
|
||||
NutMap meetingRemark(String meetingId, String sessionId, String emplid);
|
||||
|
||||
Result signin(String repId, String sessionId, String timeId, String meetingId);
|
||||
|
||||
|
||||
+124
-7
@@ -1,6 +1,7 @@
|
||||
package com.budwk.app.zhgh.democratic.congress.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.budwk.app.base.page.Pagination;
|
||||
import com.budwk.app.base.result.Result;
|
||||
import com.budwk.app.web.commons.auth.utils.SecurityUtil;
|
||||
import com.budwk.app.zhgh.democratic.congress.service.CongressH5Service;
|
||||
@@ -44,6 +45,7 @@ public class CongressH5ServiceImpl implements CongressH5Service {
|
||||
AND COALESCE(dg.delFlag, 0) = 0
|
||||
WHERE d.loginName = @emplid
|
||||
AND COALESCE(d.delFlag, 0) = 0
|
||||
AND COALESCE(s.enable, 0) = 1
|
||||
ORDER BY s.startDate DESC, s.createdAt DESC, s.id DESC
|
||||
""");
|
||||
sql.setParam("emplid", loginName);
|
||||
@@ -90,9 +92,13 @@ public class CongressH5ServiceImpl implements CongressH5Service {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NutMap> materialsList(String typeId, String sessionId, String emplid) {
|
||||
public Pagination<NutMap> materialsList(String typeId, String sessionId, String emplid, String searchKeyword,
|
||||
String fileType, String uploadTimeOrder, Integer pageNumber, Integer pageSize) {
|
||||
String loginName = loginName(emplid);
|
||||
Sql sql = Sqls.create("""
|
||||
int currentPage = pageNumber == null || pageNumber < 1 ? 1 : pageNumber;
|
||||
int currentSize = pageSize == null || pageSize < 1 ? 10 : Math.min(pageSize, 50);
|
||||
String orderBy = "asc".equalsIgnoreCase(uploadTimeOrder) ? "ASC" : "DESC";
|
||||
Sql sql = Sqls.create(("""
|
||||
SELECT
|
||||
cm.id,
|
||||
cm.session_id AS sessionId,
|
||||
@@ -126,19 +132,50 @@ public class CongressH5ServiceImpl implements CongressH5Service {
|
||||
WHERE COALESCE(cm.deleted, 0) = 0
|
||||
AND cm.type_id = @typeId
|
||||
AND (cm.session_id = @sessionId OR cm.time_id = @sessionId)
|
||||
ORDER BY cm.sort_no ASC, cm.create_time DESC
|
||||
""");
|
||||
AND (@searchKeyword = '' OR cm.name LIKE CONCAT('%%', @searchKeyword, '%%')
|
||||
OR cm.file_name LIKE CONCAT('%%', @searchKeyword, '%%'))
|
||||
AND (@fileType = '' OR FIND_IN_SET(LOWER(REPLACE(cm.file_type, '.', '')), @fileType) > 0
|
||||
OR FIND_IN_SET(LOWER(SUBSTRING_INDEX(cm.file_name, '.', -1)), @fileType) > 0)
|
||||
ORDER BY cm.create_time %s, cm.id DESC
|
||||
""").formatted(orderBy));
|
||||
sql.setParam("typeId", typeId);
|
||||
sql.setParam("sessionId", sessionId);
|
||||
sql.setParam("emplid", loginName);
|
||||
sql.setParam("searchKeyword", StrUtil.blankToDefault(searchKeyword, ""));
|
||||
sql.setParam("fileType", StrUtil.blankToDefault(fileType, ""));
|
||||
sql.setPager(dao.createPager(currentPage, currentSize));
|
||||
sql.setCallback(Sqls.callback.maps());
|
||||
dao.execute(sql);
|
||||
return sql.getList(NutMap.class);
|
||||
|
||||
int totalCount = count("""
|
||||
SELECT COUNT(DISTINCT cm.id)
|
||||
FROM congress_materials cm
|
||||
INNER JOIN teacher_congress_delegate d ON d.sessionId = cm.session_id
|
||||
AND d.loginName = @emplid
|
||||
AND COALESCE(d.delFlag, 0) = 0
|
||||
WHERE COALESCE(cm.deleted, 0) = 0
|
||||
AND cm.type_id = @typeId
|
||||
AND (cm.session_id = @sessionId OR cm.time_id = @sessionId)
|
||||
AND (@searchKeyword = '' OR cm.name LIKE CONCAT('%%', @searchKeyword, '%%')
|
||||
OR cm.file_name LIKE CONCAT('%%', @searchKeyword, '%%'))
|
||||
AND (@fileType = '' OR FIND_IN_SET(LOWER(REPLACE(cm.file_type, '.', '')), @fileType) > 0
|
||||
OR FIND_IN_SET(LOWER(SUBSTRING_INDEX(cm.file_name, '.', -1)), @fileType) > 0)
|
||||
""", NutMap.NEW()
|
||||
.addv("typeId", typeId)
|
||||
.addv("sessionId", sessionId)
|
||||
.addv("emplid", loginName)
|
||||
.addv("searchKeyword", StrUtil.blankToDefault(searchKeyword, ""))
|
||||
.addv("fileType", StrUtil.blankToDefault(fileType, "")));
|
||||
return new Pagination<>(currentPage, currentSize, totalCount, sql.getList(NutMap.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<NutMap> userMeetingList(String sessionId, String emplid) {
|
||||
public Pagination<NutMap> userMeetingList(String sessionId, String emplid, String searchKeyword,
|
||||
String signTimeStatus, String signInCountStatus, String signStatus,
|
||||
Integer pageNumber, Integer pageSize) {
|
||||
String loginName = loginName(emplid);
|
||||
int currentPage = pageNumber == null || pageNumber < 1 ? 1 : pageNumber;
|
||||
int currentSize = pageSize == null || pageSize < 1 ? 10 : Math.min(pageSize, 50);
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
m.id,
|
||||
@@ -166,13 +203,93 @@ public class CongressH5ServiceImpl implements CongressH5Service {
|
||||
AND si.rep_id = d.id
|
||||
WHERE COALESCE(m.deleted, 0) = 0
|
||||
AND (m.session_id = @sessionId OR m.time_id = @sessionId)
|
||||
AND (@searchKeyword = '' OR m.meeting_name LIKE CONCAT('%', @searchKeyword, '%'))
|
||||
AND (@signTimeStatus = ''
|
||||
OR (@signTimeStatus = 'upcoming' AND m.sign_in_start_time > NOW())
|
||||
OR (@signTimeStatus = 'ongoing' AND m.sign_in_start_time <= NOW() AND m.sign_in_end_time >= NOW())
|
||||
OR (@signTimeStatus = 'ended' AND m.sign_in_end_time < NOW()))
|
||||
AND (@signInCountStatus = ''
|
||||
OR (@signInCountStatus = 'has' AND EXISTS (
|
||||
SELECT 1 FROM congress_sign_in count_si
|
||||
WHERE count_si.meeting_id = m.id AND COALESCE(count_si.deleted, 0) = 0))
|
||||
OR (@signInCountStatus = 'none' AND NOT EXISTS (
|
||||
SELECT 1 FROM congress_sign_in count_si
|
||||
WHERE count_si.meeting_id = m.id AND COALESCE(count_si.deleted, 0) = 0)))
|
||||
AND (@signStatus = ''
|
||||
OR (@signStatus = 'signed' AND si.id IS NOT NULL)
|
||||
OR (@signStatus = 'unsigned' AND si.id IS NULL))
|
||||
ORDER BY m.sign_in_start_time DESC, m.create_time DESC
|
||||
""");
|
||||
sql.setParam("sessionId", sessionId);
|
||||
sql.setParam("emplid", loginName);
|
||||
sql.setParam("searchKeyword", StrUtil.blankToDefault(searchKeyword, ""));
|
||||
sql.setParam("signTimeStatus", StrUtil.blankToDefault(signTimeStatus, ""));
|
||||
sql.setParam("signInCountStatus", StrUtil.blankToDefault(signInCountStatus, ""));
|
||||
sql.setParam("signStatus", StrUtil.blankToDefault(signStatus, ""));
|
||||
sql.setPager(dao.createPager(currentPage, currentSize));
|
||||
sql.setCallback(Sqls.callback.maps());
|
||||
dao.execute(sql);
|
||||
return sql.getList(NutMap.class);
|
||||
|
||||
int totalCount = count("""
|
||||
SELECT COUNT(DISTINCT m.id)
|
||||
FROM congress_sign_in_meeting m
|
||||
INNER JOIN teacher_congress_delegate d ON d.sessionId = m.session_id
|
||||
AND d.loginName = @emplid
|
||||
AND COALESCE(d.delFlag, 0) = 0
|
||||
LEFT JOIN congress_sign_in si ON m.id = si.meeting_id
|
||||
AND COALESCE(si.deleted, 0) = 0
|
||||
AND si.rep_id = d.id
|
||||
WHERE COALESCE(m.deleted, 0) = 0
|
||||
AND (m.session_id = @sessionId OR m.time_id = @sessionId)
|
||||
AND (@searchKeyword = '' OR m.meeting_name LIKE CONCAT('%', @searchKeyword, '%'))
|
||||
AND (@signTimeStatus = ''
|
||||
OR (@signTimeStatus = 'upcoming' AND m.sign_in_start_time > NOW())
|
||||
OR (@signTimeStatus = 'ongoing' AND m.sign_in_start_time <= NOW() AND m.sign_in_end_time >= NOW())
|
||||
OR (@signTimeStatus = 'ended' AND m.sign_in_end_time < NOW()))
|
||||
AND (@signInCountStatus = ''
|
||||
OR (@signInCountStatus = 'has' AND EXISTS (
|
||||
SELECT 1 FROM congress_sign_in count_si
|
||||
WHERE count_si.meeting_id = m.id AND COALESCE(count_si.deleted, 0) = 0))
|
||||
OR (@signInCountStatus = 'none' AND NOT EXISTS (
|
||||
SELECT 1 FROM congress_sign_in count_si
|
||||
WHERE count_si.meeting_id = m.id AND COALESCE(count_si.deleted, 0) = 0)))
|
||||
AND (@signStatus = ''
|
||||
OR (@signStatus = 'signed' AND si.id IS NOT NULL)
|
||||
OR (@signStatus = 'unsigned' AND si.id IS NULL))
|
||||
""", NutMap.NEW()
|
||||
.addv("sessionId", sessionId)
|
||||
.addv("emplid", loginName)
|
||||
.addv("searchKeyword", StrUtil.blankToDefault(searchKeyword, ""))
|
||||
.addv("signTimeStatus", StrUtil.blankToDefault(signTimeStatus, ""))
|
||||
.addv("signInCountStatus", StrUtil.blankToDefault(signInCountStatus, ""))
|
||||
.addv("signStatus", StrUtil.blankToDefault(signStatus, "")));
|
||||
return new Pagination<>(currentPage, currentSize, totalCount, sql.getList(NutMap.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public NutMap meetingRemark(String meetingId, String sessionId, String emplid) {
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
m.id,
|
||||
m.meeting_name AS meetingName,
|
||||
m.remark,
|
||||
m.session_id AS sessionId,
|
||||
COALESCE(m.time_id, m.session_id) AS timeId
|
||||
FROM congress_sign_in_meeting m
|
||||
INNER JOIN teacher_congress_delegate d ON d.sessionId = m.session_id
|
||||
AND d.loginName = @emplid
|
||||
AND COALESCE(d.delFlag, 0) = 0
|
||||
WHERE m.id = @meetingId
|
||||
AND COALESCE(m.deleted, 0) = 0
|
||||
AND (m.session_id = @sessionId OR m.time_id = @sessionId)
|
||||
LIMIT 1
|
||||
""");
|
||||
sql.setParam("meetingId", meetingId);
|
||||
sql.setParam("sessionId", sessionId);
|
||||
sql.setParam("emplid", loginName(emplid));
|
||||
sql.setCallback(Sqls.callback.map());
|
||||
dao.execute(sql);
|
||||
return sql.getObject(NutMap.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user