学生奖惩内容
This commit is contained in:
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"java.compile.nullAnalysis.mode": "automatic"
|
||||
}
|
||||
@@ -111,7 +111,7 @@ public class DmsNeedCardStuServiceImpl extends ServiceImpl<DmsNeedCardStuMapper,
|
||||
// 拼接成"2023001|2023002|2023003"格式
|
||||
String toUser = String.join("|", batch);
|
||||
// 调用你的发送消息方法
|
||||
weChatUtil.sendTextMessage(toUser, msg);
|
||||
//weChatUtil.sendTextMessage(toUser, msg);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -163,7 +163,8 @@ public class DmsNeedCardStuServiceImpl extends ServiceImpl<DmsNeedCardStuMapper,
|
||||
// 拼接成"2023001|2023002|2023003"格式
|
||||
String toUser = String.join("|", batch);
|
||||
// 调用你的发送消息方法
|
||||
weChatUtil.sendTextMessage(toUser, msg);
|
||||
// todo 先暂停
|
||||
//weChatUtil.sendTextMessage(toUser, msg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -397,7 +397,7 @@ public class CphBiyeApplyController extends BaseController {
|
||||
/**
|
||||
* 修改优秀毕业生
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('comprehensive:biyeapply:edit')")
|
||||
// @PreAuthorize("@ss.hasPermi('comprehensive:biyeapply:edit')")
|
||||
@Log(title = "优秀毕业生", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改优秀毕业生")
|
||||
|
||||
@@ -53,12 +53,7 @@ public class CphGoodAuditController extends BaseController {
|
||||
@PostMapping("/changeApply")
|
||||
@ApiOperation("修改评优申请记录")
|
||||
public AjaxResult changeApply(@RequestBody CphGoodAudit param){
|
||||
boolean hasRole = RoleBool.isJwc(getUserId(),_postService);
|
||||
if(hasRole){
|
||||
return cphGoodAuditService.changeApply(param);
|
||||
}else{
|
||||
return AjaxResult.error(401,"你无权做这些");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -385,7 +385,7 @@ public class CphLakeApplyController extends BaseController {
|
||||
/**
|
||||
* 修改静湖之星申请
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('comprehensive:lakeapply:edit')")
|
||||
// @PreAuthorize("@ss.hasPermi('comprehensive:lakeapply:edit')")
|
||||
@Log(title = "静湖之星申请", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改静湖之星申请")
|
||||
|
||||
@@ -2,33 +2,34 @@ package com.srs.web.controller.comprehensive;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.srs.comprehensive.domain.CphBiyeApply;
|
||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||
import com.srs.comprehensive.domain.Vo.ExcelGoodClass;
|
||||
import com.srs.system.domain.SysDeptMap;
|
||||
import com.srs.system.service.ISysDeptMapService;
|
||||
import com.srs.system.service.ISysPostService;
|
||||
import com.srs.web.controller.common.RoleBool;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import io.swagger.annotations.*;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
|
||||
import com.srs.comprehensive.domain.CphNewGoodClassApply;
|
||||
import com.srs.comprehensive.service.ICphNewGoodClassApplyService;
|
||||
import com.srs.common.core.controller.BaseController;
|
||||
import com.srs.common.core.domain.AjaxResult;
|
||||
import com.srs.common.utils.poi.ExcelUtil;
|
||||
import com.srs.common.enums.BusinessType;
|
||||
import com.srs.common.annotation.Log;
|
||||
import com.srs.common.core.page.TableDataInfo;
|
||||
import com.srs.common.enums.BusinessType;
|
||||
import com.srs.comprehensive.domain.CphNewGoodClassApply;
|
||||
import com.srs.comprehensive.domain.Dto.CphCancel;
|
||||
import com.srs.comprehensive.domain.Vo.ExcelGoodClass;
|
||||
import com.srs.comprehensive.service.ICphNewGoodClassApplyService;
|
||||
import com.srs.system.domain.SysDeptMap;
|
||||
import com.srs.system.service.ISysDeptMapService;
|
||||
import com.srs.system.service.ISysPostService;
|
||||
import com.srs.common.utils.poi.ExcelUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import com.srs.common.annotation.Log;
|
||||
|
||||
/**
|
||||
* 先进班集体Controller
|
||||
@@ -376,7 +377,7 @@ public class CphNewGoodClassApplyController extends BaseController {
|
||||
/**
|
||||
* 修改先进班集体
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('comprehensive:newClassGoodApply:edit')")
|
||||
// @PreAuthorize("@ss.hasPermi('comprehensive:newClassGoodApply:edit')")
|
||||
@Log(title = "先进班集体", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改先进班集体")
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.srs.web.controller.routine;
|
||||
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
@@ -40,8 +41,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('routine:school:list')")
|
||||
@GetMapping("/list")
|
||||
@ApiOperation("查询测试列表")
|
||||
public TableDataInfo list(RtStuAtSchool rtStuAtSchool)
|
||||
{
|
||||
public TableDataInfo list(RtStuAtSchool rtStuAtSchool) {
|
||||
startPage();
|
||||
List<RtStuAtSchool> list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool);
|
||||
return getDataTable(list);
|
||||
@@ -54,8 +54,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@Log(title = "测试", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
@ApiOperation("导出测试列表")
|
||||
public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool)
|
||||
{
|
||||
public void export(HttpServletResponse response, RtStuAtSchool rtStuAtSchool) {
|
||||
List<RtStuAtSchool> list = rtStuAtSchoolService.selectRtStuAtSchoolList(rtStuAtSchool);
|
||||
ExcelUtil<RtStuAtSchool> util = new ExcelUtil<RtStuAtSchool>(RtStuAtSchool.class);
|
||||
util.exportExcel(response, list, "测试数据");
|
||||
@@ -67,8 +66,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@PreAuthorize("@ss.hasPermi('routine:school:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
@ApiOperation("获取测试详细信息")
|
||||
public AjaxResult getInfo(@PathVariable("id") Integer id)
|
||||
{
|
||||
public AjaxResult getInfo(@PathVariable("id") Integer id) {
|
||||
return success(rtStuAtSchoolService.selectRtStuAtSchoolById(id));
|
||||
}
|
||||
|
||||
@@ -79,8 +77,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@Log(title = "测试", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增测试")
|
||||
public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool)
|
||||
{
|
||||
public AjaxResult add(@RequestBody RtStuAtSchool rtStuAtSchool) {
|
||||
return toAjax(rtStuAtSchoolService.insertRtStuAtSchool(rtStuAtSchool));
|
||||
}
|
||||
|
||||
@@ -91,8 +88,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@Log(title = "测试", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改测试")
|
||||
public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool)
|
||||
{
|
||||
public AjaxResult edit(@RequestBody RtStuAtSchool rtStuAtSchool) {
|
||||
return toAjax(rtStuAtSchoolService.updateRtStuAtSchool(rtStuAtSchool));
|
||||
}
|
||||
|
||||
@@ -103,8 +99,7 @@ public class RtStuAtSchoolController extends BaseController {
|
||||
@Log(title = "测试", businessType = BusinessType.DELETE)
|
||||
@PostMapping("/{ids}")
|
||||
@ApiOperation("删除测试")
|
||||
public AjaxResult remove(@PathVariable Integer[] ids)
|
||||
{
|
||||
public AjaxResult remove(@PathVariable Integer[] ids) {
|
||||
return toAjax(rtStuAtSchoolService.deleteRtStuAtSchoolByIds(ids));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,6 +202,13 @@ public class SurItineraryController extends BaseController {
|
||||
return surItineraryService.manyLeaveAudit(ids);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')")
|
||||
@PostMapping("/manyLeaveReject")
|
||||
@ApiOperation("辅导员批量离校审核驳回")
|
||||
public AjaxResult manyLeaveReject(@RequestBody Long[] ids){
|
||||
return surItineraryService.manyLeaveReject(ids);
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasPermi('survey:itinerary:leaveAudit')")
|
||||
@PostMapping("/leaveAudit")
|
||||
@ApiOperation("辅导员离校审核")
|
||||
@@ -355,13 +362,12 @@ public class SurItineraryController extends BaseController {
|
||||
/**
|
||||
* 修改学生假期返校
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('survey:itinerary:edit')")
|
||||
@Log(title = "学生假期返校", businessType = BusinessType.UPDATE)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("修改学生假期返校")
|
||||
public AjaxResult edit(@RequestBody SurItinerary surItinerary)
|
||||
{
|
||||
return toAjax(surItineraryService.updateSurItinerary(surItinerary));
|
||||
return toAjax(surItineraryService.updateById(surItinerary));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.srs.comprehensive.domain;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.srs.common.annotation.Excel;
|
||||
|
||||
@@ -89,6 +89,12 @@ public class SrsClass extends BaseEntity {
|
||||
})
|
||||
private CphTeacher teacher;
|
||||
|
||||
/**
|
||||
* 辅导员名称
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
private String teacherName;
|
||||
|
||||
// /**
|
||||
// * 辅导员
|
||||
// */
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package com.srs.comprehensive.domain.Vo;
|
||||
|
||||
import com.srs.common.annotation.Excel;
|
||||
import com.srs.common.core.domain.BaseEntity;
|
||||
|
||||
/**
|
||||
* @author zhy
|
||||
* @date 2024-05-21 15:05
|
||||
* @description
|
||||
*/
|
||||
public class ExcelGoodClass {
|
||||
public class ExcelGoodClass extends BaseEntity {
|
||||
|
||||
@Excel(name = "学院")
|
||||
public String deptName;
|
||||
|
||||
@@ -68,6 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<if test="className != null and className != ''"> and class_name like concat('%', #{className}, '%')</if>
|
||||
<if test="deptId != null "> and d.dept_id = #{deptId}</if>
|
||||
<if test="status != null and status != ''"> and status = #{status}</if>
|
||||
<if test="teacherName != null and teacherName != ''"> and t.name like concat('%', #{teacherName}, '%')</if>
|
||||
|
||||
</where>
|
||||
order by class_code desc
|
||||
|
||||
@@ -34,34 +34,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</select>
|
||||
<select id="listView" parameterType="CphSearch" resultType="SrsKnrdApply">
|
||||
select a.*,d.major_type_name
|
||||
select a.*, d.major_type_name, g.step as latest_step, g.status as latest_status
|
||||
from srs_knrd_apply as a
|
||||
left join srs_student as b on a.xh = b.stu_no
|
||||
left join srs_class as c on b.class_id = c.class_id
|
||||
left join srs_majors as d on c.major_id = d.major_id
|
||||
left join cph_teacher as e on c.teacher_id = e.teacher_id
|
||||
-- left join srs_knrd_approval_record r on r.apply_id=a.id
|
||||
left join sys_dept_map as f on d.college_id = f.old_dept_id
|
||||
|
||||
left join (
|
||||
SELECT * FROM srs_knrd_approval_record as record where id in(
|
||||
select MAX(id) FROM srs_knrd_approval_record GROUP BY apply_id
|
||||
)
|
||||
SELECT r1.*
|
||||
FROM srs_knrd_approval_record r1
|
||||
INNER JOIN (
|
||||
SELECT apply_id, MAX(id) as max_id
|
||||
FROM srs_knrd_approval_record
|
||||
GROUP BY apply_id
|
||||
) r2 ON r1.apply_id = r2.apply_id AND r1.id = r2.max_id
|
||||
) as g on g.apply_id = a.id
|
||||
where a.step != 0 and a.step != 1
|
||||
<if test="collegeId != null"> and d.college_id = #{collegeId}</if>
|
||||
<!-- <if test="step != null "> and r.step = #{step}</if>-->
|
||||
<if test="tNo != null"> and e.employee_id = #{tNo}</if>
|
||||
<if test="deptId != null"> and f.new_dept_id = #{deptId}</if>
|
||||
<if test="stuNo != null"> and a.xh = #{stuNo}</if>
|
||||
<if test="sfzhm != null"> and a.sfzhm = #{sfzhm}</if>
|
||||
<if test="xm != null"> and a.xm like concat('%',#{xm},'%')</if>
|
||||
<if test="xh != null"> and a.xh like concat('%',#{xh},'%')</if>
|
||||
<if test="yj != null "> and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or xsqmyj = #{yj})</if>
|
||||
<if test="yj != null"> and (a.bjpyyj = #{yj} or a.ejxyldqmyj = #{yj} or a.xsqmyj = #{yj})</if>
|
||||
<if test="applyYear != null"> and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
|
||||
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
<select id="selectSrsKnrdApprovalRecordByIds" resultType="SrsKnrdApprovalRecord">
|
||||
select * from srs_knrd_approval_record where apply_id=#{id}
|
||||
</select>
|
||||
|
||||
@@ -280,36 +280,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
a.bankCard as bankCard,
|
||||
a.bankAddr as bankAddr,
|
||||
a.xxqm as xxqm,
|
||||
-- f.step as step,
|
||||
-- f.status as status,
|
||||
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 0 or penalty_status = 2)) as penalty_status0,
|
||||
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 1 )) as penalty_status1,
|
||||
EXISTS(SELECT application_id FROM rt_stu_disciplinary_application rsda WHERE rsda.stu_no = a.xh and (penalty_status = 3 )) as penalty_status3,
|
||||
a.sfzhm as sfzhm,d.major_type_name
|
||||
COALESCE(penalty.penalty_status0, 0) as penalty_status0,
|
||||
COALESCE(penalty.penalty_status1, 0) as penalty_status1,
|
||||
COALESCE(penalty.penalty_status3, 0) as penalty_status3,
|
||||
a.sfzhm as sfzhm,
|
||||
d.major_type_name
|
||||
from srs_zxj_apply as a
|
||||
left join srs_student as b on a.xh = b.stu_no
|
||||
left join srs_class as c on b.class_id = c.class_id
|
||||
left join srs_majors as d on c.major_id = d.major_id
|
||||
left join cph_teacher as e on c.teacher_id = e.teacher_id
|
||||
left join (
|
||||
SELECT * FROM srs_zxj_approval_record as record where id in(
|
||||
select MAX(id) FROM srs_zxj_approval_record GROUP BY apply_id
|
||||
)
|
||||
SELECT * FROM (
|
||||
SELECT *,
|
||||
ROW_NUMBER() OVER (PARTITION BY apply_id ORDER BY id DESC) as rn
|
||||
FROM srs_zxj_approval_record
|
||||
) record where rn = 1
|
||||
) as f on f.apply_id = a.id
|
||||
left join sys_dept_map as g on d.college_id = g.old_dept_id
|
||||
left join (
|
||||
SELECT stu_no,
|
||||
MAX(CASE WHEN penalty_status IN (0, 2) THEN 1 ELSE 0 END) as penalty_status0,
|
||||
MAX(CASE WHEN penalty_status = 1 THEN 1 ELSE 0 END) as penalty_status1,
|
||||
MAX(CASE WHEN penalty_status = 3 THEN 1 ELSE 0 END) as penalty_status3
|
||||
FROM rt_stu_disciplinary_application
|
||||
GROUP BY stu_no
|
||||
) penalty on penalty.stu_no = a.xh
|
||||
<where>
|
||||
<!-- <if test="step != null "> and exists (select apply_id from srs_zxj_approval_record r where r.step = ${step} and r.apply_id = a.id )</if>-->
|
||||
<if test="tNo != null ">and e.employee_id = #{tNo}</if>
|
||||
<if test="deptId != null ">and g.new_dept_id = #{deptId}</if>
|
||||
<if test="stuNo != null ">and a.xh = #{stuNo}</if>
|
||||
<if test="xm != null ">and a.xm like concat('%',#{xm},'%')</if>
|
||||
<if test="xh != null ">and a.xh like concat('%',#{xh},'%')</if>
|
||||
<if test="status != null "> and (a.status1 = #{status} or a.status2 = #{status} or a.status3 = #{status})</if>
|
||||
<if test="status != null ">and (a.status1 = #{status} or a.status2 = #{status} or a.status3 = #{status})
|
||||
</if>
|
||||
<if test="applyYear != null">and a.apply_year like CONCAT('%',#{applyYear},'%')</if>
|
||||
</where>
|
||||
order by a.id desc
|
||||
</select>
|
||||
|
||||
|
||||
<insert id="insertSrsZxjApply" parameterType="SrsZxjApply" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into srs_zxj_apply
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
||||
@@ -80,7 +80,7 @@ public class BoStartListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
//weChatUtil.sendTextMessage(userName, content);
|
||||
@@ -122,7 +122,7 @@ public class BoStartListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -90,7 +90,7 @@ public class CounselorListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -149,7 +149,7 @@ public class LeadAuditListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -106,7 +106,7 @@ public class LeadEentListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -82,7 +82,7 @@ public class LeadStartListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -105,7 +105,7 @@ public class LeaveApproveListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content); // 发送消息的方法
|
||||
|
||||
@@ -81,7 +81,7 @@ public class LeaveStartApproveListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -85,7 +85,7 @@ public class SecondaryLeaderListener implements ExecutionListener {
|
||||
// WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
//
|
||||
// // 构造包含超链接的消息内容
|
||||
// String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
// String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
//
|
||||
// // 步骤 4: 使用 userName 作为接收人发送消息
|
||||
// //weChatUtil.sendTextMessage(userName, content);
|
||||
@@ -117,7 +117,7 @@ public class SecondaryLeaderListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
String content = "您有待处理任务,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -60,7 +60,7 @@ public class ArchivingNotifyListener implements ExecutionListener {
|
||||
List<String> userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList);
|
||||
if (userNameList != null && !userNameList.isEmpty()) {
|
||||
String toUser = String.join("|", userNameList);
|
||||
String weChatMessage = "您有一条新的学生违纪归档任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String weChatMessage = "您有一条新的学生违纪归档任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
weChatUtil.sendTextMessage(toUser, weChatMessage);
|
||||
log.info("已成功向归档角色 ({}) 发送企业微信通知。", ARCHIVING_ROLE_KEY);
|
||||
} else {
|
||||
@@ -73,7 +73,7 @@ public class ArchivingNotifyListener implements ExecutionListener {
|
||||
String activityId = (nextElement != null) ? nextElement.getId() : "Activity_1agoizv"; // 节点的ID作为备用
|
||||
|
||||
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
|
||||
execution.getProcessInstanceId(), activityId);
|
||||
String internalMessageContent = messageText + link + hiddenIdentifier;
|
||||
|
||||
@@ -39,7 +39,7 @@ public class EJXYSJListener implements ExecutionListener {
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有一条新的学生违纪审批任务待处理," +
|
||||
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -50,12 +50,12 @@ public class InitiatorNotificationListener implements ExecutionListener {
|
||||
|
||||
// --- 2. 准备通知内容 (解决taskName为空的问题) ---
|
||||
String nextTaskName = getNextTaskName(execution);
|
||||
String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String weChatMessage = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String internalMessageText = "您有一条新的【" + nextTaskName + "】待办任务需要处理。";
|
||||
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
|
||||
execution.getProcessInstanceId(),
|
||||
((SequenceFlow) execution.getCurrentFlowElement()).getTargetRef());
|
||||
String internalMessageContent = internalMessageText + "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。" + hiddenIdentifier;
|
||||
String internalMessageContent = internalMessageText + "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。" + hiddenIdentifier;
|
||||
|
||||
// --- 3. 发送企业微信通知 ---
|
||||
sendWeChatNotification(initiatorUserId, weChatMessage);
|
||||
|
||||
@@ -46,7 +46,7 @@ public class InitiatorResultListener implements ExecutionListener {
|
||||
if (initiatorUserName != null && !initiatorUserName.isEmpty()) {
|
||||
// 4. 发送通知
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
String content = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。\"";
|
||||
String content = "您提交的学生违纪处分申请已有最终处理结果,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。\"";
|
||||
|
||||
weChatUtil.sendTextMessage(initiatorUserName, content);
|
||||
log.info("已成功向流程发起人 ({}) 发送结果通知。", initiatorUserName);
|
||||
|
||||
@@ -47,7 +47,7 @@ public class MultiInstanceMessageListener implements ExecutionListener {
|
||||
|
||||
// --- 步骤 3: 准备消息内容 ---
|
||||
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
|
||||
execution.getProcessInstanceId(),
|
||||
activityId);
|
||||
|
||||
@@ -60,7 +60,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener {
|
||||
List<String> userNameList = disciplinaryMapper.getUserNamesByUserIdList(userIdList);
|
||||
if (userNameList != null && !userNameList.isEmpty()) {
|
||||
String toUser = String.join("|", userNameList);
|
||||
String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String weChatMessage = "校领导您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
weChatUtil.sendTextMessage(toUser, weChatMessage);
|
||||
log.info("已成功向校领导 (角色: {}) 发送企业微信通知。", LEADER_ROLE_KEY);
|
||||
}
|
||||
@@ -71,7 +71,7 @@ public class SchoolLeaderApprovalListener implements ExecutionListener {
|
||||
String activityId = (nextElement != null) ? nextElement.getId() : "Activity_0ftj9eo";
|
||||
|
||||
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
|
||||
execution.getProcessInstanceId(), activityId);
|
||||
String internalMessageContent = messageText + link + hiddenIdentifier;
|
||||
|
||||
@@ -106,7 +106,7 @@ public class StuInfoListener implements ExecutionListener {
|
||||
|
||||
|
||||
String messageText = "您有一条新的【" + taskName + "】待办任务需要处理。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String link = "<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String hiddenIdentifier = String.format("<span id='flow-identifier' data-proc-inst-id='%s' data-activity-id='%s' style='display:none;'></span>",
|
||||
execution.getProcessInstanceId(), activityId);
|
||||
String internalMessageContent = messageText + link + hiddenIdentifier;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class WSSListener implements ExecutionListener {
|
||||
String toUser = String.join("|", userNameList);
|
||||
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
|
||||
weChatUtil.sendTextMessage(toUser, content);
|
||||
log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser);
|
||||
|
||||
@@ -54,7 +54,7 @@ public class XGLDSHListener implements ExecutionListener {
|
||||
|
||||
String toUser = String.join("|", userNameList);
|
||||
String content = "您有一条新的学生违纪审批任务待处理," +
|
||||
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>";
|
||||
|
||||
weChatUtil.sendTextMessage(toUser, content);
|
||||
log.info("流程实例 [{}]: 已成功向角色 '{}' 成员发送企微通知,接收人: {}", processInstanceId, roleKey, toUser);
|
||||
|
||||
@@ -43,7 +43,7 @@ public class XLZXListener implements ExecutionListener {
|
||||
String toUser = String.join("|", userNameList);
|
||||
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
|
||||
weChatUtil.sendTextMessage(toUser, content);
|
||||
log.info("已成功向角色 '{}' 的成员发送通知。接收人: {}", TARGET_ROLE_KEY, toUser);
|
||||
|
||||
@@ -58,7 +58,7 @@ public class XSJYGLKListener implements ExecutionListener {
|
||||
String toUser = String.join("|", userNameList);
|
||||
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
|
||||
weChatUtil.sendTextMessage(toUser, content);
|
||||
log.info("已成功向角色 '{}' 的成员发送企业微信通知。接收人: {}", roleKey, toUser);
|
||||
|
||||
@@ -45,7 +45,7 @@ public class XWGSListener implements ExecutionListener {
|
||||
WeChatUtil weChatUtil = SpringUtils.getBean(WeChatUtil.class);
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
|
||||
// 步骤 4: 使用 userName 作为接收人发送消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -62,7 +62,7 @@ public class XYWJCLWYHListener implements ExecutionListener {
|
||||
return;
|
||||
}
|
||||
String toUser = String.join("|", userNameList);
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
String content = "您有一条新的学生违纪审批任务待处理,<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>请点击前往处理</a>。";
|
||||
weChatUtil.sendTextMessage(toUser, content);
|
||||
log.info("流程实例 [{}]: 已成功向'委员会'发送企微通知。", processInstanceId);
|
||||
} catch (Exception e) {
|
||||
|
||||
@@ -50,7 +50,7 @@ public class StuCounselorListener implements ExecutionListener {
|
||||
|
||||
// 构造包含超链接的消息内容
|
||||
String content = "您有一条新的学生违纪审批任务待处理," +
|
||||
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>点此查看</a>";
|
||||
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>点此查看</a>";
|
||||
|
||||
// 发送企业微信消息
|
||||
weChatUtil.sendTextMessage(userName, content);
|
||||
|
||||
@@ -37,7 +37,7 @@ public class StuReceiveListener implements ExecutionListener {
|
||||
|
||||
String content = "您的违纪处理流程有新的进展:" +
|
||||
approveResult + "," +
|
||||
"<a href='http://zhxg.gxsdxy.cn/web/#/pages/Approval/index'>点此查看详情</a>";
|
||||
"<a href='http://zhxg.gxsdxy.cn/wab/#/pages/Approval/index'>点此查看详情</a>";
|
||||
|
||||
// 发送企业微信消息
|
||||
weChatUtil.sendTextMessage(stuUserName, content);
|
||||
|
||||
@@ -26,22 +26,13 @@ public class RegTask {
|
||||
{
|
||||
List<SrsStuCheck> list= srsStuCheckService.getSrsStucheckList();
|
||||
for (SrsStuCheck m:list) {
|
||||
QueryWrapper<SrsStuCheck> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("ksh",m.getKsh());
|
||||
queryWrapper.last("limit 1");
|
||||
SrsStuCheck srsStuCheck=checkService.getOne(queryWrapper);
|
||||
if(srsStuCheck!=null){
|
||||
continue;
|
||||
}else{
|
||||
SrsStuCheck addSrsStuCheck=new SrsStuCheck();
|
||||
addSrsStuCheck.setIsCheck(m.getIsCheck());
|
||||
addSrsStuCheck.setKsh(m.getKsh());
|
||||
addSrsStuCheck.setCheckTime(m.getCheckTime());
|
||||
addSrsStuCheck.setCreateTime(getNowDate());
|
||||
addSrsStuCheck.setCreateBy("RegTask");
|
||||
checkService.save(addSrsStuCheck);
|
||||
}
|
||||
|
||||
SrsStuCheck srsStuCheck=new SrsStuCheck();
|
||||
srsStuCheck.setIsCheck(m.getIsCheck());
|
||||
srsStuCheck.setKsh(m.getKsh());
|
||||
srsStuCheck.setCheckTime(m.getCheckTime());
|
||||
UpdateWrapper<SrsStuCheck> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("ksh",m.getKsh());
|
||||
checkService.update(srsStuCheck,updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.srs.routine.domain;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.srs.common.annotation.Excel;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
@@ -10,7 +11,6 @@ import lombok.*;
|
||||
import com.srs.common.core.domain.BaseEntity;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 测试对象 rt_stu_at_school
|
||||
*
|
||||
@@ -101,7 +101,6 @@ private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
* 原因
|
||||
|
||||
*/
|
||||
@ApiModelProperty("原因")
|
||||
@TableField("because")
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
package com.srs.routine.service.impl;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.srs.common.annotation.Excel;
|
||||
import com.srs.common.core.domain.entity.SysUser;
|
||||
import com.srs.common.exception.ServiceException;
|
||||
import com.srs.common.utils.SecurityUtils;
|
||||
import com.srs.system.service.ISysUserService;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -61,18 +67,14 @@ public class RtStuAtSchoolServiceImpl extends ServiceImpl<RtStuAtSchoolMapper,Rt
|
||||
*/
|
||||
@Override
|
||||
public int insertRtStuAtSchool(RtStuAtSchool rtStuAtSchool) {
|
||||
|
||||
RtStuAtSchool rtStuAtSchool1 = rtStuAtSchoolMapper.selectRtStuAtSchoolByStudentId(rtStuAtSchool.getStudentId());
|
||||
if (rtStuAtSchool1 != null){
|
||||
throw new ServiceException("申请已提交,请勿重复提交", 500);
|
||||
}
|
||||
|
||||
SysUser sysUser = sysUserService.selectUserByUserName(rtStuAtSchool.getStudentId());
|
||||
if (sysUser == null) {
|
||||
throw new ServiceException("该学生不存在", 500);
|
||||
}
|
||||
|
||||
|
||||
return rtStuAtSchoolMapper.insertRtStuAtSchool(rtStuAtSchool);
|
||||
}
|
||||
|
||||
@@ -84,6 +86,12 @@ public class RtStuAtSchoolServiceImpl extends ServiceImpl<RtStuAtSchoolMapper,Rt
|
||||
*/
|
||||
@Override
|
||||
public int updateRtStuAtSchool(RtStuAtSchool rtStuAtSchool) {
|
||||
// 如果学工意见和学工审核状态不为空,去到当前登陆人的姓名赋值给学工姓名,并给学工处审核 时间赋值,取出当前时间
|
||||
if (rtStuAtSchool.getXgopinion() != null && rtStuAtSchool.getXgstatus() != null) {
|
||||
rtStuAtSchool.setXgname(SecurityUtils.getLoginUser().getUser().getNickName());
|
||||
rtStuAtSchool.setXgtime(new Date());
|
||||
}
|
||||
|
||||
return rtStuAtSchoolMapper.updateRtStuAtSchool(rtStuAtSchool);
|
||||
}
|
||||
|
||||
|
||||
@@ -115,7 +115,6 @@ private static final long serialVersionUID=1L;
|
||||
@ApiModelProperty("联系电话")
|
||||
@TableField("phone")
|
||||
@Excel(name = "联系电话")
|
||||
@Sensitive(desensitizedType = DesensitizedType.PHONE)
|
||||
public String phone;
|
||||
|
||||
/**
|
||||
@@ -132,7 +131,6 @@ private static final long serialVersionUID=1L;
|
||||
@ApiModelProperty("紧急联系人电话")
|
||||
@TableField("emergency_contact_phone")
|
||||
@Excel(name = "紧急联系人电话")
|
||||
@Sensitive(desensitizedType = DesensitizedType.PHONE)
|
||||
public String emergencyContactPhone;
|
||||
|
||||
/**
|
||||
@@ -190,7 +188,6 @@ private static final long serialVersionUID=1L;
|
||||
@ApiModelProperty("家长电话")
|
||||
@TableField("parent_phone")
|
||||
@Excel(name = "家长电话")
|
||||
@Sensitive(desensitizedType = DesensitizedType.PHONE)
|
||||
public String parentPhone;
|
||||
|
||||
/**
|
||||
@@ -331,4 +328,11 @@ private static final long serialVersionUID=1L;
|
||||
@TableField(exist = false)
|
||||
public Long pageSize;
|
||||
|
||||
/**
|
||||
* 是否填写筛选条件:null-全部,1-已填写,0-未填写
|
||||
*/
|
||||
@ApiModelProperty("是否填写筛选条件")
|
||||
@TableField(exist = false)
|
||||
public Integer isFilled;
|
||||
|
||||
}
|
||||
|
||||
@@ -60,6 +60,8 @@ public interface ISurItineraryService extends IService<SurItinerary> {
|
||||
|
||||
public AjaxResult manyLeaveAudit(Long[] ids);
|
||||
|
||||
public AjaxResult manyLeaveReject(Long[] ids);
|
||||
|
||||
public AjaxResult leaveAudit(SurItinerary param);
|
||||
|
||||
public List<SurItinerary> listView(SurItinerary param);
|
||||
|
||||
@@ -1,13 +1,25 @@
|
||||
package com.srs.survey.service.impl;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import static com.srs.common.utils.DateUtils.getNowDate;
|
||||
import static com.srs.common.utils.SecurityUtils.*;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.srs.common.core.domain.AjaxResult;
|
||||
import com.srs.common.core.domain.entity.SysUser;
|
||||
import com.srs.common.utils.WeChatUtil;
|
||||
@@ -26,22 +38,15 @@ import com.srs.dormitory.domain.SrsDormitoryStudent;
|
||||
import com.srs.dormitory.domain.Vo.DomInfo;
|
||||
import com.srs.dormitory.mapper.DmsDormitoryMapper;
|
||||
import com.srs.dormitory.mapper.SrsDormitoryStudentMapper;
|
||||
import com.srs.survey.domain.SurItinerary;
|
||||
import com.srs.survey.domain.SurSurvey;
|
||||
import com.srs.survey.domain.dto.LeaveRes;
|
||||
import com.srs.survey.domain.dto.ReturnRes;
|
||||
import com.srs.survey.domain.vo.SurItineraryStatisticsVo;
|
||||
import com.srs.survey.mapper.SurSurveyMapper;
|
||||
import com.srs.system.mapper.SysUserMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.srs.survey.mapper.SurItineraryMapper;
|
||||
import com.srs.survey.domain.SurItinerary;
|
||||
import com.srs.survey.mapper.SurSurveyMapper;
|
||||
import com.srs.survey.service.ISurItineraryService;
|
||||
|
||||
import static com.srs.common.utils.DateUtils.getNowDate;
|
||||
import static com.srs.common.utils.PageUtils.startPage;
|
||||
import static com.srs.common.utils.SecurityUtils.*;
|
||||
import com.srs.system.mapper.SysUserMapper;
|
||||
|
||||
/**
|
||||
* 学生假期返校Service业务层处理
|
||||
@@ -50,7 +55,8 @@ import static com.srs.common.utils.SecurityUtils.*;
|
||||
* @date 2025-03-14
|
||||
*/
|
||||
@Service
|
||||
public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurItinerary> implements ISurItineraryService {
|
||||
public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper, SurItinerary>
|
||||
implements ISurItineraryService {
|
||||
@Autowired
|
||||
private SurItineraryMapper surItineraryMapper;
|
||||
|
||||
@@ -135,7 +141,8 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
int batchSize = 900;
|
||||
SurSurvey surSurvey = surSurveyMapper.selectById(param.surveyId);
|
||||
String msg = "你还未填写"+surSurvey.getSurveyName()+"去向调查,请<a href=\"http://zhxg.gxsdxy.cn/wab/#/pages/sub/StuApply\">点击前往</a>填写";
|
||||
String msg = "你还未填写" + surSurvey.getSurveyName()
|
||||
+ "去向调查,请<a href=\"http://zhxg.gxsdxy.cn/wab/#/pages/sub/StuApply\">点击前往</a>填写";
|
||||
|
||||
// List<String> test = new ArrayList<>();
|
||||
// test.add("20240116");
|
||||
@@ -154,8 +161,7 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
List<SysUser> userList = sysUserMapper.selectList(
|
||||
new QueryWrapper<SysUser>()
|
||||
.in("user_name", notStuNos)
|
||||
);
|
||||
.in("user_name", notStuNos));
|
||||
|
||||
List<CphMsg> addList = new ArrayList<>();
|
||||
for (SysUser user : userList) {
|
||||
@@ -172,7 +178,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
throw new Exception("系统推送消息失败");
|
||||
}
|
||||
|
||||
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
@@ -234,7 +239,8 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
int batchSize = 900;
|
||||
SurSurvey surSurvey = surSurveyMapper.selectById(param.surveyId);
|
||||
String msg = "你还未填写"+surSurvey.getSurveyName()+"去向调查,请<a href=\\\"http://zhxg.gxsdxy.cn/wab/#/pages/sub/StuApply\\\">点击前往</a>填写";
|
||||
String msg = "你还未填写" + surSurvey.getSurveyName()
|
||||
+ "去向调查,请<a href=\\\"http://zhxg.gxsdxy.cn/wab/#/pages/sub/StuApply\\\">点击前往</a>填写";
|
||||
|
||||
for (int i = 0; i < notStuNos.size(); i += batchSize) {
|
||||
List<String> batch = notStuNos.subList(i, Math.min(i + batchSize, stuNos.size()));
|
||||
@@ -244,7 +250,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
weChatUtil.sendTextMessage(toUser, msg);
|
||||
}
|
||||
|
||||
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
@@ -384,11 +389,22 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
// 5. 拼接返回
|
||||
notList.addAll(isList);
|
||||
// 5. 根据isFilled参数筛选数据
|
||||
List<ViewStuInfo> filteredList = new ArrayList<>();
|
||||
if (param.isFilled == null) {
|
||||
// 全部:未提交 + 已提交
|
||||
filteredList.addAll(notList);
|
||||
filteredList.addAll(isList);
|
||||
} else if (param.isFilled == 1) {
|
||||
// 已填写:只返回已提交的
|
||||
filteredList.addAll(isList);
|
||||
} else if (param.isFilled == 0) {
|
||||
// 未填写:只返回未提交的
|
||||
filteredList.addAll(notList);
|
||||
}
|
||||
|
||||
// 分页处理
|
||||
int total = notList.size();
|
||||
int total = filteredList.size();
|
||||
int pageNum = (param.pageNum != null && param.pageNum > 0) ? param.pageNum.intValue() : 1;
|
||||
int pageSize = (param.pageSize != null && param.pageSize > 0) ? param.pageSize.intValue() : 10;
|
||||
int fromIndex = (pageNum - 1) * pageSize;
|
||||
@@ -399,12 +415,13 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
result.put("total", 0);
|
||||
result.put("code", 200);
|
||||
result.put("rows", new ArrayList<>());
|
||||
return result;
|
||||
}
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("total", total);
|
||||
result.put("code", 200);
|
||||
result.put("rows", notList.subList(fromIndex, toIndex));
|
||||
result.put("rows", filteredList.subList(fromIndex, toIndex));
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -439,11 +456,14 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
list.forEach(map -> {
|
||||
if (map.get("more_dept_name") != null) {
|
||||
if(Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(里建)") || Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(里建)")){
|
||||
if(map.get("submit_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null) {
|
||||
if (Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(里建)")
|
||||
|| Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(里建)")) {
|
||||
if (map.get("submit_num") != null && map.get("yingfanxiao") != null
|
||||
&& map.get("weifanxiao") != null) {
|
||||
map.put("stu_num", Integer.parseInt(map.get("submit_num").toString()));
|
||||
map.put("yingfanxiao", Integer.parseInt(map.get("submit_num").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("submit_num").toString()) - Integer.parseInt(map.get("yingfanxiao").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("submit_num").toString())
|
||||
- Integer.parseInt(map.get("yingfanxiao").toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -452,23 +472,35 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
list.forEach(map -> {
|
||||
if (map.get("more_dept_name") != null) {
|
||||
if (Objects.equals(map.get("more_dept_name").toString(), "信息工程学院(长堽)")) {
|
||||
Map<String, Object> map1 = list.stream().filter(m -> Objects.equals(m.get("more_dept_name").toString(), "信息工程学院(里建)")).findFirst().orElse(null);
|
||||
Map<String, Object> map1 = list.stream()
|
||||
.filter(m -> Objects.equals(m.get("more_dept_name").toString(), "信息工程学院(里建)")).findFirst()
|
||||
.orElse(null);
|
||||
if (map1 != null) {
|
||||
if(map.get("stu_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null && map.get("submit_num") != null) {
|
||||
map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) - Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map.get("yifanxiao").toString()));
|
||||
if (map.get("stu_num") != null && map.get("yingfanxiao") != null
|
||||
&& map.get("weifanxiao") != null && map.get("submit_num") != null) {
|
||||
map.put("stu_num", Integer.parseInt(map.get("stu_num").toString())
|
||||
- Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString())
|
||||
- Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString())
|
||||
- Integer.parseInt(map.get("yifanxiao").toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Objects.equals(map.get("more_dept_name").toString(), "经济管理学院(长堽)")) {
|
||||
Map<String, Object> map1 = list.stream().filter(m -> Objects.equals(m.get("more_dept_name").toString(), "经济管理学院(里建)")).findFirst().orElse(null);
|
||||
Map<String, Object> map1 = list.stream()
|
||||
.filter(m -> Objects.equals(m.get("more_dept_name").toString(), "经济管理学院(里建)")).findFirst()
|
||||
.orElse(null);
|
||||
if (map1 != null) {
|
||||
if(map.get("stu_num") != null && map.get("yingfanxiao")!= null && map.get("weifanxiao") != null && map.get("submit_num") != null) {
|
||||
map.put("stu_num", Integer.parseInt(map.get("stu_num").toString()) - Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString()) - Integer.parseInt(map.get("yifanxiao").toString()));
|
||||
if (map.get("stu_num") != null && map.get("yingfanxiao") != null
|
||||
&& map.get("weifanxiao") != null && map.get("submit_num") != null) {
|
||||
map.put("stu_num", Integer.parseInt(map.get("stu_num").toString())
|
||||
- Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("yingfanxiao", Integer.parseInt(map.get("yingfanxiao").toString())
|
||||
- Integer.parseInt(map1.get("submit_num").toString()));
|
||||
map.put("weifanxiao", Integer.parseInt(map.get("yingfanxiao").toString())
|
||||
- Integer.parseInt(map.get("yifanxiao").toString()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -483,7 +515,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
return surItineraryMapper.countWillLeave(surveyId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> countFdyClassWillLeave(Long surveyId, String fdyNo) {
|
||||
return surItineraryMapper.countFdyClassWillLeave(surveyId, fdyNo);
|
||||
@@ -516,7 +547,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
LocalDateTime prevDate = date.minusDays(1);
|
||||
|
||||
|
||||
String moreDeptName = map.get("more_dept_name").toString();
|
||||
queryWrapper.eq("survey_id", surveyId);
|
||||
queryWrapper.eq("more_dept_name", moreDeptName);
|
||||
@@ -544,7 +574,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
return surItineraryMapper.listReturnRes(surveyId);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult getStuCampus() {
|
||||
try {
|
||||
@@ -593,7 +622,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
throw new Exception("更新学生定位详细地址记录失败");
|
||||
}
|
||||
|
||||
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
@@ -638,7 +666,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult manyReturnAudit(Long[] ids) {
|
||||
try {
|
||||
@@ -765,7 +792,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult manyLeaveAudit(Long[] ids) {
|
||||
try {
|
||||
@@ -790,6 +816,30 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult manyLeaveReject(Long[] ids) {
|
||||
try {
|
||||
QueryWrapper<SurItinerary> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.in("return_school_id", ids);
|
||||
queryWrapper.eq("leave_status", "1");
|
||||
List<SurItinerary> list = surItineraryMapper.selectList(queryWrapper);
|
||||
if (list.size() == 0) {
|
||||
throw new Exception("未找到待审核记录");
|
||||
}
|
||||
for (SurItinerary surItinerary : list) {
|
||||
surItinerary.leaveStatus = "10";// 驳回参数
|
||||
}
|
||||
boolean res = this.updateBatchById(list);
|
||||
if (!res) {
|
||||
throw new Exception("批量拒绝失败");
|
||||
}
|
||||
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult leaveAudit(SurItinerary param) {
|
||||
try {
|
||||
@@ -846,7 +896,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult stuLeaveApply(SurItinerary param) {
|
||||
try {
|
||||
@@ -875,7 +924,6 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (param.returnSchoolId != null) {
|
||||
SurItinerary find = surItineraryMapper.selectById(param.returnSchoolId);
|
||||
if (find != null) {
|
||||
@@ -987,6 +1035,7 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
public int deleteSurItineraryByReturnSchoolId(Long returnSchoolId) {
|
||||
return surItineraryMapper.deleteSurItineraryByReturnSchoolId(returnSchoolId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核学生返校
|
||||
*/
|
||||
@@ -994,6 +1043,7 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
public int auditItinerary(Long returnSchoolId) {
|
||||
return surItineraryMapper.auditItinerary(returnSchoolId);
|
||||
}
|
||||
|
||||
/***
|
||||
* 批量审核
|
||||
*/
|
||||
@@ -1015,7 +1065,8 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
totalSummary.setMoreDeptName("合计");
|
||||
|
||||
// 定义校区分类数据
|
||||
List<String> lijianCampus = List.of("水利工程学院", "电力工程学院", "机电工程学院", "信息工程学院(里建)", "经济管理学院(里建)", "土木建筑工程学院", "交通工程学院", "自动化工程学院");
|
||||
List<String> lijianCampus = List.of("水利工程学院", "电力工程学院", "机电工程学院", "信息工程学院(里建)", "经济管理学院(里建)", "土木建筑工程学院",
|
||||
"交通工程学院", "自动化工程学院");
|
||||
List<String> changguCampus = List.of("信息工程学院(长堽)", "经济管理学院(长堽)");
|
||||
|
||||
SurItineraryStatisticsVo lijianTotal = new SurItineraryStatisticsVo();
|
||||
@@ -1027,7 +1078,8 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
// 遍历原始数据,进行统计
|
||||
for (SurItineraryStatisticsVo item : originalData) {
|
||||
// 计算全校合计
|
||||
totalSummary.setExpectedLeaveCount((totalSummary.getExpectedLeaveCount() == null ? 0 : totalSummary.getExpectedLeaveCount()) +
|
||||
totalSummary.setExpectedLeaveCount(
|
||||
(totalSummary.getExpectedLeaveCount() == null ? 0 : totalSummary.getExpectedLeaveCount()) +
|
||||
(item.getExpectedLeaveCount() == null ? 0 : item.getExpectedLeaveCount()));
|
||||
totalSummary.setStayCount((totalSummary.getStayCount() == null ? 0 : totalSummary.getStayCount()) +
|
||||
(item.getStayCount() == null ? 0 : item.getStayCount()));
|
||||
@@ -1038,7 +1090,8 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
|
||||
// 计算校区统计
|
||||
if (lijianCampus.contains(item.getMoreDeptName())) {
|
||||
lijianTotal.setExpectedLeaveCount((lijianTotal.getExpectedLeaveCount() == null ? 0 : lijianTotal.getExpectedLeaveCount()) +
|
||||
lijianTotal.setExpectedLeaveCount(
|
||||
(lijianTotal.getExpectedLeaveCount() == null ? 0 : lijianTotal.getExpectedLeaveCount()) +
|
||||
(item.getExpectedLeaveCount() == null ? 0 : item.getExpectedLeaveCount()));
|
||||
lijianTotal.setStayCount((lijianTotal.getStayCount() == null ? 0 : lijianTotal.getStayCount()) +
|
||||
(item.getStayCount() == null ? 0 : item.getStayCount()));
|
||||
@@ -1047,13 +1100,15 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
lijianTotal.setReturnCount((lijianTotal.getReturnCount() == null ? 0 : lijianTotal.getReturnCount()) +
|
||||
(item.getReturnCount() == null ? 0 : item.getReturnCount()));
|
||||
} else if (changguCampus.contains(item.getMoreDeptName())) {
|
||||
changguTotal.setExpectedLeaveCount((changguTotal.getExpectedLeaveCount() == null ? 0 : changguTotal.getExpectedLeaveCount()) +
|
||||
changguTotal.setExpectedLeaveCount(
|
||||
(changguTotal.getExpectedLeaveCount() == null ? 0 : changguTotal.getExpectedLeaveCount()) +
|
||||
(item.getExpectedLeaveCount() == null ? 0 : item.getExpectedLeaveCount()));
|
||||
changguTotal.setStayCount((changguTotal.getStayCount() == null ? 0 : changguTotal.getStayCount()) +
|
||||
(item.getStayCount() == null ? 0 : item.getStayCount()));
|
||||
changguTotal.setHomeCount((changguTotal.getHomeCount() == null ? 0 : changguTotal.getHomeCount()) +
|
||||
(item.getHomeCount() == null ? 0 : item.getHomeCount()));
|
||||
changguTotal.setReturnCount((changguTotal.getReturnCount() == null ? 0 : changguTotal.getReturnCount()) +
|
||||
changguTotal
|
||||
.setReturnCount((changguTotal.getReturnCount() == null ? 0 : changguTotal.getReturnCount()) +
|
||||
(item.getReturnCount() == null ? 0 : item.getReturnCount()));
|
||||
}
|
||||
}
|
||||
@@ -1065,10 +1120,12 @@ public class SurItineraryServiceImpl extends ServiceImpl<SurItineraryMapper,SurI
|
||||
finalResult.add(totalSummary);
|
||||
|
||||
// 只有当校区数据不全为 0 时才添加
|
||||
if (lijianTotal.getExpectedLeaveCount() > 0 || lijianTotal.getStayCount() > 0 || lijianTotal.getHomeCount() > 0 || lijianTotal.getReturnCount() > 0) {
|
||||
if (lijianTotal.getExpectedLeaveCount() > 0 || lijianTotal.getStayCount() > 0 || lijianTotal.getHomeCount() > 0
|
||||
|| lijianTotal.getReturnCount() > 0) {
|
||||
finalResult.add(lijianTotal);
|
||||
}
|
||||
if (changguTotal.getExpectedLeaveCount() > 0 || changguTotal.getStayCount() > 0 || changguTotal.getHomeCount() > 0 || changguTotal.getReturnCount() > 0) {
|
||||
if (changguTotal.getExpectedLeaveCount() > 0 || changguTotal.getStayCount() > 0
|
||||
|| changguTotal.getHomeCount() > 0 || changguTotal.getReturnCount() > 0) {
|
||||
finalResult.add(changguTotal);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user