定时调这个接口(用于统计模块的使用时长)

beetlsql3-dev
Mlxa0324 2 years ago
parent 33fa7e63b1
commit c8bd4e03ad

@ -565,3 +565,20 @@ ALTER TABLE teacher_open_course_schedule_session ADD COLUMN schedule_session_tit
ALTER TABLE core_user ADD COLUMN login_count bigint(20) COMMENT '登录次数';
ALTER TABLE core_user ADD COLUMN last_login_time datetime COMMENT '最后登录时间';
drop table if exists student_teacher_system_use_log_analysis;
CREATE TABLE `student_teacher_system_use_log_analysis` (
`id` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键ID',
`first_name` varchar(100) DEFAULT NULL COMMENT '一级名称',
`second_name` varchar(100) DEFAULT NULL COMMENT '二级名称',
`universities_colleges_name` varchar(255) DEFAULT NULL COMMENT '院校名称',
`universities_colleges_id` bigint(20) DEFAULT NULL COMMENT '院校ID',
`user_type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户类型 UserTypeEnum',
`province` varchar(20) DEFAULT NULL COMMENT '所在省份',
`day_time` varchar(40) DEFAULT NULL COMMENT '日期',
`use_duration` bigint(20) DEFAULT NULL COMMENT '使用时长',
`add_time` datetime DEFAULT NULL COMMENT '创建时间',
`org_id` bigint(20) DEFAULT NULL COMMENT '机构ID',
`user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生教师行为分析';

@ -86,10 +86,4 @@ public interface StudentDao extends BaseMapper<Student>{
StudentActiveInfo studentActiveInfo(Long studentId, Long userId);
/**
* 使
* @param dto
* @return
*/
PageQuery<SystemUseLogsAnalysisVO> applicationUseLogsAnalysis(PageQuery<SystemUseLogsAnalysisDTO> dto);
}

@ -0,0 +1,40 @@
package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.StudentTeacherSystemUseLogAnalysis;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.web.query.StudentTeacherSystemUseLogAnalysisQuery;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import org.beetl.sql.mapper.annotation.Update;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* Dao
*/
// 实际可以不用加Repository注解调用的地方注入时候Idea会报红看着难受
@Repository
@SqlResource("jlw.studentTeacherSystemUseLogAnalysis")
public interface StudentTeacherSystemUseLogAnalysisDao extends BaseMapper<StudentTeacherSystemUseLogAnalysis>{
PageQuery<StudentTeacherSystemUseLogAnalysis> queryByCondition(PageQuery query);
PageQuery<StudentTeacherSystemUseLogAnalysis> queryByConditionQuery(PageQuery query);
@Update
void deleteStudentTeacherSystemUseLogAnalysisByIds(String ids);
@Update
int updateGivenByIds(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery);
List<StudentTeacherSystemUseLogAnalysis> getByIds(String ids);
List<StudentTeacherSystemUseLogAnalysis> getValuesByQuery(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery);
List<StudentTeacherSystemUseLogAnalysis> getValuesByQueryNotWithPermission(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery);
List<Map<String,Object>>getExcelValues(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery);
/**
* 使
* @param page
* @return
*/
PageQuery<SystemUseLogsAnalysisVO> applicationUseLogsAnalysis(PageQuery<SystemUseLogsAnalysisDTO> page);
}

@ -0,0 +1,228 @@
package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.ibeetl.jlw.service.StudentTeacherSystemUseLogAnalysisService;
import org.beetl.sql.annotation.entity.AssignID;
import javax.validation.constraints.NotNull;
import java.util.Date;
/*
*
* gen by Spring Boot2 Admin 2023-03-22
*/
public class StudentTeacherSystemUseLogAnalysis extends BaseEntity{
//主键ID
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
// @SeqID(name = ORACLE_CORE_SEQ_NAME)
@AssignID(value = "maskAutoID",param = "com.ibeetl.jlw.entity.StudentTeacherSystemUseLogAnalysis")
private String id ;
//一级名称
private String firstName ;
//二级名称
private String secondName ;
//院校名称
private String universitiesCollegesName ;
//院校ID
private Long universitiesCollegesId ;
//用户类型 UserTypeEnum
private StudentTeacherSystemUseLogAnalysisService.UseTypeEnum userType ;
//所在省份
private String province ;
//日期
private String dayTime ;
//使用时长
private Long useDuration ;
//创建时间
private Date addTime ;
//机构ID
private Long orgId ;
//用户ID
private Long userId ;
public StudentTeacherSystemUseLogAnalysis(){
}
/**ID
*@return
*/
public String getId(){
return id;
}
/**ID
*@param id
*/
public void setId(String id){
this.id = id;
}
/**
*@return
*/
public String getFirstName(){
return firstName;
}
/**
*@param firstName
*/
public void setFirstName(String firstName){
this.firstName = firstName;
}
/**
*@return
*/
public String getSecondName(){
return secondName;
}
/**
*@param secondName
*/
public void setSecondName(String secondName){
this.secondName = secondName;
}
/**
*@return
*/
public String getUniversitiesCollegesName(){
return universitiesCollegesName;
}
/**
*@param universitiesCollegesName
*/
public void setUniversitiesCollegesName(String universitiesCollegesName){
this.universitiesCollegesName = universitiesCollegesName;
}
/**ID
*@return
*/
public Long getUniversitiesCollegesId(){
return universitiesCollegesId;
}
/**ID
*@param universitiesCollegesId
*/
public void setUniversitiesCollegesId(Long universitiesCollegesId){
this.universitiesCollegesId = universitiesCollegesId;
}
/** UserTypeEnum
*@return
*/
public StudentTeacherSystemUseLogAnalysisService.UseTypeEnum getUserType(){
return userType;
}
/** UserTypeEnum
*@param userType
*/
public void setUserType(StudentTeacherSystemUseLogAnalysisService.UseTypeEnum userType){
this.userType = userType;
}
/**
*@return
*/
public String getProvince(){
return province;
}
/**
*@param province
*/
public void setProvince(String province){
this.province = province;
}
/**
*@return
*/
public String getDayTime(){
return dayTime;
}
/**
*@param dayTime
*/
public void setDayTime(String dayTime){
this.dayTime = dayTime;
}
/**使
*@return
*/
public Long getUseDuration(){
return useDuration;
}
/**使
*@param useDuration
*/
public void setUseDuration(Long useDuration){
this.useDuration = useDuration;
}
/**
*@return
*/
public Date getAddTime(){
return addTime;
}
/**
*@param addTime
*/
public void setAddTime(Date addTime){
this.addTime = addTime;
}
/**ID
*@return
*/
public Long getOrgId(){
return orgId;
}
/**ID
*@param orgId
*/
public void setOrgId(Long orgId){
this.orgId = orgId;
}
/**ID
*@return
*/
public Long getUserId(){
return userId;
}
/**ID
*@param userId
*/
public void setUserId(Long userId){
this.userId = userId;
}
}

@ -0,0 +1,28 @@
package com.ibeetl.jlw.entity.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
*
*/
@Data
public class StudentTeacherSystemUseLogAnalysisAddDTO {
/**
*
*/
@NotBlank(message = "一级名称不能为空!")
private String firstName;
/**
*
*/
@NotBlank(message = "二级名称不能为空!")
private String secondName;
/**
* 使5
*/
private Long useDuration;
}

@ -2,12 +2,9 @@ package com.ibeetl.jlw.service;
import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.web.AnalysisController;
import lombok.extern.slf4j.Slf4j;
import org.beetl.sql.core.SQLManager;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -43,12 +40,4 @@ public class AnalysisService {
return sqlManager.getMapper(SysLogDao.class).systemUseLogsAnalysis(dto);
}
/**
* 使
* @param page
* @return
*/
public PageQuery<SystemUseLogsAnalysisVO> applicationUseLogsAnalysis(PageQuery<SystemUseLogsAnalysisDTO> page) {
return studentDao.applicationUseLogsAnalysis(page);
}
}

