Ver código fonte

【v2】下一条流程支持跨账套

zhouy 4 meses atrás
pai
commit
4e7e68e98b

+ 22 - 17
src/com/uas/erp/service/common/impl/ProcessServiceImpl.java

@@ -2684,31 +2684,36 @@ public class ProcessServiceImpl implements ProcessService {
 	}
 
 	@Override
-	public int getNextProcess(String taskId, Employee employee,Integer _center) {
+	public Map<String,Object> getNextProcess(String taskId, Employee employee,Integer _center) {
+		Map<String,Object> result = new HashMap<>();
+		result.put("nodeId", -1);
 		if(_center != null && _center == 1){
 			//集团流程获取下一条
 			String defaultSob = BaseUtil.getXmlSetting("defaultSob");
 			Object nowProcessMaster = baseDao.getFieldDataByCondition(defaultSob+".JPROCESSVIEW", "CURRENTMASTER","JP_NODEID='" + taskId + "'");
 			if(baseDao.checkIf(defaultSob+".master", "upper(ma_user)=upper('"+nowProcessMaster+"')")) {
 				baseDao.updateByCondition(nowProcessMaster+".JProcess", "jp_id="+nowProcessMaster+".PROCESS_SEQ.NEXTVAL", "JP_NODEID='" + taskId + "'");
-				   SqlRowList sl = baseDao.queryForRowSet("select jp_nodeId from "+defaultSob+".JPROCESSVIEW  where jp_nodeDealMan='" + employee.getEm_code()
-						+ "' AND jp_status='待审批' AND jp_nodeId <>" + taskId + " order by JP_LAUNCHTIME desc,JP_ID desc");
-				   if (sl.next()) {
-				     	return sl.getInt(1);	
-				   } else {
-					  return -1;
-			       }
+				SqlRowList sl = baseDao.queryForRowSet("select jp_nodeId,currentmaster from "+defaultSob+".JPROCESSVIEW  where jp_nodeDealMan='" + employee.getEm_code()
+						+ "' AND jp_status='待审批' AND jp_nodeId <>" + taskId + " order by jp_id");
+				if (sl.next()) {
+					result.put("_toMaster", sl.getString(2) );
+					result.put("nodeId", sl.getInt(1));
+					return result;
+				} else {
+					return result;
+				}
 			}else
-				return -1;
+				return result;
 		} else {
-		   baseDao.updateByCondition("JProcess", "jp_id=PROCESS_SEQ.NEXTVAL", "JP_NODEID='" + taskId + "'");
-		   SqlRowList sl = baseDao.queryForRowSet("select jp_nodeId from JProcess  where jp_nodeDealMan='" + employee.getEm_code()
-				+ "' AND jp_status='待审批' AND jp_nodeId <>" + taskId + " order by JP_LAUNCHTIME desc,JP_ID desc");
-		   if (sl.next()) {
-		     	return sl.getInt(1);	
-		   } else {
-			  return -1;
-	       }
+			baseDao.updateByCondition("JProcess", "jp_id=PROCESS_SEQ.NEXTVAL", "JP_NODEID='" + taskId + "'");
+			SqlRowList sl = baseDao.queryForRowSet("select jp_nodeId from JProcess  where jp_nodeDealMan='" + employee.getEm_code()
+					+ "' AND jp_status='待审批' AND jp_nodeId <>" + taskId + " order by jp_id");
+			if (sl.next()) {
+				result.put("nodeId", sl.getInt(1));
+				return result;
+			} else {
+				return result;
+			}
 		}
 	}