Переглянути джерело

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

ld_guxl 9 роки тому
батько
коміт
bd00bd8f2c
51 змінених файлів з 4821 додано та 64 видалено
  1. 6 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjcxx/mt/mtmain.jsp
  2. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjsgl/xmxxgl/xmxxglmain.jsp
  3. 8 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrbw/bwmain.jsp
  4. 6 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrcg/cgmain.jsp
  5. 6 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrck/ckmain.jsp
  6. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrdc/dcmain.jsp
  7. 13 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrjbxx/gkjyrmain.jsp
  8. 6 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrxkzfz/xkzfzmain.jsp
  9. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/qytz/qytzmain.jsp
  10. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/ry/rymain.jsp
  11. 7 1
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/sssb/sssbmain.jsp
  12. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/xkzxx/xkzxxmain.jsp
  13. 7 0
      gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/zxjx/zxjxmain.jsp
  14. 148 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/ctl/XmxxglCtl.java
  15. 6 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/service/XmxxglService.java
  16. 203 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/service/impl/XmxxglServiceImpl.java
  17. 10 0
      gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/vo/XmxxglVo.java
  18. 180 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/ctl/BwCtl.java
  19. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/service/BwService.java
  20. 390 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/service/impl/BwServiceImpl.java
  21. 97 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/ctl/CgCtl.java
  22. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/service/CgService.java
  23. 121 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/service/impl/CgServiceImpl.java
  24. 111 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/ctl/CkCtl.java
  25. 7 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/service/CkService.java
  26. 190 3
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/service/impl/CkServiceImpl.java
  27. 92 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/ctl/DcCtl.java
  28. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/service/DcService.java
  29. 412 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/service/impl/DcServiceImpl.java
  30. 400 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/ctl/GkjyrCtl.java
  31. 23 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/service/GkjyrService.java
  32. 385 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/service/impl/GkjyrServiceImpl.java
  33. 90 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/ctl/QytzCtl.java
  34. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/service/QytzService.java
  35. 129 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/service/impl/QytzServiceImpl.java
  36. 122 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/ctl/RyCtl.java
  37. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/service/RyService.java
  38. 114 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/service/impl/RyServiceImpl.java
  39. 180 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/ctl/SssbCtl.java
  40. 4 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/dao/SssbDao.java
  41. 10 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/service/SssbService.java
  42. 244 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/service/impl/SssbServiceImpl.java
  43. 135 6
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/ctl/XkzfzCtl.java
  44. 11 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/service/XkzfzService.java
  45. 226 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/service/impl/XkzfzServiceImpl.java
  46. 243 5
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/ctl/XkzxxCtl.java
  47. 7 1
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/service/XkzxxService.java
  48. 172 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/service/impl/XkzxxServiceImpl.java
  49. 95 4
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/ctl/ZxjxCtl.java
  50. 9 0
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/service/ZxjxService.java
  51. 116 2
      gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/service/impl/ZxjxServiceImpl.java

+ 6 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjcxx/mt/mtmain.jsp

