Browse Source

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

ld_xuhx 9 years ago
parent
commit
e07521040a
31 changed files with 7065 additions and 184 deletions
  1. 1306 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jgsq/jgsqdsdetail.js
  2. 106 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jgsq/jgsqdsmain.js
  3. 1396 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdcbsj/jsjdcbsjdsdetail.js
  4. 131 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdcbsj/jsjdcbsjdsmain.js
  5. 3 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdgl/jsjdgldetail.js
  6. 59 0
      gkjsjy/trunk/WebContent/static/biz/js/gkjygl/gklhxkgl/gkjylhbg/lhbgdetail.js
  7. 49 47
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqCtl.java
  8. 1743 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqdsCtl.java
  9. 4 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/dao/JgsqfjDao.java
  10. 11 1
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/entity/JgsqEntity.java
  11. 20 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqdsService.java
  12. 3 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqfjService.java
  13. 110 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqdsServiceImpl.java
  14. 7 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqfjServiceImpl.java
  15. 21 11
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/vo/JgsqVo.java
  16. 3 3
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdbg/ctl/JsjdbgdsCtl.java
  17. 10 10
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjCtl.java
  18. 1664 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjdsCtl.java
  19. 5 2
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/dao/JsjdcbsjfjDao.java
  20. 16 6
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/entity/JsjdcbsjEntity.java
  21. 26 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjdsService.java
  22. 2 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjfjService.java
  23. 137 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjdsServiceImpl.java
  24. 7 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjfjServiceImpl.java
  25. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/vo/JsjdcbsjVo.java
  26. 6 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/ctl/DcCtl.java
  27. 54 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/ctl/LhbgCtl.java
  28. 10 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/entity/LhbgEntity.java
  29. 20 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/vo/LhbgVo.java
  30. 63 88
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhsq/ctl/LhsqCtl.java
  31. 64 9
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhyx/ctl/LhyxCtl.java

+ 1306 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jgsq/jgsqdsdetail.js

