前端传到后端的参数有三种:处理、未处理、全部
但是该字段对应的表,有四个状态 Apply 未处理 Review已处理 Invalid已作废 Finish处理确认已完成
前端 已处理对应的结果是 Review已处理 Finish处理确认已完成 两种
前端传 全部 对应 Apply 未处理 Review已处理 Finish处理确认已完成 三种
Mybatis不容易写sql模板直接将参数传进去,
解决思路:
参数传到后短线进行判断,对dto进行赋值,
if (Dto.getApproveStatus().equals("Already")){
tDto.setApproveStatus("'Review','Finish'");
System.out.println(Dto.getApproveStatus());
}
层层调到Mapper,进行sql拼接
"left join ruoyi.sys_user C on C.user_name=B.MGEManager " +
"where 1=1 " +
"AND A1.mgeCode=#{userCode}" +
"<if test='tDto.approveStatus!=null'>AND A1.apyStatus in ( ${Dto.approveStatus} )</if>" +