Pārlūkot izejas kodu

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

ld_xuhx 9 gadi atpakaļ
vecāks
revīzija
83fcc4ab12

+ 30 - 2
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdbg/jsjdbgdetail.js

@@ -6,6 +6,24 @@ jsjdbg.detail.gk=null;
 jsjdbg.detail.gq=null;
 jsjdbg.detail.taskKey=null;
 jsjdbg.detail.opflag=null;
+jsjdbg.detail.hqflag = null;
+
+jsjdbg.detail.viewBw=function(id){
+	$('#selectbwdiv').fadeIn(100);
+	$('#selectbw2div').slideDown(0);
+	showBw(id);
+}
+
+
+function showRy() {
+	$('#selectrydiv').fadeIn(100);
+	$('#selectry2div').slideDown(0);
+}
+
+function showYj() {
+	$('#selectyjdiv').fadeIn(100);
+	$('#selectyj2div').slideDown(0);
+}
 
 jsjdbg.detail.init=function(){
 }
@@ -117,6 +135,16 @@ jsjdbg.detail.save=function(){
 	
 
 jsjdbg.detail.submit=function(){
+	if (isEmpty($('#userids').val())) {
+		$.alert({
+			title : '提示',
+			content : "请选择人员办理!!!",
+			confirm : function() {
+				$(".btn").attr("disabled", false);
+			}
+		});
+		return false;
+	}
 	 //验证浮点类型
 	 if(van($('#addform input[name=ztz]'),"总投资")==false){return false;}
 	 if(van($('#addform input[name=axcd]'),"岸线长度 ")==false){return false;}
@@ -458,11 +486,11 @@ $('.gkselectpicker').selectpicker({
  
  
  jsjdbg.detail.audit=function(auditpass,id){
-	 if(auditpass=="Y" && (jsjdbg.detail.opflag == 5 || jsjdbg.detail.opflag == 9)){
+	 if(auditpass=="Y" &&jsjdbg.detail.taskKey != 'ldpz' && jsjdbg.detail.hqflag  == 'true'){
 		 if(isEmpty($('#userids').val())){
 			 $.alert({
 	       		    title: '提示',
-	       		    content: "请选择人员会签!!!",
+	       		    content: "请选择人员办理!!!",
 	       		    confirm: function(){
 	       		    	$(".btn").attr("disabled",false);
 	       		    }

+ 835 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdbg/jsjdbgdsdetail.js

@@ -0,0 +1,835 @@
+
+$.namespace("jsjdbgds.detail");
+
+jsjdbgds.detail.szd =null;
+jsjdbgds.detail.gk=null;
+jsjdbgds.detail.gq=null;
+jsjdbgds.detail.taskKey=null;
+jsjdbgds.detail.opflag=null;
+jsjdbgds.detail.hqflag = null;
+
+
+jsjdbgds.detail.viewBw=function(id){
+	$('#selectbwdiv').fadeIn(100);
+	$('#selectbw2div').slideDown(0);
+	showBw(id);
+}
+
+function showRy() {
+	$('#selectrydiv').fadeIn(100);
+	$('#selectry2div').slideDown(0);
+}
+
+function showYj() {
+	$('#selectyjdiv').fadeIn(100);
+	$('#selectyj2div').slideDown(0);
+}
+
+jsjdbgds.detail.init=function(){
+}
+
+jsjdbgds.detail.back=function(){
+	location.href=$.app+"/jsjdbgds/main";
+}
+
+//构建政府投资额占比变化事件	
+function ratesub() {
+	var val = $("#tzlxid").val();
+	var ztz = $('#addform input[name=ztz]').val();
+	var zftze = $('#addform input[name=zftze]').val();
+	if(val == "1903") {
+		if(isEmpty(ztz) || isEmpty(zftze)) {
+			$("#zftzezb").val("");
+			return;
+		}
+		if(isFDS(ztz) && isFDS(zftze)) {
+			var rate = (zftze/ztz)*100;
+			$("#zftzezb").val(rate.toFixed(2));
+		}
+	}
+};
+	
+
+//构建水域类型下拉	
+function initSylxSelect(divid,existVal,width){
+	$.post($.app+"/xmxxgl/selectSylx",{
+	},function(data) {
+		var str="";
+		str+="<select class='sylxselectpicker' name='sylxid' id='sylxid'>";
+		str+="<option></option>";
+		if(data){
+			for(var i=0;i<data.length;i++){
+				var sylx=data[i];
+				if(sylx.id==existVal){
+					str+=" <option selected='selected' value='"+sylx.id+"' >"+sylx.text+"</option>";
+				}else{
+					str+="<option value='"+sylx.id+"'>"+sylx.text+"</option>" ;
+				}
+			}
+		}
+		str+="</select>";
+		$("#"+divid).empty;
+		$("#"+divid).append(str);
+		$('.sylxselectpicker').selectpicker({
+			width:width
+		});
+	}, "json");
+};
+
+//构建投资类型下拉事件	
+function tzlxChange() {
+	var val = $("#tzlxid").val();
+	if(val == "1903") {
+		$("#zftzDiv").css("display","table-row");
+		ratesub();
+	} else {
+		$("#zftzezb").val("");
+		$("#zftzDiv").css("display","none");
+	}
+	
+};
+
+
+van=function(a,b){
+	if(!isFDS(a.val())){
+		ts(b+"必须为正数",a);
+		return false;
+	}
+};
+
+jsjdbgds.detail.save=function(){
+	 //验证浮点类型
+	 if(van($('#addform input[name=ztz]'),"总投资")==false){return false;}
+	 if(van($('#addform input[name=axcd]'),"岸线长度 ")==false){return false;}
+	 if(van($('#addform input[name=bwdj]'),"泊位吨级 ")==false){return false;}
+	 if(van($('#addform input[name=tgnl]'),"通过能力")==false){return false;}
+	 
+	 $(".btn").attr("disabled",true);
+	 $.ajax({
+         url:$.app+"/jsjdbgds/save",
+         data:$("#addform").serialize(),
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jsjdbgds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+}
+	 
+	
+
+jsjdbgds.detail.submit=function(){
+	
+	 //验证浮点类型
+	 if(van($('#addform input[name=ztz]'),"总投资")==false){return false;}
+	 if(van($('#addform input[name=axcd]'),"岸线长度 ")==false){return false;}
+	 if(van($('#addform input[name=bwdj]'),"泊位吨级 ")==false){return false;}
+	 if(van($('#addform input[name=tgnl]'),"通过能力")==false){return false;}
+	 
+	 $(".btn").attr("disabled",true);
+	 $.ajax({
+        url:$.app+"/jsjdbgds/submit",
+        data:$("#addform").serialize(),
+        type:"post",
+        dataType:"json",
+        success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jsjdbgds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+   }); 
+}
+	
+//  构建项目类型下拉	
+	function initXmlxSelect(divid,existVal,width){
+		$.post($.app+"/jsjdbgds/selectXmlx",{
+		},function(data) {
+			var str="";
+			str+="<select class='xmlxselectpicker' name='xmlxid' id='xmlxid'>";
+			str+="<option></option>";
+			if(data){
+				for(var i=0;i<data.length;i++){
+					var xmlx=data[i];
+					if(xmlx.val==existVal){
+						str+=" <option selected='selected' value='"+xmlx.id+"' >"+xmlx.text+"</option>";
+					}else{
+						str+="<option value='"+xmlx.id+"'>"+xmlx.text+"</option>" ;
+					}
+				}
+			}
+			str+="</select>";
+			$("#"+divid).empty;
+			$("#"+divid).append(str);
+			$('.xmlxselectpicker').selectpicker({
+	    		width:width
+	    	});
+		}, "json");
+	}		
+	//  构建投资类型下拉	
+function initTzlxSelect(divid,existVal,width){
+	$.post($.app+"/jsjdbgds/selectTzlx",{
+},function(data) {
+	var str="";
+str+="<select class='tzlxselectpicker' name='tzlxid' id='tzlxid' onchange='tzlxChange(this)'>";
+str+="<option></option>";
+if(data){
+	for(var i=0;i<data.length;i++){
+		var tzlx=data[i];
+		if(tzlx.val==existVal){
+			str+=" <option selected='selected' value='"+tzlx.id+"' >"+tzlx.text+"</option>";
+	}else{
+		str+="<option value='"+tzlx.id+"'>"+tzlx.text+"</option>" ;
+		}
+	}
+}
+str+="</select>";
+$("#"+divid).empty();
+$("#"+divid).append(str);
+$('.tzlxselectpicker').selectpicker({
+		width:width
+	});
+tzlxChange();
+ratesub();
+}, "json");
+}
+	//  构建项目核准级别下拉	
+function initXmhzjbSelect(divid,existVal,width){
+	$.post($.app+"/jsjdbgds/selectXmhzjb",{
+},function(data) {
+	var str="";
+str+="<select class='xmhzjbselectpicker' name='xmhzjbid' id='xmhzjbid'>";
+str+="<option></option>";
+if(data){
+	for(var i=0;i<data.length;i++){
+		var xmhzjb=data[i];
+		if(xmhzjb.val==existVal){
+			str+=" <option selected='selected' value='"+xmhzjb.id+"' >"+xmhzjb.text+"</option>";
+		}else{
+			str+="<option value='"+xmhzjb.id+"'>"+xmhzjb.text+"</option>" ;
+		}
+	}
+}
+str+="</select>";
+$("#"+divid).empty();
+$("#"+divid).append(str);
+$('.xmhzjbselectpicker').selectpicker({
+		width:width
+	});
+}, "json");
+}
+	//  构建岸线审批级别下拉	
+function initAxspjbSelect(divid,existVal,width){
+	$.post($.app+"/jsjdbgds/selectAxspjb",{
+},function(data) {
+	var str="";
+	str+="<select class='axspjbselectpicker' name='axspjbid' id='axspjbid'>";
+	str+="<option></option>";
+	if(data){
+		for(var i=0;i<data.length;i++){
+			var axspjb=data[i];
+			if(axspjb.val==existVal){
+				str+=" <option selected='selected' value='"+axspjb.id+"' >"+axspjb.text+"</option>";
+			}else{
+				str+="<option value='"+axspjb.id+"'>"+axspjb.text+"</option>" ;
+			}
+		}
+	}
+	str+="</select>";
+	$("#"+divid).empty();
+	$("#"+divid).append(str);
+	$('.axspjbselectpicker').selectpicker({
+		width:width
+	});
+}, "json");
+}
+	
+				jsjdbgds.detail.initZyhbwfl=function(divid, existVal,bwytstr){
+					var flag = "2";
+//					var bwytstr = $('.bwytselectpicker').val()+"";
+if(bwytstr.indexOf("1804")>=0){
+	flag="1";
+}
+ $.post($.app + "/bw/selectZyhbwfl?flag="+flag, {
+     
+ }, function(data) {
+     if (data) {
+    	 var str = "";
+		str+="<select   class='zyhbwflselectpicker' name='zyhbwflid' id='zyhbwflid'>";
+		str+="<option></option>";
+			for(var i=0;i<data.length;i++){
+				var zyhbwfl = data[i];
+				if(zyhbwfl.id==existVal){
+					str+=" <option selected='selected' value='"+zyhbwfl.id+"' >"+zyhbwfl.text+"</option>";
+				}else{
+					str+=" <option value='"+zyhbwfl.id+"' >"+zyhbwfl.text+"</option>";
+				}
+			}
+		str+="</select>";
+		$("#"+divid).empty();
+		$("#"+divid).append(str);
+		
+		$('.zyhbwflselectpicker').selectpicker({
+			width:'80%'
+    		});
+     } else {
+    	
+     }
+ }, "json");
+};
+
+jsjdbgds.detail.initBwyt=function(divid, existVal){
+	 $.post($.app + "/bw/selectBwyt", {
+       
+   }, function(data) {
+       if (data) {
+       	var existValArr = existVal.split(",");
+  	 	var str = "";
+  		str+="<select multiple='multiple' onchange='ytsel()' class='bwytselectpicker' name='bwyt' id='bwyt' >";
+  		str+="<option></option>";
+  			for(var i=0;i<data.length;i++){
+  				var flag = false;
+  				var bwyt = data[i];
+  				for(var j = 0; j < existValArr.length; j++){
+  					if(bwyt.id==existValArr[j]){
+  						flag = true;
+      					str+=" <option selected='selected' value='"+bwyt.id+"' >"+bwyt.text+"</option>";
+      					break;
+      				} else {
+      					flag = false;
+      				}
+  				}
+  				if(!flag){
+  					str+=" <option value='"+bwyt.id+"' >"+bwyt.text+"</option>";
+  				}
+  			}
+  		str+="</select>";
+  		$("#"+divid).empty();
+  		$("#"+divid).append(str);
+  		
+  		$('.bwytselectpicker').selectpicker({
+  			width: '80%'
+      		});
+       } else {
+      	
+       }
+   }, "json");
+};				
+
+//构建所在地的下拉
+//参数说明依次,1(必须)存放下拉的div的id,2(非必须)下拉初始选中的值,没有传没有传空字符串,3(非必须)下拉change事件,根据需要添加4(必须)下拉框的长度
+//此下拉如果跟着form一起提交后台的话,对应的是szd属性,
+jsjdbgds.detail.initszdSelect=function(divid,existVal,changefunc,width,disable){
+	$.post($.app + "/selectSzd", {
+    
+}, function(data) {
+	var str = "";
+	if(changefunc!=null&&changefunc!=""){
+		if(disable!=null&&disable!=''){
+			str+="<select disabled   class='szdselectpicker' name='szdid' onchange='"+changefunc+"()' id='szdid'>";
+		}else{
+			str+="<select    class='szdselectpicker' name='szdid' onchange='"+changefunc+"()' id='szdid'>";
+		}
+	}else{
+		if(disable!=null&&disable!=''){
+			str+="<select  disabled class='szdselectpicker' name='szdid'  id='szdid'>";
+		}else{
+			str+="<select   class='szdselectpicker' name='szdid'  id='szdid'>";
+		}
+	}
+	str+="<option></option>";
+	if(data){
+		for(var i=0;i<data.length;i++){
+			var szd = data[i];
+			if(szd.val==existVal){
+				str+=" <option selected='selected' value='"+szd.id+"' >"+szd.text+"</option>";
+			}else{
+				str+=" <option value='"+szd.id+"' >"+szd.text+"</option>";
+			}
+		}
+	}
+	str+="</select>";
+	$("#"+divid).empty();
+	$("#"+divid).append(str);
+	$('.szdselectpicker').selectpicker({
+		width:width
+	});
+	
+}, "json");
+}
+
+//构建港口的下拉
+//参数说明依次,1(必须)存放下拉的div的id,2(非必须)下拉初始选中的值,没有传空字符串,3(非必须)参数,根据所在地过滤结果,一般级联需要4(非必须)下拉change事件5(必须)下拉框的长度
+//此下拉如果跟着form一起提交后台的话,对应的是szd属性,
+ jsjdbgds.detail.initgkSelect=function(divid,existVal,szd,changefunc,width,disable){
+	$.post($.app + "/selectGk", {
+      szd:szd
+  }, function(data) {
+  	var str = "";
+if(changefunc!=null&&changefunc!=""){
+	if(disable!=null&&disable!=''){
+		str+="<select disabled  class='gkselectpicker' name='szgkid' onchange='"+changefunc+"()' id='szgkid'>";
+	}else{
+		str+="<select   class='gkselectpicker' name='szgkid' onchange='"+changefunc+"()' id='szgkid'>";
+	}
+	
+}else{
+	if(disable!=null&&disable!=''){
+		str+="<select disabled class='gkselectpicker' name='szgkid'  id='szgkid'>";
+	}else{
+		str+="<select class='gkselectpicker' name='szgkid'  id='szgkid'>";
+	}
+}
+
+str+="<option></option>";
+if(data){
+	for(var i=0;i<data.length;i++){
+		var gk = data[i];
+		if(gk.id==existVal){
+			str+=" <option selected='selected' value='"+gk.id+"' >"+gk.gkmc+"</option>";
+		}else{
+			str+=" <option value='"+gk.id+"' >"+gk.gkmc+"</option>";
+		}
+	}
+}
+str+="</select>";
+$("#"+divid).empty();
+$("#"+divid).append(str);
+$('.gkselectpicker').selectpicker({
+	width:width
+});
+ //如果所在地选择为空,重置港区select;
+  }, "json");
+}
+
+//构建港区的下拉
+//参数说明依次,1(必须)存放下拉的div的id,2(非必须)下拉初始选中的值,没有传空字符串,3(非必须)参数,根据所在地过滤结果,一般级联需要4(非必须)下拉change事件5(必须)下拉框的长度
+//此下拉如果跟着form一起提交后台的话,对应的是szd属性,
+ jsjdbgds.detail.initgqSelect=function(divid,existVal,szd,gk,changefunc,width,disable){
+	$.post($.app + "/selectGq", {
+    szd:szd,
+    szgk:gk
+}, function(data) {
+	var str = "";
+	if(changefunc!=null&&changefunc!=""){
+		if(disable!=null&&disable!=''){
+			str+="<select disabled  class='gqselectpicker' name='szgqid' onchange='"+changefunc+"()' id='szgqid'>";
+		}else{
+			str+="<select   class='gqselectpicker' name='szgqid' onchange='"+changefunc+"()' id='szgqid'>";
+		}
+	}else{
+		if(disable!=null&&disable!=''){
+			str+="<select  disabled class='gqselectpicker' name='szgqid'  id='szgqid'>";
+		}else{
+			str+="<select   class='gqselectpicker' name='szgqid'  id='szgqid'>";
+		}
+	}
+	
+	str+="<option></option>";
+	if(data){
+		for(var i=0;i<data.length;i++){
+			var gq = data[i];
+			if(gq.id==existVal){
+				str+=" <option selected='selected' value='"+gq.id+"' >"+gq.gqmc+"</option>";
+			}else{
+				str+=" <option value='"+gq.id+"' >"+gq.gqmc+"</option>";
+			}
+		}
+	}
+	str+="</select>";
+	$("#"+divid).empty();
+	$("#"+divid).append(str);
+	$('.gqselectpicker').selectpicker({
+		width:width
+	});
+}, "json");
+}
+ 
+ 
+ 
+ jsjdbgds.detail.audit=function(auditpass,id){
+	 if(auditpass=="Y" &&jsjdbgds.detail.taskKey != 'ldpz' && jsjdbgds.detail.hqflag  == 'true'){
+		 if(isEmpty($('#userids').val())){
+			 $.alert({
+	       		    title: '提示',
+	       		    content: "请选择人员办理!!!",
+	       		    confirm: function(){
+	       		    	$(".btn").attr("disabled",false);
+	       		    }
+	           	});
+			 return false;
+		 }
+	 }
+	//附件
+	var accidName= document.getElementsByName("accid");
+    var accids = [];
+    for (i=0; i<accidName.length; i++){  
+    	accids.push(accidName[i].value)
+    }
+    $('#accids').val(accids);
+	$(".btn").attr("disabled",true);
+	var opflag = $('#opflag').val();
+	var shyj = $('#yj').val();
+	var audit;
+	if(auditpass=="Y"){
+		audit=true;
+	}else{
+		audit=false;
+	}
+	$.post($.app + "/jsjdbgds/audit", {
+		id:id,
+        shyj:shyj,
+        flag:audit,
+        userids:$('#userids').val(),
+        accid:$('#accids').val()
+    }, function(data) {
+    	if (data.success) {
+           	$.alert({
+       		    title: '提示',
+       		    content: '操作成功',
+       		    confirm: function(){
+       		    	jsjdbgds.detail.back();
+       		    }
+           	});
+       }else {
+           	$.alert({
+       		    title: '提示',
+       		    content: data.message,
+       		    confirm: function(){
+       		    	$(".btn").attr("disabled",false);
+       		    }
+           	});
+       }
+    	
+    }, "json");
+};
+
+jsjdbgds.detail.submitFile = function(){
+	$('#addform').form('submit',{
+		url : $.app + '/jsjdbgds/saveFile',
+		onSubmit : function() {},
+		success : function(data, status) {
+			if (data) {
+				data = data.replace("<audio controls=\"controls\" style=\"display: none;\"></audio>","");
+				data = $.parseJSON(data);
+			}
+			if (data.success) {
+				var len = $('#tableId tr').length;
+				var accContect = data.attrs.acc.fjmc;
+				var fjid = data.attrs.acc.fjid;
+				var accid = data.attrs.acc.id;
+				var str = "<tr align='center'>";
+				str =str +"<td style='width:40%'>"+ "<input id='accid' value='"
+						+ accid
+						+ "' name='accid' type='hidden'>"
+						+ "<a class='main_title' href='/jsjy/accessory/download?id="
+						+ fjid + "'> " + accContect + "</a>" +"</td>";
+				
+				str =str+"<td style='width:15%'>"+ '<a class="btn btn-default btn-xs" href="#" onclick="jsjdbgds.detail.delFj(\''
+						+ accid
+						+ '\','
+						+ '$(this)'
+						+ ')">删除</a>' +"</td></tr>";
+				$('#tableId').append(str);
+			} else {
+				$.messager.showError(data.message);
+			}
+		}
+	});
+}
+
+//删除accid 附件关联ID,id 是第几行附件
+jsjdbgds.detail.delFj = function(accid, tr) {
+	$.confirm({
+		title : '确认框',
+		content : '确认删除吗',
+		confirm : function() {
+			$.post($.app + "/jsjdbgds/delFile", {
+				accid : accid
+			}, function(data) {
+				if (data.success) {
+					$(tr).parent().parent().remove();
+				} else {
+					$.alert({
+						title : '提示',
+						content : data.message,
+						confirm : function() {
+						}
+					});
+				}
+			}, "json");
+		},
+		cancel : function() {
+		}
+	});
+}
+
+
+
+jsjdbgds.detail.submitAudit=function(){
+	 $(".btn").attr("disabled",true);
+	 $.ajax({
+       url:$.app+"/jsjdbgds/submitAudit",
+       data:$("#addform").serialize(),
+       type:"post",
+       dataType:"json",
+       success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jsjdbgds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+  }); 
+}
+
+function pageinfo4(){
+    $("#pagesize").change(function() {
+        $("#pagejump").val(1);
+        jsjdbgds.detail.xmxxxz();
+    });
+    $("#pagesize").val($("#pagesize").attr("num"));
+    $("#pagefirst").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(1);
+            jsjdbgds.detail.xmxxxz();
+        }
+    });
+    $("#pageprev").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(parseInt($("#pagecur").val()) - 1);
+            jsjdbgds.detail.xmxxxz();
+        }
+    });
+    $("#pagejump").keydown(
+            function(event, p) {
+                if (event.keyCode == 13) {
+                    if ($.isNumeric($("#pagejump").val()) && (parseInt($("#pagejump").val()) >= 1)
+                            && (parseInt($("#pagejump").val()) <= parseInt($("#pagetotal").val()))) {
+                    }
+                    else {
+                    	$.alert({
+                		    title: '提示',
+                		    content: '请输入有效数字'
+                	 });
+                        return false;
+                    }
+                    jsjdbgds.detail.xmxxxz();
+                }
+            });
+    $("#pagenext").click(function() {
+        if(parseInt($("#pagetotal").val())<=1){
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到最后一页'
+    	 });
+            return;
+        }
+        if ($("#pagecur").val() == $("#pagetotal").val()) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到最后一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(parseInt($("#pagecur").val()) + 1);
+            jsjdbgds.detail.xmxxxz();
+        }
+    });
+    $("#pagelast").click(function() {
+        if(parseInt($("#pagetotal").val())<=1){
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到最后一页'
+    	 });
+            return;
+        }
+        if ($("#pagecur").val() == $("#pagetotal").val()) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到最后一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val($("#pagetotal").val());
+            jsjdbgds.detail.xmxxxz();
+        }
+    });
+    
+}
+
+
+jsjdbgds.detail.xmxxxz=function(){
+	 pageinfo4();
+	 $.ajax({
+		 url:$.app+"/jsjdbgds/xmxxxz",
+		 type:"post",
+		 dataType:"json",
+		 data:{
+			 xmcx:$('#xmcx').val(),	 
+			 page:$('#pagejump').val()	 
+		 },
+		 success:function(data){
+			 if(data){
+					var str="";
+					for(var i=0;i<data.attrs.list.length;i++){
+						var xmxx = data.attrs.list[i];
+						str+="<tr class='tr_bg'>";
+						str+="<td>"+(i+1)+"</td>";
+						str+="<td>"+xmxx.xmmc+"</td>";
+						if(xmxx.szgk!=null){
+						str+="<td>"+xmxx.szgk.gkmc+"</td>";
+						}else{
+						str+="<td></td>";
+						}
+						if(xmxx.szgq!=null){
+							str+="<td>"+xmxx.szgq.gqmc+"</td>";
+						}else{
+						str+="<td></td>";
+						}
+						if(xmxx.xmfr!=null){
+						str+="<td>"+xmxx.xmfr+"</td>";
+						}else{
+						str+="<td></td>";	
+						}
+						if(xmxx.jsdd!=null){
+						str+="<td>"+xmxx.jsdd+"</td>";
+						}else{
+						str+="<td></td>";	
+						}
+						if(xmxx.xmlx!=null){
+						str+="<td>"+xmxx.xmlx.text+"</td>";
+						}else{
+						str+="<td></td>";
+						}
+						str+="<td >" +
+						"<a class=\"btn btn-default btn-xs\" href=\"#\" onclick=\"jsjdbgds.detail.choose('"+xmxx.id+"')\">"+
+						"<i class='glyphicon glyphicon-wrench'></i>选择</a>"+
+									          "</td>";
+						str+="</tr>";
+					}
+					$("#xmxxtb").html("");
+		      	    $("#xmxxtb").append(str);
+		      		$("#pagejump").val(data.attrs.page);
+		            $("#gongpage").html(data.attrs.gongpage);
+		            $("#nowshow").html(data.attrs.nowshow);
+		        	$("#gongsize").html(data.attrs.gongsize);
+		            $("#pagecur").val(data.attrs.page);
+		        	$("#pagetotal").val(data.attrs.totalpage);
+		        	$("#pagesort").val(data.attrs.sort);
+		        	$("#pageorder").val(data.attrs.order);
+		        	$('.theme-popover-mask-tc').fadeIn(100);
+		      		$('.theme-popover-tc').slideDown(0);
+				}else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    }
+		           	});	 
+		 }
+		 }
+	    });
+	}
+
+jsjdbgds.detail.choose=function(id){
+	$.post($.app + "/jsjdbgds/isExit", {
+        id : id
+    }, function(data) {
+        if (data.success) {
+        	location.href=$.app+"/jsjdbgds/choose?id="+id;
+        } else {
+       	 $.alert({
+    		    title: '提示',
+    		    content: data.message,
+    		    confirm: function(){
+    		    	 $(".btn").attr("disabled",false);
+    		    }
+    	 });
+        }
+    }, "json");
+	
+}
+
+
+jsjdbgds.detail.saveTbzt=function(data){
+	 $(".btn").attr("disabled",true);
+	 $.post($.app + "/jsjdbgds/saveTbzt", {
+         id : data
+     }, function(data) {
+         if (data.success) {
+        	 $.alert({
+        		    title: '提示',
+        		    content: '转报省级成功',
+        		    confirm: function(){
+        		    	location.href=$.app+'/jsjdbgds/main';
+        		    }
+        	 });
+         } else {
+        	 $.alert({
+     		    title: '提示',
+     		    content: data.message,
+     		    confirm: function(){
+     		    	 $(".btn").attr("disabled",false);
+     		    }
+     	 });
+         }
+     }, "json");
+}