@@ -33,6 +33,9 @@
 		function showgq(){
 			initgqSelect('gqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		}
+		function exportExcelAll(data1,data2,data3,data4,data5,data6,data7,data8,data9){
+			location.href=$.app+"/mt/exportExcelAll?mtmc="+data1+"&szgqid="+data2+"&szgkid="+data3+"&szdid="+data4+"&jyr="+data5+"&sfwhpid="+data6+"&sfdwkfid="+data7+"&fwlxid="+data8+"&mtyt="+data9;
+		}
 	</script>
 </head>
 <body>
@@ -84,6 +87,9 @@
 							<a class="btn btn-default btn-sm" href="#"  onclick="mt.main.add()">
 							<i class="glyphicon glyphicon-plus"></i>新增</a>
 						 </authz:hasPermission>
+						 <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${mtmc}','${szgq}','${szgk}','${szd}','${jyr}','${sfwhpid}','${sfdwkfid}','${fwlx}','${mtyt}')">
+							<i class="glyphicon glyphicon-th-list"></i>导出
+						</a>
                         </td>
                      </tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjsgl/xmxxgl/xmxxglmain.jsp

@@ -31,6 +31,10 @@
 		function showgq(){
 			initgqSelect('gqsel','${szgq }',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		}
+		
+		function exportExcelAll(data1,data2,data3,data4,data5,data6,data7){
+			location.href=$.app+"/xmxxgl/exportExcelAll?xmmc="+data1+"&xmfr="+data2+"&szdid="+data3+"&szgkid="+data4+"&szgqid="+data5+"&xmhzjbid="+data6+"&sfyzjbzid="+data7;
+		}
 	</script>
 </head>
 
@@ -112,6 +116,9 @@
 							         <a class="btn btn-default btn-sm" href="#"  onclick="xmxxgl.main.add()">
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
+					            <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${xmmc}','${xmfr}','${szd}','${szgk}','${szgq}','${xmhzjbid}','${sfyzjbz}')">
+							   		<i class="glyphicon glyphicon-th-list"></i>导出
+							   	</a>
                      </td>
                          
                     </tr>

+ 8 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrbw/bwmain.jsp

@@ -40,6 +40,11 @@
 		function showgq(){
 			initgqSelect('szgqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		} */
+		
+		function exportExcelAll(data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12){
+			//alert(encodeURIComponent($.app+"/bw/exportExcelAll?ssjyr="+data1+"&ssmt="+data2+"&szdid="+data3+"&szgkid="+data4+"&szgqid="+data5+"&bwmc="+data6+"&wxpbwid="+data7+"&bwsxid="+data8+"&fwlxid="+data9+"&sfdwkfid="+data10+"&bwbwyt="+data11+"&bz="+data12));
+			location.href=$.app+"/bw/exportExcelAll?ssjyr="+data1+"&ssmt="+data2+"&szdid="+data3+"&szgkid="+data4+"&szgqid="+data5+"&bwmc="+data6+"&wxpbwid="+data7+"&bwsxid="+data8+"&fwlxid="+data9+"&sfdwkfid="+data10+"&bwyt="+data11+"&bz="+data12;
+		}
 	</script>
 
 </head>
@@ -141,6 +146,9 @@
 						   		<i class="glyphicon glyphicon-plus"></i>新增
 						   	</a>
 						   	</authz:hasPermission>
+						   	<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${ssjyr}','${ssmt}','${szd}','${szgk}','${szgq}','${bwmc}','${sfwxpbw}','${bwsx}','${fwlx}','${sfdwkfbw}','${bwyt}','${bz}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 		                </td>
 		        	</tr>
 				</table>

+ 6 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrcg/cgmain.jsp

@@ -26,6 +26,9 @@
 		function showgq(){
 			initgqSelect('szgqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		}
+		function exportExcelAll(data1,data2,data3,data4,data5,data6){
+			location.href=$.app+"/cg/exportExcelAll?szdid="+data1+"&szgkid="+data2+"&szgqid="+data3+"&ssjyr="+data4+"&sfwxpcgid="+data5+"&cgmc="+data6;
+		}
 	</script>
 
 </head>
@@ -123,6 +126,9 @@
 						   		<i class="glyphicon glyphicon-plus"></i>新增
 						   	</a>
 						   	</authz:hasPermission>
+						   	<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${szd}','${szgk}','${szgq}','${ssjyr}','${sfwxpcg}','${cgmc}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 		                </td>
 		        	</tr>
 				</table>

+ 6 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrck/ckmain.jsp

@@ -26,6 +26,9 @@
 		function showgq(){
 			initgqSelect('szgqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		}
+		function exportExcelAll(data1,data2,data3,data4,data5,data6,data7){
+			location.href=$.app+"/ck/exportExcelAll?ssmt="+data1+"&szdid="+data2+"&szgkid="+data3+"&szgqid="+data4+"&ckmc="+data5+"&ssjyr="+data6+"&wxpckid="+data7;
+		}
 	</script>
 
 </head>
@@ -117,6 +120,9 @@
 						   		<i class="glyphicon glyphicon-plus"></i>新增
 						   	</a>
 						   	</authz:hasPermission>
+						   	<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${ssmt}','${szd}','${szgk}','${szgq}','${ckmc}','${ssjyr}','${wxpck}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 		                </td>
 		        	</tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrdc/dcmain.jsp

@@ -26,6 +26,10 @@
 		function showgq(){
 			initgqSelect('szgqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');
 		}
+		
+		function exportExcelAll(data1,data2,data3,data4,data5,data6){
+			location.href=$.app+"/dc/exportExcelAll?szdid="+data1+"&szgkid="+data2+"&szgqid="+data3+"&ssjyr="+data4+"&dcmc="+data5+"&wxpdcid="+data6;
+		}
 	</script>
 
 </head>
@@ -102,6 +106,9 @@
 						   		<i class="glyphicon glyphicon-plus"></i>新增
 						   	</a>
 						 </authz:hasPermission>
+						 <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${szd}','${szgk}','${szgq}','${ssjyr}','${dcmc}','${wxpdc}')">
+					   		<i class="glyphicon glyphicon-th-list"></i>导出
+					   	</a>
 		                </td>
 		        	</tr>
 				</table>

+ 13 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrjbxx/gkjyrmain.jsp

@@ -23,6 +23,12 @@
 		initJyrxkzsfdqSel('xkzsfdq','${jyrxkzsfdq}');
 		iFrameHeightIframe('${menuid}');//自适应高度
 	});
+	function exportExcelAll(data2,data4,data5,data6,data7,data8,data9,data10,data11,data12,data13,data14,data15,data16,data17){
+		location.href=$.app+"/gkjyr/exportExcelAll?bwyt="+data2+"&whfzbh="+data4+"&sfcswhzy="+data5+"&sfcyxkz="+data6+"&gkjyr="+data7+"&szdid="+data8+"&szgkid="+data9+"&szgqid="+data10+"&gkjyxkzh="+data11+"&fddbr="+data12+"&xkzstartDate="+data13+"&xkzendDate="+data14+"&fzstartDate="+data15+"&fzendDate="+data16+"&jyrxkzsfdq="+data17;
+	}
+	function exportJyr(data1,data2){
+		location.href=$.app+"/gkjyr/exportJyr?id="+data1+"&jyr="+data2;
+	}
 </script>
 </head>
 <body>
@@ -133,6 +139,9 @@
 									class="glyphicon glyphicon-plus"></i> 新增
 							</a>
 							</authz:hasPermission>
+							<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${bwyt}','${whfzbh}','${sfcswhzy}','${sfcyxkz}','${gkjyr}','${szd}','${szgk}','${szgq}','${gkjyxkzh}','${fddbr}','${xkzstartDate}','${xkzendDate}','${fzstartDate}','${fzendDate}','${jyrxkzsfdq}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 							</td>
 						</tr>
 					</table>
@@ -185,6 +194,10 @@
 									onclick="gkjyr.main.details('${gkjyr.id}')"> <i
 										class="glyphicon glyphicon-list-alt"></i> 详情
 								</a> --%>
+								<a class="btn btn-default btn-sm" href="#"
+								  onclick="exportJyr('${gkjyr.id}','${gkjyr.gkjyr}')" title="导出">
+						   		<i class="glyphicon glyphicon-th-list"></i>
+						   	</a>
 								</td>
 							</tr>
 						</c:forEach>

+ 6 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/jyrxkzfz/xkzfzmain.jsp

@@ -32,6 +32,9 @@
 		function initfzsfyxSelect(data){
 			$("#fzsfyx option[value='"+data+"']").attr("selected", "selected");
 		}
+		function exportExcelAll(data1,data2,data3,data4,data5,data6,data7,data8){
+			location.href=$.app+"/xkzfz/exportExcelAll?ssjyr="+data1+"&szdid="+data2+"&szgkid="+data3+"&szgqid="+data4+"&fzsqh="+data5+"&fzsfyx="+data6+"&wxhwpm="+data7+"&fzsfdq="+data8;
+		}
 	</script>
 
 </head>
@@ -117,6 +120,9 @@
 		       	  			<a class="btn btn-default btn-sm" href="#" onclick="xkzfz.main.search()">
 						   		<i class="glyphicon glyphicon-search"></i>查询
 						   	</a>
+						   	<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${ssjyr}','${szd}','${szgk}','${szgq}','${fzsqh}','${fzsfyx}','${wxhwpm}','${fzsfdq}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 		                </td>
 		        	</tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/qytz/qytzmain.jsp

@@ -26,6 +26,10 @@
 		function showgq(){
 			initgqSelect('gqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');		
 		}
+		
+		function exportExcelAll(data1,data2,data3,data4,data5){
+			location.href=$.app+"/qytz/exportExcelAll?szdid="+data1+"&tzrmc="+data2+"&szgkid="+data3+"&szgqid="+data4+"&jyr="+data5;
+		}
 	</script>
 </head>
 <body>
@@ -99,6 +103,9 @@
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
 							 </authz:hasPermission>
+							 <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${szd}','${tzrmc}','${szgk}','${szgq}','${jyr}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
                          </td>
                     </tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/ry/rymain.jsp

@@ -29,6 +29,10 @@
 		function showgq(){
 			initgqSelect('gqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'79%');		
 		}
+
+		function exportExcelAll(data1,data2,data3,data4,data5,data6){
+			location.href=$.app+"/ry/exportExcelAll?xm="+data1+"&szgkid="+data2+"&szgqid="+data3+"&jyr="+data4+"&szdid="+data5+"&rylxid="+data6;
+		}
 	</script>
 	
 </head>
@@ -108,6 +112,9 @@
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
 					   </authz:hasPermission>
+					   <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${xm}','${szgk}','${szgq}','${jyr}','${szd}','${rylxid}')">
+					   		<i class="glyphicon glyphicon-th-list"></i>导出
+					   	</a>
                          </td>
                     </tr>
 				</table>

+ 7 - 1
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/sssb/sssbmain.jsp

@@ -26,6 +26,10 @@
 		function showgq(){
 			initgqSelect('gqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'79%');		
 		}
+
+		function exportExcelAll(data1,data2,data3,data4,data5){
+			location.href=$.app+"/sssb/exportExcelAll?ssmc="+data1+"&szgkid="+data2+"&jyr="+data3+"&szgqid="+data4+"&szdid="+data5;
+		}
 	</script>
 </head>
 <body>
@@ -96,7 +100,9 @@
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
 						</authz:hasPermission>					             
-
+						<a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${ssmc}','${szgk}','${jyr}','${szgq}','${szd}')">
+					   		<i class="glyphicon glyphicon-th-list"></i>导出
+					   	</a>
                          </td>
                     </tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/xkzxx/xkzxxmain.jsp

@@ -48,6 +48,10 @@
 				}
 			}
 		}
+		
+		function exportExcelAll(data1,data2,data3,data4,data6,data7,data8,data9,data10){
+			location.href=$.app+"/xkzxx/exportExcelAll?gkjyr="+data1+"&szgqid="+data2+"&gkjyxkzh="+data3+"&szdid="+data4+"&szgkid="+data6+"&yxq1="+data7+"&yxq2="+data8+"&sfyx="+data9+"&xkzsfdq="+data10;
+		}
 	</script>
 
 </head>
@@ -169,6 +173,9 @@
 						   	<a class="btn btn-default btn-sm" href="#"  onclick="xkzxx.main.add()">
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
+				            <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${gkjyrzw}','${szgq}','${gkjyxkzh}','${szd}','${szgk}','${yxq1}','${yxq2}','${sfyx}','${xkzsfdq}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 		                </td>
                     </tr>
 				</table>

+ 7 - 0
gkjsjy/trunk/WebContent/WEB-INF/pages/gkjygl/gkjyr/zxjx/zxjxmain.jsp

@@ -28,6 +28,10 @@
 		function showgq(){
 			initgqSelect('gqsel','',$('.szdselectpicker').val(),$('.gkselectpicker').val(),null,'80%');		
 		}
+		
+		function exportExcelAll(data1,data2,data3,data4,data5){
+			location.href=$.app+"/zxjx/exportExcelAll?szdid="+data1+"&jxlbmcid="+data2+"&szgkid="+data3+"&szgqid="+data4+"&jyr="+data5;
+		}
 	</script>
 
 </head>
@@ -98,6 +102,9 @@
 							   <i class="glyphicon glyphicon-plus"></i> 
 							            新增</a>
 							 </authz:hasPermission>
+							 <a class="btn btn-default btn-sm" href="#"  onclick="exportExcelAll('${szd}','${jxlbmc}','${szgk}','${szgq}','${jyr}')">
+						   		<i class="glyphicon glyphicon-th-list"></i>导出
+						   	</a>
 	                        </td>
 	                    </tr>
                     </table>

+ 148 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/ctl/XmxxglCtl.java

@@ -1,5 +1,8 @@
 package com.xt.jygl.gkjsgl.xmxxgl.ctl;
 
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -12,7 +15,9 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +37,8 @@ import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.Utils;
+import com.xt.jygl.gkjcxx.ax.entity.AxEntity;
+import com.xt.jygl.gkjcxx.ax.vo.AxVo;
 import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
@@ -667,6 +674,147 @@ public class XmxxglCtl extends BaseWebCtl {
 		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode(Constants.GROUP_CODE_AXSPJB);
 		return list;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String xmmc, final String xmfr, final String szdid, final String szgkid, final String szgqid, final String xmhzjbid, final String sfyzjbzid) {
+		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(xmmc)) {
+					list.add(cb.like(root.get("xmmc").as(String.class), "%" + xmmc + "%"));
+				}
+				if (StringUtils.isNotEmpty(xmfr)) {
+					list.add(cb.like(root.get("xmfr").as(String.class), "%" + xmfr + "%"));
+				}
+				if (StringUtils.isNotEmpty(xmhzjbid)) {
+					list.add(cb.like(root.get("xmhzjb").get("id").as(String.class), "%" + xmhzjbid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + 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());
+					}
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在港区的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("jyrid").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + SecUtils.getCurrUser().getSzd().getId() + "%"));
+				}
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<XmxxglEntity> list = query.findAll(spec, XmxxglEntity.class);
+		List<XmxxglVo> voList = new ArrayList<XmxxglVo>();
+		SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
+		
+		for (XmxxglEntity entity : list) {
+			XmxxglVo vo = new XmxxglVo();
+			if (null != entity) {
+				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() : "");
+//				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);
+				}
+
+				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() : "");
+				//所属单位
+				vo.setJyrzw(entity.getJyrid() != null ? entity.getJyrid().getGkjyr() : "");
+				vo.setJcsjstr(entity.getJcsj() !=null ? formater.format(entity.getJcsj()):"");
+				
+				voList.add(vo);
+			}
+		}
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("项目信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			String[] titles = { "序号", "项目编码", "项目名称", "所属单位", "所在地", "所在港口", "所在港区", "项目法人", "项目类型", "建设地点", "建设规模", "投资类型", "总投资(万元)", "项目核准级别", "政府投资(万元)", "政府投资占比(%)", "岸线审批级别", "岸线长度(米)", "通过能力(万吨)", "泊位用途", "水域类型", "建成时间", "码头前沿位置_上端点X", "码头前沿位置_上端点Y", "码头前沿位置_下端点X", "码头前沿位置_下端点Y" };
+			xmxxglService.exportExcelAll(voList, titles, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	/***
+	 * 解决js传入参数乱码
+	 * 
+	 * @param str
+	 * @return
+	 */
+	static String enCodeStr(String str) {
+		if (str == null) {
+			str = "";
+		}
+		try {
+			return new String(str.getBytes("iso-8859-1"), "UTF-8");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
 
 	@RequestMapping(value = "/selectXzqh")
 	@ResponseBody

+ 6 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/service/XmxxglService.java

@@ -1,6 +1,10 @@
 package com.xt.jygl.gkjsgl.xmxxgl.service;
 
+import java.net.URL;
+import java.util.List;
+import javax.servlet.ServletOutputStream;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.workflow.service.BaseWorkFlowService;
 
 public interface XmxxglService extends BaseWorkFlowService {
@@ -16,6 +20,8 @@ public interface XmxxglService extends BaseWorkFlowService {
 	void delete(String id);
 
 	public boolean changeAudit(String shyj, XmxxglEntity xmxx, boolean flag);
+
+	public void exportExcelAll(List<XmxxglVo> voList, String[] titles, ServletOutputStream outputStream);
 	
 	String getxmbm();
 }

+ 203 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/service/impl/XmxxglServiceImpl.java

@@ -1,17 +1,29 @@
 package com.xt.jygl.gkjsgl.xmxxgl.service.impl;
 
+import java.io.IOException;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.gkjsgl.xmxxgl.dao.XmxxglDao;
 import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
 import com.xt.jygl.gkjsgl.xmxxgl.service.XmxxglService;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.workflow.entity.TaskInfoEntity;
 import com.xt.jygl.workflow.param.WorkFlowParam;
 import com.xt.jygl.workflow.service.WorkflowMangerService;
@@ -120,6 +132,197 @@ public class XmxxglServiceImpl extends BaseWorkFlowServiceImpl<XmxxglEntity, Str
 
 
 	@Override
+	public void exportExcelAll(List<XmxxglVo> voList, String[] titles, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet sheet = workBook.createSheet("项目信息全部");
+		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = sheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = sheet.createRow(j + 1);
+				XmxxglVo xmxxgl = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXmbm());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXmmc());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getJyrzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSzddzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSzgkzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSzgqzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXmfr());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXmlxzw());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getJsdd());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getJsgm());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getTzlxzw());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				if(xmxxgl.getZtz() != null){
+					cell.setCellValue(xmxxgl.getZtz());
+				}
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXmhzjbzw());
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getZftze());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				if(xmxxgl.getTzlx().equals("1903")) {
+					String ztz = xmxxgl.getZtz().toString();
+					String zftze = xmxxgl.getZftze();
+					if(isEmpty(ztz) || isEmpty(zftze)) {
+						cell.setCellValue("");
+						break;
+					}
+					if(isFDS(ztz) && isFDS(zftze)) {
+						double rate = (Double.parseDouble(zftze)/xmxxgl.getZtz())*100;
+						cell.setCellValue(rate);
+					}
+				} else {
+					cell.setCellValue("");
+					cell = bodyRow.createCell(14);
+					cell.setCellStyle(bodyStyle);
+					cell.setCellValue("");
+				}
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getAxspjbzw());
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				if(xmxxgl.getAxcd() != null){
+					cell.setCellValue(xmxxgl.getAxcd());
+				}
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				if(xmxxgl.getTgnl() != null){
+					cell.setCellValue(xmxxgl.getTgnl());
+				}
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getBwytzw());
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSylxzw());
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getJcsjstr());
+				
+				cell = bodyRow.createCell(22);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSddx());
+				
+				cell = bodyRow.createCell(23);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getSddy());
+				
+				cell = bodyRow.createCell(24);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXddx());
+				
+				cell = bodyRow.createCell(25);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xmxxgl.getXddy());
+			}
+		}
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+		
+	}
+
+	public boolean isFDS(String param){
+		if(param == null ){
+			return true;
+		}
+//		String str= "^\\d+(\\.\\d+)?$";
+//		Pattern pattern = Pattern.compile(str);
+//		Matcher matcher = pattern.matcher(param);
+//		boolean flag = matcher.matches();
+//		return flag;
+		try{
+			Double.parseDouble(param);
+			return true;
+		}catch(NumberFormatException e){
+			return false;
+		}
+	}
+	
+	public boolean isEmpty(String str) {
+		if (str != null && str != "" && str.length() != 0) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+
+	@Override
 	public String getxmbm() {
 		return dao.getXmbm();
 	}

+ 10 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjsgl/xmxxgl/vo/XmxxglVo.java

@@ -44,6 +44,8 @@ public class XmxxglVo extends BaseVo {
 	private String sylx;/* 水域类型 */
 	private String sylxzw;/* 水域类型中文 */
 	private Date jcsj; /* 建成时间 */
+	private String jcsjstr; /* 建成时间 format*/
+	
 	private String flowstatus;
 	// 流程历史字段
 	private String currentname;/* 流程节点名 */
@@ -503,6 +505,14 @@ public class XmxxglVo extends BaseVo {
 	public void setJcsj(Date jcsj) {
 		this.jcsj = jcsj;
 	}
+
+	public String getJcsjstr() {
+		return jcsjstr;
+	}
+
+	public void setJcsjstr(String jcsjstr) {
+		this.jcsjstr = jcsjstr;
+	}
 	
 	
 

+ 180 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/ctl/BwCtl.java

@@ -1,5 +1,6 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrbw.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -11,7 +12,10 @@ import javax.persistence.criteria.CriteriaBuilder.In;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import javax.persistence.criteria.Subquery;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONObject;
 
@@ -38,6 +42,9 @@ import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
 import com.xt.jygl.gkjcxx.gq.service.GqService;
 import com.xt.jygl.gkjcxx.mt.entity.MtEntity;
 import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity;
+import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.client.BwWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
@@ -319,6 +326,9 @@ public class BwCtl extends BaseWebCtl {
 		}
 		page.setSort("createDateTime");
 		page.setOrder("desc");
+		
+		List<BwEntity> textlist = query.findAll(spec, BwEntity.class);
+		
 		Page<BwEntity> list = query.findAll(spec, toPageRequest(page), BwEntity.class);
 		List<BwVo> voList = new ArrayList<BwVo>();
 		for (BwEntity entity : list) {
@@ -445,6 +455,8 @@ public class BwCtl extends BaseWebCtl {
 		model.addAttribute("fwlx", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "fwlxid"));
 		model.addAttribute("sfdwkfbw", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "sfdwkfid"));
 		model.addAttribute("bwyt", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "bwbwyt"));
+		
+		model.addAttribute("bz", CacheSearchCondition.cacheSCmapVal(cacheSCmap, "bz"));
 
 		// 翻页共通
 		putPageInfo(model, page, list);
@@ -1115,4 +1127,172 @@ public class BwCtl extends BaseWebCtl {
 		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode("BWXSXP");
 		return list;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final HttpServletRequest request, final String ssjyr, final String ssmt, final String szdid, final String szgkid, final String szgqid, final String bwmc, final String wxpbwid, final String bwsxid, final String fwlxid, final String sfdwkfid, final String bwyt, final String bz) {
+		// 查詢條件
+		Specification<BwEntity> spec = new Specification<BwEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<BwEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+
+					if (StringUtils.isNotEmpty(szdid)) {
+						list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+					}
+					if (StringUtils.isNotEmpty(szgkid)) {
+						list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+					}
+					if (StringUtils.isNotEmpty(szgqid)) {
+						list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+					}
+					if (StringUtils.isNotEmpty(ssjyr)) {
+						list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
+					}
+					if (StringUtils.isNotEmpty(bwmc)) {
+						list.add(cb.like(root.get("bwmc").as(String.class), "%" + bwmc + "%"));
+					}
+					if (StringUtils.isNotEmpty(wxpbwid)) {
+						list.add(cb.like(root.get("wxpbw").get("id").as(String.class), "%" + wxpbwid + "%"));
+					}
+					if (StringUtils.isNotEmpty(bwsxid)) {
+						list.add(cb.like(root.get("bwsx").get("id").as(String.class), "%" + bwsxid + "%"));
+					}
+					if (StringUtils.isNotEmpty(fwlxid)) {
+						list.add(cb.like(root.get("fwlx").get("id").as(String.class), "%" + fwlxid + "%"));
+					}
+					if (StringUtils.isNotEmpty(sfdwkfid)) {
+						list.add(cb.like(root.get("sfdwkf").get("id").as(String.class), "%" + sfdwkfid + "%"));
+					}
+					if (StringUtils.isNotEmpty(bwyt)) {
+						list.add(cb.like(root.get("bwyt").as(String.class), "%" + bwyt + "%"));
+					}
+					// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession().getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+
+				// 状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		// 判断登录用户是否和上次登录用户相同,若不同则清空查询条件
+		String user1 = (String) Utils.getSession().getAttribute("user");
+		String user2 = SecUtils.getCurrUser().getId();
+		if (user2 != null) {
+			if (!user2.equals(user1)) {
+				SearchCondition.bwpage = 1;
+				SearchCondition.bwmc = "";
+				SearchCondition.bwssjyr = "";
+				SearchCondition.bwszd = "";
+				SearchCondition.bwszgk = "";
+				SearchCondition.bwszgq = "";
+				SearchCondition.wxpbw = "";
+				SearchCondition.bwsx = "";
+				SearchCondition.fwlx = "";
+				SearchCondition.sfdwkfbw = "";
+				SearchCondition.bwbwyt = "";
+
+			}
+
+		}
+		Utils.getSession().setAttribute("user", user2);
+		List<BwEntity> list = query.findAll(spec, BwEntity.class);
+		List<BwVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("泊位信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			bwService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<BwVo> entityToVo(List<BwEntity> list) {
+		List<BwVo> voList = new ArrayList<BwVo>();
+		
+		for (BwEntity entity : list) {
+			BwVo vo = new BwVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setSsmtzw(entity.getSsmt() != null ? entity.getSsmt().getMtmc() : "");
+				vo.setBwsxzw(entity.getBwsx() != null ? entity.getBwsx().getText() : "");
+				vo.setFwlxzw(entity.getFwlx() != null ? entity.getFwlx().getText() : "");
+				vo.setWxpbwzw(entity.getWxpbw() != null ? entity.getWxpbw().getText() : "");
+				vo.setZyhbwflzw(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getText() : "");
+				vo.setSffzzw(entity.getSffz() != null ? entity.getSffz().getText() : "");
+				vo.setSfdwkfzw(entity.getSfdwkf() != null ? entity.getSfdwkf().getText() : "");
+				vo.setBwszsxzw(entity.getBwszsx() != null ? entity.getBwszsx().getText() : "");
+				vo.setSclxzw(entity.getSclx() != null ? entity.getSclx().getText() : "");
+				vo.setJgxszw(entity.getJgxs() != null ? entity.getJgxs().getText() : "");
+				vo.setKbcblxzw(entity.getKbcblx() != null ? entity.getKbcblx().getText() : "");
+
+				vo.setSszyq(entity.getSszyq() != null ? entity.getSszyq().getId() : "");
+				vo.setSszyqzw(entity.getSszyq() != null ? entity.getSszyq().getZyqmc() : "");
+				vo.setZls(entity.getZls() != null ? entity.getZls().getId() : "");
+				vo.setZlszw(entity.getZls() != null ? entity.getZls().getText() : "");
+				vo.setXp(entity.getXp() != null ? entity.getXp().getId() : "");
+				vo.setXpzw(entity.getXp() != null ? entity.getXp().getText() : "");
+				vo.setBwszhd(entity.getBwszhd() != null ? entity.getBwszhd().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 ce = securityMgr.codeService().findOne(s[i]);
+						if (ce != null) {
+							bwytzw += ce.getText();
+							if (i != s.length - 1) {
+								bwytzw += ",";
+							}
+						}
+					}
+					vo.setBwytzw(bwytzw);
+				}
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setSsmt(entity.getSsmt() != null ? entity.getSsmt().getId() : "");
+				vo.setBwsx(entity.getBwsx() != null ? entity.getBwsx().getId() : "");
+				vo.setFwlx(entity.getFwlx() != null ? entity.getFwlx().getId() : "");
+				vo.setWxpbw(entity.getWxpbw() != null ? entity.getWxpbw().getId() : "");
+				vo.setZyhbwfl(entity.getZyhbwfl() != null ? entity.getZyhbwfl().getId() : "");
+				vo.setSffz(entity.getSffz() != null ? entity.getSffz().getId() : "");
+				vo.setSfdwkf(entity.getSfdwkf() != null ? entity.getSfdwkf().getId() : "");
+				vo.setBwszsx(entity.getBwszsx() != null ? entity.getBwszsx().getId() : "");
+				vo.setSclx(entity.getSclx() != null ? entity.getSclx().getId() : "");
+				vo.setJgxs(entity.getJgxs() != null ? entity.getJgxs().getId() : "");
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/service/BwService.java

@@ -2,9 +2,14 @@ package com.xt.jygl.gkjygl.gkjyr.jyrbw.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.client.BwWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwCopyEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 
 /**
  * 字典维护服务
@@ -41,4 +46,8 @@ public interface BwService {
 
 	public BwWebService getWebService(String szdId);
 
+	public void exportExcelAll(List<BwVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<BwVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
+
 }

+ 390 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrbw/service/impl/BwServiceImpl.java

@@ -1,18 +1,29 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrbw.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.client.BwWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.dao.BwDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -87,4 +98,383 @@ public class BwServiceImpl extends JyglBaseService<BwEntity, String> implements
 		BwWebService webService = service.getBwWebServicePort();
 		return webService;
 	}
+
+	@Override
+	public void exportExcelAll(List<BwVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<BwVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "港口经营人", "所在作业区", "所在码头", "泊位名称", "泊位属性", "泊位用途", "泊位所在航道", "泊位所在水系", "服务类型", "投产年份", "竣工验收年份", "前沿设计水深(米)", "前沿实际水深(米)", "泊位长度", "否危险品泊位", "设计靠泊能力(吨)", "核查靠泊能力(吨)", "是否取得港口设施保安证书", "泊位型式", "泊位型式_直立式", "泊位型式_斜坡", "是否对外开放泊位", "泊位生产类型", "货物设计年综合通过能力(万吨)", "集装箱设计年综合通过能力(万TEU)", "滚装汽车设计年综合通过能力(万辆)", "旅客设计年综合通过能力(万人)", "靠泊船舶类型(按用途分)", "备注" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet bwSheet = workBook.createSheet("泊位信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, bwSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = bwSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = bwSheet.createRow(j + 1);
+				BwVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSszyqzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsmtzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBwmc());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBwsxzw());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBwytzw());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBwszhd());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBwszsxzw());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getFwlxzw());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getTcnf()) {
+					cell.setCellValue(vo.getTcnf());
+				}
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getJgysnf()) {
+					cell.setCellValue(vo.getJgysnf());
+				}
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getQysjsh()) {
+					cell.setCellValue(vo.getQysjsh());
+				}
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getQysjss()) {
+					cell.setCellValue(vo.getQysjss());
+				}
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getBwcd()) {
+					cell.setCellValue(vo.getBwcd());
+				}
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getWxpbwzw());
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getSjkpnl()) {
+					cell.setCellValue(vo.getSjkpnl());
+				}
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getHckpnl());
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSffzzw());
+				
+				cell = bodyRow.createCell(22);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getJgxszw());
+				
+				cell = bodyRow.createCell(23);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZlszw());
+				
+				cell = bodyRow.createCell(24);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getXpzw());
+				
+				cell = bodyRow.createCell(25);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSfdwkfzw());
+				
+				cell = bodyRow.createCell(26);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSclxzw());
+				
+				cell = bodyRow.createCell(27);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getNhwtgnl());
+				
+				cell = bodyRow.createCell(28);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getNjzxtgnl());
+				
+				cell = bodyRow.createCell(29);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getGzsj()) {
+					cell.setCellValue(vo.getGzsj());
+				}
+				
+				cell = bodyRow.createCell(30);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getLksj()) {
+					cell.setCellValue(vo.getLksj());
+				}
+				
+				cell = bodyRow.createCell(31);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getKbcblxzw());
+				
+				cell = bodyRow.createCell(32);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBz());
+			}
+		}
+	}
+//	@Override
+//	public void exportExcelAll(List<BwVo> voList, String[] titles, ServletOutputStream outputStream) {
+//		// 创建一个workbook 对应一个excel应用文件
+//		XSSFWorkbook workBook = new XSSFWorkbook();
+//		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+//		XSSFSheet sheet = workBook.createSheet("项目信息全部");
+//		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+//		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+//		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+//		// 构建表头
+//		XSSFRow headRow = sheet.createRow(0);
+//		XSSFCell cell = null;
+//		for (int i = 0; i < titles.length; i++) {
+//			cell = headRow.createCell(i);
+//			cell.setCellStyle(headStyle);
+//			cell.setCellValue(titles[i]);
+//		}
+//		// 构建表体数据
+//		if (voList != null && voList.size() > 0) {
+//			for (int j = 0; j < voList.size(); j++) {
+//				XSSFRow bodyRow = sheet.createRow(j + 1);
+//				BwVo vo = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//				
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzdzw());
+//				
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgkzw());
+//				
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgqzw());
+//				
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsjyrzw());
+//				
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSszyqzw());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsmtzw());
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBwmc());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBwsxzw());
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBwytzw());
+//				
+//				cell = bodyRow.createCell(10);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBwszhd());
+//				
+//				cell = bodyRow.createCell(11);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBwszsxzw());
+//				
+//				cell = bodyRow.createCell(12);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getFwlxzw());
+//				
+//				cell = bodyRow.createCell(13);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getTcnf()) {
+//					cell.setCellValue(vo.getTcnf());
+//				}
+//				
+//				cell = bodyRow.createCell(14);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getJgysnf()) {
+//					cell.setCellValue(vo.getJgysnf());
+//				}
+//				
+//				cell = bodyRow.createCell(15);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getQysjsh()) {
+//					cell.setCellValue(vo.getQysjsh());
+//				}
+//				
+//				cell = bodyRow.createCell(16);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getQysjss()) {
+//					cell.setCellValue(vo.getQysjss());
+//				}
+//				
+//				cell = bodyRow.createCell(17);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getBwcd()) {
+//					cell.setCellValue(vo.getBwcd());
+//				}
+//				
+//				cell = bodyRow.createCell(18);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getWxpbwzw());
+//				
+//				cell = bodyRow.createCell(19);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getSjkpnl()) {
+//					cell.setCellValue(vo.getSjkpnl());
+//				}
+//				
+//				cell = bodyRow.createCell(20);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getHckpnl());
+//				
+//				cell = bodyRow.createCell(21);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSffzzw());
+//				
+//				cell = bodyRow.createCell(22);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getJgxszw());
+//				
+//				cell = bodyRow.createCell(23);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getZlszw());
+//				
+//				cell = bodyRow.createCell(24);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getXpzw());
+//				
+//				cell = bodyRow.createCell(25);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSfdwkfzw());
+//				
+//				cell = bodyRow.createCell(26);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSclxzw());
+//				
+//				cell = bodyRow.createCell(27);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getNhwtgnl());
+//				
+//				cell = bodyRow.createCell(28);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getNjzxtgnl());
+//				
+//				cell = bodyRow.createCell(29);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getGzsj()) {
+//					cell.setCellValue(vo.getGzsj());
+//				}
+//				
+//				cell = bodyRow.createCell(30);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getLksj()) {
+//					cell.setCellValue(vo.getLksj());
+//				}
+//				
+//				cell = bodyRow.createCell(31);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getKbcblxzw());
+//				
+//				cell = bodyRow.createCell(32);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBz());
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
 }

+ 97 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/ctl/CgCtl.java

@@ -1,20 +1,20 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrcg.ctl;
 
+import java.io.IOException;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -23,9 +23,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -765,4 +763,98 @@ public class CgCtl extends BaseWebCtl {
 		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 		return sdf.format(d);
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String szdid, final String szgkid, final String szgqid, final String ssjyr, final String sfwxpcgid, final String cgmc) {
+		Specification<CgEntity> spec = new Specification<CgEntity>() {
+			@Override
+			public Predicate toPredicate(Root<CgEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssjyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(cgmc)) {
+					list.add(cb.like(root.get("cgmc").as(String.class), "%" + cgmc + "%"));
+				}
+				if (StringUtils.isNotEmpty(sfwxpcgid)) {
+					list.add(cb.like(root.get("sfwxpcg").get("id").as(String.class), "%" + sfwxpcgid + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<CgEntity> list = query.findAll(spec, CgEntity.class);
+		List<CgVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("储罐信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			cgService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+
+	public List<CgVo> entityToVo(List<CgEntity> list) {
+		List<CgVo> voList = new ArrayList<CgVo>();
+
+		for (CgEntity entity : list) {
+			CgVo vo = new CgVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setCgxszw(entity.getCgxs() != null ? entity.getCgxs().getText() : "");
+				vo.setCgwxzw(entity.getCgwx() != null ? entity.getCgwx().getText() : "");
+				vo.setCgczzw(entity.getCgcz() != null ? entity.getCgcz().getText() : "");
+				vo.setWxydjzw(entity.getWxydj() != null ? entity.getWxydj().getText() : "");
+				vo.setYwfhdzw(entity.getYwfhd() != null ? entity.getYwfhd().getText() : "");
+				vo.setCgazxszw(entity.getCgazxs() != null ? entity.getCgazxs().getText() : "");
+				vo.setWzztzw(entity.getWzzt() != null ? entity.getWzzt().getText() : "");
+				vo.setJlfszw(entity.getJlfs() != null ? entity.getJlfs().getText() : "");
+				vo.setClfszw(entity.getClfs() != null ? entity.getClfs().getText() : "");
+				vo.setSfwxpcgzw(entity.getSfwxpcg() != null ? entity.getSfwxpcg().getText() : "");
+				vo.setTbsjstr(transFormatDate(entity.getTbsj()));
+				vo.setTcsjstr(transFormatDate(entity.getTcsj()));
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/service/CgService.java

@@ -2,8 +2,13 @@ package com.xt.jygl.gkjygl.gkjyr.jyrcg.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.client.CgWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.entity.CgEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.vo.CgVo;
 
 public interface CgService {
 
@@ -24,4 +29,8 @@ public interface CgService {
 	public CgWebService getWebService(String szdId);
 	
 	List<CgEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<CgVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<CgVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 121 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrcg/service/impl/CgServiceImpl.java

@@ -1,18 +1,29 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrcg.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.client.CgWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.dao.CgDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.entity.CgEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.service.CgService;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.vo.CgVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -52,4 +63,114 @@ public class CgServiceImpl extends JyglBaseService<CgEntity, String> implements
 
 		return dao.findCg(jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<CgVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+					outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<CgVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "港口经营人", "储罐名称", "储罐类型", "作业品名", "储存压力(KPa)", "罐体高度(米)", "罐体直径(米)", "罐体容积(立方米)", "投产日期", "备注" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet cgSheet = workBook.createSheet("储罐信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, cgSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = cgSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = cgSheet.createRow(j + 1);
+				CgVo cg = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getCgmc());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getCglx());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getHxpmc());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				if (null != cg.getSjyl()) {
+					cell.setCellValue(cg.getSjyl());
+				}
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				if (null != cg.getAqgd()) {
+					cell.setCellValue(cg.getAqgd());
+				}
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				if (null != cg.getZj()) {
+					cell.setCellValue(cg.getZj());
+				}
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				if (null != cg.getCgqmj()) {
+					cell.setCellValue(cg.getCgqmj());
+				}
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getTcsjstr());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(cg.getBz());
+				}
+			
+		}
+	}
 }

+ 111 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/ctl/CkCtl.java

@@ -1,19 +1,19 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrck.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -22,9 +22,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -745,6 +743,114 @@ public class CkCtl extends BaseWebCtl {
 		}
 		return voList;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String ssmt, final String szdid, final String szgkid, final String szgqid, final String ckmc, final String ssjyr, final String wxpckid) {
+		// 查詢條件
+		Specification<CkEntity> spec = new Specification<CkEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<CkEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssjyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssmt)) {
+					list.add(cb.like(root.get("ssmt").get("mtmc").as(String.class), "%" + ssmt + "%"));
+				}
+				if (StringUtils.isNotEmpty(wxpckid)) {
+					list.add(cb.like(root.get("wxpck").get("id").as(String.class), "%" + wxpckid + "%"));
+				}
+				if (StringUtils.isNotEmpty(ckmc)) {
+					list.add(cb.like(root.get("ckmc").as(String.class), "%" + ckmc + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<CkEntity> list = query.findAll(spec, CkEntity.class);
+		List<CkVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("仓库信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			ckService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<CkVo> entityToVo(List<CkEntity> list) {
+		List<CkVo> voList = new ArrayList<CkVo>();
+		
+		for (CkEntity entity : list) {
+			CkVo vo = new CkVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setWxpckzw(entity.getWxpck() != null ? entity.getWxpck().getText() : "");
+				vo.setSsmtzw(entity.getSsmt() != null ? entity.getSsmt().getMtmc() : "");
+
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setWxpck(entity.getWxpck() != null ? entity.getWxpck().getId() : "");
+				vo.setSsmt(entity.getSsmt() != null ? entity.getSsmt().getId() : "");
+				vo.setSzzyq(entity.getSzzyq() != null ?entity.getSzzyq().getId():"");
+				vo.setSzzyqzw(entity.getSzzyq() != null ?entity.getSzzyq().getZyqmc():"");
+				vo.setSsbw(entity.getSsbw() != null ? entity.getSsbw().getId():"");
+				vo.setSsbwzw(entity.getSsbw() != null ? entity.getSsbw().getBwmc():"");
+				vo.setCklx(entity.getCklx() != null ? entity.getCklx().getId() :"");
+				vo.setCklxzw(entity.getCklx() != null ? entity.getCklx().getText() : "");
+				vo.setKcsclx(entity.getKcsclx() != null ? entity.getKcsclx().getId() : "");
+				vo.setKcsclxzw(entity.getKcsclx() != null ? entity.getKcsclx().getText() : "");
+				// 仓库用途名称去掉最后的逗号 ckytmc
+				if (StringUtils.isNotEmpty(vo.getCkytmc())) {
+					String ckytmc = vo.getCkytmc();
+					ckytmc = ckytmc.substring(0, ckytmc.lastIndexOf(","));
+					vo.setCkytmc(ckytmc);
+				}
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }
 		
 		

+ 7 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/service/CkService.java

@@ -1,10 +1,11 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrck.service;
 
 import java.util.List;
-
-import com.xt.jygl.gkjygl.gkjyr.jyrcg.entity.CgEntity;
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.client.CkWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.entity.CkEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.vo.CkVo;
 
 public interface CkService {
 
@@ -24,4 +25,8 @@ public interface CkService {
 	public CkWebService getWebService(String szdId);
 	
 	List<CkEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<CkVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<CkVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 190 - 3
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrck/service/impl/CkServiceImpl.java

@@ -1,19 +1,25 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrck.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
-import com.xt.jygl.gkjygl.gkjyr.jyrcg.entity.CgEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.client.CkWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.dao.CkDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.entity.CkEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.service.CkService;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.vo.CkVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -52,4 +58,185 @@ public class CkServiceImpl extends JyglBaseService<CkEntity, String> implements
 
 		return dao.findCk(jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<CkVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<CkVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "所在作业区", "港口经营人", "前沿码头名称", "前沿泊位名称", "仓库名称", "是否危险品仓库", "库场生产类型", "库场主要用途", "仓库总面积(平方米)", "仓库容量(吨)", "仓库类型", "生产用仓库面积(平方米)", "危险品仓库面积(平方米)", "生产用仓库容积(立方米)", "油罐容积(立方米)", "油罐容量(吨)", "油库容积(立方米)", "成品油容积(立方米)", "圆筒仓容积(立方米)", "液体化工储罐容积(升)", "粮食筒仓容积(立方米)", "水泥筒仓容积(立方米)", "其他生产用仓库容积(立方米)" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet ckSheet = workBook.createSheet("仓库信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, ckSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = ckSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = ckSheet.createRow(j + 1);
+				CkVo ck = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSzzyqzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSsjyrzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSsmtzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getSsbwzw());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getCkmc());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getWxpckzw());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getKcsclxzw());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getCkytmc());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getCkzmj()) {
+					cell.setCellValue(ck.getCkzmj());
+				}
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getCkrl()) {
+					cell.setCellValue(ck.getCkrl());
+				}
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(ck.getCklxzw());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getScyckmj()) {
+					cell.setCellValue(ck.getScyckmj());
+				}
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getWxpckmj()) {
+					cell.setCellValue(ck.getWxpckmj());
+				}
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getScyckrj()) {
+					cell.setCellValue(ck.getScyckrj());
+				}
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getYgrj()) {
+					cell.setCellValue(ck.getYgrj());
+				}
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getYgrl()) {
+					cell.setCellValue(ck.getYgrl());
+				}
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getYkrj()) {
+					cell.setCellValue(ck.getYkrj());
+				}
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getCpyrj()) {
+					cell.setCellValue(ck.getCpyrj());
+				}
+				
+				cell = bodyRow.createCell(22);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getYtcrj()) {
+					cell.setCellValue(ck.getYtcrj());
+				}
+				
+				cell = bodyRow.createCell(23);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getYthgcgrj()) {
+					cell.setCellValue(ck.getYthgcgrj());
+				}
+				
+				cell = bodyRow.createCell(24);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getLstcrj()) {
+					cell.setCellValue(ck.getLstcrj());
+				}
+				
+				cell = bodyRow.createCell(25);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getSntcrj()) {
+					cell.setCellValue(ck.getSntcrj() );
+				}
+				
+				cell = bodyRow.createCell(26);
+				cell.setCellStyle(bodyStyle);
+				if (null != ck.getQtscyckrj()) {
+					cell.setCellValue(ck.getQtscyckrj());
+				}
+			}
+		}
+	}
 }

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

@@ -1,19 +1,19 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrdc.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -22,9 +22,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -630,4 +628,93 @@ public class DcCtl extends BaseWebCtl {
 		return list;
 	}
 	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String szdid, final String szgkid, final String szgqid, final String ssjyr, final String dcmc, final String wxpdcid) {
+		// 查詢條件
+		Specification<DcEntity> spec = new Specification<DcEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<DcEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssjyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(dcmc)) {
+					list.add(cb.like(root.get("dcmc").as(String.class), "%" + dcmc + "%"));
+				}
+				if (StringUtils.isNotEmpty(wxpdcid)) {
+					list.add(cb.like(root.get("wxpdc").get("id").as(String.class), "%" + wxpdcid + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}//
+		};
+		List<DcEntity> list = query.findAll(spec, DcEntity.class);
+		List<DcVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("堆场信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			dcService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<DcVo> entityToVo(List<DcEntity> list) {
+		List<DcVo> voList = new ArrayList<DcVo>();
+		
+		for (DcEntity entity : list) {
+			DcVo vo = new DcVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setWxpdczw(entity.getWxpdc() != null ? entity.getWxpdc().getText() : "");
+				vo.setSsmtzw(entity.getSsmt() != null ? entity.getSsmt().getMtmc() : "");
+				vo.setDclx(entity.getDclx() != null ? entity.getDclx().getId() : "");
+				vo.setDclxzw(entity.getDclx() != null ? entity.getDclx().getText() : "");
+				if(!StringUtils.isEmpty(vo.getZwdcyt())){
+					vo.setZwdcyt(vo.getZwdcyt().substring(0,vo.getZwdcyt().length()-1));
+				}
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
+	
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/service/DcService.java

@@ -2,8 +2,13 @@ package com.xt.jygl.gkjygl.gkjyr.jyrdc.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.client.DcWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.entity.DcEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
 
 public interface DcService {
 
@@ -23,4 +28,8 @@ public interface DcService {
 	public DcWebService getWebService(String szdId);
 	
 	List<DcEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<DcVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<DcVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 412 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrdc/service/impl/DcServiceImpl.java

@@ -1,18 +1,25 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrdc.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.client.DcWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.dao.DcDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.entity.DcEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.service.DcService;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -53,4 +60,407 @@ public class DcServiceImpl extends JyglBaseService<DcEntity, String> implements
 
 		return dao.findDc(jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<DcVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<DcVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "港口经营人", "所属码头", "堆场名称", "堆场用途名称", "是否危险品堆场", "堆场生产类型", "堆场总容量(吨)", "堆场总面积(平方米)", "堆场总容量(TEU)", "集装箱堆场面积(平方米)", "集装箱堆场堆存面积(平方米)", "危险品堆场面积(平方米)", "危险品堆场堆存能力(TEU)", "煤场面积(平方米)", "煤场容量(吨)", "矿石堆场面积(平方米)", "矿石堆场容量(吨)", "冷藏箱堆场面积(平方米)", "冷藏箱堆场堆存能力(TEU)", "拆装箱场面积(平方米)", "拆装箱场堆存能力(TEU)", "洗箱场面积(平方米)", "洗箱场堆存能力(TEU)", "其他堆场面积(平方米)", "其他堆场容量(吨)", "其他堆场容量(TEU)" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet dcSheet = workBook.createSheet("堆场信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, dcSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = dcSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = dcSheet.createRow(j + 1);
+				DcVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsmtzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getDcmc());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZwdcyt());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getWxpdczw());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getDclxzw());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getDczrl()) {
+					cell.setCellValue(vo.getDczrl());
+				}
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getDczmj()) {
+					cell.setCellValue(vo.getDczmj());
+				}
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getDczrlteu()) {
+					cell.setCellValue(vo.getDczrlteu());
+				}
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getJzxmj()) {
+					cell.setCellValue(vo.getJzxmj());
+				}
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getJzxdcdcnl()) {
+					cell.setCellValue(vo.getJzxdcdcnl());
+				}
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getWxpxdcmj()) {
+					cell.setCellValue(vo.getWxpxdcmj());
+				}
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getWxpxdcdcnl()) {
+					cell.setCellValue(vo.getWxpxdcdcnl());
+				}
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getMcmj()) {
+					cell.setCellValue(vo.getMcmj());
+				}
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getMcrl()) {
+					cell.setCellValue(vo.getMcrl());
+				}
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getKsdcmj()) {
+					cell.setCellValue(vo.getKsdcmj());
+				}
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getKsdcrl()) {
+					cell.setCellValue(vo.getKsdcrl());
+				}
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getLcxdcmj()) {
+					cell.setCellValue(vo.getLcxdcmj());
+				}
+				
+				cell = bodyRow.createCell(22);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getLcxdcdcnl()) {
+					cell.setCellValue(vo.getLcxdcdcnl());
+				}
+				
+				cell = bodyRow.createCell(23);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getCzxdcmj()) {
+					cell.setCellValue(vo.getCzxdcmj());
+				}
+				
+				cell = bodyRow.createCell(24);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getCzxdcdcnl()) {
+					cell.setCellValue(vo.getCzxdcdcnl());
+				}
+				
+				cell = bodyRow.createCell(25);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getXxdcmj()) {
+					cell.setCellValue(vo.getXxdcmj());
+				}
+				
+				cell = bodyRow.createCell(26);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getXxdcdcnl()) {
+					cell.setCellValue(vo.getXxdcdcnl());
+				}
+				
+				cell = bodyRow.createCell(27);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getQtdcmj()) {
+					cell.setCellValue(vo.getQtdcmj());
+				}
+				
+				cell = bodyRow.createCell(28);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getQtdcdcnl1()) {
+					cell.setCellValue(vo.getQtdcdcnl1());
+				}
+				
+				cell = bodyRow.createCell(29);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getQtdcdcnl2()) {
+					cell.setCellValue(vo.getQtdcdcnl2());
+				}
+			}
+		}
+	}
+//	@Override
+//	public void exportExcelAll(List<DcVo> voList, String[] titles, ServletOutputStream outputStream) {
+//		// 创建一个workbook 对应一个excel应用文件
+//		XSSFWorkbook workBook = new XSSFWorkbook();
+//		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+//		XSSFSheet sheet = workBook.createSheet("堆场信息全部");
+//		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+//		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+//		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+//		// 构建表头
+//		XSSFRow headRow = sheet.createRow(0);
+//		XSSFCell cell = null;
+//		for (int i = 0; i < titles.length; i++) {
+//			cell = headRow.createCell(i);
+//			cell.setCellStyle(headStyle);
+//			cell.setCellValue(titles[i]);
+//		}
+//		// 构建表体数据
+//		if (voList != null && voList.size() > 0) {
+//			for (int j = 0; j < voList.size(); j++) {
+//				XSSFRow bodyRow = sheet.createRow(j + 1);
+//				DcVo vo = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//				
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzdzw());
+//				
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgkzw());
+//				
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgqzw());
+//				
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsjyrzw());
+//				
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsmtzw());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getDcmc());
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getZwdcyt());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getWxpdczw());
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getDclxzw());
+//				
+//				cell = bodyRow.createCell(10);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getDczrl()) {
+//					cell.setCellValue(vo.getDczrl());
+//				}
+//				
+//				cell = bodyRow.createCell(11);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getDczmj()) {
+//					cell.setCellValue(vo.getDczmj());
+//				}
+//				
+//				cell = bodyRow.createCell(12);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getDczrlteu()) {
+//					cell.setCellValue(vo.getDczrlteu());
+//				}
+//				
+//				cell = bodyRow.createCell(13);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getJzxmj()) {
+//					cell.setCellValue(vo.getJzxmj());
+//				}
+//				
+//				cell = bodyRow.createCell(14);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getJzxdcdcnl()) {
+//					cell.setCellValue(vo.getJzxdcdcnl());
+//				}
+//				
+//				cell = bodyRow.createCell(15);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getWxpxdcmj()) {
+//					cell.setCellValue(vo.getWxpxdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(16);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getWxpxdcdcnl()) {
+//					cell.setCellValue(vo.getWxpxdcdcnl());
+//				}
+//				
+//				cell = bodyRow.createCell(17);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getMcmj()) {
+//					cell.setCellValue(vo.getMcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(18);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getMcrl()) {
+//					cell.setCellValue(vo.getMcrl());
+//				}
+//				
+//				cell = bodyRow.createCell(19);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getKsdcmj()) {
+//					cell.setCellValue(vo.getKsdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(20);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getKsdcrl()) {
+//					cell.setCellValue(vo.getKsdcrl());
+//				}
+//				
+//				cell = bodyRow.createCell(21);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getLcxdcmj()) {
+//					cell.setCellValue(vo.getLcxdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(22);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getLcxdcdcnl()) {
+//					cell.setCellValue(vo.getLcxdcdcnl());
+//				}
+//				
+//				cell = bodyRow.createCell(23);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getCzxdcmj()) {
+//					cell.setCellValue(vo.getCzxdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(24);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getCzxdcdcnl()) {
+//					cell.setCellValue(vo.getCzxdcdcnl());
+//				}
+//				
+//				cell = bodyRow.createCell(25);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getXxdcmj()) {
+//					cell.setCellValue(vo.getXxdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(26);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getXxdcdcnl()) {
+//					cell.setCellValue(vo.getXxdcdcnl());
+//				}
+//				
+//				cell = bodyRow.createCell(27);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getQtdcmj()) {
+//					cell.setCellValue(vo.getQtdcmj());
+//				}
+//				
+//				cell = bodyRow.createCell(28);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getQtdcdcnl1()) {
+//					cell.setCellValue(vo.getQtdcdcnl1());
+//				}
+//				
+//				cell = bodyRow.createCell(29);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getQtdcdcnl2()) {
+//					cell.setCellValue(vo.getQtdcdcnl2());
+//				}
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
 }

+ 400 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/ctl/GkjyrCtl.java

@@ -1,5 +1,6 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrjbxx.ctl;
 
+import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -13,7 +14,9 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -43,15 +46,24 @@ 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.gkjcxx.gq.service.GqService;
+import com.xt.jygl.gkjcxx.mt.ctl.MtCtl;
 import com.xt.jygl.gkjcxx.mt.entity.MtEntity;
 import com.xt.jygl.gkjcxx.mt.service.MtService;
 import com.xt.jygl.gkjcxx.mt.vo.MtVo;
+import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.ctl.BwCtl;
 import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.ctl.CgCtl;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.entity.CgEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.service.CgService;
 import com.xt.jygl.gkjygl.gkjyr.jyrcg.vo.CgVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.ctl.CkCtl;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.entity.CkEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.service.CkService;
 import com.xt.jygl.gkjygl.gkjyr.jyrck.vo.CkVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.ctl.DcCtl;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.entity.DcEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.service.DcService;
 import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.client.GkjyrWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.BwEntity;
@@ -61,18 +73,29 @@ import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.GkjyrVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.RyVo;
+import com.xt.jygl.gkjygl.gkjyr.qytz.ctl.QytzCtl;
 import com.xt.jygl.gkjygl.gkjyr.qytz.entity.QytzEntity;
+import com.xt.jygl.gkjygl.gkjyr.qytz.service.QytzService;
 import com.xt.jygl.gkjygl.gkjyr.qytz.vo.QytzVo;
+import com.xt.jygl.gkjygl.gkjyr.ry.ctl.RyCtl;
+import com.xt.jygl.gkjygl.gkjyr.ry.service.RyService;
+import com.xt.jygl.gkjygl.gkjyr.sssb.ctl.SssbCtl;
 import com.xt.jygl.gkjygl.gkjyr.sssb.entity.SssbEntity;
+import com.xt.jygl.gkjygl.gkjyr.sssb.service.SssbService;
 import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.ctl.XkzfzCtl;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.entity.XkzfzEntity;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.service.XkzfzService;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.ctl.XkzxxCtl;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzglbEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzxxEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.service.XkzglbService;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.service.XkzxxService;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.vo.XkzxxVo;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.ctl.ZxjxCtl;
 import com.xt.jygl.gkjygl.gkjyr.zxjx.entity.ZxjxEntity;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.service.ZxjxService;
 import com.xt.jygl.gkjygl.gkjyr.zxjx.vo.ZxjxVo;
 import com.xtframe.core.anon.auth.RequiresPermissions;
 import com.xtframe.core.base.ctl.WebJsonResult;
@@ -104,6 +127,18 @@ public class GkjyrCtl extends BaseWebCtl {
 	@Autowired
 	private BwService bwService;
 	@Autowired
+	private CgService cgService;
+	@Autowired
+	private CkService ckService;
+	@Autowired
+	private DcService dcService;
+	@Autowired
+	private RyService ryService;
+	@Autowired
+	private QytzService qytzService;
+	@Autowired
+	private ZxjxService zxjxService;
+	@Autowired
 	private XkzglbService xkzglbService;
 	@Autowired
 	private XkzxxService xkzxxService;
@@ -111,6 +146,10 @@ public class GkjyrCtl extends BaseWebCtl {
 	private GgxxtxService ggxxtxService;
 	@Autowired
 	private TxService txService;
+	@Autowired
+	private SssbService sssbService;
+	@Autowired
+	private XkzfzService xkzfzService;
 
 	/**
 	 * 经营人基础信息
@@ -2027,5 +2066,366 @@ public class GkjyrCtl extends BaseWebCtl {
 		}
 		return nodeList;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String bwyt, final String whfzbh, final String sfcswhzy, final String sfcyxkz, final String gkjyr, final String szdid, final String szgkid, final String szgqid, final String gkjyxkzh, final String fddbr, final Date xkzstartDate, final Date xkzendDate, final Date fzstartDate, final Date fzendDate, final String jyrxkzsfdq) {
+		Specification<GkjyrEntity> spec = new Specification<GkjyrEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<GkjyrEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+
+				boolean xkzflag = false;
+				boolean bwflag = false;
+
+				List<Predicate> list = new ArrayList<Predicate>();
+				//
+
+				if (StringUtils.isNotEmpty(gkjyr)) {
+
+					list.add(cb.like(root.get("gkjyr").as(String.class), "%" + gkjyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(gkjyxkzh)) {
+					list.add(cb.like(root.get("gkjyxkzh").as(String.class), "%" + gkjyxkzh + "%"));
+				}
+				if (StringUtils.isNotEmpty(fddbr)) {
+					list.add(cb.like(root.get("fddbr").as(String.class), "%" + fddbr + "%"));
+				}
+				// 危货附证编号
+				if (StringUtils.isNotEmpty(whfzbh)) {
+					list.add(cb.like(root.get("gkwxhwzyfzbh").as(String.class), "%" + whfzbh + "%"));
+				}
+				// 是否危货企业
+				if (StringUtils.isNotEmpty(sfcswhzy)) {
+					if (!sfcswhzy.equals("all")) {
+						list.add(cb.like(root.get("sfwhqy").get("id").as(String.class), "%" + sfcswhzy + "%"));
+					}
+				}
+				// 是否有许可证
+				if (StringUtils.isNotEmpty(sfcyxkz)) {
+					if (!sfcyxkz.equals("all")) {
+						if (!sfcyxkz.equals("201")) {
+							list.add(cb.isNull(root.get("gkjyxkzh").as(String.class)));
+						} else {
+							list.add(cb.isNotNull(root.get("gkjyxkzh").as(String.class)));
+						}
+
+					}
+				}
+				Subquery<BwEntity> subquery2 = query.subquery(BwEntity.class);
+				Root<BwEntity> dpRoot2 = subquery2.from(BwEntity.class);
+				subquery2.select(dpRoot2);
+				List<Predicate> subQueryPredicates2 = new ArrayList<Predicate>();
+				subQueryPredicates2.add(cb.equal(root.get("id").as(String.class), dpRoot2.get("ssjyr").get("id").as(String.class)));
+				// 泊位用途
+				if (StringUtils.isNotEmpty(bwyt)) {
+					subQueryPredicates2.add(cb.like(dpRoot2.get("bwyt").as(String.class), "%" + bwyt + "%"));
+					bwflag = true;
+				}
+				if (bwflag) {
+					subquery2.where(subQueryPredicates2.toArray(new Predicate[] {}));
+					list.add(cb.exists(subquery2));
+				}
+//				// 企业性质
+//				if (StringUtils.isNotEmpty(qyxz)) {
+//					list.add(cb.like(root.get("qyxz").as(String.class), "%" + qyxz + "%"));
+//				}
+
+				// 危货附证有效期
+				if (fzstartDate != null) {
+					list.add(cb.greaterThanOrEqualTo(root.get("fzyxq").as(Date.class), fzstartDate));
+				}
+				if (fzendDate != null) {
+					list.add(cb.lessThanOrEqualTo(root.get("fzyxq").as(Date.class), fzendDate));
+				}
+				// 子查询
+				Subquery<XkzxxEntity> subquery = query.subquery(XkzxxEntity.class);
+				Root<XkzxxEntity> dpRoot = subquery.from(XkzxxEntity.class);
+				subquery.select(dpRoot);
+				List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+				Date now = new Date();
+				subQueryPredicates.add(cb.equal(dpRoot.get("gkjyr").as(String.class), root.get("id").as(String.class)));
+				subQueryPredicates.add(cb.equal(dpRoot.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_VALID));
+				// 许可证有效期
+				if (xkzstartDate != null) {
+					subQueryPredicates.add(cb.greaterThanOrEqualTo(dpRoot.get("yxqz").as(Date.class), xkzstartDate));
+					xkzflag = true;
+				}
+				if (xkzendDate != null) {
+					subQueryPredicates.add(cb.lessThanOrEqualTo(dpRoot.get("yxqz").as(Date.class), xkzendDate));
+					xkzflag = true;
+				}
+				// 许可证是否将到期
+				if (StringUtils.isNotEmpty(jyrxkzsfdq)) {
+					if ((jyrxkzsfdq).equals("6103")) {
+						subQueryPredicates.add(cb.lessThanOrEqualTo(dpRoot.get("yxqz").as(Date.class), now));
+						xkzflag = true;
+					} else if ((jyrxkzsfdq).equals("6101")) {
+						subQueryPredicates.add(cb.greaterThan(dpRoot.get("yxqz").as(Date.class), now));
+						xkzflag = true;
+					} else {
+						// subQueryPredicates.add(cb.lessThanOrEqualTo(dpRoot.get("yxqz").as(Date.class),
+						// DateTime.addDays(now, 30)));
+					}
+				}
+				if (xkzflag) {
+					subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+					list.add(cb.exists(subquery));
+				}
+
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession().getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				// 状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<GkjyrEntity> list = query.findAll(spec, GkjyrEntity.class);
+		List<GkjyrVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("港口经营人信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			gkjyrService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<GkjyrVo> entityToVo(List<GkjyrEntity> list) {
+		List<GkjyrVo> voList = new ArrayList<GkjyrVo>();
+
+		for (GkjyrEntity entity : list) {
+			GkjyrVo gkjyrVo = new GkjyrVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, gkjyrVo);
+				gkjyrVo.setSzdzw(null != entity.getSzd() ? entity.getSzd().getText() : "");
+				gkjyrVo.setSzgkzw(null != entity.getSzgk() ? entity.getSzgk().getGkmc() : "");
+				gkjyrVo.setSzgqzw(null != entity.getSzgq() ? entity.getSzgq().getGqmc() : "");
+				if (null != entity.getParentJyrId()) {
+					GkjyrEntity p = gkjyrService.findOne(entity.getParentJyrId());
+					if (null != p) {
+						gkjyrVo.setParentJyrIdzw(p.getGkjyr());
+					}
+				}
+
+				gkjyrVo.setSfwhqy(null != entity.getSfwhqy() ? entity.getSfwhqy().getText() : "");
+				gkjyrVo.setSfzdsp(null != entity.getSfzdsp() ? entity.getSfzdsp().getText() : "");
+				gkjyrVo.setYwcqzmzw(null != entity.getYwcqzm() ? entity.getYwcqzm().getText() : "");
+				gkjyrVo.setYwjgyszw(null != entity.getYwjgys() ? entity.getYwjgys().getText() : "");
+				gkjyrVo.setMtjgxs(null != entity.getMtjgxs() ? entity.getMtjgxs().getId() : "");
+				gkjyrVo.setMtjgxszw(null != entity.getMtjgxs() ? entity.getMtjgxs().getText() : "");
+				gkjyrVo.setQyxzzw(null != entity.getQyxz() ? entity.getQyxz().getText() : "");
+				gkjyrVo.setFzrqstr(transFormatDate(entity.getFzrq()));
+				
+				voList.add(gkjyrVo);
+			}
+		}
+		return voList;
+	}
 
+	@RequestMapping(value = "/exportJyr")
+	public String exportJyr(HttpServletResponse response,final String id,final String jyr){
+		//经营人信息
+		GkjyrEntity gkjyrEntity = gkjyrService.findOne(id);
+		List<GkjyrEntity> list = new ArrayList<>();
+		list.add(gkjyrEntity);
+		List<GkjyrVo> voList = entityToVo(list);
+		//许可证信息
+//		List<XkzxxVo> xkzxxVos = exportXkzxx(id);
+		//许可证附证
+		List<CodeEntity> listZycs = securityMgr.codeService().findValidCodesByGroupCode("ZYCS");
+		List<GqEntity> listgq = gqService.findGq();
+		List<GkEntity> listgk = gkService.findGk();
+		List<XkzfzVo> xkzfzVos = exportXkzfz(id);
+		//码头
+		List<MtVo> mtVos = exportMt(id);
+		//泊位
+		List<BwVo> bwVos = exportBw(id);
+		//储罐
+		List<CgVo> cgVos = expotrCg(id);
+		//仓库
+		List<CkVo> ckVos = expotrCk(id); 
+		//堆场
+		List<DcVo> dcVos = expotrDc(id);
+		//人员及特征
+		List<RyVo> ryVos = expotrRy(id);
+		//设施设备
+		List<SssbVo> sssbVos = exportSssb(id);
+		//企业投资
+		List<QytzVo> qytzVos = expotrQytz(id);
+		//装卸机械
+		List<ZxjxVo> zxjxVos = expotrZxjx(id);
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String((jyr+"信息").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+//			gkjyrService.exportJyr(xkzxxVos,sssbVos, outputStream);
+			gkjyrService.exportJyr(voList, xkzfzVos, mtVos, bwVos, cgVos, ckVos, dcVos, ryVos, sssbVos, qytzVos, zxjxVos, outputStream, listZycs, listgq, listgk);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	/**
+	 * 许可证信息
+	 * @param id
+	 * @return
+	 */
+	public List<XkzxxVo> exportXkzxx(final String id) {
+		List<XkzxxEntity> list = xkzxxService.findByJyrid(id);
+		XkzxxCtl xkzxxCtl = new XkzxxCtl();
+		List<XkzxxVo> voList = xkzxxCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 许可证附证
+	 * @param id
+	 * @return
+	 */
+	public List<XkzfzVo> exportXkzfz(final String id) {
+		List<XkzfzEntity> list = xkzfzService.findByJyrid(id);
+		XkzfzCtl xkzfzCtl = new XkzfzCtl();
+		List<XkzfzVo> voList = xkzfzCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 码头
+	 * @param id
+	 * @return
+	 */
+	public List<MtVo> exportMt(final String id) {
+		List<MtEntity> list = mtService.findByJyrid(id);
+		MtCtl mtCtl = new MtCtl();
+		List<MtVo> voList = mtCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 泊位
+	 * @param id
+	 * @return
+	 */
+	public List<BwVo> exportBw(final String id) {
+		List<BwEntity> list = bwService.findByJyrid(id);
+		BwCtl bwCtl = new BwCtl();
+		List<BwVo> voList = bwCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 储罐
+	 * @param id
+	 * @return
+	 */
+	public List<CgVo> expotrCg(final String id) {
+		List<CgEntity> list = cgService.findByJyrid(id);
+		CgCtl cgCtl = new CgCtl();
+		List<CgVo> voList = cgCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 仓库
+	 * @param id
+	 * @return
+	 */
+	public List<CkVo> expotrCk(final String id) {
+		List<CkEntity> list = ckService.findByJyrid(id);
+		CkCtl ckCtl = new CkCtl();
+		List<CkVo> voList = ckCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 堆场
+	 * @param id
+	 * @return
+	 */
+	public List<DcVo> expotrDc(final String id) {
+		List<DcEntity> list = dcService.findByJyrid(id);
+		DcCtl dcCtl = new DcCtl();
+		List<DcVo> voList = dcCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 人员及特征
+	 * @param id
+	 * @return
+	 */
+	public List<RyVo> expotrRy(final String id) {
+		List<RyEntity> list = ryService.findByJyrid(id);
+		RyCtl ryCtl = new RyCtl();
+		List<RyVo> voList = ryCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 设施设备
+	 * @param id
+	 * @return
+	 */
+	public List<SssbVo> exportSssb(final String id){
+		List<SssbEntity> list = sssbService.findByJyrid(id);
+		SssbCtl sssbCtl = new SssbCtl();
+		List<SssbVo> voList = sssbCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 企业投资
+	 * @param id
+	 * @return
+	 */
+	public List<QytzVo> expotrQytz(final String id) {
+		List<QytzEntity> list = qytzService.findByJyrid(id);
+		QytzCtl qytzCtl = new QytzCtl();
+		List<QytzVo> voList = qytzCtl.entityToVo(list);
+		return voList;
+	}
+	
+	/**
+	 * 装卸机械
+	 * @param id
+	 * @return
+	 */
+	public List<ZxjxVo> expotrZxjx(final String id) {
+		List<ZxjxEntity> list = zxjxService.findByJyrid(id);
+		ZxjxCtl zxjxCtl = new ZxjxCtl();
+		List<ZxjxVo> voList = zxjxCtl.entityToVo(list);
+		return voList;
+	}
+	
 }

+ 23 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/service/GkjyrService.java

@@ -1,10 +1,28 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service;
 
 import java.util.List;
+
+import javax.servlet.ServletOutputStream;
+
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.mt.vo.MtVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.vo.CgVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.vo.CkVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.client.GkjyrWebService;
 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.entity.RyEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.GkjyrVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.RyVo;
+import com.xt.jygl.gkjygl.gkjyr.qytz.vo.QytzVo;
+import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.vo.XkzxxVo;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.vo.ZxjxVo;
+import com.xtframe.sec.code.entity.CodeEntity;
 
 public interface GkjyrService {
 
@@ -44,4 +62,9 @@ public interface GkjyrService {
 	
 	List<GkjyrEntity> findGkjyrByGqid(String gkid);
 
+	public void exportExcelAll(List<GkjyrVo> voList, ServletOutputStream outputStream);
+
+//	public void exportJyr(List<XkzxxVo> xkzxxVos, List<SssbVo> sssbVos, ServletOutputStream outputStream);
+	public void exportJyr(List<GkjyrVo> voList, List<XkzfzVo> xkzfzVos, List<MtVo> mtVos, List<BwVo> bwVos, List<CgVo> cgVos, List<CkVo> ckVos, List<DcVo> dcVos, List<RyVo> ryVos, List<SssbVo> sssbVos, List<QytzVo> qytzVos, List<ZxjxVo> zxjxVos, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk);
+
 }

+ 385 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/jyrjbxx/service/impl/GkjyrServiceImpl.java

@@ -1,14 +1,31 @@
 package com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.mt.service.MtService;
+import com.xt.jygl.gkjcxx.mt.vo.MtVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrbw.service.BwService;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.service.CgService;
+import com.xt.jygl.gkjygl.gkjyr.jyrcg.vo.CgVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.service.CkService;
+import com.xt.jygl.gkjygl.gkjyr.jyrck.vo.CkVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.service.DcService;
+import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.client.GkjyrWebService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.dao.BwDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.dao.GkjyrDao;
@@ -17,7 +34,21 @@ 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.entity.RyEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.BwVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.GkjyrVo;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.RyVo;
+import com.xt.jygl.gkjygl.gkjyr.qytz.service.QytzService;
+import com.xt.jygl.gkjygl.gkjyr.qytz.vo.QytzVo;
+import com.xt.jygl.gkjygl.gkjyr.ry.service.RyService;
+import com.xt.jygl.gkjygl.gkjyr.sssb.service.SssbService;
+import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.service.XkzfzService;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.service.XkzxxService;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.service.ZxjxService;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.vo.ZxjxVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
+import com.xtframe.sec.code.entity.CodeEntity;
 import com.xtframe.sec.common.SecRepository;
 
 @Service
@@ -28,7 +59,30 @@ public class GkjyrServiceImpl extends JyglBaseService<GkjyrEntity, String> imple
 	private BwDao bwDao;
 	@Autowired
 	private RyDao ryDao;
+	@Autowired
+	private SssbService sssbService;
+	@Autowired
+	private XkzxxService xkzxxService;
+	@Autowired
+	private XkzfzService xkzfzService;
+	@Autowired
+	private MtService mtService;
+	@Autowired
+	private BwService bwService;
+	@Autowired
+	private CgService cgService;
+	@Autowired
+	private CkService ckService;
+	@Autowired
+	private DcService dcService;
+	@Autowired
+	private RyService ryService;
+	@Autowired
+	private QytzService qytzService;
+	@Autowired
+	private ZxjxService zxjxService;
 
+	
 	@Override
 	protected SecRepository<GkjyrEntity, String> getDao() {
 		return this.dao;
@@ -83,4 +137,333 @@ public class GkjyrServiceImpl extends JyglBaseService<GkjyrEntity, String> imple
 		return dao.findGkjyrByGqid(gqid);
 	}
 
+	@Override
+	public void exportExcelAll(List<GkjyrVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	public void setSheet(List<GkjyrVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "是否危货企业", "经营人名称", "企业性质", "办公地址", "邮政编码", "经营许可证号编号", "发证日期", "发证机关", 
+				"经营范围", "经营区域", "主营货种", "法定代表人姓名", "联系电话", "传真", "工商营业执照编号", "投资总额", "注册资本", "危险货物作业附证编号", "设施保安符合证书编号", 
+				"从业人员数量", "现场管理人员(人)", "专业技术人员(人)", "现场作业人员(人)", "房建设施总面积(平方米)", "有无产权证明", "办公用房(平方米)", 
+				"岸线长度(米)", "码头前沿河底高程(米)", "码头泊位总数(平方米)", "生产性泊位(个)", "非生产性泊位(个)", "最大靠泊能力(万吨)", "万吨级以上泊位数量(个)", "码头结构型式", 
+				"泊位总长度(米)", "有无竣工验收证明", "设计年通过能力(万吨)", "上年度总吞量(万吨)", "其中外贸总吞量(万吨)", "陆域总面积(平方米)", "仓库总面积(平方米)", "堆场总面积(平方米)", 
+				"装卸设备(台)", "其中门座吊机(台)", "轮胎起重机(台)", "固定吊机(台)", "汽车起重机(台)", "输送设备(台)", "其他机械(台)", "港作船舶(艘)", "船舶总载重量(万吨)", 
+				"工艺管线长度(米)", "铁路专用长度(米)", "储罐数量(个)", "储罐总容量(立方米)" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet jyrSheet = workBook.createSheet("港口经营人信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, jyrSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = jyrSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = jyrSheet.createRow(j + 1);
+				GkjyrVo gkjyr = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSzdzw());
+				
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSzgkzw());
+				
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSzgqzw());
+				
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSfwhqyzw());
+				
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGkjyr());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getQyxzzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getBgdz());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getYzbm());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGkjyxkzh());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getFzrqstr());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getFzjg());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getJyfw());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getJyqy());
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getZyhz());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getFddbr());
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getLxdh());
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCz());
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGsyyzzbh());
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getTzze());
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getZczb());
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGkwxhwzyfzbh());
+				
+				cell = bodyRow.createCell(22);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGkssbafhzsbh());
+				
+				cell = bodyRow.createCell(23);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCyrysl());
+				
+				cell = bodyRow.createCell(24);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getXcglrysl());
+				
+				cell = bodyRow.createCell(25);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getZyjsrysl());
+				
+				cell = bodyRow.createCell(26);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getXczyrysl());
+				
+				cell = bodyRow.createCell(27);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getFjsszmj());
+				
+				cell = bodyRow.createCell(28);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getYwcqzmzw());
+				
+				cell = bodyRow.createCell(29);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getBgyfmj());
+				
+				cell = bodyRow.createCell(30);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getAxcd());
+				
+				cell = bodyRow.createCell(31);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getMtqyhdgc());
+				
+				cell = bodyRow.createCell(32);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getMtbwzs());
+				
+				cell = bodyRow.createCell(33);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getScxbw());
+				
+				cell = bodyRow.createCell(34);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getFscxbw());
+				
+				cell = bodyRow.createCell(35);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getZdkbnl());
+				
+				cell = bodyRow.createCell(36);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getWdjysbwsl());
+				
+				cell = bodyRow.createCell(37);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getMtjgxszw());
+				
+				cell = bodyRow.createCell(38);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getBwzcd());
+				
+				cell = bodyRow.createCell(39);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getYwjgyszw());
+				
+				cell = bodyRow.createCell(40);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSjntgnl());
+				
+				cell = bodyRow.createCell(41);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSndzttl());
+				
+				cell = bodyRow.createCell(42);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSndwmttl());
+				
+				cell = bodyRow.createCell(43);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getLymj());
+				
+				cell = bodyRow.createCell(44);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCkzmj());
+				
+				cell = bodyRow.createCell(45);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getTczmj());
+				
+				cell = bodyRow.createCell(46);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getZxsbgs());
+				
+				cell = bodyRow.createCell(47);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getMzdjgs());
+				
+				cell = bodyRow.createCell(48);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getLtqzjgs());
+				
+				cell = bodyRow.createCell(49);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGddjgs());
+				
+				cell = bodyRow.createCell(50);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getQcqzjgs());
+				
+				cell = bodyRow.createCell(51);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getSssbgs());
+				
+				cell = bodyRow.createCell(52);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getQtjxgs());
+				
+				cell = bodyRow.createCell(53);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGzcbgs());
+				
+				cell = bodyRow.createCell(54);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCbzzzl());
+				
+				cell = bodyRow.createCell(55);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getGygxcd());
+				
+				cell = bodyRow.createCell(56);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getTlzyxcd());
+				
+				cell = bodyRow.createCell(57);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCgsl());
+				
+				cell = bodyRow.createCell(58);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(gkjyr.getCgzrl());
+			}
+		}
+	}
+
+	@Override
+//	public void exportJyr(List<XkzxxVo> xkzxxVos, List<SssbVo> sssbVos, ServletOutputStream outputStream) {
+	public void exportJyr(List<GkjyrVo> voList, List<XkzfzVo> xkzfzVos, List<MtVo> mtVos, List<BwVo> bwVos, List<CgVo> cgVos, List<CkVo> ckVos, List<DcVo> dcVos, List<RyVo> ryVos, List<SssbVo> sssbVos, List<QytzVo> qytzVos, List<ZxjxVo> zxjxVos, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		//经营人信息
+		setSheet(voList, outputStream, workBook);
+		//许可证信息
+//		xkzxxService.setXkzxxSheet(xkzxxVos, outputStream, workBook);
+		//许可证附证信息
+		xkzfzService.setSheet(xkzfzVos, outputStream, listZycs, listgq, listgk, workBook);
+		//码头
+		mtService.setSheet(mtVos, outputStream, workBook);
+		//泊位
+		bwService.setSheet(bwVos, outputStream, workBook);
+		//储罐
+		cgService.setSheet(cgVos, outputStream, workBook);
+		//仓库
+		ckService.setSheet(ckVos, outputStream, workBook);
+		//堆场
+		dcService.setSheet(dcVos, outputStream, workBook);
+		//人员及特征
+		ryService.setSheet(ryVos, outputStream, workBook);
+		//设施设备信息
+		sssbService.setSheet(sssbVos, outputStream, workBook);
+		//企业投资
+		qytzService.setSheet(qytzVos, outputStream, workBook);
+		//装卸机械
+		zxjxService.setSheet(zxjxVos, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
 }

+ 90 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/ctl/QytzCtl.java

@@ -1,20 +1,20 @@
 package com.xt.jygl.gkjygl.gkjyr.qytz.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -23,9 +23,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -526,5 +524,92 @@ public class QytzCtl extends BaseWebCtl {
 		}
 		return wr;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String szdid, final String tzrmc, final String szgkid, final String szgqid, final String jyr) {
+		// 查询条件
+		Specification<QytzEntity> spec = new Specification<QytzEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<QytzEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(tzrmc)) {
+					list.add(cb.like(root.get("tzrmc").as(String.class), "%" + tzrmc + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(jyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<QytzEntity> list = query.findAll(spec, QytzEntity.class);
+		List<QytzVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("企业投资信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			qytzService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<QytzVo> entityToVo(List<QytzEntity> list) {
+		List<QytzVo> voList = new ArrayList<QytzVo>();
+		for (QytzEntity entity : list) {
+			QytzVo vo = new QytzVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSfws(entity.getSfws() != null ? entity.getSfws().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setJjlx(entity.getJjlx() != null ? entity.getJjlx().getId() : "");
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSfwszw(entity.getSfws() != null ? entity.getSfws().getText() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setJjlxzw(entity.getJjlx() != null ? entity.getJjlx().getText() : "");
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/service/QytzService.java

@@ -2,7 +2,12 @@ package com.xt.jygl.gkjygl.gkjyr.qytz.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.qytz.entity.QytzEntity;
+import com.xt.jygl.gkjygl.gkjyr.qytz.vo.QytzVo;
 
 public interface QytzService {
 	void logicDelete(String id);
@@ -12,4 +17,8 @@ public interface QytzService {
 	QytzEntity findOne(String id);
 	
 	List<QytzEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<QytzVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<QytzVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 129 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/qytz/service/impl/QytzServiceImpl.java

@@ -1,14 +1,21 @@
 package com.xt.jygl.gkjygl.gkjyr.qytz.service.impl;
 
+import java.io.IOException;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.qytz.dao.QytzDao;
 import com.xt.jygl.gkjygl.gkjyr.qytz.entity.QytzEntity;
 import com.xt.jygl.gkjygl.gkjyr.qytz.service.QytzService;
+import com.xt.jygl.gkjygl.gkjyr.qytz.vo.QytzVo;
 import com.xtframe.sec.common.SecRepository;
 
 @Service
@@ -27,4 +34,124 @@ public class QytzServiceImpl extends JyglBaseService<QytzEntity, String> impleme
 	public List<QytzEntity> findByJyrid(String jyrid) {
 		return dao.findQytz(jyrid);
 	}
+
+
+	@Override
+	public void exportExcelAll(List<QytzVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<QytzVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "经营人", "经济类型", "投资人名称", "是否外商", "资产类型", "投资金额", "投资金额单位(人民币,美元等)", "投资总金额", "投资金额单位(人民币,美元等)", "注册资本", "注册资本单位(人民币,美元等)", "所占份额%", "注册地址" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet qytzSheet = workBook.createSheet("企业投资信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, qytzSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = qytzSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = qytzSheet.createRow(j + 1);
+				QytzVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getTzjjlx());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getTzrmc());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSfwszw());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getJjlxzw());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getJe()) {
+					cell.setCellValue(vo.getJe());
+				}
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getTzjedw());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getTzzje()) {
+					cell.setCellValue(vo.getTzzje());
+				}
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getTzje());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getZczb()) {
+					cell.setCellValue(vo.getZczb());
+				}
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZczbdw());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzb());
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZcdz());
+			}
+		}
+	}
 }

