From 03ba9069e6f4b5a77b41e85da9aebfc675ca35ec Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Mon, 15 May 2023 10:11:22 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feat:=E7=BC=96=E8=BE=91=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E7=9A=84=E5=90=8C=E6=97=B6=E4=BF=AE=E6=94=B9=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E8=A1=A8=E4=B8=AD=E7=9A=84=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IReportContentServiceImpl.java | 10 ++++++++-- .../report/service/impl/IReportServiceImpl.java | 3 --- .../impl/ITtReportManageActServiceImpl.java | 15 ++++++--------- 3 files changed, 14 insertions(+), 14 deletions(-) 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 }); } - //插入报表内容表 - iReportContentService.insertReportContent(entity.getId(), entity.getFileId()); - CommonUtils.threadPoolExecutor().execute(() -> { //生成html try { 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..31cd257 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 @@ -128,14 +128,6 @@ public class ITtReportManageActServiceImpl extends ServiceImpl Date: Mon, 15 May 2023 10:22:48 +0800 Subject: [PATCH 02/14] =?UTF-8?q?feat:=E5=88=A0=E9=99=A4=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=97=B6=E5=90=8C=E6=97=B6=E5=88=A0=E9=99=A4=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/report/service/impl/IReportServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index e557c76..ce1e2f3 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -350,6 +350,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; } From aaf1a82462858ab2c51b6c362b640de1447fcf83 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Mon, 15 May 2023 14:16:21 +0800 Subject: [PATCH 03/14] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8DBug=E3=80=9069218?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 《1》报告管理 关键词搜索没效果;《2》 报告列表--- 关键词搜索会报错 ,报告名称输入一个不存在的也报错 --- .../java/com/adc/da/report/service/impl/IReportServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index ce1e2f3..1af68de 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -467,7 +467,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); From e844a6fdbacc87732b0b02ae4e3e91c237941d77 Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Mon, 15 May 2023 14:39:13 +0800 Subject: [PATCH 04/14] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E4=BF=AE=E6=94=B9=20=E9=A2=84=E8=A7=88=20?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=20=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/report/Timer/secrecyDDLTimer.java | 1 + .../adc/da/report/aspect/ReportLogAspect.java | 20 +++++------- .../controller/ReportManageConroller.java | 30 +++++++++++++++--- .../service/impl/IReportServiceImpl.java | 17 ++++++++++ .../impl/ITtReportManageActServiceImpl.java | 25 +++++++++++++++ .../impl/IReportContentServiceImpl.class | Bin 3610 -> 4161 bytes .../impl/ITtReportManageActServiceImpl.class | Bin 6444 -> 7658 bytes 7 files changed, 77 insertions(+), 16 deletions(-) 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/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/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index e557c76..14cf88c 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -118,6 +118,8 @@ public class IReportServiceImpl extends ServiceImpl @Resource private UserEODao userEODao; + @Resource + private ILogService logService; @Override @@ -705,9 +707,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 31cd257..8ad2cdd 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 ServiceImplhAy6vlsdmh{X`lM*miMgjykCX?s{alu431Gtbyl0Xcoc#{ldV3-+ZhRtno z-$lI&5>Qc8)QB2`lRy*_mstAdi)EE%`JfLz`WK`;J)tbAym+f_pRd2}{?0jlPWM-i zSLJ`4JaZPfjtQF@`htXsm$HrRiiBc^jem+v8kDl}kv3?jB4blZHbBmt*=4hvJqGQy z*~k3>9x#&!Z64y`0C_XnZ}SL`Dju_`AZznDPuR`EKN;XDn|VB~c*fXg70=l`&kHtH zylBgg0|vch(96c@D>g2#DqgcW$RQ*By5g{+fAD19<4$-R-CA$|(ixdpI+e*arjof> zGG{TPJ?HdnZ+6lhPIn?!Oz((fA@PVm3w!n6o>)2;PbIU8qeFGRA#3&uR%({9T=9nH zP2RGY@3wm9yX7U7o;t-5&HJ3t z)YG8&K=UCVS(G@5cq%JfZe)pKK=ZL-{fShMlhEAEQpHKlCx+D9oZU_|o{FxCo7g|q ze8!;WbA~K}Q;BYl_i9e@h1a6Z9rx8lo!;KK$;U}VckYU1_C@16(uwFg0~`CCc(OC& zq|>pCroga8STZYje=jLtIHEaiQd+?o&8Ug`OTN;aHRv2G6=RxlzIJD-rDfk}zU4d3 z)m&rIAZ{Cm4ynVQQh(8-#fEUTJLaqH_@A*fSa@PPEtZ6viU}v2(jkX&OK@$%ZKG5Sk$7p)Z`_v!-G^?xJ80X#a=7_;;cLxkE!nTg&Sl+YI=U5MC?sP z6{-F-PRe{CmzTrRa~G0$WiIU~<1Hc;6>Ew0M~1Nmi`tDc8c(o*RWjeIs`@}E z@I95IRCSH8peCe-xvV}I2?YyW-g$yqp+HC#xS}%>3KY1qGvqIDRmeBO!cG&Q7ZczH z%H6;8qWl1NNCU5xc4}gRW`3ZBpJ?S5+W3uj{-C3n#1;wkoD|}A*&j3^pHIi2wZ)q^ zs7a8AGJY1N7V#98hHVwj$6^M#lXa5t0oIFlyIj#hTJj=aC$a-lm-QkYkicLr{z+OD zor=2@U2`fXS*6%moNX%OZrS3Ki@b+>1qD440OFcrSCq-ZX8G^igw=y1irxPfYk~0Q l3(g9UP(4Is(Dam5ypXAiRY}l2!g=T=RY|IitPOj=Rup^J7lIMg z#OSN>-7nw=@Dmv4T#SkF;hdTI&zbp8IbVvK3bS8-efR{7;EkpaYjY@JU5xd(idscN z6Yc;vSglSIVx!eIDK=|jB%^GxFX$ei;}{CdwySq^&o-b7t}Lo&TRqd3=E7ix97R#0ge%^1ab!v!un6nQPdB5zKl zuv;ku441fUxWZL~$5n?s?`KY4%22^Ihw$b->Dr8;i~)+XhU?rg3}=Mmrr{R19U^Wj zna;?QAq-VC8SYp#oJuELNivdAio1qp3z{wNZnr#{E}xOKRo^q*=Yd11=Y~s*6b}uL zY!wweHaxLJPpMQqGd$;o_gRgPy)?YywV@yVTcgqM0k1ih_R^*~TOu2D=!>Geb;?=; zNN#Jd#t1? z7wL!$$J=mP{M_T@woJ&H$IERx9x#E4VmVA=viv#;c23C0%Mq+S{+7U?_XGocCN%#e z;hHugaZl$SDf>u4O*@4H^Hm!?Dx>lI=sS8==ZD`>lpkuRxZ08iv7}Sz?ET0cntjR~ z-Y}0As%T@rU&QJTqCZ6lrM$NDvf5P90_4gPrZHV|m2#OGf`#NuG%}M}QsyPGXG`7) zH|WJ&v6SqwtFTlN6%Oc3@D~dd3$luZibVx^EEYH!i;6@RB%;#VdiT}s;N)k<&Mq~kZ)G1+1%vqrE0D_P~s)qYaz4X%OTGzgyS 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 2f128353956a243bbd22849b30ac9007f43d9488..f30b9df3bcd84faeeb8e197de92a80a0050fdcc5 100644 GIT binary patch delta 2923 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 Date: Mon, 15 May 2023 14:50:05 +0800 Subject: [PATCH 05/14] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=9D=83=E9=99=90=E6=B5=81=E7=A8=8BuserId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IpowerApplyActServiceImpl.java | 3 +++ .../impl/IpowerApplyActServiceImpl.class | Bin 6504 -> 6635 bytes 2 files changed, 3 insertions(+) diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.java index 56ff25a..4a90dfb 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyActServiceImpl.java @@ -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}OW+%7Eh1-e7Q0^BLoyM%hTIPQ^fuYyS2 zr(hxOSMUHH6zU>zEEWL|iDQWs}!up8U<^yPR4p6H^|s1j4z5~lZ?#@Ucv^UG|Si`>3DF$wnuuHV@ixahc$Xnl+a+bDa$JM=INrwx93SE%2_JKOf=@XrvozSQdNX~ka&I$v`fz&8@U<@gREj_+}h;|FmZ!eNdd#c>2bN!ZQtGma89j$d$$ z<5wJKDAZV(bE&PDrYNz2-y#u=u%c%qemB!vt>OU37W~1nQPe(xKgplWv0i9@;Uvf3 z_=n>ZPD?n$@vk7Xhoc?)863VU|LCgvx(0tqCC6EuW01)-vY~=>23i1P2r*<=)Xnmg zd+TOt_OMuOtCA4MOq`j8%j&JKubIc0MJTE1+LCCe)*db?oLPwgvmvC#I;PkPagZTL zV?04y#GGLglQ@%^oudF(Hn%yJnag{M9^T3dPo>vWQ|GI$_00BH*LX@Bs~SoPG&0zU znovtB86q01{6!5_UVl}mB_@5?4DTGu_15}4WBd)(wY~waag;@oMvPV#u~udZa}bks zEyAiR*I=$zvYBB~W?6O!Gnhz_EgA!0JNKx%{R4k6Zr z@v9JZ-q4*40kM9wzJ6n+L!i*2qG(BRv?doVC>x_LV3yOxEC-V@g~&{$3Kp1LVVxW& zlYzmDa)TqYQv-2ZKH?ZRJTruNh7o;2NML9RU@W1F7}^k-XW5P(6IyU_o;BXO4Nf55 z5=74+62}WY$l%En2Y}JRiKhkBCS`f$rh7mCAR-maL`e;;iY}7n(2~p)e=;M8)M2K4+Ev;*()-b8 zDxc;&L^9sro`0BRnp;f|!qtRmbN(uXyH(0@X~(w|H=KtG3*xCBMb(%+u-}TAi=S0+Tx}BDl-qZtl^R zdo{UFV=eS>KM#0#kVTq2Wb&{;_?YFD3M%xe#aeyJixE_x(PccV9nWcyB^FD0-eMUq zxLL0G3OAM7xKfiwt=Be5&}2&lO+r zrQ$11zUCW~EsA~YmqHZZazODN-y8I{kGXo=DORlihX~d-chNe6gCR0OmnJCIa7a-} zmEuPZi@&X6xz>K-h~g+eD}Lculiw7->)cxv$JlA$DVbPaFtK!IS^0noia+?%z%8aB zWyM3XrHU7v~=2B#lKpKPqf=ccD58J zboP@}*;$^kGRISPg{Oz&w4$CfiXP-vAMh*=vG+G$X>!((;I zqM;+r=tN68lR`W>B*@vs!1-jH;_usVUQ7MCTyR>F$^ZsR#vD9cLB604l1QB|=o>7) zE5+h6$OQqD906-pL^QH<6AB9{x-nUhm$h}?*`g6QN8nA>ru)Dh*Nu#(7g zhG;S9d4~k%?Ufn%k#SfukXAB^BnF>XLvm9M$&BG@NqdbPb>e8%tg)IgVlcRtvB7GL zFhSOPDUoVo2Bp>!YcRM=9WCT*!Y~n98uIE!baQUTH>#GnZZ5yiwMla0bJozhh6@U{ z-X^HG4d_niM%vZTzM%`B)90$ALx^;Cc9rhM8R#XRFp)>%lG(JA=_Ej!r-p)0|R}dAFTS<6|H$gPJtYt@kqI(I81R}{RB&CA+!cx6m0`eS@FZ8Ab zz2etnI@sDN{ From 91deef109d9f8ec8256bc2c0aa8e23bdab080d2a Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Mon, 15 May 2023 14:44:16 +0800 Subject: [PATCH 06/14] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8DBug=E3=80=9069276?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 报告列表--比报告管理少一条数据 --- .../main/resources/mybatis/mapper/mysql/ReportManageMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml index 6f06709..dfafbe6 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml @@ -174,7 +174,7 @@ From d8af4b7a03d575854af22234b66a8dffbc4be689 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Mon, 15 May 2023 17:20:44 +0800 Subject: [PATCH 12/14] =?UTF-8?q?feat:=E6=96=B0=E6=9D=83=E9=99=90=EF=BC=88?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户 (levelId=1 or levelId=2 or levelId=3 or levelId=4) and EmployeeTypeID = 1 的人,可以预览和下载全部的报告 --- .../report/constant/PowerApplyConstants.java | 20 +++++++++++++++++++ .../service/impl/IReportServiceImpl.java | 6 ++++-- 2 files changed, 24 insertions(+), 2 deletions(-) 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/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 83229d3..c9901ec 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -461,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); }); @@ -632,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; } //本人 From 664efab3326d2706bca2127e2df0c774f167540f Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Mon, 15 May 2023 17:51:40 +0800 Subject: [PATCH 13/14] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ITtReportManageActServiceImpl.java | 5 ++++- .../impl/ITtReportManageActServiceImpl.class | Bin 7658 -> 7850 bytes .../da/sys/controller/UserEOController.java | 10 ++++++++++ .../com/adc/da/sys/dao/mysql/UserEODao.java | 3 +++ .../java/com/adc/da/sys/entity/UserEO.java | 2 ++ .../adc/da/sys/service/UserEOServiceImpl.java | 10 ++++++---- .../sys/service/iservice/IUserEoService.java | 3 +++ .../main/java/com/adc/da/sys/vo/UserVO.java | 1 + .../mybatis/mapper/sys/mysql/OrgEOMapper.xml | 4 ++++ .../mybatis/mapper/sys/mysql/UserEOMapper.xml | 11 +++++++++++ .../mybatis/mapper/sys/mysql/OrgEOMapper.xml | 4 ++++ .../entity/BusProcessEntrust.class | Bin 6823 -> 6936 bytes 12 files changed, 48 insertions(+), 5 deletions(-) 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 8ad2cdd..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 @@ -146,7 +146,10 @@ public class ITtReportManageActServiceImpl extends ServiceImpljOxwl7wiR#sM4CX|+$?WHZ}yund_{lR@_`ObIF{qB8lIG?tqo9D~NqEJ2mWb!j9b%*&|k!j=gwZT(7wMWZAEwT1N;D z=%~R95;-W#AsvVDqK21rgkzJAmvO*}SMaJw%-6(xUBeqXBC*L14o2clVPWJ}yd~BV zVR>8Tct_lKoj5AJj>+>qi5$1%gwE;rb;L;B2l!B|lNvs<<6|93_(Wi*#QIb+pNZ@F zT+GwL!Xw5A%NNq*OG$p^#2I`o?pZr(ov6b%8ossToS5e|e5WHzT78cTI)1=KaeuVq zl01LX@UxB_NoU~~JC@4xSHb=!*6*_Xp`&RQ{*(rPIdK_RH2kgOAN;EkG@_~nv`n** z#c(?Y*sRlvOO11m=Ehh@ob4EoVN^N_t8~4D0!uNLkZK&arZ&^as>ntG8U-rS$gapi z0Scw0D{_)DjygNpCsL52U}|9GtHwHJE6kw?LTe*5pmj4vE^=$sR8b_|q$r9wax*b) zbBVMtCaZ{s(HdD4wWJn`T2X67G1SJm7#wLNHVQFL*~3~YYD=+-;wWBG0wpR+qIL=+ zF-lQ;A@4wF&dnMd!yT%PqK=rSD4E=Zz`Dv^wd>a?Jc-pBbyC!sx+v;ODFnB1!QnPe z1Vt2;Qi`HfN>f-%>596E+nrtNA-KS^hj-L1t5zsRiK3p;E<;f!Rx1=?1R<=h;$ZEP z%DRdTwM#2%7cH#aQLRyyqHIbrJV6};dr@yfluQ?uJ9%ucN#$kbvoz|Xs4w-?C`VC$ zax2PZbaZe=<^X9KJbuiKF-gSAzoV06&flJcynB}^xjJa(J5xi_{+GjhV)CI(Hr5hrzp zQ;Pj{lE3Cxg)~klV_Nv7iG}>C6NV!IZqbF`f5-uGY&2Ve{Je#q78&-s*cgG~cHD7Y z%!gyOuZs!J!9L$hUdI{7n}o-daZGrDwiwT=GVK7|i3#ixCSnq-j17(`^a$3?XrKpz z&=V2JKpZlW!mmswvd#Kf*f^hEUoX~VOkth~#N#eZ<=Io<#59yM>vTp+KVNPJ=Vo#w zfVc#>oBu4B#p!!6TSkC!CL${P+PnkJe&GxPg8lu1>-+tW>0V}}%!xF7ROg7vO6Dl<;Inxu+mz8PZurLmZg1&m(EIU6iZgRYXy zH%S)Z0h1)jy@*M??ktaxB=ezzCGiO_)?z%!Bq4l+6?lj%a#-w#@d#@%l8-@J*h~qf zy$|)MAGL&0(%uQ1{R$#AJl06NI>lmhilx4-@UDvO43_2_jk!(ZJOwp~DcXnlytst@ zNJxnDqLmkkHApH7Yqt;WQ*8+@8wWdh(b0=!pVP^7I>+us%Y3I4OnNMVt2lt$>@W}VK753|D-I#a@J`TD^bZDR@tUs z8GF57v&Ug=^Yk^fd*^NLbW4ow3MBOP%y@p*n+F-X1 z4;sX>M;5P+y=c_1Pe(NBbnM4&8xG*0Tf{>mzM$bn9r38MV2XPu>*Bflt`TvB~h}XD=9@`9IjS$l@#kt=xAiP|h3ve2BM$*gy6B63`hp@T&X>+=!c4BUE7uf>2>BjvY&t#+ldzx1dsC z=C!aHCDP59%IH|6;TBBeyt%O9R@}z1w>M|?`=+yR23vxOLx5`jH(@4+&cbXd#Ckur zn0U9R?t*p*7N-|>6Sn)1mF#WqcZ9FsXg@U2iM_d#|JAsIYt-OQhF2Je9f|pu2cOU? zQFtIxIOgCkj%iLbhszW0##~>5L;9kLl{=UX->dx_VHZS2-o65FsC=7h`j?m80f(uHV^h-hyaIrFw9|QB8EH6%ug{>Gs0o^ zVkCbRxsd;1b>Rtswa`(ANdBs}$2vEX`P-JmeC1;!zne{bteY_sTli4721o$E_?C-M zh9`X&QEbatGI6?5OyUYACK7|0!j*h_a!su!hJr!hkLIetv+u}fA%E70l0C>8RgWC$ ZkXk+c6i(%TiL3E6`%G99_z7AI{0GKXbdmr7 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/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 61599a3e8ad9a67d24d33d829ffd43dd4b5023b4..781f65d7751c61cf48fe8f399e6fa53164004a53 100644 GIT binary patch literal 6936 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 kP`E`F-zu8RZQ_TwiTPKM Date: Mon, 15 May 2023 18:01:44 +0800 Subject: [PATCH 14/14] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]=20=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/TodoTaskController.java | 15 ++++++++++----- .../task/TodoTaskController$1.class | Bin 1573 -> 1573 bytes .../task/TodoTaskController.class | Bin 55956 -> 56411 bytes 3 files changed, 10 insertions(+), 5 deletions(-) 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/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 2a99212b3a127f4e0346dc70c7104007678ddc84..6ea4d308767da25db91226235566866d3e6b443f 100644 GIT binary patch delta 25 fcmZ3=vy^9p5G&)x$-=BLj9Vrbu%-jqH&}fEX^#kY delta 25 fcmZ3=vy^9p5G&)F$-=BLjO!;Cu%-jqH&}fEXzB=O 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 3516622ec3a53b38ab3c80c1043d0488eaa58073..e72e48b48e0fe2f19575b228ae1671f0c36da60f 100644 GIT binary patch delta 19925 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 HN+0?^Dzpdt delta 19617 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 LAUnu?s-OQq5I4v4