Browse Source

小程序相关的流程发起、审批代码修改

ouyj 3 weeks ago
parent
commit
980d826b46

+ 32 - 4
src/main/bpm/com/yw/bpm/client/action/BpmClientFlowStartAction.java

@@ -73,7 +73,7 @@ public class BpmClientFlowStartAction extends RequestAbs {
 					rv.setReturnMsg("提交成功");
 					rv.setReturnParams(responseJson);
 					return JSONObject.fromObject(rv, config).toString();
-				} else {
+				}else {
 					rv = new ResultVo();
 					rv.setReturnCode("0");
 					rv.setReturnMsg(responseJson);
@@ -325,12 +325,40 @@ public class BpmClientFlowStartAction extends RequestAbs {
 				List<Map<String, Object>> nextTacheInstances = pr.getNextTacheInstances();
 
 				if (nextTinstanceList.size() == 0) {
+					/*String isCheckInfo = null;
+					for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+						String isCheckTemp = null;
+						if(nextTacheInstance.get("isCheck") != null){
+							isCheckTemp = nextTacheInstance.get("isCheck").toString(); 
+							if (isCheckTemp.equals("true")) {
+								isCheckInfo = isCheckTemp;
+								break; 
+							} 
+						} 
+					}
+					if(isCheckInfo == null){
+						return "取下一环节操作人失败,提交失败";
+					}*/
+					String info = null;
+					for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+						String infoTemp = null;
+						if(nextTacheInstance.get("info") != null){
+							infoTemp = nextTacheInstance.get("info").toString(); 
+							if (infoTemp.equals("取下一步环节操作人失败!")) {
+								info = infoTemp;
+								break; 
+							} 
+						} 
+					}
+					if(info != null && "取下一步环节操作人失败!".equals(info)){
+						return "取下一步环节操作人失败,提交失败";
+					}
 					for (Map<String, Object> nextTacheInstance : nextTacheInstances) {
 						TacheModel tacheModel = (TacheModel) nextTacheInstance.get("tacheModel");
 						List<SystemGroupUser> users = (List<SystemGroupUser>) nextTacheInstance.get("users");
 						String nextTmodelId = tacheModel.getTmodelId();
-						String isCheck = nextTacheInstance.get("isCheck").toString();
-						if (isCheck.equals("true")) {
+						String isCheck = nextTacheInstance.get("isCheck") == null ? null : nextTacheInstance.get("isCheck").toString();
+						if (isCheck != null && isCheck.equals("true")) {
 							if(users != null && users.size() >0){
 								for (SystemGroupUser user : users) {
 									TacheInstance tache = new TacheInstance();
@@ -347,7 +375,7 @@ public class BpmClientFlowStartAction extends RequestAbs {
 							TacheInstance tache = new TacheInstance();
 							tache.getTmodelId().setTmodelId(nextTmodelId);
 							nextTinstanceList.add(tache);
-						} 
+						}
 					}
 				}
 

+ 31 - 2
src/main/bpm/com/yw/bpm/client/action/BpmClientFlowSubProcess3Action.java

@@ -287,13 +287,42 @@ public class BpmClientFlowSubProcess3Action extends RequestAbs {
 							List<Map<String, Object>> nextTacheInstances = pr.getNextTacheInstances();
 
 							if (nextTinstanceList.size() == 0) {
+								/*String isCheckInfo = null;
+								for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+									String isCheckTemp = null;
+									if(nextTacheInstance.get("isCheck") != null){
+										isCheckTemp = nextTacheInstance.get("isCheck").toString(); 
+										if (isCheckTemp.equals("true")) {
+											isCheckInfo = isCheckTemp;
+											break; 
+										} 
+									} 
+								}
+								if(isCheckInfo == null){
+									return "取下一环节操作人失败,提交失败";
+								}*/
+								String info = null;
+								for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+									String infoTemp = null;
+									if(nextTacheInstance.get("info") != null){
+										infoTemp = nextTacheInstance.get("info").toString(); 
+										if (infoTemp.equals("取下一步环节操作人失败!")) {
+											info = infoTemp;
+											break; 
+										} 
+									} 
+								}
+								if(info != null && "取下一步环节操作人失败!".equals(info)){
+									return "取下一步环节操作人失败,提交失败";
+								}
 								for (Map<String, Object> nextTacheInstance : nextTacheInstances) {
 									TacheModel tacheModel = (TacheModel) nextTacheInstance.get("tacheModel");
 									List<SystemGroupUser> users = (List<SystemGroupUser>) nextTacheInstance
 											.get("users");
 									String nextTmodelIds = tacheModel.getTmodelId();
-									String isCheck = nextTacheInstance.get("isCheck").toString();
-									if (isCheck.equals("true")) {
+									//String isCheck = nextTacheInstance.get("isCheck").toString();
+									String isCheck = nextTacheInstance.get("isCheck") == null ? null : nextTacheInstance.get("isCheck").toString();
+									if (isCheck != null && isCheck.equals("true")) {
 										if (users != null && users.size() > 0) {
 											for (SystemGroupUser user : users) {
 												TacheInstance tache = new TacheInstance();

+ 32 - 2
src/main/bpm/com/yw/bpm/client/action/BpmCommonProcessAction.java

@@ -275,12 +275,42 @@ public class BpmCommonProcessAction extends RequestAbs {
 					
 					// 如果 nextTinstanceList 为空,从预处理结果中获取
 					if (nextTinstanceList.size() == 0) {
+						/*String isCheckInfo = null;
+						for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+							String isCheckTemp = null;
+							if(nextTacheInstance.get("isCheck") != null){
+								isCheckTemp = nextTacheInstance.get("isCheck").toString(); 
+								if (isCheckTemp.equals("true")) {
+									isCheckInfo = isCheckTemp;
+									break; 
+								} 
+							} 
+						}
+						if(isCheckInfo == null){
+							return "取下一环节操作人失败,提交失败";
+						}*/
+						String info = null;
+						for (Map<String, Object> nextTacheInstance : nextTacheInstances) { 
+							String infoTemp = null;
+							if(nextTacheInstance.get("info") != null){
+								infoTemp = nextTacheInstance.get("info").toString(); 
+								if (infoTemp.equals("取下一步环节操作人失败!")) {
+									info = infoTemp;
+									break; 
+								} 
+							} 
+						}
+						if(info != null && "取下一步环节操作人失败!".equals(info)){
+							return "取下一步环节操作人失败,提交失败";
+						}
 						for (Map<String, Object> nextTacheInstance : nextTacheInstances) {
 							TacheModel tacheModel = (TacheModel) nextTacheInstance.get("tacheModel");
 							List<SystemGroupUser> users = (List<SystemGroupUser>) nextTacheInstance.get("users");
 							String nextTmodelIds = tacheModel.getTmodelId();
-							String isCheck = nextTacheInstance.get("isCheck").toString();
-							if ("true".equals(isCheck)) {
+							/*String isCheck = nextTacheInstance.get("isCheck").toString();
+							if ("true".equals(isCheck)) {*/
+							String isCheck = nextTacheInstance.get("isCheck") == null ? null : nextTacheInstance.get("isCheck").toString();
+							if (isCheck != null && isCheck.equals("true")) {
 								if (users != null && users.size() > 0) {
 									for (SystemGroupUser user : users) {
 										TacheInstance tache = new TacheInstance();

+ 40 - 4
src/main/bpm/com/yw/bpm/core/service/CoreServiceImpl.java

@@ -3032,18 +3032,54 @@ public class CoreServiceImpl implements CoreService {
 		// 10. 如果没有手动指定下一环节,使用系统自动计算的下一环节
 		List<Map<String, Object>> nextTacheInstancesMap = pr.getNextTacheInstances();
 		if (nextTinstanceList.size() == 0 && nextTacheInstancesMap != null) {
+			/*String isCheckInfo = null;
+			for (Map<String, Object> nextTacheInstance : nextTacheInstancesMap) { 
+				String isCheckTemp = null;
+				if(nextTacheInstance.get("isCheck") != null){
+					isCheckTemp = nextTacheInstance.get("isCheck").toString(); 
+					if (isCheckTemp.equals("true")) {
+						isCheckInfo = isCheckTemp;
+						break; 
+					} 
+				} 
+			}
+			if(isCheckInfo == null){
+				//return "取下一环节操作人失败,提交失败";
+				throw new Exception("取下一环节操作人失败,提交失败");
+			}*/
+			String info = null;
+			for (Map<String, Object> nextTacheInstance : nextTacheInstancesMap) { 
+				String infoTemp = null;
+				if(nextTacheInstance.get("info") != null){
+					infoTemp = nextTacheInstance.get("info").toString(); 
+					if (infoTemp.equals("取下一步环节操作人失败!")) {
+						info = infoTemp;
+						break; 
+					} 
+				} 
+			}
+			if(info != null && "取下一步环节操作人失败!".equals(info)){
+				throw new Exception("取下一环节操作人失败,提交失败");
+			}
 			for (Map<String, Object> nextTacheInstanceMap : nextTacheInstancesMap) {
 				TacheModel tacheModel = (TacheModel) nextTacheInstanceMap.get("tacheModel");
 				List<SystemGroupUser> users = (List<SystemGroupUser>) nextTacheInstanceMap.get("users");
 				String nextTmodelId = tacheModel.getTmodelId();
-				if (users != null && users.size() > 0) {
-					for (SystemGroupUser sysUser : users) {
+				String isCheck = nextTacheInstanceMap.get("isCheck") == null ? null : nextTacheInstanceMap.get("isCheck").toString();
+				if (isCheck != null && isCheck.equals("true")) {
+					if (users != null && users.size() > 0) {
+						for (SystemGroupUser sysUser : users) {
+							TacheInstance tache = new TacheInstance();
+							tache.getTmodelId().setTmodelId(nextTmodelId);
+							tache.getGroupxuserid().setId(sysUser.getId());
+							nextTinstanceList.add(tache);
+						}
+					}else {
 						TacheInstance tache = new TacheInstance();
 						tache.getTmodelId().setTmodelId(nextTmodelId);
-						tache.getGroupxuserid().setId(sysUser.getId());
 						nextTinstanceList.add(tache);
 					}
-				}else {
+				} else {
 					TacheInstance tache = new TacheInstance();
 					tache.getTmodelId().setTmodelId(nextTmodelId);
 					nextTinstanceList.add(tache);