+ 106 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdbg/jsjdbgdsmain.js

@@ -0,0 +1,106 @@
+
+$.namespace("jsjdbgds.main");
+
+jsjdbgds.main.init=function(){
+	//把form传入,构造翻页控件
+	pageinfo($("#jsjdbgdsform"));	
+}
+
+jsjdbgds.main.search=function(){
+	$('#pagejump').val(1);
+	$("#jsjdbgdsform").submit();
+}
+
+
+jsjdbgds.main.del=function(data){
+		$.confirm({
+		    title: '确认框',
+		    content: '确认删除吗',
+		    confirm: function(){
+		    	 $.post($.app + "/jsjdbgds/delete", {
+	                 id : data
+	             }, function(data) {
+	                 if (data.success) {
+	                	 $.alert({
+	                		    title: '提示',
+	                		    content: '删除成功',
+	                		    confirm: function(){
+	                		    $("#jsjdbgdsform").submit();
+	                		    }
+	                	 });
+	                 } else {
+	                	 $.alert({
+	             		    title: '提示',
+	             		    content: data.message,
+	             		    confirm: function(){
+	             		        
+	             		    }
+	             	 });
+	                 }
+	             }, "json");
+		    },
+		    cancel: function(){
+		        
+		    }
+		});
+}
+
+jsjdbgds.main.edit=function(data){
+	location.href=$.app+"/jsjdbgds/edit?id="+data;
+}
+
+jsjdbgds.main.view=function(data){
+	location.href=$.app+"/jsjdbgds/view?id="+data;
+}
+
+/**
+ * 弹出新增页面
+ * */
+jsjdbgds.main.add=function(){
+	location.href=$.app+"/jsjdbgds/add";
+}
+
+jsjdbgds.main.viewXmjd = function(data){
+	location.href=$.app+"/jsjdgl/view?id="+data;
+}
+
+jsjdbgds.main.viewNdjh = function(data){
+	location.href=$.app+"/tzjhgl/main?xmid="+data;
+
+}
+
+jsjdbgds.main.initSfyzjbzsel=function(divid,existVal,width){
+	 $.post($.app + "/tzjhgl/selectSf", {
+    
+}, function(data) {
+    if (data) {
+   	 var str = "";
+   		str+="<select   class='sfyzjbzselectpicker' name='sfyzjbzid'  >";
+   		str+="<option></option>";
+   			for(var i=0;i<data.length;i++){
+   				var sfyzjbz = data[i];
+   				if(sfyzjbz.id==existVal){
+   					str+=" <option selected='selected' value='"+sfyzjbz.id+"' >"+sfyzjbz.text+"</option>";
+   				}else{
+   					str+=" <option value='"+sfyzjbz.id+"' >"+sfyzjbz.text+"</option>";
+   				}
+   			}
+   		str+="</select>";
+   		$("#"+divid).empty();
+   		$("#"+divid).append(str);
+   		$('.sfyzjbzselectpicker').selectpicker({
+   			width:width
+   		});
+    } else {
+   	
+    }
+}, "json");
+};
+
+jsjdbgds.main.banli = function(data) {
+	location.href = $.app + "/jsjdbgds/view?flag=audit&id=" + data;
+}
+
+jsjdbgds.main.back=function(data){
+	location.href = $.app + "/jsjdbgds/edit?flag=th&id=" + data;
+}