@ -0,0 +1,447 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.EnumUtil;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.StudentTeacherSystemUseLogAnalysisDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.entity.dto.StudentTeacherSystemUseLogAnalysisAddDTO;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.web.query.StudentTeacherSystemUseLogAnalysisQuery;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.annotation.entity.EnumValue;
import org.beetl.sql.core.SqlId;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import java.io.*;
import java.util.*;
import static cn.hutool.core.collection.IterUtil.getFirst;
import static cn.hutool.core.date.DateTime.now;
import static cn.hutool.core.util.ObjectUtil.defaultIfNull;
import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
/**
* Service
* ID使insert(*,true)
*/
@Service
@Transactional
@Validated
public class StudentTeacherSystemUseLogAnalysisService extends CoreBaseService<StudentTeacherSystemUseLogAnalysis>{
@Autowired private StudentTeacherSystemUseLogAnalysisDao studentTeacherSystemUseLogAnalysisDao;
@Autowired
private StudentService studentService;
@Autowired
private TeacherService teacherService;
@Autowired
private UniversitiesCollegesService universitiesCollegesService;
public PageQuery<StudentTeacherSystemUseLogAnalysis>queryByCondition(PageQuery query){
PageQuery ret = studentTeacherSystemUseLogAnalysisDao.queryByCondition(query);
queryListAfter(ret.getList());
return ret;
}
public PageQuery<StudentTeacherSystemUseLogAnalysis>queryByConditionQuery(PageQuery query){
PageQuery ret = studentTeacherSystemUseLogAnalysisDao.queryByConditionQuery(query);
queryListAfter(ret.getList());
return ret;
}
public void deleteByList(List list){
String ids = "";
ToolUtils.deleteNullList(list);
for(int i=0;null != list && i<list.size();i++){
ids += list.get(i).toString()+(i==list.size()-1?"":",");
}
if(StringUtils.isNotBlank(ids)){
studentTeacherSystemUseLogAnalysisDao.deleteStudentTeacherSystemUseLogAnalysisByIds(ids);
}
}
public void deleteStudentTeacherSystemUseLogAnalysis(String ids){
try {
studentTeacherSystemUseLogAnalysisDao.deleteStudentTeacherSystemUseLogAnalysisByIds(ids);
} catch (Exception e) {
throw new PlatformException("批量删除学生教师行为分析失败", e);
}
}
public String addAll(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
String msg = "";
List<StudentTeacherSystemUseLogAnalysis> studentTeacherSystemUseLogAnalysisList = new ArrayList<>();
try {
studentTeacherSystemUseLogAnalysisList = JSON.parseArray(studentTeacherSystemUseLogAnalysisQuery.getStudentTeacherSystemUseLogAnalysisJsonStr(), StudentTeacherSystemUseLogAnalysis.class);
} catch (Exception e) {
try {
studentTeacherSystemUseLogAnalysisList.add(JSONObject.parseObject(studentTeacherSystemUseLogAnalysisQuery.getStudentTeacherSystemUseLogAnalysisJsonStr(), StudentTeacherSystemUseLogAnalysis.class));
} catch (Exception e1) {}
}
ToolUtils.deleteNullList(studentTeacherSystemUseLogAnalysisList);
if(null != studentTeacherSystemUseLogAnalysisList && studentTeacherSystemUseLogAnalysisList.size()>0){
for(int i=0;i<studentTeacherSystemUseLogAnalysisList.size();i++){
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisList.get(i);
studentTeacherSystemUseLogAnalysis.setUserId(studentTeacherSystemUseLogAnalysisQuery.getUserId());
studentTeacherSystemUseLogAnalysis.setOrgId(studentTeacherSystemUseLogAnalysisQuery.getOrgId());
}
insertBatch(studentTeacherSystemUseLogAnalysisList);
}
return msg;
}
public JsonResult add(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
String msg = "";
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisQuery.pojo();
studentTeacherSystemUseLogAnalysisDao.insert(studentTeacherSystemUseLogAnalysis);
studentTeacherSystemUseLogAnalysisQuery.setId(studentTeacherSystemUseLogAnalysis.getId());
JsonResult jsonResult = new JsonResult();
jsonResult.setData(studentTeacherSystemUseLogAnalysis.getId());//自增的ID丢进去
jsonResult.setCode(JsonReturnCode.SUCCESS.getCode());
jsonResult.setMsg(msg);
return jsonResult;
}
public String edit(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
String msg = "";
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisQuery.pojo();
studentTeacherSystemUseLogAnalysisDao.updateTemplateById(studentTeacherSystemUseLogAnalysis);
return msg;
}
public String updateGivenByIds(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
String msg = "";
if(StringUtils.isNotBlank(studentTeacherSystemUseLogAnalysisQuery.get_given())){
boolean flag = studentTeacherSystemUseLogAnalysisDao.updateGivenByIds(studentTeacherSystemUseLogAnalysisQuery) > 0;
if(!flag){
msg = "更新指定参数失败";
}
}else{
msg = "指定参数为空";
}
return msg;
}
public List<StudentTeacherSystemUseLogAnalysis> getValues (Object paras){
return sqlManager.select(SqlId.of("jlw.studentTeacherSystemUseLogAnalysis.getStudentTeacherSystemUseLogAnalysisValues"), StudentTeacherSystemUseLogAnalysis.class, paras);
}
public List<StudentTeacherSystemUseLogAnalysis> getValuesByQuery (StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
return studentTeacherSystemUseLogAnalysisDao.getValuesByQuery(studentTeacherSystemUseLogAnalysisQuery);
}
public List<StudentTeacherSystemUseLogAnalysis> getValuesByQueryNotWithPermission (StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
return studentTeacherSystemUseLogAnalysisDao.getValuesByQueryNotWithPermission(studentTeacherSystemUseLogAnalysisQuery);
}
public StudentTeacherSystemUseLogAnalysis getInfo (String id){
StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery = new StudentTeacherSystemUseLogAnalysisQuery();
studentTeacherSystemUseLogAnalysisQuery.setId(id);
List<StudentTeacherSystemUseLogAnalysis> list = studentTeacherSystemUseLogAnalysisDao.getValuesByQuery(studentTeacherSystemUseLogAnalysisQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
public StudentTeacherSystemUseLogAnalysis getInfo (StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
List<StudentTeacherSystemUseLogAnalysis> list = studentTeacherSystemUseLogAnalysisDao.getValuesByQuery(studentTeacherSystemUseLogAnalysisQuery);
if(null != list && list.size()>0){
return list.get(0);
}else{
return null;
}
}
public JsonResult importTemplate(List<FileEntity> fileEntityList,List<Long>list,CoreUser coreUser){
List<String[]>errMsg = new ArrayList<>();
String msg ="";
int count = 0;
Date date = new Date();
for(int item=0;null != fileEntityList && item<fileEntityList.size();item++){
FileEntity fileEntity = fileEntityList.get(item);
if(null != fileEntity){
File file = new File(fileEntity.getAbsoluteUrl());
if(file.exists() && file.isFile() && file.canRead() && ToolUtils.findInSet("xls,xlsx",fileEntity.getFormat())){
Workbook wb = null;
InputStream is = null;
try {
is = new FileInputStream(fileEntity.getAbsoluteUrl());
if("xls".equals(fileEntity.getFormat())){
wb = new HSSFWorkbook(is);
}else if("xlsx".equals(fileEntity.getFormat())){
wb = new XSSFWorkbook(is);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
if(null != is){
is.close();
}
}catch (Exception e){
e.printStackTrace();
}
if(wb != null){
//获取Sheet1
Sheet sheet = wb.getSheet("Sheet1");
//获取最大行数
int rowNum = sheet.getPhysicalNumberOfRows();
//获取第一行
Row firstRow = sheet.getRow(0);
//获取最大列数
int colNum = firstRow.getPhysicalNumberOfCells();
String columns[] = {
"一级名称",
"二级名称",
"院校名称",
"院校",
"用户类型 UserTypeEnum",
"所在省份",
"日期",
"使用时长",
"创建时间",
};
Map<String,Integer> map = new HashMap<>();//获取需要的表头的列
//从第一列找到需要的表头
for (int i=0; i<colNum; i++){
String cellData = getCellFormatValue(firstRow.getCell(i));
for(int j=0;j<columns.length;j++){
if(columns[j].equals(cellData)){
map.put(columns[j],i);
}
}
}
//验证所需要的表头是否全
Integer flag = 0;
for(int i=0;i<columns.length;i++){
if(null != map.get(columns[i])){
flag ++;
}
}
if(flag != columns.length){
String str = " ";
for(int i=0;i<columns.length;i++){
str += "\""+columns[i]+"\""+(i == columns.length-1?"":", ");
}
return JsonResult.failMessage("导入失败,表格表头应包含"+str);
}
for (int i = 1; i<rowNum; i++) {
Row row = sheet.getRow(i);
if(null == row){
errMsg.add(new String[]{"第"+(i+1)+"数据为空"});
continue;
}
String firstName = getCellFormatValue(row.getCell(map.get(columns[0])));
String secondName = getCellFormatValue(row.getCell(map.get(columns[1])));
String universitiesCollegesName = getCellFormatValue(row.getCell(map.get(columns[2])));
String universitiesCollegesId = getCellFormatValue(row.getCell(map.get(columns[3])));
String userType = getCellFormatValue(row.getCell(map.get(columns[4])));
String province = getCellFormatValue(row.getCell(map.get(columns[5])));
String dayTime = getCellFormatValue(row.getCell(map.get(columns[6])));
String useDuration = getCellFormatValue(row.getCell(map.get(columns[7])));
String addTime = getCellFormatValue(row.getCell(map.get(columns[8])));
//TODO 判断(如重复等复杂判断要额外写)
if(StringUtils.isBlank(firstName)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[0])+1)+"列,第"+(i+1)+"行一级名称为空"});
continue;
}else
if(StringUtils.isBlank(secondName)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[1])+1)+"列,第"+(i+1)+"行二级名称为空"});
continue;
}else
if(StringUtils.isBlank(universitiesCollegesName)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[2])+1)+"列,第"+(i+1)+"行院校名称为空"});
continue;
}else
if(StringUtils.isBlank(universitiesCollegesId)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[3])+1)+"列,第"+(i+1)+"行院校为空"});
continue;
}else
if(StringUtils.isBlank(userType)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[4])+1)+"列,第"+(i+1)+"行用户类型 UserTypeEnum为空"});
continue;
}else
if(StringUtils.isBlank(province)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[5])+1)+"列,第"+(i+1)+"行所在省份为空"});
continue;
}else
if(StringUtils.isBlank(dayTime)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[6])+1)+"列,第"+(i+1)+"行日期为空"});
continue;
}else
if(StringUtils.isBlank(useDuration)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[7])+1)+"列,第"+(i+1)+"行使用时长为空"});
continue;
}else
if(StringUtils.isBlank(addTime)){
errMsg.add(new String[]{"第"+ToolUtils.numberToLetter(map.get(columns[8])+1)+"列,第"+(i+1)+"行创建时间为空"});
continue;
}else
{
//TODO 保存
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = new StudentTeacherSystemUseLogAnalysis();
studentTeacherSystemUseLogAnalysis.setFirstName(firstName);
studentTeacherSystemUseLogAnalysis.setSecondName(secondName);
studentTeacherSystemUseLogAnalysis.setUniversitiesCollegesName(universitiesCollegesName);
studentTeacherSystemUseLogAnalysis.setUniversitiesCollegesId(Long.parseLong(universitiesCollegesId));
studentTeacherSystemUseLogAnalysis.setUserType(EnumUtil.likeValueOf(UseTypeEnum.class, userType));
studentTeacherSystemUseLogAnalysis.setProvince(province);
studentTeacherSystemUseLogAnalysis.setDayTime(dayTime);
studentTeacherSystemUseLogAnalysis.setUseDuration(Long.parseLong(useDuration));
studentTeacherSystemUseLogAnalysis.setAddTime(TimeTool.getTime(addTime));
studentTeacherSystemUseLogAnalysis.setOrgId(coreUser.getOrgId());
studentTeacherSystemUseLogAnalysis.setUserId(coreUser.getId());
count++;
}
}
}
}
}
}
JsonResult jsonResult = new JsonResult();
jsonResult.setCode(count>0?JsonReturnCode.SUCCESS.getCode():JsonReturnCode.FAIL.getCode());
jsonResult.setData(errMsg);
jsonResult.setMsg((count>0?"导入成功,共导入"+count+"条":"导入失败")+(StringUtils.isNotBlank(msg)?"<br>"+msg:""));
return jsonResult;
}
public List<Map<String,Object>> getExcelValues (StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery){
return studentTeacherSystemUseLogAnalysisDao.getExcelValues(studentTeacherSystemUseLogAnalysisQuery);
}
/**
* 使
* @param page
* @return
*/
public PageQuery<SystemUseLogsAnalysisVO> applicationUseLogsAnalysis(PageQuery<SystemUseLogsAnalysisDTO> page) {
return studentTeacherSystemUseLogAnalysisDao.applicationUseLogsAnalysis(page);
}
/**
*
*/
@Getter
public enum UseTypeEnum {
STUDENT("学生"), TEACHER("教师");
@EnumValue
private String name;
UseTypeEnum(String name) {
this.name = name;
}
}
public void addOrUpdateUseLog(StudentTeacherSystemUseLogAnalysisAddDTO dto, CoreUser coreUser) {
// 追加的使用时长
Long appendUseDuration = defaultIfNull(dto.getUseDuration(), 5L);
final String firstName = dto.getFirstName().trim();
final String secondName = dto.getSecondName().trim();
final Long userId = coreUser.getId();
final Long orgId = coreUser.getOrgId();
final String today = DateUtil.today();
// 院校名称
String universitiesCollegesName = "";
// 院校ID
Long universitiesCollegesId = null;
// 院校所在省
String province = null;
// 用户类型
UseTypeEnum useType = null;
// 查询唯一的条件,如果没查到那肯定是要新增一条数据咯
StudentTeacherSystemUseLogAnalysisQuery query = new StudentTeacherSystemUseLogAnalysisQuery();
query.setFirstName(firstName);
query.setSecondName(secondName);
query.setUserId(userId);
query.setOrgId(orgId);
query.setDayTime(today);
// 追加院校ID条件
if (coreUser.isStudent()) {
Student student = studentService.getByUserId(userId);
useType = UseTypeEnum.STUDENT;
if (student != null) {
UniversitiesColleges universitiesColleges = universitiesCollegesService.getUniversitiesCollegesByStudent(student);
province = universitiesColleges.getUniversitiesCollegesProvince();
universitiesCollegesId = universitiesColleges.getUniversitiesCollegesId();
universitiesCollegesName = universitiesColleges.getUniversitiesCollegesName();
query.setUniversitiesCollegesId(universitiesCollegesId);
}
}
if (coreUser.isTeacher()) {
Teacher teacher = teacherService.getByUserId(userId);
useType = UseTypeEnum.TEACHER;
if (teacher != null) {
UniversitiesColleges universitiesColleges = universitiesCollegesService.getUniversitiesCollegesByTeacher(teacher);
province = universitiesColleges.getUniversitiesCollegesProvince();
universitiesCollegesId = universitiesColleges.getUniversitiesCollegesId();
universitiesCollegesName = universitiesColleges.getUniversitiesCollegesName();
query.setUniversitiesCollegesId(universitiesColleges.getUniversitiesCollegesId());
}
}
List<StudentTeacherSystemUseLogAnalysis> logAnalysisList = getValuesByQueryNotWithPermission(query);
// 如果查询到数据,则追加使用时长(分钟)
if (CollectionUtil.isNotEmpty(logAnalysisList)) {
StudentTeacherSystemUseLogAnalysis logAnalysis = getFirst(logAnalysisList);
logAnalysis.setUseDuration(defaultIfNull(logAnalysis.getUseDuration(), 0L) + appendUseDuration);
updateTemplate(logAnalysis);
}
// 否则新增一条数据
else {
StudentTeacherSystemUseLogAnalysis useLogAnalysis = new StudentTeacherSystemUseLogAnalysis();
useLogAnalysis.setFirstName(firstName);
useLogAnalysis.setSecondName(secondName);
useLogAnalysis.setUniversitiesCollegesName(universitiesCollegesName);
useLogAnalysis.setUniversitiesCollegesId(universitiesCollegesId);
useLogAnalysis.setUserType(useType);
useLogAnalysis.setProvince(province);
useLogAnalysis.setDayTime(today);
useLogAnalysis.setUseDuration(appendUseDuration);
useLogAnalysis.setAddTime(now());
useLogAnalysis.setOrgId(orgId);
useLogAnalysis.setUserId(userId);
insert(useLogAnalysis);
}
}
}

