From 16bc2a39446475f96ea671b5b8219796c0a68cc8 Mon Sep 17 00:00:00 2001 From: songgaoshuai <1742057357@qq.com> Date: Mon, 5 Feb 2024 13:51:49 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=B0=83=E6=95=B4=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=EF=BC=8C=E6=B5=81=E7=A8=8B=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=EF=BC=8C=E4=B8=8A=E4=BC=A0=E6=96=B0bpmn=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ActProcessDefinitionServiceImpl.java | 8 -------- .../service/impl/ActTaskServiceImpl.java | 8 +++++++- script/bpmn/请假流程(排他网关)-leave2.zip | Bin 2087 -> 1466 bytes script/bpmn/请假流程(普通流程)-leave1.zip | Bin 1657 -> 1255 bytes 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java index ee32c9f09..b103b3056 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActProcessDefinitionServiceImpl.java @@ -6,8 +6,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ObjectUtil; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import org.apache.commons.io.IOUtils; @@ -22,7 +20,6 @@ import org.dromara.workflow.domain.bo.ProcessDefinitionBo; import org.dromara.workflow.domain.vo.ProcessDefinitionVo; import org.dromara.workflow.service.IActProcessDefinitionService; import org.dromara.workflow.service.IWfCategoryService; -import org.flowable.editor.constants.ModelDataJsonConstants; import org.flowable.engine.HistoryService; import org.flowable.engine.ProcessMigrationService; import org.flowable.engine.RepositoryService; @@ -257,11 +254,6 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionSer modelData.setKey(pd.getKey()); modelData.setName(pd.getName()); modelData.setTenantId(pd.getTenantId()); - ObjectNode modelObjectNode = new ObjectMapper().createObjectNode(); - modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, pd.getName()); - modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, modelData.getVersion()); - modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, pd.getDescription()); - modelData.setMetaInfo(modelObjectNode.toString()); repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), IoUtil.readBytes(inputStream)); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java index 307676024..59348e5ae 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActTaskServiceImpl.java @@ -26,6 +26,7 @@ import org.dromara.workflow.flowable.strategy.FlowProcessEventHandler; import org.dromara.workflow.flowable.strategy.FlowTaskEventHandler; import org.dromara.workflow.service.IActTaskService; import org.dromara.workflow.utils.WorkflowUtils; +import org.flowable.common.engine.api.FlowableObjectNotFoundException; import org.flowable.common.engine.impl.identity.Authentication; import org.flowable.engine.*; import org.flowable.engine.history.HistoricProcessInstance; @@ -100,7 +101,12 @@ public class ActTaskServiceImpl implements IActTaskService { variables.put(FLOWABLE_SKIP_EXPRESSION_ENABLED, true); // 流程发起人 variables.put(INITIATOR, (String.valueOf(LoginHelper.getUserId()))); - ProcessInstance pi = runtimeService.startProcessInstanceByKeyAndTenantId(startProcessBo.getProcessKey(), startProcessBo.getBusinessKey(), variables, TenantHelper.getTenantId()); + ProcessInstance pi; + try { + pi = runtimeService.startProcessInstanceByKeyAndTenantId(startProcessBo.getProcessKey(), startProcessBo.getBusinessKey(), variables, TenantHelper.getTenantId()); + } catch (FlowableObjectNotFoundException e) { + throw new ServiceException("找不到当前【" + startProcessBo.getProcessKey() + "】流程定义!"); + } // 将流程定义名称 作为 流程实例名称 runtimeService.setProcessInstanceName(pi.getProcessInstanceId(), pi.getProcessDefinitionName()); // 申请人执行流程 diff --git a/script/bpmn/请假流程(排他网关)-leave2.zip b/script/bpmn/请假流程(排他网关)-leave2.zip index 7555193a564bf0073f552c10bf0662617d59dcc2..9e151e22d711ff9a75433af2c66f5431c68be6c6 100644 GIT binary patch delta 1342 zcmV-E1;P5K5V{KvP)h>@6aWYa2msSnMOcvzK!4R(NpIUm6u$dc5QCy8$6T~pl@uhE zTo|z3phP`Gm`8E0TQH5TLkEaF85yQTMj`{Aa>C|6WR4Cf1$%6hl{v5 zYGJe|b7tQ1z3;s@^W^sJE%cutg}ebR@Kf&crhCbshG$g&q?!^nA5mFQ)W<=nUJDj^}v; z+cM$6_)_)+Y}0mS&XupUZ`yM>G*PH1Hh;J`PfbV`#gPEC9dTxqa|R>|-4UXDaDs>f zb(By^pmAJVM})A1g6^6mwS%>UnHv+q8Pb4cF*6$9IO|M+h4`O7!wUvX`w&vNC`{tQ`^o8Zem+d!%?vp9de`1N@p&J^q^9oekBx_?^? z)<8LGG$D4|a=7iAl_R^s&Xgec0VIdq%^jWM8Kx%#b#tiV>Va@}`NK;F`}M0=kw47J zd6M=QZfE0CwapnFqBJf6LxhixrmSI*r^J!Py#R^WQ&&eHq5UK?ezy2_Iuf}sV8v~^ zq&5o!KKtzI$3KC@@(HIV4g9O0s(+eWYXV86z6A-vBMUJNHKGO`Q)GFa-#5{OF-^n? zI}0_L(49cJ`w)1byeb1N01d_;Sm#^Y256~|+H$6ra3|;bTS`($ep!YmFjiyl%DZP4ndiC?^)i2K$FV15b)FHbC4Sz_{2d+JJ z*afVvYwMNuYF?#>ATzkT+9ExoW*%2?aC zE3^7RDQn0wqRWwg4OB8V9Wu+kp+r7X2$tjof}|V^HE>ycL-}5^i#jaGSWzdjhZUV; z-N%;GGNNQwwI1GXnb<|oWq&rL2&@FYUj!>S5V3_h({0wZ-rUqbc3k$(vM-5^K`naX zu!f*pwmX4lbOyTbJY-BTQycs-?!glxy*r}sNg6Bh3}fMQ84HBJ>*As33x9-ad6QBP z!;uRoJlNQJ;I)r<(_`ZIOlYA{n6G?M$rB2iDV!X_uwxePkD(J;;D4(@{4Gq_NgS|A zt3{}5A2Oyu?0(>bUF)trwG1|mc7Rr8b$r79di6ZV1|4@mg?)|@9*wF0Eywg@;CA2; znbA?Eam_bgX@thLN@QHECXLH^))Ob3hGMpspO}Gxm&i&zLIoUEG@m22Q47ORl^99Q z5|X0Bl>-Snryvl~TYm+CR2%<+K>TZ@D3IWyDF~zXD5Z&d2B#;b#Wf$iWn+a delta 1968 zcmV;h2T%CA3#SkcP)h>@6aWYa2msoxbXSoMK!5F8TaVku6@K@xV1>Sp#Nk{xv)J8~ zmtj%BPK??u90Y;ENV8ft5~YgNUJwL`)5L9IAWe%l1&Tftg@L+2TR#Lv3$Kg*nO&=X z%3tV^B6XvdJG=4%NnkyRnmLE(JKs5H&Y9iqH;(!}<3Ns*Xb|r-VAE_EGHwq#QQX~W z{D0_f09fOV-5c8-xfjJzsx~Etl8BR?#(tU(w_2^k!^7sF-)#;?-BvP`?UsA{)|)NM zgr-R>+`9FaFK#xbGFwMUv?OJ8zjE7Lc_zD$N;dwKhk%Z8&tTd7t7kiTXyO66#$ z5fodDw}vt{?hMAGwlr=HIV zDqcpZIFNCgt4*Q~U|ew132flm0s#z#1voKXUx@mt-iV35jGXLjH{PFd-C%4PhS4{;n~yY4WrD@ ztx%TOl&WIS`T|-k zDvaNG$Mc=L&O2EizWc7iT&sJX4aJhG_j?1N%2?F9ngzY+SQS0Unf;US_R|!x$)7 z!=6m9XwqKTOO}~huYDFst#cx&QrRk@jUfrFEVXSxRFZRnfr~v85XiBM9E-Z9n3c?v zPhS4+zpsP(bx?opgBp3vR|Oh7j;j5h7Xa@1R6R1E1&sRylQO7Zd~`B7`PJm}hil^+ zf79c7voJb6`Sisf|9_^MB;)Mq!^xi>(ERglj-|C-3qypO(8a1(VJfJIaDn5R9C$wW z7;}hcI-=6G=rs*1U5i%ap40lpo#npTfgY#K@_=O$2Cz#_r3({)gl!`VZ5!ge11bgU zJm3guTfT__!BiRNx&*k;p#a%t0ELfDk@c}F9?(m}6%XiIy?@37>)Un&nTt#Ykg1en zpHjdvw1LlsYUYtT`)HLry;JekaktiTs@iU3GZzp~MG+Rtawl+XAUIM}gT)+!#ugyXf4xL*NIv~%qwx2R?MuSf4iL9^M~nG$5wWu z;YVS26!vo{3(xn9QM^FCAaJ`E#?r`sD2m*CY%g`>Tb4B}>$tNY4p(&O&#~oOawYfm zXZ!hKk>A*Cxr1@sNsN6Nb@!D4$jt7#4x>)GUp^e|G=D71%Dx?|=F>#kmBn^zQF>nb zSJ7Ppw%+7fg{?QiUjUme!iMGyH@6GiHoGR+dhuU{tv7RD02?pD#wBWuOSbuSq1HRF ztEewkDKAMjA*6tv$NhD{);sH}u=VQQrm!I**M?iCJ6VTY=a|15ZX1=j`E}8))nBcR za-F{H0)N;RTYx=%ILfe^CEJj03R`r#>riX;uO;eC$9;XV+1xm7Bm6=8eL1?PqBw`O zcJ=MDw9Qth-NZ~5;&WHuE>>5Z9c>+k$HPISCIIDAhH#UsgJ=3dyhx^nsG9GuRkT1( zz4Q`2nFsaR(QDEw?C6P|$BtFYj#bMJIe)cewtv>C%C;uAC^D(4Cdh;o72(e=%?~m0 zEO|DPw#ntC=ViKHdV|=|o8Kz2p(l17nY(FhP_mf0oU^HesnsNxq-TDbK-E2AX4fd# zgdwdzj8z%Z5<8C}Na`3`S$)L}Sp-fQVwiDGRG)X{{IfW1&Z)K)LmHYk;7ac%tHPC@ z*nc-6o2CaLqfNT_BfENLLDWP`pKIYw?=Gmqo1WO~6H-gszI^jEKOpOcH;4?qzo=It zLr?5FGP)*i%BZUKDauObJb96QWoqYl3Rf$*OF!o~Yt#F@>K)$hjqTRL|7Gp|A5cpN z2&JTMD^&*o0L&!-08mQ-0u%rg00;;O01n!%bXTRMZYxy>007J-lVAl@2D1kM0002E CN!$GZ diff --git a/script/bpmn/请假流程(普通流程)-leave1.zip b/script/bpmn/请假流程(普通流程)-leave1.zip index d85f86675082198dfd0beee08b91fd4974865014..2edee6a6e2080fcb34362812fc7fa0538ba4e257 100644 GIT binary patch delta 1129 zcmV-v1eW{x4Ce_BP)h>@6aWYa2mmouMOcvzK!3$oO>5jn7{2>gh&el!M%oX1+1-$2 z9WdBVXc8!tvdGe`b`q^-qnZ687!n%NmRws(d+en?HHT6PsiA+SPP(W5g^orVNn?Gi zZ3;Q9M)Q6=@AJ$%ueN)8Iq|hQ3MnQ*55OG*Xee-qivzC*o;<#PYZu(^Z*^TX!U1O7 zh<|F_BcMGnW^CHg^~GYbLnhu12|b-ok)z*zcyz3r1~iPO+0c(34E7H}?9*9NtoSV~ z;bs~J)IUEueB_ML#J+_C%Iv^F((7b830!>Dgo6X=$BkU4+HEk%Io(T>VUqbonRhVJ zsQ@OHdSpO+66%7h*lFaGg?-|q)KR_=*?%H8X<1i?0_Y&)%-zfx(3l;1h#lJ#M5nfc z6c+`}G$an9lnV;_TbkBQ)*9w%d}PlN1X{qu^uRyw{n@A)?$e*AU) z@+Z0cR(NxNu2snP=O|zzgjgOEHw$xd{_^6Nw~0A-AT#C>e!TkkIjkWZHI|q>?SJa& z>o}~Q#ZBJKC<-6j^qEL=$6lmA^<})1IQL%^MSt7QBt2F2 zNxiPEOv?DC=Aw|9BlD)s6=x||CMCbL#U$lY85FqL)g_*|4L)g;=T-Md3SBLcbCiUt zKUA@I#i5eua?n*wG48Is!^I+=j-6--4zTTo_C%!1t%s4g^19BMKlJSYrN&|vn`)6! zB6T_xQa*AK9*ym37D23r`G0FpiKA@rA=;rVB+vN42D#HKW_IT;nFTKY(C7iP!H4XM z{~G*vfn7H40gFG55%$I`e%5pTIdF&e3G%b8(%@zs+-j%6O)Coy8)|U9D!Q^GXsBoF z@;x$i@g=efH%$#kmKk#d+s(8LXyi!R-9S>ddE-KowyP;bHfBvBjeqv1FC=NgIz^H; zttq7S=@d~ejA9k#cU(yc?RMN7a4+i(tCefK7Pv0Reb+;UPoyG5@6aWYa2msivbXSoMK!4p?TaVjB6n^ioFn(r|u|1x#qwE%6 z5z=m3(H0d|RprLBiD_a7+u7{CQ7DC~F9mV!8@#kHv=RuAN+tdb+w4B^7Z^Ks;#_x{ zvJxUsab~_V=R4aVV}lH5QST!RD+^G!&c-6VS7uwdc_5rcz*j_)2Dku z7=NT}Qz9@#m~4riH0?L)_2F<>i+b%^6u0Y1pSJ4erQHj48A=eUGOF)hw4EJsjAa85S3T}X)*z(tT@0` zZ7934164~Bx104Tw6HZuXne&>Zci)`-9(z|LI8=Z03@3bn1<;9$F(JBVxs6oEh&t? z`h~Ih>-qD{bZMz{l72W~(xO@DCV$3tj19>k2Ec~l0E8?HXqv79RW&iomZ8`d7KJ2_ z@4IyG6}S}{o`AS$WC5wTxhf=zWT~=@WdM=IY$>(|48=8ph7<%PVqlfXlaTyz_vGt8 zMWHOJM$2Qe^SzW_WoB6)k%}y`gXlp@!>nSQF72_DB;^WQ>y3-6kvYR!#D87{Smg&@ zAQcKL)|czPSY-U(xNh0T72|q0IAltZbd7xA9lj-DrPhjiH*T;1tUPF~GhHu9Gs2tt zGy3M)=)uRMM|VdLo*w=5a3@&d%k-Qj?s%;<*k@fD1bz=p;tVqMW?p3?n{i~#2}}IR zuM97Z;%qBm0q%EcN;h+5&wuMCv%W01J}IX9ifZB$rljb)sbiacK}=)V(t&|&44_4@ z>l%t98E8S6e63FD|6(bFGB4}b3+eevB)>KBgS za6{hAjqx>f{P@e``#-PsLFN}^4n12%=12U$Bxymc6Ne}Oo0ox)qzD!j)Jj5fxTbmx+PE!vLXUc#F1O|oR2*|^CMn@oq}yTy)Lw`qJWYg-wu zrK|5Rtd6gk34d0FD_0p7!Qu}Fm0$;rp?BDi0(QG*Et8d)j+l=c(sW%V7>xsrDs?qQ ztTiReYE7ShB*J59CRtfL`E$iL$t>iG54I{-bMc