22
33import com .codingapi .flow .action .IFlowAction ;
44import com .codingapi .flow .action .actions .PassAction ;
5+ import com .codingapi .flow .action .actions .RejectAction ;
56import com .codingapi .flow .error .ErrorThrow ;
67import com .codingapi .flow .exception .FlowValidationException ;
78import com .codingapi .flow .form .FlowForm ;
@@ -67,26 +68,26 @@ public boolean isSequenceMultiOperatorType() {
6768
6869
6970 /**
70- * 审批意见是否必须填写
71+ * 审批意见是否必填
7172 */
72- public boolean isEnableAdvice () {
73+ public boolean isAdviceRequired () {
7374 List <INodeStrategy > strategies = this .strategies ;
7475 for (INodeStrategy strategy : strategies ) {
7576 if (strategy instanceof AdviceStrategy ) {
76- return ! ((AdviceStrategy ) strategy ).isAdviceNullable ();
77+ return ((AdviceStrategy ) strategy ).isAdviceRequired ();
7778 }
7879 }
7980 return false ;
8081 }
8182
8283 /**
83- * 是否可签名
84+ * 签名是否必填
8485 */
85- public boolean isEnableSignable () {
86+ public boolean isSignRequired () {
8687 List <INodeStrategy > strategies = this .strategies ;
8788 for (INodeStrategy strategy : strategies ) {
8889 if (strategy instanceof AdviceStrategy ) {
89- return ((AdviceStrategy ) strategy ).isSignable ();
90+ return ((AdviceStrategy ) strategy ).isSignRequired ();
9091 }
9192 }
9293 return false ;
@@ -163,23 +164,28 @@ public void verifySession(FlowSession session) {
163164
164165 FlowAdvice flowAdvice = session .getAdvice ();
165166 IFlowAction flowAction = flowAdvice .getAction ();
166- // 是否必须填写审批意见
167- if (this .isEnableAdvice ()) {
168- if (!StringUtils .hasText (flowAdvice .getAdvice ())) {
169- throw FlowValidationException .required ("advice" );
170- }
171- }
167+
168+
172169 // 通过操作
173- if (flowAction instanceof PassAction ) {
170+ if (flowAction instanceof PassAction || flowAction instanceof RejectAction ) {
171+
172+ // 是否必须填写审批意见
173+ if (this .isAdviceRequired ()) {
174+ if (!StringUtils .hasText (flowAdvice .getAdvice ())) {
175+ throw FlowValidationException .required ("advice" );
176+ }
177+ }
178+
174179 // 是否必须签名
175- if (this .isEnableSignable ()) {
180+ if (this .isSignRequired ()) {
176181 if (!StringUtils .hasText (flowAdvice .getSignKey ())) {
177182 throw FlowValidationException .required ("signKey" );
178183 }
179184 }
185+
180186 }
181187
182- for (INodeStrategy strategy : strategies ){
188+ for (INodeStrategy strategy : strategies ) {
183189 strategy .verifySession (session );
184190 }
185191 }
@@ -196,6 +202,7 @@ public <T extends INodeStrategy> T getStrategy(Class<T> clazz) {
196202
197203 /**
198204 * 错误触发(没有匹配到人时执行的逻辑)
205+ *
199206 * @param session 触发会话
200207 * @return 错误触发
201208 */
0 commit comments