@ -1,29 +1,21 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.service.AnalysisService;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
import java.util.Date;
import java.util.List;
import static com.ibeetl.admin.core.util.ExcelUtil.write;
import static com.ibeetl.jlw.job.OnLineRecordJob.ON_LINE_METHOD_NAME;
/**
@ -78,37 +70,5 @@ public class AnalysisController extends BaseController {
dto.setRequestUrl("在线人数统计");
return JsonResult.success(analysisService.systemUseLogsAnalysis(dto));
}
/**
* 使
* TODO
* @param dto
* @return
*/
@PostMapping(MODEL + "/applicationUseLogsAnalysis.json")
@ResponseBody
public JsonResult applicationUseLogsAnalysis(SystemUseLogsAnalysisDTO dto, @SCoreUser CoreUser coreUser) {
return JsonResult.success(analysisService.applicationUseLogsAnalysis(dto.getPageQuery()));
}
/**
* : <br>
*
*
* @param condition
* @param coreUser
* @Author: lx
* @Date: 2022/12/17 3:34
*/
@GetMapping(MODEL + "/applicationUseLogsAnalysisExport.json")
@ResponseBody
public String applicationUseLogsAnalysisExport(SystemUseLogsAnalysisDTO condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setPage(1); condition.setLimit(Integer.MAX_VALUE + 0L);
PageQuery<SystemUseLogsAnalysisVO> page = analysisService.applicationUseLogsAnalysis(condition.getPageQuery());
String filename = StrUtil.format("院校使用日志导出{}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", SystemUseLogsAnalysisVO.class, page.getList());
return null;
}
}