+ 196 - 93
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgCtl.java

@@ -42,7 +42,6 @@ import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgfjEntity;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgService;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgfjService;
 import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgVo;
-import com.xt.jygl.gkjsgl.jsjdcbsj.entity.JsjdcbsjEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmbwglbEntity;
@@ -50,8 +49,11 @@ import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmbwglbService;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxglService;
 import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 import com.xt.jygl.workflow.entity.TaskInfoEntity;
 import com.xt.jygl.workflow.service.TaskInfoService;
 import com.xt.jygl.workflow.vo.TaskInfoVo;
@@ -91,6 +93,9 @@ public class JsjdbgCtl extends BaseWebCtl {
 	private XmxxglService xmxxglService;
 	@Autowired
 	private XmbwglbService xmbwglbService;
+	@Autowired
+	private BwService bwService;
+
 	@RequestMapping(value = "/main")
 	@RequiresPermissions("jsjdbg:main")
 	public String main(SimplePageRequest page, Model model, final HttpServletRequest request, final String xmmc, final String szgkid, final String szgqid, String menuid, final String xmhzjbid, final String xmfr, final String szdid, final String sfyzjbzid) throws JsonProcessingException {
@@ -301,48 +306,9 @@ public class JsjdbgCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/submit")
 	@ResponseBody
-	public WebJsonResult submit(Model model, JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+	public WebJsonResult submit(Model model, JsjdbgEntity code, String userids, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
 		WebJsonResult wr = success();
-		if (StringUtils.isEmpty(code.getXmmc())) {
-			wr.setSuccess(false);
-			wr.setMessage("请输入项目名称");
-			return wr;
-		}
-		if (StringUtils.isEmpty(ssjyrid)) {
-			wr.setSuccess(false);
-			wr.setMessage("请选择经营人");
-			return wr;
-		}
-		if (StringUtils.isEmpty(szdid)) {
-			wr.setSuccess(false);
-			wr.setMessage("请选择所在地");
-			return wr;
-		}
-		if (StringUtils.isEmpty(szgkid)) {
-			wr.setSuccess(false);
-			wr.setMessage("请选择所港口");
-			return wr;
-		}
-		if (StringUtils.isEmpty(szgqid)) {
-			wr.setSuccess(false);
-			wr.setMessage("请选择所港区");
-			return wr;
-		}
-		if (StringUtils.isEmpty(code.getXmfr())) {
-			wr.setSuccess(false);
-			wr.setMessage("请输入项目法人");
-			return wr;
-		}
-		if (StringUtils.isEmpty(xmlxid)) {
-			wr.setSuccess(false);
-			wr.setMessage("请选择项目类型");
-			return wr;
-		}
-		if (StringUtils.isEmpty(code.getJsdd())) {
-			wr.setSuccess(false);
-			wr.setMessage("请输入建设地点");
-			return wr;
-		}
+
 		try {
 			if (!StringUtils.isEmpty(code.getId())) {
 				// 修改
@@ -410,7 +376,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 				} else {
 					jsjdbg.setAxspjb(null);
 				}
-				jsjdbgService.submit(jsjdbg);
+				jsjdbgService.submit(jsjdbg, userids);
 			} else {
 				if (!StringUtils.isEmpty(ssjyrid)) {
 					GkjyrEntity jyr = new GkjyrEntity();
@@ -458,10 +424,10 @@ public class JsjdbgCtl extends BaseWebCtl {
 					axspjbdx.setId(axspjbid);
 					code.setAxspjb(axspjbdx);
 				}
-				jsjdbgService.submit(code);
+				jsjdbgService.submit(code, userids);
 			}
 			// rtx提醒
-			rtxSend("", Constants.ROLE_LD, "你有一条建设进度初步设计变更待办事务,请及时处理!");
+			rtxSend(userids, "", "你有一条建设进度初步设计变更待办事务,请及时处理!");
 		} catch (Exception e) {
 			wr.setSuccess(false);
 			wr.setMessage("操作失败!");
@@ -472,7 +438,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/submitAudit")
 	@ResponseBody
-	public WebJsonResult submitAudit(JsjdbgEntity code,String sylxid,String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+	public WebJsonResult submitAudit(JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
 		WebJsonResult wr = success();
 		JsjdbgEntity jsjdbg = new JsjdbgEntity();
 		try {
@@ -768,19 +734,96 @@ public class JsjdbgCtl extends BaseWebCtl {
 			model.addAttribute("xzqhname", code.getText());
 		}
 		String bwids = "";
-		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getId());
+		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getXmid());
 		if (bwlist != null && bwlist.size() > 0) {
 			model.addAttribute("bwgs", bwlist.size());
 			for (XmbwglbEntity xmbw : bwlist) {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		model.addAttribute("record", vo);
 		model.addAttribute("jyr", entity.getJyrid());
+		model.addAttribute("roleCode", Constants.ROLE_LD);
+		model.addAttribute("currName", "领导办理");
+		if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			model.addAttribute("ssFlag", "1");
+		} else {
+			model.addAttribute("ssFlag", "0");
+		}
 		return "gkjsgl/jsjdbg/jsjdbgedit";
 	}
 
+	public void getbwlist(Model model, String bwids) {
+		if (!StringUtils.isEmpty(bwids)) {
+			List<BwVo> slist = new ArrayList<BwVo>();
+			String[] bwlists = bwids.split(",");
+			for (String bw : bwlists) {
+				BwEntity bwentity = bwService.findOne(bw);
+				BwVo bwvo = new BwVo();
+				if (bwentity != null) {
+					BeanUtils.copyProperties(bwentity, bwvo);
+					bwvo.setSzdzw(bwentity.getSzd() != null ? bwentity.getSzd().getText() : "");
+					bwvo.setSzgkzw(bwentity.getSzgk() != null ? bwentity.getSzgk().getGkmc() : "");
+					bwvo.setSzgqzw(bwentity.getSzgq() != null ? bwentity.getSzgq().getGqmc() : "");
+					bwvo.setSsjyrzw(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getGkjyr() : "");
+					bwvo.setSsmtzw(bwentity.getSsmt() != null ? bwentity.getSsmt().getMtmc() : "");
+					bwvo.setBwsxzw(bwentity.getBwsx() != null ? bwentity.getBwsx().getText() : "");
+					bwvo.setFwlxzw(bwentity.getFwlx() != null ? bwentity.getFwlx().getText() : "");
+					bwvo.setWxpbwzw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getText() : "");
+					bwvo.setZyhbwflzw(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getText() : "");
+					bwvo.setSffzzw(bwentity.getSffz() != null ? bwentity.getSffz().getText() : "");
+					bwvo.setSfdwkfzw(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getText() : "");
+					bwvo.setBwszsxzw(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getText() : "");
+					bwvo.setSclxzw(bwentity.getSclx() != null ? bwentity.getSclx().getText() : "");
+					bwvo.setJgxszw(bwentity.getJgxs() != null ? bwentity.getJgxs().getText() : "");
+					bwvo.setKbcblxzw(bwentity.getKbcblx() != null ? bwentity.getKbcblx().getText() : "");
+
+					bwvo.setSszyq(bwentity.getSszyq() != null ? bwentity.getSszyq().getId() : "");
+					bwvo.setSszyqzw(bwentity.getSszyq() != null ? bwentity.getSszyq().getZyqmc() : "");
+					bwvo.setZls(bwentity.getZls() != null ? bwentity.getZls().getId() : "");
+					bwvo.setZlszw(bwentity.getZls() != null ? bwentity.getZls().getText() : "");
+					bwvo.setXp(bwentity.getXp() != null ? bwentity.getXp().getId() : "");
+					bwvo.setXpzw(bwentity.getXp() != null ? bwentity.getXp().getText() : "");
+					bwvo.setBwszhd(bwentity.getBwszhd() != null ? bwentity.getBwszhd().getText() : "");
+
+					if (bwentity.getBwyt() != null) {
+						String bwytzw = "";
+						String[] s = bwentity.getBwyt().split(",");
+
+						for (int i = 0; i < s.length; i++) {
+							CodeEntity ce = securityMgr.codeService().findOne(s[i]);
+							if (ce != null) {
+								bwytzw += ce.getText();
+								if (i != s.length - 1) {
+									bwytzw += ",";
+								}
+							}
+						}
+						bwvo.setBwytzw(bwytzw);
+					}
+					bwvo.setSzd(bwentity.getSzd() != null ? bwentity.getSzd().getId() : "");
+					bwvo.setSzgk(bwentity.getSzgk() != null ? bwentity.getSzgk().getId() : "");
+					bwvo.setSzgq(bwentity.getSzgq() != null ? bwentity.getSzgq().getId() : "");
+					bwvo.setSsjyr(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getId() : "");
+					bwvo.setSsmt(bwentity.getSsmt() != null ? bwentity.getSsmt().getId() : "");
+					bwvo.setBwsx(bwentity.getBwsx() != null ? bwentity.getBwsx().getId() : "");
+					bwvo.setFwlx(bwentity.getFwlx() != null ? bwentity.getFwlx().getId() : "");
+					bwvo.setWxpbw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getId() : "");
+					bwvo.setZyhbwfl(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getId() : "");
+					bwvo.setSffz(bwentity.getSffz() != null ? bwentity.getSffz().getId() : "");
+					bwvo.setSfdwkf(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getId() : "");
+					bwvo.setBwszsx(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getId() : "");
+					bwvo.setSclx(bwentity.getSclx() != null ? bwentity.getSclx().getId() : "");
+					bwvo.setJgxs(bwentity.getJgxs() != null ? bwentity.getJgxs().getId() : "");
+					slist.add(bwvo);
+				}
+			}
+			model.addAttribute("bwlist", slist);
+		}
+	}
+	
 	@RequestMapping(value = "/view")
 	public String view(Model model, String id, String flag, String opflag) {
 		model.addAttribute("flag", flag);
@@ -822,18 +865,68 @@ public class JsjdbgCtl extends BaseWebCtl {
 		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
 		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
 
-		List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
-		if (lists != null & lists.size() > 0) {
-			TaskInfoEntity taskinfo = lists.get(0);
-			if ("jbrbl".equals(taskinfo.getTaskKey())) {
-				opflag = "5";
+		String roleCode = "";
+		String currName = "";
+		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
+		if (taskinfo != null) {
+			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())) {
-				opflag = "9";
+				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;
 			}
+			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) {
+					for (TaskInfoEntity task : tasklist) {
+						if (!task.getRunner().getId().equals(securityMgr.getCurrUser().getId())) {
+							if ("true".equals(task.getAuditResult())) {
+
+							} else {
+								hqflag = false;
+							}
+						}
+					}
+
+				}
+			}
+			model.addAttribute("hqflag", hqflag);
 			model.addAttribute("taskKey", taskinfo.getTaskKey());
-			model.addAttribute("opflag", opflag);
 		}
 
+		model.addAttribute("currName", currName);
+		model.addAttribute("roleCode", roleCode);
+		model.addAttribute("opflag", opflag);
+
 		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
 		List<TaskInfoVo> volist = new ArrayList<TaskInfoVo>();
 		for (int i = 0; i < slist.size(); i++) {
@@ -881,15 +974,16 @@ public class JsjdbgCtl extends BaseWebCtl {
 			model.addAttribute("xzqhname", code.getText());
 		}
 		String bwids = "";
-		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getId());
+		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getXmid());
 		if (bwlist != null && bwlist.size() > 0) {
 			model.addAttribute("bwgs", bwlist.size());
 			for (XmbwglbEntity xmbw : bwlist) {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
-		
+
 		model.addAttribute("record", vo);
 		model.addAttribute("jyr", entity.getJyrid());
 		return "gkjsgl/jsjdbg/jsjdbgview";
@@ -953,39 +1047,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 	public WebJsonResult audit(String shyj, String id, boolean flag, String accid, String userids) {
 		WebJsonResult wr = success();
 		JsjdbgEntity entity = jsjdbgService.findOne(id);
-		String role = "";
-		try {
-			List<TaskInfoEntity> list = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEY);
-			if (list != null & list.size() > 0) {
-				TaskInfoEntity taskinfo = list.get(0);
-				if ("ldbl".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_FGLD;
-				} else if ("fgldbl".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_KS;
-				} else if ("ksbl".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_JBR;
-				} else if ("jbrbl".equals(taskinfo.getTaskKey())) {
-
-				} else if ("kscs".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_FGLD;
-				} else if ("fgldcs".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_LD;
-				} else if ("ldcs".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_ZJPS;
-				} else if ("zjps".equals(taskinfo.getTaskKey())) {
-
-				} else if ("cnxk".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_FGLD;
-				} else if ("fgldsh".equals(taskinfo.getTaskKey())) {
-					role = Constants.ROLE_LD;
-				}
-			}
 
-		} catch (Exception e) {
-			wr.setSuccess(false);
-			wr.setMessage("操作失败!");
-			e.printStackTrace();
-		}
 		if (!StringUtils.isEmpty(accid)) {
 			// 关联附件
 			String[] ssids = accid.split(",");
@@ -1001,6 +1063,27 @@ public class JsjdbgCtl extends BaseWebCtl {
 			if (jsjdbgService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
 				jsjdbgService.claim(id, SecUtils.getCurrUser().getId().toString());
 			}
+			// 获取流程最新步骤
+			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdbgEntity.PROCESS_DEFINITION_KEY);
+			// 退回用户处理
+			if (!flag) {
+				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
+				for (int i = slist.size() - 1; i > 0; i--) {
+					TaskInfoEntity taskentity = slist.get(i);
+					if ("zjps".equals(taskentity.getTaskKey()) && "2".equals(taskentity.getState())) {
+						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 = jsjdbgService.changeAudit(shyj, entity, flag, userids);
 			if (flowflag) {
@@ -1009,13 +1092,33 @@ public class JsjdbgCtl extends BaseWebCtl {
 				} else {
 					entity.setFlowstatus("1");
 				}
-				jsjdbgService.save(entity);
+				entity.setSftb(Constants.YES);
+				entity = jsjdbgService.save(entity);
+				// 如果是省级审核通过或不通过后同步到市级
+				try {
+					List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsid(id);
+					String fjid = "";
+					if (fjlist != null && fjlist.size() > 0) {
+						for (JsjdbgfjEntity fj : fjlist) {
+							fjid = fjid + fj.getFjid() + ",";
+						}
+						fjid = fjid.substring(0, fjid.length() - 1);
+					}
+
+					String url = "/GK_OPERATION_JSJY_JSJDBG_ONE_PC?condition=ID=" + entity.getId() + ";FJID=" + fjid;
+					boolean tbflag = getTbStatus(url);
+					if (tbflag) {
+						entity.setTbzt("Y");
+						jsjdbgService.save(entity);
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+
 			} else {
 				// rtx提醒
 				if (!StringUtils.isEmpty(userids)) {
 					rtxSend(userids, "", "你有一条建设进度初步设计变更待办事务,请及时处理!");
-				} else {
-					rtxSend("", role, "你有一条建设进度初步设计变更待办事务,请及时处理!");
 				}
 			}
 		} catch (Exception e) {
@@ -1079,7 +1182,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 		}
 		return wr;
 	}
-	
+
 	@RequestMapping(value = "/choose")
 	public String choose(Model model, String id) {
 		XmxxglEntity entity = xmxxglService.findOne(id);
@@ -1124,7 +1227,7 @@ public class JsjdbgCtl extends BaseWebCtl {
 			CodeEntity code = securityMgr.codeService().findOne(codeid);
 			model.addAttribute("xzqhname", code.getText());
 		}
-		
+
 		String bwids = "";
 		List<XmbwglbEntity> list = xmbwglbService.findByXmid(entity.getId());
 		if (list != null && list.size() > 0) {

+ 1266 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgdsCtl.java

@@ -0,0 +1,1266 @@
+package com.xt.jygl.gkjsgl.jsjdbg.ctl;
+
+import java.io.File;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import javax.persistence.criteria.Subquery;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+
+import cache.CacheSearchCondition;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.xt.jygl.accessory.entity.AccessoryEntity;
+import com.xt.jygl.accessory.service.AccessoryService;
+import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gk.service.GkService;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgEntity;
+import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgfjEntity;
+import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgdsService;
+import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgfjService;
+import com.xt.jygl.gkjsgl.jsjdbg.vo.JsjdbgVo;
+import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
+import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
+import com.xt.jygl.gkjsgl.xmxxgl.entity.XmbwglbEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.service.XmbwglbService;
+import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxglService;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
+import com.xt.jygl.workflow.entity.TaskInfoEntity;
+import com.xt.jygl.workflow.service.TaskInfoService;
+import com.xt.jygl.workflow.vo.TaskInfoVo;
+import com.xtframe.core.base.ctl.WebJsonResult;
+import com.xtframe.core.support.SecurityMgr;
+import com.xtframe.sec.code.entity.CodeEntity;
+import com.xtframe.sec.common.BaseEntity;
+import com.xtframe.sec.common.QueryService;
+import com.xtframe.sec.common.SimplePageRequest;
+import com.xtframe.sec.user.entity.UserEntity;
+import com.xtframe.sec.utils.SecUtils;
+import com.xtframe.util.StringUtils;
+
+@Controller
+@RequestMapping("/jsjdbgds")
+public class JsjdbgdsCtl extends BaseWebCtl {
+	@Autowired
+	private SecurityMgr securityMgr;
+	@Autowired
+	private QueryService query;
+	@Autowired
+	private JsjdbgdsService jsjdbgdsService;
+	@Autowired
+	private AccessoryService accessoryService;
+	@Autowired
+	private GkjyrService gkjyrService;
+	@Autowired
+	protected TaskInfoService taskInfoService;
+	@Autowired
+	private TzjhglService tzjhglService;
+	@Autowired
+	private GkService gkService;
+	@Autowired
+	private JsjdbgfjService jsjdbgfjService;
+	@Autowired
+	private XmxxglService xmxxglService;
+	@Autowired
+	private XmbwglbService xmbwglbService;
+	@Autowired
+	private BwService bwService;
+
+	@RequestMapping(value = "/main")
+	public String main(SimplePageRequest page, Model model, final HttpServletRequest request, final String xmmc, final String szgkid, final String szgqid, String menuid, final String xmhzjbid, final String xmfr, final String szdid, final String sfyzjbzid) throws JsonProcessingException {
+
+		final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request, "xmxxgl");
+
+		Specification<JsjdbgEntity> spec = new Specification<JsjdbgEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<JsjdbgEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(xmmc)) {
+					list.add(cb.like(root.get("xmmc").as(String.class), "%" + xmmc + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null, "xmmc");
+				}
+				if (StringUtils.isNotEmpty(xmfr)) {
+					list.add(cb.like(root.get("xmfr").as(String.class), "%" + xmfr + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, null, "xmfr");
+				}
+				if (StringUtils.isNotEmpty(xmhzjbid)) {
+					list.add(cb.like(root.get("xmhzjb").get("id").as(String.class), "%" + xmhzjbid + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "xmhzjb", "xmhzjbid");
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szd", "szdid");
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szgk", "szgkid");
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				} else if (isGET(request)) {
+					CacheSearchCondition.predicateList(list, cacheSCmap, root, cb, "id", "szgq", "szgqid");
+				}
+				if (securityMgr.getCurrUser().getSfjyr().getText().equals("是")) {
+					list.add(cb.like(root.get("jyrid").get("id").as(String.class), "%" + securityMgr.getCurrUser().getSsjyr().getId() + "%"));
+				}
+
+				Subquery<TzjhglEntity> subquery = query.subquery(TzjhglEntity.class);
+				Root<TzjhglEntity> dpRoot = subquery.from(TzjhglEntity.class);
+				subquery.select(dpRoot);
+				List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(sfyzjbzid)) {
+					subQueryPredicates.add(cb.equal(dpRoot.get("xmid").get("id").as(String.class), root.get("id").as(String.class)));
+					if (sfyzjbzid.equals("201")) {
+						subQueryPredicates.add(cb.equal(dpRoot.get("sfyzjbz").get("id").as(String.class), sfyzjbzid));
+						subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+						list.add(cb.exists(subquery));
+					} else {
+						subQueryPredicates.add(cb.equal(dpRoot.get("sfyzjbz").get("id").as(String.class), "201"));
+						subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+						list.add(cb.exists(subquery).not());
+					}
+				} else if (isGET(request)) {
+					subQueryPredicates.add(cb.equal(dpRoot.get("xmid").get("id").as(String.class), root.get("id").as(String.class)));
+					Object val = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "sfyzjbzid");
+					if (("201").equals(val) && val != "") {
+						subQueryPredicates.add(cb.equal(dpRoot.get("sfyzjbz").get("id").as(String.class), val));
+						subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+						list.add(cb.exists(subquery));
+					} else if (("202").equals(val) && val != "") {
+						subQueryPredicates.add(cb.equal(dpRoot.get("sfyzjbz").get("id").as(String.class), val));
+						subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+						list.add(cb.exists(subquery));
+					}
+
+				}
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+
+		if (page.getPage() < 1) {
+			Object xmxxpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmxxpage");
+			if (StringUtils.isEmpty(xmxxpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(xmxxpage))) {
+				xmxxpage = "1";
+			}
+			page.setPage(Integer.valueOf(String.valueOf(xmxxpage)));
+		}
+
+		page.setSort("createDateTime");
+		page.setOrder("desc");
+		Page<JsjdbgEntity> list = query.findAll(spec, toPageRequest(page), JsjdbgEntity.class);
+		List<JsjdbgVo> voList = new ArrayList<JsjdbgVo>();
+		for (JsjdbgEntity entity : list) {
+			JsjdbgVo vo = new JsjdbgVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				if (entity.getRecordStatus() != 9) {
+					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId(), JsjdbgEntity.PROCESS_DEFINITION_KEYDS);
+					if (lists != null & lists.size() > 0) {
+						TaskInfoEntity taskinfo = lists.get(0);
+						vo.setCurrentname(taskinfo.getCurrName());
+						if ((jsjdbgdsService.getTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) || jsjdbgdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) {
+							if ("申请".equals(taskinfo.getCurrName())) {
+								vo.setTaskState("TH");
+							} else {
+								vo.setTaskState(Constants.IS_MY_TASK);
+							}
+						}
+					} else {
+						if ("1".equals(entity.getFlowstatus())) {
+							vo.setCurrentname("退回地市");
+						} else if ("2".equals(entity.getFlowstatus())) {
+							vo.setCurrentname("完成");
+						}
+					}
+				} else if (entity.getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED) {
+					vo.setCurrentname("完成");
+				}
+				vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
+				vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
+				vo.setXmhzjbzw(entity.getXmhzjb() != null ? entity.getXmhzjb().getText() : "");
+				vo.setAxspjbzw(entity.getAxspjb() != null ? entity.getAxspjb().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				if (entity.getJyrid() != null) {
+					vo.setSzddzw(entity.getJyrid().getSzd() != null ? entity.getJyrid().getSzd().getText() : "");
+					vo.setSzd(entity.getJyrid().getSzd() != null ? entity.getJyrid().getSzd().getId() : "");
+					model.addAttribute("szddzw", vo.getSzddzw());
+					model.addAttribute("szd", vo.getSzd());
+				}
+
+				vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
+				vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
+				vo.setXmhzjb(entity.getXmhzjb() != null ? entity.getXmhzjb().getId() : "");
+				vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				if (entity.getRecordStatus() == 8) {
+					vo.setShowjsjd("Y");
+				} else {
+					vo.setShowjsjd("N");
+				}
+				List<TaskInfoEntity> listtask = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId().toString(), JsjdbgEntity.PROCESS_DEFINITION_KEYDS);
+				String flag = "";
+				if (listtask.size() != 0 || entity.getRecordStatus() == BaseEntity.RECORD_STATE_COMPLETED) {
+					flag = "1";
+					vo.setFlag(flag);
+				}
+				voList.add(vo);
+			}
+		}
+
+		if (isPOST(request)) {
+			cacheSCmap.put("xmxxpage", page.getPage());
+			CacheSearchCondition.putCacheSCmap(request.getParameterMap(), cacheSCmap);
+			// System.out.println(JSONObject.fromObject(cacheSCmap));
+		}
+
+		model.addAttribute("list", voList);
+		model.addAttribute("xmmc", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmmc"));
+		model.addAttribute("xmfr", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmfr"));
+		model.addAttribute("szd", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szdid"));
+		model.addAttribute("szgk", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgkid"));
+		model.addAttribute("szgq", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "szgqid"));
+		model.addAttribute("xmhzjbid", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmhzjbid"));
+		model.addAttribute("sfyzjbz", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "sfyzjbzid"));
+		model.addAttribute("menuid", menuid);
+
+		// 翻页共通
+		putPageInfo(model, page, list);
+		return "gkjsgl/jsjdbg/jsjdbgdsmain";
+	}
+
+	@RequestMapping(value = "/delete")
+	@ResponseBody
+	public WebJsonResult logicdelete(Model model, String id) {
+		WebJsonResult wr = success();
+		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
+		if (entity.getRecordStatus() != 1 && entity.getRecordStatus() != 8 && entity.getRecordStatus() != 9) {
+			wr.setSuccess(false);
+			wr.setMessage("该项目在流程中,无法删除!");
+			return wr;
+		}
+		try {
+			// 逻辑删除
+			jsjdbgdsService.logicDelete(id);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submit")
+	@ResponseBody
+	public WebJsonResult submit(Model model, JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+		WebJsonResult wr = success();
+		if (StringUtils.isEmpty(code.getXmmc())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入项目名称");
+			return wr;
+		}
+		if (StringUtils.isEmpty(ssjyrid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择经营人");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所港口");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szgqid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所港区");
+			return wr;
+		}
+		if (StringUtils.isEmpty(code.getXmfr())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入项目法人");
+			return wr;
+		}
+		if (StringUtils.isEmpty(xmlxid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择项目类型");
+			return wr;
+		}
+		if (StringUtils.isEmpty(code.getJsdd())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入建设地点");
+			return wr;
+		}
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				JsjdbgEntity jsjdbg = jsjdbgdsService.findOne(code.getId());
+				jsjdbg.setXmmc(code.getXmmc());
+				jsjdbg.setXmfr(code.getXmfr());
+				jsjdbg.setJsdd(code.getJsdd());
+				jsjdbg.setJsgm(code.getJsgm());
+				jsjdbg.setZtz(code.getZtz());
+				jsjdbg.setTgnl(code.getTgnl());
+				jsjdbg.setAxcd(code.getAxcd());
+				jsjdbg.setBwdj(code.getBwdj());
+				jsjdbg.setBwyt(code.getBwyt());
+				jsjdbg.setJcsj(code.getJcsj());
+				jsjdbg.setZftze(code.getZftze());
+				jsjdbg.setXmbm(code.getXmbm());
+				jsjdbg.setXmgk(code.getXmgk());
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdbg.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdbg.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdbg.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdbg.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdbg.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdbg.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdbg.setTzlx(tzlxdx);
+				} else {
+					jsjdbg.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdbg.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdbg.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdbg.setAxspjb(axspjbdx);
+				} else {
+					jsjdbg.setAxspjb(null);
+				}
+				jsjdbgdsService.submit(jsjdbg);
+			} else {
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					code.setJyrid(jyr);
+				}
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					sylx.setId(sylxid);
+					code.setSylx(sylx);
+				}
+				// 新增直接保存
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					code.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					code.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfldx = new CodeEntity();
+					zyhbwfldx.setId(zyhbwflid);
+					code.setZyhbwfl(zyhbwfldx);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					code.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					code.setTzlx(tzlxdx);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					code.setXmhzjb(xmhzjbdx);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					code.setAxspjb(axspjbdx);
+				}
+				jsjdbgdsService.submit(code);
+			}
+			// rtx提醒
+			rtxSend("", Constants.ROLE_LD, "你有一条建设进度初步设计变更待办事务,请及时处理!");
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submitAudit")
+	@ResponseBody
+	public WebJsonResult submitAudit(JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+		WebJsonResult wr = success();
+		JsjdbgEntity jsjdbg = new JsjdbgEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jsjdbg = jsjdbgdsService.findOne(code.getId());
+				jsjdbg.setXmmc(code.getXmmc());
+				jsjdbg.setXmfr(code.getXmfr());
+				jsjdbg.setJsdd(code.getJsdd());
+				jsjdbg.setJsgm(code.getJsgm());
+				jsjdbg.setZtz(code.getZtz());
+				jsjdbg.setTgnl(code.getTgnl());
+				jsjdbg.setAxcd(code.getAxcd());
+				jsjdbg.setBwdj(code.getBwdj());
+				jsjdbg.setBwyt(code.getBwyt());
+				jsjdbg.setJcsj(code.getJcsj());
+				jsjdbg.setZftze(code.getZftze());
+				jsjdbg.setXmbm(code.getXmbm());
+				jsjdbg.setXmgk(code.getXmgk());
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdbg.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdbg.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdbg.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdbg.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdbg.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdbg.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdbg.setTzlx(tzlxdx);
+				} else {
+					jsjdbg.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdbg.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdbg.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdbg.setAxspjb(axspjbdx);
+				} else {
+					jsjdbg.setAxspjb(null);
+				}
+				jsjdbg = jsjdbgdsService.save(jsjdbg);
+			}
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		try {
+			if (jsjdbgdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), jsjdbg.getId()) != null) {
+				jsjdbgdsService.claim(jsjdbg.getId(), SecUtils.getCurrUser().getId().toString());
+			}
+			jsjdbgdsService.changeAudit(null, jsjdbg, true, null);
+			// rtx提醒
+			rtxSend("", Constants.ROLE_LD, "你有一条建设进度初步设计变更待办事务,请及时处理!");
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/save")
+	@ResponseBody
+	public WebJsonResult save(Model model, JsjdbgEntity code, String sylxid, String ssjyrid, String fjids, String accid, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szdid, String szgkid, String szgqid, String zyhbwflid) {
+		WebJsonResult wr = success();
+		if (StringUtils.isEmpty(code.getXmmc())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入项目名称");
+			return wr;
+		}
+		if (StringUtils.isEmpty(ssjyrid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择经营人");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所港口");
+			return wr;
+		}
+		if (StringUtils.isEmpty(szgqid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所港区");
+			return wr;
+		}
+		if (StringUtils.isEmpty(code.getXmfr())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入项目法人");
+			return wr;
+		}
+		if (StringUtils.isEmpty(xmlxid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择项目类型");
+			return wr;
+		}
+		if (StringUtils.isEmpty(code.getJsdd())) {
+			wr.setSuccess(false);
+			wr.setMessage("请输入建设地点");
+			return wr;
+		}
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				JsjdbgEntity jsjdbg = jsjdbgdsService.findOne(code.getId());
+				jsjdbg.setXmmc(code.getXmmc());
+				jsjdbg.setXmfr(code.getXmfr());
+				jsjdbg.setJsdd(code.getJsdd());
+				jsjdbg.setJsgm(code.getJsgm());
+				jsjdbg.setZtz(code.getZtz());
+				jsjdbg.setTgnl(code.getTgnl());
+				jsjdbg.setAxcd(code.getAxcd());
+				jsjdbg.setBwdj(code.getBwdj());
+				jsjdbg.setBwyt(code.getBwyt());
+				jsjdbg.setJcsj(code.getJcsj());
+				jsjdbg.setZftze(code.getZftze());
+				jsjdbg.setXmbm(code.getXmbm());
+				jsjdbg.setXmgk(code.getXmgk());
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdbg.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdbg.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdbg.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdbg.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdbg.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdbg.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdbg.setTzlx(tzlxdx);
+				} else {
+					jsjdbg.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdbg.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdbg.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdbg.setAxspjb(axspjbdx);
+				} else {
+					jsjdbg.setAxspjb(null);
+				}
+				jsjdbg.setSftb(Constants.NO);
+				jsjdbgdsService.save(jsjdbg);
+			} else {
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					code.setJyrid(jyr);
+				}
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					sylx.setId(sylxid);
+					code.setSylx(sylx);
+				}
+				// 新增直接保存
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					code.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					code.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfldx = new CodeEntity();
+					zyhbwfldx.setId(zyhbwflid);
+					code.setZyhbwfl(zyhbwfldx);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					code.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					code.setTzlx(tzlxdx);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					code.setXmhzjb(xmhzjbdx);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					code.setAxspjb(axspjbdx);
+				}
+				code.setSftb(Constants.NO);
+				jsjdbgdsService.save(code);
+
+			}
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/edit")
+	public String edit(Model model, String id, String flag) {
+		model.addAttribute("flag", flag);
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "1");
+		model.addAttribute("fjList", accessoryList);
+
+		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
+		JsjdbgVo vo = new JsjdbgVo();
+		BeanUtils.copyProperties(entity, vo);
+		vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
+		vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
+		vo.setXmhzjbzw(entity.getXmhzjb() != null ? entity.getXmhzjb().getText() : "");
+		vo.setAxspjbzw(entity.getAxspjb() != null ? entity.getAxspjb().getText() : "");
+		vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+		vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+		vo.setSylxzw(entity.getSylx() != null ? entity.getSylx().getText() : "");
+		vo.setSylx(entity.getSylx() != null ? entity.getSylx().getId() : "");
+		vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
+		vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
+		vo.setXmhzjb(entity.getXmhzjb() != null ? entity.getXmhzjb().getId() : "");
+		vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
+		vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
+		if (StringUtils.isNotEmpty(entity.getXmbm())) {
+			String codeid = entity.getXmbm().substring(4, 10);
+			CodeEntity code = securityMgr.codeService().findOne(codeid);
+			model.addAttribute("xzqhname", code.getText());
+		}
+		String bwids = "";
+		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getXmid());
+		if (bwlist != null && bwlist.size() > 0) {
+			model.addAttribute("bwgs", bwlist.size());
+			for (XmbwglbEntity xmbw : bwlist) {
+				bwids = bwids + xmbw.getBwid() + ",";
+			}
+			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
+		}
+		model.addAttribute("record", vo);
+		model.addAttribute("jyr", entity.getJyrid());
+		return "gkjsgl/jsjdbg/jsjdbgdsedit";
+	}
+
+	@RequestMapping(value = "/view")
+	public String view(Model model, String id, String flag, String opflag) {
+		model.addAttribute("flag", flag);
+		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
+		JsjdbgVo vo = new JsjdbgVo();
+		BeanUtils.copyProperties(entity, vo);
+		vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
+		vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
+		vo.setXmhzjbzw(entity.getXmhzjb() != null ? entity.getXmhzjb().getText() : "");
+		vo.setAxspjbzw(entity.getAxspjb() != null ? entity.getAxspjb().getText() : "");
+		vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+		vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+		vo.setZyhbwflzw(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getText() : "");
+		vo.setSylxzw(entity.getSylx() != null ? entity.getSylx().getText() : "");
+		vo.setSylx(entity.getSylx() != null ? entity.getSylx().getId() : "");
+		if (entity.getJyrid() != null) {
+			vo.setSzddzw(entity.getJyrid().getSzd() != null ? entity.getJyrid().getSzd().getText() : "");
+		}
+		if (entity.getBwyt() != null) {
+			String bwytzw = "";
+			String[] s = entity.getBwyt().split(",");
+			for (int i = 0; i < s.length; i++) {
+				CodeEntity code = securityMgr.codeService().findOne(s[i]);
+				if (code != null) {
+					bwytzw += code.getText() + ",";
+				}
+			}
+			if (!StringUtils.isEmpty(bwytzw)) {
+				bwytzw = bwytzw.substring(0, bwytzw.length() - 1);
+			}
+			vo.setBwytzw(bwytzw);
+		}
+
+		vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
+		vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
+		vo.setXmhzjb(entity.getXmhzjb() != null ? entity.getXmhzjb().getId() : "");
+		vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
+		vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
+
+		List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
+		if (lists != null & lists.size() > 0) {
+			TaskInfoEntity taskinfo = lists.get(0);
+			if ("jbrbl".equals(taskinfo.getTaskKey())) {
+				opflag = "5";
+			} else if ("zjps".equals(taskinfo.getTaskKey())) {
+				opflag = "9";
+			}
+			model.addAttribute("taskKey", taskinfo.getTaskKey());
+			model.addAttribute("opflag", opflag);
+		}
+
+		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdbgEntity.PROCESS_DEFINITION_KEY);
+		List<TaskInfoVo> volist = new ArrayList<TaskInfoVo>();
+		for (int i = 0; i < slist.size(); i++) {
+			TaskInfoEntity taskentity = slist.get(i);
+			TaskInfoVo opvo = new TaskInfoVo();
+			opvo.setCurrName(taskentity.getCurrName());
+			opvo.setTaskKey(taskentity.getTaskKey());
+			opvo.setState(taskentity.getState());
+			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+
+			String opStr = "";
+			int voflag = 0;
+			for (int j = 0; j < volist.size(); j++) {
+				TaskInfoVo taskvo = volist.get(j);
+				if (taskvo.getTaskKey().equals(taskentity.getTaskKey())) {
+					if ("2".equals(taskvo.getState())) {
+						opStr += taskvo.getYj();
+					}
+					voflag = j;
+					break;
+				}
+			}
+			if ("2".equals(taskentity.getState())) {
+				opStr += "<div  style = 'float:left;width:100%;text-align: left;'>" + taskentity.getAuditMsg() + "</div><div style = 'float:left;width:100%;text-align: right;'>" + taskentity.getAuditUsername() + "<br/>" + formatter.format(taskentity.getAuditTime()) + "</div>";
+				opvo.setYj(opStr);
+			} else {
+				opStr += "<div id='" + taskentity.getTaskKey() + "' style = 'float:left;width:100%;text-align: left;'>" + "</div><div style = 'float:left;width:100%;text-align: right;'>" + securityMgr.getCurrUser().getName() + "<br/>" + formatter.format(new Date()) + "</div>";
+				opvo.setYj(opStr);
+			}
+			if (voflag > 0) {
+				volist.remove(voflag);
+			}
+			volist.add(opvo);
+		}
+		model.addAttribute("list", volist);
+
+		List<JsjdbgfjEntity> fjlist = jsjdbgfjService.findBySsid(id);
+		if (fjlist != null && fjlist.size() > 0) {
+			model.addAttribute("fjlist", fjlist);
+		}
+
+		if (StringUtils.isNotEmpty(entity.getXmbm())) {
+			String codeid = entity.getXmbm().substring(4, 10);
+			CodeEntity code = securityMgr.codeService().findOne(codeid);
+			model.addAttribute("xzqhname", code.getText());
+		}
+		String bwids = "";
+		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getXmid());
+		if (bwlist != null && bwlist.size() > 0) {
+			model.addAttribute("bwgs", bwlist.size());
+			for (XmbwglbEntity xmbw : bwlist) {
+				bwids = bwids + xmbw.getBwid() + ",";
+			}
+			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
+		}
+
+		model.addAttribute("record", vo);
+		model.addAttribute("jyr", entity.getJyrid());
+		return "gkjsgl/jsjdbg/jsjdbgdsview";
+	}
+
+	@RequestMapping(value = "/add")
+	public String add(Model model) {
+		UserEntity user = securityMgr.getCurrUser();
+		GkjyrEntity jyr = new GkjyrEntity();
+		if (!StringUtils.isEmpty(user.getSsjyr())) {
+			jyr = gkjyrService.findOne(user.getSsjyr().getId());
+		}
+		model.addAttribute("jyr", jyr);
+		model.addAttribute("szd", user.getSzd());
+		// 默认建成时间当天
+		SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd");
+		Date today = new Date();
+		model.addAttribute("jcsj", dateTimeFormat.format(today));
+		if (SecUtils.getCurrUser() != null) {
+			List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCodeAndCity(Constants.GROUP_CODE_SZD, GlobalData.CITY_CODE);
+			model.addAttribute("sz", list.size() == 1 ? list.get(0).getId() : "");
+			if (list.size() == 1) {
+				List<GkEntity> gklist = gkService.findBySzd(list.get(0).getId());
+				model.addAttribute("gk", gklist.size() == 1 ? gklist.get(0).getId() : "");
+			}
+		}
+		return "gkjsgl/jsjdbg/jsjdbgdsadd";
+	}
+
+	@RequestMapping(value = "/selectXmlx")
+	@ResponseBody
+	public List<CodeEntity> selectXmlx(Model model) {
+		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode(Constants.GROUP_CODE_XMLX);
+		return list;
+	}
+
+	@RequestMapping(value = "/selectTzlx")
+	@ResponseBody
+	public List<CodeEntity> selectTzlx(Model model) {
+		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode(Constants.GROUP_CODE_TZLX);
+		return list;
+	}
+
+	@RequestMapping(value = "/selectXmhzjb")
+	@ResponseBody
+	public List<CodeEntity> selectXmhzjb(Model model) {
+		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode(Constants.GROUP_CODE_XMHZJB);
+		return list;
+	}
+
+	@RequestMapping(value = "/selectAxspjb")
+	@ResponseBody
+	public List<CodeEntity> selectAxspjb(Model model) {
+		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode(Constants.GROUP_CODE_AXSPJB);
+		return list;
+	}
+
+	@RequestMapping(value = "/audit")
+	@ResponseBody
+	public WebJsonResult audit(String shyj, String id, boolean flag, String accid, String userids) {
+		WebJsonResult wr = success();
+		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
+
+		try {
+			if (jsjdbgdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
+				jsjdbgdsService.claim(id, SecUtils.getCurrUser().getId().toString());
+			}
+
+			jsjdbgdsService.changeAudit(shyj, entity, flag, userids);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	// 保存附件
+	@RequestMapping(value = "/saveFile")
+	@ResponseBody
+	public WebJsonResult saveFile(@RequestParam("file") List<MultipartFile> file, String fjFlag, Model model, HttpServletRequest request, HttpServletResponse response) {
+		WebJsonResult wr = success();
+		if (file != null && file.size() > 0) {
+			JsjdbgfjEntity fjEntity = new JsjdbgfjEntity();
+			for (int i = 0; i < file.size(); i++) {
+				MultipartFile f = file.get(i);
+				if (f.getSize() > 0) {
+					AccessoryEntity acc = accessoryService.saveFile(f, "jsjdbg");
+					if (acc != null) {
+						fjEntity.setFjid(acc.getId());
+						fjEntity.setFjmc(acc.getName());
+						fjEntity.setType(fjFlag);
+						fjEntity = jsjdbgfjService.save(fjEntity);
+						break;
+					}
+				}
+			}
+			wr.setAttr("acc", fjEntity);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件!");
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/delFile")
+	@ResponseBody
+	public WebJsonResult delFile(String accid, Model model) {
+		WebJsonResult wr = success();
+		try {
+			JsjdbgfjEntity entity = jsjdbgfjService.findOne(accid);
+			if (entity != null) {
+				AccessoryEntity acc = accessoryService.findOne(entity.getFjid());
+				if (acc != null) {
+					accessoryService.delete(acc);
+					if (entity != null) {
+						String path = acc.getFilepath() + acc.getFilename();
+						File file = new File(path);
+						if (file.isFile() && file.exists()) {
+							file.delete();
+						}
+					}
+				}
+				jsjdbgfjService.delete(entity);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/isExit")
+	@ResponseBody
+	public WebJsonResult isExit(String id, Model model) {
+		WebJsonResult wr = success();
+		try {
+			JsjdbgEntity entity = jsjdbgdsService.findByXmid(id);
+			if(entity !=null){
+				if("1".equals(entity.getRecordStatus()) || "2".equals(entity.getRecordStatus())|| "3".equals(entity.getRecordStatus()) || "4".equals(entity.getRecordStatus())){
+					wr.setSuccess(false);
+					wr.setMessage("该项目变更中,请重新选择!");
+				}
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("该项目变更中,请重新选择!");
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/choose")
+	public String choose(Model model, String id) {
+		XmxxglEntity entity = xmxxglService.findOne(id);
+		XmxxglVo vo = new XmxxglVo();
+		BeanUtils.copyProperties(entity, vo);
+		vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
+		vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
+		vo.setXmhzjbzw(entity.getXmhzjb() != null ? entity.getXmhzjb().getText() : "");
+		vo.setAxspjbzw(entity.getAxspjb() != null ? entity.getAxspjb().getText() : "");
+		vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+		vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+		vo.setZyhbwflzw(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getText() : "");
+
+		vo.setSylxzw(entity.getSylx() != null ? entity.getSylx().getText() : "");
+		vo.setSylx(entity.getSylx() != null ? entity.getSylx().getId() : "");
+		// if (entity.getJyrid() != null) {
+		// vo.setSzddzw(entity.getJyrid().getSzd() != null ?
+		// entity.getJyrid().getSzd().getText() : "");
+		// }
+		vo.setSzddzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+		if (entity.getBwyt() != null) {
+			String bwytzw = "";
+			String[] s = entity.getBwyt().split(",");
+			/*
+			 * for (String string : s) { bwytzw +=
+			 * securityMgr.codeService().findOne(string).getText() + " "; }
+			 */
+			for (int i = 0; i < s.length; i++) {
+				CodeEntity code = securityMgr.codeService().findOne(s[i]);
+				if (code != null) {
+					bwytzw += code.getText() + ",";
+				}
+			}
+			if (!StringUtils.isEmpty(bwytzw)) {
+				bwytzw = bwytzw.substring(0, bwytzw.length() - 1);
+			}
+			vo.setBwytzw(bwytzw);
+		}
+
+		if (StringUtils.isNotEmpty(entity.getXmbm())) {
+			String codeid = entity.getXmbm().substring(4, 10);
+			CodeEntity code = securityMgr.codeService().findOne(codeid);
+			model.addAttribute("xzqhname", code.getText());
+		}
+
+		String bwids = "";
+		List<XmbwglbEntity> list = xmbwglbService.findByXmid(entity.getId());
+		if (list != null && list.size() > 0) {
+			model.addAttribute("bwgs", list.size());
+			for (XmbwglbEntity xmbw : list) {
+				bwids = bwids + xmbw.getBwid() + ",";
+			}
+			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
+		}
+		vo.setBwids(bwids);
+		vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
+		vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
+		vo.setXmhzjb(entity.getXmhzjb() != null ? entity.getXmhzjb().getId() : "");
+		vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
+		vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+		vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
+		model.addAttribute("record", vo);
+		model.addAttribute("jyr", entity.getJyrid());
+		return "gkjsgl/jsjdbg/jsjdbgdsadd";
+	}
+
+	public void getbwlist(Model model, String bwids) {
+		if (!StringUtils.isEmpty(bwids)) {
+			List<BwVo> slist = new ArrayList<BwVo>();
+			String[] bwlists = bwids.split(",");
+			for (String bw : bwlists) {
+				BwEntity bwentity = bwService.findOne(bw);
+				BwVo bwvo = new BwVo();
+				if (bwentity != null) {
+					BeanUtils.copyProperties(bwentity, bwvo);
+					bwvo.setSzdzw(bwentity.getSzd() != null ? bwentity.getSzd().getText() : "");
+					bwvo.setSzgkzw(bwentity.getSzgk() != null ? bwentity.getSzgk().getGkmc() : "");
+					bwvo.setSzgqzw(bwentity.getSzgq() != null ? bwentity.getSzgq().getGqmc() : "");
+					bwvo.setSsjyrzw(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getGkjyr() : "");
+					bwvo.setSsmtzw(bwentity.getSsmt() != null ? bwentity.getSsmt().getMtmc() : "");
+					bwvo.setBwsxzw(bwentity.getBwsx() != null ? bwentity.getBwsx().getText() : "");
+					bwvo.setFwlxzw(bwentity.getFwlx() != null ? bwentity.getFwlx().getText() : "");
+					bwvo.setWxpbwzw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getText() : "");
+					bwvo.setZyhbwflzw(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getText() : "");
+					bwvo.setSffzzw(bwentity.getSffz() != null ? bwentity.getSffz().getText() : "");
+					bwvo.setSfdwkfzw(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getText() : "");
+					bwvo.setBwszsxzw(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getText() : "");
+					bwvo.setSclxzw(bwentity.getSclx() != null ? bwentity.getSclx().getText() : "");
+					bwvo.setJgxszw(bwentity.getJgxs() != null ? bwentity.getJgxs().getText() : "");
+					bwvo.setKbcblxzw(bwentity.getKbcblx() != null ? bwentity.getKbcblx().getText() : "");
+
+					bwvo.setSszyq(bwentity.getSszyq() != null ? bwentity.getSszyq().getId() : "");
+					bwvo.setSszyqzw(bwentity.getSszyq() != null ? bwentity.getSszyq().getZyqmc() : "");
+					bwvo.setZls(bwentity.getZls() != null ? bwentity.getZls().getId() : "");
+					bwvo.setZlszw(bwentity.getZls() != null ? bwentity.getZls().getText() : "");
+					bwvo.setXp(bwentity.getXp() != null ? bwentity.getXp().getId() : "");
+					bwvo.setXpzw(bwentity.getXp() != null ? bwentity.getXp().getText() : "");
+					bwvo.setBwszhd(bwentity.getBwszhd() != null ? bwentity.getBwszhd().getText() : "");
+
+					if (bwentity.getBwyt() != null) {
+						String bwytzw = "";
+						String[] s = bwentity.getBwyt().split(",");
+
+						for (int i = 0; i < s.length; i++) {
+							CodeEntity ce = securityMgr.codeService().findOne(s[i]);
+							if (ce != null) {
+								bwytzw += ce.getText();
+								if (i != s.length - 1) {
+									bwytzw += ",";
+								}
+							}
+						}
+						bwvo.setBwytzw(bwytzw);
+					}
+					bwvo.setSzd(bwentity.getSzd() != null ? bwentity.getSzd().getId() : "");
+					bwvo.setSzgk(bwentity.getSzgk() != null ? bwentity.getSzgk().getId() : "");
+					bwvo.setSzgq(bwentity.getSzgq() != null ? bwentity.getSzgq().getId() : "");
+					bwvo.setSsjyr(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getId() : "");
+					bwvo.setSsmt(bwentity.getSsmt() != null ? bwentity.getSsmt().getId() : "");
+					bwvo.setBwsx(bwentity.getBwsx() != null ? bwentity.getBwsx().getId() : "");
+					bwvo.setFwlx(bwentity.getFwlx() != null ? bwentity.getFwlx().getId() : "");
+					bwvo.setWxpbw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getId() : "");
+					bwvo.setZyhbwfl(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getId() : "");
+					bwvo.setSffz(bwentity.getSffz() != null ? bwentity.getSffz().getId() : "");
+					bwvo.setSfdwkf(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getId() : "");
+					bwvo.setBwszsx(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getId() : "");
+					bwvo.setSclx(bwentity.getSclx() != null ? bwentity.getSclx().getId() : "");
+					bwvo.setJgxs(bwentity.getJgxs() != null ? bwentity.getJgxs().getId() : "");
+					slist.add(bwvo);
+				}
+			}
+			model.addAttribute("bwlist", slist);
+		}
+	}
+	
+	// 初始化项目信息选择页面
+	@RequestMapping(value = "/xmxxxz")
+	@ResponseBody
+	public WebJsonResult xmxxxz(final Integer page, Model model, final String xmcx) throws JsonProcessingException {
+		WebJsonResult wr = new WebJsonResult();
+		Specification<XmxxglEntity> spec = new Specification<XmxxglEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<XmxxglEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(xmcx)) {
+					list.add(cb.like(root.get("xmmc").as(String.class), "%" + xmcx + "%"));
+				}
+				if (securityMgr.getCurrUser().getSfjyr().getText().equals("是")) {
+					list.add(cb.like(root.get("createUser").as(String.class), "%" + securityMgr.getCurrUser().getId() + "%"));
+				}
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+				Subquery<TaskInfoEntity> subquery = query.subquery(TaskInfoEntity.class);
+				Root<TaskInfoEntity> dpRoot = subquery.from(TaskInfoEntity.class);
+				subquery.select(dpRoot);
+				List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+				subQueryPredicates.add(cb.equal(root.get("id").as(String.class), dpRoot.get("busId").as(String.class)));
+				subQueryPredicates.add(cb.notLike(dpRoot.get("taskKey").as(String.class), "%axlysp%"));
+				subQueryPredicates.add(cb.notLike(dpRoot.get("taskKey").as(String.class), "%xmsphzba%"));
+				subQueryPredicates.add(cb.notLike(dpRoot.get("taskKey").as(String.class), "%cbsjsp%"));
+				subQueryPredicates.add(cb.notLike(dpRoot.get("taskKey").as(String.class), "%jgys2%"));
+				subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+				list.add(cb.exists(subquery));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		SimplePageRequest page2 = new SimplePageRequest();
+		if (page == null) {
+			page2.setPage(1);
+		} else {
+			page2.setPage(page);
+		}
+		page2.setRows(5);
+		Sort newsort = new Sort(Direction.fromString(page2.getOrder()), new String[] { page2.getSort() });
+		// 页码从0开始
+		PageRequest pageable = new PageRequest(page2.getPage() - 1, page2.getRows(), newsort);
+		Page<XmxxglEntity> list = query.findAll(spec, pageable, XmxxglEntity.class);
+		List<XmxxglEntity> list2 = new ArrayList<XmxxglEntity>();
+		for (XmxxglEntity xmxxglEntity : list) {
+			list2.add(xmxxglEntity);
+		}
+		wr.setAttr("list", list2);
+
+		wr.setAttr("pagejump", list.getTotalPages() == 0 ? 0 : page2.getPage());
+		wr.setAttr("gongpage", "共 " + list.getTotalPages() + "页");
+		wr.setAttr("nowshow", "当前显示" + (page2.getRows() == 0 ? 0 : (page2.getRows() * (page2.getPage() - 1) + 1)) + "-" + (page2.getPage() * page2.getRows() - (page2.getRows() - list.getContent().size())) + " 条记录");
+		wr.setAttr("gongsize", "共 " + list.getTotalElements() + "条记录");
+		wr.setAttr("page", page2.getPage());
+		wr.setAttr("sort", page2.getSort());
+		wr.setAttr("order", page2.getOrder());
+		wr.setAttr("pagesize", list.getContent().size());
+		wr.setAttr("totalpage", list.getTotalPages());
+		wr.setAttr("totalsize", list.getTotalElements());
+		wr.setAttr("sort", list.getSort());
+		return wr;
+	}
+
+	@RequestMapping(value = "/saveTbzt")
+	@ResponseBody
+	public WebJsonResult saveTbzt(Model model, String id, String spflag) {
+		WebJsonResult wr = success();
+		JsjdbgEntity entity = jsjdbgdsService.findOne(id);
+
+		entity.setSftb(Constants.YES);
+		jsjdbgdsService.save(entity);
+
+		String url = "/GK_OPERATION_JSJY_JSJDBG_ONE_CP?condition=ID=" + id + ";FJID=1";
+
+		boolean flag = getTbStatus(url);
+		if (flag) {
+			entity.setFlowstatus("0");
+			entity.setTbzt(Constants.YES);
+			jsjdbgdsService.save(entity);
+		} else {
+			entity.setFlowstatus(null);
+			entity.setSftb(Constants.NO);
+			jsjdbgdsService.save(entity);
+			wr.setSuccess(false);
+			wr.setMessage("转报省级失败");
+		}
+		return wr;
+	}
+}

+ 4 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/dao/JsjdbgDao.java

@@ -1,8 +1,12 @@
 package com.xt.jygl.gkjsgl.jsjdbg.dao;
 
+import org.springframework.data.jpa.repository.Query;
+
 import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgEntity;
 import com.xtframe.sec.common.SecRepository;
 
 public interface JsjdbgDao extends SecRepository<JsjdbgEntity, String> {
 
+	@Query("SELECT m  FROM JsjdbgEntity m WHERE  m.xmid =?1  and m.recordStatus <> 9 ")
+	JsjdbgEntity findByXmid(String id);
 }

+ 12 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/entity/JsjdbgEntity.java

@@ -28,7 +28,10 @@ public class JsjdbgEntity extends BaseEntity<String> implements Cloneable {
 	private static final long serialVersionUID = -485787620077488727L;
 
 	public static final String PROCESS_DEFINITION_KEY = "jsjdbg";
+	
+	public static final String PROCESS_DEFINITION_KEYDS="jsjdbgds";
 	private String id;/* 唯一标识 */
+	private String xmid;
 	private String xmmc;/* 项目名称 */
 	private String xmfr;/* 项目法人 */
 	private String jsdd;/* 建设地点 */
@@ -49,13 +52,21 @@ public class JsjdbgEntity extends BaseEntity<String> implements Cloneable {
 	private CodeEntity zyhbwfl;/* 专业化泊位分类 */
 	private String lcjd;/* 流程节点 */
 	private String sfqswj;/* 是否缺失文件 */
-	private String flowstatus = "0";
+	private String flowstatus;
 	private String xmbm;/* 项目编码 */
 	private String zftze;/* 政府投资额 */
 	private CodeEntity sylx;/* 水域类型 */
 	private Date jcsj; /* 建成时间 */
 	private String xmgk;
 
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
+
 	public String getXmgk() {
 		return xmgk;
 	}

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgService.java

@@ -9,7 +9,7 @@ public interface JsjdbgService extends BaseWorkFlowService {
 
 	public <S extends JsjdbgEntity> S save(S entity);
 
-	public <S extends JsjdbgEntity> S submit(S gg);
+	public <S extends JsjdbgEntity> S submit(S gg,String userids);
 
 	JsjdbgEntity findOne(String id);
 

+ 21 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/JsjdbgdsService.java

@@ -0,0 +1,21 @@
+package com.xt.jygl.gkjsgl.jsjdbg.service;
+
+import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgEntity;
+import com.xt.jygl.workflow.service.BaseWorkFlowService;
+
+public interface JsjdbgdsService extends BaseWorkFlowService {
+	/* 逻辑删除 */
+	void logicDelete(String id);
+
+	public <S extends JsjdbgEntity> S save(S entity);
+
+	public <S extends JsjdbgEntity> S submit(S gg);
+
+	JsjdbgEntity findOne(String id);
+
+	void delete(String id);
+
+	public boolean changeAudit(String shyj, JsjdbgEntity xmxx, boolean flag,String userids);
+
+	JsjdbgEntity findByXmid(String id);
+}

+ 9 - 6
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgServiceImpl.java

@@ -9,7 +9,6 @@ import java.util.Map;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import com.xt.jygl.common.Constants;
 import com.xt.jygl.gkjsgl.jsjdbg.dao.JsjdbgDao;
 import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgEntity;
 import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgService;
@@ -40,7 +39,7 @@ public class JsjdbgServiceImpl extends BaseWorkFlowServiceImpl<JsjdbgEntity, Str
 	}
 
 	@Override
-	public <S extends JsjdbgEntity> S submit(S entity) {
+	public <S extends JsjdbgEntity> S submit(S entity,String userids) {
 		if (entity.getRecordStatus() == BaseEntity.RECORD_STATE_REJECT) {
 			entity.setRecordStatus(BaseEntity.RECORD_STATE_SUBMIT);
 			entity = this.save(entity);
@@ -54,10 +53,14 @@ public class JsjdbgServiceImpl extends BaseWorkFlowServiceImpl<JsjdbgEntity, Str
 			entity.setRecordStatus(BaseEntity.RECORD_STATE_SUBMIT);
 			entity = this.save(entity);
 			Map<String, Object> variables = new HashMap<String, Object>();
-			variables.put("role_ld", Constants.ROLE_LD);
-			variables.put("role_fgld", Constants.ROLE_LD);
-			variables.put("role_ks", Constants.ROLE_LD);
-			variables.put("role_jbr", Constants.ROLE_LD);
+			List<String> lists = new ArrayList<String>();
+			if (!StringUtils.isEmpty(userids)) {
+				String[] users = userids.split(",");
+				for (String userid : users) {
+					lists.add(userid);
+				}
+			}
+			variables.put("assigneeList", lists);
 			WorkFlowParam param = new WorkFlowParam();
 			param.put(WorkFlowParam.DESCRIPTION, entity.getXmmc() + "的项目建设变更");
 

+ 117 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/service/impl/JsjdbgdsServiceImpl.java

@@ -0,0 +1,117 @@
+package com.xt.jygl.gkjsgl.jsjdbg.service.impl;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.gkjsgl.jsjdbg.dao.JsjdbgDao;
+import com.xt.jygl.gkjsgl.jsjdbg.entity.JsjdbgEntity;
+import com.xt.jygl.gkjsgl.jsjdbg.service.JsjdbgdsService;
+import com.xt.jygl.workflow.entity.TaskInfoEntity;
+import com.xt.jygl.workflow.param.WorkFlowParam;
+import com.xt.jygl.workflow.service.WorkflowMangerService;
+import com.xt.jygl.workflow.service.impl.BaseWorkFlowServiceImpl;
+import com.xtframe.core.support.SecurityMgr;
+import com.xtframe.sec.common.BaseEntity;
+import com.xtframe.sec.common.SecRepository;
+import com.xtframe.sec.utils.SecUtils;
+import com.xtframe.util.StringUtils;
+
+@Service
+public class JsjdbgdsServiceImpl extends BaseWorkFlowServiceImpl<JsjdbgEntity, String> implements JsjdbgdsService {
+
+	@Autowired
+	private JsjdbgDao dao;
+	@Autowired
+	private WorkflowMangerService workService;
+	@Autowired
+	protected SecurityMgr securityMgr;
+
+	@Override
+	protected SecRepository<JsjdbgEntity, String> getDao() {
+
+		return this.dao;
+	}
+
+	@Override
+	public <S extends JsjdbgEntity> S submit(S entity) {
+		if (entity.getRecordStatus() == BaseEntity.RECORD_STATE_REJECT) {
+			entity.setRecordStatus(BaseEntity.RECORD_STATE_SUBMIT);
+			entity = this.save(entity);
+			Map<String, Object> variables = new HashMap<String, Object>();
+			WorkFlowParam param = new WorkFlowParam();
+			param.put(WorkFlowParam.BUSINESS_KEY, entity.getId());
+			param.put(WorkFlowParam.IS_AUDIT, "false");
+			param.put(WorkFlowParam.DESCRIPTION, entity.getXmmc() + "的项目建设变更地市");
+			complete(param, variables);
+		} else {
+			entity.setRecordStatus(BaseEntity.RECORD_STATE_SUBMIT);
+			entity = this.save(entity);
+			Map<String, Object> variables = new HashMap<String, Object>();
+			
+			variables.put("role_sc", Constants.ROLE_SC);
+			WorkFlowParam param = new WorkFlowParam();
+			param.put(WorkFlowParam.DESCRIPTION, entity.getXmmc() + "的项目建设变更地市");
+
+			// 设置流程发起人
+			if (StringUtils.isEmpty(param.getString(WorkFlowParam.AUDIT_USER))) {
+				param.put(WorkFlowParam.AUDIT_USER, SecUtils.getCurrUser().getId().toString());
+			}
+
+			param.put(WorkFlowParam.BUSINESS_KEY, entity.getId());
+			// 提交流程
+			create(param, variables);
+		}
+		return entity;
+	}
+
+	@Override
+	public String getProcessDefinitionKey() {
+		return JsjdbgEntity.PROCESS_DEFINITION_KEYDS;
+	}
+
+	@Override
+	public boolean changeAudit(String shyj, JsjdbgEntity xmxx, boolean flag, String userids) {
+		Map<String, Object> variables = new HashMap<String, Object>();
+		List<String> lists = new ArrayList<String>();
+		if (!StringUtils.isEmpty(userids)) {
+			String[] users = userids.split(",");
+			for (String userid : users) {
+				lists.add(userid);
+			}
+		}
+		variables.put("assigneeList", lists);
+		variables.put(WorkFlowParam.AUDIT_PASS, flag);
+		WorkFlowParam param = new WorkFlowParam();
+		param.put(WorkFlowParam.AUDIT_DATE, new Date());
+		param.put(WorkFlowParam.AUDIT_TEXT, shyj == null ? "" : shyj);
+		param.put(WorkFlowParam.AUDIT_RESULT, flag);
+		param.put(WorkFlowParam.BUSINESS_KEY, xmxx.getId());
+		workService.getTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), xmxx.getId().toString(), JsjdbgEntity.PROCESS_DEFINITION_KEYDS);
+		complete(param, variables);
+		List<TaskInfoEntity> list = findByBusIdAndBusKeyAndRecordStatus(xmxx.getId().toString());
+		if (list == null || list.size() == 0) {
+			xmxx.setRecordStatus(BaseEntity.RECORD_STATE_COMPLETED);
+			xmxx = this.save(xmxx);
+			return true;
+		}
+		if (flag == false) {
+			xmxx.setRecordStatus(BaseEntity.RECORD_STATE_REJECT);
+			this.save(xmxx);
+		}
+		return false;
+	}
+
+	@Override
+	public JsjdbgEntity findByXmid(String id) {
+		// TODO Auto-generated method stub
+		return dao.findByXmid(id);
+	}
+
+}

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/vo/JsjdbgVo.java

@@ -6,6 +6,7 @@ import com.xtframe.sec.common.BaseVo;
 
 public class JsjdbgVo extends BaseVo {
 	private String id;/* 唯一标识 */
+	private String xmid;
 	private String xmmc;/* 项目名称 */
 	private String xmfr;/* 项目法人 */
 	private String jsdd;/* 建设地点 */
@@ -62,6 +63,14 @@ public class JsjdbgVo extends BaseVo {
 	private String sylxzw;
 	private String xmgk;
 
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
+
 	public String getXmgk() {
 		return xmgk;
 	}

+ 77 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjCtl.java

@@ -48,8 +48,11 @@ import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjsgl.tzjhgl.service.TzjhglService;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmbwglbEntity;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmbwglbService;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 import com.xt.jygl.workflow.entity.TaskInfoEntity;
 import com.xt.jygl.workflow.service.TaskInfoService;
 import com.xt.jygl.workflow.vo.TaskInfoVo;
@@ -87,6 +90,8 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 	private JsjdcbsjfjService jsjdcbsjfjService;
 	@Autowired
 	private XmbwglbService xmbwglbService;
+	@Autowired
+	private BwService bwService;
 
 	@RequestMapping(value = "/main")
 	@RequiresPermissions("jsjdcbsj:main")
@@ -774,6 +779,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		// 附件
 		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
@@ -869,6 +875,75 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 		return "gkjsgl/jsjdcbsj/jsjdcbsjedit";
 	}
 
+	public void getbwlist(Model model, String bwids) {
+		if (!StringUtils.isEmpty(bwids)) {
+			List<BwVo> slist = new ArrayList<BwVo>();
+			String[] bwlists = bwids.split(",");
+			for (String bw : bwlists) {
+				BwEntity bwentity = bwService.findOne(bw);
+				BwVo bwvo = new BwVo();
+				if (bwentity != null) {
+					BeanUtils.copyProperties(bwentity, bwvo);
+					bwvo.setSzdzw(bwentity.getSzd() != null ? bwentity.getSzd().getText() : "");
+					bwvo.setSzgkzw(bwentity.getSzgk() != null ? bwentity.getSzgk().getGkmc() : "");
+					bwvo.setSzgqzw(bwentity.getSzgq() != null ? bwentity.getSzgq().getGqmc() : "");
+					bwvo.setSsjyrzw(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getGkjyr() : "");
+					bwvo.setSsmtzw(bwentity.getSsmt() != null ? bwentity.getSsmt().getMtmc() : "");
+					bwvo.setBwsxzw(bwentity.getBwsx() != null ? bwentity.getBwsx().getText() : "");
+					bwvo.setFwlxzw(bwentity.getFwlx() != null ? bwentity.getFwlx().getText() : "");
+					bwvo.setWxpbwzw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getText() : "");
+					bwvo.setZyhbwflzw(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getText() : "");
+					bwvo.setSffzzw(bwentity.getSffz() != null ? bwentity.getSffz().getText() : "");
+					bwvo.setSfdwkfzw(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getText() : "");
+					bwvo.setBwszsxzw(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getText() : "");
+					bwvo.setSclxzw(bwentity.getSclx() != null ? bwentity.getSclx().getText() : "");
+					bwvo.setJgxszw(bwentity.getJgxs() != null ? bwentity.getJgxs().getText() : "");
+					bwvo.setKbcblxzw(bwentity.getKbcblx() != null ? bwentity.getKbcblx().getText() : "");
+
+					bwvo.setSszyq(bwentity.getSszyq() != null ? bwentity.getSszyq().getId() : "");
+					bwvo.setSszyqzw(bwentity.getSszyq() != null ? bwentity.getSszyq().getZyqmc() : "");
+					bwvo.setZls(bwentity.getZls() != null ? bwentity.getZls().getId() : "");
+					bwvo.setZlszw(bwentity.getZls() != null ? bwentity.getZls().getText() : "");
+					bwvo.setXp(bwentity.getXp() != null ? bwentity.getXp().getId() : "");
+					bwvo.setXpzw(bwentity.getXp() != null ? bwentity.getXp().getText() : "");
+					bwvo.setBwszhd(bwentity.getBwszhd() != null ? bwentity.getBwszhd().getText() : "");
+
+					if (bwentity.getBwyt() != null) {
+						String bwytzw = "";
+						String[] s = bwentity.getBwyt().split(",");
+
+						for (int i = 0; i < s.length; i++) {
+							CodeEntity ce = securityMgr.codeService().findOne(s[i]);
+							if (ce != null) {
+								bwytzw += ce.getText();
+								if (i != s.length - 1) {
+									bwytzw += ",";
+								}
+							}
+						}
+						bwvo.setBwytzw(bwytzw);
+					}
+					bwvo.setSzd(bwentity.getSzd() != null ? bwentity.getSzd().getId() : "");
+					bwvo.setSzgk(bwentity.getSzgk() != null ? bwentity.getSzgk().getId() : "");
+					bwvo.setSzgq(bwentity.getSzgq() != null ? bwentity.getSzgq().getId() : "");
+					bwvo.setSsjyr(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getId() : "");
+					bwvo.setSsmt(bwentity.getSsmt() != null ? bwentity.getSsmt().getId() : "");
+					bwvo.setBwsx(bwentity.getBwsx() != null ? bwentity.getBwsx().getId() : "");
+					bwvo.setFwlx(bwentity.getFwlx() != null ? bwentity.getFwlx().getId() : "");
+					bwvo.setWxpbw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getId() : "");
+					bwvo.setZyhbwfl(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getId() : "");
+					bwvo.setSffz(bwentity.getSffz() != null ? bwentity.getSffz().getId() : "");
+					bwvo.setSfdwkf(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getId() : "");
+					bwvo.setBwszsx(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getId() : "");
+					bwvo.setSclx(bwentity.getSclx() != null ? bwentity.getSclx().getId() : "");
+					bwvo.setJgxs(bwentity.getJgxs() != null ? bwentity.getJgxs().getId() : "");
+					slist.add(bwvo);
+				}
+			}
+			model.addAttribute("bwlist", slist);
+		}
+	}
+	
 	@RequestMapping(value = "/view")
 	public String view(Model model, String id, String flag, String opflag) {
 		model.addAttribute("flag", flag);
@@ -923,6 +998,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		// 附件
 		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
@@ -1190,7 +1266,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 				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()) && taskentity.getState() == "2") {
+					if ("zjps".equals(taskentity.getTaskKey()) && "2".equals(taskentity.getState())) {
 						userids = taskentity.getAuditUser() + ",";
 					}
 				}

+ 1 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/entity/JsjdcbsjEntity.java

@@ -49,7 +49,7 @@ public class JsjdcbsjEntity extends BaseEntity<String> implements Cloneable {
 	private CodeEntity zyhbwfl;/* 专业化泊位分类*/
 	private String lcjd;/* 流程节点*/
 	private String sfqswj;/* 是否缺失文件*/
-	private String flowstatus = "0";
+	private String flowstatus;
 	private String xmbm;/* 项目编码 */
 	private String zftze;/* 政府投资额 */
 	private CodeEntity sylx;/* 水域类型 */

+ 115 - 20
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdgl/ctl/JsjdglCtl.java

@@ -63,6 +63,9 @@ import com.xt.jygl.gkjsgl.xmxxgl.service.XmbwglbService;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxglService;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxgljggzService;
 import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 import com.xt.jygl.workflow.entity.TaskInfoEntity;
 import com.xt.jygl.workflow.service.TaskInfoService;
 import com.xtframe.core.anon.auth.RequiresPermissions;
@@ -97,6 +100,8 @@ public class JsjdglCtl extends BaseWebCtl {
 	private TzjhglService tzjhglService;
 	@Autowired
 	private XmbwglbService xmbwglbService;
+	@Autowired
+	private BwService bwService;
 
 	@RequestMapping(value = "/main")
 	@RequiresPermissions("jsjdgl:main")
@@ -356,8 +361,7 @@ public class JsjdglCtl extends BaseWebCtl {
 		if ("2".equals(entity.getFlowstatus()) || "8".equals(spflag)) {
 			url = "/GK_OPERATION_JSJY_JGSQ_ONE_CP?condition=ID=" + id;
 		}
-		
-		
+
 		boolean flag = getTbStatus(url);
 		if (flag) {
 			entity.setFlowstatus("0");
@@ -367,7 +371,7 @@ public class JsjdglCtl extends BaseWebCtl {
 			entity.setFlowstatus(null);
 			entity.setSftb(Constants.NO);
 			xmxxglService.save(entity);
-			
+
 			wr.setSuccess(false);
 			wr.setMessage("转报省级失败");
 		}
@@ -666,6 +670,7 @@ public class JsjdglCtl extends BaseWebCtl {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		vo.setBwids(bwids);
 		model.addAttribute("record", vo);
@@ -886,6 +891,7 @@ public class JsjdglCtl extends BaseWebCtl {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		vo.setBwids(bwids);
 		model.addAttribute("record", vo);
@@ -1146,10 +1152,12 @@ public class JsjdglCtl extends BaseWebCtl {
 		List<XmbwglbEntity> list = xmbwglbService.findByXmid(entity.getId());
 		if (list != null && list.size() > 0) {
 			model.addAttribute("bwgs", list.size());
+
 			for (XmbwglbEntity xmbw : list) {
 				bwids = bwids + xmbw.getBwid() + ",";
 			}
 			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
 		}
 		vo.setBwids(bwids);
 		vo.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
@@ -1164,6 +1172,75 @@ public class JsjdglCtl extends BaseWebCtl {
 		return "gkjsgl/jsjdgl/jsjdgladd";
 	}
 
+	public void getbwlist(Model model, String bwids) {
+		if (!StringUtils.isEmpty(bwids)) {
+			List<BwVo> slist = new ArrayList<BwVo>();
+			String[] bwlists = bwids.split(",");
+			for (String bw : bwlists) {
+				BwEntity bwentity = bwService.findOne(bw);
+				BwVo bwvo = new BwVo();
+				if (bwentity != null) {
+					BeanUtils.copyProperties(bwentity, bwvo);
+					bwvo.setSzdzw(bwentity.getSzd() != null ? bwentity.getSzd().getText() : "");
+					bwvo.setSzgkzw(bwentity.getSzgk() != null ? bwentity.getSzgk().getGkmc() : "");
+					bwvo.setSzgqzw(bwentity.getSzgq() != null ? bwentity.getSzgq().getGqmc() : "");
+					bwvo.setSsjyrzw(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getGkjyr() : "");
+					bwvo.setSsmtzw(bwentity.getSsmt() != null ? bwentity.getSsmt().getMtmc() : "");
+					bwvo.setBwsxzw(bwentity.getBwsx() != null ? bwentity.getBwsx().getText() : "");
+					bwvo.setFwlxzw(bwentity.getFwlx() != null ? bwentity.getFwlx().getText() : "");
+					bwvo.setWxpbwzw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getText() : "");
+					bwvo.setZyhbwflzw(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getText() : "");
+					bwvo.setSffzzw(bwentity.getSffz() != null ? bwentity.getSffz().getText() : "");
+					bwvo.setSfdwkfzw(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getText() : "");
+					bwvo.setBwszsxzw(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getText() : "");
+					bwvo.setSclxzw(bwentity.getSclx() != null ? bwentity.getSclx().getText() : "");
+					bwvo.setJgxszw(bwentity.getJgxs() != null ? bwentity.getJgxs().getText() : "");
+					bwvo.setKbcblxzw(bwentity.getKbcblx() != null ? bwentity.getKbcblx().getText() : "");
+
+					bwvo.setSszyq(bwentity.getSszyq() != null ? bwentity.getSszyq().getId() : "");
+					bwvo.setSszyqzw(bwentity.getSszyq() != null ? bwentity.getSszyq().getZyqmc() : "");
+					bwvo.setZls(bwentity.getZls() != null ? bwentity.getZls().getId() : "");
+					bwvo.setZlszw(bwentity.getZls() != null ? bwentity.getZls().getText() : "");
+					bwvo.setXp(bwentity.getXp() != null ? bwentity.getXp().getId() : "");
+					bwvo.setXpzw(bwentity.getXp() != null ? bwentity.getXp().getText() : "");
+					bwvo.setBwszhd(bwentity.getBwszhd() != null ? bwentity.getBwszhd().getText() : "");
+
+					if (bwentity.getBwyt() != null) {
+						String bwytzw = "";
+						String[] s = bwentity.getBwyt().split(",");
+
+						for (int i = 0; i < s.length; i++) {
+							CodeEntity ce = securityMgr.codeService().findOne(s[i]);
+							if (ce != null) {
+								bwytzw += ce.getText();
+								if (i != s.length - 1) {
+									bwytzw += ",";
+								}
+							}
+						}
+						bwvo.setBwytzw(bwytzw);
+					}
+					bwvo.setSzd(bwentity.getSzd() != null ? bwentity.getSzd().getId() : "");
+					bwvo.setSzgk(bwentity.getSzgk() != null ? bwentity.getSzgk().getId() : "");
+					bwvo.setSzgq(bwentity.getSzgq() != null ? bwentity.getSzgq().getId() : "");
+					bwvo.setSsjyr(bwentity.getSsjyr() != null ? bwentity.getSsjyr().getId() : "");
+					bwvo.setSsmt(bwentity.getSsmt() != null ? bwentity.getSsmt().getId() : "");
+					bwvo.setBwsx(bwentity.getBwsx() != null ? bwentity.getBwsx().getId() : "");
+					bwvo.setFwlx(bwentity.getFwlx() != null ? bwentity.getFwlx().getId() : "");
+					bwvo.setWxpbw(bwentity.getWxpbw() != null ? bwentity.getWxpbw().getId() : "");
+					bwvo.setZyhbwfl(bwentity.getZyhbwfl() != null ? bwentity.getZyhbwfl().getId() : "");
+					bwvo.setSffz(bwentity.getSffz() != null ? bwentity.getSffz().getId() : "");
+					bwvo.setSfdwkf(bwentity.getSfdwkf() != null ? bwentity.getSfdwkf().getId() : "");
+					bwvo.setBwszsx(bwentity.getBwszsx() != null ? bwentity.getBwszsx().getId() : "");
+					bwvo.setSclx(bwentity.getSclx() != null ? bwentity.getSclx().getId() : "");
+					bwvo.setJgxs(bwentity.getJgxs() != null ? bwentity.getJgxs().getId() : "");
+					slist.add(bwvo);
+				}
+			}
+			model.addAttribute("bwlist", slist);
+		}
+	}
+
 	@RequestMapping(value = "/submit")
 	@ResponseBody
 	public WebJsonResult submit(Model model, XmxxglEntity code, String fjzdids, String accids, String xmlxid, String tzlxid, String xmhzjbid, String axspjbid, String szgkid, String szgqid, String qtfjzdids, String qtfjids, String delid11, String zyhbwflid) {
@@ -1438,23 +1515,25 @@ public class JsjdglCtl extends BaseWebCtl {
 				}
 			}
 		} else {
-			if ("3".equals(spflag)) {
-				if (StringUtils.isEmpty(delid34)) {
-					wr.setSuccess(false);
-					wr.setMessage("请上传审查会议纪要!");
-					return wr;
-				} else if (StringUtils.isEmpty(delid35)) {
-					wr.setSuccess(false);
-					wr.setMessage("请上传专家审查意见!");
-					return wr;
-				} else if (StringUtils.isEmpty(delid36)) {
-					wr.setSuccess(false);
-					wr.setMessage("请上传对审查意见的答复!");
-					return wr;
-				} else if (StringUtils.isEmpty(delid38)) {
-					wr.setSuccess(false);
-					wr.setMessage("请上传初步设计文件报批稿!");
-					return wr;
+			if (flag) {
+				if ("3".equals(spflag)) {
+					if (StringUtils.isEmpty(delid34)) {
+						wr.setSuccess(false);
+						wr.setMessage("请上传审查会议纪要!");
+						return wr;
+					} else if (StringUtils.isEmpty(delid35)) {
+						wr.setSuccess(false);
+						wr.setMessage("请上传专家审查意见!");
+						return wr;
+					} else if (StringUtils.isEmpty(delid36)) {
+						wr.setSuccess(false);
+						wr.setMessage("请上传对审查意见的答复!");
+						return wr;
+					} else if (StringUtils.isEmpty(delid38)) {
+						wr.setSuccess(false);
+						wr.setMessage("请上传初步设计文件报批稿!");
+						return wr;
+					}
 				}
 			}
 
@@ -1818,6 +1897,22 @@ public class JsjdglCtl extends BaseWebCtl {
 		vo.setAxspjb(entity.getAxspjb() != null ? entity.getAxspjb().getId() : "");
 		vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
 		vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+		if (StringUtils.isNotEmpty(entity.getXmbm())) {
+			String codeid = entity.getXmbm().substring(4, 10);
+			CodeEntity code = securityMgr.codeService().findOne(codeid);
+			model.addAttribute("xzqhname", code.getText());
+		}
+		String bwids = "";
+		List<XmbwglbEntity> bwlist = xmbwglbService.findByXmid(entity.getId());
+		if (bwlist != null && bwlist.size() > 0) {
+			model.addAttribute("bwgs", bwlist.size());
+			for (XmbwglbEntity xmbw : bwlist) {
+				bwids = bwids + xmbw.getBwid() + ",";
+			}
+			bwids = bwids.substring(0, bwids.length() - 1);
+			getbwlist(model, bwids);
+		}
+		vo.setBwids(bwids);
 		model.addAttribute("record", vo);
 		model.addAttribute("jyr", entity.getJyrid());