diff --git a/adc-da-report/src/main/java/com/adc/da/report/Timer/secrecyDDLTimer.java b/adc-da-report/src/main/java/com/adc/da/report/Timer/secrecyDDLTimer.java index 40d5615..906f8de 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/Timer/secrecyDDLTimer.java +++ b/adc-da-report/src/main/java/com/adc/da/report/Timer/secrecyDDLTimer.java @@ -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("**********************保密到期定时任务开始**********************"); diff --git a/adc-da-report/src/main/java/com/adc/da/report/aspect/ReportLogAspect.java b/adc-da-report/src/main/java/com/adc/da/report/aspect/ReportLogAspect.java index 50737c3..5a561a1 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/aspect/ReportLogAspect.java +++ b/adc-da-report/src/main/java/com/adc/da/report/aspect/ReportLogAspect.java @@ -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 map = (Map) 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("编辑"); diff --git a/adc-da-report/src/main/java/com/adc/da/report/constant/PowerApplyConstants.java b/adc-da-report/src/main/java/com/adc/da/report/constant/PowerApplyConstants.java index 67eab41..b3d3aeb 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/constant/PowerApplyConstants.java +++ b/adc-da-report/src/main/java/com/adc/da/report/constant/PowerApplyConstants.java @@ -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; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index a7697db..fcfc9e1 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -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); + } /** * 权限审批流程 添加报告按钮 可添加的报告 diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java index dac4d3f..bd326c1 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportContentServiceImpl.java @@ -70,8 +70,14 @@ public class IReportContentServiceImpl extends ServiceImpl @Resource private UserEODao userEODao; + @Resource + private OrgEOService orgEOService; + @Resource + private ILogService logService; @Override @@ -213,9 +219,6 @@ public class IReportServiceImpl extends ServiceImpl }); } - //插入报表内容表 - iReportContentService.insertReportContent(entity.getId(), entity.getFileId()); - CommonUtils.threadPoolExecutor().execute(() -> { //生成html try { @@ -353,6 +356,10 @@ public class IReportServiceImpl extends ServiceImpl log.info(key + "已经删除"); nameList.add(entity.getName()); } + //删除报告内容表中的记录 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(ReportContentEntity::getReportId, idList); + iReportContentService.remove(wrapper); return nameList; } @@ -454,7 +461,8 @@ public class IReportServiceImpl extends ServiceImpl //用户级别 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 powerList.add(PREVIEW); powerList.add(DOWNLOAD); LambdaQueryWrapper 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 //设置权限 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 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 //总监(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 @Override public ResponseMessage reportDetail(String reportId) { ReportDetailVo reportDetailVo = reportDao.reportDetail(reportId); + //设置部门名称 + String department = reportDetailVo.getDepartment(); + String[] idArray = department.split(","); + List 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 wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ReportLabelEntity::getReportId, reportId); @@ -708,9 +724,24 @@ public class IReportServiceImpl extends ServiceImpl 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 * diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java index 0c932f4..e356e84 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.java @@ -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 diff --git a/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportContentServiceImpl.class b/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportContentServiceImpl.class index cbb1ab6..4d8d4d6 100644 Binary files a/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportContentServiceImpl.class and b/adc-da-report/target/classes/com/adc/da/report/service/impl/IReportContentServiceImpl.class differ diff --git a/adc-da-report/target/classes/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.class b/adc-da-report/target/classes/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.class index 2f12835..b75c08b 100644 Binary files a/adc-da-report/target/classes/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.class and b/adc-da-report/target/classes/com/adc/da/report/service/impl/ITtReportManageActServiceImpl.class differ diff --git a/adc-da-report/target/classes/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.class b/adc-da-report/target/classes/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.class index fb77a02..ad6e43e 100644 Binary files a/adc-da-report/target/classes/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.class and b/adc-da-report/target/classes/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.class differ diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java index fc52406..9f9f344 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/UserEOController.java @@ -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 { } + + @ApiOperation(value = "查询自己领导") + @GetMapping("getOwnLeader") + public ResponseMessage getOwnLeader(String userId){ + UserEO userEoById = userEOService.getUserEoById(userId); + List orgEOList = userEoById.getOrgEOList(); + List leaderList = userEOService.getOwnLeader(orgEOList); + return Result.success(leaderList); + } } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/UserEODao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/UserEODao.java index 03fab73..98019d2 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/UserEODao.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/UserEODao.java @@ -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 getUserEoById(@Param("usid") String usid); UserEO selectUserByIdNodel(String userId); + + List getOwnLeader(@Param("Vo") List orgEOList); } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/entity/UserEO.java b/adc-da-sys/src/main/java/com/adc/da/sys/entity/UserEO.java index cc3a5bc..65ae593 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/entity/UserEO.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/entity/UserEO.java @@ -149,4 +149,6 @@ public class UserEO extends BaseEntity implements Serializable { @TableField(exist = false) private String roleId; + @TableField("EMPLOYEE_TYPE_ID") + private String employeeTypeId; } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java index 7c982e5..ab731bd 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java @@ -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 getOwnLeader(List orgEOList) { + return dao.getOwnLeader(orgEOList); + } + void checkExcel(List list) { if (CollectionUtils.isEmpty(list)) { throw new AdcDaBaseException("数据不能为空"); diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IUserEoService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IUserEoService.java index ace9c80..f7f8a9b 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IUserEoService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IUserEoService.java @@ -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 getOwnLeader(List orgEOList); } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/vo/UserVO.java b/adc-da-sys/src/main/java/com/adc/da/sys/vo/UserVO.java index f6b3112..6c69d6f 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/vo/UserVO.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/vo/UserVO.java @@ -55,4 +55,5 @@ public class UserVO { */ private List orgEOList = new ArrayList(); + private String employeeTypeId; } diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/OrgEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/OrgEOMapper.xml index ed9bc93..525ca21 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/OrgEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/OrgEOMapper.xml @@ -48,9 +48,13 @@ diff --git a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml index e30b4b8..00ffa4c 100644 --- a/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml +++ b/adc-da-sys/src/main/resources/mybatis/mapper/sys/mysql/UserEOMapper.xml @@ -256,6 +256,17 @@ #{id} + diff --git a/adc-da-sys/target/classes/mybatis/mapper/sys/mysql/OrgEOMapper.xml b/adc-da-sys/target/classes/mybatis/mapper/sys/mysql/OrgEOMapper.xml index ed9bc93..525ca21 100644 --- a/adc-da-sys/target/classes/mybatis/mapper/sys/mysql/OrgEOMapper.xml +++ b/adc-da-sys/target/classes/mybatis/mapper/sys/mysql/OrgEOMapper.xml @@ -48,9 +48,13 @@ diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java index 00bd54d..60a0293 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TaskController.java @@ -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> list = ActivitiTools.turnHistoricTaskInstance(list2); List> relistMap = new ArrayList<>(); - for (Map historicTaskInstance : list) { + for (int j = 0; j < list.size(); j++) { + Map 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 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 datasQueryWrapper = new QueryWrapper<>(); datasQueryWrapper.lambda().eq(BusProcessApprove::getTaskId,historicTaskInstance.get("id")); List approveList = iBusProcessApproveService.list(datasQueryWrapper); diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java index 8313981..be95af1 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/task/TodoTaskController.java @@ -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 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 list = iBusProcessNameService.list(queryWrapper); diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.java b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.java index ca1332f..60df3bb 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.java @@ -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") diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController$1.class b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController$1.class index 0eef976..766bd72 100644 Binary files a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController$1.class and b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController$1.class differ diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController.class b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController.class index c3e9571..06d76ae 100644 Binary files a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController.class and b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TaskController.class differ diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController$1.class b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController$1.class index 2a99212..6ea4d30 100644 Binary files a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController$1.class and b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController$1.class differ diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController.class b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController.class index 3516622..e72e48b 100644 Binary files a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController.class and b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/task/TodoTaskController.class differ diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.class b/report-activity/target/classes/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.class index 61599a3..781f65d 100644 Binary files a/report-activity/target/classes/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.class and b/report-activity/target/classes/com/adc/da/wkflow/business_main/entity/BusProcessEntrust.class differ