+ 122 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/ctl/RyCtl.java

@@ -1,20 +1,20 @@
 package com.xt.jygl.gkjygl.gkjyr.ry.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -23,9 +23,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -765,5 +763,124 @@ public class RyCtl extends BaseWebCtl {
 		}
 		return "gkjygl/gkjyr/ry/ryadd";
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String xm, final String szgkid, final String szgqid, final String jyr, final String szdid, final String rylxid) {
+		// 查詢條件
+		Specification<RyEntity> spec = new Specification<RyEntity>() {
 
+			@Override
+			public Predicate toPredicate(Root<RyEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(xm)) {
+					list.add(cb.like(root.get("xm").as(String.class), "%" + xm + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(jyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(rylxid)) {
+					list.add(cb.like(root.get("rylx").get("id").as(String.class), "%" + rylxid + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<RyEntity> list = query.findAll(spec, RyEntity.class);
+		List<RyVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("人员及特征信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			ryService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<RyVo> entityToVo(List<RyEntity> list) {
+		List<RyVo> voList = new ArrayList<RyVo>();
+		
+		for (RyEntity entity : list) {
+			RyVo vo = new RyVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setXbzw(entity.getXb() != null ? entity.getXb().getText() : "");
+				vo.setRylxzw(entity.getRylx() != null ? entity.getRylx().getText() : "");
+				vo.setZjlxzw(entity.getZjlx() != null ? entity.getZjlx().getText() : "");
+
+				vo.setZjlx(entity.getZjlx() != null ? entity.getZjlx().getId() : "");
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setXb(entity.getXb() != null ? entity.getXb().getId() : "");
+				vo.setRylx(entity.getRylx() != null ? entity.getRylx().getId() : "");
+				// 出生日期格式化
+				if (null != entity.getCsrq()) {
+					vo.setCsrqfmt(new SimpleDateFormat("yyyy-MM-dd").format(entity.getCsrq()));
+				}
+
+				List<RyzsEntity> ryzslist = ryService.findZs(entity);
+				if (ryzslist.size() == 0) {
+					ryzslist = ryzsService.findZsBysfzh(entity.getSfzh());
+				}
+				List<RyzsVo> ryvoList = new ArrayList<RyzsVo>();
+				for (RyzsEntity zsentity : ryzslist) {
+					RyzsVo zsvo = new RyzsVo();
+					if (zsentity != null) {
+						BeanUtils.copyProperties(zsentity, zsvo);
+						zsvo.setId(zsentity.getId());
+						zsvo.setZsmc(zsentity.getZsmc());
+						zsvo.setZsbh(zsentity.getZsbh());
+						zsvo.setFzbm(zsentity.getFzbm());
+						zsvo.setZszl(zsentity.getZszl());
+						if (null != zsentity.getYxq()) {
+							zsvo.setYxqfmt(new SimpleDateFormat("yyyy-MM-dd").format(zsentity.getYxq()));
+						}
+						zsvo.setRyzw(zsentity.getRyid() != null ? zsentity.getRyid().getXm() : "");
+						zsvo.setRyid(zsentity.getRyid() != null ? zsentity.getRyid().getId() : "");
+						ryvoList.add(zsvo);
+					}
+				}
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/service/RyService.java

@@ -2,8 +2,13 @@ package com.xt.jygl.gkjygl.gkjyr.ry.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.RyEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.RyzsEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.RyVo;
 
 public interface RyService {
 
@@ -20,4 +25,8 @@ public interface RyService {
 
 	List<RyzsEntity> findZs(RyEntity ry);
 	List<RyEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<RyVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<RyVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 114 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/ry/service/impl/RyServiceImpl.java

@@ -1,15 +1,22 @@
 package com.xt.jygl.gkjygl.gkjyr.ry.service.impl;
 
+import java.io.IOException;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.dao.RyDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.dao.RyzsDao;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.RyEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.RyzsEntity;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.RyVo;
 import com.xt.jygl.gkjygl.gkjyr.ry.service.RyService;
 import com.xtframe.sec.common.SecRepository;
 
@@ -37,4 +44,109 @@ public class RyServiceImpl extends JyglBaseService<RyEntity, String> implements
 
 		return dao.findRy(jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<RyVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<RyVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区 ", "港口经营人", "姓名", "性别", "出生日期", "人员类型", "证件类型", "证件编号", "职务或职称", "手机号码", "联系电话", "备注" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet rySheet = workBook.createSheet("人员及特征信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, rySheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = rySheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = rySheet.createRow(j + 1);
+				RyVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getXm());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getXbzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getCsrqfmt());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getRylxzw());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZjlxzw());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSfzh());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getZwhzc());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSjhm());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getLxdh());
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBz());
+			}
+		}
+	}
 }

+ 180 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/ctl/SssbCtl.java

@@ -1,19 +1,19 @@
 package com.xt.jygl.gkjygl.gkjyr.sssb.ctl;
 
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -22,9 +22,7 @@ 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 cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -572,4 +570,181 @@ public class SssbCtl extends BaseWebCtl {
 		return ejfllist;
 
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String ssmc, final String szgkid, final String jyr, final String szgqid, final String szdid) {
+		// 查询条件
+		Specification<SssbEntity> spec = new Specification<SssbEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<SssbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(jyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssmc)) {
+					list.add(cb.like(root.get("ssmc").get("ssmc").as(String.class), "%" + ssmc + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				//状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<SssbEntity> list = query.findAll(spec, SssbEntity.class);
+		List<SssbVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("设施设备信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			sssbService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<SssbVo> entityToVo(List<SssbEntity> list){
+		List<SssbVo> voList = new ArrayList<SssbVo>();
+		for (SssbEntity entity : list) {
+			SssbVo vo = new SssbVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setYjflzw(entity.getYjfl() != null ? entity.getYjfl().getText() : "");
+				vo.setEjflzw(entity.getEjfl() != null ? entity.getEjfl().getText() : "");
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setYjfl(entity.getYjfl() != null ? entity.getYjfl().getId() : "");
+				vo.setEjfl(entity.getEjfl() != null ? entity.getEjfl().getId() : "");
+				vo.setSzzyq(entity.getSzzyq() !=null ? entity.getSzzyq().getId() : "");
+				vo.setSzzyqzw(entity.getSzzyq() !=null ? entity.getSzzyq().getZyqmc() : "");
+				if (null != entity.getYxq()) {
+					vo.setYxqfmt(new SimpleDateFormat("yyyy-MM-dd").format(entity.getYxq()));
+				}
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
+//	@RequestMapping(value = "/exportExcelAll")
+//	public String exportExcelAll(HttpServletResponse response, final String ssmc, final String szgkid, final String jyr, final String szgqid, final String szdid) {
+//		// 查询条件
+//		Specification<SssbEntity> spec = new Specification<SssbEntity>() {
+//			
+//			@Override
+//			public Predicate toPredicate(Root<SssbEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+//				List<Predicate> list = new ArrayList<Predicate>();
+//				if (StringUtils.isNotEmpty(szdid)) {
+//					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(szgkid)) {
+//					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(szgqid)) {
+//					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(jyr)) {
+//					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(ssmc)) {
+//					list.add(cb.like(root.get("ssmc").get("ssmc").as(String.class), "%" + ssmc + "%"));
+//				}
+//				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+//				if (isJyr()) {
+//					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+//				} else {
+//					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+//					@SuppressWarnings("unchecked")
+//					List<String> gqlist = (List<String>) Utils.getSession()
+//					.getAttribute("gqList");
+//					if (gqlist != null && gqlist.size() > 0) {
+//						for (int i = 0; i < gqlist.size(); i++) {
+//							in.value(gqlist.get(i));
+//						}
+//						list.add(in);
+//					}
+//				}
+//				//状态为0,9,10,11不显示
+//				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+//				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.RECORE_STATE_BGFLAG));
+//				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+//				return cb.and(list.toArray(new Predicate[] {}));
+//			}
+//		};
+//		List<SssbEntity> list = query.findAll(spec, SssbEntity.class);
+//		List<SssbVo> voList = new ArrayList<SssbVo>();
+//		SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
+//		
+//		for (SssbEntity entity : list) {
+//			SssbVo vo = new SssbVo();
+//			if (null != entity) {
+//				BeanUtils.copyProperties(entity, vo);
+//				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+//				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+//				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+//				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+//				vo.setYjflzw(entity.getYjfl() != null ? entity.getYjfl().getText() : "");
+//				vo.setEjflzw(entity.getEjfl() != null ? entity.getEjfl().getText() : "");
+//				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+//				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+//				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+//				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+//				vo.setYjfl(entity.getYjfl() != null ? entity.getYjfl().getId() : "");
+//				vo.setEjfl(entity.getEjfl() != null ? entity.getEjfl().getId() : "");
+//				vo.setSzzyq(entity.getSzzyq() !=null ? entity.getSzzyq().getId() : "");
+//				vo.setSzzyqzw(entity.getSzzyq() !=null ? entity.getSzzyq().getZyqmc() : "");
+//				if (null != entity.getYxq()) {
+//					vo.setYxqfmt(new SimpleDateFormat("yyyy-MM-dd").format(entity.getYxq()));
+//				}
+//				
+//				voList.add(vo);
+//			}
+//		}
+//		response.setContentType("application/binary;charset=iso-8859-1");
+//		try {
+//			ServletOutputStream outputStream = response.getOutputStream();
+//			String fileName = new String(("设施设备信息全部").getBytes(), "iso-8859-1");
+//			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+//			String[] titles = { "序号", "所在地", "所在港口", "所在港区", "所在作业区", "港口经营人", "设备(设施)名称 ", "规格型号", "数量", "数量单位", "检验报告(或证书)编号", "有效期", "一级分类", "二级分类", "填表人", "联系电话", "存放场所", "备注" };
+//			sssbService.exportExcelAll(voList, titles, outputStream);
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		}
+//		return null;
+//	}
 }

+ 4 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/dao/SssbDao.java

@@ -2,9 +2,13 @@ package com.xt.jygl.gkjygl.gkjyr.sssb.dao;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.data.jpa.repository.Query;
 
 import com.xt.jygl.gkjygl.gkjyr.sssb.entity.SssbEntity;
+import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
 import com.xtframe.sec.common.SecRepository;
 
 public interface SssbDao extends SecRepository<SssbEntity, String> {

+ 10 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/service/SssbService.java

@@ -2,8 +2,13 @@ package com.xt.jygl.gkjygl.gkjyr.sssb.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.sssb.client.SssbWebService;
 import com.xt.jygl.gkjygl.gkjyr.sssb.entity.SssbEntity;
+import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
 
 public interface SssbService {
 	void logicDelete(String id);
@@ -19,4 +24,9 @@ public interface SssbService {
 	public SssbWebService getWebService(String szdId);
 	
 	List<SssbEntity> findByJyrid(String jyrid);
+
+//	public void exportExcelAll(List<SssbVo> voList, String[] titles, ServletOutputStream outputStream);
+	public void exportExcelAll(List<SssbVo> voList, ServletOutputStream outputStream);
+	
+	public void setSheet(List<SssbVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 244 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/sssb/service/impl/SssbServiceImpl.java

@@ -1,18 +1,28 @@
 package com.xt.jygl.gkjygl.gkjyr.sssb.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.sssb.client.SssbWebService;
 import com.xt.jygl.gkjygl.gkjyr.sssb.dao.SssbDao;
 import com.xt.jygl.gkjygl.gkjyr.sssb.entity.SssbEntity;
 import com.xt.jygl.gkjygl.gkjyr.sssb.service.SssbService;
+import com.xt.jygl.gkjygl.gkjyr.sssb.vo.SssbVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -51,4 +61,238 @@ public class SssbServiceImpl extends JyglBaseService<SssbEntity, String> impleme
 
 		return dao.findSssb(jyrid);
 	}
+
+//	@Override
+//	public void exportExcelAll(List<SssbVo> voList, String[] titles, ServletOutputStream outputStream) {
+//		// 创建一个workbook 对应一个excel应用文件
+//		XSSFWorkbook workBook = new XSSFWorkbook();
+//		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+//		XSSFSheet sheet = workBook.createSheet("堆场信息全部");
+//		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+//		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+//		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+//		// 构建表头
+//		XSSFRow headRow = sheet.createRow(0);
+//		XSSFCell cell = null;
+//		for (int i = 0; i < titles.length; i++) {
+//			cell = headRow.createCell(i);
+//			cell.setCellStyle(headStyle);
+//			cell.setCellValue(titles[i]);
+//		}
+//		// 构建表体数据
+//		if (voList != null && voList.size() > 0) {
+//			for (int j = 0; j < voList.size(); j++) {
+//				XSSFRow bodyRow = sheet.createRow(j + 1);
+//				SssbVo vo = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzdzw());
+//
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgkzw());
+//
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzgqzw());
+//
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSzzyqzw());
+//
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsjyrzw());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSsmc());
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getGgxh());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != vo.getSl()) {
+//					cell.setCellValue(vo.getSl());
+//				}
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getSldw());
+//				
+//				cell = bodyRow.createCell(10);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBh());
+//				
+//				cell = bodyRow.createCell(11);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getYxqfmt());
+//				
+//				cell = bodyRow.createCell(12);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getYjflzw());
+//				
+//				cell = bodyRow.createCell(13);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getEjflzw());
+//				
+//				cell = bodyRow.createCell(14);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getTbr());
+//				
+//				cell = bodyRow.createCell(15);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getLxdh());
+//				
+//				cell = bodyRow.createCell(16);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getCfcs());
+//				
+//				cell = bodyRow.createCell(17);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(vo.getBz());
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
+	
+	
+	@Override
+	public void exportExcelAll(List<SssbVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<SssbVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "所在作业区", "港口经营人", "设备(设施)名称 ", "规格型号", "数量", "数量单位", "检验报告(或证书)编号",
+				"有效期", "一级分类", "二级分类", "填表人", "联系电话", "存放场所", "备注" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet sssbSheet = workBook.createSheet("堆场信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, sssbSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = sssbSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = sssbSheet.createRow(j + 1);
+				SssbVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+				
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+				
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+				
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+				
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzzyqzw());
+				
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsmc());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getGgxh());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getSl()) {
+					cell.setCellValue(vo.getSl());
+				}
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSldw());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBh());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getYxqfmt());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getYjflzw());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getEjflzw());
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getTbr());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getLxdh());
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getCfcs());
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBz());
+			}
+		}
+	}
 }

+ 135 - 6
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/ctl/XkzfzCtl.java

@@ -11,17 +11,15 @@ import java.util.Calendar;
 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.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -31,13 +29,10 @@ import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
-
 import cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.liandi.sun.qrcode.QrcodeFactory;
 import com.xt.jygl.common.BaseWebCtl;
-import com.xt.jygl.common.Constants;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.SearchCondition;
 import com.xt.jygl.common.Utils;
@@ -511,4 +506,138 @@ public class XkzfzCtl extends BaseWebCtl {
 		List<CodeEntity> list = securityMgr.codeService().findValidCodesByGroupCode("SFDQ");
 		return list;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response,final String ssjyr, final String szdid, final String szgkid, final String szgqid, final String fzsqh,final String fzsfyx,final String wxhwpm,final String fzsfdq) {
+		// 查詢條件
+		Specification<XkzfzEntity> spec = new Specification<XkzfzEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<XkzfzEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(ssjyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(fzsqh)) {
+					list.add(cb.like(root.get("fzsqh").as(String.class), "%" + fzsqh + "%"));
+				}
+				if (StringUtils.isNotEmpty(wxhwpm)) {
+					list.add(cb.like(root.get("wxhwpm").as(String.class), "%" + wxhwpm + "%"));
+				}
+				if(StringUtils.isNotEmpty(fzsfyx)){
+					if(("是").equals(fzsfyx)){
+						list.add(cb.equal(root.get("recordStatus").as(String.class), "1"));
+					}else{
+						list.add(cb.notEqual(root.get("recordStatus").as(String.class), "1"));
+					}
+				}
+				Date now = new Date();
+				if(StringUtils.isNotEmpty(fzsfdq)){
+					if((fzsfdq).equals("6103")){
+						list.add(cb.lessThanOrEqualTo(root.get("yxqjssj").as(Date.class), now));
+					}else if((fzsfdq).equals("6101")){
+						list.add(cb.greaterThan(root.get("yxqjssj").as(Date.class), now));
+					}else{
+						list.add(cb.lessThanOrEqualTo(root.get("yxqjssj").as(Date.class),DateTime.addDays(now, 30)));
+					}
+		
+				}
+				
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<XkzfzEntity> list = query.findAll(spec, XkzfzEntity.class);
+		List<XkzfzVo> voList = entityToVo(list);
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			List<CodeEntity> listZycs = securityMgr.codeService().findValidCodesByGroupCode("ZYCS");
+			List<GqEntity> listgq = gqService.findGq();
+			List<GkEntity> listgk = gkService.findGk();
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("许可证附证信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			xkzfzService.exportExcelAll(voList, outputStream, listZycs, listgq, listgk);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<XkzfzVo> entityToVo(List<XkzfzEntity> list) {
+		List<XkzfzVo> voList = new ArrayList<XkzfzVo>();
+		
+		for (XkzfzEntity entity : list) {
+			XkzfzVo vo = new XkzfzVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				if (null != entity.getFzsj()) {
+					vo.setFzsjfmt(DateTime.toString(DateTime.toDate(entity.getFzsj())));
+				}
+				if (null != entity.getYxqkssj()) {
+					vo.setYxqkssjfmt(DateTime.toString(DateTime.toDate(entity.getYxqkssj())));
+				}
+				if (null != entity.getYxqjssj()) {
+					vo.setYxqjssjfmt(DateTime.toString(DateTime.toDate(entity.getYxqjssj())));
+				}
+
+				// zycs cq whdj
+
+				if (vo.getZycs() != null) {
+					CodeEntity zycs = securityMgr.codeService().findOne(vo.getZycs());
+					if (null != zycs) {
+						vo.setZycszw(zycs.getText());
+					}
+				}
+				if (vo.getCq() != null) {
+					CodeEntity cq = securityMgr.codeService().findOne(vo.getCq());
+					if (null != cq) {
+						vo.setCqzw(cq.getText());
+					}
+				}
+				if (vo.getWhdj() != null) {
+					CodeEntity whdj = securityMgr.codeService().findOne(vo.getWhdj());
+					if (null != whdj) {
+						vo.setWhdjzw(whdj.getText());
+					}
+				}
+
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }

+ 11 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/service/XkzfzService.java

@@ -2,9 +2,16 @@ package com.xt.jygl.gkjygl.gkjyr.xkzfz.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.entity.XkzfzEntity;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
+import com.xtframe.sec.code.entity.CodeEntity;
 
 public interface XkzfzService {
 	void logicDelete(String id);
@@ -20,4 +27,8 @@ public interface XkzfzService {
 	public GkjyrEntity findAqidBySsjyr(String ssjyr);
 	
 	public List<XkzfzEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<XkzfzVo> voList, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk);
+
+	public void setSheet(List<XkzfzVo> voList, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk, XSSFWorkbook workBook);
 }

+ 226 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzfz/service/impl/XkzfzServiceImpl.java

@@ -1,16 +1,30 @@
 package com.xt.jygl.gkjygl.gkjyr.xkzfz.service.impl;
 
+import java.io.IOException;
+import java.util.Iterator;
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.service.JyglBaseService;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjsgl.xmxxgl.vo.XmxxglVo;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.dao.XkzfzDao;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.entity.XkzfzEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzfz.service.XkzfzService;
+import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo;
+import com.xtframe.sec.code.entity.CodeEntity;
 import com.xtframe.sec.common.SecRepository;
 
 @Service
@@ -41,4 +55,216 @@ public class XkzfzServiceImpl extends JyglBaseService<XkzfzEntity, String> imple
 		// TODO Auto-generated method stub
 		return dao.findByJyrid(jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<XkzfzVo> voList, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, listZycs, listgq, listgk, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<XkzfzVo> voList, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk, XSSFWorkbook workBook){
+		String[] titles = { "序号", "港口经营人", "主证编号", "证书编号", "作业危险货物名称", "作业方式", "作业区域范围", "发证日期", "有效日期", "发证机关", "证书状态" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet xkzfzSheet = workBook.createSheet("许可证附证信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, xkzfzSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = xkzfzSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = xkzfzSheet.createRow(j + 1);
+				XkzfzVo xkzfz = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getSsjyrzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getGkjyxkz());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getFzsqh());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getWxhwpm());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getZyfs());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				String str = "";
+				for (GkEntity  gk : listgk) {
+					if (gk.getId() == xkzfz.getSzgk()) {
+						str += gk.getGkmc();
+					}
+				}
+				for (GqEntity gq : listgq) {
+					if (gq.getId() == xkzfz.getSzgq()) {
+						str += gq.getGqmc();
+					}
+				}
+				str += xkzfz.getSsjyrzw();
+				for (CodeEntity zycs : listZycs) {
+					if (zycs.getId() == xkzfz.getZycs()) {
+						str += zycs.getText();
+					}
+				}
+				str += xkzfz.getQynbmc();
+				cell.setCellValue(str);
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getYxqkssjfmt());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getYxqjssjfmt());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzfz.getFzjg());
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				if (xkzfz.getRecordStatus() == 1) {
+					cell.setCellValue("有效");
+				}
+			}
+		}
+	}
+//	@Override
+//	public void exportExcelAll(List<XkzfzVo> voList, String[] titles, ServletOutputStream outputStream, List<CodeEntity> listZycs, List<GqEntity> listgq, List<GkEntity> listgk) {
+//		// 创建一个workbook 对应一个excel应用文件
+//		XSSFWorkbook workBook = new XSSFWorkbook();
+//		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+//		XSSFSheet sheet = workBook.createSheet("许可证附证信息全部");
+//		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+//		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+//		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+//		// 构建表头
+//		XSSFRow headRow = sheet.createRow(0);
+//		XSSFCell cell = null;
+//		for (int i = 0; i < titles.length; i++) {
+//			cell = headRow.createCell(i);
+//			cell.setCellStyle(headStyle);
+//			cell.setCellValue(titles[i]);
+//		}
+//		// 构建表体数据
+//		if (voList != null && voList.size() > 0) {
+//			for (int j = 0; j < voList.size(); j++) {
+//				XSSFRow bodyRow = sheet.createRow(j + 1);
+//				XkzfzVo xkzfz = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//				
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getSsjyrzw());
+//				
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getGkjyxkz());
+//				
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getFzsqh());
+//				
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getWxhwpm());
+//				
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getZyfs());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				String str = "";
+//				for (GkEntity  gk : listgk) {
+//					if (gk.getId() == xkzfz.getSzgk()) {
+//						str += gk.getGkmc();
+//					}
+//				}
+//				for (GqEntity gq : listgq) {
+//					if (gq.getId() == xkzfz.getSzgq()) {
+//						str += gq.getGqmc();
+//					}
+//				}
+//				str += xkzfz.getSsjyrzw();
+//				for (CodeEntity zycs : listZycs) {
+//					if (zycs.getId() == xkzfz.getZycs()) {
+//						str += zycs.getText();
+//					}
+//				}
+//				str += xkzfz.getQynbmc();
+//				cell.setCellValue(str);
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getYxqkssjfmt());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getYxqjssjfmt());
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzfz.getFzjg());
+//				
+//				cell = bodyRow.createCell(10);
+//				cell.setCellStyle(bodyStyle);
+//				if (xkzfz.getRecordStatus() == 1) {
+//					cell.setCellValue("有效");
+//				}
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
+
 }

+ 243 - 5
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/ctl/XkzxxCtl.java

@@ -16,7 +16,6 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
 import javax.imageio.ImageIO;
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaBuilder.In;
@@ -24,11 +23,10 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.Subquery;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -39,9 +37,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.multipart.MultipartFile;
-
 import cache.CacheSearchCondition;
-
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.liandi.sun.qrcode.QrcodeFactory;
 import com.xt.jygl.accessory.entity.AccessoryEntity;
@@ -855,4 +851,246 @@ public class XkzxxCtl extends BaseWebCtl {
 		WebJsonResult wr = success();
 		return wr;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String gkjyr, final String szgqid, final String gkjyxkzh, final String szdid, final String yxqz, final String szgkid, final Date yxq1, final Date yxq2, final String sfyx, final String xkzsfdq) {
+		Specification<XkzxxEntity> spec = new Specification<XkzxxEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<XkzxxEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("ssgq").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(gkjyr)) {
+					Subquery<GkjyrEntity> subquery = query.subquery(GkjyrEntity.class);
+					Root<GkjyrEntity> dpRoot = subquery.from(GkjyrEntity.class);
+					subquery.select(dpRoot);
+					List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+					subQueryPredicates.add(cb.equal(root.get("gkjyr").as(String.class), dpRoot.get("id").as(String.class)));
+					subQueryPredicates.add(cb.like(dpRoot.get("gkjyr").as(String.class), "%" + gkjyr + "%"));
+					subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+					list.add(cb.exists(subquery));
+				}
+				if (StringUtils.isNotEmpty(gkjyxkzh)) {
+					list.add(cb.like(root.get("gkjyxkzh").as(String.class), "%" + gkjyxkzh + "%"));
+				}
+				if (StringUtils.isNotEmpty(sfyx)) {
+					// if ("1".equals(sfyx)) {
+					list.add(cb.equal(root.get("sfyx").as(String.class), sfyx));
+					// } else {
+					// list.add(cb.notEqual(root.get("sfyx").as(String.class),
+					// "2"));
+					// }
+				}
+				if (yxq1 != null) {
+					list.add(cb.greaterThanOrEqualTo(root.get("yxqz").as(Date.class), yxq1));
+				}
+				if (yxq2 != null) {
+					list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), yxq2));
+				}
+				Date now = new Date();
+				if (StringUtils.isNotEmpty(xkzsfdq)) {
+					if ((xkzsfdq).equals("6103")) {
+						list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), now));
+					} else if ((xkzsfdq).equals("6101")) {
+						list.add(cb.greaterThan(root.get("yxqz").as(Date.class), now));
+					} else {
+						list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), DateTime.addDays(now, 30)));
+					}
+
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在港区的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("gkjyr").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("ssgq").as(String.class));
+					List<String> gqlist = (List<String>) Utils.getSession().getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+					// list.add(cb.like(root.get("szd").get("id").as(String.class),
+					// "%" + SecUtils.getCurrUser().getSzd().getId() + "%"));
+				}
+				// 状态为0,9,10,11不显示
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+				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.RECORE_STATE_BGFLAG));
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<XkzxxEntity> list = query.findAll(spec, XkzxxEntity.class);
+		List<XkzxxVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("许可证信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			xkzxxService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	public List<XkzxxVo> entityToVo(List<XkzxxEntity> list){
+		List<XkzxxVo> voList = new ArrayList<XkzxxVo>();
+		for (XkzxxEntity entity : list) {
+			XkzxxVo vo = new XkzxxVo();
+			if (null != entity) {
+				if (entity != null) {
+					BeanUtils.copyProperties(entity, vo);
+				}
+
+				if (vo.getGkjyr() != null) {
+						String idString=vo.getGkjyr();
+					GkjyrEntity gkjyrentity = gkjyrService.findOne(idString);
+					if (null != gkjyrentity) {
+						vo.setGkjyrzw(gkjyrentity.getGkjyr());
+					}
+
+				}
+
+				if (vo.getSsgq() != null) {
+					GqEntity gq = gqService.findOne(vo.getSsgq());
+					if (null != gq) {
+						vo.setSsgqzw(gq.getGqmc());
+					}
+				}
+
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
+//	@RequestMapping(value = "/exportExcelAll")
+//	public String exportExcelAll(HttpServletResponse response, final String gkjyr, final String szgqid, final String gkjyxkzh, final String szdid, final String yxqz, final String szgkid, final Date yxq1, final Date yxq2, final String sfyx, final String xkzsfdq) {
+//		Specification<XkzxxEntity> spec = new Specification<XkzxxEntity>() {
+//			// 查询条件
+//			@Override
+//			public Predicate toPredicate(Root<XkzxxEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+//				List<Predicate> list = new ArrayList<Predicate>();
+//				if (StringUtils.isNotEmpty(szdid)) {
+//					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(szgkid)) {
+//					list.add(cb.like(root.get("szgk").as(String.class), "%" + szgkid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(szgqid)) {
+//					list.add(cb.like(root.get("ssgq").as(String.class), "%" + szgqid + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(gkjyr)) {
+//					Subquery<GkjyrEntity> subquery = query.subquery(GkjyrEntity.class);
+//					Root<GkjyrEntity> dpRoot = subquery.from(GkjyrEntity.class);
+//					subquery.select(dpRoot);
+//					List<Predicate> subQueryPredicates = new ArrayList<Predicate>();
+//					subQueryPredicates.add(cb.equal(root.get("gkjyr").as(String.class), dpRoot.get("id").as(String.class)));
+//					subQueryPredicates.add(cb.like(dpRoot.get("gkjyr").as(String.class), "%" + gkjyr + "%"));
+//					subquery.where(subQueryPredicates.toArray(new Predicate[] {}));
+//					list.add(cb.exists(subquery));
+//				}
+//				if (StringUtils.isNotEmpty(gkjyxkzh)) {
+//					list.add(cb.like(root.get("gkjyxkzh").as(String.class), "%" + gkjyxkzh + "%"));
+//				}
+//				if (StringUtils.isNotEmpty(sfyx)) {
+//					// if ("1".equals(sfyx)) {
+//					list.add(cb.equal(root.get("sfyx").as(String.class), sfyx));
+//					// } else {
+//					// list.add(cb.notEqual(root.get("sfyx").as(String.class),
+//					// "2"));
+//					// }
+//				}
+//				if (yxq1 != null) {
+//					list.add(cb.greaterThanOrEqualTo(root.get("yxqz").as(Date.class), yxq1));
+//				}
+//				if (yxq2 != null) {
+//					list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), yxq2));
+//				}
+//				Date now = new Date();
+//				if (StringUtils.isNotEmpty(xkzsfdq)) {
+//					if ((xkzsfdq).equals("6103")) {
+//						list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), now));
+//					} else if ((xkzsfdq).equals("6101")) {
+//						list.add(cb.greaterThan(root.get("yxqz").as(Date.class), now));
+//					} else {
+//						list.add(cb.lessThanOrEqualTo(root.get("yxqz").as(Date.class), DateTime.addDays(now, 30)));
+//					}
+//					
+//				}
+//				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在港区的数据
+//				if (isJyr()) {
+//					list.add(cb.like(root.get("gkjyr").as(String.class), "%" + getSsjyr().getId() + "%"));
+//				} else {
+//					In<String> in = cb.in(root.get("ssgq").as(String.class));
+//					List<String> gqlist = (List<String>) Utils.getSession().getAttribute("gqList");
+//					if (gqlist != null && gqlist.size() > 0) {
+//						for (int i = 0; i < gqlist.size(); i++) {
+//							in.value(gqlist.get(i));
+//						}
+//						list.add(in);
+//					}
+//					// list.add(cb.like(root.get("szd").get("id").as(String.class),
+//					// "%" + SecUtils.getCurrUser().getSzd().getId() + "%"));
+//				}
+//				// 状态为0,9,10,11不显示
+//				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
+//				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.RECORE_STATE_BGFLAG));
+//				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
+//				return cb.and(list.toArray(new Predicate[] {}));
+//			}
+//		};
+//		List<XkzxxEntity> list = query.findAll(spec, XkzxxEntity.class);
+//		List<XkzxxVo> voList = new ArrayList<XkzxxVo>();
+////		SimpleDateFormat formater = new SimpleDateFormat("yyyyMMdd hh:mm:ss");
+//		
+//		for (XkzxxEntity entity : list) {
+//			XkzxxVo vo = new XkzxxVo();
+//			if (null != entity) {
+//				if (entity != null) {
+//					BeanUtils.copyProperties(entity, vo);
+//				}
+//				
+//				if (vo.getGkjyr() != null) {
+//					
+//					GkjyrEntity gkjyrentity = gkjyrService.findOne(vo.getGkjyr());
+//					if (null != gkjyrentity) {
+//						vo.setGkjyrzw(gkjyrentity.getGkjyr());
+//					}
+//					
+//				}
+//				
+//				if (vo.getSsgq() != null) {
+//					GqEntity gq = gqService.findOne(vo.getSsgq());
+//					if (null != gq) {
+//						vo.setSsgqzw(gq.getGqmc());
+//					}
+//				}
+//				
+//				voList.add(vo);
+//			}
+//		}
+//		response.setContentType("application/binary;charset=iso-8859-1");
+//		try {
+//			ServletOutputStream outputStream = response.getOutputStream();
+//			String fileName = new String(("许可证信息全部").getBytes(), "iso-8859-1");
+//			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+//			String[] titles = { "序号", "公司名称", "法定代表人", "办公地址", "经营地域", "经营范围", "许可证编号", "发证机关", "有效期至", "发证日期" };
+//			xkzxxService.exportExcelAll(voList, titles, outputStream);
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		}
+//		return null;
+//	}
 }

+ 7 - 1
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/service/XkzxxService.java

@@ -2,9 +2,11 @@ package com.xt.jygl.gkjygl.gkjyr.xkzxx.service;
 
 import java.util.Date;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.client.XkzxxWebService;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzxxEntity;
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.vo.XkzxxVo;
 
 public interface XkzxxService {
 	void delete(String id);
@@ -30,4 +32,8 @@ public interface XkzxxService {
 	public XkzxxWebService getWebService(String szdId);
 
 	List<XkzxxEntity> queryNeedWarn(Date date, String string);
+
+	public void exportExcelAll(List<XkzxxVo> voList, ServletOutputStream outputStream);
+
+	public void setXkzxxSheet(List<XkzxxVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 172 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/xkzxx/service/impl/XkzxxServiceImpl.java

@@ -1,19 +1,26 @@
 package com.xt.jygl.gkjygl.gkjyr.xkzxx.service.impl;
 
+import java.io.IOException;
 import java.net.URL;
 import java.util.Date;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.GlobalData;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.client.XkzxxWebService;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.dao.XkzxxDao;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.entity.XkzxxEntity;
 import com.xt.jygl.gkjygl.gkjyr.xkzxx.service.XkzxxService;
+import com.xt.jygl.gkjygl.gkjyr.xkzxx.vo.XkzxxVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -74,4 +81,167 @@ public class XkzxxServiceImpl extends JyglBaseService<XkzxxEntity, String> imple
 	public List<XkzxxEntity> queryNeedWarn(Date newdate,String ssjyr) {
 		return dao.queryNeedWarn(newdate,new Date(),ssjyr);
 	}
+
+	@Override
+	public void exportExcelAll(List<XkzxxVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setXkzxxSheet(voList, outputStream, workBook);
+	}
+	
+	@Override
+	public void setXkzxxSheet(List<XkzxxVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "公司名称", "法定代表人", "办公地址", "经营地域", "经营范围", "许可证编号", "发证机关", "有效期至", "发证日期" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet sheet = workBook.createSheet("许可证信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = sheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = sheet.createRow(j + 1);
+				XkzxxVo xkzxx = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getGkjyrzw());
+				
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getFddbr());
+				
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getDz());
+				
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getCq());
+				
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getZyqyfw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getGkjyxkzh());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getFzjg());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getYxqz());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(xkzxx.getFzrq());
+			}
+		}
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+//	@Override
+//	public void exportExcelAll(List<XkzxxVo> voList, String[] titles, ServletOutputStream outputStream) {
+//		// 创建一个workbook 对应一个excel应用文件
+//		XSSFWorkbook workBook = new XSSFWorkbook();
+//		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+//		XSSFSheet sheet = workBook.createSheet("许可证信息全部");
+//		ExportUtil exportUtil = new ExportUtil(workBook, sheet);
+//		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+//		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+//		// 构建表头
+//		XSSFRow headRow = sheet.createRow(0);
+//		XSSFCell cell = null;
+//		for (int i = 0; i < titles.length; i++) {
+//			cell = headRow.createCell(i);
+//			cell.setCellStyle(headStyle);
+//			cell.setCellValue(titles[i]);
+//		}
+//		// 构建表体数据
+//		if (voList != null && voList.size() > 0) {
+//			for (int j = 0; j < voList.size(); j++) {
+//				XSSFRow bodyRow = sheet.createRow(j + 1);
+//				XkzxxVo xkzxx = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//				
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getGkjyrzw());
+//				
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getFddbr());
+//				
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getDz());
+//				
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getCq());
+//				
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getZyqyfw());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getGkjyxkzh());
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getFzjg());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getYxqz());
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(xkzxx.getFzrq());
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
 }

