合并分支 'lixuetao' 到 'master'
Lixuetao 查看合并请求 faw-report-library/faw-report-library-boot!6
This commit is contained in:
@@ -25,6 +25,7 @@ public class secrecyDDLTimer {
|
||||
@Autowired
|
||||
ReportDao reportDao;
|
||||
|
||||
// @Scheduled(cron="0 0 0 * * *")
|
||||
@Scheduled(cron="0 0/10 * * * ?")
|
||||
public void timingOpen() {
|
||||
log.info("**********************保密到期定时任务开始**********************");
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.adc.da.report.aspect;
|
||||
|
||||
import com.adc.da.login.util.CommonUtils;
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.report.annotation.ReportLog;
|
||||
import com.adc.da.report.eo.LogEntity;
|
||||
import com.adc.da.report.eo.ReportEntity;
|
||||
import com.adc.da.report.service.ILogService;
|
||||
import com.adc.da.report.vo.ReportVo;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.util.http.ResponseMessage;
|
||||
import com.adc.da.util.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -13,16 +13,14 @@ import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Method;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @Author doudxw
|
||||
@@ -64,9 +62,7 @@ public class ReportLogAspect {
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
LogEntity entity = new LogEntity();
|
||||
|
||||
String account = Optional.ofNullable(CommonUtils.getUserInfo()).orElse(new UserEO()).getAccount();
|
||||
account = StringUtils.isEmpty(account) ? "未知用户" : account;
|
||||
entity.setAccount(account);
|
||||
entity.setAccount(UserUtils.getUser().getAccount());
|
||||
entity.setClassName(cs.getName());
|
||||
entity.setOperateTime(format.format(new Date()));
|
||||
entity.setMethod(name);
|
||||
@@ -74,11 +70,11 @@ public class ReportLogAspect {
|
||||
entity.setUsid(CommonUtils.getUserId());
|
||||
//新增或者编辑操作
|
||||
if ("新增或编辑".equals(description)) {
|
||||
Map<String, String> map = (Map<String, String>) returnValue.getData();
|
||||
String reportName = map.get("reportName");
|
||||
ReportEntity reportEntity = (ReportEntity) returnValue.getData();
|
||||
String reportName = reportEntity.getName();
|
||||
entity.setReportName(reportName);
|
||||
ReportVo vo = (ReportVo) args[0];
|
||||
if (StringUtils.isNotEmpty(vo.getId())) {
|
||||
ReportEntity vo = (ReportEntity) args[0];
|
||||
if (StringUtils.isEmpty(vo.getId())) {
|
||||
entity.setDescription("新增");
|
||||
} else {
|
||||
entity.setDescription("编辑");
|
||||
|
||||
@@ -31,4 +31,24 @@ public class PowerApplyConstants {
|
||||
* 总监levelId值 暂定 <=0.5
|
||||
*/
|
||||
public static final Double DIRECTOR_LEVEL = 0.5;
|
||||
|
||||
/**
|
||||
* 有预览和下载全部报告权限的levelId
|
||||
*/
|
||||
public static final Double SPECIAL_LEVEL_ONE = 1.0;
|
||||
|
||||
/**
|
||||
* 有预览和下载全部报告权限的levelId
|
||||
*/
|
||||
public static final Double SPECIAL_LEVEL_TWO = 2.0;
|
||||
|
||||
/**
|
||||
* 有预览和下载全部报告权限的levelId
|
||||
*/
|
||||
public static final Double SPECIAL_LEVEL_THREE = 3.0;
|
||||
|
||||
/**
|
||||
* 有预览和下载全部报告权限的levelId
|
||||
*/
|
||||
public static final Double SPECIAL_LEVEL_FOUL = 4.0;
|
||||
}
|
||||
|
||||
+26
-4
@@ -6,9 +6,11 @@ import com.adc.da.report.annotation.ReportLog;
|
||||
import com.adc.da.report.dao.mysql.ReportDao;
|
||||
import com.adc.da.report.dao.mysql.ReportLogBookDao;
|
||||
import com.adc.da.report.eo.FileEntity;
|
||||
import com.adc.da.report.eo.LogEntity;
|
||||
import com.adc.da.report.eo.ReportEntity;
|
||||
import com.adc.da.report.eo.ReportLogBook;
|
||||
import com.adc.da.report.service.IFileService;
|
||||
import com.adc.da.report.service.ILogService;
|
||||
import com.adc.da.report.service.IReportService;
|
||||
import com.adc.da.report.util.LocalFileUtil;
|
||||
import com.adc.da.report.util.OSSClientUtil;
|
||||
@@ -90,6 +92,8 @@ public class ReportManageConroller {
|
||||
@Resource
|
||||
private WaterMarkUtil waterMarkUtil;
|
||||
|
||||
@Resource
|
||||
private ILogService logService;
|
||||
/**
|
||||
* 新增或编辑报告
|
||||
* 弃用
|
||||
@@ -124,11 +128,12 @@ public class ReportManageConroller {
|
||||
*/
|
||||
@ApiOperation("新增或编辑报告")
|
||||
@PostMapping("/saveOrUpdate")
|
||||
// @ReportLog(description = "新增或编辑")
|
||||
@ReportLog(description = "新增或编辑")
|
||||
public ResponseMessage saveOrUpdate(@RequestBody ReportEntity reportEntity) throws IOException {
|
||||
|
||||
reportService.addOrUpdate(reportEntity);
|
||||
return Result.success();
|
||||
ReportEntity re = new ReportEntity();
|
||||
BeanUtils.copyProperties(reportEntity,re);
|
||||
reportService.addOrUpdate(re);
|
||||
return Result.success(reportEntity);
|
||||
}
|
||||
/**
|
||||
* 判断报告名称是否被占用
|
||||
@@ -534,9 +539,26 @@ public class ReportManageConroller {
|
||||
reportLog.setUpdateTime(new Date());
|
||||
reportLog.setUserId(UserUtils.getUserId());
|
||||
reportLogBookDao.insert(reportLog);
|
||||
|
||||
//报告日志管理
|
||||
ReportEntity reportEntity = reportDao.selectById(repostId);
|
||||
reportLog(reportEntity.getName(),"下载");
|
||||
}
|
||||
}
|
||||
|
||||
public void reportLog(String reportName,String desc){
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
LogEntity entity = new LogEntity();
|
||||
|
||||
entity.setAccount(UserUtils.getUser().getAccount());
|
||||
entity.setClassName("com.adc.da.report.controller.ReportManageConroller");
|
||||
entity.setOperateTime(format.format(new Date()));
|
||||
entity.setMethod("downloadPic");
|
||||
entity.setUsid(UserUtils.getUserId());
|
||||
entity.setReportName(reportName);
|
||||
entity.setDescription(desc);
|
||||
logService.insert(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 权限审批流程 添加报告按钮 可添加的报告
|
||||
|
||||
+8
-2
@@ -70,8 +70,14 @@ public class IReportContentServiceImpl extends ServiceImpl<ReportContentDao, Rep
|
||||
//解析出内容
|
||||
String content = FileContentUtil.readFileContent(file);
|
||||
//将内容存入
|
||||
ReportContentEntity reportContentEntity = new ReportContentEntity(UUID.randomUUID10(), reportId, content);
|
||||
save(reportContentEntity);
|
||||
ReportContentEntity reportContent = query().eq("report_id", reportId).one();
|
||||
if (reportContent == null) {
|
||||
ReportContentEntity reportContentEntity = new ReportContentEntity(UUID.randomUUID10(), reportId, content);
|
||||
save(reportContentEntity);
|
||||
} else {
|
||||
reportContent.setReportContent(content);
|
||||
saveOrUpdate(reportContent);
|
||||
}
|
||||
//将文件删除
|
||||
outputStream.close();
|
||||
FileUtil.deleteFile(path);
|
||||
|
||||
+48
-17
@@ -16,8 +16,10 @@ import com.adc.da.report.vo.ReportQueryVo;
|
||||
import com.adc.da.report.vo.ReportVo;
|
||||
import com.adc.da.sys.dao.mysql.RoleEODao;
|
||||
import com.adc.da.sys.dao.mysql.UserEODao;
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.RoleEO;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.sys.service.OrgEOService;
|
||||
import com.adc.da.util.http.ResponseMessage;
|
||||
import com.adc.da.util.http.Result;
|
||||
import com.adc.da.util.utils.CollectionUtils;
|
||||
@@ -118,6 +120,10 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
@Resource
|
||||
private UserEODao userEODao;
|
||||
|
||||
@Resource
|
||||
private OrgEOService orgEOService;
|
||||
@Resource
|
||||
private ILogService logService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -213,9 +219,6 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
});
|
||||
}
|
||||
|
||||
//插入报表内容表
|
||||
iReportContentService.insertReportContent(entity.getId(), entity.getFileId());
|
||||
|
||||
CommonUtils.threadPoolExecutor().execute(() -> {
|
||||
//生成html
|
||||
try {
|
||||
@@ -353,6 +356,10 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
log.info(key + "已经删除");
|
||||
nameList.add(entity.getName());
|
||||
}
|
||||
//删除报告内容表中的记录
|
||||
LambdaQueryWrapper<ReportContentEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(ReportContentEntity::getReportId, idList);
|
||||
iReportContentService.remove(wrapper);
|
||||
return nameList;
|
||||
}
|
||||
|
||||
@@ -454,7 +461,8 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
//用户级别
|
||||
double level = Double.parseDouble(levelId);
|
||||
//总监拥有全部报告的预览和下载权力
|
||||
if (level <= DIRECTOR_LEVEL) {
|
||||
if (level == SPECIAL_LEVEL_ONE || level == SPECIAL_LEVEL_TWO ||
|
||||
level == SPECIAL_LEVEL_THREE || level == SPECIAL_LEVEL_FOUL) {
|
||||
list.getRecords().forEach(reportVo -> {
|
||||
reportVo.setPower(PREVIEW_DOWNLOAD);
|
||||
});
|
||||
@@ -466,7 +474,7 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
powerList.add(PREVIEW);
|
||||
powerList.add(DOWNLOAD);
|
||||
LambdaQueryWrapper<PowerApply> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(PowerApply::getReportId, list.getRecords().stream().map(ReportVo::getId).collect(Collectors.toList()));
|
||||
wrapper.in(CollectionUtils.isNotEmpty(list.getRecords()) ,PowerApply::getReportId, list.getRecords().stream().map(ReportVo::getId).collect(Collectors.toList()));
|
||||
wrapper.in(PowerApply::getPower, powerList);
|
||||
wrapper.eq(PowerApply::getUserId, UserUtils.getUserId());
|
||||
wrapper.eq(PowerApply::getDelFlag, 0);
|
||||
@@ -477,25 +485,23 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
|
||||
//设置权限
|
||||
list.getRecords().forEach(reportVo -> {
|
||||
//无权限要求的报告自带预览权限
|
||||
if (reportVo.getConfidentialLevel().equals(PUBLIC_REPORT) &&
|
||||
reportVo.getPrivacyLevel().equals(NO_USER_PRIVACY_INVOLVED)) {
|
||||
reportVo.setPower(PREVIEW);
|
||||
} else {
|
||||
reportVo.setPower(NONE);
|
||||
}
|
||||
List<PowerApply> powerApplies = reportPowerMap.get(reportVo.getId());
|
||||
if (powerApplies != null) {
|
||||
if (powerApplies.size() == 1) {
|
||||
//只有当PA表只有一条申请的权限且并不是公开表的时候才给权限
|
||||
if (powerApplies.size() == 1 && reportVo.getPower().equals(NONE)) {
|
||||
reportVo.setPower(powerApplies.get(0).getPower());
|
||||
} else {
|
||||
reportVo.setPower(PREVIEW_DOWNLOAD);
|
||||
}
|
||||
}
|
||||
|
||||
//只有用户没有权限的时候才给默认权限
|
||||
if (reportVo.getPower() == null) {
|
||||
//其余人员只能预览公开报告(涉密等级:公开(内部公开)、隐私等级:不涉及用户隐私)
|
||||
if (reportVo.getConfidentialLevel().equals(PUBLIC_REPORT) &&
|
||||
reportVo.getPrivacyLevel().equals(NO_USER_PRIVACY_INVOLVED)) {
|
||||
reportVo.setPower(PREVIEW);
|
||||
} else {
|
||||
reportVo.setPower(NONE);
|
||||
}
|
||||
}
|
||||
//如果上传人是自己也有预览下载权限
|
||||
if (UserUtils.getUserId().equals(reportVo.getCreateUserId())) {
|
||||
reportVo.setPower(PREVIEW_DOWNLOAD);
|
||||
@@ -627,7 +633,8 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
//总监(levelId)
|
||||
UserEO userEo = userEODao.selectById(userId);
|
||||
Double levelId = Double.parseDouble(userEo.getLevelId() == null ? "1.0" : userEo.getLevelId());
|
||||
if (levelId <= DIRECTOR_LEVEL) {
|
||||
if (levelId.equals(SPECIAL_LEVEL_ONE) || levelId.equals(SPECIAL_LEVEL_TWO) ||
|
||||
levelId.equals(SPECIAL_LEVEL_THREE) || levelId.equals(SPECIAL_LEVEL_FOUL)) {
|
||||
return true;
|
||||
}
|
||||
//本人
|
||||
@@ -671,6 +678,15 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
@Override
|
||||
public ResponseMessage reportDetail(String reportId) {
|
||||
ReportDetailVo reportDetailVo = reportDao.reportDetail(reportId);
|
||||
//设置部门名称
|
||||
String department = reportDetailVo.getDepartment();
|
||||
String[] idArray = department.split(",");
|
||||
List<OrgEO> orgEOList = orgEOService.query().in("ID", idArray).list();
|
||||
if (CollectionUtils.isNotEmpty(orgEOList)) {
|
||||
String departmentName = orgEOList.stream().map(OrgEO::getOrgName).collect(Collectors.joining(","));
|
||||
reportDetailVo.setDepartmentName(departmentName);
|
||||
}
|
||||
|
||||
//设置标签列表
|
||||
LambdaQueryWrapper<ReportLabelEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(ReportLabelEntity::getReportId, reportId);
|
||||
@@ -708,9 +724,24 @@ public class IReportServiceImpl extends ServiceImpl<ReportDao, ReportEntity>
|
||||
reportDetailVo.setDownPower(1);
|
||||
}
|
||||
}
|
||||
//报告日志管理
|
||||
reportLog(reportDetailVo.getName(),"预览");
|
||||
return Result.success(reportDetailVo);
|
||||
}
|
||||
|
||||
public void reportLog(String reportName,String desc){
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
LogEntity entity = new LogEntity();
|
||||
|
||||
entity.setAccount(UserUtils.getUser().getAccount());
|
||||
entity.setClassName("com.adc.da.report.service.impl.IReportServiceImpl");
|
||||
entity.setOperateTime(format.format(new Date()));
|
||||
entity.setMethod("reportDetail");
|
||||
entity.setUsid(UserUtils.getUserId());
|
||||
entity.setReportName(reportName);
|
||||
entity.setDescription(desc);
|
||||
logService.insert(entity);
|
||||
}
|
||||
/**
|
||||
* 创建htmlstring
|
||||
*
|
||||
|
||||
+39
-14
@@ -2,11 +2,14 @@ package com.adc.da.report.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.report.dao.mysql.PowerApplyDao;
|
||||
import com.adc.da.report.dao.mysql.ReportDao;
|
||||
import com.adc.da.report.dao.mysql.TtReportManageActDao;
|
||||
import com.adc.da.report.eo.LogEntity;
|
||||
import com.adc.da.report.eo.ReportEntity;
|
||||
import com.adc.da.report.eo.TtReportManageAct;
|
||||
import com.adc.da.report.service.ILogService;
|
||||
import com.adc.da.report.service.IReportContentService;
|
||||
import com.adc.da.report.service.ITtReportManageActService;
|
||||
import com.adc.da.report.vo.DeleteParamRequestVO;
|
||||
@@ -22,7 +25,9 @@ import org.springframework.util.ObjectUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -38,6 +43,9 @@ public class ITtReportManageActServiceImpl extends ServiceImpl<TtReportManageAct
|
||||
@Autowired
|
||||
ReportDao reportDao;
|
||||
|
||||
@Resource
|
||||
private ILogService logService;
|
||||
|
||||
@Autowired
|
||||
PowerApplyDao powerApplyDao;
|
||||
|
||||
@@ -128,25 +136,42 @@ public class ITtReportManageActServiceImpl extends ServiceImpl<TtReportManageAct
|
||||
|
||||
@Override
|
||||
public void saveOrUpdataReport(TtReportManageAct ttReportManageAct) {
|
||||
//插入报表内容表
|
||||
ReportEntity reportEntity = reportDao.selectById(ttReportManageAct.getDataId());
|
||||
if (reportEntity == null){
|
||||
//保存报告
|
||||
reportDao.saveReportAct(ttReportManageAct);
|
||||
reportLog(ttReportManageAct.getName(),"新增");
|
||||
}else {
|
||||
//更改
|
||||
ReportEntity reportEntity1 = new ReportEntity();
|
||||
BeanUtil.copyProperties(ttReportManageAct,reportEntity1);
|
||||
reportEntity1.setId(ttReportManageAct.getDataId());
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
reportEntity1.setCreateDate(sdf.format(ttReportManageAct.getCreateDate()));
|
||||
reportEntity1.setUpdateDate(sdf.format(ttReportManageAct.getUpdateDate()));
|
||||
reportDao.updateById(reportEntity1);
|
||||
reportLog(reportEntity.getName(),"修改");
|
||||
}
|
||||
try {
|
||||
iReportContentService.insertReportContent(ttReportManageAct.getDataId(), ttReportManageAct.getFileId());
|
||||
log.info("抽取报告内容");
|
||||
} catch (IOException e) {
|
||||
log.error("获取报告内容失败", e);
|
||||
}
|
||||
|
||||
ReportEntity reportEntity = reportDao.selectById(ttReportManageAct.getDataId());
|
||||
if (reportEntity == null){
|
||||
//保存报告
|
||||
reportDao.saveReportAct(ttReportManageAct);
|
||||
}else {
|
||||
//更改
|
||||
ReportEntity reportEntity1 = new ReportEntity();
|
||||
BeanUtil.copyProperties(ttReportManageAct,reportEntity1);
|
||||
reportEntity1.setId(ttReportManageAct.getDataId());
|
||||
reportDao.updateById(reportEntity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void reportLog(String reportName,String desc){
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
LogEntity entity = new LogEntity();
|
||||
|
||||
entity.setAccount(UserUtils.getUser().getAccount());
|
||||
entity.setClassName("com.adc.da.report.service.impl.ITtReportManageActServiceImpl");
|
||||
entity.setOperateTime(format.format(new Date()));
|
||||
entity.setMethod("saveOrUpdataReport");
|
||||
entity.setUsid(UserUtils.getUserId());
|
||||
entity.setReportName(reportName);
|
||||
entity.setDescription(desc);
|
||||
logService.insert(entity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package com.adc.da.report.service.impl;
|
||||
|
||||
|
||||
import com.adc.da.login.util.UserUtils;
|
||||
import com.adc.da.report.dao.mysql.PowerApplyActDao;
|
||||
import com.adc.da.report.eo.PowerApplyAct;
|
||||
import com.adc.da.report.service.IPowerApplyActService;
|
||||
@@ -71,6 +72,8 @@ public class IpowerApplyActServiceImpl extends ServiceImpl<PowerApplyActDao, Pow
|
||||
*/
|
||||
public void saveOrUpdateSingle(PowerApplyAct powerApplyAct) {
|
||||
if (StringUtils.isEmpty(powerApplyAct.getId())) {
|
||||
powerApplyAct.setCreateUserId(UserUtils.getUserId());
|
||||
powerApplyAct.setUserId(UserUtils.getUserId());
|
||||
baseMapper.insert(powerApplyAct);
|
||||
} else {
|
||||
baseMapper.updateById(powerApplyAct);
|
||||
|
||||
@@ -38,16 +38,6 @@ public class ReportCommentVo {
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 部门名
|
||||
*/
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 评论
|
||||
*/
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
</select>
|
||||
|
||||
<select id="reportManagerPage" parameterType="com.adc.da.report.vo.ReportQueryVo" resultType="com.adc.da.report.vo.ReportVo">
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
t.id,
|
||||
t.year,
|
||||
t.name,
|
||||
@@ -282,7 +282,6 @@
|
||||
rm.keycontent AS keycontent,
|
||||
rm.maincontent AS maincontent,
|
||||
rm.department AS department,
|
||||
org.org_name as departmentName,
|
||||
rm.`year` AS `year`,
|
||||
rm.fileId AS fileId,
|
||||
f.file_name as fileName,
|
||||
|
||||
@@ -10,16 +10,14 @@
|
||||
ruc.user_id AS userId,
|
||||
u.USNAME AS userName,
|
||||
ruc.comment AS comment,
|
||||
ruc.create_time AS createTime,
|
||||
o.ORG_NAME AS orgName
|
||||
ruc.create_time AS createTime
|
||||
FROM
|
||||
`ts_report_user_comment` AS ruc
|
||||
INNER JOIN ts_user AS u ON u.USID = ruc.user_id
|
||||
LEFT JOIN tr_user_org AS uo ON uo.USER_ID = ruc.user_id
|
||||
LEFT JOIN ts_org AS o ON uo.ORG_ID = o.ID
|
||||
WHERE
|
||||
ruc.del_flag = 0
|
||||
AND
|
||||
ruc.report_id = #{dto.reportId}
|
||||
ORDER BY ruc.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -5,6 +5,7 @@ import com.adc.da.excel.poi.excel.ExcelImportUtil;
|
||||
import com.adc.da.excel.poi.excel.entity.ImportParams;
|
||||
import com.adc.da.sys.constant.SysConstants;
|
||||
import com.adc.da.sys.dao.mysql.UserOrgEODao;
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.sys.entity.UserOrgEO;
|
||||
import com.adc.da.sys.service.iservice.IUserEoService;
|
||||
@@ -240,4 +241,13 @@ public class UserEOController extends BaseController<UserEO> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "查询自己领导")
|
||||
@GetMapping("getOwnLeader")
|
||||
public ResponseMessage getOwnLeader(String userId){
|
||||
UserEO userEoById = userEOService.getUserEoById(userId);
|
||||
List<OrgEO> orgEOList = userEoById.getOrgEOList();
|
||||
List<UserEO> leaderList = userEOService.getOwnLeader(orgEOList);
|
||||
return Result.success(leaderList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.adc.da.sys.dao.mysql;
|
||||
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.sys.vo.UserVO;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -44,4 +45,6 @@ public interface UserEODao extends BaseMapper<UserEO> {
|
||||
UserEO getUserEoById(@Param("usid") String usid);
|
||||
|
||||
UserEO selectUserByIdNodel(String userId);
|
||||
|
||||
List<UserEO> getOwnLeader(@Param("Vo") List<OrgEO> orgEOList);
|
||||
}
|
||||
|
||||
@@ -149,4 +149,6 @@ public class UserEO extends BaseEntity implements Serializable {
|
||||
@TableField(exist = false)
|
||||
private String roleId;
|
||||
|
||||
@TableField("EMPLOYEE_TYPE_ID")
|
||||
private String employeeTypeId;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,7 @@ import com.adc.da.sys.constant.UserBelongEnum;
|
||||
import com.adc.da.sys.dao.mysql.UserEODao;
|
||||
import com.adc.da.sys.dao.mysql.UserOrgEODao;
|
||||
import com.adc.da.sys.dao.mysql.UserRoleEODao;
|
||||
import com.adc.da.sys.entity.RoleEO;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.sys.entity.UserOrgEO;
|
||||
import com.adc.da.sys.entity.UserRoleEO;
|
||||
import com.adc.da.sys.entity.*;
|
||||
import com.adc.da.sys.service.iservice.IUserEoService;
|
||||
import com.adc.da.sys.util.EncryptUtil;
|
||||
import com.adc.da.sys.vo.UserImportVO;
|
||||
@@ -335,6 +332,11 @@ public class UserEOServiceImpl implements IUserEoService {
|
||||
return dao.selectUserByIdNodel(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserEO> getOwnLeader(List<OrgEO> orgEOList) {
|
||||
return dao.getOwnLeader(orgEOList);
|
||||
}
|
||||
|
||||
void checkExcel(List<UserImportVO> list) {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
throw new AdcDaBaseException("数据不能为空");
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.adc.da.sys.service.iservice;
|
||||
|
||||
import com.adc.da.sys.entity.OrgEO;
|
||||
import com.adc.da.sys.entity.UserEO;
|
||||
import com.adc.da.sys.vo.UserImportVO;
|
||||
import com.adc.da.sys.vo.UserVO;
|
||||
@@ -67,4 +68,6 @@ public interface IUserEoService {
|
||||
* @return
|
||||
*/
|
||||
UserEO getUserByIdNodel(String userId);
|
||||
|
||||
List<UserEO> getOwnLeader(List<OrgEO> orgEOList);
|
||||
}
|
||||
|
||||
@@ -55,4 +55,5 @@ public class UserVO {
|
||||
*/
|
||||
private List<OrgEO> orgEOList = new ArrayList();
|
||||
|
||||
private String employeeTypeId;
|
||||
}
|
||||
|
||||
@@ -48,9 +48,13 @@
|
||||
<select id="selectCountByOrgCode" resultType="java.lang.Long">
|
||||
select count(1) from TS_ORG
|
||||
<where>
|
||||
status = 1
|
||||
<if test="pageVO.orgCode != null and pageVO.orgCode != ''">
|
||||
and org_code = #{pageVO.orgCode}
|
||||
</if>
|
||||
<if test="pageVO.id != null and pageVO.id != ''">
|
||||
and id != #{pageVO.id}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -256,6 +256,17 @@
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
<select id="getOwnLeader" resultType="com.adc.da.sys.entity.UserEO">
|
||||
select u.* from ts_user u
|
||||
LEFT JOIN tr_user_org uo on u.usid = uo.USER_ID
|
||||
<where>
|
||||
uo.org_id in
|
||||
<foreach collection="Vo" item="item" open="(" separator="," close=")">
|
||||
#{item.Id}
|
||||
</foreach>
|
||||
and (u.level_id=5 or u.level_id=9) and u.employee_type_id = 1
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -48,9 +48,13 @@
|
||||
<select id="selectCountByOrgCode" resultType="java.lang.Long">
|
||||
select count(1) from TS_ORG
|
||||
<where>
|
||||
status = 1
|
||||
<if test="pageVO.orgCode != null and pageVO.orgCode != ''">
|
||||
and org_code = #{pageVO.orgCode}
|
||||
</if>
|
||||
<if test="pageVO.id != null and pageVO.id != ''">
|
||||
and id != #{pageVO.id}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
+32
-7
@@ -33,6 +33,7 @@ import java.text.SimpleDateFormat;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
|
||||
@Api(tags = "流程明细管理")
|
||||
@@ -76,7 +77,8 @@ public class TaskController {
|
||||
List<Map<String,Object>> list = ActivitiTools.turnHistoricTaskInstance(list2);
|
||||
List<Map<String, Object>> relistMap = new ArrayList<>();
|
||||
|
||||
for (Map<String, Object> historicTaskInstance : list) {
|
||||
for (int j = 0; j < list.size(); j++) {
|
||||
Map<String, Object> historicTaskInstance = list.get(j);
|
||||
// 获取办理的历史信息
|
||||
if(historicTaskInstance.get("assignee") == null) {
|
||||
String taskId = historicTaskInstance.get("id").toString();
|
||||
@@ -120,19 +122,42 @@ public class TaskController {
|
||||
map.put("prcType",one.getPrcType());
|
||||
map.put("prcName",one.getPrcName());
|
||||
map.put("prcNum",one.getPrcNum());
|
||||
Date createTime = busProcessEntrust.getCreateTime();
|
||||
Date createTime1 = busProcessEntrust.getCreateTime();
|
||||
LocalDateTime dt = LocalDateTime.ofInstant(busProcessEntrust.getCreateTime().toInstant(), ZoneId.systemDefault());
|
||||
String createTime = dt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
map.put("createTime",createTime);
|
||||
map.put("approvalOpinion",busProcessEntrust.getApprovalOpinion());
|
||||
if (i+1 != EOS.size()){
|
||||
BusProcessEntrust busProcessEntrust1 = EOS.get(i + 1);
|
||||
Date endTime = busProcessEntrust1.getCreateTime();
|
||||
LocalDateTime en =
|
||||
LocalDateTime.ofInstant(busProcessEntrust1.getCreateTime().toInstant(), ZoneId.systemDefault());
|
||||
String endTime = en.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
map.put("endTime",endTime);
|
||||
//long approvalTime = disposeApprovalTime(createTime,endTime);
|
||||
LocalDateTime startDateTime = LocalDateTime.ofInstant(createTime.toInstant(), ZoneId.systemDefault());
|
||||
LocalDateTime endDateTime = LocalDateTime.ofInstant(endTime.toInstant(), ZoneId.systemDefault());
|
||||
LocalDateTime startDateTime =
|
||||
LocalDateTime.ofInstant(busProcessEntrust1.getCreateTime().toInstant(),
|
||||
ZoneId.systemDefault());
|
||||
LocalDateTime endDateTime = LocalDateTime.ofInstant(busProcessEntrust1.getCreateTime().toInstant(), ZoneId.systemDefault());
|
||||
long days = Duration.between(startDateTime.toLocalDate().atStartOfDay(), endDateTime.toLocalDate().atStartOfDay()).toDays() + 1;
|
||||
historicTaskInstance.put("approvalTime",days + "天");
|
||||
map.put("approvalTime",days + "天");
|
||||
}else {
|
||||
if (j+1<list.size()){
|
||||
Map<String, Object> stringObjectMap = list.get(j + 1);
|
||||
Object create = stringObjectMap.get("createTime");
|
||||
if(create!=null){
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
Date endTime = sdf.parse((String)create);
|
||||
LocalDateTime en =
|
||||
LocalDateTime.ofInstant(endTime.toInstant(), ZoneId.systemDefault());
|
||||
String endTimestr = en.format(DateTimeFormatter.ofPattern("yyyy-MM-dd " +
|
||||
"HH:mm:ss"));
|
||||
map.put("endTime",endTimestr);
|
||||
LocalDateTime startDateTime = LocalDateTime.ofInstant(createTime1.toInstant()
|
||||
, ZoneId.systemDefault());
|
||||
LocalDateTime endDateTime = LocalDateTime.ofInstant(endTime.toInstant(), ZoneId.systemDefault());
|
||||
long days = Duration.between(startDateTime.toLocalDate().atStartOfDay(), endDateTime.toLocalDate().atStartOfDay()).toDays() + 1;
|
||||
map.put("approvalTime",days + "天");
|
||||
}
|
||||
}
|
||||
QueryWrapper<BusProcessApprove> datasQueryWrapper = new QueryWrapper<>();
|
||||
datasQueryWrapper.lambda().eq(BusProcessApprove::getTaskId,historicTaskInstance.get("id"));
|
||||
List<BusProcessApprove> approveList = iBusProcessApproveService.list(datasQueryWrapper);
|
||||
|
||||
+10
-5
@@ -921,8 +921,11 @@ public class TodoTaskController {
|
||||
queryWrapper.orderByDesc("CREAT_TIME");
|
||||
queryWrapper.isNotNull("PRC_ID");
|
||||
queryWrapper.isNotNull("PRC_NUM");
|
||||
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue())
|
||||
.or().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.STOP.getValue());
|
||||
queryWrapper.and((wrapper)->{
|
||||
wrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue())
|
||||
.or().
|
||||
eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.STOP.getValue());
|
||||
});
|
||||
|
||||
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
|
||||
Page page = new Page();
|
||||
@@ -1109,9 +1112,11 @@ public class TodoTaskController {
|
||||
if (taskCommonQuery.getPrcType() != null && !taskCommonQuery.getPrcType().equals("")) {
|
||||
queryWrapper.eq("PRC_TYPE", taskCommonQuery.getPrcType());
|
||||
}
|
||||
|
||||
queryWrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue())
|
||||
.or().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.STOP.getValue());
|
||||
queryWrapper.and((wrapper)->{
|
||||
wrapper.lambda().eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.SUBMIT.getValue())
|
||||
.or().
|
||||
eq(BusProcessName::getSubmitStatus,SubmitStatusEnum.STOP.getValue());
|
||||
});
|
||||
|
||||
List<BusProcessName> list = iBusProcessNameService.list(queryWrapper);
|
||||
|
||||
|
||||
+2
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@@ -54,6 +55,7 @@ public class BusProcessEntrust implements Serializable {
|
||||
private String prcName;
|
||||
|
||||
@TableField("CREATE_TIME")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime = new Date(System.currentTimeMillis());;
|
||||
|
||||
@TableField("VALID_FLAG")
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Reference in New Issue
Block a user