Sfoglia il codice sorgente

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

xt_xuhao 8 anni fa
parent
commit
f0fb0f240a

+ 72 - 0
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/common/Utils.java

@@ -623,6 +623,78 @@ public abstract class Utils {
 		return list;
 	}
 	
+	
+	public static List<Predicate> setWorkflowSpec(List<Predicate> list,
+			CriteriaBuilder cb, CriteriaQuery<?> query,
+			Root<? extends BaseEntity<?>> root, String lcStatus,String WorkflowName) {
+		// 根据流程状态过滤
+		if (null != lcStatus && !"".equals(lcStatus)) {
+			if(lcStatus.equals("default")){
+//				Subquery<TaskInfoEntity> subquery = query
+//						.subquery(TaskInfoEntity.class);
+//				Root<TaskInfoEntity> taskRoot = subquery
+//						.from(TaskInfoEntity.class);
+//				subquery.select(taskRoot);
+//				List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+//				subQueryPredicates.add(cb.equal(
+//						root.get("id").as(String.class), taskRoot.get("busId")
+//								.as(String.class)));
+//				subQueryPredicates.add(cb.notEqual(
+//						taskRoot.get("currName").as(String.class), "wf.tb"));
+////				subQueryPredicates.add(cb.notEqual(
+////						taskRoot.get("state").as(Long.class),
+////						BaseEntity.RECORD_STATE_COMPLETED));   
+//				subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+//				list.add(cb.exists(subquery)); 
+				list.add(cb.notEqual(root.get("recordStatus").as(String.class),
+						BaseEntity.RECORD_STATE_REJECT));
+				list.add(cb.notEqual(root.get("recordStatus").as(String.class),
+						BaseEntity.RECORD_STATE_VALID));
+			} 
+			else if (String.valueOf(BaseEntity.RECORD_STATE_VALID).equals(lcStatus)
+					|| String.valueOf(BaseEntity.RECORD_STATE_COMPLETED)
+							.equals(lcStatus)) {
+				list.add(cb.equal(root.get("recordStatus").as(String.class),
+						lcStatus));
+			} else {
+				Subquery<TaskInfoEntity> subquery = query
+						.subquery(TaskInfoEntity.class);
+				Root<TaskInfoEntity> taskRoot = subquery
+						.from(TaskInfoEntity.class);
+				subquery.select(taskRoot);
+				List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+				subQueryPredicates.add(cb.equal(
+						root.get("id").as(String.class), taskRoot.get("busId")
+								.as(String.class)));
+				subQueryPredicates.add(cb.equal(
+						taskRoot.get("currName").as(String.class), lcStatus));
+				
+				//用于判断是哪个流程
+				subQueryPredicates.add(cb.equal(
+						taskRoot.get("busKey").as(String.class), WorkflowName));
+				
+				
+				subQueryPredicates.add(cb.notEqual(
+						taskRoot.get("state").as(Long.class),
+						BaseEntity.RECORD_STATE_COMPLETED));
+				// List<Predicate> subOrList = new
+				// ArrayList<Predicate>();
+				// subOrList.add(cb.equal(taskRoot
+				// .get("roleCode").as(String.class),
+				// getCurrentRoleCode(functionId)));
+				// subOrList.add(cb.equal(taskRoot
+				// .get("runner").as(UserEntity.class),
+				// Utils.getCurrentUser()));
+				// subQueryPredicates.add(cb.or(subOrList.toArray(new
+				// Predicate[] {})));
+				subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+				list.add(cb.exists(subquery));
+			}
+		}
+		return list;
+	}
+	
+	
 	public static List<Predicate> setAuditNameSpec(List<Predicate> list,
 			CriteriaBuilder cb, CriteriaQuery<?> query,
 			Root<? extends BaseEntity<?>> root, String lcStatus, String name) {

+ 3 - 3
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/controller/zyfzhz/GkwxhwzyfzhzController.java

@@ -124,7 +124,7 @@ public class GkwxhwzyfzhzController extends BaseController {
 					//“默认”状态,此状态企业查看全部
 					if(!lcStatus.equals("default")){ 
 						list = Utils.setWorkflowSpec(list, cb, query, root,
-								lcStatus);
+								lcStatus,GkwxhwzyfzhzEntity.PROCESS_DEFINITION_KEY);
 					}
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
@@ -186,7 +186,7 @@ public class GkwxhwzyfzhzController extends BaseController {
 										+ aqgljgfzr + "%"));
 					}
 					list = Utils.setWorkflowSpec(list, cb, query, root,
-							lcStatus);
+							lcStatus,GkwxhwzyfzhzEntity.PROCESS_DEFINITION_KEY);
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
 			};
@@ -262,7 +262,7 @@ public class GkwxhwzyfzhzController extends BaseController {
 										+ param.get(4) + "%"));
 					}
 					list = Utils.setWorkflowSpec(list, cb, query, root,
-							param.get(5));
+							param.get(5),GkwxhwzyfzhzEntity.PROCESS_DEFINITION_KEY);
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
 			};

