Commit 659e65a0 authored by liqin's avatar liqin 💬

Merge branch 'dev' of http://111.203.232.171:8888/lee/chnmuseum-party into dev

parents f6ae744b 7f260533
package cn.chnmuseum.party.common.util;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.Cell;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ExportExcelUtil {
//
// public static String exportExcel(List<?> list, String[] titles, String[] keys, String name) {
// OutputStream outputStream = null;
// String id = UUIDUtil.getUUID();
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
// Date date = new Date();
// String saveDir = "/" + simpleDateFormat.format(date);
//// String property = "/home/changfa/app/tomcat-zhny/file" + saveDir;
// String property = RuoYiConfig.getProfile() + saveDir;
//// String property = "D:\\畅发科技公司";
// File fileDir = new File(property);
// if (!fileDir.exists()) {
// fileDir.mkdir();
// }
// String path = property + "/" + name + id + ".xls";
// try {
// try {
// File file = new File(path);
// outputStream = new FileOutputStream(file);
// } catch (Exception e) {
// e.printStackTrace();
// }
// getHSSFWorkbook(titles, list, keys).write(outputStream);
// } catch (IOException e) {
// e.printStackTrace();
// } finally {
// if (outputStream != null) {
// try {
// outputStream.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
// }
// return RuoYiConfig.getDownload() + saveDir + "/" + name + id + ".xls";
//// return "192.168.110.86:8081/file" + saveDir + "/" + name + id + ".xls";
//
// }
/**
* 导出Excel
*
* @param title 标题
* @param mapList 内容
* @return
*/
public static HSSFWorkbook getHSSFWorkbook(String[] title, List<?> mapList, String[] keys) {
// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("sheet1");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
HSSFRow row = sheet.createRow(0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
// style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
//声明列对象
HSSFCell cell = null;
//存储最大列宽
Map<Integer, Integer> maxWidth = new HashMap<>();
//创建标题
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(style);
maxWidth.put(i, cell.getStringCellValue().getBytes().length * 256 + 512);
}
Map<String, Object> map = null;
Object a = null;
//创建内容
for (int i = 0; i < mapList.size(); i++) {
a = mapList.get(i);
//将实体类转化为map集合
map = ObjectToMapUtil.object2Map(a);
//添加数据行
row = sheet.createRow(i + 1);
int k = 0;
int length = 0;
for (int j = 0; j < keys.length; j++) {
//创建单元格
Cell cells = row.createCell(j);
//获取单元格内容
Object o = map.get(keys[j]);
if (j == 0) {
//设置序号
cells.setCellValue(i + 1);
} else {
if (o == null) {
cells.setCellValue("");
} else {
cells.setCellValue(o.toString());
}
//根据内容设置列宽
length = cells.getStringCellValue().length() * 521 + 1024;
//这里把宽度最大限制到25000
if (length > 25000) {
length = 25000;
}
maxWidth.put(k, Math.max(length, maxWidth.get(k)));
k++;
cells.setCellStyle(style);
}
}
}
//根据内容设置列宽
for (int i = 0; i < title.length; i++) {
//跳过序号列
sheet.setColumnWidth(i + 1, maxWidth.get(i));
}
return wb;
}
}
package cn.chnmuseum.party.common.util;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapUtil {
public static Map<String,Object> object2Map(Object object){
Map<String,Object> result=new HashMap<>();
//获得类的的属性名 数组
Field[]fields=object.getClass().getDeclaredFields();
try {
for (Field field : fields) {
field.setAccessible(true);
String name = new String(field.getName());
result.put(name, field.get(object));
}
}catch (Exception e){
e.printStackTrace();
}
return result;
}
}
...@@ -13,10 +13,15 @@ import org.springframework.http.converter.ByteArrayHttpMessageConverter; ...@@ -13,10 +13,15 @@ import org.springframework.http.converter.ByteArrayHttpMessageConverter;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -128,5 +133,47 @@ public class MvcConfiguration extends WebMvcConfigurationSupport { ...@@ -128,5 +133,47 @@ public class MvcConfiguration extends WebMvcConfigurationSupport {
.addResourceLocations("classpath:/template/") .addResourceLocations("classpath:/template/")
.addResourceLocations("classpath:/"); .addResourceLocations("classpath:/");
} }
/**
* 添加自定义的拦截器
* @author fxbin
* @param registry
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");
}
/**
* 拦截器
* @author fxbin
* @version v1.0
* @since 2018/11/7 1:25
*/
class MyInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Interceptor preHandler method is running !");
return super.preHandle(request, response, handler);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("Interceptor postHandler method is running !");
super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("Interceptor afterCompletion method is running !");
super.afterCompletion(request, response, handler, ex);
}
@Override
public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Interceptor afterConcurrentHandlingStarted method is running !");
super.afterConcurrentHandlingStarted(request, response, handler);
}
}
} }
...@@ -23,4 +23,6 @@ public interface TBoxOperationMapper extends BaseMapper<TBoxOperation> { ...@@ -23,4 +23,6 @@ public interface TBoxOperationMapper extends BaseMapper<TBoxOperation> {
List<TBoxOperation> selectBoxPage(Page<TBoxOperation> page,@Param("user") TUser user); List<TBoxOperation> selectBoxPage(Page<TBoxOperation> page,@Param("user") TUser user);
List<TBoxOperation> selectPageList(Page<TBoxOperation> page,@Param("tBoxOperation") TBoxOperation tBoxOperation); List<TBoxOperation> selectPageList(Page<TBoxOperation> page,@Param("tBoxOperation") TBoxOperation tBoxOperation);
List<TBoxOperation> selectBoxPage(@Param("user") TUser user);
} }
...@@ -54,6 +54,10 @@ public class RunLog implements Serializable { ...@@ -54,6 +54,10 @@ public class RunLog implements Serializable {
@TableField("end_time") @TableField("end_time")
private LocalDateTime endTime; private LocalDateTime endTime;
@ApiModelProperty(value = "展板ID")
@TableField("exhibition_board_id")
private String exhibitionBoardId;
@ApiModelProperty(value = "机构名称") @ApiModelProperty(value = "机构名称")
@TableField(exist = false) @TableField(exist = false)
private String orgName; private String orgName;
...@@ -62,6 +66,10 @@ public class RunLog implements Serializable { ...@@ -62,6 +66,10 @@ public class RunLog implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String learnName; private String learnName;
@ApiModelProperty(value = "学习内容名称")
@TableField(exist = false)
private String exhibitionBoardName;
@ApiModelProperty("开始时间") @ApiModelProperty("开始时间")
@TableField(exist = false) @TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
......
...@@ -102,4 +102,12 @@ public class TBoxOperation implements Serializable { ...@@ -102,4 +102,12 @@ public class TBoxOperation implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private LocalDate exiredDate; private LocalDate exiredDate;
@ApiModelProperty("展板播放次数")
@TableField(exist = false)
private Long num;
@ApiModelProperty("账号状态")
@TableField(exist = false)
private String macStatus;
} }
...@@ -164,4 +164,12 @@ public class TUser implements Serializable { ...@@ -164,4 +164,12 @@ public class TUser implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String jwtToken; private String jwtToken;
@ApiModelProperty("开始日期")
@TableField(exist = false)
private LocalDateTime beginDate;
@ApiModelProperty("结束日期")
@TableField(exist = false)
private LocalDateTime endDate;
} }
...@@ -22,4 +22,6 @@ public interface TBoxOperationService extends IService<TBoxOperation> { ...@@ -22,4 +22,6 @@ public interface TBoxOperationService extends IService<TBoxOperation> {
Page<TBoxOperation> selectBoxPage(Page<TBoxOperation> page, TUser user); Page<TBoxOperation> selectBoxPage(Page<TBoxOperation> page, TUser user);
Page<TBoxOperation> selectPage(Page<TBoxOperation> page, TBoxOperation tBoxOperation); Page<TBoxOperation> selectPage(Page<TBoxOperation> page, TBoxOperation tBoxOperation);
List<TBoxOperation> selectBoxList(TUser user);
} }
...@@ -43,5 +43,19 @@ public class TBoxOperationServiceImpl extends ServiceImpl<TBoxOperationMapper, T ...@@ -43,5 +43,19 @@ public class TBoxOperationServiceImpl extends ServiceImpl<TBoxOperationMapper, T
public Page<TBoxOperation> selectPage(Page<TBoxOperation> page, TBoxOperation tBoxOperation) { public Page<TBoxOperation> selectPage(Page<TBoxOperation> page, TBoxOperation tBoxOperation) {
return page.setRecords(tBoxOperationMapper.selectPageList(page, tBoxOperation)); return page.setRecords(tBoxOperationMapper.selectPageList(page, tBoxOperation));
} }
@Override
public List<TBoxOperation> selectBoxList(TUser user) {
List<TBoxOperation> list = tBoxOperationMapper.selectBoxPage(user);
for (TBoxOperation tBoxOperation : list) {
if (tBoxOperation.getPermanent()){
tBoxOperation.setMacStatus("永久有效");
}
if (null!=tBoxOperation.getExiredDate()){
tBoxOperation.setMacStatus(tBoxOperation.getExiredDate().toString());
}
}
return list;
}
} }
...@@ -3,8 +3,10 @@ package cn.chnmuseum.party.web.controller; ...@@ -3,8 +3,10 @@ package cn.chnmuseum.party.web.controller;
import cn.chnmuseum.party.common.log.MethodLog; import cn.chnmuseum.party.common.log.MethodLog;
import cn.chnmuseum.party.common.log.OperModule; import cn.chnmuseum.party.common.log.OperModule;
import cn.chnmuseum.party.common.log.OperType; import cn.chnmuseum.party.common.log.OperType;
import cn.chnmuseum.party.common.util.ExportExcelUtil;
import cn.chnmuseum.party.common.util.RSAUtils; import cn.chnmuseum.party.common.util.RSAUtils;
import cn.chnmuseum.party.common.validator.groups.Update; import cn.chnmuseum.party.common.validator.groups.Update;
import cn.chnmuseum.party.model.TAppVersion;
import cn.chnmuseum.party.model.TBoxOperation; import cn.chnmuseum.party.model.TBoxOperation;
import cn.chnmuseum.party.model.TUser; import cn.chnmuseum.party.model.TUser;
import cn.chnmuseum.party.service.TBoxOperationService; import cn.chnmuseum.party.service.TBoxOperationService;
...@@ -18,6 +20,7 @@ import io.swagger.annotations.ApiImplicitParams; ...@@ -18,6 +20,7 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.shiro.authz.annotation.RequiresAuthentication; import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations; import org.springframework.data.redis.core.ValueOperations;
...@@ -25,6 +28,10 @@ import org.springframework.validation.annotation.Validated; ...@@ -25,6 +28,10 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.time.LocalDate;
import java.util.*; import java.util.*;
/** /**
...@@ -64,7 +71,7 @@ public class TBoxOperationController extends BaseController { ...@@ -64,7 +71,7 @@ public class TBoxOperationController extends BaseController {
@RequiresAuthentication //@RequiresPermissions("/boxOperation/selectPageList") @RequiresAuthentication //@RequiresPermissions("/boxOperation/selectPageList")
@ApiOperation(value = "获取机顶盒基础信息分页列表", notes = "获取机顶盒基础信息分页列表") @ApiOperation(value = "获取机顶盒基础信息分页列表", notes = "获取机顶盒基础信息分页列表")
@MethodLog(operModule = OperModule.STBBASE,operType = OperType.SELECT) @MethodLog(operModule = OperModule.STBBASE,operType = OperType.SELECT)
public Map<String, Object> selectPageList(String organId, String areaId) { public Map<String, Object> selectPageList(String organId, String areaId, LocalDate beginDate,LocalDate endDate) {
TUser user1 = getcurUser(); TUser user1 = getcurUser();
TUser user = new TUser(); TUser user = new TUser();
if (StringUtils.isNotBlank(organId)) { if (StringUtils.isNotBlank(organId)) {
...@@ -78,6 +85,10 @@ public class TBoxOperationController extends BaseController { ...@@ -78,6 +85,10 @@ public class TBoxOperationController extends BaseController {
// String areaId1 = getAreaId(user1.getAreaId()); // String areaId1 = getAreaId(user1.getAreaId());
// user.setAreaName(areaId1); // user.setAreaName(areaId1);
// } // }
if (beginDate != null && endDate != null) {
user.setBeginDate(beginDate.atTime(0, 0, 0));
user.setEndDate(endDate.atTime(23, 59, 59));
}
if (!user1.getRoleList().contains("1")) { if (!user1.getRoleList().contains("1")) {
user.setOrgCode(user1.getOrgCode()); user.setOrgCode(user1.getOrgCode());
} }
...@@ -272,6 +283,51 @@ public class TBoxOperationController extends BaseController { ...@@ -272,6 +283,51 @@ public class TBoxOperationController extends BaseController {
} }
@PostMapping("/export")
@RequiresAuthentication //@RequiresPermissions("/boxOperation/selectPageList")
@ApiOperation(value = "导出机顶盒基础信息列表", notes = "导出机顶盒基础信息列表")
// @MethodLog(operModule = OperModule.STBBASE,operType = OperType.SELECT)
public void export(String organId, String areaId, LocalDate beginDate, LocalDate endDate, HttpServletResponse response) {
TUser user1 = getcurUser();
TUser user = new TUser();
if (StringUtils.isNotBlank(organId)) {
user.setOrgId(organId);
}
if (StringUtils.isNotBlank(areaId)) {
user.setAreaId(areaId);
}
//设置数据权限
// if (StringUtils.isNotBlank(user1.getAreaId())) {
// String areaId1 = getAreaId(user1.getAreaId());
// user.setAreaName(areaId1);
// }
if (beginDate != null && endDate != null) {
user.setBeginDate(beginDate.atTime(0, 0, 0));
user.setEndDate(endDate.atTime(23, 59, 59));
}
if (!user1.getRoleList().contains("1")) {
user.setOrgCode(user1.getOrgCode());
}
try {
List<TBoxOperation> list = tBoxOperationService.selectBoxList(user);
String[] title = {"序号","MAc地址","所属单位","展板播放次数","到期时间"};
String[] keys = {"id","mac","organName","num","macStatus"};
HSSFWorkbook hssfWorkbook = ExportExcelUtil.getHSSFWorkbook(title, list, keys);
response.setContentType("application/octet-stream;charset=ISO8859-1");
response.setHeader("Content-Disposition", "attachment;filename="+ "机顶盒基础信息表.xls");
response.addHeader("Pargam", "no-cache");
response.addHeader("Cache-Control", "no-cache");
OutputStream os = response.getOutputStream();
hssfWorkbook.write(os);
os.flush();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getAreaId(String areaId) { public static String getAreaId(String areaId) {
if ("0000".equals(areaId.substring(2))) { if ("0000".equals(areaId.substring(2))) {
areaId = areaId.substring(0, 2); areaId = areaId.substring(0, 2);
......
...@@ -10,20 +10,23 @@ ...@@ -10,20 +10,23 @@
<result column="learning_content_id" property="learningContentId" /> <result column="learning_content_id" property="learningContentId" />
<result column="start_time" property="startTime" /> <result column="start_time" property="startTime" />
<result column="end_time" property="endTime" /> <result column="end_time" property="endTime" />
<result column="exhibition_board_id" property="exhibitionBoardId" />
<result column="org_name" property="orgName" /> <result column="org_name" property="orgName" />
<result column="learn_name" property="learnName" /> <result column="learn_name" property="learnName" />
<result column="exhibition_board_name" property="exhibitionBoardName" />
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, mac_addr, organ_id, learning_content_id, start_time, end_time id, mac_addr, organ_id, learning_content_id, start_time, end_time,exhibition_board_id
</sql> </sql>
<select id="pageList" resultMap="BaseResultMap"> <select id="pageList" resultMap="BaseResultMap">
SELECT r.*,o.name org_name,l.name learn_name SELECT r.*,o.name org_name,l.name learn_name,e.name exhibition_board_name
FROM run_log r FROM run_log r
left join t_organ o on o.id = r.organ_id left join t_organ o on o.id = r.organ_id
left join learning_content l on l.id =r.learning_content_id left join learning_content l on l.id =r.learning_content_id
left join exhibition_board e on e.id =r.exhibition_board_id
where 1=1 where 1=1
<if test=" runLog.organId != null and runLog.organId != '' "> <if test=" runLog.organId != null and runLog.organId != '' ">
and r.organ_id = #{runLog.organId} and r.organ_id = #{runLog.organId}
......
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
<result column="permanent" property="permanent"/> <result column="permanent" property="permanent"/>
<result column="effective_date" property="effectiveDate"/> <result column="effective_date" property="effectiveDate"/>
<result column="exired_date" property="exiredDate"/> <result column="exired_date" property="exiredDate"/>
<result column="num" property="num"/>
<result column="begin_date" property="beginDate"/>
<result column="end_date" property="endDate"/>
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
...@@ -43,11 +46,12 @@ ...@@ -43,11 +46,12 @@
<select id="selectBoxPage" resultMap="BaseResultMap"> <select id="selectBoxPage" resultMap="BaseResultMap">
select b.id,b.organ_id,b.mac,b.status,b.area_id,b.create_time,b.update_time,u.user_name organ_name,a.full_name select b.id,b.organ_id,b.mac,b.status,b.area_id,b.create_time,b.update_time,u.user_name organ_name,a.full_name
area_name,u.permanent permanent, area_name,u.permanent permanent,
u.effective_date effective_date,u.exired_date exired_date u.effective_date effective_date,u.exired_date exired_date,count(r.mac_addr) num
from t_box_operation b from t_box_operation b
left join t_organ o on b.organ_id = o.id left join t_organ o on b.organ_id = o.id
left join t_user u on u.org_id = b.organ_id and u.type = '3' and u.is_deleted = false left join t_user u on u.org_id = b.organ_id and u.type = '3' and u.is_deleted = false
left join t_area a on u.area_id = a.id left join t_area a on u.area_id = a.id
left join run_log r on r.mac_addr = b.mac
where 1=1 where 1=1
<if test="user.orgId!= null and user.orgId != '' "> <if test="user.orgId!= null and user.orgId != '' ">
and b.organ_id =#{user.orgId} and b.organ_id =#{user.orgId}
...@@ -61,6 +65,11 @@ ...@@ -61,6 +65,11 @@
<if test="user.areaName != null and user.areaName != '' "> <if test="user.areaName != null and user.areaName != '' ">
and b.area_id LIKE concat(#{user.areaName}, '%') and b.area_id LIKE concat(#{user.areaName}, '%')
</if> </if>
<if test="user.beginDate != null and user.endDate != null ">
and r.start_time between #{user.beginDate} and #{user.endDate}
</if>
group by r.mac_addr,b.id,b.organ_id,b.mac,b.status,b.area_id,b.create_time,b.update_time,u.user_name,a.full_name
,u.permanent,u.effective_date ,u.exired_date
order by b.create_time desc order by b.create_time desc
</select> </select>
...@@ -88,4 +97,34 @@ ...@@ -88,4 +97,34 @@
order by b.create_time desc order by b.create_time desc
</select> </select>
<select id="selectBoxList" resultMap="BaseResultMap">
select b.id,b.organ_id,b.mac,b.status,b.area_id,b.create_time,b.update_time,u.user_name organ_name,a.full_name
area_name,u.permanent permanent,
u.effective_date effective_date,u.exired_date exired_date,count(r.mac_addr) num
from t_box_operation b
left join t_organ o on b.organ_id = o.id
left join t_user u on u.org_id = b.organ_id and u.type = '3' and u.is_deleted = false
left join t_area a on u.area_id = a.id
left join run_log r on r.mac_addr = b.mac
where 1=1
<if test="user.orgId!= null and user.orgId != '' ">
and b.organ_id =#{user.orgId}
</if>
<if test="user.areaId!= null and user.areaId != '' ">
and b.area_id =#{user.areaId}
</if>
<if test="user.orgCode != null and user.orgCode != '' ">
and o.code LIKE concat(#{user.orgCode}, '%')
</if>
<if test="user.areaName != null and user.areaName != '' ">
and b.area_id LIKE concat(#{user.areaName}, '%')
</if>
<if test="user.beginDate != null and user.endDate != null ">
and r.start_time between #{user.beginDate} and #{user.endDate}
</if>
group by r.mac_addr,b.id,b.organ_id,b.mac,b.status,b.area_id,b.create_time,b.update_time,u.user_name,a.full_name
,u.permanent,u.effective_date ,u.exired_date
order by b.create_time desc
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment