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

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

ld_xuhx пре 9 година
родитељ
комит
1b54de6dcc

+ 2 - 2
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjsgl/jsjdcbsj/jsjdcbsjadd.jsp

@@ -90,13 +90,13 @@
 					<tr>
 							<th><span class="needwrite">*</span>项目编码:&nbsp;</th>
 							<td colspan="4">
-								<input type="text" style="width: 92.5%;" readonly="readonly" class="form-control" name="xmbm">
+								<input type="text" style="width: 92.5%;"  class="form-control" name="xmbm">
 							</td>
 						</tr>
 						<tr>
 							<th><span class="needwrite">*</span>项目名称:&nbsp;</th>
 							<td colspan="4">
-								<input type="text" style="width: 92.5%;" class="form-control" readonly="readonly" name="xmmc">
+								<input type="text" style="width: 92.5%;" class="form-control"  name="xmmc">
 							</td>
 						</tr>
 						<tr>

+ 1 - 1
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjsgl/jsjdcbsj/jsjdcbsjview.jsp

@@ -349,7 +349,7 @@
 				<div id="buttons">
 
 					<c:if test="${flag=='audit'}">
-						<c:if test="${roleCode != 'Y'  }">
+						<c:if test="${roleCode != 'Y' && hqflag == true }">
 							<a class="btn btn-default btn-sm" href="#" onclick="showRy()">
 								<i class="glyphicon glyphicon-check"></i> 选择人员
 							</a>

+ 66 - 65
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjCtl.java

@@ -180,11 +180,10 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			if (null != entity) {
 				BeanUtils.copyProperties(entity, vo);
 				if (entity.getRecordStatus() != 9) {
-					List<TaskInfoEntity> slists = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
-					if (slists != null && slists.size() > 0) {
-						TaskInfoEntity info = slists.get(slists.size() - 1);
-						vo.setCurrentname(info.getCurrName());
-					}
+					// 获取流程最新步骤
+					TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+					vo.setCurrentname(info.getCurrName());
+
 					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
 					if (lists != null & lists.size() > 0) {
 						TaskInfoEntity taskinfo = lists.get(0);
@@ -938,64 +937,56 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			}
 		}
 
-		List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
-		if (lists != null & lists.size() > 0) {
-			String roleCode = "";
-			TaskInfoEntity taskinfo = lists.get(lists.size() - 1);
-			String currName = "";
-			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.findByBusIdAndBusKeyOrderByIdAsc(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
-				if (tasklist != null && tasklist.size() > 1) {
-					int len = tasklist.size()-1;
-					for (int i= len; i > 0; i--) {
-						TaskInfoEntity task = tasklist.get(i);
-						if (taskinfo.getTaskKey().equals(task.getTaskKey()) && (StringUtils.isEmpty(task.getAuditResult()) || "false".equals(task.getAuditResult()))) {
-							hqflag = false;
-							break;
-						}
-					}
-
-				}
+		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("hqflag", hqflag);
 		}
+		model.addAttribute("hqflag", hqflag);
 
 		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
 		List<TaskInfoVo> volist = new ArrayList<TaskInfoVo>();
@@ -1112,14 +1103,26 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 				jsjdcbsjService.claim(id, SecUtils.getCurrUser().getId().toString());
 			}
 
+			// 获取流程最新步骤
+			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
+			// 退回用户处理
 			if (!flag) {
 				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
-				for (int i = 0; i < slist.size(); i++) {
+				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 = jsjdcbsjService.changeAudit(shyj, entity, flag, userids);
@@ -1138,9 +1141,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 					if (tbflag) {
 						entity.setTbzt("Y");
 						jsjdcbsjService.save(entity);
-
 					}
-
 				} catch (Exception e) {
 					e.printStackTrace();
 				}

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/workflow/dao/TaskInfoDao.java

@@ -40,4 +40,13 @@ public interface TaskInfoDao extends SecRepository<TaskInfoEntity, String> {
 	@Query("from TaskInfoEntity where busId = ?1 and busKey = ?2 and state = 3")
 	public List<TaskInfoEntity> findByBusIdAndBusKeyAndRecordStatus(String busId, String busKey);
 
+	@Query(value = "select t.*  from GK_OPERATION_JSJY_TASK t where t.bus_id = ?1 and t.bus_key = ?2 and t.step = (select max(to_number(step)) from GK_OPERATION_JSJY_TASK where bus_id = ?1 and bus_key = ?2)", nativeQuery = true)
+	public TaskInfoEntity findByStep(String busId, String busKey);
+
+	@Query("from TaskInfoEntity where busId = ?1 and taskKey = ?2 and sfth is null")
+	public List<TaskInfoEntity> findByBusIdAndTaskKey(String busId, String taskKey);
+	
+	@Query("from TaskInfoEntity where busId = ?1 and taskKey = ?2 and sfth = ?3")
+	public List<TaskInfoEntity> findByBusIdAndTaskKeyAndSfth(String busId, String taskKey, String sfth);
+
 }

+ 10 - 0
gkjsjy/trunk/src/com/xt/jygl/workflow/entity/TaskInfoEntity.java

@@ -68,6 +68,16 @@ public class TaskInfoEntity extends BaseEntity<String> implements Cloneable {
 	private String startUserName;
 	/** 审核人的机构 */
 	private String auditDept;
+	
+	private String sfth;
+
+	public String getSfth() {
+		return sfth;
+	}
+
+	public void setSfth(String sfth) {
+		this.sfth = sfth;
+	}
 
 	@Override
 	public TaskInfoEntity clone() {

+ 5 - 0
gkjsjy/trunk/src/com/xt/jygl/workflow/service/TaskInfoService.java

@@ -48,4 +48,9 @@ public interface TaskInfoService {
 
 	public List<TaskInfoEntity> findByBusIdAndBusKeyAndRecordStatus(String string, String processDefinitionKey);
 
+	public TaskInfoEntity findByStep(String busId, String busKey);
+
+	public List<TaskInfoEntity> findByBusIdAndTaskKey(String busId, String taskKey);
+	
+	public List<TaskInfoEntity> findByBusIdAndTaskKeyAndSfth(String busId, String taskKey,String sfth);
 }

+ 15 - 0
gkjsjy/trunk/src/com/xt/jygl/workflow/service/impl/TaskInfoServiceImpl.java

@@ -45,4 +45,19 @@ public class TaskInfoServiceImpl extends JyglBaseService<TaskInfoEntity, String>
 		return taskDao.findByBusIdAndBusKeyAndRecordStatus(busid, processDefinitionKey);
 	}
 
+	@Override
+	public TaskInfoEntity findByStep(String busId, String busKey) {
+		return taskDao.findByStep(busId, busKey);
+	}
+
+	@Override
+	public List<TaskInfoEntity> findByBusIdAndTaskKey(String busId, String taskKey) {
+		return taskDao.findByBusIdAndTaskKey(busId, taskKey);
+	}
+	
+	@Override
+	public List<TaskInfoEntity> findByBusIdAndTaskKeyAndSfth(String busId, String taskKey, String sfth) {
+		return taskDao.findByBusIdAndTaskKeyAndSfth(busId, taskKey, sfth);
+	}
+
 }