From c2c50b4352036368a0042c04d5b7a48d1ba50f47 Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 25 Oct 2022 12:43:20 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97-?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/ActSarItemsBussEOService.java | 8 +- .../com/adc/da/slrs/sysLog/dao/SysLogDao.java | 2 +- .../com/adc/da/slrs/sysLog/entity/SysLog.java | 3 + .../service/impl/SysLogServiceImpl.java | 77 ++++++++++++++++++- .../mybatis/mapper/sysLog/SysLogMapper.xml | 6 +- 5 files changed, 87 insertions(+), 9 deletions(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java index 21373804..dca0a541 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java +++ b/adc-da-activiti/src/main/java/com/adc/da/workFlow/service/ActSarItemsBussEOService.java @@ -132,11 +132,11 @@ public class ActSarItemsBussEOService { String sarStandAttrInfo = JSONObject.toJSONString(attrInfoMap); SarBussionessStand bussionessStand = new SarBussionessStand(); bussionessStand.setId(standId); - if("2".equals(reviewResults) || "3".equals(reviewResults)) { // 废止,有效时才修改文本状态 - bussionessStand.setTextStatusBuss(textStatus); - } + bussionessStand.setTextStatusBuss(textStatus); bussionessStand.setSarStandAttrEOStr(sarStandAttrInfo); - iSarBussionessStandService.updateSarBussionessStand(bussionessStand); + if("2".equals(reviewResults) || "3".equals(reviewResults)) { // 废止,有效时才修改文本状态 + iSarBussionessStandService.updateSarBussionessStand(bussionessStand); + } SarBussionessStandState state = new SarBussionessStandState(); state.setStandId(standId); diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java index cca9c64d..bc0ac345 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/dao/SysLogDao.java @@ -21,7 +21,7 @@ import java.util.List; */ public interface SysLogDao extends BaseMapper { - List getSysLogExcelVOExcelData(@Param("sysLogReqDTO") SysLogReqExportDTO sysLogReqDTO); + List getSysLogExcelVOExcelData(@Param("sysLogReqDTO") SysLogReqExportDTO sysLogReqDTO); IPage queryAllLog(Page page,@Param("sysLogReqDTO") SysLogReqDTO sysLogReqDTO); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLog.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLog.java index 9d1caa52..d05c4229 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLog.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/entity/SysLog.java @@ -72,6 +72,9 @@ public class SysLog extends BaseEntity { @TableField(exist = false) private String dept; + @TableField(exist = false) + private String parentIds; + @TableField(exist = false) private String accountName; diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java index d9171368..cba83c79 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sysLog/service/impl/SysLogServiceImpl.java @@ -1,17 +1,27 @@ package com.adc.da.slrs.sysLog.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao; +import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sysLog.entity.SysLog; import com.adc.da.slrs.sysLog.dao.SysLogDao; import com.adc.da.slrs.sysLog.entity.SysLogExcel; import com.adc.da.slrs.sysLog.service.ISysLogService; import com.adc.da.slrs.sysLog.vo.SysLogReqDTO; import com.adc.da.slrs.sysLog.vo.SysLogReqExportDTO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -24,15 +34,80 @@ import java.util.List; @Service public class SysLogServiceImpl extends ServiceImpl implements ISysLogService { + @Autowired + private TsInstitutionDao tsInstitutionDao; + @Override public List getSysLogExcelVOExcelData(SysLogReqExportDTO sysLogReqDTO) { - return this.baseMapper.getSysLogExcelVOExcelData(sysLogReqDTO); + List datas = this.baseMapper.getSysLogExcelVOExcelData(sysLogReqDTO); + QueryWrapper queryWrapper = new QueryWrapper<>(); + List tsInstitutionList = tsInstitutionDao.selectList(queryWrapper); + List tsInstitutions = new ArrayList<>(); + List sysLogExcelList = new ArrayList<>(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 处理部门字段 + for (SysLog sysLog : datas) { + SysLogExcel sysLogExcel = new SysLogExcel(); + sysLogExcel.setAccount(sysLog.getAccount()); + sysLogExcel.setDept(sysLog.getDept()); + sysLogExcel.setOper(sysLog.getOper()); + sysLogExcel.setOperTime(simpleDateFormat.format(sysLog.getOperTime())); + sysLogExcel.setSpecial(sysLog.getSpecial()); + + if (StringUtils.isNotEmpty(sysLog.getParentIds())) { + String[] parentIds = sysLog.getParentIds().split(","); + StringBuilder stringBuilder = new StringBuilder(); + for (int i = parentIds.length - 1; i >= 0; i--) { + String parentId = parentIds[i]; + if ("30000000".equals(parentIds[i])) { + continue; + } + tsInstitutions = tsInstitutionList.stream().filter(e -> parentId.equals(e.getId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(tsInstitutions)) { + stringBuilder.append(tsInstitutions.get(0).getName()).append("-"); + } + } + stringBuilder.append(sysLog.getDept()); + if (StringUtils.isNotEmpty(stringBuilder.toString())) { + sysLogExcel.setDept(stringBuilder.toString()); + } + } + + sysLogExcelList.add(sysLogExcel); + } + return sysLogExcelList; } @Override public IPage getAllLog(SysLogReqDTO sysLogReqDTO) { Page page = new Page<>(sysLogReqDTO.getPage(), sysLogReqDTO.getPageSize()); IPage result = baseMapper.queryAllLog(page,sysLogReqDTO); + List datas = result.getRecords(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + List tsInstitutionList = tsInstitutionDao.selectList(queryWrapper); + List tsInstitutions = new ArrayList<>(); + for (SysLog sysLog : datas) { + if (StringUtils.isNotEmpty(sysLog.getParentIds())) { + String[] parentIds = sysLog.getParentIds().split(","); + StringBuilder stringBuilder = new StringBuilder(); + for (int i = parentIds.length - 1; i >= 0; i--) { + String parentId = parentIds[i]; + if ("30000000".equals(parentIds[i])) { + continue; + } + tsInstitutions = tsInstitutionList.stream().filter(e -> parentId.equals(e.getId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(tsInstitutions)) { + stringBuilder.append(tsInstitutions.get(0).getName()).append("-"); + } + + } + stringBuilder.append(sysLog.getDept()); + if (StringUtils.isNotEmpty(stringBuilder.toString())) { + sysLog.setDept(stringBuilder.toString()); + } + } + } return result; } } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml index a009abfc..a3ad056d 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sysLog/SysLogMapper.xml @@ -2,8 +2,8 @@ - + select CONCAT('(',ts_user.account,')',ts_user.UNAME) as account,ts_user.UNAME as accountName,ts_institution.name dept,ts_institution.parent_ids,sys_log.oper_time,sys_log.oper,sys_log.special from sys_log left join ts_user on sys_log.user_id = ts_user.usid left join ts_institution on ts_user.institution_id = ts_institution.id WHERE 1=1 and sys_log.oper_time >= DATE_SUB(CURDATE(),INTERVAL 1 YEAR) @@ -26,7 +26,7 @@