@ -0,0 +1,446 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.GetFile;
import cn.jlw.Interceptor.RFile;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.util.ToolUtils;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.StudentTeacherSystemUseLogAnalysis;
import com.ibeetl.jlw.entity.dto.StudentTeacherSystemUseLogAnalysisAddDTO;
import com.ibeetl.jlw.entity.dto.SystemUseLogsAnalysisDTO;
import com.ibeetl.jlw.entity.vo.SystemUseLogsAnalysisVO;
import com.ibeetl.jlw.service.StudentTeacherSystemUseLogAnalysisService;
import com.ibeetl.jlw.web.query.StudentTeacherSystemUseLogAnalysisQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import static com.ibeetl.admin.core.util.ExcelUtil.write;
/**
*
* 线
*/
@RestController
@Validated
public class StudentTeacherSystemUseLogAnalysisController extends BaseController {
private final Log log = LogFactory.getLog(this.getClass());
private static final String MODEL = "/jlw/studentTeacherSystemUseLogAnalysis";
private static final String API = "/api/studentTeacherSystemUseLogAnalysis";
@Autowired private StudentTeacherSystemUseLogAnalysisService studentTeacherSystemUseLogAnalysisService;
@Autowired FileService fileService;
/* 前端接口 */
@PostMapping(API + "/getPageList.do")
public JsonResult<PageQuery> getPageList(StudentTeacherSystemUseLogAnalysisQuery condition,@SCoreUser CoreUser coreUser){
PageQuery page = condition.getPageQuery();
studentTeacherSystemUseLogAnalysisService.queryByConditionQuery(page);
return JsonResult.success(page);
}
@GetMapping(API + "/getInfo.do")
public JsonResult<StudentTeacherSystemUseLogAnalysis>getInfo(StudentTeacherSystemUseLogAnalysisQuery param,@SCoreUser CoreUser coreUser) {
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisService.getInfo(param);
return JsonResult.success(studentTeacherSystemUseLogAnalysis);
}
@GetMapping(API + "/getList.do")
public JsonResult<List<StudentTeacherSystemUseLogAnalysis>>getList(StudentTeacherSystemUseLogAnalysisQuery param,@SCoreUser CoreUser coreUser) {
List<StudentTeacherSystemUseLogAnalysis>list = studentTeacherSystemUseLogAnalysisService.getValuesByQuery(param);
return JsonResult.success(list);
}
@PostMapping(API + "/add.do")
public JsonResult addDo(
@Validated(ValidateConfig.ADD.class) @RequestBody StudentTeacherSystemUseLogAnalysisAddDTO dto,
BindingResult result, @SCoreUser CoreUser coreUser){
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else{
studentTeacherSystemUseLogAnalysisService.addOrUpdateUseLog(dto, coreUser);
return JsonResult.success();
}
}
/* 后台页面 */
@GetMapping(MODEL + "/index.do")
@Function("studentTeacherSystemUseLogAnalysis.query")
public ModelAndView index() {
ModelAndView view = new ModelAndView("/jlw/studentTeacherSystemUseLogAnalysis/index.html") ;
view.addObject("search", StudentTeacherSystemUseLogAnalysisQuery.class.getName());
return view;
}
@GetMapping(MODEL + "/edit.do")
@Function("studentTeacherSystemUseLogAnalysis.edit")
public ModelAndView edit(String id) {
ModelAndView view = new ModelAndView("/jlw/studentTeacherSystemUseLogAnalysis/edit.html");
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisService.queryById(id);
view.addObject("studentTeacherSystemUseLogAnalysis", studentTeacherSystemUseLogAnalysis);
return view;
}
@GetMapping(MODEL + "/add.do")
@Function("studentTeacherSystemUseLogAnalysis.add")
public ModelAndView add(String id) {
ModelAndView view = new ModelAndView("/jlw/studentTeacherSystemUseLogAnalysis/add.html");
if(null != id){
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisService.queryById(id);
view.addObject("studentTeacherSystemUseLogAnalysis", studentTeacherSystemUseLogAnalysis);
}else {
view.addObject("studentTeacherSystemUseLogAnalysis", new StudentTeacherSystemUseLogAnalysis());
}
return view;
}
/* 后台接口 */
@PostMapping(MODEL + "/list.json")
@Function("studentTeacherSystemUseLogAnalysis.query")
public JsonResult<PageQuery> list(StudentTeacherSystemUseLogAnalysisQuery condition){
PageQuery page = condition.getPageQuery();
studentTeacherSystemUseLogAnalysisService.queryByCondition(page);
return JsonResult.success(page);
}
@PostMapping(MODEL + "/addAll.json")
@Function("studentTeacherSystemUseLogAnalysis.add")
public JsonResult addAll(StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery,@SCoreUser CoreUser coreUser){
studentTeacherSystemUseLogAnalysisQuery.setUserId(coreUser.getId());
studentTeacherSystemUseLogAnalysisQuery.setOrgId(coreUser.getOrgId());
String msg = studentTeacherSystemUseLogAnalysisService.addAll(studentTeacherSystemUseLogAnalysisQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("新增失败,"+msg);
}
}
@PostMapping(MODEL + "/add.json")
@Function("studentTeacherSystemUseLogAnalysis.add")
public JsonResult add(@Validated(ValidateConfig.ADD.class) StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery, BindingResult result,@SCoreUser CoreUser coreUser){
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else{
studentTeacherSystemUseLogAnalysisQuery.setUserId(coreUser.getId());
studentTeacherSystemUseLogAnalysisQuery.setOrgId(coreUser.getOrgId());
return studentTeacherSystemUseLogAnalysisService.add(studentTeacherSystemUseLogAnalysisQuery);
}
}
@PostMapping(MODEL + "/edit.json")
@Function("studentTeacherSystemUseLogAnalysis.edit")
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery, BindingResult result,@SCoreUser CoreUser coreUser) {
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else {
studentTeacherSystemUseLogAnalysisQuery.setUserId(null);
studentTeacherSystemUseLogAnalysisQuery.setOrgId(null);
String msg = studentTeacherSystemUseLogAnalysisService.edit(studentTeacherSystemUseLogAnalysisQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败,"+msg);
}
}
}
@GetMapping(MODEL + "/view.json")
@Function("studentTeacherSystemUseLogAnalysis.query")
public JsonResult<StudentTeacherSystemUseLogAnalysis>queryInfo(String id) {
StudentTeacherSystemUseLogAnalysis studentTeacherSystemUseLogAnalysis = studentTeacherSystemUseLogAnalysisService.queryById( id);
return JsonResult.success(studentTeacherSystemUseLogAnalysis);
}
@GetMapping(MODEL + "/getValues.json")
@Function("studentTeacherSystemUseLogAnalysis.query")
public JsonResult<List<StudentTeacherSystemUseLogAnalysis>>getValues(StudentTeacherSystemUseLogAnalysisQuery param) {
List<StudentTeacherSystemUseLogAnalysis>list = studentTeacherSystemUseLogAnalysisService.getValuesByQuery(param);
return JsonResult.success(list);
}
@PostMapping(MODEL + "/delete.json")
@Function("studentTeacherSystemUseLogAnalysis.delete")
@ResponseBody
public JsonResult delete(String ids) {
studentTeacherSystemUseLogAnalysisService.deleteStudentTeacherSystemUseLogAnalysis(ids);
return JsonResult.success();
}
//下载模板信息
@GetMapping(MODEL + "/downloadTemplate.json")
public void download(HttpServletRequest request,HttpServletResponse response,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return;
}
XSSFWorkbook workbook = null;
InputStream is = null;
try {
//TODO 改导入模板名字
is = new FileInputStream(GetFile.p + File.separator +"filesystem"+ File.separator +"template"+ File.separator+ "导入模板.xlsx");
workbook = new XSSFWorkbook(is);
try {
if(null != is){
is.close();
}
}catch (Exception e){
e.printStackTrace();
}
//准备将Excel的输出流通过response输出到页面下载
//八进制输出流
response.setContentType("application/octet-stream");
//这后面可以设置导出Excel的名称此例中名为template.xls
String fileName = ToolUtils.web2fileName(request,"studentTeacherSystemUseLogAnalysisTemplate(" + TimeTool.getNowTime("YMD") + ").xlsx");
response.setHeader("Content-disposition", "attachment;filename="+fileName);
//刷新缓冲
response.flushBuffer();
//workbook将Excel写入到response的输出流中供页面下载
workbook.write(response.getOutputStream());
}catch (Exception e){
e.printStackTrace();
} finally {
try {
if (null != workbook) {
workbook.close();
}
if (null != response && null != response.getOutputStream()) {
response.getOutputStream().close();
}
} catch (Exception e) { }
}
}
//导入模板信息
@PostMapping(MODEL + "/importTemplate.json")
@Function("studentTeacherSystemUseLogAnalysis.importTemplate")
public JsonResult importTemplate(@RFile List<FileEntity> fileEntityList,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}
List<Long>list=new ArrayList<>();
JsonResult jsonResult = studentTeacherSystemUseLogAnalysisService.importTemplate(fileEntityList,list,coreUser);
if(list.size()>0){
studentTeacherSystemUseLogAnalysisService.deleteByList(list);
}
return jsonResult;
}
//导出信息
@GetMapping(MODEL + "/excel/export.json")
@Function("studentTeacherSystemUseLogAnalysis.exportDocument")
public void export(HttpServletRequest request,HttpServletResponse response,StudentTeacherSystemUseLogAnalysisQuery studentTeacherSystemUseLogAnalysisQuery,@SCoreUser CoreUser coreUser) {
if(null == coreUser){
return;
}
HSSFWorkbook workbook = null;
try {
//表头数据
String[] header = {
"一级名称",
"二级名称",
"院校名称",
"院校",
"用户类型 UserTypeEnum",
"所在省份",
"日期",
"使用时长",
"创建时间",
};
String[] headerCode = {
"firstName",
"secondName",
"universitiesCollegesName",
"universitiesCollegesId",
"userType",
"province",
"dayTime",
"useDuration",
"addTime",
};
//数据内容
List<Map<String, Object>> mapList = studentTeacherSystemUseLogAnalysisService.getExcelValues(studentTeacherSystemUseLogAnalysisQuery);
//内容宽度
Map<String, Object> widthMap = mapList.get(0);
mapList.remove(0);
//声明一个工作簿
workbook = new HSSFWorkbook();
//生成一个表格,设置表格名称为"Sheet1"
HSSFSheet sheet = workbook.createSheet("Sheet1");
//冻结表头
sheet.createFreezePane(0, 1, 0, 1);
//设置默认列宽度为5个字节
sheet.setDefaultColumnWidth(5);
//创建第一行表头
HSSFRow headRow = sheet.createRow(0);
//头部样式
HSSFCellStyle headerStyle = workbook.createCellStyle();
//垂直居中
headerStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//水平居中
headerStyle.setAlignment(HorizontalAlignment.CENTER);
//单元格样式
HSSFCellStyle cellStyle = workbook.createCellStyle();
//垂直居中
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
//水平居左
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//自动换行
cellStyle.setWrapText(true);
//遍历添加表头
for (int i = 0; i < header.length; i++) {
//设置表格特定的列宽度
if (null != widthMap.get(headerCode[i])) {
String width = widthMap.get(headerCode[i]).toString().split("\\.")[0];
Integer w = Integer.parseInt(width) > header[i].length()*3?Integer.parseInt(width):header[i].length()*3;
sheet.setColumnWidth(i, w * 190);
}
//创建一个单元格
HSSFCell cell = headRow.createCell(i);
//创建一个内容对象
HSSFRichTextString text = new HSSFRichTextString(header[i]);
//将内容对象的文字内容写入到单元格中
cell.setCellValue(text);
//设置样式
cell.setCellStyle(headerStyle);
}
//遍历结果集,把内容加入表格
for (int i = 0; i < mapList.size(); i++) {
HSSFRow row = sheet.createRow(i + 1);
row.setHeight((short) (50*10));
Map<String, Object> map = mapList.get(i);
for (int j = 0; j < headerCode.length; j++) {
HSSFCell cell = row.createCell(j);
cell.setCellStyle(cellStyle);
HSSFRichTextString text = new HSSFRichTextString(null != map.get(headerCode[j]) ? map.get(headerCode[j]).toString() : " ");
cell.setCellValue(text);
}
}
//准备将Excel的输出流通过response输出到页面下载
//八进制输出流
response.setContentType("application/octet-stream");
//这后面可以设置导出Excel的名称此例中名为student.xls
String fileName = ToolUtils.web2fileName(request,"studentTeacherSystemUseLogAnalysis(" + TimeTool.getNowTime("YMD") + ").xls");
response.setHeader("Content-disposition", "attachment;filename="+fileName);
//刷新缓冲
response.flushBuffer();
//workbook将Excel写入到response的输出流中供页面下载
workbook.write(response.getOutputStream());
}catch (Exception e){
e.printStackTrace();
} finally {
try {
if (null != workbook) {
workbook.close();
}
if (null != response && null != response.getOutputStream()) {
response.getOutputStream().close();
}
} catch (Exception e) { }
}
}
/**
* 使
* @param dto
* @return
*/
@PostMapping(MODEL + "/applicationUseLogsAnalysis.json")
@ResponseBody
public JsonResult applicationUseLogsAnalysis(SystemUseLogsAnalysisDTO dto, @SCoreUser CoreUser coreUser) {
return JsonResult.success(studentTeacherSystemUseLogAnalysisService.applicationUseLogsAnalysis(dto.getPageQuery()));
}
/**
* : <br>
*
*
* @param condition
* @param coreUser
* @Author: lx
* @Date: 2022/12/17 3:34
*/
@GetMapping(MODEL + "/applicationUseLogsAnalysisExport.json")
@ResponseBody
public String applicationUseLogsAnalysisExport(SystemUseLogsAnalysisDTO condition, @SCoreUser CoreUser coreUser) throws IOException {
Assert.isFalse(coreUser.isStudent(), "暂无权限访问!");
condition.setPage(1); condition.setLimit(Integer.MAX_VALUE + 0L);
PageQuery<SystemUseLogsAnalysisVO> page = studentTeacherSystemUseLogAnalysisService.applicationUseLogsAnalysis(condition.getPageQuery());
String filename = StrUtil.format("院校使用日志导出{}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", SystemUseLogsAnalysisVO.class, page.getList());
return null;
}
}