@@ -0,0 +1,1306 @@
+
+$.namespace("jgsqds.detail");
+
+jgsqds.detail.szd =null;
+jgsqds.detail.gk=null;
+jgsqds.detail.gq=null;
+jgsqds.detail.taskKey=null;
+jgsqds.detail.opflag = null;
+jgsqds.detail.hqflag == null
+jgsqds.detail.init=function(){
+}
+
+jgsqds.detail.viewBw=function(id){
+	$('#selectbwdiv').fadeIn(100);
+	$('#selectbw2div').slideDown(0);
+	showBw(id);
+}
+jgsqds.detail.download= function(scflag){
+	var id=$("#delid"+scflag).val();
+	location.href=$.app+"/accessory/download?id="+id;	
+}	
+
+//删除附件字段文本框对应数据
+jgsqds.detail.delfjzdIds = function(data){
+	var ids = $('#fjzdids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(2,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#fjzdids').val(ids);
+}
+
+// 删除附件文本框对应数据
+jgsqds.detail.delIds = function(data){
+	var ids = $('#accids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(2,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#accids').val(ids);
+}
+
+jgsqds.detail.delfjzd=function(data){
+	 $.post($.app + "/jgsqds/delFjzd?id="+data, {}, function(data, status) {
+		 if (data.success) {
+         } 
+		
+	 }, "json");
+}
+
+jgsqds.detail.delFile = function(scflag){
+	  if (true) {
+		  $.confirm({
+			    title: '确认框',
+			    content: '确认删除吗',
+			    confirm: function(){
+			    	// 确认删除
+			    	id=$("#delid"+scflag).val();
+			    	fjzdid=$("#fjzdid"+scflag).val();
+			    	//删除附件字段
+			    	jgsqds.detail.delfjzd(fjzdid);
+	                $.post($.app + "/jgsqds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                    	//删除附件字段文本框内容
+	                    	jgsqds.detail.delfjzdIds(fjzdid);
+	                    	//删除附件文本框内容
+	                    	jgsqds.detail.delIds(id);
+	                        $("#"+id).remove();
+	                        $("#delid"+scflag).val("");
+	                        $("#wjh1").val("");
+	                        $("#fbdw1").val("");
+	                        $("#fbsj1").val("");
+	                        $("#fbdw"+scflag).text("");
+	                        $("#fbsj"+scflag).text("");
+	                        $("#fjmc"+scflag).text("");
+	                        $("#wjh"+scflag).text("");
+	                    	$("#scbt"+scflag).hide();
+	                    	$("#tjbt"+scflag).show();
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+			    },
+			    cancel: function(){
+			    }
+			});
+	  }
+}
+
+//附件关闭
+jgsqds.detail.guanbipop=function(){
+	var accid=$("#accid").val();
+	if(accid!=null){
+		$.confirm({
+		    title: '提示框',
+		    content: '您已上传附件,是否保存?',
+		    confirm: function(){
+		    jgsqds.detail.xinzengfj();
+		    },
+		    cancel: function(){
+		    	var flag=$("#flag").val();
+		    	var id=$("#accid").val();
+		    	 $.post($.app + "/jgsqds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                     $("#fjmc"+flag).html("");
+	                     $("#fjxq").empty();
+	                     $("#scfjbt").removeAttr("style");
+	 	                 $("#delid"+flag).val("");
+	 	                 jgsqds.detail.delIds(id);
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+		    }
+		});
+	}
+	$('.theme-popover-mask').fadeOut(100);
+	$('.theme-popover').slideUp(0);
+}
+
+
+jgsqds.detail.xinzengfj=function(){
+	var i=$("#flag").val();
+	$('.theme-popover-mask').fadeOut(100);
+	$('.theme-popover').slideUp(0);
+	$("#wjh"+i).text($("#wjh1").val());
+	$("#fbsj"+i).text($("#fbsj1").val());
+	$("#fbdw"+i).text($("#fbdw1").val());
+	 $("#tjbt"+i).toggle();
+	 if(jgsqds.detail.xiugaiflag==1){
+	 $("#scbt"+i).toggle();
+	 }
+	 var strbt="";
+  	 strbt+="删除";
+  	 $("#scbt"+i).empty();
+  	 $("#scbt"+i).append(strbt);
+  	 $("#scbt"+i).attr("class","btn btn-default btn-sm");
+  	 $("#scbt"+i).attr("href","#");
+  	 $("#scbt"+i).attr("onclick","jgsqds.detail.delFile('"+i+"')");
+  	 $("#scbt"+i).removeAttr("style");
+	 $.ajax({
+         url:$.app+"/jgsqds/savefj",
+         data:$("#addform").serialize(),
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+	        	   var strVal=$("#fjzdids").val()+i+data.message+",";
+  			    	$("#fjzdids").val(strVal);
+  			    	var str = data.message;
+  			    	 $("#fjzdid"+i).val(str);
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+}
+
+//添加附件弹出				
+jgsqds.detail.tianjiafj=function(i){
+	$("#flag").val(i);
+	$("#wjh1").val("");
+	$("#fbsj1").val("");
+	$("#fbdw1").val("");
+	$("#fjmc1").html("");
+	$("#fjxq").empty();
+	$("#scfjbt").removeAttr("style");
+	$('#theme-popover-mask').fadeIn(100);
+	$('#theme-popover').slideDown(0);
+}
+
+
+//构建政府投资额占比变化事件	
+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");
+	}
+	
+};
+
+jgsqds.detail.back=function(){
+	location.href=$.app+"/jgsqds/main";
+}
+
+van=function(a,b){
+	if(!isFDS(a.val())){
+		ts(b+"必须为正数",a);
+		return false;
+	}
+};
+
+jgsqds.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+"/jgsqds/save",
+         data:$("#addform").serialize(),
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jgsqds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+}
+	 
+	
+
+jgsqds.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+"/jgsqds/submit",
+        data:$("#addform").serialize(),
+        type:"post",
+        dataType:"json",
+        success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jgsqds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+   }); 
+}
+	
+//  构建项目类型下拉	
+	function initXmlxSelect(divid,existVal,width){
+		$.post($.app+"/jgsqds/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+"/jgsqds/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+"/jgsqds/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+"/jgsqds/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");
+}
+	
+				jgsqds.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");
+};
+
+jgsqds.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属性,
+jgsqds.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属性,
+ jgsqds.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属性,
+ jgsqds.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");
+}
+ 
+ 
+ 
+ jgsqds.detail.audit=function(auditpass,id){
+	/* if(auditpass=="Y" && jgsqds.detail.taskKey != 'ldpz' && jgsqds.detail.hqflag  == 'true'){
+		 if(isEmpty($('#userids').val())){
+			 $.alert({
+	       		    title: '提示',
+	       		    content: "请选择人员!!!",
+	       		    confirm: function(){
+	       		    	$(".btn").attr("disabled",false);
+	       		    }
+	           	});
+			 return false;
+		 }
+	 } 
+*/
+	$(".btn").attr("disabled",true);
+	var opflag = $('#opflag').val();
+	var shyj = $('#yj').val();
+	var audit;
+	if(auditpass=="Y"){
+		audit=true;
+	}else{
+		audit=false;
+	}
+	$.post($.app + "/jgsqds/audit", {
+		id:id,
+        shyj:shyj,
+        flag:audit,
+        userids:$('#userids').val(),
+        accid:$('#accids').val(),
+        delid34:$('#delid83').val(),
+		delid35:$('#delid84').val(),
+		delid36:$('#delid85').val(),
+		fjzdids:$('#fjzdids').val()
+    }, function(data) {
+    	if (data.success) {
+           	$.alert({
+       		    title: '提示',
+       		    content: '操作成功',
+       		    confirm: function(){
+       		    	jgsqds.detail.back();
+       		    }
+           	});
+       }else {
+           	$.alert({
+       		    title: '提示',
+       		    content: data.message,
+       		    confirm: function(){
+       		    	$(".btn").attr("disabled",false);
+       		    }
+           	});
+       }
+    	
+    }, "json");
+};
+
+jgsqds.detail.saveFile = function(){
+	 var i=$("#flag").val();
+	 if($('#fjid').val()==''){
+	        return;
+	    }
+	 $('#addform')
+		.form(
+				'submit',
+				{
+					url : $.app + '/jgsqds/saveFile',
+					onSubmit : function() {
+					},
+					success : function(data, status) {
+	            var file = $('#fjid');
+	            file.after(file.clone().val(""));
+	            file.remove();
+	            if (data) {
+	            	data = data.replace("<audio controls=\"controls\" style=\"display: none;\"></audio>","");
+	                data = $.parseJSON(data);
+	            }
+	            if (data.success) {
+	            	$("#scfjbt").attr("style","display:none;");
+	                var accContect = data.attrs.acc.name;
+	                var accid = data.attrs.acc.id;
+	                var str = "";
+	                str = "<span id='fjmc1'>" 
+	                      + "<input value='"+accid+"' id='accid' name='accid' type='hidden'>" 
+	                      + "<a class='main_title' href='/jsjy/accessory/download?id="+ accid +"'> " + accContect +"</a>"+"</span>";
+	                str+="<a class='main_title' onclick=\"jgsqds.detail.delFj('"+ accid +"','"+i+"');\" >删除文件</a>"
+	                $("#fjxq").empty();
+	                $("#fjxq").append(str);
+	                //给附件id集文本框赋值
+	                var strVal=$("#accids").val()+i+accid+",";
+			    	$("#accids").val(strVal);
+	                $("#fjmc"+i).text(accContect);
+	                //给附件id文本框赋值
+	                $("#delid"+i).val(accid);
+	                accContect = "";
+	                $("#fileid").val("");
+	                $("#scfjbt").hide();
+	            }
+	            else {
+	            	$.alert({
+						title : '提示',
+						content : data.message,
+						confirm : function() {
+						}
+					});
+	            }
+	        }
+	    });
+}
+
+
+jgsqds.detail.submitFile = function(){
+	$('#addform').form('submit',{
+		url : $.app + '/jgsqds/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="jgsqds.detail.delFj(\''
+						+ accid
+						+ '\','
+						+ '$(this)'
+						+ ')">删除</a>' +"</td></tr>";
+				$('#tableId').append(str);
+			} else {
+				$.messager.showError(data.message);
+			}
+		}
+	});
+}
+
+//删除accid 附件关联ID,id 是第几行附件
+jgsqds.detail.delFj = function(accid, tr) {
+	$.confirm({
+		title : '确认框',
+		content : '确认删除吗',
+		confirm : function() {
+			$.post($.app + "/jgsqds/delFile", {
+				accid : accid
+			}, function(data) {
+				if (data.success) {
+					$(tr).parent().parent().remove();
+				} else {
+					$.alert({
+						title : '提示',
+						content : data.message,
+						confirm : function() {
+						}
+					});
+				}
+			}, "json");
+		},
+		cancel : function() {
+		}
+	});
+}
+
+jgsqds.detail.submitAudit=function(){
+	
+	 $(".btn").attr("disabled",true);
+	 $.ajax({
+     url:$.app+"/jgsqds/submit",
+     data:$("#addform").serialize(),
+     type:"post",
+     dataType:"json",
+     success:function(data){//ajax返回的数据
+	           if (data.success) {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: '操作成功',
+		       		    confirm: function(){
+		       		    location.href=$.app+'/jgsqds/main';
+		       		    }
+		           	});
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+}); 
+}
+
+function showRy() {
+	$('#selectrydiv').fadeIn(100);
+	$('#selectry2div').slideDown(0);
+}
+
+function showYj() {
+	$('#selectyjdiv').fadeIn(100);
+	$('#selectyj2div').slideDown(0);
+}
+
+function pageinfo4(){
+    $("#pagesize").change(function() {
+        $("#pagejump").val(1);
+        jgsqds.detail.xmxxxz();
+    });
+    $("#pagesize").val($("#pagesize").attr("num"));
+    $("#pagefirst").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(1);
+            jgsqds.detail.xmxxxz();
+        }
+    });
+    $("#pageprev").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(parseInt($("#pagecur").val()) - 1);
+            jgsqds.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;
+                    }
+                    jgsqds.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);
+            jgsqds.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());
+            jgsqds.detail.xmxxxz();
+        }
+    });
+    
+}
+
+
+jgsqds.detail.xmxxxz=function(){
+	 pageinfo4();
+	 $.ajax({
+		 url:$.app+"/jgsqds/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=\"jgsqds.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(){
+		       		    }
+		           	});	 
+		 }
+		 }
+	    });
+	}
+
+jgsqds.detail.choose=function(id){
+	/*$.post($.app + "/jgsqds/isExit", {
+        id : id
+    }, function(data) {
+        if (data.success) {*/
+        	location.href=$.app+"/jgsqds/choose?id="+id;
+     /*   } else {
+       	 $.alert({
+    		    title: '提示',
+    		    content: data.message,
+    		    confirm: function(){
+    		    	 $(".btn").attr("disabled",false);
+    		    }
+    	 });
+        }
+    }, "json");*/
+	
+}
+
+
+jgsqds.detail.saveTbzt=function(data){
+	 $(".btn").attr("disabled",true);
+	 $.post($.app + "/jgsqds/saveTbzt", {
+         id : data
+     }, function(data) {
+         if (data.success) {
+        	 $.alert({
+        		    title: '提示',
+        		    content: '转报省级成功',
+        		    confirm: function(){
+        		    	location.href=$.app+'/jgsqds/main';
+        		    }
+        	 });
+         } else {
+        	 $.alert({
+     		    title: '提示',
+     		    content: data.message,
+     		    confirm: function(){
+     		    	 $(".btn").attr("disabled",false);
+     		    }
+     	 });
+         }
+     }, "json");
+}
+
+
+jgsqds.detail.qtfjguanbipop=function(){
+	var accid=$("#qtfjid").val();
+	if(accid!=null&&accid!=undefined&&accid!=""){
+		$.confirm({
+		    title: '提示框',
+		    content: '您已上传附件,是否保存?',
+		    confirm: function(){
+		    jgsqds.detail.xinzengqtfj();
+		    },
+		    cancel: function(){
+		    	var flag=$("#flag").val();
+		    	var id=$("#qtfjid").val();
+		    	$.post($.app + "/jgsqds/delFile?id="+id, {}, function(data, status) {
+                    if (data.success) {
+                     $("#qtfjxq").empty();
+                     $("#scqtfjbt").removeAttr("style");
+ 	                 $("#qtfjid").val("");
+ 	                 jgsqds.detail.delqtIds(id);
+	                 } else {
+	                	 $.alert({
+	             		    title:'提示',
+	             		    content: data.message,
+	             		    confirm: function(){
+	             		    }
+	             	 });
+	                 }
+	             }, "json");
+		    }
+		});
+	}
+	$('#qtfjmask').fadeOut(100);
+	$('#qtfjpopover').slideUp(0);
+}
+
+
+jgsqds.detail.qtfj = function(){
+	$('#qtfjmask').fadeIn(100);
+	$('#qtfjpopover').slideDown(0);
+	$("#qtfjxq").empty();
+	$("#scqtfjbt").removeAttr("style");
+}
+
+jgsqds.detail.saveQtfj = function(){
+	 opflag=jgsqds.detail.opflag;
+	 if($('#fjid').val()==''){
+	        return;
+	    }
+	    $('#addform').form('submit', {
+	        url : $.app + '/jgsqds/saveQtfj',
+	        success : function(data, status) {
+	            var file = $('#fjid');
+	            file.after(file.clone().val(""));
+	            file.remove();
+	            if (data) {     
+	            	data = data.replace("<audio controls=\"controls\" style=\"display: none;\"></audio>","");
+	                data = $.parseJSON(data);
+	            }
+	            if (data.success) {
+	            	$("#scqtfjbt").attr("style","display:none;");
+	                var accContect = data.attrs.acc.name;
+	                var qtfjdid = data.attrs.acc.id;
+	                $("#qtfjid").val(qtfjdid);
+	                var str = "";
+	                str = "<span id='fjmc'>" 
+	                      + "<input value='"+qtfjdid+"' name='qtfjdid' type='hidden'>" 
+	                      + "<a class='main_title' href='/jsjy/accessory/download?id="+ qtfjdid +"'> " + accContect +"</a>"
+	                	  + "</span>";
+	                str+="<a class='main_title' onclick=\"jgsqds.detail.delqtFile('"+ qtfjdid +"');\" >删除文件</a>";
+	                $("#qtfjxq").empty();
+	                $("#qtfjxq").append(str);
+	                //给附件id集文本框赋值
+	                var strVal=$("#qtfjids").val()+qtfjdid+",";
+ 			    	$("#qtfjids").val(strVal);
+ 			    	 $("#scfjbt").hide();
+	            }
+	            else {
+	                $.messager.showError(data.message);
+	            }
+	        }
+	    });
+}
+
+jgsqds.detail.xinzengqtfj=function(){
+//	var i=$("#flag").val();
+	if(isEmpty($("#qtfjid").val())){
+		$.alert({
+   		    title: '提示',
+   		    content: "请上传附件",
+   		    confirm: function(){
+   		    }
+       	});
+		return false;
+	}
+
+	opflag=8;
+	$('#qtfjmask').fadeOut(100);
+	$('#qtfjpopover').slideUp(0);
+	 $("#qtfjxq").empty();
+	 $.ajax({
+         url:$.app+"/jgsqds/xinzengqtfj",
+       /*  data:$("#addform").serialize(),*/
+         data:{
+        	 opflag:opflag,
+        	 qtfjid: $("#qtfjid").val(),
+        	 qtwjh:$("#wjh").val(),
+        	 qtfbsj:$("#fbsj").val(),
+        	 qtfbdw:$("#fbdw").val()
+         },
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+	        	  var strVal=$("#qtfjzdids").val()+data.message+",";
+  			      $("#qtfjzdids").val(strVal);
+  			    //如果操作成功,显示附件列表  
+  			    $.ajax({
+  			         url:$.app+"/jgsqds/qtfjlb",
+  			         type:"post",
+  			         data:{
+  			        	id:$("#id").val(),
+  			        	opflag:$("#opflag").val(),
+  			        	qtfjid:$("#qtfjid").val()
+  			         },
+  			         dataType:"json",
+  			         success:function(data){//ajax返回的数据
+  				           if (data) {
+  				           var str="";
+  				           //当前table中tr的个数
+  				         var trlength =$("#tb").find("tr").length;
+  				           if(opflag!=null){
+  				        	 trlength=$("#tb"+opflag).find("tr").length;   
+  				           }
+  				        	    qtfj=data;
+  				        	    var accContect=qtfj.fjmc;
+  				        	    var fjdid=qtfj.fjid;
+  				        	    var fjzdid=qtfj.id;
+  				        	    str +="<tr id='"+fjdid+"' height=\"40px\">";
+  				                str +="<td>"+trlength+"</td>";	
+  				                str +="<td>"+"其他附件"+"</td>";
+  				                str +="<td>"+ "<span id='fjmc'>" 
+  			                          + "<a class='main_title' href='/jsjy/accessory/download?id="+ fjdid +"'> " + accContect +"</a>"
+  			              	          + "<a onclick='jgsqds.detail.delFile(\""+ fjdid +"\");' ></a></span>"+"</td>";
+  				                if(qtfj.fbdw!=null){
+  				                	str +="<td>"+qtfj.fbdw+"</td>";	
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                if(qtfj.wjh!=null){
+  				                str +="<td>"+qtfj.wjh+"</td>";
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                if(qtfj.wjh!=null){
+  				                str +="<td>"+qtfj.fbsj+"</td>";
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                str+="<td >" +
+  								"<a class=\"btn btn-default btn-sm\" href=\"#\" onclick=\"jgsqds.detail.delqtfj('"+fjdid+"','"+fjzdid+"')\">"+
+  								"删除</a>"
+  											          +"</td>";
+  				                str +="</tr>"
+  				               /* $("#qtfjtb"+opflag).empty();*/
+  				                if(opflag!=null){
+  				                $("#qtfjtb"+opflag).append(str);	
+  				                }else{
+  				                $("#qtfjtb").append(str);		
+  				                }
+  				           }
+  				           }
+  			    });  
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+	 $("#wjh").val("");
+	 $("#fbsj").val("");
+	 $("#fbdw").val("");
+}
+//其他附件删除,需删除附件和字段数据库内容、文本框内容、页面tr内容
+jgsqds.detail.delqtfj=function(fjdid,fjzdid){
+	  if (true) {
+		  $.confirm({
+			    title: '确认框',
+			    content: '确认删除吗',
+			    confirm: function(){
+			    	//删除附件字段
+			    	jgsqds.detail.delfjzd(fjzdid);
+			    	var id=fjdid;
+	                $.post($.app + "/jgsqds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                    	//删除附件字段文本框内容
+	                    	jgsqds.detail.delqtfjzdIds(fjzdid);
+	                    	//删除附件文本框内容
+	                    	jgsqds.detail.delqtIds(id);
+	                    	$("tr[id='"+fjdid+"']").remove();
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+			    },
+			    cancel: function(){
+			    }
+			});
+	  }
+}
+
+//删除附件字段文本框对应数据
+jgsqds.detail.delqtfjzdIds = function(data){
+	var ids = $('#qtfjzdids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(0,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#qtfjzdids').val(ids);
+}
+
+//删除附件文本框对应数据
+jgsqds.detail.delqtIds = function(data){
+	var ids = $('#qtfjids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(0,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#qtfjids').val(ids);
+}

+ 106 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jgsq/jgsqdsmain.js

@@ -0,0 +1,106 @@
+
+$.namespace("jgsqds.main");
+
+jgsqds.main.init=function(){
+	//把form传入,构造翻页控件
+	pageinfo($("#jgsqdsform"));	
+}
+
+jgsqds.main.search=function(){
+	$('#pagejump').val(1);
+	$("#jgsqdsform").submit();
+}
+
+
+jgsqds.main.del=function(data){
+		$.confirm({
+		    title: '确认框',
+		    content: '确认删除吗',
+		    confirm: function(){
+		    	 $.post($.app + "/jgsqds/delete", {
+	                 id : data
+	             }, function(data) {
+	                 if (data.success) {
+	                	 $.alert({
+	                		    title: '提示',
+	                		    content: '删除成功',
+	                		    confirm: function(){
+	                		    $("#jgsqdsform").submit();
+	                		    }
+	                	 });
+	                 } else {
+	                	 $.alert({
+	             		    title: '提示',
+	             		    content: data.message,
+	             		    confirm: function(){
+	             		        
+	             		    }
+	             	 });
+	                 }
+	             }, "json");
+		    },
+		    cancel: function(){
+		        
+		    }
+		});
+}
+
+jgsqds.main.edit=function(data){
+	location.href=$.app+"/jgsqds/edit?id="+data;
+}
+
+jgsqds.main.view=function(data){
+	location.href=$.app+"/jgsqds/view?id="+data;
+}
+
+/**
+ * 弹出新增页面
+ * */
+jgsqds.main.add=function(){
+	location.href=$.app+"/jgsqds/add";
+}
+
+jgsqds.main.viewXmjd = function(data){
+	location.href=$.app+"/jsjdgl/view?id="+data;
+}
+
+jgsqds.main.viewNdjh = function(data){
+	location.href=$.app+"/tzjhgl/main?xmid="+data;
+
+}
+
+jgsqds.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");
+};
+
+jgsqds.main.banli = function(data) {
+	location.href = $.app + "/jgsqds/view?flag=audit&id=" + data;
+}
+
+jgsqds.main.back=function(data){
+	location.href = $.app + "/jgsqds/edit?flag=th&id=" + data;
+}

+ 1396 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdcbsj/jsjdcbsjdsdetail.js

@@ -0,0 +1,1396 @@
+$.namespace("jsjdcbsjds.detail");
+
+jsjdcbsjds.detail.szd = null;
+jsjdcbsjds.detail.gk = null;
+jsjdcbsjds.detail.gq = null;
+jsjdcbsjds.detail.taskKey = null;
+jsjdcbsjds.detail.opflag = null;
+jsjdcbsjds.detail.hqflag = null;
+jsjdcbsjds.detail.init = function() {
+}
+
+jsjdcbsjds.detail.viewBw=function(id){
+	$('#selectbwdiv').fadeIn(100);
+	$('#selectbw2div').slideDown(0);
+	showBw(id);
+}
+
+jsjdcbsjds.detail.download= function(scflag){
+	var id=$("#delid"+scflag).val();
+	location.href=$.app+"/accessory/download?id="+id;	
+	
+}	
+
+//删除附件字段文本框对应数据
+jsjdcbsjds.detail.delfjzdIds = function(data){
+	var ids = $('#fjzdids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(2,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#fjzdids').val(ids);
+}
+
+// 删除附件文本框对应数据
+jsjdcbsjds.detail.delIds = function(data){
+	var ids = $('#accids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(2,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#accids').val(ids);
+}
+
+jsjdcbsjds.detail.delfjzd=function(data){
+	 $.post($.app + "/jsjdcbsjds/delFjzd?id="+data, {}, function(data, status) {
+		 if (data.success) {
+         } 
+		
+	 }, "json");
+}
+
+jsjdcbsjds.detail.delFile = function(scflag){
+	  if (true) {
+		  $.confirm({
+			    title: '确认框',
+			    content: '确认删除吗',
+			    confirm: function(){
+			    	// 确认删除
+			    	id=$("#delid"+scflag).val();
+			    	fjzdid=$("#fjzdid"+scflag).val();
+			    	//删除附件字段
+			    	jsjdcbsjds.detail.delfjzd(fjzdid);
+	                $.post($.app + "/jsjdcbsjds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                    	//删除附件字段文本框内容
+	                    	jsjdcbsjds.detail.delfjzdIds(fjzdid);
+	                    	//删除附件文本框内容
+	                    	jsjdcbsjds.detail.delIds(id);
+	                        $("#"+id).remove();
+	                        $("#delid"+scflag).val("");
+	                        $("#wjh1").val("");
+	                        $("#fbdw1").val("");
+	                        $("#fbsj1").val("");
+	                        $("#fbdw"+scflag).text("");
+	                        $("#fbsj"+scflag).text("");
+	                        $("#fjmc"+scflag).text("");
+	                        $("#wjh"+scflag).text("");
+	                    	$("#scbt"+scflag).hide();
+	                    	$("#tjbt"+scflag).show();
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+			    },
+			    cancel: function(){
+			    }
+			});
+	  }
+}
+
+//附件关闭
+jsjdcbsjds.detail.guanbipop=function(){
+	var accid=$("#accid").val();
+	if(accid!=null){
+		$.confirm({
+		    title: '提示框',
+		    content: '您已上传附件,是否保存?',
+		    confirm: function(){
+		    jsjdcbsjds.detail.xinzengfj();
+		    },
+		    cancel: function(){
+		    	var flag=$("#flag").val();
+		    	var id=$("#accid").val();
+		    	 $.post($.app + "/jsjdcbsjds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                     $("#fjmc"+flag).html("");
+	                     $("#fjxq").empty();
+	                     $("#scfjbt").removeAttr("style");
+	 	                 $("#delid"+flag).val("");
+	 	                 jsjdcbsjds.detail.delIds(id);
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+		    }
+		});
+	}
+	$('.theme-popover-mask').fadeOut(100);
+	$('.theme-popover').slideUp(0);
+}
+
+
+jsjdcbsjds.detail.xinzengfj=function(){
+	var i=$("#flag").val();
+	$('.theme-popover-mask').fadeOut(100);
+	$('.theme-popover').slideUp(0);
+	$("#wjh"+i).text($("#wjh1").val());
+	$("#fbsj"+i).text($("#fbsj1").val());
+	$("#fbdw"+i).text($("#fbdw1").val());
+	 $("#tjbt"+i).toggle();
+	 if(jsjdcbsjds.detail.xiugaiflag==1){
+	 $("#scbt"+i).toggle();
+	 }
+	 var strbt="";
+  	 strbt+="删除";
+  	 $("#scbt"+i).empty();
+  	 $("#scbt"+i).append(strbt);
+  	 $("#scbt"+i).attr("class","btn btn-default btn-sm");
+  	 $("#scbt"+i).attr("href","#");
+  	 $("#scbt"+i).attr("onclick","jsjdcgsj.detail.delFile('"+i+"')");
+  	 $("#scbt"+i).removeAttr("style");
+	 $.ajax({
+         url:$.app+"/jsjdcbsjds/savefj",
+         data:$("#addform").serialize(),
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+	        	   var strVal=$("#fjzdids").val()+i+data.message+",";
+  			    	$("#fjzdids").val(strVal);
+  			    	var str = data.message;
+  			    	 $("#fjzdid"+i).val(str);
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+}
+
+//添加附件弹出				
+jsjdcbsjds.detail.tianjiafj=function(i){
+	$("#flag").val(i);
+	$("#wjh1").val("");
+	$("#fbsj1").val("");
+	$("#fbdw1").val("");
+	$("#fjmc1").html("");
+	$("#fjxq").empty();
+	$("#scfjbt").removeAttr("style");
+	$('#theme-popover-mask').fadeIn(100);
+	$('#theme-popover').slideDown(0);
+}
+
+//构建政府投资额占比变化事件	
+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");
+	}
+	
+};
+
+jsjdcbsjds.detail.back = function() {
+	location.href = $.app + "/jsjdcbsjds/main";
+}
+
+van = function(a, b) {
+	if (!isFDS(a.val())) {
+		ts(b + "必须为正数", a);
+		return false;
+	}
+};
+
+jsjdcbsjds.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 + "/jsjdcbsjds/save",
+		data : $("#addform").serialize(),
+		type : "post",
+		dataType : "json",
+		success : function(data) {// ajax返回的数据
+			if (data.success) {
+				$.alert({
+					title : '提示',
+					content : '操作成功',
+					confirm : function() {
+						location.href = $.app + '/jsjdcbsjds/main';
+					}
+				});
+			} else {
+				$.alert({
+					title : '提示',
+					content : data.message,
+					confirm : function() {
+						$(".btn").attr("disabled", false);
+					}
+				});
+			}
+		}
+	});
+}
+
+jsjdcbsjds.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 + "/jsjdcbsjds/submit",
+		data : $("#addform").serialize(),
+		type : "post",
+		dataType : "json",
+		success : function(data) {// ajax返回的数据
+			if (data.success) {
+				$.alert({
+					title : '提示',
+					content : '操作成功',
+					confirm : function() {
+						location.href = $.app + '/jsjdcbsjds/main';
+					}
+				});
+			} else {
+				$.alert({
+					title : '提示',
+					content : data.message,
+					confirm : function() {
+						$(".btn").attr("disabled", false);
+					}
+				});
+			}
+		}
+	});
+}
+
+jsjdcbsjds.detail.submitAudit = function() {
+	
+	$(".btn").attr("disabled", true);
+	$.ajax({
+		url : $.app + "/jsjdcbsjds/submit",
+		data : $("#addform").serialize(),
+		type : "post",
+		dataType : "json",
+		success : function(data) {// ajax返回的数据
+			if (data.success) {
+				$.alert({
+					title : '提示',
+					content : '操作成功',
+					confirm : function() {
+						location.href = $.app + '/jsjdcbsjds/main';
+					}
+				});
+			} else {
+				$.alert({
+					title : '提示',
+					content : data.message,
+					confirm : function() {
+						$(".btn").attr("disabled", false);
+					}
+				});
+			}
+		}
+	});
+}
+
+// 构建项目类型下拉
+function initXmlxSelect(divid, existVal, width) {
+	$.post($.app + "/jsjdcbsjds/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 + "/jsjdcbsjds/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 + "/jsjdcbsjds/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 + "/jsjdcbsjds/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");
+}
+
+jsjdcbsjds.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");
+};
+
+jsjdcbsjds.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属性,
+jsjdcbsjds.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属性,
+jsjdcbsjds.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属性,
+jsjdcbsjds.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");
+}
+
+jsjdcbsjds.detail.audit = function(auditpass, id) {
+	
+	$(".btn").attr("disabled", true);
+	var opflag = $('#opflag').val();
+	var shyj = $('#yj').val();
+	var audit;
+	if (auditpass == "Y") {
+		audit = true;
+	} else {
+		audit = false;
+	}
+	$.post($.app + "/jsjdcbsjds/audit", {
+		id : id,
+		shyj : shyj,
+		flag : audit,
+		userids : $('#userids').val(),
+		accid : $('#accids').val(),
+		delid34:$('#delid34').val(),
+		delid35:$('#delid35').val(),
+		delid36:$('#delid36').val(),
+		delid37:$('#delid37').val(),
+		delid38:$('#delid38').val(),
+		fjzdids:$('#fjzdids').val()
+	}, function(data) {
+		if (data.success) {
+			$.alert({
+				title : '提示',
+				content : '操作成功',
+				confirm : function() {
+					jsjdcbsjds.detail.back();
+				}
+			});
+		} else {
+			$.alert({
+				title : '提示',
+				content : data.message,
+				confirm : function() {
+					$(".btn").attr("disabled", false);
+				}
+			});
+		}
+
+	}, "json");
+};
+
+
+jsjdcbsjds.detail.saveFile = function(){
+	 var i=$("#flag").val();
+	 if($('#fjid').val()==''){
+	        return;
+	    }
+	 $('#addform')
+		.form(
+				'submit',
+				{
+					url : $.app + '/jsjdcbsjds/saveFile',
+					onSubmit : function() {
+					},
+					success : function(data, status) {
+	            var file = $('#fjid');
+	            file.after(file.clone().val(""));
+	            file.remove();
+	            if (data) {
+	            	data = data.replace("<audio controls=\"controls\" style=\"display: none;\"></audio>","");
+	                data = $.parseJSON(data);
+	            }
+	            if (data.success) {
+	            	$("#scfjbt").attr("style","display:none;");
+	                var accContect = data.attrs.acc.name;
+	                var accid = data.attrs.acc.id;
+	                var str = "";
+	                str = "<span id='fjmc1'>" 
+	                      + "<input value='"+accid+"' id='accid' name='accid' type='hidden'>" 
+	                      + "<a class='main_title' href='/jsjy/accessory/download?id="+ accid +"'> " + accContect +"</a>"+"</span>";
+	                str+="<a class='main_title' onclick=\"jsjdcbsjds.detail.delFj('"+ accid +"','"+i+"');\" >删除文件</a>"
+	                $("#fjxq").empty();
+	                $("#fjxq").append(str);
+	                //给附件id集文本框赋值
+	                var strVal=$("#accids").val()+i+accid+",";
+ 			    	$("#accids").val(strVal);
+	                $("#fjmc"+i).text(accContect);
+	                //给附件id文本框赋值
+	                $("#delid"+i).val(accid);
+	                accContect = "";
+	                $("#fileid").val("");
+	                $("#scfjbt").hide();
+	            }
+	            else {
+	            	$.alert({
+						title : '提示',
+						content : data.message,
+						confirm : function() {
+						}
+					});
+	            }
+	        }
+	    });
+}
+
+
+jsjdcbsjds.detail.submitFile = function() {
+	$('#addform')
+			.form(
+					'submit',
+					{
+						url : $.app + '/jsjdcbsjds/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="jsjdcbsjds.detail.delFj(\''
+										+ accid + '\',' + '$(this)'
+										+ ')">删除</a>' + "</td></tr>";
+								$('#tableId').append(str);
+							} else {
+								$.alert({
+									title : '提示',
+									content : data.message,
+									confirm : function() {
+									}
+								});
+							}
+						}
+					});
+}
+
+// 删除accid 附件关联ID,id 是第几行附件
+jsjdcbsjds.detail.delFj = function(accid, tr) {
+	$.confirm({
+		title : '确认框',
+		content : '确认删除吗',
+		confirm : function() {
+			$.post($.app + "/jsjdcbsjds/delFile", {
+				accid : accid
+			}, function(data) {
+				if (data.success) {
+					$(tr).parent().parent().remove();
+				} else {
+					$.alert({
+						title : '提示',
+						content : data.message,
+						confirm : function() {
+						}
+					});
+				}
+			}, "json");
+		},
+		cancel : function() {
+		}
+	});
+}
+
+function showRy() {
+	$('#selectrydiv').fadeIn(100);
+	$('#selectry2div').slideDown(0);
+}
+
+function showYj() {
+	$('#selectyjdiv').fadeIn(100);
+	$('#selectyj2div').slideDown(0);
+}
+
+
+function pageinfo4(){
+    $("#pagesize").change(function() {
+        $("#pagejump").val(1);
+        jsjdcbsjds.detail.xmxxxz();
+    });
+    $("#pagesize").val($("#pagesize").attr("num"));
+    $("#pagefirst").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(1);
+            jsjdcbsjds.detail.xmxxxz();
+        }
+    });
+    $("#pageprev").click(function() {
+        if ($("#pagecur").val() == 1) {
+        	$.alert({
+    		    title: '提示',
+    		    content: '已到第一页'
+    	 });
+            return;
+        }
+        else {
+            $("#pagejump").val(parseInt($("#pagecur").val()) - 1);
+            jsjdcbsjds.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;
+                    }
+                    jsjdcbsjds.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);
+            jsjdcbsjds.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());
+            jsjdcbsjds.detail.xmxxxz();
+        }
+    });
+    
+}
+
+
+jsjdcbsjds.detail.xmxxxz=function(){
+	 pageinfo4();
+	 $.ajax({
+		 url:$.app+"/jsjdcbsjds/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=\"jsjdcbsjds.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(){
+		       		    }
+		           	});	 
+		 }
+		 }
+	    });
+	}
+
+jsjdcbsjds.detail.choose=function(id){
+	/*$.post($.app + "/jsjdcbsjds/isExit", {
+        id : id
+    }, function(data) {
+        if (data.success) {*/
+        	location.href=$.app+"/jsjdcbsjds/choose?id="+id;
+     /*   } else {
+       	 $.alert({
+    		    title: '提示',
+    		    content: data.message,
+    		    confirm: function(){
+    		    	 $(".btn").attr("disabled",false);
+    		    }
+    	 });
+        }
+    }, "json");*/
+	
+}
+
+
+jsjdcbsjds.detail.saveTbzt=function(data){
+	 $(".btn").attr("disabled",true);
+	 $.post($.app + "/jsjdcbsjds/saveTbzt", {
+         id : data
+     }, function(data) {
+         if (data.success) {
+        	 $.alert({
+        		    title: '提示',
+        		    content: '转报省级成功',
+        		    confirm: function(){
+        		    	location.href=$.app+'/jsjdcbsjds/main';
+        		    }
+        	 });
+         } else {
+        	 $.alert({
+     		    title: '提示',
+     		    content: data.message,
+     		    confirm: function(){
+     		    	 $(".btn").attr("disabled",false);
+     		    }
+     	 });
+         }
+     }, "json");
+}
+
+
+jsjdcbsjds.detail.qtfjguanbipop=function(){
+	var accid=$("#qtfjid").val();
+	if(accid!=null&&accid!=undefined&&accid!=""){
+		$.confirm({
+		    title: '提示框',
+		    content: '您已上传附件,是否保存?',
+		    confirm: function(){
+		    jsjdcbsjds.detail.xinzengqtfj();
+		    },
+		    cancel: function(){
+		    	var flag=$("#flag").val();
+		    	var id=$("#qtfjid").val();
+		    	$.post($.app + "/jsjdcbsjds/delFile?id="+id, {}, function(data, status) {
+                    if (data.success) {
+                     $("#qtfjxq").empty();
+                     $("#scqtfjbt").removeAttr("style");
+ 	                 $("#qtfjid").val("");
+ 	                 jsjdcbsjds.detail.delqtIds(id);
+	                 } else {
+	                	 $.alert({
+	             		    title:'提示',
+	             		    content: data.message,
+	             		    confirm: function(){
+	             		    }
+	             	 });
+	                 }
+	             }, "json");
+		    }
+		});
+	}
+	$('#qtfjmask').fadeOut(100);
+	$('#qtfjpopover').slideUp(0);
+}
+
+
+jsjdcbsjds.detail.qtfj = function(){
+	$('#qtfjmask').fadeIn(100);
+	$('#qtfjpopover').slideDown(0);
+	$("#qtfjxq").empty();
+	$("#scqtfjbt").removeAttr("style");
+}
+
+jsjdcbsjds.detail.saveQtfj = function(){
+	 opflag=jsjdcbsjds.detail.opflag;
+	 if($('#fjid').val()==''){
+	        return;
+	    }
+	    $('#addform').form('submit', {
+	        url : $.app + '/jsjdcbsjds/saveQtfj',
+	        success : function(data, status) {
+	            var file = $('#fjid');
+	            file.after(file.clone().val(""));
+	            file.remove();
+	            if (data) {     
+	            	data = data.replace("<audio controls=\"controls\" style=\"display: none;\"></audio>","");
+	                data = $.parseJSON(data);
+	            }
+	            if (data.success) {
+	            	$("#scqtfjbt").attr("style","display:none;");
+	                var accContect = data.attrs.acc.name;
+	                var qtfjdid = data.attrs.acc.id;
+	                $("#qtfjid").val(qtfjdid);
+	                var str = "";
+	                str = "<span id='fjmc'>" 
+	                      + "<input value='"+qtfjdid+"' name='qtfjdid' type='hidden'>" 
+	                      + "<a class='main_title' href='/jsjy/accessory/download?id="+ qtfjdid +"'> " + accContect +"</a>"
+	                	  + "</span>";
+	                str+="<a class='main_title' onclick=\"jsjdcbsjds.detail.delqtFile('"+ qtfjdid +"');\" >删除文件</a>";
+	                $("#qtfjxq").empty();
+	                $("#qtfjxq").append(str);
+	                //给附件id集文本框赋值
+	                var strVal=$("#qtfjids").val()+qtfjdid+",";
+ 			    	$("#qtfjids").val(strVal);
+ 			    	 $("#scfjbt").hide();
+	            }
+	            else {
+	                $.messager.showError(data.message);
+	            }
+	        }
+	    });
+}
+
+jsjdcbsjds.detail.xinzengqtfj=function(){
+//	var i=$("#flag").val();
+	if(isEmpty($("#qtfjid").val())){
+		$.alert({
+   		    title: '提示',
+   		    content: "请上传附件",
+   		    confirm: function(){
+   		    }
+       	});
+		return false;
+	}
+	opflag=3;
+	$('#qtfjmask').fadeOut(100);
+	$('#qtfjpopover').slideUp(0);
+	 $("#qtfjxq").empty();
+	 $.ajax({
+         url:$.app+"/jsjdcbsjds/xinzengqtfj",
+       /*  data:$("#addform").serialize(),*/
+         data:{
+        	 opflag:opflag,
+        	 qtfjid: $("#qtfjid").val(),
+        	 qtwjh:$("#wjh").val(),
+        	 qtfbsj:$("#fbsj").val(),
+        	 qtfbdw:$("#fbdw").val()
+         },
+         type:"post",
+         dataType:"json",
+         success:function(data){//ajax返回的数据
+	           if (data.success) {
+	        	  var strVal=$("#qtfjzdids").val()+data.message+",";
+  			      $("#qtfjzdids").val(strVal);
+  			    //如果操作成功,显示附件列表  
+  			    $.ajax({
+  			         url:$.app+"/jsjdcbsjds/qtfjlb",
+  			         type:"post",
+  			         data:{
+  			        	id:$("#id").val(),
+  			        	opflag:$("#opflag").val(),
+  			        	qtfjid:$("#qtfjid").val()
+  			         },
+  			         dataType:"json",
+  			         success:function(data){//ajax返回的数据
+  				           if (data) {
+  				           var str="";
+  				           //当前table中tr的个数
+  				         var trlength =$("#tb").find("tr").length;
+  				           if(opflag!=null){
+  				        	 trlength=$("#tb"+opflag).find("tr").length;   
+  				           }
+  				        	    qtfj=data;
+  				        	    var accContect=qtfj.fjmc;
+  				        	    var fjdid=qtfj.fjid;
+  				        	    var fjzdid=qtfj.id;
+  				        	    str +="<tr id='"+fjdid+"' height=\"40px\">";
+  				                str +="<td>"+trlength+"</td>";	
+  				                str +="<td>"+"其他附件"+"</td>";
+  				                str +="<td>"+ "<span id='fjmc'>" 
+  			                          + "<a class='main_title' href='/jsjy/accessory/download?id="+ fjdid +"'> " + accContect +"</a>"
+  			              	          + "<a onclick='jsjdcbsjds.detail.delFile(\""+ fjdid +"\");' ></a></span>"+"</td>";
+  				                if(qtfj.fbdw!=null){
+  				                	str +="<td>"+qtfj.fbdw+"</td>";	
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                if(qtfj.wjh!=null){
+  				                str +="<td>"+qtfj.wjh+"</td>";
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                if(qtfj.wjh!=null){
+  				                str +="<td>"+qtfj.fbsj+"</td>";
+  				                }else{
+  				                	str +="<td></td>";	
+  				                }
+  				                str+="<td >" +
+  								"<a class=\"btn btn-default btn-sm\" href=\"#\" onclick=\"jsjdcbsjds.detail.delqtfj('"+fjdid+"','"+fjzdid+"')\">"+
+  								"删除</a>"
+  											          +"</td>";
+  				                str +="</tr>"
+  				               /* $("#qtfjtb"+opflag).empty();*/
+  				                if(opflag!=null){
+  				                $("#qtfjtb"+opflag).append(str);	
+  				                }else{
+  				                $("#qtfjtb").append(str);		
+  				                }
+  				           }
+  				           }
+  			    });  
+	           }else {
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+	 $("#wjh").val("");
+	 $("#fbsj").val("");
+	 $("#fbdw").val("");
+}
+//其他附件删除,需删除附件和字段数据库内容、文本框内容、页面tr内容
+jsjdcbsjds.detail.delqtfj=function(fjdid,fjzdid){
+	  if (true) {
+		  $.confirm({
+			    title: '确认框',
+			    content: '确认删除吗',
+			    confirm: function(){
+			    	//删除附件字段
+			    	jsjdcbsjds.detail.delfjzd(fjzdid);
+			    	var id=fjdid;
+	                $.post($.app + "/jsjdcbsjds/delFile?id="+id, {}, function(data, status) {
+	                    if (data.success) {
+	                    	//删除附件字段文本框内容
+	                    	jsjdcbsjds.detail.delqtfjzdIds(fjzdid);
+	                    	//删除附件文本框内容
+	                    	jsjdcbsjds.detail.delqtIds(id);
+	                    	$("tr[id='"+fjdid+"']").remove();
+		                 } else {
+		                	 $.alert({
+		             		    title: '提示',
+		             		    content: data.message,
+		             		    confirm: function(){
+		             		    }
+		             	 });
+		                 }
+		             }, "json");
+			    },
+			    cancel: function(){
+			    }
+			});
+	  }
+}
+
+//删除附件字段文本框对应数据
+jsjdcbsjds.detail.delqtfjzdIds = function(data){
+	var ids = $('#qtfjzdids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(0,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#qtfjzdids').val(ids);
+}
+
+//删除附件文本框对应数据
+jsjdcbsjds.detail.delqtIds = function(data){
+	var ids = $('#qtfjids').val();
+	var arr = ids.split(',');
+	ids = '';
+	for (var i = 0 ;i < arr.length-1;i++){
+		if(arr[i].substring(0,arr[i].length) != data){
+			ids = ids + arr[i]+","
+		}
+	}
+	ids = ids.substring(0, ids.length-1)+",";
+	 $('#qtfjids').val(ids);
+}

+ 131 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdcbsj/jsjdcbsjdsmain.js

@@ -0,0 +1,131 @@
+
+$.namespace("jsjdcbsjds.main");
+
+jsjdcbsjds.main.init=function(){
+	//把form传入,构造翻页控件
+	pageinfo($("#jsjdcbsjdsform"));	
+}
+
+jsjdcbsjds.main.search=function(){
+	$('#pagejump').val(1);
+	$("#jsjdcbsjdsform").submit();
+}
+
+jsjdcbsjds.main.submit=function(data){
+	 $.post($.app + "/jsjdcbsjds/saveTbzt", {
+         id : data
+     }, function(data) {
+         if (data.success) {
+        	 $.alert({
+        		    title: '提示',
+        		    content: '同步成功',
+        		    confirm: function(){
+        		    	 $("#jsjdcbsjdsform").submit();
+        		    }
+        	 });
+         } else {
+        	 $.alert({
+     		    title: '提示',
+     		    content: data.message,
+     		    confirm: function(){
+     		        
+     		    }
+     	 });
+         }
+     }, "json");
+}
+
+jsjdcbsjds.main.del=function(data){
+		$.confirm({
+		    title: '确认框',
+		    content: '确认删除吗',
+		    confirm: function(){
+		    	 $.post($.app + "/jsjdcbsjds/delete", {
+	                 id : data
+	             }, function(data) {
+	                 if (data.success) {
+	                	 $.alert({
+	                		    title: '提示',
+	                		    content: '删除成功',
+	                		    confirm: function(){
+	                		    $("#jsjdcbsjdsform").submit();
+	                		    }
+	                	 });
+	                 } else {
+	                	 $.alert({
+	             		    title: '提示',
+	             		    content: data.message,
+	             		    confirm: function(){
+	             		        
+	             		    }
+	             	 });
+	                 }
+	             }, "json");
+		    },
+		    cancel: function(){
+		        
+		    }
+		});
+}
+
+jsjdcbsjds.main.edit=function(data){
+	location.href=$.app+"/jsjdcbsjds/edit?id="+data;
+}
+
+jsjdcbsjds.main.view=function(data){
+	location.href=$.app+"/jsjdcbsjds/view?id="+data;
+}
+
+/**
+ * 弹出新增页面
+ * */
+jsjdcbsjds.main.add=function(){
+	location.href=$.app+"/jsjdcbsjds/add";
+}
+
+
+
+jsjdcbsjds.main.viewXmjd = function(data){
+	location.href=$.app+"/jsjdgl/view?id="+data;
+}
+
+jsjdcbsjds.main.viewNdjh = function(data){
+	location.href=$.app+"/tzjhgl/main?xmid="+data;
+
+}
+
+jsjdcbsjds.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");
+};
+
+jsjdcbsjds.main.banli = function(data) {
+	location.href = $.app + "/jsjdcbsjds/view?flag=audit&id=" + data;
+}
+
+jsjdcbsjds.main.back=function(data){
+	location.href = $.app + "/jsjdcbsjds/edit?flag=th&id=" + data;
+}

+ 3 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjsgl/jsjdgl/jsjdgldetail.js

@@ -1065,6 +1065,9 @@ jsjdgl.detail.xinzengqtfj=function(){
   				           var str="";
   				           //当前table中tr的个数
   				           if(opflag!=null){
+  				        	   debugger;
+  				        	   alert($("#tb"+opflag));
+  				        	 alert($("#tb"+opflag).find("tr"));
   				           var trlength=$("#tb"+opflag).find("tr").length;   
   				           }else{
   				           var trlength=$("#tb").find("tr").length;  

+ 59 - 0
gkjsjy/trunk/WebContent/static/biz/js/gkjygl/gklhxkgl/gkjylhbg/lhbgdetail.js

@@ -97,6 +97,15 @@ lhbg.detail.fddbrChe = function(){
 }
 
 
+lhbg.detail.tyyyChe = function(){
+	if($('#tyyyChe').is(':checked')){
+		$("#tyyy").removeAttr("readonly"); 
+	}else{
+		 $("#tyyy").attr({ readonly: 'true' });
+		 $('#tyyy').val('');
+	}
+}
+
 vae=function(a,b){
 	if(isEmpty(a.val())){
 		ts(b+"不能为空",a);
@@ -154,6 +163,56 @@ lhbg.detail.save = function(){
     }); 
 }
 
+
+//保存
+lhbg.detail.saveTb = function(){
+	
+	//验证必填字段是否为空
+	if(vae($('#addform input[name=jyrmc]'),"港口经营人名称")==false){return false;}
+	if (vae($('#addform input[name=lxr]'), "联系人") == false) {
+		return false;
+	}
+	if (vae($('#addform input[name=dh]'), "电话") == false) {
+		return false;
+	}
+	
+	if($('#bgdzChe').is(':checked')){
+		if(vae($('#addform input[name=xbgdz]'),"变更后办公地址")==false){return false;}
+	}
+	
+	if($('#fddbrChe').is(':checked')){
+		if(vae($('#addform input[name=xfddbr]'),"变更后法定代表人")==false){return false;}
+	}
+	
+	$(".btn").attr("disabled",true);
+	 $.ajax({
+         url:$.app+"/lhbg/saveTb",
+         data:$("#addform").serialize(),
+         type:"post",
+         dataType:"json",
+         success:function(data){// ajax返回的数据
+	           if (data.success) {
+	        	   $.alert({
+						title : '提示',
+						content : '操作成功',
+						confirm : function() {
+							 location.href=$.app+'/lhbg/main';
+						}
+					});
+		       		
+	           }else{
+		           	$.alert({
+		       		    title: '提示',
+		       		    content: data.message,
+		       		    confirm: function(){
+		       		    	$(".btn").attr("disabled",false);
+		       		    }
+		           	});
+	           }
+	     }
+    }); 
+}
+
 //保存
 lhbg.detail.submit = function(){
 	if (isEmpty($('#userids').val())) {

+ 49 - 47
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqCtl.java

@@ -48,7 +48,6 @@ 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.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
 import com.xt.jygl.workflow.entity.TaskInfoEntity;
@@ -88,7 +87,7 @@ public class JgsqCtl extends BaseWebCtl {
 	private JgsqfjService jgsqfjService;
 	@Autowired
 	private XmbwglbService xmbwglbService;
-	
+
 	@RequestMapping(value = "/main")
 	@RequiresPermissions("jgsq: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 {
@@ -733,7 +732,7 @@ public class JgsqCtl extends BaseWebCtl {
 	public String edit(Model model, String id, String flag) {
 		model.addAttribute("flag", flag);
 		JgsqEntity entity = jgsqService.findOne(id);
-		XmxxglVo vo = new XmxxglVo();
+		JgsqVo vo = new JgsqVo();
 		BeanUtils.copyProperties(entity, vo);
 		vo.setTzlxzw(entity.getTzlx() != null ? entity.getTzlx().getText() : "");
 		vo.setXmlxzw(entity.getXmlx() != null ? entity.getXmlx().getText() : "");
@@ -757,7 +756,7 @@ public class JgsqCtl 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) {
@@ -766,7 +765,7 @@ public class JgsqCtl extends BaseWebCtl {
 			bwids = bwids.substring(0, bwids.length() - 1);
 		}
 		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jgsq");
 		for (int i = 0; i < accessoryList.size(); i++) {
 			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
 				AccessoryEntity acc = accessoryList.get(i);
@@ -806,7 +805,7 @@ public class JgsqCtl extends BaseWebCtl {
 		}
 
 		// 附件字段
-		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "ptfj");
+		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "jgsq");
 		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
 
 		for (int i = 0; i < fjlist.size(); i++) {
@@ -828,22 +827,25 @@ public class JgsqCtl extends BaseWebCtl {
 			}
 		}
 
-		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jsjdqtfj");
+		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jgsqqtfj");
 		List<JgsqfjVo> qtfjlists = new ArrayList<JgsqfjVo>();
 		if (qtfjlist != null && qtfjlist.size() > 0) {
 			for (JgsqfjEntity qtfj : qtfjlist) {
 				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
-				JgsqfjVo fjvo = new JgsqfjVo();
-				fjvo.setFbdw(qtfj.getFbdw());
-				String fbsj = "";
-				if (qtfj.getFbsj() != null) {
-					fbsj = dateFormater.format(qtfj.getFbsj());
-				}
-				fjvo.setFbsj(fbsj);
-				fjvo.setWjh(fjvo.getWjh());
-				fjvo.setFjid(qtfj.getFjid());
-				fjvo.setFjmc(acc.getName());
-				qtfjlists.add(fjvo);
+				if (acc != null) {
+					JgsqfjVo fjvo = new JgsqfjVo();
+					fjvo.setFbdw(qtfj.getFbdw());
+					String fbsj = "";
+					if (qtfj.getFbsj() != null) {
+						fbsj = dateFormater.format(qtfj.getFbsj());
+					}
+					fjvo.setFbsj(fbsj);
+					fjvo.setWjh(fjvo.getWjh());
+					fjvo.setFjid(qtfj.getFjid());
+					fjvo.setFjmc(acc.getName());
+					qtfjlists.add(fjvo);
+				}
+
 			}
 		}
 		model.addAttribute("qtfjlist", qtfjlists);
@@ -905,7 +907,7 @@ public class JgsqCtl 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) {
@@ -914,7 +916,7 @@ public class JgsqCtl extends BaseWebCtl {
 			bwids = bwids.substring(0, bwids.length() - 1);
 		}
 		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jgsq");
 		for (int i = 0; i < accessoryList.size(); i++) {
 			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
 				AccessoryEntity acc = accessoryList.get(i);
@@ -954,7 +956,7 @@ public class JgsqCtl extends BaseWebCtl {
 		}
 
 		// 附件字段
-		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "ptfj");
+		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "jgsq");
 		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
 
 		for (int i = 0; i < fjlist.size(); i++) {
@@ -976,22 +978,25 @@ public class JgsqCtl extends BaseWebCtl {
 			}
 		}
 
-		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jsjdqtfj");
+		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jgsqqtfj");
 		List<JgsqfjVo> qtfjlists = new ArrayList<JgsqfjVo>();
 		if (qtfjlist != null && qtfjlist.size() > 0) {
 			for (JgsqfjEntity qtfj : qtfjlist) {
 				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
-				JgsqfjVo fjvo = new JgsqfjVo();
-				fjvo.setFbdw(qtfj.getFbdw());
-				String fbsj = "";
-				if (qtfj.getFbsj() != null) {
-					fbsj = dateFormater.format(qtfj.getFbsj());
-				}
-				fjvo.setFbsj(fbsj);
-				fjvo.setWjh(fjvo.getWjh());
-				fjvo.setFjid(qtfj.getFjid());
-				fjvo.setFjmc(acc.getName());
-				qtfjlists.add(fjvo);
+				if (acc != null) {
+					JgsqfjVo fjvo = new JgsqfjVo();
+					fjvo.setFbdw(qtfj.getFbdw());
+					String fbsj = "";
+					if (qtfj.getFbsj() != null) {
+						fbsj = dateFormater.format(qtfj.getFbsj());
+					}
+					fjvo.setFbsj(fbsj);
+					fjvo.setWjh(fjvo.getWjh());
+					fjvo.setFjid(qtfj.getFjid());
+					fjvo.setFjmc(acc.getName());
+					qtfjlists.add(fjvo);
+				}
+
 			}
 		}
 		model.addAttribute("qtfjlist", qtfjlists);
@@ -1035,33 +1040,30 @@ public class JgsqCtl extends BaseWebCtl {
 			} else if ("ldpz".equals(taskinfo.getTaskKey())) {
 				roleCode = Constants.YES;
 			}
-			
-			
+
 			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{
+					for (TaskInfoEntity task : tasklist) {
+						if (!task.getRunner().getId().equals(securityMgr.getCurrUser().getId())) {
+							if ("true".equals(task.getAuditResult())) {
+
+							} else {
 								hqflag = false;
 							}
 						}
 					}
-					
+
 				}
 			}
-			
+
 			model.addAttribute("taskKey", taskinfo.getTaskKey());
 		}
 		model.addAttribute("hqflag", hqflag);
 		model.addAttribute("currName", currName);
 		model.addAttribute("roleCode", roleCode);
-		
-		model.addAttribute("opflag", opflag);
 
-		
+		model.addAttribute("opflag", opflag);
 
 		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JgsqEntity.PROCESS_DEFINITION_KEY);
 		List<TaskInfoVo> volist = new ArrayList<TaskInfoVo>();
@@ -1251,7 +1253,7 @@ public class JgsqCtl extends BaseWebCtl {
 					// 把附件标识设置成标识位+附件标识
 					jsjdfj.setFjbz(s + jsjdfj.getFjbz());
 					jsjdfj.setFbdw(jsjdfj.getFbdw());
-					jsjdfj.setFjlx("ptfj");
+					jsjdfj.setFjlx("jgsq");
 					jgsqfjService.save(jsjdfj);
 				}
 			}
@@ -1283,7 +1285,7 @@ public class JgsqCtl extends BaseWebCtl {
 	public WebJsonResult saveFile(MultipartFile filename, Model model) {
 		WebJsonResult wr = success();
 		if (filename != null) {
-			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjd");
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jgsq");
 			wr.setAttr("acc", acc);
 		} else {
 			wr.setSuccess(false);

+ 1743 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/ctl/JgsqdsCtl.java

@@ -0,0 +1,1743 @@
+package com.xt.jygl.gkjsgl.jgsq.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 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.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.ftp.Ftp;
+import com.xt.jygl.ftp.FtpUtil;
+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.jgsq.entity.JgsqEntity;
+import com.xt.jygl.gkjsgl.jgsq.entity.JgsqfjEntity;
+import com.xt.jygl.gkjsgl.jgsq.service.JgsqdsService;
+import com.xt.jygl.gkjsgl.jgsq.service.JgsqfjService;
+import com.xt.jygl.gkjsgl.jgsq.vo.JgsqVo;
+import com.xt.jygl.gkjsgl.jgsq.vo.JgsqfjVo;
+import com.xt.jygl.gkjsgl.jsjdgl.vo.JsjdfjVo;
+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("/jgsqds")
+public class JgsqdsCtl extends BaseWebCtl {
+	@Autowired
+	private SecurityMgr securityMgr;
+	@Autowired
+	private QueryService query;
+	@Autowired
+	private JgsqdsService jgsqdsService;
+	@Autowired
+	private AccessoryService accessoryService;
+	@Autowired
+	private GkjyrService gkjyrService;
+	@Autowired
+	protected TaskInfoService taskInfoService;
+	@Autowired
+	private TzjhglService tzjhglService;
+	@Autowired
+	private GkService gkService;
+	@Autowired
+	private JgsqfjService jgsqfjService;
+	@Autowired
+	private XmbwglbService xmbwglbService;
+	@Autowired
+	private XmxxglService xmxxglService;
+	@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<JgsqEntity> spec = new Specification<JgsqEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<JgsqEntity> 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<JgsqEntity> list = query.findAll(spec, toPageRequest(page), JgsqEntity.class);
+		List<JgsqVo> voList = new ArrayList<JgsqVo>();
+		for (JgsqEntity entity : list) {
+			JgsqVo vo = new JgsqVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				if (entity.getRecordStatus() != 9) {
+					// 获取流程最新步骤
+					TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JgsqEntity.PROCESS_DEFINITION_KEYDS);
+					if (info != null) {
+						vo.setCurrentname(info.getCurrName());
+					}
+					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId(), JgsqEntity.PROCESS_DEFINITION_KEYDS);
+					if (lists != null & lists.size() > 0) {
+						TaskInfoEntity taskinfo = lists.get(0);
+						if ((jgsqdsService.getTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) || jgsqdsService.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 ("3".equals(entity.getFlowstatus())) {
+							vo.setCurrentname("退回地市");
+						} else if ("4".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(), JgsqEntity.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);
+		if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			model.addAttribute("ssFlag", "1");
+		} else {
+			model.addAttribute("ssFlag", "0");
+		}
+		// 翻页共通
+		putPageInfo(model, page, list);
+		return "gkjsgl/jgsq/jgsqdsmain";
+	}
+
+	@RequestMapping(value = "/delete")
+	@ResponseBody
+	public WebJsonResult logicdelete(Model model, String id) {
+		WebJsonResult wr = success();
+		try {
+			// 逻辑删除
+			jgsqdsService.logicDelete(id);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submit")
+	@ResponseBody
+	public WebJsonResult submit(Model model, JgsqEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, 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;
+		}
+		JgsqEntity jgsq = new JgsqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jgsq = jgsqdsService.findOne(code.getId());
+				jgsq.setXmmc(code.getXmmc());
+				jgsq.setXmfr(code.getXmfr());
+				jgsq.setJsdd(code.getJsdd());
+				jgsq.setJsgm(code.getJsgm());
+				jgsq.setZtz(code.getZtz());
+				jgsq.setTgnl(code.getTgnl());
+				jgsq.setAxcd(code.getAxcd());
+				jgsq.setBwdj(code.getBwdj());
+				jgsq.setBwyt(code.getBwyt());
+				jgsq.setJcsj(code.getJcsj());
+				jgsq.setZftze(code.getZftze());
+				jgsq.setXmbm(code.getXmbm());
+
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jgsq.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jgsq.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jgsq.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jgsq.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jgsq.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jgsq.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jgsq.setTzlx(tzlxdx);
+				} else {
+					jgsq.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jgsq.setXmhzjb(xmhzjbdx);
+				} else {
+					jgsq.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jgsq.setAxspjb(axspjbdx);
+				} else {
+					jgsq.setAxspjb(null);
+				}
+				jgsq = jgsqdsService.submit(jgsq);
+			} else {
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					code.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(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);
+				}
+				jgsq = jgsqdsService.submit(code);
+
+			}
+
+			// 关联附件
+			fjgt(accids, jgsq);
+			fjzdgt(fjzdids, jgsq);
+			// 其他附件
+			qtfjgt(qtfjids, jgsq);
+			qtfjzdgt(qtfjzdids, jgsq);
+			// rtx提醒
+			rtxSend(userids, "", "你有一条建设进度竣工验收申请待办事务,请及时处理!");
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submitAudit")
+	@ResponseBody
+	public WebJsonResult submitAudit(JgsqEntity 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();
+		JgsqEntity jgsq = new JgsqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jgsq = jgsqdsService.findOne(code.getId());
+				jgsq.setXmmc(code.getXmmc());
+				jgsq.setXmfr(code.getXmfr());
+				jgsq.setJsdd(code.getJsdd());
+				jgsq.setJsgm(code.getJsgm());
+				jgsq.setZtz(code.getZtz());
+				jgsq.setTgnl(code.getTgnl());
+				jgsq.setAxcd(code.getAxcd());
+				jgsq.setBwdj(code.getBwdj());
+				jgsq.setBwyt(code.getBwyt());
+				jgsq.setJcsj(code.getJcsj());
+				jgsq.setZftze(code.getZftze());
+				jgsq.setXmbm(code.getXmbm());
+
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jgsq.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jgsq.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jgsq.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jgsq.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jgsq.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jgsq.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jgsq.setTzlx(tzlxdx);
+				} else {
+					jgsq.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jgsq.setXmhzjb(xmhzjbdx);
+				} else {
+					jgsq.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jgsq.setAxspjb(axspjbdx);
+				} else {
+					jgsq.setAxspjb(null);
+				}
+				jgsq = jgsqdsService.submit(jgsq);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+
+		return wr;
+	}
+
+	@RequestMapping(value = "/save")
+	@ResponseBody
+	public WebJsonResult save(Model model, JgsqEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, String delid31, String delid32, 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;
+		}
+		JgsqEntity jgsq = new JgsqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jgsq = jgsqdsService.findOne(code.getId());
+				jgsq.setXmmc(code.getXmmc());
+				jgsq.setXmfr(code.getXmfr());
+				jgsq.setJsdd(code.getJsdd());
+				jgsq.setJsgm(code.getJsgm());
+				jgsq.setZtz(code.getZtz());
+				jgsq.setTgnl(code.getTgnl());
+				jgsq.setAxcd(code.getAxcd());
+				jgsq.setBwdj(code.getBwdj());
+				jgsq.setBwyt(code.getBwyt());
+				jgsq.setJcsj(code.getJcsj());
+				jgsq.setZftze(code.getZftze());
+				jgsq.setXmbm(code.getXmbm());
+
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jgsq.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jgsq.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jgsq.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jgsq.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jgsq.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jgsq.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jgsq.setTzlx(tzlxdx);
+				} else {
+					jgsq.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jgsq.setXmhzjb(xmhzjbdx);
+				} else {
+					jgsq.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jgsq.setAxspjb(axspjbdx);
+				} else {
+					jgsq.setAxspjb(null);
+				}
+				jgsq = jgsqdsService.save(jgsq);
+			} else {
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					code.setJyrid(jyr);
+				}
+
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(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);
+				}
+				jgsq = jgsqdsService.save(code);
+
+			}
+			// 关联附件
+			fjgt(accids, jgsq);
+			fjzdgt(fjzdids, jgsq);
+			// 其他附件
+			qtfjgt(qtfjids, jgsq);
+			qtfjzdgt(qtfjzdids, jgsq);
+
+		} 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);
+		JgsqEntity entity = jgsqdsService.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.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);
+		}
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jgsq");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JgsqfjVo fjnamevo = new JgsqfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "jgsq");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JgsqfjVo fjvo = new JgsqfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		// 其他附件
+		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jgsqqtfj");
+		List<JgsqfjVo> qtfjlists = new ArrayList<JgsqfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JgsqfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JgsqfjVo fjvo = new JgsqfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+		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/jgsq/jgsqdsedit";
+	}
+
+	@RequestMapping(value = "/view")
+	public String view(Model model, String id, String flag, String opflag) {
+		model.addAttribute("flag", flag);
+		JgsqEntity entity = jgsqdsService.findOne(id);
+		JgsqVo vo = new JgsqVo();
+		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() : "");
+		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);
+		}
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jgsq");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdfjVo fjnamevo = new JsjdfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JgsqfjEntity> fjlist = jgsqfjService.findBySsidandfjlx(id, "jgsq");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JgsqfjVo fjvo = new JgsqfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		// 其他附件
+		List<JgsqfjEntity> qtfjlist = jgsqfjService.findBySsidandfjlx(id, "jgsqqtfj");
+		List<JgsqfjVo> qtfjlists = new ArrayList<JgsqfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JgsqfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JgsqfjVo fjvo = new JgsqfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+
+		String roleCode = "";
+		String currName = "";
+		boolean hqflag = true;
+		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, JgsqEntity.PROCESS_DEFINITION_KEYDS);
+		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())) {
+				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;
+			}
+
+			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("taskKey", taskinfo.getTaskKey());
+		}
+		model.addAttribute("hqflag", hqflag);
+		model.addAttribute("currName", currName);
+		model.addAttribute("roleCode", roleCode);
+
+		model.addAttribute("opflag", opflag);
+
+		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JgsqEntity.PROCESS_DEFINITION_KEYDS);
+		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);
+
+		model.addAttribute("record", vo);
+		model.addAttribute("jyr", entity.getJyrid());
+		return "gkjsgl/jgsq/jgsqdsview";
+	}
+
+	@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() : "");
+			}
+		}
+		if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			model.addAttribute("ssFlag", "1");
+		} else {
+			model.addAttribute("ssFlag", "0");
+		}
+		model.addAttribute("roleCode", Constants.ROLE_LD);
+		return "gkjsgl/jgsq/jgsqdsadd";
+	}
+
+	@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, String delid33, String delid34, String delid35, String fjzdids) {
+		WebJsonResult wr = success();
+		JgsqEntity entity = jgsqdsService.findOne(id);
+		if (!StringUtils.isEmpty(accid)) {
+			// 关联附件
+			fjgt(accid, entity);
+			fjzdgt(fjzdids, entity);
+		}
+
+		try {
+			if (jgsqdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
+				jgsqdsService.claim(id, SecUtils.getCurrUser().getId().toString());
+			}
+
+			// 获取流程最新步骤
+			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JgsqEntity.PROCESS_DEFINITION_KEYDS);
+			// 退回用户处理
+			if (!flag) {
+				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JgsqEntity.PROCESS_DEFINITION_KEYDS);
+				for (int i = slist.size() - 1; i > 0; i--) {
+					TaskInfoEntity taskentity = slist.get(i);
+					if ("zjps".equals(taskentity.getTaskKey()) && taskentity.getState() == "2") {
+						userids = taskentity.getAuditUser() + ",";
+					}
+				}
+				if ("kscs".equals(info.getTaskKey()) || "cnxk".equals(info.getTaskKey())) {
+					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndTaskKey(id, info.getTaskKey());
+					if (lists != null && lists.size() > 0) {
+						for (TaskInfoEntity task : lists) {
+							task.setSfth(Constants.NO);
+							taskInfoService.save(task);
+						}
+					}
+				}
+			}
+
+			jgsqdsService.changeAudit(shyj, entity, flag, userids);
+			/*
+			 * if (flowflag) { if (flag) { entity.setFlowstatus("4"); } else {
+			 * entity.setFlowstatus("3"); } entity.setSftb(Constants.YES);
+			 * entity = jgsqdsService.save(entity); // 如果是省级审核通过或不通过后同步到市级 try {
+			 * String url = "/GK_OPERATION_JSJY_JGSQ_ONE_PC?condition=ID=" +
+			 * entity.getId(); boolean tbflag = getTbStatus(url); if (tbflag) {
+			 * entity.setTbzt("Y"); jgsqdsService.save(entity); }
+			 * 
+			 * } catch (Exception e) { e.printStackTrace(); }
+			 * 
+			 * } else { // rtx提醒 if (!StringUtils.isEmpty(userids)) {
+			 * rtxSend(userids, "", "你有一条建设进度竣工验收申请待办事务,请及时处理!"); } }
+			 */
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	// 附件字段保存共通
+	public void fjzdgt(String fjzdids, JgsqEntity code) {
+		if (fjzdids != null && fjzdids != "") {
+			String[] fjidssz = fjzdids.split(",");
+			for (String fj : fjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					// 获取前两个字符(标识位)
+					String s = fj.substring(0, 2);
+					// 去掉前两个标识位查询
+					JgsqfjEntity jsjdfj = jgsqfjService.findOne(fj.substring(2, fj.length()));
+					jsjdfj.setSsid(code.getId());
+					// 把附件标识设置成标识位+附件标识
+					jsjdfj.setFjbz(s + jsjdfj.getFjbz());
+					jsjdfj.setFbdw(jsjdfj.getFbdw());
+					jsjdfj.setFjlx("jgsq");
+					jgsqfjService.save(jsjdfj);
+				}
+			}
+		}
+	}
+
+	// 附件保存共通
+	public void fjgt(String accids, JgsqEntity xmxxgl) {
+		if (null != accids && "" != accids) {
+			String[] ssids = accids.split(",");
+			for (String ssid : ssids) {
+				// 获取前两个字符(标识位)
+				if (!StringUtils.isEmpty(ssid)) {
+					String s = ssid.substring(0, 2);
+					// 去掉标志位查询
+					AccessoryEntity acc = accessoryService.findOne(ssid.substring(2, ssid.length()));
+					acc.setSsid(xmxxgl.getId());
+					// 把备注设置成标识位+备注
+					acc.setRemark(s + acc.getRemark());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
+
+	// 其他附件字段保存共通
+	public void qtfjgt(String qtfjids, JgsqEntity code) {
+		if (!StringUtils.isEmpty(qtfjids)) {
+			String[] qtfjidssz = qtfjids.split(",");
+			for (String fj : qtfjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					AccessoryEntity acc = accessoryService.findOne(fj);
+					acc.setSsid(code.getId());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
+
+	// 其他附件保存共通
+	public void qtfjzdgt(String qtfjzdids, JgsqEntity code) {
+		if (!StringUtils.isEmpty(qtfjzdids)) {
+			String[] qtfjzdidssz = qtfjzdids.split(",");
+			for (String fj : qtfjzdidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					JgsqfjEntity jgsqfj = jgsqfjService.findOne(fj);
+					jgsqfj.setSsid(code.getId());
+					jgsqfjService.save(jgsqfj);
+				}
+			}
+		}
+	}
+
+	// 保存附件
+	@RequestMapping(value = "/saveFile")
+	@ResponseBody
+	public WebJsonResult saveFile(MultipartFile filename, Model model) {
+		WebJsonResult wr = success();
+		if (filename != null) {
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jgsq");
+			wr.setAttr("acc", acc);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件!");
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/savefj")
+	@ResponseBody
+	public WebJsonResult savefj(Model model, JgsqfjEntity fjzd) {
+		WebJsonResult wr = success();
+		try {
+			// 新增
+			JgsqfjEntity entity = jgsqfjService.save(fjzd);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/saveQtfj")
+	@ResponseBody
+	public WebJsonResult saveQtfj(String opflag, MultipartFile qtfilename, Model model) {
+		WebJsonResult wr = success();
+		if (qtfilename != null) {
+			AccessoryEntity acc = accessoryService.saveFile(qtfilename, "jgsq");
+			acc.setRemark(opflag);
+			accessoryService.save(acc);
+			wr.setAttr("acc", acc);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件!");
+		}
+		return wr;
+	}
+
+	// 其他附件列表显示
+	@RequestMapping(value = "/qtfjlb")
+	@ResponseBody
+	public JgsqfjVo qtfjlb(String id, String qtfjid, String opflag, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(qtfjid);
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+		JgsqfjVo jsjd = new JgsqfjVo();
+		JgsqfjEntity fjzd = jgsqfjService.findByFjid(qtfjid);
+		if (fjzd != null) {
+			jsjd.setFbdw(fjzd.getFbdw());
+			jsjd.setWjh(fjzd.getWjh());
+			if (!StringUtils.isEmpty(fjzd.getFbsj())) {
+				Date date = fjzd.getFbsj();
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					jsjd.setFbsj(date2);
+				}
+			} else {
+				jsjd.setFbsj("");
+			}
+
+			jsjd.setId(fjzd.getId());
+		}
+		jsjd.setFjmc(acc.getName());
+		jsjd.setFjid(acc.getId());
+		return jsjd;
+	}
+
+	@RequestMapping(value = "/delFile")
+	@ResponseBody
+	public WebJsonResult delFile(String id, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(id);
+		accessoryService.delete(acc);
+		JgsqfjEntity jgsqfj = jgsqfjService.findByFjid(id);
+		if (jgsqfj != null) {
+			jgsqfjService.delete(jgsqfj);
+		}
+		WebJsonResult wr = success();
+
+		return wr;
+	}
+
+	@RequestMapping(value = "/delFjzd")
+	@ResponseBody
+	public WebJsonResult delFjzd(String id, Model model) {
+		jgsqfjService.logicDelete(id);
+		WebJsonResult wr = success();
+		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/jgsq/jgsqdsadd";
+	}
+
+	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();
+		JgsqEntity entity = jgsqdsService.findOne(id);
+
+		entity.setSftb(Constants.YES);
+		jgsqdsService.save(entity);
+
+		String url = "/GK_OPERATION_JSJY_JGSQ_ONE_CP?condition=ID=" + id;
+
+		boolean flag = getTbStatus(url);
+		if (flag) {
+			entity.setFlowstatus("0");
+			entity.setTbzt(Constants.YES);
+			jgsqdsService.save(entity);
+		} else {
+			entity.setFlowstatus(null);
+			entity.setSftb(Constants.NO);
+			jgsqdsService.save(entity);
+			wr.setSuccess(false);
+			wr.setMessage("转报省级失败");
+		}
+		return wr;
+	}
+
+	// 其他附件显示
+	public void qtfjview(Model model, List<JgsqfjEntity> qtfjzdlist) {
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+		List<JsjdfjVo> fjvolist1 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist2 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist3 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist4 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist5 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist6 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist7 = new ArrayList<JsjdfjVo>();
+		List<JsjdfjVo> fjvolist8 = new ArrayList<JsjdfjVo>();
+		for (int i = 0; i < qtfjzdlist.size(); i++) {
+			AccessoryEntity qtfj = accessoryService.findOne(qtfjzdlist.get(i).getFjid());
+			JsjdfjVo fjnamevo = new JsjdfjVo();
+			fjnamevo.setFbdw(qtfjzdlist.get(i).getFbdw());
+			String fbsj = "";
+			if (qtfjzdlist.get(i).getFbsj() != null) {
+				fbsj = dateFormater.format(qtfjzdlist.get(i).getFbsj());
+			}
+			fjnamevo.setFbsj(fbsj);
+			fjnamevo.setWjh(qtfjzdlist.get(i).getWjh());
+			fjnamevo.setFjid(qtfj.getId());
+			fjnamevo.setFjmc(qtfj.getName());
+			String s = qtfj.getRemark();
+			if (!StringUtils.isNotEmpty(s)) {
+				fjvolist1.add(fjnamevo);
+				model.addAttribute("fjvolist", fjvolist1);
+			} else if ("2".equals(s)) {
+				fjvolist2.add(fjnamevo);
+				model.addAttribute("fjvolist2", fjvolist2);
+			} else if ("3".equals(s)) {
+				fjvolist3.add(fjnamevo);
+				model.addAttribute("fjvolist3", fjvolist3);
+			} else if ("4".equals(s)) {
+				fjvolist4.add(fjnamevo);
+				model.addAttribute("fjvolist4", fjvolist4);
+			} else if ("5".equals(s)) {
+				fjvolist5.add(fjnamevo);
+				model.addAttribute("fjvolist5", fjvolist5);
+			} else if ("6".equals(s)) {
+				fjvolist6.add(fjnamevo);
+				model.addAttribute("fjvolist6", fjvolist6);
+			} else if ("7".equals(s)) {
+				fjvolist7.add(fjnamevo);
+				model.addAttribute("fjvolist7", fjvolist7);
+			} else if ("8".equals(s)) {
+				fjvolist8.add(fjnamevo);
+				model.addAttribute("fjvolist8", fjvolist8);
+			}
+		}
+	}
+
+	public void qtfjgtview(Model model, List<AccessoryEntity> acclist, String opflag) {
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+		List<JsjdfjVo> fjvolist = new ArrayList<JsjdfjVo>();
+		for (int i = 0; i < acclist.size(); i++) {
+			JsjdfjVo jsfjvo = new JsjdfjVo();
+			String fjid = acclist.get(i).getId();
+			JgsqfjEntity jsfj = jgsqfjService.findByFjid(fjid);
+			if (jsfj != null) {
+				jsfjvo.setFbdw(jsfj.getFbdw());
+				Date date = jsfj.getFbsj();
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					jsfjvo.setFbsj(date2);
+				}
+				jsfjvo.setWjh(jsfj.getWjh());
+				jsfjvo.setId(jsfj.getId());
+			}
+			jsfjvo.setFjmc(acclist.get(i).getName());
+			jsfjvo.setFjid(fjid);
+			fjvolist.add(jsfjvo);
+		}
+		model.addAttribute("fjvolist" + opflag, fjvolist);
+	}
+
+	@RequestMapping(value = "/xinzengqtfj")
+	@ResponseBody
+	public WebJsonResult xinzengqtfj(String opflag, String qtfjid, String id, Model model, String qtfbdw, Date qtfbsj, String qtwjh) {
+		WebJsonResult wr = success();
+		try {
+			// 新增
+			JgsqfjEntity entity = new JgsqfjEntity();
+			entity.setFbdw(qtfbdw);
+			entity.setFbsj(qtfbsj);
+			entity.setWjh(qtwjh);
+			entity.setFjid(qtfjid);
+			entity.setFjlx("jgsqqtfj");
+			if (StringUtils.isEmpty(opflag)) {
+				entity.setFjbz("1");
+			} else {
+				entity.setFjbz(opflag);
+			}
+			jgsqfjService.save(entity);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+}

+ 4 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/dao/JgsqfjDao.java

@@ -14,4 +14,8 @@ public interface JgsqfjDao extends SecRepository<JgsqfjEntity, String> {
 	
 	@Query("SELECT m from JgsqfjEntity m  where m.ssid =?1 and m.fjlx=?2 and m.recordStatus<>9")
 	public List<JgsqfjEntity> findBySsidandfjlx(String ssid,String fjlx);
+	
+	
+	@Query("SELECT m  FROM JgsqfjEntity m WHERE  m.fjid =?1  and m.recordStatus <> 9 ")
+	public JgsqfjEntity findByFjid(String fjid);
 }

+ 11 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/entity/JgsqEntity.java

@@ -28,6 +28,7 @@ public class JgsqEntity extends BaseEntity<String> implements Cloneable {
 	private static final long serialVersionUID = -485787620077488727L;
 
 	public static final String PROCESS_DEFINITION_KEY = "jgsq";
+	public static final String PROCESS_DEFINITION_KEYDS = "jgsqds";
 	private String id;/* 唯一标识 */
 	private String xmmc;/* 项目名称 */
 	private String xmfr;/* 项目法人 */
@@ -55,7 +56,16 @@ public class JgsqEntity extends BaseEntity<String> implements Cloneable {
 	private CodeEntity sylx;/* 水域类型 */
 	private Date jcsj; /* 建成时间 */
 	private String xmgk;
-	
+	private String xmid;
+
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
+
 	public String getXmgk() {
 		return xmgk;
 	}

+ 20 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqdsService.java

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

+ 3 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/JgsqfjService.java

@@ -16,4 +16,7 @@ public interface JgsqfjService {
 	List<JgsqfjEntity> findBySsid(String ssid);
 	
 	List<JgsqfjEntity> findBySsidandfjlx(String ssid,String fjlx);
+	
+	
+	JgsqfjEntity findByFjid(String fjid);
 }

+ 110 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqdsServiceImpl.java

@@ -0,0 +1,110 @@
+package com.xt.jygl.gkjsgl.jgsq.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.jgsq.dao.JgsqDao;
+import com.xt.jygl.gkjsgl.jgsq.entity.JgsqEntity;
+import com.xt.jygl.gkjsgl.jgsq.service.JgsqdsService;
+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 JgsqdsServiceImpl extends BaseWorkFlowServiceImpl<JgsqEntity, String> implements JgsqdsService {
+
+	@Autowired
+	private JgsqDao dao;
+	@Autowired
+	private WorkflowMangerService workService;
+	@Autowired
+	protected SecurityMgr securityMgr;
+
+	@Override
+	protected SecRepository<JgsqEntity, String> getDao() {
+
+		return this.dao;
+	}
+
+	@Override
+	public <S extends JgsqEntity> 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 JgsqEntity.PROCESS_DEFINITION_KEYDS;
+	}
+
+	@Override
+	public boolean changeAudit(String shyj, JgsqEntity 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(), JgsqEntity.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;
+	}
+
+}

+ 7 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/service/impl/JgsqfjServiceImpl.java

@@ -35,6 +35,13 @@ public class JgsqfjServiceImpl extends JyglBaseService<JgsqfjEntity, String> imp
 		return dao.findBySsidandfjlx(ssid, fjlx);
 	}
 
+
+	@Override
+	public JgsqfjEntity findByFjid(String fjid) {
+		
+		return dao.findByFjid(fjid);
+	}
+
 	
 
 }

+ 21 - 11
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jgsq/vo/JgsqVo.java

@@ -50,15 +50,15 @@ public class JgsqVo extends BaseVo {
 	private String sddx;/* 上端点X */
 	private String sddy;/* 上端点Y */
 	private String xddx;/* 下端点X */
-	private String xddy;/* 下端点Y*/
-	private String bwyt;/* 泊位用途*/
-	private String bwytzw;/* 泊位用途*/
-	private String zyhbwfl;/* 专业化泊位分类*/
-	private String zyhbwflzw;/* 专业化泊位分类*/
-	private String taskkey;/* 专业化泊位分类*/
-	private String lcjd;/* 流程节点*/
-	private String sfqswj;/* 是否缺失文件*/
-	private String showjsjd;/* 是否显示建设进度*/
+	private String xddy;/* 下端点Y */
+	private String bwyt;/* 泊位用途 */
+	private String bwytzw;/* 泊位用途 */
+	private String zyhbwfl;/* 专业化泊位分类 */
+	private String zyhbwflzw;/* 专业化泊位分类 */
+	private String taskkey;/* 专业化泊位分类 */
+	private String lcjd;/* 流程节点 */
+	private String sfqswj;/* 是否缺失文件 */
+	private String showjsjd;/* 是否显示建设进度 */
 	private String flowstatus;
 	private String xmbm;/* 项目编码 */
 	private String zftze;/* 政府投资额 */
@@ -68,7 +68,16 @@ public class JgsqVo extends BaseVo {
 	private String sftb;
 	private String tbzt;
 	private String xmgk;
-	
+	private String xmid;
+
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
+
 	public String getXmgk() {
 		return xmgk;
 	}
@@ -76,6 +85,7 @@ public class JgsqVo extends BaseVo {
 	public void setXmgk(String xmgk) {
 		this.xmgk = xmgk;
 	}
+
 	public String getSftb() {
 		return sftb;
 	}
@@ -526,5 +536,5 @@ public class JgsqVo extends BaseVo {
 	public void setFlowstatus(String flowstatus) {
 		this.flowstatus = flowstatus;
 	}
-	
+
 }

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

@@ -1192,8 +1192,8 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 					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);
+			//	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>();
@@ -1203,7 +1203,7 @@ public class JsjdbgdsCtl extends BaseWebCtl {
 				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));
+				list.add(cb.exists(subquery));*/
 				return cb.and(list.toArray(new Predicate[] {}));
 			}
 		};

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

@@ -782,7 +782,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			getbwlist(model, bwids);
 		}
 		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdcbsj");
 		for (int i = 0; i < accessoryList.size(); i++) {
 			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
 				AccessoryEntity acc = accessoryList.get(i);
@@ -822,7 +822,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 		}
 
 		// 附件字段
-		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "ptfj");
+		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsj");
 		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
 
 		for (int i = 0; i < fjlist.size(); i++) {
@@ -844,7 +844,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			}
 		}
 
-		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdqtfj");
+		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsjqtfj");
 		List<JsjdcbsjfjVo> qtfjlists = new ArrayList<JsjdcbsjfjVo>();
 		if (qtfjlist != null && qtfjlist.size() > 0) {
 			for (JsjdcbsjfjEntity qtfj : qtfjlist) {
@@ -943,7 +943,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			model.addAttribute("bwlist", slist);
 		}
 	}
-	
+
 	@RequestMapping(value = "/view")
 	public String view(Model model, String id, String flag, String opflag) {
 		model.addAttribute("flag", flag);
@@ -1001,7 +1001,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			getbwlist(model, bwids);
 		}
 		// 附件
-		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjd");
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdcbsj");
 		for (int i = 0; i < accessoryList.size(); i++) {
 			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
 				AccessoryEntity acc = accessoryList.get(i);
@@ -1041,7 +1041,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 		}
 
 		// 附件字段
-		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "ptfj");
+		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsj");
 		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
 
 		for (int i = 0; i < fjlist.size(); i++) {
@@ -1063,7 +1063,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 			}
 		}
 
-		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdqtfj");
+		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsjqtfj");
 		List<JsjdcbsjfjVo> qtfjlists = new ArrayList<JsjdcbsjfjVo>();
 		if (qtfjlist != null && qtfjlist.size() > 0) {
 			for (JsjdcbsjfjEntity qtfj : qtfjlist) {
@@ -1330,7 +1330,7 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 					// 把附件标识设置成标识位+附件标识
 					jsjdfj.setFjbz(s + jsjdfj.getFjbz());
 					jsjdfj.setFbdw(jsjdfj.getFbdw());
-					jsjdfj.setFjlx("ptfj");
+					jsjdfj.setFjlx("jsjdcbsj");
 					jsjdcbsjfjService.save(jsjdfj);
 				}
 			}
@@ -1361,8 +1361,8 @@ public class JsjdcbsjCtl extends BaseWebCtl {
 	@ResponseBody
 	public WebJsonResult saveFile(MultipartFile filename, Model model) {
 		WebJsonResult wr = success();
-		if (filename != null) {
-			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjd");
+		if (filename != null && filename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjdcbsj");
 			wr.setAttr("acc", acc);
 		} else {
 			wr.setSuccess(false);

+ 1664 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/ctl/JsjdcbsjdsCtl.java

@@ -0,0 +1,1664 @@
+package com.xt.jygl.gkjsgl.jsjdcbsj.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 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.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.ftp.Ftp;
+import com.xt.jygl.ftp.FtpUtil;
+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.jsjdcbsj.entity.JsjdcbsjEntity;
+import com.xt.jygl.gkjsgl.jsjdcbsj.entity.JsjdcbsjfjEntity;
+import com.xt.jygl.gkjsgl.jsjdcbsj.service.JsjdcbsjdsService;
+import com.xt.jygl.gkjsgl.jsjdcbsj.service.JsjdcbsjfjService;
+import com.xt.jygl.gkjsgl.jsjdcbsj.vo.JsjdcbsjVo;
+import com.xt.jygl.gkjsgl.jsjdcbsj.vo.JsjdcbsjfjVo;
+import com.xt.jygl.gkjsgl.jsjdgl.vo.JsjdfjVo;
+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("/jsjdcbsjds")
+public class JsjdcbsjdsCtl extends BaseWebCtl {
+	@Autowired
+	private SecurityMgr securityMgr;
+	@Autowired
+	private QueryService query;
+	@Autowired
+	private JsjdcbsjdsService jsjdcbsjdsService;
+	@Autowired
+	private AccessoryService accessoryService;
+	@Autowired
+	private GkjyrService gkjyrService;
+	@Autowired
+	protected TaskInfoService taskInfoService;
+	@Autowired
+	private TzjhglService tzjhglService;
+	@Autowired
+	private GkService gkService;
+	@Autowired
+	private JsjdcbsjfjService jsjdcbsjfjService;
+	@Autowired
+	private XmbwglbService xmbwglbService;
+	@Autowired
+	private BwService bwService;
+	@Autowired
+	private XmxxglService xmxxglService;
+
+	@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<JsjdcbsjEntity> spec = new Specification<JsjdcbsjEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<JsjdcbsjEntity> 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<JsjdcbsjEntity> list = query.findAll(spec, toPageRequest(page), JsjdcbsjEntity.class);
+		List<JsjdcbsjVo> voList = new ArrayList<JsjdcbsjVo>();
+		for (JsjdcbsjEntity entity : list) {
+			JsjdcbsjVo vo = new JsjdcbsjVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				if (entity.getRecordStatus() != 9) {
+					// 获取流程最新步骤
+					TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+					if (info != null) {
+						vo.setCurrentname(info.getCurrName());
+					}
+					List<TaskInfoEntity> lists = taskInfoService.findByBusIdAndBusKeyAndRecordStatus(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+					if (lists != null & lists.size() > 0) {
+						TaskInfoEntity taskinfo = lists.get(0);
+						// vo.setCurrentname(taskinfo.getCurrName());
+						if ((jsjdcbsjdsService.getTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), entity.getId().toString()) != null) || jsjdcbsjdsService.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(), JsjdcbsjEntity.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);
+		if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			model.addAttribute("ssFlag", "1");
+		} else {
+			model.addAttribute("ssFlag", "0");
+		}
+		// 翻页共通
+		putPageInfo(model, page, list);
+		return "gkjsgl/jsjdcbsj/jsjdcbsjdsmain";
+	}
+
+	@RequestMapping(value = "/delete")
+	@ResponseBody
+	public WebJsonResult logicdelete(Model model, String id) {
+		WebJsonResult wr = success();
+		try {
+			// 逻辑删除
+			jsjdcbsjdsService.logicDelete(id);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submit")
+	@ResponseBody
+	public WebJsonResult submit(Model model, JsjdcbsjEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, String sylxid, String userids, 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;
+		}
+		JsjdcbsjEntity jsjdcbsj = new JsjdcbsjEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jsjdcbsj = jsjdcbsjdsService.findOne(code.getId());
+				jsjdcbsj.setXmmc(code.getXmmc());
+				jsjdcbsj.setXmfr(code.getXmfr());
+				jsjdcbsj.setJsdd(code.getJsdd());
+				jsjdcbsj.setJsgm(code.getJsgm());
+				jsjdcbsj.setZtz(code.getZtz());
+				jsjdcbsj.setTgnl(code.getTgnl());
+				jsjdcbsj.setAxcd(code.getAxcd());
+				jsjdcbsj.setBwdj(code.getBwdj());
+				jsjdcbsj.setBwyt(code.getBwyt());
+				jsjdcbsj.setJcsj(code.getJcsj());
+				jsjdcbsj.setZftze(code.getZftze());
+				jsjdcbsj.setXmbm(code.getXmbm());
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdcbsj.setJyrid(jyr);
+				}
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdcbsj.setSylx(sylx);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdcbsj.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdcbsj.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdcbsj.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdcbsj.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdcbsj.setTzlx(tzlxdx);
+				} else {
+					jsjdcbsj.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdcbsj.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdcbsj.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdcbsj.setAxspjb(axspjbdx);
+				} else {
+					jsjdcbsj.setAxspjb(null);
+				}
+				jsjdcbsj = jsjdcbsjdsService.submit(jsjdcbsj, userids);
+			} 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);
+				}
+				jsjdcbsj = jsjdcbsjdsService.submit(code, userids);
+			}
+			// 关联附件
+			fjgt(accids, jsjdcbsj);
+			fjzdgt(fjzdids, jsjdcbsj);
+			// 其他附件
+			qtfjgt(qtfjids, jsjdcbsj);
+			qtfjzdgt(qtfjzdids, jsjdcbsj);
+			// rtx提醒
+			rtxSend(userids, "", "你有一条建设进度初步设计申请待办事务,请及时处理!");
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/submitAudit")
+	@ResponseBody
+	public WebJsonResult submitAudit(JsjdcbsjEntity 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();
+		JsjdcbsjEntity jsjdcbsj = new JsjdcbsjEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jsjdcbsj = jsjdcbsjdsService.findOne(code.getId());
+				jsjdcbsj.setXmmc(code.getXmmc());
+				jsjdcbsj.setXmfr(code.getXmfr());
+				jsjdcbsj.setJsdd(code.getJsdd());
+				jsjdcbsj.setJsgm(code.getJsgm());
+				jsjdcbsj.setZtz(code.getZtz());
+				jsjdcbsj.setTgnl(code.getTgnl());
+				jsjdcbsj.setAxcd(code.getAxcd());
+				jsjdcbsj.setBwdj(code.getBwdj());
+				jsjdcbsj.setBwyt(code.getBwyt());
+				jsjdcbsj.setJcsj(code.getJcsj());
+				jsjdcbsj.setZftze(code.getZftze());
+				jsjdcbsj.setXmbm(code.getXmbm());
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdcbsj.setJyrid(jyr);
+				}
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdcbsj.setSylx(sylx);
+				}
+
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdcbsj.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdcbsj.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdcbsj.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdcbsj.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdcbsj.setTzlx(tzlxdx);
+				} else {
+					jsjdcbsj.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdcbsj.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdcbsj.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdcbsj.setAxspjb(axspjbdx);
+				} else {
+					jsjdcbsj.setAxspjb(null);
+				}
+				jsjdcbsj = jsjdcbsjdsService.save(jsjdcbsj);
+			}
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		try {
+			if (jsjdcbsjdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), jsjdcbsj.getId()) != null) {
+				jsjdcbsjdsService.claim(jsjdcbsj.getId(), SecUtils.getCurrUser().getId().toString());
+			}
+			jsjdcbsjdsService.changeAudit(null, jsjdcbsj, true, userids);
+			// rtx提醒
+			rtxSend(userids, "", "你有一条建设进度初步设计申请待办事务,请及时处理!");
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/save")
+	@ResponseBody
+	public WebJsonResult save(Model model, JsjdcbsjEntity code, String accids, String qtfjids, String qtfjzdids, String fjzdids, String ssjyrid, String sylxid, 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;
+		}
+		JsjdcbsjEntity jsjdcbsj = new JsjdcbsjEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jsjdcbsj = jsjdcbsjdsService.findOne(code.getId());
+				jsjdcbsj.setXmmc(code.getXmmc());
+				jsjdcbsj.setXmfr(code.getXmfr());
+				jsjdcbsj.setJsdd(code.getJsdd());
+				jsjdcbsj.setJsgm(code.getJsgm());
+				jsjdcbsj.setZtz(code.getZtz());
+				jsjdcbsj.setTgnl(code.getTgnl());
+				jsjdcbsj.setAxcd(code.getAxcd());
+				jsjdcbsj.setBwdj(code.getBwdj());
+				jsjdcbsj.setBwyt(code.getBwyt());
+				jsjdcbsj.setJcsj(code.getJcsj());
+				jsjdcbsj.setZftze(code.getZftze());
+				jsjdcbsj.setXmbm(code.getXmbm());
+				if (!StringUtils.isEmpty(ssjyrid)) {
+					GkjyrEntity jyr = new GkjyrEntity();
+					jyr.setId(ssjyrid);
+					jsjdcbsj.setJyrid(jyr);
+				}
+				if (!StringUtils.isEmpty(sylxid)) {
+					CodeEntity sylx = new CodeEntity(sylxid);
+					jsjdcbsj.setSylx(sylx);
+				}
+				if (!StringUtils.isEmpty(zyhbwflid)) {
+					CodeEntity zyhbwfl = new CodeEntity(zyhbwflid);
+					jsjdcbsj.setZyhbwfl(zyhbwfl);
+				}
+
+				if (!StringUtils.isEmpty(szgkid)) {
+					GkEntity szgk = new GkEntity();
+					szgk.setId(szgkid);
+					jsjdcbsj.setSzgk(szgk);
+				}
+				if (!StringUtils.isEmpty(szgqid)) {
+					GqEntity szgq = new GqEntity();
+					szgq.setId(szgqid);
+					jsjdcbsj.setSzgq(szgq);
+				}
+				if (!StringUtils.isEmpty(xmlxid)) {
+					CodeEntity xmlxdx = new CodeEntity();
+					xmlxdx.setId(xmlxid);
+					jsjdcbsj.setXmlx(xmlxdx);
+				}
+				if (!StringUtils.isEmpty(tzlxid)) {
+					CodeEntity tzlxdx = new CodeEntity();
+					tzlxdx.setId(tzlxid);
+					jsjdcbsj.setTzlx(tzlxdx);
+				} else {
+					jsjdcbsj.setTzlx(null);
+				}
+				if (!StringUtils.isEmpty(xmhzjbid)) {
+					CodeEntity xmhzjbdx = new CodeEntity();
+					xmhzjbdx.setId(xmhzjbid);
+					jsjdcbsj.setXmhzjb(xmhzjbdx);
+				} else {
+					jsjdcbsj.setXmhzjb(null);
+				}
+				if (!StringUtils.isEmpty(axspjbid)) {
+					CodeEntity axspjbdx = new CodeEntity();
+					axspjbdx.setId(axspjbid);
+					jsjdcbsj.setAxspjb(axspjbdx);
+				} else {
+					jsjdcbsj.setAxspjb(null);
+				}
+				jsjdcbsj.setSftb(Constants.NO);
+				jsjdcbsj = jsjdcbsjdsService.save(jsjdcbsj);
+			} else {
+				// String id = UUID.randomUUID().toString().replaceAll("-", "");
+				// code.setId(id);
+				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);
+				jsjdcbsj = jsjdcbsjdsService.save(code);
+			}
+			// 关联附件
+			fjgt(accids, jsjdcbsj);
+			fjzdgt(fjzdids, jsjdcbsj);
+			// 其他附件
+			qtfjgt(qtfjids, jsjdcbsj);
+			qtfjzdgt(qtfjzdids, jsjdcbsj);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	/*
+	 * @RequestMapping(value = "/saveTbzt")
+	 * 
+	 * @ResponseBody public WebJsonResult saveTbzt(Model model, String id) {
+	 * WebJsonResult wr = success(); JsjdcbsjEntity entity =
+	 * jsjdcbsjService.findOne(id); entity.setSftb(Constants.YES);
+	 * jsjdcbsjService.save(entity); String url =
+	 * "/GK_OPERATION_JSJY_JSJDCBSJ_ONE_CP?condition=ID=" + id; boolean flag =
+	 * getTbStatus(url); if (flag) { entity.setTbzt(Constants.YES);
+	 * jsjdcbsjService.save(entity); } else { wr.setSuccess(false);
+	 * wr.setMessage("同步失败"); } return wr; }
+	 */
+
+	@RequestMapping(value = "/edit")
+	public String edit(Model model, String id, String flag) {
+		model.addAttribute("flag", flag);
+		JsjdcbsjEntity entity = jsjdcbsjdsService.findOne(id);
+		JsjdcbsjVo vo = new JsjdcbsjVo();
+		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.setTzlx(entity.getTzlx() != null ? entity.getTzlx().getId() : "");
+		vo.setXmlx(entity.getXmlx() != null ? entity.getXmlx().getId() : "");
+		vo.setSylx(entity.getSylx() != null ? entity.getSylx().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.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);
+		}
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdcbsj");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdcbsjfjVo fjnamevo = new JsjdcbsjfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsj");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+				Date date = fjlist.get(i).getFbsj();
+
+				JsjdcbsjfjVo fjvo = new JsjdcbsjfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					fjvo.setFbsj(date2);
+				}
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsjqtfj");
+		List<JsjdcbsjfjVo> qtfjlists = new ArrayList<JsjdcbsjfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdcbsjfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdcbsjfjVo fjvo = new JsjdcbsjfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+		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/jsjdcbsj/jsjdcbsjdsedit";
+	}
+
+	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);
+
+		JsjdcbsjEntity entity = jsjdcbsjdsService.findOne(id);
+		JsjdcbsjVo vo = new JsjdcbsjVo();
+		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() : "");
+		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);
+		}
+		// 附件
+		List<AccessoryEntity> accessoryList = accessoryService.queryBySsidAndSstype(id, "jsjdcbsj");
+		for (int i = 0; i < accessoryList.size(); i++) {
+			if (StringUtils.isNotEmpty(accessoryList.get(i).getRemark())) {
+				AccessoryEntity acc = accessoryList.get(i);
+				String s = accessoryList.get(i).getRemark().substring(0, 2);
+				String accid = accessoryList.get(i).getId();
+				JsjdfjVo fjnamevo = new JsjdfjVo();
+				fjnamevo.setXhbz(accessoryList.get(i).getRemark().substring(2, accessoryList.get(i).getRemark().length()));
+				fjnamevo.setFjid(accid);
+				fjnamevo.setFjmc(accessoryList.get(i).getName());
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+					try {
+						Ftp f = getftp();
+						// 本地目录
+						String localBaseDir = GlobalData.UPLOAD_FILE_PATH + acc.getFilepath();
+						File newfile = new File(localBaseDir);
+						// 如果文件夹不存在则创建
+						if (!newfile.exists() && !newfile.isDirectory()) {
+							newfile.mkdirs();
+						}
+						// 远程目录
+						String remoteBaseDir = acc.getFilepath();
+						// 下载ftp文件
+						boolean downflag = FtpUtil.startDown(f, localBaseDir, remoteBaseDir, acc.getFilename());
+						if (downflag) {
+							System.out.println("ok");
+							acc.setFjbz("1");
+							accessoryService.save(acc);
+						}
+
+					} catch (Exception e) {
+						e.printStackTrace();
+					}
+				}
+				model.addAttribute("fjList" + s, fjnamevo);
+				model.addAttribute("xiazaibz", s);
+			}
+		}
+
+		// 附件字段
+		List<JsjdcbsjfjEntity> fjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsj");
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+
+		for (int i = 0; i < fjlist.size(); i++) {
+			// 从发布单位中获取标识位
+			if (StringUtils.isNotEmpty(fjlist.get(i).getFjbz())) {
+				String s = fjlist.get(i).getFjbz().substring(0, 2);
+
+				JsjdcbsjfjVo fjvo = new JsjdcbsjfjVo();
+				fjvo.setFjbz(fjlist.get(i).getFjbz().substring(2, fjlist.get(i).getFjbz().length()));
+				String fbsj = "";
+				if (fjlist.get(i).getFbsj() != null) {
+					fbsj = dateFormater.format(fjlist.get(i).getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setFbdw(fjlist.get(i).getFbdw());
+				fjvo.setWjh(fjlist.get(i).getWjh());
+				fjvo.setId(fjlist.get(i).getId());
+				model.addAttribute("recordfj" + s, fjvo);
+			}
+		}
+
+		List<JsjdcbsjfjEntity> qtfjlist = jsjdcbsjfjService.findBySsidandfjlx(id, "jsjdcbsjqtfj");
+		List<JsjdcbsjfjVo> qtfjlists = new ArrayList<JsjdcbsjfjVo>();
+		if (qtfjlist != null && qtfjlist.size() > 0) {
+			for (JsjdcbsjfjEntity qtfj : qtfjlist) {
+				AccessoryEntity acc = accessoryService.findOne(qtfj.getFjid());
+				JsjdcbsjfjVo fjvo = new JsjdcbsjfjVo();
+				fjvo.setFbdw(qtfj.getFbdw());
+				String fbsj = "";
+				if (qtfj.getFbsj() != null) {
+					fbsj = dateFormater.format(qtfj.getFbsj());
+				}
+				fjvo.setFbsj(fbsj);
+				fjvo.setWjh(fjvo.getWjh());
+				fjvo.setFjid(qtfj.getFjid());
+				fjvo.setFjmc(acc.getName());
+				qtfjlists.add(fjvo);
+			}
+		}
+		model.addAttribute("qtfjlist", qtfjlists);
+		String roleCode = "";
+		String currName = "";
+		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+		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())) {
+				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("currName", currName);
+		model.addAttribute("roleCode", roleCode);
+		model.addAttribute("opflag", opflag);
+
+		List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+		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);
+
+		model.addAttribute("record", vo);
+		model.addAttribute("jyr", entity.getJyrid());
+		return "gkjsgl/jsjdcbsj/jsjdcbsjdsview";
+	}
+
+	@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() : "");
+			}
+		}
+		if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			model.addAttribute("ssFlag", "1");
+		} else {
+			model.addAttribute("ssFlag", "0");
+		}
+		model.addAttribute("roleCode", Constants.ROLE_LD);
+		return "gkjsgl/jsjdcbsj/jsjdcbsjdsadd";
+	}
+
+	@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, String delid34, String delid35, String delid36, String delid37, String delid38, String fjzdids) {
+		WebJsonResult wr = success();
+		JsjdcbsjEntity entity = jsjdcbsjdsService.findOne(id);
+		if (!StringUtils.isEmpty(accid)) {
+			// 关联附件
+			fjgt(accid, entity);
+			fjzdgt(fjzdids, entity);
+		}
+		try {
+			if (jsjdcbsjdsService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
+				jsjdcbsjdsService.claim(id, SecUtils.getCurrUser().getId().toString());
+			}
+
+			// 获取流程最新步骤
+			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+			// 退回用户处理
+			if (!flag) {
+				List<TaskInfoEntity> slist = taskInfoService.findByBusIdAndBusKeyOrderByIdAsc(id, JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS);
+				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);
+						}
+					}
+				}
+			}
+
+			jsjdcbsjdsService.changeAudit(shyj, entity, flag, userids);
+			/*
+			 * if (flowflag) { if (flag) {// 流程完成状态 2.审核通过1.退回地市
+			 * entity.setFlowstatus("2"); } else { entity.setFlowstatus("1"); }
+			 * entity.setSftb(Constants.YES); entity =
+			 * jsjdcbsjdsService.save(entity); // 如果是省级审核通过或不通过后同步到市级 try {
+			 * String url = "/GK_OPERATION_JSJY_JSJDCBSJ_ONE_PC?condition=ID=" +
+			 * entity.getId(); boolean tbflag = getTbStatus(url); if (tbflag) {
+			 * entity.setTbzt("Y"); jsjdcbsjdsService.save(entity); } } catch
+			 * (Exception e) { e.printStackTrace(); }
+			 * 
+			 * } else { // rtx提醒 if (!StringUtils.isEmpty(userids)) {
+			 * rtxSend(userids, "", "你有一条建设进度初步设计申请待办事务,请及时处理!"); } }
+			 */
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	// 附件字段保存共通
+	public void fjzdgt(String fjzdids, JsjdcbsjEntity code) {
+		if (fjzdids != null && fjzdids != "") {
+			String[] fjidssz = fjzdids.split(",");
+			for (String fj : fjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					// 获取前两个字符(标识位)
+					String s = fj.substring(0, 2);
+					// 去掉前两个标识位查询
+					JsjdcbsjfjEntity jsjdfj = jsjdcbsjfjService.findOne(fj.substring(2, fj.length()));
+					jsjdfj.setSsid(code.getId());
+					// 把附件标识设置成标识位+附件标识
+					jsjdfj.setFjbz(s + jsjdfj.getFjbz());
+					jsjdfj.setFbdw(jsjdfj.getFbdw());
+					jsjdfj.setFjlx("jsjdcbsj");
+					jsjdcbsjfjService.save(jsjdfj);
+				}
+			}
+		}
+	}
+
+	// 附件保存共通
+	public void fjgt(String accids, JsjdcbsjEntity xmxxgl) {
+		if (null != accids && "" != accids) {
+			String[] ssids = accids.split(",");
+			for (String ssid : ssids) {
+				// 获取前两个字符(标识位)
+				if (!StringUtils.isEmpty(ssid)) {
+					String s = ssid.substring(0, 2);
+					// 去掉标志位查询
+					AccessoryEntity acc = accessoryService.findOne(ssid.substring(2, ssid.length()));
+					acc.setSsid(xmxxgl.getId());
+					// 把备注设置成标识位+备注
+					acc.setRemark(s + acc.getRemark());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
+
+	// 保存附件
+	@RequestMapping(value = "/saveFile")
+	@ResponseBody
+	public WebJsonResult saveFile(MultipartFile filename, Model model) {
+		WebJsonResult wr = success();
+		if (filename != null && filename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(filename, "jsjdcbsj");
+			wr.setAttr("acc", acc);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件或上传的附件不能为空!");
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/savefj")
+	@ResponseBody
+	public WebJsonResult savefj(Model model, JsjdcbsjfjEntity fjzd) {
+		WebJsonResult wr = success();
+		try {
+			// 新增
+			JsjdcbsjfjEntity entity = jsjdcbsjfjService.save(fjzd);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	@RequestMapping(value = "/saveQtfj")
+	@ResponseBody
+	public WebJsonResult saveQtfj(String opflag, MultipartFile qtfilename, Model model) {
+		WebJsonResult wr = success();
+		if (qtfilename != null && qtfilename.getSize() > 0) {
+			AccessoryEntity acc = accessoryService.saveFile(qtfilename, "jsjdcbsj");
+			acc.setRemark(opflag);
+			accessoryService.save(acc);
+			wr.setAttr("acc", acc);
+		} else {
+			wr.setSuccess(false);
+			wr.setMessage("请上传附件!");
+		}
+		return wr;
+	}
+
+	// 其他附件列表显示
+	@RequestMapping(value = "/qtfjlb")
+	@ResponseBody
+	public JsjdcbsjfjVo qtfjlb(String id, String qtfjid, String opflag, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(qtfjid);
+		SimpleDateFormat dateFormater = new SimpleDateFormat("yyyy-MM-dd");
+		JsjdcbsjfjVo jsjd = new JsjdcbsjfjVo();
+		JsjdcbsjfjEntity fjzd = jsjdcbsjfjService.findByFjid(qtfjid);
+		if (fjzd != null) {
+			jsjd.setFbdw(fjzd.getFbdw());
+			jsjd.setWjh(fjzd.getWjh());
+			if (!StringUtils.isEmpty(fjzd.getFbsj())) {
+				Date date = fjzd.getFbsj();
+				if (date != null) {
+					String date2 = dateFormater.format(date);
+					jsjd.setFbsj(date2);
+				}
+			} else {
+				jsjd.setFbsj("");
+			}
+
+			jsjd.setId(fjzd.getId());
+		}
+		jsjd.setFjmc(acc.getName());
+		jsjd.setFjid(acc.getId());
+		return jsjd;
+	}
+
+	@RequestMapping(value = "/delFile")
+	@ResponseBody
+	public WebJsonResult delFile(String id, Model model) {
+		AccessoryEntity acc = accessoryService.findOne(id);
+		accessoryService.delete(acc);
+
+		JsjdcbsjfjEntity fjzd = jsjdcbsjfjService.findByFjid(acc.getId());
+		if (fjzd != null) {
+			jsjdcbsjfjService.delete(fjzd);
+		}
+		WebJsonResult wr = success();
+
+		return wr;
+	}
+
+	@RequestMapping(value = "/delFjzd")
+	@ResponseBody
+	public WebJsonResult delFjzd(String id, Model model) {
+		jsjdcbsjfjService.logicDelete(id);
+		WebJsonResult wr = success();
+		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() : "");
+		vo.setSzddzw(entity.getSzd() != null ? entity.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);
+		}
+
+		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/jsjdcbsj/jsjdcbsjdsadd";
+	}
+
+	// 初始化项目信息选择页面
+	@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));
+
+				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)));
+
+				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();
+		JsjdcbsjEntity entity = jsjdcbsjdsService.findOne(id);
+
+		entity.setSftb(Constants.YES);
+		jsjdcbsjdsService.save(entity);
+
+		String url = "/GK_OPERATION_JSJY_JSJDCBSJ_ONE_CP?condition=ID=" + id;
+
+		boolean flag = getTbStatus(url);
+		if (flag) {
+			entity.setFlowstatus("0");
+			entity.setTbzt(Constants.YES);
+			jsjdcbsjdsService.save(entity);
+		} else {
+			entity.setFlowstatus(null);
+			entity.setSftb(Constants.NO);
+			jsjdcbsjdsService.save(entity);
+			wr.setSuccess(false);
+			wr.setMessage("转报省级失败");
+		}
+		return wr;
+	}
+
+	// 其他附件字段保存共通
+	public void qtfjgt(String qtfjids, JsjdcbsjEntity code) {
+		if (!StringUtils.isEmpty(qtfjids)) {
+			String[] qtfjidssz = qtfjids.split(",");
+			for (String fj : qtfjidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					AccessoryEntity acc = accessoryService.findOne(fj);
+					acc.setSsid(code.getId());
+					accessoryService.save(acc);
+				}
+			}
+		}
+	}
+
+	// 其他附件保存共通
+	public void qtfjzdgt(String qtfjzdids, JsjdcbsjEntity code) {
+		if (!StringUtils.isEmpty(qtfjzdids)) {
+			String[] qtfjzdidssz = qtfjzdids.split(",");
+			for (String fj : qtfjzdidssz) {
+				if (!StringUtils.isEmpty(fj)) {
+					JsjdcbsjfjEntity jsjdcbsjfj = jsjdcbsjfjService.findOne(fj);
+					jsjdcbsjfj.setSsid(code.getId());
+					jsjdcbsjfjService.save(jsjdcbsjfj);
+				}
+			}
+		}
+	}
+
+	@RequestMapping(value = "/xinzengqtfj")
+	@ResponseBody
+	public WebJsonResult xinzengqtfj(String opflag, String qtfjid, String id, Model model, String qtfbdw, Date qtfbsj, String qtwjh) {
+		WebJsonResult wr = success();
+		try {
+			// 新增
+			JsjdcbsjfjEntity entity = new JsjdcbsjfjEntity();
+			entity.setFbdw(qtfbdw);
+			entity.setFbsj(qtfbsj);
+			entity.setWjh(qtwjh);
+			entity.setFjid(qtfjid);
+			entity.setFjlx("jsjdcbsjqtfj");
+			if (StringUtils.isEmpty(opflag)) {
+				entity.setFjbz("1");
+			} else {
+				entity.setFjbz(opflag);
+			}
+			jsjdcbsjfjService.save(entity);
+			String fjid = entity.getId();
+			wr.setMessage(fjid);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+}

+ 5 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/dao/JsjdcbsjfjDao.java

@@ -11,7 +11,10 @@ public interface JsjdcbsjfjDao extends SecRepository<JsjdcbsjfjEntity, String> {
 
 	@Query("SELECT m  FROM JsjdcbsjfjEntity m WHERE  m.ssid =?1  and m.recordStatus <> 9 ")
 	public List<JsjdcbsjfjEntity> findBySsid(String ssid);
-	
+
 	@Query("SELECT m from JsjdcbsjfjEntity m  where m.ssid =?1 and m.fjlx=?2 and m.recordStatus<>9")
-	public List<JsjdcbsjfjEntity> findBySsidandfjlx(String ssid,String fjlx);
+	public List<JsjdcbsjfjEntity> findBySsidandfjlx(String ssid, String fjlx);
+
+	@Query("SELECT m  FROM JsjdcbsjfjEntity m WHERE  m.fjid =?1  and m.recordStatus <> 9 ")
+	public JsjdcbsjfjEntity findByFjid(String fjid);
 }

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

@@ -28,6 +28,7 @@ public class JsjdcbsjEntity extends BaseEntity<String> implements Cloneable {
 	private static final long serialVersionUID = -485787620077488727L;
 
 	public static final String PROCESS_DEFINITION_KEY = "jsjdcbsj";
+	public static final String PROCESS_DEFINITION_KEYDS = "jsjdcbsjds";
 	private String id;/* 唯一标识 */
 	private String xmmc;/* 项目名称 */
 	private String xmfr;/* 项目法人 */
@@ -45,17 +46,26 @@ public class JsjdcbsjEntity extends BaseEntity<String> implements Cloneable {
 	private GkEntity szgk;/* 所在港口 */
 	private GqEntity szgq;/* 所在港区 */
 	private GkjyrEntity jyrid;
-	private String bwyt;/* 泊位用途*/
-	private CodeEntity zyhbwfl;/* 专业化泊位分类*/
-	private String lcjd;/* 流程节点*/
-	private String sfqswj;/* 是否缺失文件*/
+	private String bwyt;/* 泊位用途 */
+	private CodeEntity zyhbwfl;/* 专业化泊位分类 */
+	private String lcjd;/* 流程节点 */
+	private String sfqswj;/* 是否缺失文件 */
 	private String flowstatus;
 	private String xmbm;/* 项目编码 */
 	private String zftze;/* 政府投资额 */
 	private CodeEntity sylx;/* 水域类型 */
 	private Date jcsj; /* 建成时间 */
 	private String xmgk;
-	
+	private String xmid;
+
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
+
 	public String getXmgk() {
 		return xmgk;
 	}
@@ -228,7 +238,7 @@ public class JsjdcbsjEntity extends BaseEntity<String> implements Cloneable {
 	public void setBwyt(String bwyt) {
 		this.bwyt = bwyt;
 	}
-	
+
 	@ManyToOne(fetch = FetchType.EAGER, targetEntity = CodeEntity.class)
 	@JoinColumn(name = "zyhbwfl")
 	public CodeEntity getZyhbwfl() {

+ 26 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjdsService.java

@@ -0,0 +1,26 @@
+package com.xt.jygl.gkjsgl.jsjdcbsj.service;
+
+import java.util.List;
+
+import com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjWebService;
+import com.xt.jygl.gkjsgl.jsjdcbsj.entity.JsjdcbsjEntity;
+import com.xt.jygl.workflow.service.BaseWorkFlowService;
+
+public interface JsjdcbsjdsService extends BaseWorkFlowService {
+	/* 逻辑删除 */
+	void logicDelete(String id);
+
+	public <S extends JsjdcbsjEntity> S save(S entity);
+
+	public <S extends JsjdcbsjEntity> S submit(S gg,String userids);
+
+	JsjdcbsjEntity findOne(String id);
+
+	void delete(String id);
+
+	public boolean changeAudit(String shyj, JsjdcbsjEntity xmxx, boolean flag,String userids);
+
+	public JsjdcbsjWebService getWebService(String szdId);
+	
+	public List<JsjdcbsjEntity> findByTbzt();
+}

+ 2 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/JsjdcbsjfjService.java

@@ -16,4 +16,6 @@ public interface JsjdcbsjfjService {
 	List<JsjdcbsjfjEntity> findBySsid(String ssid);
 	
 	List<JsjdcbsjfjEntity> findBySsidandfjlx(String ssid,String fjlx);
+	
+	JsjdcbsjfjEntity findByFjid(String fjid);
 }

+ 137 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjdsServiceImpl.java

@@ -0,0 +1,137 @@
+package com.xt.jygl.gkjsgl.jsjdcbsj.service.impl;
+
+import java.net.URL;
+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.common.GlobalData;
+import com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjWebService;
+import com.xt.jygl.gkjsgl.jsjdcbsj.dao.JsjdcbsjDao;
+import com.xt.jygl.gkjsgl.jsjdcbsj.entity.JsjdcbsjEntity;
+import com.xt.jygl.gkjsgl.jsjdcbsj.service.JsjdcbsjdsService;
+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.core.webService.AuthHandlerResolver;
+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 JsjdcbsjdsServiceImpl extends BaseWorkFlowServiceImpl<JsjdcbsjEntity, String> implements JsjdcbsjdsService {
+
+	@Autowired
+	private JsjdcbsjDao dao;
+	@Autowired
+	private WorkflowMangerService workService;
+	@Autowired
+	protected SecurityMgr securityMgr;
+
+	@Override
+	protected SecRepository<JsjdcbsjEntity, String> getDao() {
+
+		return this.dao;
+	}
+
+	@Override
+	public <S extends JsjdcbsjEntity> S submit(S entity, String userids) {
+		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 JsjdcbsjEntity.PROCESS_DEFINITION_KEYDS;
+	}
+
+	@Override
+	public boolean changeAudit(String shyj, JsjdcbsjEntity 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(), JsjdcbsjEntity.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 JsjdcbsjWebService getWebService(String szdId) {
+		URL wsdlLocation;
+		if (null == szdId && GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY)) {
+			// 市级取省级的8/
+			wsdlLocation = com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService.getWsdlLocationByIp(GlobalData.WEBSERVICE_IP_MAIN, GlobalData.WEBSERVICE_PORT_MAIN);
+		} else {// 省级取市级的webservice 根据数据的所在地
+			// TODO
+			wsdlLocation = com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService.getWsdlLocationByIp("192.168.30.143", "18089");
+
+		}
+		com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService service = new com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService(wsdlLocation, com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService.JSJDCBSJSERVICE_QNAME);
+		service.setHandlerResolver(new AuthHandlerResolver(com.xt.jygl.gkjsgl.jsjdcbsj.client.JsjdcbsjService.JSJDCBSJSERVICE_QNAME));
+		JsjdcbsjWebService webService = service.getJsjdcbsjWebServicePort();
+		return webService;
+	}
+
+	@Override
+	public List<JsjdcbsjEntity> findByTbzt() {
+
+		return dao.findByTbzt();
+	}
+
+}

+ 7 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/service/impl/JsjdcbsjfjServiceImpl.java

@@ -34,6 +34,13 @@ public class JsjdcbsjfjServiceImpl extends JyglBaseService<JsjdcbsjfjEntity, Str
 		return dao.findBySsidandfjlx(ssid, fjlx);
 	}
 
+
+	@Override
+	public JsjdcbsjfjEntity findByFjid(String fjid) {
+		
+		return dao.findByFjid(fjid);
+	}
+
 	
 
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/jsjdcbsj/vo/JsjdcbsjVo.java

@@ -64,6 +64,15 @@ public class JsjdcbsjVo extends BaseVo {
 	private String tbzt;
 	private String sftb;
 	private String xmgk;
+	private String xmid;
+	
+	public String getXmid() {
+		return xmid;
+	}
+
+	public void setXmid(String xmid) {
+		this.xmid = xmid;
+	}
 
 	public String getXmgk() {
 		return xmgk;

+ 6 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/ctl/DcCtl.java

@@ -350,9 +350,10 @@ public class DcCtl extends BaseWebCtl {
 			wr.setMessage("请输入堆场名称!");
 			return wr;
 		}
+		DcEntity entity =  new DcEntity();
 		try {
 			if (!StringUtils.isEmpty(code.getId())) {
-				DcEntity entity = dcService.findOne(code.getId());
+				entity = dcService.findOne(code.getId());
 				entity.setDcmc(code.getDcmc());
 				entity.setDczmj(code.getDczmj());
 				entity.setDczrl(code.getDczrl());
@@ -485,19 +486,19 @@ public class DcCtl extends BaseWebCtl {
 						code.setRecordStatus(BaseEntity.RECORE_STATE_BGFLAG);
 					}
 				}
-				dcService.save(code);
+				entity = dcService.save(code);
 			}
 			// 如果是市级新增或者修改,保存后同步到省级
 			try {
 				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
 					DcWebService webService = dcService.getWebService(null);
-					webService.save(code);
+					webService.save(entity);
 					code.setTbzt(Constants.YES);
-					dcService.save(code);
+					dcService.save(entity);
 				}
 			} catch (Exception e) {
 				code.setTbzt(Constants.NO);
-				dcService.save(code);
+				dcService.save(entity);
 			}
 		} catch (Exception e) {
 			wr.setSuccess(false);

+ 54 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/ctl/LhbgCtl.java

@@ -330,7 +330,7 @@ public class LhbgCtl extends BaseWebCtl {
 	// 保存
 	@RequestMapping(value = "/save")
 	@ResponseBody
-	public WebJsonResult save(Model model, LhbgEntity code, String accid) {
+	public WebJsonResult save(Model model, LhbgEntity code, String accid ) {
 		WebJsonResult wr = success();
 		LhbgEntity lhbgEntity = new LhbgEntity();
 		try {
@@ -342,6 +342,7 @@ public class LhbgCtl extends BaseWebCtl {
 				lhbgEntity.setXbgdz(code.getXbgdz());
 				lhbgEntity.setXfddbr(code.getXfddbr());
 				lhbgEntity.setSftb(Constants.NO);
+				lhbgEntity.setTyyy(code.getTyyy());
 				lhbgEntity = lhbgService.save(lhbgEntity);
 			} else {
 				code.setId(null);
@@ -366,7 +367,6 @@ public class LhbgCtl extends BaseWebCtl {
 					}
 				}
 			}
-
 		} catch (Exception e) {
 			wr.setSuccess(false);
 			wr.setMessage("操作失败!");
@@ -375,6 +375,55 @@ public class LhbgCtl extends BaseWebCtl {
 		return wr;
 	}
 
+	// 保存
+		@RequestMapping(value = "/saveTb")
+		@ResponseBody
+		public WebJsonResult saveTb(Model model, LhbgEntity code, String accid ) {
+			WebJsonResult wr = success();
+			LhbgEntity lhbgEntity = new LhbgEntity();
+			try {
+				if (!StringUtils.isEmpty(code.getId())) {
+					lhbgEntity = lhbgService.findOne(code.getId());
+					lhbgEntity.setLxr(code.getLxr());
+					lhbgEntity.setDh(code.getDh());
+					lhbgEntity.setCz(code.getCz());
+					lhbgEntity.setXbgdz(code.getXbgdz());
+					lhbgEntity.setXfddbr(code.getXfddbr());
+					lhbgEntity.setSftb(Constants.NO);
+					lhbgEntity.setTyyy(code.getTyyy());
+					lhbgEntity = lhbgService.save(lhbgEntity);
+				} else {
+					code.setId(null);
+					code.setSqrq(new Date());
+					GkjyrEntity jyr = gkjyrService.findOne(code.getJyrid());
+					if (jyr != null) {
+						code.setSzgk(jyr.getSzgk());
+						code.setSzgq(jyr.getSzgq());
+						code.setSzd(jyr.getSzd());
+					}
+					code.setSftb(Constants.NO);
+					lhbgEntity = lhbgService.save(code);
+				}
+				if (!StringUtils.isEmpty(accid)) {
+					// 关联附件
+					String[] ssids = accid.split(",");
+					for (String ssid : ssids) {
+						LhbgfjEntity fj = lhbgfjService.findOne(ssid);
+						if (fj != null) {
+							fj.setBgid(lhbgEntity.getId());
+							lhbgfjService.save(fj);
+						}
+					}
+				}
+				wr = saveTbzt(model, lhbgEntity.getId());
+			} catch (Exception e) {
+				wr.setSuccess(false);
+				wr.setMessage("操作失败!");
+				e.printStackTrace();
+			}
+			return wr;
+		}
+	
 	@RequestMapping(value = "/saveTbzt")
 	@ResponseBody
 	public WebJsonResult saveTbzt(Model model, String id) {
@@ -401,6 +450,7 @@ public class LhbgCtl extends BaseWebCtl {
 		} else {
 			entity.setFlowstatus(null);
 			entity.setTbzt(Constants.NO);
+			entity.setSftb(Constants.NO);
 			lhbgService.save(entity);
 			wr.setSuccess(false);
 			wr.setMessage("转报省局失败");
@@ -423,6 +473,7 @@ public class LhbgCtl extends BaseWebCtl {
 				lhbgEntity.setCz(code.getCz());
 				lhbgEntity.setXbgdz(code.getXbgdz());
 				lhbgEntity.setXfddbr(code.getXfddbr());
+				lhbgEntity.setTyyy(code.getTyyy());
 				lhbgEntity = lhbgService.submit(lhbgEntity, userids);
 			} else {
 
@@ -468,6 +519,7 @@ public class LhbgCtl extends BaseWebCtl {
 				lhbgEntity.setDh(code.getDh());
 				lhbgEntity.setCz(code.getCz());
 				lhbgEntity.setXbgdz(code.getXbgdz());
+				lhbgEntity.setTyyy(code.getTyyy());
 				lhbgEntity.setXfddbr(code.getXfddbr());
 				lhbgEntity = lhbgService.save(lhbgEntity);
 			}

+ 10 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/entity/LhbgEntity.java

@@ -59,6 +59,16 @@ public class LhbgEntity extends BaseEntity<String> implements Cloneable {
 	private Date sqrq = null;
 	private String flowstatus = null;
 
+	private String tyyy = null;
+
+	public String getTyyy() {
+		return tyyy;
+	}
+
+	public void setTyyy(String tyyy) {
+		this.tyyy = tyyy;
+	}
+
 	public String getFlowstatus() {
 		return flowstatus;
 	}

+ 20 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhbg/vo/LhbgVo.java

@@ -43,6 +43,26 @@ public class LhbgVo extends BaseVo {
 	private String tbzt = null;
 	private String currentname = null;
 
+	private String flowstatus = null;
+
+	private String tyyy = null;
+
+	public String getFlowstatus() {
+		return flowstatus;
+	}
+
+	public void setFlowstatus(String flowstatus) {
+		this.flowstatus = flowstatus;
+	}
+
+	public String getTyyy() {
+		return tyyy;
+	}
+
+	public void setTyyy(String tyyy) {
+		this.tyyy = tyyy;
+	}
+
 	public String getSftb() {
 		return sftb;
 	}

+ 63 - 88
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhsq/ctl/LhsqCtl.java

@@ -144,7 +144,7 @@ public class LhsqCtl extends BaseWebCtl {
 							vo.setCurrentname("退回地市");
 						} else if ("2".equals(entity.getFlowstatus())) {
 							vo.setCurrentname("省局同意");
-						}else if("0".equals(entity.getFlowstatus())){
+						} else if ("0".equals(entity.getFlowstatus())) {
 							vo.setCurrentname("转报省局");
 						}
 					}
@@ -307,10 +307,10 @@ public class LhsqCtl extends BaseWebCtl {
 		String currName = "";
 		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, LhsqEntity.PROCESS_DEFINITION_KEY);
 		if (taskinfo != null) {
-			if("sljbr".equals(taskinfo.getTaskKey())) {
+			if ("sljbr".equals(taskinfo.getTaskKey())) {
 				roleCode = Constants.ROLE_KS;
 				currName = "科室审查";
-			}else if ("kssc".equals(taskinfo.getTaskKey())) {
+			} else if ("kssc".equals(taskinfo.getTaskKey())) {
 				roleCode = Constants.ROLE_FGLD;
 				currName = "分管领导审批";
 			} else if ("fgldsp".equals(taskinfo.getTaskKey())) {
@@ -427,95 +427,69 @@ public class LhsqCtl extends BaseWebCtl {
 	}
 
 	// 保存
-		@RequestMapping(value = "/saveTb")
-		@ResponseBody
-		public WebJsonResult saveTb(Model model, LhsqEntity code, String accid) {
-			WebJsonResult wr = success();
-			LhsqEntity lhsqEntity = new LhsqEntity();
-			try {
-				if (!StringUtils.isEmpty(code.getId())) {
-					lhsqEntity = lhsqService.findOne(code.getId());
-					lhsqEntity.setSqr(code.getSqr());
-					lhsqEntity.setSqnr(code.getSqnr());
-					lhsqEntity.setSqrdz(code.getSqrdz());
-					lhsqEntity.setSqrqz(code.getSqrqz());
-					lhsqEntity.setSqrlxfs(code.getSqrlxfs());
-					lhsqEntity.setSqryzbm(code.getSqryzbm());
-					lhsqEntity.setWtdlrlxfs(code.getWtdlrlxfs());
-					lhsqEntity.setWtdlrxm(code.getWtdlrxm());
-					lhsqEntity.setGdmc(code.getGdmc());
-					lhsqEntity.setZcd(code.getZcd());
-					lhsqEntity.setTzgb(code.getTzgb());
-					lhsqEntity.setLxr(code.getLxr());
-					lhsqEntity.setLxdh(code.getLxdh());
-					lhsqEntity.setYgzs(code.getYgzs());
-					lhsqEntity.setLhys(code.getLhys());
-					lhsqEntity.setYysr(code.getYysr());
-					lhsqEntity.setYysrr(code.getYysrr());
-					lhsqEntity.setLhl(code.getLhl());
-					lhsqEntity.setLhll(code.getLhll());
-					lhsqEntity.setLxl(code.getLxl());
-					lhsqEntity.setLxll(code.getLxll());
-					lhsqEntity.setSftb(Constants.NO);
-					lhsqEntity = lhsqService.save(lhsqEntity);
-				} else {
-					code.setId(null);
-					code.setSqrq(new Date());
-					GkjyrEntity jyr = gkjyrService.findOne(code.getJyrid());
-					if (jyr != null) {
-						code.setSzgk(jyr.getSzgk());
-						code.setSzgq(jyr.getSzgq());
-						code.setSzd(jyr.getSzd());
-					}
-					code.setSftb(Constants.NO);
-					lhsqEntity = lhsqService.save(code);
-				}
-				if (!StringUtils.isEmpty(accid)) {
-					// 关联附件
-					String[] ssids = accid.split(",");
-					for (String ssid : ssids) {
-						LhsqfjEntity fj = lhsqfjService.findOne(ssid);
-						if (fj != null) {
-							fj.setSqid(lhsqEntity.getId());
-							lhsqfjService.save(fj);
-						}
-					}
+	@RequestMapping(value = "/saveTb")
+	@ResponseBody
+	public WebJsonResult saveTb(Model model, LhsqEntity code, String accid) {
+		WebJsonResult wr = success();
+		LhsqEntity lhsqEntity = new LhsqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				lhsqEntity = lhsqService.findOne(code.getId());
+				lhsqEntity.setSqr(code.getSqr());
+				lhsqEntity.setSqnr(code.getSqnr());
+				lhsqEntity.setSqrdz(code.getSqrdz());
+				lhsqEntity.setSqrqz(code.getSqrqz());
+				lhsqEntity.setSqrlxfs(code.getSqrlxfs());
+				lhsqEntity.setSqryzbm(code.getSqryzbm());
+				lhsqEntity.setWtdlrlxfs(code.getWtdlrlxfs());
+				lhsqEntity.setWtdlrxm(code.getWtdlrxm());
+				lhsqEntity.setGdmc(code.getGdmc());
+				lhsqEntity.setZcd(code.getZcd());
+				lhsqEntity.setTzgb(code.getTzgb());
+				lhsqEntity.setLxr(code.getLxr());
+				lhsqEntity.setLxdh(code.getLxdh());
+				lhsqEntity.setYgzs(code.getYgzs());
+				lhsqEntity.setLhys(code.getLhys());
+				lhsqEntity.setYysr(code.getYysr());
+				lhsqEntity.setYysrr(code.getYysrr());
+				lhsqEntity.setLhl(code.getLhl());
+				lhsqEntity.setLhll(code.getLhll());
+				lhsqEntity.setLxl(code.getLxl());
+				lhsqEntity.setLxll(code.getLxll());
+				lhsqEntity.setSftb(Constants.NO);
+				lhsqEntity = lhsqService.save(lhsqEntity);
+			} else {
+				code.setId(null);
+				code.setSqrq(new Date());
+				GkjyrEntity jyr = gkjyrService.findOne(code.getJyrid());
+				if (jyr != null) {
+					code.setSzgk(jyr.getSzgk());
+					code.setSzgq(jyr.getSzgq());
+					code.setSzd(jyr.getSzd());
 				}
-				
-				List<LhsqfjEntity> fjlist = lhsqfjService.findBySqid(lhsqEntity.getId());
-				String fjid = "";
-				if (fjlist != null && fjlist.size() > 0) {
-					for (LhsqfjEntity fj : fjlist) {
-						fjid = fjid + fj.getFjid() + ",";
+				code.setSftb(Constants.NO);
+				lhsqEntity = lhsqService.save(code);
+			}
+			if (!StringUtils.isEmpty(accid)) {
+				// 关联附件
+				String[] ssids = accid.split(",");
+				for (String ssid : ssids) {
+					LhsqfjEntity fj = lhsqfjService.findOne(ssid);
+					if (fj != null) {
+						fj.setSqid(lhsqEntity.getId());
+						lhsqfjService.save(fj);
 					}
-					fjid = fjid.substring(0, fjid.length() - 1);
-				}
-
-				lhsqEntity.setSftb(Constants.YES);
-				lhsqService.save(lhsqEntity);
-				String url = "GK_OPERATION_JSJY_LHSQ_ONE_CP?condition=ID=" + lhsqEntity.getId() + ";FJID=" + fjid;
-
-				boolean flag = getTbStatus(url);
-				if (flag) {
-					lhsqEntity.setFlowstatus("0");
-					lhsqEntity.setTbzt(Constants.YES);
-					lhsqService.save(lhsqEntity);
-				} else {
-					lhsqEntity.setFlowstatus(null);
-					lhsqEntity.setTbzt(Constants.NO);
-					lhsqService.save(lhsqEntity);
-					wr.setSuccess(false);
-					wr.setMessage("转报省局失败");
 				}
-			} catch (Exception e) {
-				wr.setSuccess(false);
-				wr.setMessage("操作失败!");
-				e.printStackTrace();
 			}
-			return wr;
+			wr = saveTbzt(model, lhsqEntity.getId());
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
 		}
+		return wr;
+	}
 
-	
 	// 保存附件
 	@RequestMapping(value = "/saveFile")
 	@ResponseBody
@@ -621,6 +595,7 @@ public class LhsqCtl extends BaseWebCtl {
 		} else {
 			entity.setFlowstatus(null);
 			entity.setTbzt(Constants.NO);
+			entity.setSftb(Constants.NO);
 			lhsqService.save(entity);
 			wr.setSuccess(false);
 			wr.setMessage("转报省局失败");
@@ -774,8 +749,8 @@ public class LhsqCtl extends BaseWebCtl {
 						}
 						fjid = fjid.substring(0, fjid.length() - 1);
 					}
-					
-					String url = "GK_OPERATION_JSJY_LHSQ_ONE_PC?condition=ID=" + entity.getId()+";FJID="+fjid;
+
+					String url = "GK_OPERATION_JSJY_LHSQ_ONE_PC?condition=ID=" + entity.getId() + ";FJID=" + fjid;
 					boolean tbflag = getTbStatus(url);
 					if (tbflag) {
 						entity.setTbzt("Y");

+ 64 - 9
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gklhxkgl/gkjylhyx/ctl/LhyxCtl.java

@@ -159,7 +159,7 @@ public class LhyxCtl extends BaseWebCtl {
 							vo.setCurrentname("退回地市");
 						} else if ("2".equals(entity.getFlowstatus())) {
 							vo.setCurrentname("省局同意");
-						}else if("0".equals(entity.getFlowstatus())){
+						} else if ("0".equals(entity.getFlowstatus())) {
 							vo.setCurrentname("转报省局");
 						}
 					}
@@ -263,10 +263,11 @@ public class LhyxCtl extends BaseWebCtl {
 		String currName = "";
 		TaskInfoEntity taskinfo = taskInfoService.findByStep(id, LhyxEntity.PROCESS_DEFINITION_KEY);
 		if (taskinfo != null) {
-			if("sljbr".equals(taskinfo.getTaskKey())) {
+			if ("sljbr".equals(taskinfo.getTaskKey())) {
 				roleCode = Constants.ROLE_KS;
 				currName = "科室审查";
-			}if ("kssc".equals(taskinfo.getTaskKey())) {
+			}
+			if ("kssc".equals(taskinfo.getTaskKey())) {
 				roleCode = Constants.ROLE_FGLD;
 				currName = "分管领导审批";
 			} else if ("fgldsp".equals(taskinfo.getTaskKey())) {
@@ -395,6 +396,59 @@ public class LhyxCtl extends BaseWebCtl {
 	}
 
 	// 保存
+	@RequestMapping(value = "/saveTb")
+	@ResponseBody
+	public WebJsonResult saveTb(Model model, LhyxEntity code, String accid) {
+		WebJsonResult wr = success();
+		LhyxEntity lhyxEntity = new LhyxEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				lhyxEntity = lhyxService.findOne(code.getId());
+				lhyxEntity.setLxr(code.getLxr());
+				lhyxEntity.setLxdh(code.getLxdh());
+				lhyxEntity.setYgzs(code.getYgzs());
+				lhyxEntity.setLhys(code.getLhys());
+				lhyxEntity.setYysr(code.getYysr());
+				lhyxEntity.setYysrr(code.getYysrr());
+				lhyxEntity.setLhl(code.getLhl());
+				lhyxEntity.setLhll(code.getLhll());
+				lhyxEntity.setLxl(code.getLxl());
+				lhyxEntity.setLxll(code.getLxll());
+				lhyxEntity.setSftb(Constants.NO);
+				lhyxEntity = lhyxService.save(lhyxEntity);
+			} else {
+				code.setId(null);
+
+				GkjyrEntity jyr = gkjyrService.findOne(code.getJyrid());
+				if (jyr != null) {
+					code.setSzgk(jyr.getSzgk());
+					code.setSzgq(jyr.getSzgq());
+					code.setSzd(jyr.getSzd());
+				}
+				code.setSftb(Constants.NO);
+				lhyxEntity = lhyxService.save(code);
+			}
+			if (!StringUtils.isEmpty(accid)) {
+				// 关联附件
+				String[] ssids = accid.split(",");
+				for (String ssid : ssids) {
+					LhyxfjEntity fj = lhyxfjService.findOne(ssid);
+					if (fj != null) {
+						fj.setYxid(lhyxEntity.getId());
+						lhyxfjService.save(fj);
+					}
+				}
+			}
+			wr = saveTbzt(model, lhyxEntity.getId());
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return wr;
+	}
+
+	// 保存
 	@RequestMapping(value = "/submit")
 	@ResponseBody
 	public WebJsonResult submit(Model model, LhyxEntity code, String accid, String userids) {
@@ -567,17 +621,17 @@ public class LhyxCtl extends BaseWebCtl {
 
 	@RequestMapping(value = "/audit")
 	@ResponseBody
-	public WebJsonResult audit(String shyj, String id, boolean flag,String userids) {
+	public WebJsonResult audit(String shyj, String id, boolean flag, String userids) {
 		WebJsonResult wr = success();
 		LhyxEntity entity = new LhyxEntity();
 		try {
 			entity = lhyxService.findOne(id);
 			TaskInfoEntity info = taskInfoService.findByStep(entity.getId(), LhsqEntity.PROCESS_DEFINITION_KEY);
-		
+
 			if (lhyxService.getCandidateTaskByUserAndBusKey(SecUtils.getCurrUser().getId().toString(), id) != null) {
 				lhyxService.claim(id, SecUtils.getCurrUser().getId().toString());
 			}
-			boolean jflag = lhyxService.changeAudit(shyj, entity, flag,userids);
+			boolean jflag = lhyxService.changeAudit(shyj, entity, flag, userids);
 			if (jflag) {
 				if (flag) {// 流程完成状态 2.审核通过1.退回地市
 					entity.setFlowstatus("2");
@@ -598,8 +652,8 @@ public class LhyxCtl extends BaseWebCtl {
 						}
 						fjid = fjid.substring(0, fjid.length() - 1);
 					}
-					
-					String url = "GK_OPERATION_JSJY_LHYX_ONE_PC?condition=ID=" + entity.getId()+";FJID="+fjid;
+
+					String url = "GK_OPERATION_JSJY_LHYX_ONE_PC?condition=ID=" + entity.getId() + ";FJID=" + fjid;
 					boolean tbflag = getTbStatus(url);
 					if (tbflag) {
 						entity.setTbzt("Y");
@@ -647,13 +701,14 @@ public class LhyxCtl extends BaseWebCtl {
 		} else {
 			entity.setFlowstatus(null);
 			entity.setTbzt(Constants.NO);
+			entity.setSftb(Constants.NO);
 			lhyxService.save(entity);
 			wr.setSuccess(false);
 			wr.setMessage("转报省局失败");
 		}
 		return wr;
 	}
-	
+
 	/**
 	 * 签收
 	 *