+ 95 - 4
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/ctl/ZxjxCtl.java

@@ -1,17 +1,17 @@
 package com.xt.jygl.gkjygl.gkjyr.zxjx.ctl;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 import javax.persistence.criteria.CriteriaBuilder.In;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletRequest;
-
+import javax.servlet.http.HttpServletResponse;
 import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -20,7 +20,6 @@ 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 com.fasterxml.jackson.core.JsonProcessingException;
 import com.xt.jygl.common.BaseWebCtl;
 import com.xt.jygl.common.Constants;
@@ -482,7 +481,99 @@ public class ZxjxCtl extends BaseWebCtl{
 		List<ZyqEntity> list = zyqService.findAllBySzdAndGkAndGq(szd, szgk, szgq);
 		return list;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String szdid, final String jxlbmcid, final String szgkid, final String szgqid, final String jyr) {
+		// 查询条件
+		Specification<ZxjxEntity> spec = new Specification<ZxjxEntity>() {
+
+			@Override
+			public Predicate toPredicate(Root<ZxjxEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(jxlbmcid)) {
+					list.add(cb.like(root.get("jxlbmc").get("id").as(String.class), "%" + jxlbmcid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(jyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				if (isJyr()) {
+					list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
+				} else {
+					In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
+					@SuppressWarnings("unchecked")
+					List<String> gqlist = (List<String>) Utils.getSession()
+							.getAttribute("gqList");
+					if (gqlist != null && gqlist.size() > 0) {
+						for (int i = 0; i < gqlist.size(); i++) {
+							in.value(gqlist.get(i));
+						}
+						list.add(in);
+					}
+				}
+				list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
+				return cb.and(list.toArray(new Predicate[] {}));
+			}
+		};
+		List<ZxjxEntity> list = query.findAll(spec, ZxjxEntity.class);
+		List<ZxjxVo> voList = entityToVo(list);
+		
+		response.setContentType("application/binary;charset=iso-8859-1");
+		try {
+			ServletOutputStream outputStream = response.getOutputStream();
+			String fileName = new String(("装卸机械信息全部").getBytes(), "iso-8859-1");
+			response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx");// 组装附件名称和格式
+			zxjxService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
 
+	public List<ZxjxVo> entityToVo(List<ZxjxEntity> list) {
+		List<ZxjxVo> voList = new ArrayList<ZxjxVo>();
+		
+		for (ZxjxEntity entity : list) {
+			ZxjxVo vo = new ZxjxVo();
+			if (null != entity) {
+				BeanUtils.copyProperties(entity, vo);
+				vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : "");
+				vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : "");
+				vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : "");
+				vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : "");
+				vo.setJxlbmc(entity.getJxlbmc() != null ? entity.getJxlbmc().getId() : "");
+				vo.setSzzyq(entity.getSzzyq() != null ? entity.getSzzyq().getId() : "");
+				vo.setSyq(entity.getSyq() != null ? entity.getSyq().getId() : "");
+				
+				vo.setSyqzw(entity.getSyq() != null ? entity.getSyq().getText() : "");
+				vo.setSzzyqzw(entity.getSzzyq() != null ? entity.getSzzyq().getZyqmc() : "");
+				vo.setJxlbmczw(entity.getJxlbmc() != null ? entity.getJxlbmc().getText() : "");
+				vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
+				vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+				vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
+				vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
+				vo.setXkzid((entity.getXkzid() != null ? entity.getXkzid() : ""));
+				if (null != entity.getSyqxsta()) {
+					vo.setSyqxstafmt(DateTime.toString(entity.getSyqxsta()));
+				}
+				if (null != entity.getSyqxend()) {
+					vo.setSyqxendfmt(DateTime.toString(entity.getSyqxend()));
+				}
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }
 	
 

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/service/ZxjxService.java

@@ -2,7 +2,12 @@ package com.xt.jygl.gkjygl.gkjyr.zxjx.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjygl.gkjyr.zxjx.entity.ZxjxEntity;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.vo.ZxjxVo;
 
 
 
@@ -20,6 +25,10 @@ public interface ZxjxService {
 	
 	
 	public List<ZxjxEntity> findByJyrid(String jyrid);
+
+	public void exportExcelAll(List<ZxjxVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<ZxjxVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 	
 
 }

+ 116 - 2
gkjsjy/trunk/src/com/xt/jygl/gkjygl/gkjyr/zxjx/service/impl/ZxjxServiceImpl.java

@@ -1,14 +1,21 @@
 package com.xt.jygl.gkjygl.gkjyr.zxjx.service.impl;
 
+import java.io.IOException;
 import java.util.List;
-
+import javax.servlet.ServletOutputStream;
+import org.apache.poi.xssf.usermodel.XSSFCell;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
+import com.xt.jygl.common.ExportUtil;
 import com.xt.jygl.common.service.JyglBaseService;
 import com.xt.jygl.gkjygl.gkjyr.zxjx.dao.ZxjxDao;
 import com.xt.jygl.gkjygl.gkjyr.zxjx.entity.ZxjxEntity;
 import com.xt.jygl.gkjygl.gkjyr.zxjx.service.ZxjxService;
+import com.xt.jygl.gkjygl.gkjyr.zxjx.vo.ZxjxVo;
 import com.xtframe.sec.common.SecRepository;
 
 
@@ -31,4 +38,111 @@ public class ZxjxServiceImpl extends JyglBaseService<ZxjxEntity, String> impleme
 		return dao.findByJyrid(jyrid);
 	}
 
+	@Override
+	public void exportExcelAll(List<ZxjxVo> voList, ServletOutputStream outputStream) {
+		// 创建一个workbook 对应一个excel应用文件
+		XSSFWorkbook workBook = new XSSFWorkbook();
+		setSheet(voList, outputStream, workBook);
+		try {
+			workBook.write(outputStream);
+			outputStream.flush();
+			outputStream.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		} finally {
+			try {
+				outputStream.close();
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	@Override
+	public void setSheet(List<ZxjxVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", ">所在港区", "经营人", "所在作业区", "机械类别名称", "型号或规格", "机械数量", "机械负荷能力数值", "机械负荷能力单位", "使用期限自", "使用期限至", "所有权", "备注" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet zxjxSheet = workBook.createSheet("装卸机械信息全部");
+		ExportUtil exportUtil = new ExportUtil(workBook, zxjxSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = zxjxSheet.createRow(0);
+		XSSFCell cell = null;
+		for (int i = 0; i < titles.length; i++) {
+			cell = headRow.createCell(i);
+			cell.setCellStyle(headStyle);
+			cell.setCellValue(titles[i]);
+		}
+		// 构建表体数据
+		if (voList != null && voList.size() > 0) {
+			for (int j = 0; j < voList.size(); j++) {
+				XSSFRow bodyRow = zxjxSheet.createRow(j + 1);
+				ZxjxVo vo = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzdzw());
+
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgkzw());
+
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzgqzw());
+
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSsjyrzw());
+
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSzzyqzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getJxlbmczw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getXhhgg());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getJxsl());
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				if (null != vo.getJxfhnlsz()) {
+					cell.setCellValue(vo.getJxfhnlsz());
+				}
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getJxfhnldw());
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSyqxstafmt());
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSyqxendfmt());
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getSyqzw());
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(vo.getBz());
+			}
+		}
+	}
+
 }