@ -0,0 +1,170 @@
package com.ibeetl.jlw.web.query;
import cn.jlw.validate.ValidateConfig;
import com.ibeetl.admin.core.annotation.Query;
import com.ibeetl.admin.core.web.query.PageParam;
import com.ibeetl.jlw.entity.StudentTeacherSystemUseLogAnalysis;
import com.ibeetl.jlw.service.StudentTeacherSystemUseLogAnalysisService;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
*
*/
public class StudentTeacherSystemUseLogAnalysisQuery extends PageParam {
@NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
@Query(name = "主键ID", display = false)
private String id;
@Query(name = "一级名称", display = false)
private String firstName;
@Query(name = "二级名称", display = false)
private String secondName;
@Query(name = "院校名称", display = false)
private String universitiesCollegesName;
@Query(name = "院校ID", display = false)
private Long universitiesCollegesId;
@Query(name = "用户类型 UserTypeEnum", display = false)
private StudentTeacherSystemUseLogAnalysisService.UseTypeEnum userType;
@Query(name = "所在省份", display = false)
private String province;
@Query(name = "日期", display = false)
private String dayTime;
@Query(name = "使用时长", display = false)
private Long useDuration;
@Query(name = "创建时间", display = false)
private Date addTime;
@Query(name = "机构ID", display = false)
private Long orgId;
@Query(name = "用户ID", display = false)
private Long userId;
private String universitiesCollegesIdPlural;
private String orgIdPlural;
private String userIdPlural;
private String studentTeacherSystemUseLogAnalysisJsonStr;//json格式
private String _given;//指定更新的特定字段,多个逗号隔开
public String getId(){
return id;
}
public void setId(String id ){
this.id = id;
}
public String getFirstName(){
return firstName;
}
public void setFirstName(String firstName ){
this.firstName = firstName;
}
public String getSecondName(){
return secondName;
}
public void setSecondName(String secondName ){
this.secondName = secondName;
}
public String getUniversitiesCollegesName(){
return universitiesCollegesName;
}
public void setUniversitiesCollegesName(String universitiesCollegesName ){
this.universitiesCollegesName = universitiesCollegesName;
}
public Long getUniversitiesCollegesId(){
return universitiesCollegesId;
}
public void setUniversitiesCollegesId(Long universitiesCollegesId ){
this.universitiesCollegesId = universitiesCollegesId;
}
public StudentTeacherSystemUseLogAnalysisService.UseTypeEnum getUserType(){
return userType;
}
public void setUserType(StudentTeacherSystemUseLogAnalysisService.UseTypeEnum userType ){
this.userType = userType;
}
public String getProvince(){
return province;
}
public void setProvince(String province ){
this.province = province;
}
public String getDayTime(){
return dayTime;
}
public void setDayTime(String dayTime ){
this.dayTime = dayTime;
}
public Long getUseDuration(){
return useDuration;
}
public void setUseDuration(Long useDuration ){
this.useDuration = useDuration;
}
public Date getAddTime(){
return addTime;
}
public void setAddTime(Date addTime ){
this.addTime = addTime;
}
public Long getOrgId(){
return orgId;
}
public void setOrgId(Long orgId ){
this.orgId = orgId;
}
public Long getUserId(){
return userId;
}
public void setUserId(Long userId ){
this.userId = userId;
}
public StudentTeacherSystemUseLogAnalysis pojo(){
StudentTeacherSystemUseLogAnalysis pojo = new StudentTeacherSystemUseLogAnalysis();
pojo.setId(this.getId());
pojo.setFirstName(this.getFirstName());
pojo.setSecondName(this.getSecondName());
pojo.setUniversitiesCollegesName(this.getUniversitiesCollegesName());
pojo.setUniversitiesCollegesId(this.getUniversitiesCollegesId());
pojo.setUserType(this.getUserType());
pojo.setProvince(this.getProvince());
pojo.setDayTime(this.getDayTime());
pojo.setUseDuration(this.getUseDuration());
pojo.setAddTime(this.getAddTime());
pojo.setOrgId(this.getOrgId());
pojo.setUserId(this.getUserId());
return pojo;
}
public String getUniversitiesCollegesIdPlural(){
return universitiesCollegesIdPlural;
}
public void setUniversitiesCollegesIdPlural(String universitiesCollegesIdPlural){
this.universitiesCollegesIdPlural = universitiesCollegesIdPlural;
}
public String getOrgIdPlural(){
return orgIdPlural;
}
public void setOrgIdPlural(String orgIdPlural){
this.orgIdPlural = orgIdPlural;
}
public String getUserIdPlural(){
return userIdPlural;
}
public void setUserIdPlural(String userIdPlural){
this.userIdPlural = userIdPlural;
}
public String getStudentTeacherSystemUseLogAnalysisJsonStr(){
return studentTeacherSystemUseLogAnalysisJsonStr;
}
public void setStudentTeacherSystemUseLogAnalysisJsonStr(String studentTeacherSystemUseLogAnalysisJsonStr ){
this.studentTeacherSystemUseLogAnalysisJsonStr = studentTeacherSystemUseLogAnalysisJsonStr;
}
public String get_given() {
return _given;
}
public void set_given(String _given) {
this._given = _given;
}
}

