Преглед изворни кода

git-svn-id: https://192.168.57.71/svn/jsgkj@393 931142cf-59ea-a443-aa0e-51397b428577

ld_xuhx пре 9 година
родитељ
комит
9c91faa5c1
1 измењених фајлова са 68 додато и 36 уклоњено
  1. 68 36
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqCtl.java

+ 68 - 36
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqCtl.java

@@ -43,6 +43,7 @@ import com.xt.jygl.gkjsgl.jgsq.service.JgsqService;
 import com.xt.jygl.gkjsgl.jgsq.service.JgsqfjService;
 import com.xt.jygl.gkjsgl.jgsq.vo.JgsqVo;
 import com.xt.jygl.gkjsgl.jgsq.vo.JgsqfjVo;
+import com.xt.jygl.gkjsgl.jsjdcbsj.entity.JsjdcbsjEntity;
 import com.xt.jygl.gkjsgl.jsjdgl.vo.JsjdfjVo;
 import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
@@ -181,10 +182,12 @@ public class JgsqCtl extends BaseWebCtl {
 			if (null != entity) {
 				BeanUtils.copyProperties(entity, vo);
 				if (entity.getRecordStatus() != 9) {
+					// 获取流程最新步骤
+					TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+					vo.setCurrentname(info.getCurrName());
 					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId(), JgsqEntity.PROCESS_DEFINITION_KEY);
 					if (lists != null & lists.size() > 0) {
 						TaskInfoEntity taskinfo = lists.get(0);
-						vo.setCurrentname(taskinfo.getCurrName());
 						if ((jgsqService.getTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) || jgsqService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) {
 							if ("受理经办人".equals(taskinfo.getCurrName())) {
 								vo.setTaskState("TH");
@@ -197,7 +200,7 @@ public class JgsqCtl extends BaseWebCtl {
 							vo.setCurrentname("退回地市");
 						} else if ("4".equals(entity.getFlowstatus())) {
 							vo.setCurrentname("完成且数据已同步");
-						} 
+						}
 					}
 				} else if (entity.getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED) {
 					vo.setCurrentname("完成");
@@ -923,39 +926,56 @@ public class JgsqCtl extends BaseWebCtl {
 			}
 		}
 
-		List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(id, JgsqEntity.PROCESS_DEFINITION_KEY);
-		if (lists != null & lists.size() > 0) {
-			String roleCode = "";
-			TaskInfoEntity taskinfo = lists.get(0);
-			String currName = taskinfo.getCurrName();
-			model.addAttribute("currName", currName);
-			if ("ldbl".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_LD;
-			} else if ("fgldbl".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_FGLD;
-			} else if ("ksbl".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_KS;
-			} else if ("jbrbl".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_JBR;
-			} else if ("kscs".equals(taskinfo.getTaskKey())) {
-
-			} else if ("fgldcs".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_FGLD;
-			} else if ("ldcs".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_LD;
-			} else if ("zjps".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_ZJPS;
-			} else if ("cnxk".equals(taskinfo.getTaskKey())) {
-
-			} else if ("fgldsh".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.ROLE_FGLD;
-			} else if ("ldpz".equals(taskinfo.getTaskKey())) {
-				roleCode = Constants.YES;
+		String roleCode = "";
+		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+		String currName = "";
+		if ("sljbr".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_LD;
+			currName = "领导办理";
+		} else if ("ldbl".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_FGLD;
+			currName = "分管领导办理";
+		} else if ("fgldbl".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_KS;
+			currName = "科室办理";
+		} else if ("ksbl".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_JBR;
+			currName = "经办人办理";
+		} else if ("jbrbl".equals(taskinfo.getTaskKey())) {
+			currName = "科室初审";
+		} else if ("kscs".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_FGLD;
+			currName = "分管领导初审";
+		} else if ("fgldcs".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_LD;
+			currName = "领导初审";
+		} else if ("ldcs".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_ZJPS;
+			currName = "专家评审";
+		} else if ("zjps".equals(taskinfo.getTaskKey())) {
+			currName = "草拟许可";
+		} else if ("cnxk".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_FGLD;
+			currName = "分管领导审核";
+		} else if ("fgldsh".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.ROLE_LD;
+			currName = "领导批准";
+		} else if ("ldpz".equals(taskinfo.getTaskKey())) {
+			roleCode = Constants.YES;
+		}
+		model.addAttribute("currName", currName);
+		model.addAttribute("roleCode", roleCode);
+		model.addAttribute("taskKey", taskinfo.getTaskKey());
+		model.addAttribute("opflag", opflag);
+
+		boolean hqflag = true;
+		if ("kscs".equals(taskinfo.getTaskKey()) || "cnxk".equals(taskinfo.getTaskKey())) {
+			List<TaskInfoEntity> tasklist = taskInfoService.findByBusIdAndTaskKey(entity.getId(), taskinfo.getTaskKey());
+			if (tasklist != null && tasklist.size() > 1) {
+				hqflag = false;
 			}
-			model.addAttribute("roleCode", roleCode);
-			model.addAttribute("taskKey", taskinfo.getTaskKey());
-			model.addAttribute("opflag", opflag);
 		}
+		model.addAttribute("hqflag", hqflag);
 
 		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JgsqEntity.PROCESS_DEFINITION_KEY);
 		List<TaskInfoVo> volist = new ArrayList<TaskInfoVo>();
@@ -1073,14 +1093,26 @@ public class JgsqCtl extends BaseWebCtl {
 				jgsqService.claim(id, SecUtils.getCurrUser().getId().toString());
 			}
 
+			// 获取流程最新步骤
+			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+			// 退回用户处理
 			if (!flag) {
-				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JgsqEntity.PROCESS_DEFINITION_KEY);
-				for (int i = 0; i < slist.size(); i++) {
+				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+				for (int i = slist.size() - 1; i > 0; i--) {
 					TaskInfoEntity taskentity = slist.get(i);
-					if ("zjps".equals(taskentity.getTaskKey())) {
+					if ("zjps".equals(taskentity.getTaskKey()) && taskentity.getState() == "2") {
 						userids = taskentity.getAuditUser() + ",";
 					}
 				}
+				if ("kscs".equals(info.getTaskKey()) || "cnxk".equals(info.getTaskKey())) {
+					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndTaskKey(id, info.getTaskKey());
+					if (lists != null && lists.size() > 0) {
+						for (TaskInfoEntity task : lists) {
+							task.setSfth(Constants.NO);
+							taskInfoService.save(task);
+						}
+					}
+				}
 			}
 
 			boolean flowflag = jgsqService.changeAudit(shyj, entity, flag, userids);