+ 30 - 18
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/controller/zyfzndjy/GkwxhwzyfzblhhzController.java

@@ -70,7 +70,6 @@ import com.jtgh.yjpt.entity.ireport.aqsp.WxhwzysqVo;
 import com.jtgh.yjpt.entity.jlrxxgl.GlzdxxEntity;
 import com.jtgh.yjpt.entity.jyr.JyrEntity;
 import com.jtgh.yjpt.entity.jyrxxgl.RyjbxxEntity;
-import com.jtgh.yjpt.entity.task.Gztx;
 import com.jtgh.yjpt.entity.yjgl.YjyaEntity;
 import com.jtgh.yjpt.entity.yjzyxxgl.YjwzFlxxEntity;
 import com.jtgh.yjpt.entity.zyfzhz.GkwxhwzyfzhzEntity;
@@ -83,7 +82,6 @@ import com.jtgh.yjpt.service.common.CodeService;
 import com.jtgh.yjpt.service.jlrxxgl.GlzdxxService;
 import com.jtgh.yjpt.service.jyr.JyrService;
 import com.jtgh.yjpt.service.jyrxxgl.RyjbxxService;
-import com.jtgh.yjpt.service.task.TaskService;
 import com.jtgh.yjpt.service.yjgl.YjyaService;
 import com.jtgh.yjpt.service.yjzyxxgl.YjwzFlxxService;
 import com.jtgh.yjpt.service.zyfzndjy.GkfzzbService;