@ -0,0 +1,507 @@
queryByCondition
===
* 根据不为空的参数进行分页查询
select
@pageTag(){
t.*
@}
from student_teacher_system_use_log_analysis t
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("studentTeacherSystemUseLogAnalysis.query")#
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
queryByConditionQuery
===
* 根据不为空的参数进行分页查询(无权限)
select
@pageTag(){
t.*
@}
from student_teacher_system_use_log_analysis t
where 1=1
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
deleteStudentTeacherSystemUseLogAnalysisByIds
===
* 批量删除
delete from student_teacher_system_use_log_analysis where find_in_set(id,#ids#)
getByIds
===
select * from student_teacher_system_use_log_analysis where find_in_set(id,#ids#)
updateGivenByIds
===
* 批量更新指定字段,无论此字段是否有值
update student_teacher_system_use_log_analysis
set
@if(contain("firstName",_given)){
@if(isEmpty(firstName)){
first_name = null ,
@}else{
first_name = #firstName# ,
@}
@}
@if(contain("secondName",_given)){
@if(isEmpty(secondName)){
second_name = null ,
@}else{
second_name = #secondName# ,
@}
@}
@if(contain("universitiesCollegesName",_given)){
@if(isEmpty(universitiesCollegesName)){
universities_colleges_name = null ,
@}else{
universities_colleges_name = #universitiesCollegesName# ,
@}
@}
@if(contain("universitiesCollegesId",_given)){
@if(isEmpty(universitiesCollegesId)){
universities_colleges_id = null ,
@}else{
universities_colleges_id = #universitiesCollegesId# ,
@}
@}
@if(contain("userType",_given)){
@if(isEmpty(userType)){
user_type = null ,
@}else{
user_type = #userType# ,
@}
@}
@if(contain("province",_given)){
@if(isEmpty(province)){
province = null ,
@}else{
province = #province# ,
@}
@}
@if(contain("dayTime",_given)){
@if(isEmpty(dayTime)){
day_time = null ,
@}else{
day_time = #dayTime# ,
@}
@}
@if(contain("useDuration",_given)){
@if(isEmpty(useDuration)){
use_duration = null ,
@}else{
use_duration = #useDuration# ,
@}
@}
@if(contain("addTime",_given)){
@if(isEmpty(addTime)){
add_time = null ,
@}else{
add_time = #addTime# ,
@}
@}
@if(contain("orgId",_given)){
@if(isEmpty(orgId)){
org_id = null ,
@}else{
org_id = #orgId# ,
@}
@}
@if(contain("userId",_given)){
@if(isEmpty(userId)){
user_id = null ,
@}else{
user_id = #userId# ,
@}
@}
id = id
where find_in_set(id,#idPlural#)
getStudentTeacherSystemUseLogAnalysisValues
===
* 根据不为空的参数进行查询
select t.*
from student_teacher_system_use_log_analysis t
where 1=1
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
getValuesByQuery
===
* 根据不为空的参数进行查询
select t.*
from student_teacher_system_use_log_analysis t
where 1=1 and #function("studentTeacherSystemUseLogAnalysis.query")#
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
getValuesByQueryNotWithPermission
===
* 根据不为空的参数进行查询(不包含权限)
select t.*
from student_teacher_system_use_log_analysis t
where 1=1
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
getExcelValues
===
* 根据不为空的参数进行查询导入需要的参数
SELECT * FROM (
(
select
MAX(LENGTH(t.first_name)) first_name,
MAX(LENGTH(t.second_name)) second_name,
MAX(LENGTH(t.universities_colleges_name)) universities_colleges_name,
MAX(LENGTH(t.universities_colleges_id)) universities_colleges_id,
MAX(LENGTH(t.user_type)) user_type,
MAX(LENGTH(t.province)) province,
MAX(LENGTH(t.day_time)) day_time,
MAX(LENGTH(t.use_duration)) use_duration,
MAX(LENGTH(t.add_time)) add_time,
from student_teacher_system_use_log_analysis t
where 1=1 and #function("studentTeacherSystemUseLogAnalysis.query")#
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
)
UNION ALL
(
select
t.first_name ,
t.second_name ,
t.universities_colleges_name ,
t.universities_colleges_id ,
t.user_type ,
t.province ,
t.day_time ,
t.use_duration ,
t.add_time ,
from student_teacher_system_use_log_analysis t
where 1=1 and #function("studentTeacherSystemUseLogAnalysis.query")#
@if(!isEmpty(id)){
and t.id =#id#
@}
@if(!isEmpty(firstName)){
and t.first_name =#firstName#
@}
@if(!isEmpty(secondName)){
and t.second_name =#secondName#
@}
@if(!isEmpty(universitiesCollegesName)){
and t.universities_colleges_name =#universitiesCollegesName#
@}
@if(!isEmpty(universitiesCollegesId)){
and t.universities_colleges_id =#universitiesCollegesId#
@}
@if(!isEmpty(universitiesCollegesIdPlural)){
and find_in_set(t.universities_colleges_id,#universitiesCollegesIdPlural#)
@}
@if(!isEmpty(userType)){
and t.user_type =#userType#
@}
@if(!isEmpty(province)){
and t.province =#province#
@}
@if(!isEmpty(dayTime)){
and t.day_time =#dayTime#
@}
@if(!isEmpty(useDuration)){
and t.use_duration =#useDuration#
@}
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
)
)t

@ -0,0 +1,38 @@
layui.define([ 'form', 'laydate', 'table','studentTeacherSystemUseLogAnalysisApi'], function(exports) {
var form = layui.form;
var studentTeacherSystemUseLogAnalysisApi = layui.studentTeacherSystemUseLogAnalysisApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#addForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#addButton").click(function(){
form.on('submit(form)', function(){
var id = $("#addForm input[name='id']").val();
if(!$.isEmpty(id)){
studentTeacherSystemUseLogAnalysisApi.updateStudentTeacherSystemUseLogAnalysis($('#addForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
}else{
studentTeacherSystemUseLogAnalysisApi.addStudentTeacherSystemUseLogAnalysis($('#addForm'),function(){
parent.window.dataReload();
Common.info("添加成功");
Lib.closeFrame();
});
}
});
});
$("#addButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('add',view);
});

@ -0,0 +1,23 @@
layui.define(['table', 'studentTeacherSystemUseLogAnalysisApi'], function(exports) {
var studentTeacherSystemUseLogAnalysisApi = layui.studentTeacherSystemUseLogAnalysisApi;
var table=layui.table;
var view = {
init:function(){
},
delBatch:function(){
var data = Common.getMoreDataFromTable(table,"studentTeacherSystemUseLogAnalysisTable");
if(data==null){
return ;
}
Common.openConfirm("确认要删除这些学生教师行为分析?",function(){
var ids =Common.concatBatchId(data,"id");
studentTeacherSystemUseLogAnalysisApi.del(ids,function(){
Common.info("删除成功");
dataReload();
})
})
}
}
exports('del',view);
});

@ -0,0 +1,28 @@
layui.define([ 'form', 'laydate', 'table','studentTeacherSystemUseLogAnalysisApi'], function(exports) {
var form = layui.form;
var studentTeacherSystemUseLogAnalysisApi = layui.studentTeacherSystemUseLogAnalysisApi;
var index = layui.index;
var view = {
init:function(){
Lib.initGenrealForm($("#updateForm"),form);
this.initSubmit();
},
initSubmit:function(){
$("#updateButton").click(function(){
form.on('submit(form)', function(){
studentTeacherSystemUseLogAnalysisApi.updateStudentTeacherSystemUseLogAnalysis($('#updateForm'),function(){
parent.window.dataReload();
Common.info("更新成功");
Lib.closeFrame();
});
});
});
$("#updateButton-cancel").click(function(){
Lib.closeFrame();
});
}
}
exports('edit',view);
});

@ -0,0 +1,224 @@
layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var form = layui.form;
var laydate = layui.laydate;
var table = layui.table;
var studentTeacherSystemUseLogAnalysisTable = null;
var view ={
init:function(){
var that = this
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function(){
Lib.doSearchForm($("#searchForm"),studentTeacherSystemUseLogAnalysisTable)
that.initToolBar();
}
},
initTable:function(){
var sx_ = localStorage.getItem("studentTeacherSystemUseLogAnalysisTable_field_"+Common.userInfoId); //筛选值显示、隐藏缓存
if($.isEmpty(sx_)){sx_ = {};}else {sx_ = JSON.parse(sx_);}
studentTeacherSystemUseLogAnalysisTable = table.render({
elem : '#studentTeacherSystemUseLogAnalysisTable',
height : Lib.getTableHeight(1),
cellMinWidth: 100,
method : 'post',
url : Common.ctxPath + '/jlw/studentTeacherSystemUseLogAnalysis/list.json' // 数据接口
,page : Lib.tablePage // 开启分页
,toolbar: '#toolbar_studentTeacherSystemUseLogAnalysis' //自定义头部左侧工具栏
,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏
,limit : 10,
cols : [ [ // 表头
{
type : 'checkbox',
},
{
field : 'id',
title : '主键ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['id'])?false:sx_['id'],
width : 60,
},
{
field : 'firstName',
title : '一级名称',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['firstName'])?false:sx_['firstName'],
},
{
field : 'secondName',
title : '二级名称',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['secondName'])?false:sx_['secondName'],
},
{
field : 'universitiesCollegesName',
title : '院校名称',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['universitiesCollegesName'])?false:sx_['universitiesCollegesName'],
},
{
field : 'universitiesCollegesId',
title : '院校ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['universitiesCollegesId'])?false:sx_['universitiesCollegesId'],
},
{
field : 'userType',
title : '用户类型 UserTypeEnum',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['userType'])?false:sx_['userType'],
},
{
field : 'province',
title : '所在省份',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['province'])?false:sx_['province'],
},
{
field : 'dayTime',
title : '日期',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['dayTime'])?false:sx_['dayTime'],
},
{
field : 'useDuration',
title : '使用时长',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['useDuration'])?false:sx_['useDuration'],
},
{
field : 'addTime',
title : '创建时间',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['addTime'])?false:sx_['addTime'],
},
{
field : 'orgId',
title : '机构ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['orgId'])?false:sx_['orgId'],
},
{
field : 'userId',
title : '用户ID',
align:"center",
hideField :false,
hide:$.isEmpty(sx_['userId'])?false:sx_['userId'],
}
,{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
return htm;
}
}
] ]
});
table.on('checkbox(studentTeacherSystemUseLogAnalysisTable)', function(obj){
var studentTeacherSystemUseLogAnalysis = obj.data;
if(obj.checked){
//按钮逻辑Lib.buttonEnable()
}else{
}
})
},
initSearchForm:function(){
Lib.initSearchForm( $("#searchForm"),studentTeacherSystemUseLogAnalysisTable,form);
},
initToolBar:function(){
toolbar = {
add: function () {
var url = "/jlw/studentTeacherSystemUseLogAnalysis/add.do";
Common.openDlg(url,"学生教师行为分析管理>新增");
},
edit: function () {
var data = Common.getOneFromTable(table,"studentTeacherSystemUseLogAnalysisTable");
if(data==null){
return ;
}
var url = "/jlw/studentTeacherSystemUseLogAnalysis/add.do?id="+data.id;
Common.openDlg(url,"学生教师行为分析管理>"+data.id+">编辑");
},
del: function () {
layui.use(['del'], function(){
var delView = layui.del
delView.delBatch();
});
},
search: function () {
Lib.doSearchForm($("#searchForm"), studentTeacherSystemUseLogAnalysisTable, 1);
view.initToolBar()
},
refresh: function () {
searchForm.reset();
Lib.doSearchForm($("#searchForm"), studentTeacherSystemUseLogAnalysisTable, 1);
view.initToolBar()
},
exportDocument: function () {
layui.use([ 'studentTeacherSystemUseLogAnalysisApi' ], function() {
var studentTeacherSystemUseLogAnalysisApi = layui.studentTeacherSystemUseLogAnalysisApi
Common.openConfirm("确认要导出这些学生教师行为分析数据?", function() {
studentTeacherSystemUseLogAnalysisApi.exportExcel($("#searchForm"), function(fileId) {
Lib.download(fileId);
})
})
});
},
importDocument: function () {
var uploadUrl = Common.ctxPath+"/jlw/studentTeacherSystemUseLogAnalysis/importTemplate.json";
//模板,
var templatePath= Common.ctxPath+"/jlw/studentTeacherSystemUseLogAnalysis/downloadTemplate.json";
//公共的简单上传文件处理
var url = "/core/file/simpleUpload.do?uploadUrl="+uploadUrl+"&templatePath="+templatePath;
Common.openDlg(url, "学生教师行为分析管理>上传");
}
}
//触发事件
$('.ext-toolbar').on('click', function() {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}, initTableTool: table.on('tool(studentTeacherSystemUseLogAnalysisTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/studentTeacherSystemUseLogAnalysis/add.do?id="+data.id;
Common.openDlg(url,"学生教师行为分析管理>"+data.id+">编辑");
}else if(obj.event === "del"){
layer.confirm('是否确定删除该信息?', function (index) {
var ret = Common.postAjax("/jlw/studentTeacherSystemUseLogAnalysis/delete.json",{ids:data.id});
layer.msg(ret.code == 0?"删除成功!":ret.msg, {
offset: ['50%'],
icon: ret.code == 0?1:2,
time: 1500 //2秒关闭如果不配置默认是3秒
},function (){
if(ret.code == 0){
Lib.tableRefresh();
}
});
});
}
})
}
exports('index',view);
});

