From d336c430e5d22ade703ff12f3d523889eb3d75d6 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 08 十一月 2024 10:54:26 +0800
Subject: [PATCH] action管理 编辑 新增 分类禁用bug
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++++-
1 files changed, 74 insertions(+), 2 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
index bc75fa7..3dd6390 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/LogBasicServiceImpl.java
@@ -10,7 +10,14 @@
import com.vci.dto.LogPeriodInfoDTO;
import com.vci.dto.LogQueryCriteriaDTO;
import com.vci.frameworkcore.compatibility.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.exception.VciBaseException;
import com.vci.starter.web.pagemodel.BaseResult;
+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 org.apache.commons.lang3.StringUtils;
@@ -19,9 +26,11 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.io.File;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
/**
@@ -136,6 +145,7 @@
*/
@Override
public BaseResult getLogListByContion(LogQueryCriteriaDTO queryDto) throws PLException {
+ VciBaseUtil.alertNotNull(queryDto,"鏃ュ織鏌ヨ鍙傛暟瀵硅薄");
List<String> userNameList = userQueryServiceI.queryUserNameByRoleType(queryDto.getRoleType());
queryDto.setUserNameList(userNameList);
String querySql = getSQL(queryDto);
@@ -188,13 +198,73 @@
}
/**
+ * 瀵煎嚭鏃ュ織
+ * @param dto 瀵煎嚭鐨勬枃浠跺悕
+ * @return
+ */
+ @Override
+ public String exportLogs(LogQueryCriteriaDTO dto) throws PLException{
+ 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");
+ //璁剧疆鍒楀悕
+ List<String> columns = new ArrayList<>(
+ Arrays.asList("鐢ㄦ埛鍚�", "濮撳悕", "鐢ㄦ埛ip","妯″潡", "鎿嶄綔", "鏃堕棿", "鎿嶄綔缁撴灉","鎻忚堪")
+ );
+
+ //鍐檈xcel
+ String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls";
+ try {
+ new File(excelPath).createNewFile();
+ } catch (Throwable e) {
+ throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e);
+ }
+ //璁剧疆鍒�
+ List<WriteExcelData> excelDataList = new ArrayList<>();
+ //璁剧疆鍒楀ご
+ for (int index = 0; index < columns.size(); index++) {
+ excelDataList.add(new WriteExcelData(0,index, columns.get(index)));
+ }
+
+ if(Func.isEmpty(logList)){
+ excelDataList.add(new WriteExcelData(1,1, "瀵煎嚭鐨勬棩蹇楀垪琛ㄤ负绌猴紒"));
+ }else{
+ AtomicInteger i = new AtomicInteger();
+ 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();
+ });
+ }
+ WriteExcelOption excelOption = new WriteExcelOption(excelDataList);
+ ExcelUtil.writeDataToFile(excelPath, excelOption);
+ return excelPath;
+ }
+
+ /**
* 鑾峰彇鐢ㄦ埛淇℃伅
* @param userNames 鐢ㄦ埛鍚嶇О
* @return 鐢ㄦ埛淇℃伅
* @throws PLException
*/
private List<UserObject> getUsersByUserNames(List<String> userNames) throws PLException {
- List<UserObject> userList = new ArrayList<UserObject>();
+ List<UserObject> userList = new ArrayList<>();
for(String userName : userNames){
UserInfo userInfo = platformClientUtil.getFrameworkService().fetchUserInfoByName(userName);
UserObject user = new UserObject();
@@ -250,7 +320,7 @@
public String getSQL(LogQueryCriteriaDTO dto) throws PLException {
StringBuffer sql = new StringBuffer("");
// int period = getPeriod(LOG_SAVE_PERIOD);//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
- int period = platformClientUtil.getLogService().getCurPeriod();;//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
+ int period = platformClientUtil.getLogService().getCurPeriod();//鑾峰彇淇濆瓨鏈熼檺锛屼互鏈堜负鍗曚綅
//涓嬮潰鏄嫾鍑篠QL
if(period != 0){
sql.append(" to_date(PLDATE) >= add_months(to_date(sysdate),"+(-period)+")");
@@ -413,4 +483,6 @@
res = true;
return res;
}
+
+
}
--
Gitblit v1.9.3