@@ -125,8 +123,7 @@ public class GkwxhwzyfzblhhzController extends BaseController {
 	private YjwzFlxxService wzService;
 	@Autowired
 	private AccessoryService accessoryService;
-	@Autowired
-	private TaskService taskService;
+ 
 
 	/**
 	 * 企业界面的查询
@@ -187,7 +184,7 @@ public class GkwxhwzyfzblhhzController extends BaseController {
 					//“默认”状态,此状态企业查看全部
 					if(!lcStatus.equals("default")){ 
 						list = Utils.setWorkflowSpec(list, cb, query, root,
-								lcStatus);
+								lcStatus,GkwxhwzyfzblhhzEntity.PROCESS_DEFINITION_KEY);
 					}
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
@@ -272,7 +269,7 @@ public class GkwxhwzyfzblhhzController extends BaseController {
 								"%" + fddbr + "%"));
 					}
 					list = Utils.setWorkflowSpec(list, cb, query, root,
-							lcStatus);
+							lcStatus,GkwxhwzyfzblhhzEntity.PROCESS_DEFINITION_KEY);
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
 			};
@@ -361,7 +358,7 @@ public class GkwxhwzyfzblhhzController extends BaseController {
 								Long.parseLong(param.get(5))));
 					}
 					list = Utils.setWorkflowSpec(list, cb, query, root,
-							param.get(6));
+							param.get(6),GkwxhwzyfzblhhzEntity.PROCESS_DEFINITION_KEY);
 					return cb.and(list.toArray(new Predicate[] {}));
 				}
 			};
@@ -779,20 +776,35 @@ public class GkwxhwzyfzblhhzController extends BaseController {
 	@Log(Type.DELETE)
 	public BusinessContext logicDelete(List<GkwxhwzyfzblhhzEntity> entities) {
 		try {
-			BusinessContext bc = createBusinessContext();
-			gkwxhwzyfzblhhzService.logicDelete(entities);
 			
-			//判断附证申请实例是不是退回状态,如果是,除了删除附证申请数据还要将工作工作提醒中的对应提醒也删除掉:
-			//edit by xuhao 2016-09-06
-			for(GkwxhwzyfzblhhzEntity entity : entities){
-				if(entity.getRecordStatus()==4){ 
-						List<Gztx> gztxList = taskService.findGztxByBYZD2(entity.getId().toString());//更具BYZD2找到实例 
-						for(Gztx gztx : gztxList ){
-							gztx.setTxzt(Constants.NO);
-							taskService.saveGztx(gztx);//将工作提醒置关闭掉(即删除)
-						}
+			//删除退回的申请及关联代办
+//			for(GkwxhwzyfzblhhzEntity entity : entities){
+//				if(entity.getRecordStatus()==BaseEntity.RECORD_STATE_REJECT){
+//					List<TaskInfoEntity> taskList = taskService.findByBusIdAndBusKeyAndRecordStatus(entity.getId().toString(), GkwxhwzyfzblhhzEntity.PROCESS_DEFINITION_KEY);
+//					if(taskList != null){
+//						for(TaskInfoEntity task: taskList){
+//							taskServiceWorkflow.deleteTask(task.getTaskId());	
+//						}
+//					}
+//					
+//				}
+//			}
+			for(GkwxhwzyfzblhhzEntity entity :entities){
+				if(entity.getRecordStatus()==BaseEntity.RECORD_STATE_REJECT){
+					String business_key_ = GkwxhwzyfzblhhzEntity.PROCESS_DEFINITION_KEY + "-" +entity.getId();
+					//String sql="delete from ACT_RU_TASK where PROC_INST_ID_ in (SELECT PROC_INST_ID_ FROM ACT_RU_EXECUTION WHERE BUSINESS_KEY_='"+business_key_+"' )";
+//					String sql="update ACT_RU_TASK set ASSIGNEE_='' where PROC_INST_ID_ in (SELECT PROC_INST_ID_ FROM ACT_RU_EXECUTION WHERE BUSINESS_KEY_='"+business_key_+"' )";
+//					jdbcTemplate.update(sql);
+					gkwxhwzyfzblhhzService.Del_FZSQ_TuiHui_WaitHandle(business_key_);
 				}
 			}
+						
+			
+			
+			BusinessContext bc = createBusinessContext();
+			gkwxhwzyfzblhhzService.logicDelete(entities);
+			
+			//
 			
 			
 			// 制度list删除

+ 9 - 0
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/dao/zyfzndjy/GkwxhwzyfzblhhzbDao.java

@@ -4,6 +4,7 @@ import java.sql.Timestamp;
 import java.util.Date;
 import java.util.List;
 
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
 
@@ -61,4 +62,12 @@ public interface GkwxhwzyfzblhhzbDao extends
 	public String count1(Date day1,Date day2);
 	@Query(value="select count(1) from T_YJPT_GKWXHWZYFZBLHHZ h where record_status=2 and h.yxqjssj is not null and h.yxqjssj<?1",nativeQuery=true)
 	public String count2(Date day);
+	
+	
+	//删除附证申请被退回的待办
+	//这里采取将处理人ID置空的方式
+	@Modifying
+	@Query(value="update ACT_RU_TASK set ASSIGNEE_='' where PROC_INST_ID_ in (SELECT PROC_INST_ID_ FROM ACT_RU_EXECUTION WHERE BUSINESS_KEY_=?1 )",nativeQuery=true)
+	public void Del_FZSQ_TuiHui_WaitHandle(String business_key_);
+	
 }

+ 7 - 3
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/service/impl/zyfzndjy/GkwxhwzyfzblhhzServiceImpl.java

@@ -623,9 +623,7 @@ public class GkwxhwzyfzblhhzServiceImpl extends
 			gztx.setAddDate(new Date());
 			gztx.setJsUser(applyUser);
 			
-			//附证申请退回后发送 工作提醒 将附证申请的实例ID存入BYZD2字段,用于“附证申请记录退回给企业后允许填报人删除,同时删除待办”
-			//edit by xuhao 2016-09-07
-			gztx.setByzd2(entityId.toString());
+			
 			
 			gztxDao.save(gztx);
 		} catch (IOException e) {
@@ -699,5 +697,11 @@ public class GkwxhwzyfzblhhzServiceImpl extends
 	public List<GkwxhwzyfzblhhzEntity> findByByzd1(String bh){
 		return gkwxhwzyfzblhhzDao.findByByzd1(bh);
 	}
+	
+	//删除附证申请被退回的待办
+	//这里采取将处理人ID置空的方式
+	public void  Del_FZSQ_TuiHui_WaitHandle(String business_key_){
+		gkwxhwzyfzblhhzDao.Del_FZSQ_TuiHui_WaitHandle(business_key_);
+	}
 
 }

+ 4 - 0
gkaq/yjpt-java/trunk/java_src/com/jtgh/yjpt/service/zyfzndjy/GkwxhwzyfzblhhzService.java

@@ -119,4 +119,8 @@ public interface GkwxhwzyfzblhhzService extends BaseWorkFlowService {
 	//通过BYZD1 附证办理编号找到附证申请信息
 	public List<GkwxhwzyfzblhhzEntity> findByByzd1(String bh);
 	
+	//删除附证申请被退回的待办
+	//这里采取将处理人ID置空的方式
+	public void  Del_FZSQ_TuiHui_WaitHandle(String business_key_);
+	
 }

+ 1 - 2
gkaq/yjpt-java/trunk/resources/spring/applicationContext-workflow.xml

@@ -16,9 +16,8 @@
 		<property name="history" value="full" />
 		<property name="deploymentResources">
 			<list>
-					<value>classpath*:/deployments/jsxmaqtjsc-*</value>
 					<!--
-					<value>classpath*:/deployments/*</value>
+					<value>classpath*:/deployments/*</value> 
 					<value>classpath*:/deployments/bgzysbsp-city.*</value>
 					<value>classpath*:/deployments/qxzysbsp-city.*</value>
 					<value>classpath*:/deployments/autoAudit.*</value>

+ 2 - 2
gkaq/yjpt-java/trunk/yjpt/WEB-INF/web.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
@@ -32,7 +32,7 @@
 	<context-param>
 		<description>是否在危险品审批中启用签章功能(Y/N)</description>
 		<param-name>iSignature</param-name>
-		<param-value>N</param-value>
+		<param-value>Y</param-value>
 	</context-param>
 	<context-param>
 		<param-name>contextConfigLocation</param-name>