@ -0,0 +1,26 @@
/*访问后台的代码*/
layui.define([], function(exports) {
var api={
updateStudentTeacherSystemUseLogAnalysis:function(form,callback){
Lib.submitForm("/jlw/studentTeacherSystemUseLogAnalysis/edit.json",form,{},callback)
},
addStudentTeacherSystemUseLogAnalysis:function(form,callback){
Lib.submitForm("/jlw/studentTeacherSystemUseLogAnalysis/add.json",form,{},callback)
},
del:function(ids,callback){
Common.post("/jlw/studentTeacherSystemUseLogAnalysis/delete.json",{"ids":ids},function(){
callback();
})
}
,
exportExcel:function(form,callback){
var formPara = form.serializeJson();
Common.downLoad("/jlw/studentTeacherSystemUseLogAnalysis/excel/export.json", formPara, 'POST')
// Common.post("/jlw/studentTeacherSystemUseLogAnalysis/excel/export.json", formPara, function(fileId) {
// callback(fileId);
// })
}
};
exports('studentTeacherSystemUseLogAnalysisApi',api);
});

@ -0,0 +1,104 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/studentTeacherSystemUseLogAnalysis/"}){ -->
<form class="layui-form" id="addForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">一级名称</label>
<div class="layui-input-inline">
<input type="text" id="firstName" name="firstName" value="${studentTeacherSystemUseLogAnalysis.firstName}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">二级名称</label>
<div class="layui-input-inline">
<input type="text" id="secondName" name="secondName" value="${studentTeacherSystemUseLogAnalysis.secondName}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">院校名称</label>
<div class="layui-input-inline">
<input type="text" id="universitiesCollegesName" name="universitiesCollegesName" value="${studentTeacherSystemUseLogAnalysis.universitiesCollegesName}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">院校ID</label>
<div class="layui-input-inline">
<input type="text" id="universitiesCollegesId" name="universitiesCollegesId" value="${studentTeacherSystemUseLogAnalysis.universitiesCollegesId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户类型 UserTypeEnum</label>
<div class="layui-input-inline">
<input type="text" id="userType" name="userType" value="${studentTeacherSystemUseLogAnalysis.userType}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">所在省份</label>
<div class="layui-input-inline">
<input type="text" id="province" name="province" value="${studentTeacherSystemUseLogAnalysis.province}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">日期</label>
<div class="layui-input-inline">
<input type="text" id="dayTime" name="dayTime" value="${studentTeacherSystemUseLogAnalysis.dayTime}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">使用时长</label>
<div class="layui-input-inline">
<input type="text" id="useDuration" name="useDuration" value="${studentTeacherSystemUseLogAnalysis.useDuration}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input type="text" id="addTime" name="addTime" value="${studentTeacherSystemUseLogAnalysis.addTime,"yyyy-MM-dd"}" class="layui-input input-date" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">机构ID</label>
<div class="layui-input-inline">
<input type="text" id="orgId" name="orgId" value="${studentTeacherSystemUseLogAnalysis.orgId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${studentTeacherSystemUseLogAnalysis.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="id" value="${studentTeacherSystemUseLogAnalysis.id}" />
<layui:submitButtons id="addButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['add'], function(){
var studentTeacherSystemUseLogAnalysisAdd = layui.add
studentTeacherSystemUseLogAnalysisAdd.init();
});
</script>

