From d9778cb8e6bff782c17faa03440a7ef2c4397c76 Mon Sep 17 00:00:00 2001 From: bupengxiang Date: Thu, 11 May 2023 11:17:13 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=20=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IpowerApplyActServiceImpl.java | 1 - .../da/report/constant/ReportConstants.class | Bin 810 -> 828 bytes .../impl/IpowerApplyActServiceImpl.class | Bin 6504 -> 6504 bytes .../service/ActivitDefineService.java | 36 ++++++- .../task/TodoTaskController.java | 99 ++++++++++++++++-- .../com/adc/da/wkflow/enums/FlowTypeEnum.java | 1 + .../listener/powerApply/reEditAfter.java | 6 -- .../service/ActivitDefineService.class | Bin 4839 -> 5348 bytes .../task/TodoTaskController$1.class | Bin 1573 -> 1573 bytes .../task/TodoTaskController.class | Bin 50999 -> 52725 bytes 10 files changed, 128 insertions(+), 15 deletions(-) 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 4e02fa3..56ff25a 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 @@ -71,7 +71,6 @@ public class IpowerApplyActServiceImpl extends ServiceImplKGSaiaY7Xq delta 19 bcmdnPwu)_o1`|8m)7CXl_cTm)Wcm#NON9tx 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 33ba974b93debd01e8e4c1b56a9f268917d9300a..fb77a023109ebf3b8a623be0036871df3894bc3d 100644 GIT binary patch delta 60 zcmaE1^ulO^s~D#jgEWH=gC>LDWIwUJiV+N~43P{93{gOlXa-A$7zR&LjWIwUJijfSg3{eaU4ADT57zRs*SO!mqIEEmGc!p$# O1co$*#LYV5HcSAnNerz3 diff --git a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java index 9ff49d7..8cceb50 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.java @@ -50,8 +50,17 @@ public class ActivitDefineService { if (StringUtils.isBlank(reportId)){ reportId = UUID.randomUUID().toString().replace("-",""); } - if ("1".equals(prcType)){ - //预览 + if ("".equals(prcType)){ + // 保存到草稿 ,没有选择 要申请的权限 + PowerApplyAct powerApplyAct = JSONObject.parseObject(dataJson, PowerApplyAct.class); + powerApplyAct.setDataId(reportId); + powerApplyAct.setTaskId(taskId); + powerApplyAct.setPrcId(prcId); + powerApplyAct.setDelFlag(0); + powerApplyAct.setCreateDate(new Date()); + iPowerApplyActService.saveOrUpdateSingle(powerApplyAct); + } else if("1".equals(prcType)){ + //预览 + 下载 PowerApplyAct powerApplyAct = JSONObject.parseObject(dataJson, PowerApplyAct.class); powerApplyAct.setDataId(reportId); powerApplyAct.setTaskId(taskId); @@ -100,6 +109,29 @@ public class ActivitDefineService { } iReportLabelService.saveBatch(labelList); } + }else if ("5".equals(prcType)){ + // 编辑 + TtReportManageAct ttReportManageAct = JSONObject.parseObject(dataJson, TtReportManageAct.class); + ttReportManageAct.setDataId(reportId); + ttReportManageAct.setTaskId(taskId); + ttReportManageAct.setPrcId(prcId); + ttReportManageAct.setDelFlag(0); + ttReportManageAct.setCreateDate(new Date()); + ttReportManageActService.saveOrUpdateSingle(ttReportManageAct); + //插入报表标签关系表 + //修改报表标签关系表(先删后增) + iReportLabelService.deleteReportLabelByReportId(new String[]{reportId}); + if (CollectionUtils.isNotEmpty(ttReportManageAct.getLabelList())){ + List labelList = new ArrayList<>(); + for (String label : ttReportManageAct.getLabelList()) { + JSONArray objects = JSONObject.parseArray(label); + String lastLabel =(String)objects.get(objects.size()-1); + ReportLabelEntity reportLabelEntity = new ReportLabelEntity(com.adc.da.util.utils.UUID.randomUUID10() + ,ttReportManageAct.getDataId(), label,lastLabel); + labelList.add(reportLabelEntity); + } + iReportLabelService.saveBatch(labelList); + } } return reportId; } 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 91315fa..8913918 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 @@ -492,8 +492,8 @@ public class TodoTaskController { BusProcessNewVO busProcessNewVO = this.queryDetailDate(busProcessNew, prcType); //审批数据 List busProcessApproves1 = busProcessApproveMapper.selectEoByDataId(busProcessNewVO.getDataId()); - BusProcessApprove busProcessApprove = busProcessApproves1.get(0); - if (busProcessApprove!=null){ + if (CollectionUtils.isNotEmpty(busProcessApproves1)){ + BusProcessApprove busProcessApprove = busProcessApproves1.get(0); String approveJson = busProcessApprove.getFromValsJson(); busProcessNewVO.setSubmitJson(approveJson); } @@ -605,7 +605,8 @@ public class TodoTaskController { public Wrapper saveTaskFirst(@RequestBody ApproveDataVO approveDataVO) { String dataJson = approveDataVO.getDataJson(); String submitJson = approveDataVO.getSubmitJson(); - String reportId = approveDataVO.getReportId(); +// String reportId = approveDataVO.getReportId(); + String reportId = UUID.randomUUID().toString().replace("-",""); String saveId = null; String dataId = null; if (approveDataVO.getId() != null && !approveDataVO.getId().equals("")) { @@ -658,19 +659,105 @@ public class TodoTaskController { //存储审批数据 if (StringUtils.isNotEmpty(submitJson)){ List busProcessApproves = busProcessApproveMapper.selectEoByDataId(dataId); - BusProcessApprove busProcessApprove = busProcessApproves.get(0); - if (busProcessApprove == null){ + BusProcessApprove busProcessApprove = new BusProcessApprove(); + if(CollectionUtils.isNotEmpty(busProcessApproves)){ + busProcessApprove = busProcessApproves.get(0); + busProcessApprove.setFromValsJson(submitJson); + }else { busProcessApprove = new BusProcessApprove(); busProcessApprove.setDataId(dataId); busProcessApprove.setCreateDate(new Date()); + busProcessApprove.setFromValsJson(submitJson); busProcessApprove.setCreateUserId(approveDataVO.getCreateUser()); } - busProcessApprove.setFromValsJson(submitJson); ibusProcessApproveService.saveOrUpdate(busProcessApprove); } return WrapMapper.ok(saveId); } + + /** + * 批量保存任务第一步 + */ + @ApiOperation(value = "批量保存任务第一步") + @PostMapping("/batchSaveTaskFirst") + public Wrapper batchSaveTaskFirst(@RequestBody List approveDataVOList) { + StringBuilder saveIdList = new StringBuilder(); + for (ApproveDataVO approveDataVO : approveDataVOList) { + String dataJson = approveDataVO.getDataJson(); + String submitJson = approveDataVO.getSubmitJson(); +// String reportId = approveDataVO.getReportId(); + String reportId = UUID.randomUUID().toString().replace("-",""); + String saveId = null; + String dataId = null; + if (approveDataVO.getId() != null && !approveDataVO.getId().equals("")) { + saveId = approveDataVO.getId(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser()); + queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType()); + queryWrapper.eq("ID", approveDataVO.getId()); + queryWrapper.isNull("PRC_ID"); + List list = iBusProcessNameService.list(queryWrapper); + if (list != null && list.size() > 0) { + BusProcessName busProcessName = list.get(0); + busProcessName.setPrcName(approveDataVO.getPrcName()); + busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); + if (StringUtils.isNotEmpty(dataJson)){ + //根据业务情况 对业务数据进行saveOrupdate + dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, null, + null,reportId); + busProcessName.setDataId(dataId); + } + iBusProcessNameService.saveOrUpdate(busProcessName); + } + } else { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String time = sdf.format(new Date()); + BusProcessName busProcessName = new BusProcessName(); + if (StringUtils.isNotEmpty(dataJson)) { + //根据业务情况 对业务数据进行saveOrupdate + dataId = activitDefineService.saveOrUpdateDate(approveDataVO.getPrcType(), dataJson, + approveDataVO.getTaskId(),"",reportId); + busProcessName.setDataId(dataId); + } + busProcessName.setPrcType(approveDataVO.getPrcType()); + busProcessName.setPrcName(approveDataVO.getPrcName()); + busProcessName.setCreatUser(approveDataVO.getCreateUser()); + busProcessName.setCreatTime(time); + busProcessName.setCreatUserName(approveDataVO.getCreateUserName()); + busProcessName.setSubmitStatus(SubmitStatusEnum.DRAFT.getValue()); + iBusProcessNameService.save(busProcessName); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("CREAT_TIME", time); + queryWrapper.eq("CREATE_USER_NAME", approveDataVO.getCreateUserName()); + queryWrapper.eq("PRC_TYPE", approveDataVO.getPrcType()); + queryWrapper.eq("CREAT_USER", approveDataVO.getCreateUser()); +// BusProcessName one = iBusProcessNameService.getOne(queryWrapper); + saveId = busProcessName.getId(); + saveIdList.append(","+saveId); + } + //存储审批数据 + if (StringUtils.isNotEmpty(submitJson)){ + List busProcessApproves = busProcessApproveMapper.selectEoByDataId(dataId); + BusProcessApprove busProcessApprove = new BusProcessApprove(); + if(CollectionUtils.isNotEmpty(busProcessApproves)){ + busProcessApprove = busProcessApproves.get(0); + busProcessApprove.setFromValsJson(submitJson); + }else { + busProcessApprove = new BusProcessApprove(); + busProcessApprove.setDataId(dataId); + busProcessApprove.setCreateDate(new Date()); + busProcessApprove.setFromValsJson(submitJson); + busProcessApprove.setCreateUserId(approveDataVO.getCreateUser()); + } + ibusProcessApproveService.saveOrUpdate(busProcessApprove); + } + } + String saveIdstring = saveIdList.substring(1, saveIdList.length()); + return WrapMapper.ok(saveIdstring); + } + /** * 查询任务第一步 * diff --git a/report-activity/src/main/java/com/adc/da/wkflow/enums/FlowTypeEnum.java b/report-activity/src/main/java/com/adc/da/wkflow/enums/FlowTypeEnum.java index 1260b2c..dd8fae6 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/enums/FlowTypeEnum.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/enums/FlowTypeEnum.java @@ -9,6 +9,7 @@ public enum FlowTypeEnum { YLXZSQ("2","预览+下载申请","QXSQ","预览+下载申请",""), XZSQ("3","下载申请","QXSQ","下载申请",""), SCBGLC("4","上传审批","SCBG","上传审批",""), + BJBGLC("5","编辑报告","BJBG","编辑报告",""), ; private String value; diff --git a/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/reEditAfter.java b/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/reEditAfter.java index 6f1403b..cbb373c 100644 --- a/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/reEditAfter.java +++ b/report-activity/src/main/java/com/adc/da/wkflow/listener/powerApply/reEditAfter.java @@ -58,11 +58,5 @@ public class reEditAfter implements TaskListener { //审批人 delegateTask.setVariable("oneApprove",object.getString("oneApprove")); delegateTask.setVariable("twoApprove",object.getString("twoApprove")); - // 1: 同意 2:退回 - delegateTask.setVariable("flag",s); - if ("1".equals(s)){ - iPowerApplyService.saveBatch(powerApplyActs); - } - } } diff --git a/report-activity/target/classes/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.class b/report-activity/target/classes/com/adc/da/wkflow/business_activiti/service/ActivitDefineService.class index 5a316fb40a399b77ae193d29e3c0b63044b5c6d5..dea57ad6d9580019a961283771b2b2de84066a92 100644 GIT binary patch delta 1755 zcmbW1X>e3U6otQTlIh8tCWL_iBZJ@%P__zGVI_jN1|<(n`C%xlOx3*e&fI?I^tt`I-^s4W zyGQn&*}4Ph$1ffiG1b8|kK34@L zg@c72i&*SfrQr^bHqO>^r*m8q;4YT>sq(YT&)xnA_ZXIYgq=R@^kJtDQ|TZsxi`Rl z-0#Fu!vg^xT1@BFM?mfgHz*~4DTn-1P$ui}GJND}2Q7oiQl!MS#knQEoUokaJ4Lr> zc_1}=!U3xRnuxOOE0aVLrKE z8n0c(jNajFgbC#b#Q^2!?#yXp^&vwlPwBY@}Vtw}tkaY8?%BXogkftX_kIp=NlU%}V_p zJmNh6KW+~PlQ*=v8bckuXE7Nr!X6STE^+0CoOv?07X6YPe>pbS_GUn+D=If;_ z&})h4nh5234;6Yp3w14v^f4Ce6IAM7SrXrXM`=e-`PL3+glxF7Mz*VgDci^n(T5wk z2~Xm6W+XQgkboXJ+=7+p>5P(Ek~C7lXvScq?Z|G%G7g`vX%I`C261hJShCiOC3(GA z`mEQwQ&4|G92+l_$f*&QD@+myyH!|=IGZ3WArKGh^l{S?B;m$81> z_J5My_&dWKLxG{tQ1l1GewQYjmY6Kc)I`aGq(J6}33BDhr74c%6!*#T$3F)p@DF8g BT$ca< delta 1395 zcmb7^>2p*?6vcl%nRz{V)05>HgeN0nl_?7YMyjX^#)YUv1ymG7K?pDjfdpd^3{g}Z zHxy-w`do;j;)*D0G%yT7!{&;J#69i{it8VsQk1tRnh&P(!K!(u&pWU0xqbU~&w*hF zi&J|JcXR@y_}yhRjTRQTT*<;*%2?!b6-_RSX|`~6lxw0aaVh57DA(EXdd*Uo8%Vjt zxzWN+7H)RAgN1SR7!UGLjI}&$;Ssx}M_tzOn1#nRPq;kEQ#S5t zmyxWu^Pdr~C>u1-YMyJ)RfocQwPvH{`M@~!W5zMw@B%Mt+6*u8vf*UPHSLB?Y}TX= zTgVu;(xFfz6d1Pgitv$!SLqDeoZ~CE8+NeMu#4S>*DSowZp|BpH+jqOHhUC#^OMcV z(#1{n4W(m~O|^!1*lRe2Q#J1z_VHdYRF{oDi?N#h_Pxt+4(BQgvT+T`#(AZan-whHo|B8NTO$;Rk*U_Ue+O z4;p@=!|=0(ar|QVl}^KNbSo-?r8yPtQ=^4Ws!WavXu@_+gkjf<;xu87jHhR{F;w)? z&fv^Gn$-3mEkq?}_tB*69<8W1Nk{}~l;DKmP~Ner^CYoLNN}($F2VW2jC_RxE?}aJ ziVL|&W=w#bh2j$zsmqUKh_vEmaMEZm>gA?!%OhT_B#mjMa<~`Ikhg<)x#K&2Bu&2W zj7U=;FX1$WzLS%|OLIiZceYV9Z3_d^9C^Yf2Kvrc28CF!7I^;u^y=5@IPa+btSb6h zSASk~dxLwt_7C?GQeu!Q91@pGhW17TT?K3N{YaZ^T^PH)9h?|U@m8d!t4YjIRaB|D z%v8&nrCOM+){#^js8*Y)QQMiLc2TSLQI~DR8uBTTznV!*mW^-jWjp_6;&2idGX+WTQ<;X59A#W4TCQZQOEH}pXk{-~6*I+9`uIEd delta 25 fcmZ3=vy^9p5G$kUWMS4AMvKV>tm#1Z4OU+OS(66> 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 6023ef92180911a2af742bf9381730d7b4936f71..06a7bf90ef6859e82285e3ad46352a213a3f546b 100644 GIT binary patch delta 23484 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 dtL{_x%hvJKaWADO