| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.client.common.objects.UserObject; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.common.data.UserEntityInfo; |
| | |
| | | import com.vci.dto.LogInfoDTO; |
| | | import com.vci.dto.LogPeriodInfoDTO; |
| | | import com.vci.dto.LogQueryCriteriaDTO; |
| | | import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; |
| | | import com.vci.web.service.SmUserQueryServiceI; |
| | | import com.vci.starter.poi.bo.WriteExcelData; |
| | | import com.vci.starter.poi.bo.WriteExcelOption; |
| | | import com.vci.starter.poi.util.ExcelUtil; |
| | |
| | | import com.vci.starter.web.util.LangBaseUtil; |
| | | import com.vci.starter.web.util.LocalFileUtil; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.web.service.*; |
| | | import com.vci.web.util.*; |
| | | import com.vci.web.service.LogBasicServiceI; |
| | | import com.vci.starter.web.util.Lcm.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.WebUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | */ |
| | | @Override |
| | | public String exportLogs(LogQueryCriteriaDTO dto) throws PLException{ |
| | | BaseResult logListByContion = this.getLogListByContion(dto); |
| | | Collection<LogInfoDTO> logList = logListByContion.getData(); |
| | | VciBaseUtil.alertNotNull(dto,"日志查询参数对象"); |
| | | List<String> userNameList = userQueryServiceI.queryUserNameByRoleType(dto.getRoleType()); |
| | | dto.setUserNameList(userNameList); |
| | | String querySql = getSQL(dto); |
| | | //全查询 |
| | | if(dto.getPageSize() == -1){ |
| | | long sumLogRows = platformClientUtil.getLogService().getSumLogRows(querySql); |
| | | dto.setPageSize((int) sumLogRows); |
| | | } |
| | | LogInfo[] logList = platformClientUtil.getLogService().getLogListByContion(dto.getPageNo(),dto.getPageSize(),querySql); |
| | | |
| | | //界面没传名称,使用默认导出名称 |
| | | String exportFileName = "日志导出_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"); |
| | |
| | | if(Func.isEmpty(logList)){ |
| | | excelDataList.add(new WriteExcelData(1,1, "导出的日志列表为空!")); |
| | | }else{ |
| | | //先按照属性类型排序,不同属性类型导出的数据乱的效果 |
| | | AtomicInteger i = new AtomicInteger(); |
| | | logList.stream().forEach(log->{ |
| | | excelDataList.add(new WriteExcelData(i.get() +1,0, log.getUsername())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,1, log.getTruename())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,2, log.getUserIp())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,3, log.getModuleName())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,4, log.getType())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,5, log.getDate())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,6, log.getLogType())); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,7, log.getResult())); |
| | | Arrays.stream(logList).forEach(log->{ |
| | | excelDataList.add(new WriteExcelData(i.get() +1,0, log.username)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,1, log.truename)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,2, log.userIp)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,3, log.moduleName)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,4, log.type)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,5, log.date)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,6, log.logType)); |
| | | excelDataList.add(new WriteExcelData(i.get() +1,7, log.result)); |
| | | i.getAndIncrement(); |
| | | }); |
| | | } |