@ -0,0 +1,104 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/studentTeacherSystemUseLogAnalysis/"}){ -->
<form class="layui-form" id="updateForm">
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">一级名称</label>
<div class="layui-input-inline">
<input type="text" id="firstName" name="firstName" value="${studentTeacherSystemUseLogAnalysis.firstName}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">二级名称</label>
<div class="layui-input-inline">
<input type="text" id="secondName" name="secondName" value="${studentTeacherSystemUseLogAnalysis.secondName}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">院校名称</label>
<div class="layui-input-inline">
<input type="text" id="universitiesCollegesName" name="universitiesCollegesName" value="${studentTeacherSystemUseLogAnalysis.universitiesCollegesName}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">院校ID</label>
<div class="layui-input-inline">
<input type="text" id="universitiesCollegesId" name="universitiesCollegesId" value="${studentTeacherSystemUseLogAnalysis.universitiesCollegesId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户类型 UserTypeEnum</label>
<div class="layui-input-inline">
<input type="text" id="userType" name="userType" value="${studentTeacherSystemUseLogAnalysis.userType}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">所在省份</label>
<div class="layui-input-inline">
<input type="text" id="province" name="province" value="${studentTeacherSystemUseLogAnalysis.province}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">日期</label>
<div class="layui-input-inline">
<input type="text" id="dayTime" name="dayTime" value="${studentTeacherSystemUseLogAnalysis.dayTime}" class="layui-input" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">使用时长</label>
<div class="layui-input-inline">
<input type="text" id="useDuration" name="useDuration" value="${studentTeacherSystemUseLogAnalysis.useDuration}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input type="text" id="addTime" name="addTime" value="${studentTeacherSystemUseLogAnalysis.addTime,"yyyy-MM-dd"}" class="layui-input input-date" >
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">机构ID</label>
<div class="layui-input-inline">
<input type="text" id="orgId" name="orgId" value="${studentTeacherSystemUseLogAnalysis.orgId}" class="layui-input" >
</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">用户ID</label>
<div class="layui-input-inline">
<input type="text" id="userId" name="userId" value="${studentTeacherSystemUseLogAnalysis.userId}" class="layui-input" >
</div>
</div>
</div>
</div>
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="id" value="${studentTeacherSystemUseLogAnalysis.id}" />
<layui:submitButtons id="updateButton" buttonType="" showExamine="2" />
</form>
<!--#} -->
<script>
layui.use(['edit'], function(){
var studentTeacherSystemUseLogAnalysisEdit = layui.edit
studentTeacherSystemUseLogAnalysisEdit.init();
});
</script>

@ -0,0 +1,31 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/studentTeacherSystemUseLogAnalysis/"}){ -->
<layui:searchForm formId="searchForm" searchList="" condition="${search}">
</layui:searchForm>
<table id="studentTeacherSystemUseLogAnalysisTable" lay-filter="studentTeacherSystemUseLogAnalysisTable"></table>
<!--#} -->
<script type="text/html" id="toolbar_studentTeacherSystemUseLogAnalysis">
<div class="layui-btn-container">
<div class="layui-btn-group" >
<!--# if(core.searchIsShow(search)) {-->
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.query" id="searchFormSearch" action="search"><i class="layui-icon">&#xe615;</i>搜索</layui:accessButton>
<!--# }-->
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.add" action="add">添加</layui:accessButton>
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.edit" action="edit">修改</layui:accessButton>
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.del" action="del">删除</layui:accessButton>
<!--# if(!isEmpty(search)) {-->
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.query" action="refresh"><i class="layui-icon">&#xe669;</i>刷新</layui:accessButton>
<!--# }-->
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.exportDocument" action="exportDocument">导出</layui:accessButton>
<layui:accessButton function="studentTeacherSystemUseLogAnalysis.importTemplate" action="importDocument">导入</layui:accessButton>
</div>
</div>
</script>
<script>
layui.use(['index'], function(){
var index = layui.index;
index.init();
});
</script>
Loading…
Cancel
Save