浏览代码

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

ld_guxl 9 年之前
父节点
当前提交
9489573593

+ 144 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjcxx/mt/ctl/MtCtl.java

@@ -1,5 +1,6 @@
 package com.xt.jygl.gkjcxx.mt.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;
 
@@ -45,6 +49,7 @@ import com.xt.jygl.gkjcxx.mt.vo.MtVo;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.service.XzglbmxxService;
 import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity;
 import com.xt.jygl.gkjcxx.zyq.service.ZyqService;
+import com.xt.jygl.gkjsgl.tzjhgl.entity.TzjhglEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService;
 import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.vo.GkjyrVo;
@@ -878,4 +883,143 @@ public class MtCtl extends BaseWebCtl {
 		}
 		return list2;
 	}
+	
+	@RequestMapping(value = "/exportExcelAll")
+	public String exportExcelAll(HttpServletResponse response, final String mtmc, final String szgqid, final String szgkid, final String szdid, final String jyr, final String sfwhpid, final String sfdwkfid,final String fwlxid,final String mtyt) {
+		Specification<MtEntity> spec = new Specification<MtEntity>() {
+			// 查询条件
+			@Override
+			public Predicate toPredicate(Root<MtEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+				List<Predicate> list = new ArrayList<Predicate>();
+				if (StringUtils.isNotEmpty(mtmc)) {
+					list.add(cb.like(root.get("mtmc").as(String.class), "%" + mtmc + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgqid)) {
+					list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szgkid)) {
+					list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
+				}
+				if (StringUtils.isNotEmpty(szdid)) {
+					list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
+				}
+				if (StringUtils.isNotEmpty(jyr)) {
+					list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + jyr + "%"));
+				}
+				if (StringUtils.isNotEmpty(sfdwkfid)) {
+					list.add(cb.like(root.get("sfdwkf").get("id").as(String.class), "%" + sfdwkfid + "%"));
+				}
+				if (StringUtils.isNotEmpty(sfwhpid)) {
+					list.add(cb.like(root.get("sfwhp").get("id").as(String.class), "%" + sfwhpid + "%"));
+				}
+				if (StringUtils.isNotEmpty(fwlxid)) {
+					list.add(cb.like(root.get("fwlx").get("id").as(String.class), "%" + fwlxid + "%"));
+				}
+				if (StringUtils.isNotEmpty(mtyt)) {
+					In<String> in = cb.in(root.get("mtyt").as(String.class));
+					String[] mtytStr = mtyt.split(",");
+					for(String tmp:mtytStr){
+						in.value(tmp);
+					}
+					list.add(in);
+					//list.add(cb.like(root.get("mtyt").as(String.class), "%" + v + "%"));
+				}
+				// 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
+				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<MtEntity> list = query.findAll(spec, MtEntity.class);
+		List<MtVo> 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");// 组装附件名称和格式
+			mtService.exportExcelAll(voList, outputStream);
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	public List<MtVo> entityToVo(List<MtEntity> list) {
+		List<MtVo> voList = new ArrayList<MtVo>();
+		
+		for (MtEntity entity : list) {
+			MtVo vo = new MtVo();
+			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.setSfdwkfzw(entity.getSfdwkf() != null ? entity.getSfdwkf().getText() : "");
+				vo.setSfwhpzw(entity.getSfwhp() != null ? entity.getSfwhp().getText() : "");
+				vo.setMtsfwarszw(entity.getMtsfwars() != null ? entity.getMtsfwars().getText() : "");
+				vo.setFwlxzw(entity.getFwlx() != null ? entity.getFwlx().getText() : "");
+				/* vo.setMtytzw(entity.getMtyt()!=null?entity.getMtyt().getText():""); */
+				vo.setMtxsdmzw(entity.getMtxsdm() != null ? entity.getMtxsdm().getText() : "");
+				vo.setSzzyqzw(entity.getSzzyq() != null ? entity.getSzzyq().getZyqmc() : "");
+				vo.setSzaxzw(entity.getSzax() != null ? entity.getSzax().getAxmc() : "");
+
+				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.setSfdwkf(entity.getSfdwkf() != null ? entity.getSfdwkf().getId() : "");
+				vo.setSfwhp(entity.getSfwhp() != null ? entity.getSfwhp().getId() : "");
+				vo.setMtsfwars(entity.getMtsfwars() != null ? entity.getMtsfwars().getId() : "");
+				vo.setFwlx(entity.getFwlx() != null ? entity.getFwlx().getId() : "");
+				/* vo.setMtyt(entity.getMtyt()!=null?entity.getMtyt().getId():""); */
+				vo.setMtxsdm(entity.getMtxsdm() != null ? entity.getMtxsdm().getId() : "");
+				vo.setSzzyq(entity.getSzzyq() != null ? entity.getSzzyq().getId() : "");
+				vo.setSzax(entity.getSzax() != null ? entity.getSzax().getId() : "");
+				if (null != entity.getJcrq()) {
+					vo.setJcrqfmt(new SimpleDateFormat("yyyy-MM-dd").format(entity.getJcrq()));
+				}
+
+				String mtytName = "";
+				if (entity.getMtyt() != null) {
+					String[] mtytNameArray = entity.getMtyt().split(",");
+					/*
+					 * for (String m : mtytNameArray) { mtytName +=
+					 * codeService.findOne(m).getText() + " "; mtytName +=
+					 * securityMgr.codeService().findOne(m).getText() + " "; }
+					 */
+					for (int i = 0; i < mtytNameArray.length; i++) {
+						if (i != mtytNameArray.length - 1) {
+							mtytName += securityMgr.codeService().findOne(mtytNameArray[i]).getText() + ",";
+						} else {
+							mtytName += securityMgr.codeService().findOne(mtytNameArray[i]).getText();
+						}
+
+					}
+				}
+				vo.setMtytzw(mtytName);
+				
+				voList.add(vo);
+			}
+		}
+		return voList;
+	}
 }

+ 9 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjcxx/mt/service/MtService.java

@@ -2,8 +2,13 @@ package com.xt.jygl.gkjcxx.mt.service;
 
 import java.util.List;
 
+import javax.servlet.ServletOutputStream;
+
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
 import com.xt.jygl.gkjcxx.mt.client.MtWebService;
 import com.xt.jygl.gkjcxx.mt.entity.MtEntity;
+import com.xt.jygl.gkjcxx.mt.vo.MtVo;
 
 public interface MtService {
 	void logicDelete(String id);
@@ -25,4 +30,8 @@ public interface MtService {
 	void delete(String id);
 
 	public MtWebService getWebService(String szdId);
+
+	public void exportExcelAll(List<MtVo> voList, ServletOutputStream outputStream);
+
+	public void setSheet(List<MtVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook);
 }

+ 300 - 0
gkjsjy/trunk/src/com/xt/jygl/gkjcxx/mt/service/impl/MtServiceImpl.java

@@ -1,18 +1,29 @@
 package com.xt.jygl.gkjcxx.mt.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.mt.client.MtWebService;
 import com.xt.jygl.gkjcxx.mt.dao.MtDao;
 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.xmxxgl.vo.XmxxglVo;
 import com.xtframe.core.webService.AuthHandlerResolver;
 import com.xtframe.sec.common.SecRepository;
 
@@ -76,4 +87,293 @@ public class MtServiceImpl extends JyglBaseService<MtEntity, String> implements
 	public MtEntity findByYmtidAndJyrId(String ymtid, String jyrid) {
 		return dao.findByYmtidAndJyrId(ymtid, jyrid);
 	}
+
+	@Override
+	public void exportExcelAll(List<MtVo> 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<MtVo> voList, ServletOutputStream outputStream, XSSFWorkbook workBook) {
+		String[] titles = { "序号", "所在地", "所在港口", "所在港区", "港口经营人", "所在作业区", "所在岸线", "码头名称", "码头长度(米)", "设计货物吞吐量(万吨)", "设计旅客吞吐量(万人)", 
+				"年旅客通过能力(万人)", "年集装箱通过能力(万TEU)", "年货物通过能力(万吨)", "服务类型", "是否对外开放", "是否危化品码头", "码头用途", "码头结构型式", "建成日期", 
+				"是否为挖入式港池形式", "码头前沿设计水深(米)" };
+		// 在workbook中添加一个sheet,对应Excel文件中的sheet
+		XSSFSheet mtSheet = workBook.createSheet("码头信息");
+		ExportUtil exportUtil = new ExportUtil(workBook, mtSheet);
+		XSSFCellStyle headStyle = exportUtil.getHeadStyle();
+		XSSFCellStyle bodyStyle = exportUtil.getBodyStyle();
+		// 构建表头
+		XSSFRow headRow = mtSheet.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 = mtSheet.createRow(j + 1);
+				MtVo mt = voList.get(j);
+				// 序号
+				cell = bodyRow.createCell(0);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(j + 1);
+
+				cell = bodyRow.createCell(1);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSzdzw());
+				
+				cell = bodyRow.createCell(2);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSzgkzw());
+				
+				cell = bodyRow.createCell(3);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSzgqzw());
+				
+				cell = bodyRow.createCell(4);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSsjyrzw());
+				
+				cell = bodyRow.createCell(5);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSzzyqzw());
+				
+				cell = bodyRow.createCell(6);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSzaxzw());
+				
+				cell = bodyRow.createCell(7);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getMtmc());
+				
+				cell = bodyRow.createCell(8);
+				cell.setCellStyle(bodyStyle);
+				if (null != mt.getMtcd()) {
+					cell.setCellValue(mt.getMtcd());
+				}
+				
+				cell = bodyRow.createCell(9);
+				cell.setCellStyle(bodyStyle);
+				if(mt.getSjhwttl() != null){
+					cell.setCellValue(mt.getSjhwttl());
+				}
+				
+				cell = bodyRow.createCell(10);
+				cell.setCellStyle(bodyStyle);
+				if (mt.getSjlkttl() != null) {
+					cell.setCellValue(mt.getSjlkttl());
+				}
+				
+				cell = bodyRow.createCell(11);
+				cell.setCellStyle(bodyStyle);
+				if(mt.getNlktgnl() != null){
+					cell.setCellValue(mt.getNlktgnl());
+				}
+				
+				cell = bodyRow.createCell(12);
+				cell.setCellStyle(bodyStyle);
+				if (null != mt.getNjzxtgnl()) {
+					cell.setCellValue(mt.getNjzxtgnl());
+				}
+				
+				cell = bodyRow.createCell(13);
+				cell.setCellStyle(bodyStyle);
+				if (mt.getNhwtgnl() != null) {
+					cell.setCellValue(mt.getNhwtgnl());
+				}
+				
+				cell = bodyRow.createCell(14);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getFwlxzw());
+				
+				cell = bodyRow.createCell(15);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSfdwkfzw());
+				
+				cell = bodyRow.createCell(16);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getSfwhpzw());
+				
+				cell = bodyRow.createCell(17);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getMtytzw());
+				
+				cell = bodyRow.createCell(18);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getMtxsdmzw());
+				
+				cell = bodyRow.createCell(19);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getJcrqfmt());
+				
+				cell = bodyRow.createCell(20);
+				cell.setCellStyle(bodyStyle);
+				cell.setCellValue(mt.getMtsfwarszw());
+				
+				cell = bodyRow.createCell(21);
+				cell.setCellStyle(bodyStyle);
+				if (null != mt.getMtsjqyss()) {
+					cell.setCellValue(mt.getMtsjqyss());
+				}
+			}
+		}
+	}
+//	@Override
+//	public void exportExcelAll(List<MtVo> 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);
+//				MtVo mt = voList.get(j);
+//				// 序号
+//				cell = bodyRow.createCell(0);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(j + 1);
+//				
+//				cell = bodyRow.createCell(1);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSzdzw());
+//				
+//				cell = bodyRow.createCell(2);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSzgkzw());
+//				
+//				cell = bodyRow.createCell(3);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSzgqzw());
+//				
+//				cell = bodyRow.createCell(4);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSsjyrzw());
+//				
+//				cell = bodyRow.createCell(5);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSzzyqzw());
+//				
+//				cell = bodyRow.createCell(6);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSzaxzw());
+//				
+//				cell = bodyRow.createCell(7);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getMtmc());
+//				
+//				cell = bodyRow.createCell(8);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != mt.getMtcd()) {
+//					cell.setCellValue(mt.getMtcd());
+//				}
+//				
+//				cell = bodyRow.createCell(9);
+//				cell.setCellStyle(bodyStyle);
+//				if(mt.getSjhwttl() != null){
+//					cell.setCellValue(mt.getSjhwttl());
+//				}
+//				
+//				cell = bodyRow.createCell(10);
+//				cell.setCellStyle(bodyStyle);
+//				if (mt.getSjlkttl() != null) {
+//					cell.setCellValue(mt.getSjlkttl());
+//				}
+//				
+//				cell = bodyRow.createCell(11);
+//				cell.setCellStyle(bodyStyle);
+//				if(mt.getNlktgnl() != null){
+//					cell.setCellValue(mt.getNlktgnl());
+//				}
+//				
+//				cell = bodyRow.createCell(12);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != mt.getNjzxtgnl()) {
+//					cell.setCellValue(mt.getNjzxtgnl());
+//				}
+//				
+//				cell = bodyRow.createCell(13);
+//				cell.setCellStyle(bodyStyle);
+//				if (mt.getNhwtgnl() != null) {
+//					cell.setCellValue(mt.getNhwtgnl());
+//				}
+//				
+//				cell = bodyRow.createCell(14);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getFwlxzw());
+//				
+//				cell = bodyRow.createCell(15);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSfdwkfzw());
+//				
+//				cell = bodyRow.createCell(16);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getSfwhpzw());
+//				
+//				cell = bodyRow.createCell(17);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getMtytzw());
+//				
+//				cell = bodyRow.createCell(18);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getMtxsdmzw());
+//				
+//				cell = bodyRow.createCell(19);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getJcrqfmt());
+//				
+//				cell = bodyRow.createCell(20);
+//				cell.setCellStyle(bodyStyle);
+//				cell.setCellValue(mt.getMtsfwarszw());
+//				
+//				cell = bodyRow.createCell(21);
+//				cell.setCellStyle(bodyStyle);
+//				if (null != mt.getMtsjqyss()) {
+//					cell.setCellValue(mt.getMtsjqyss());
+//				}
+//			}
+//		}
+//		try {
+//			workBook.write(outputStream);
+//			outputStream.flush();
+//			outputStream.close();
+//		} catch (IOException e) {
+//			e.printStackTrace();
+//		} finally {
+//			try {
+//				outputStream.close();
+//			} catch (IOException e) {
+//				e.printStackTrace();
+//			}
+//		}
+//	}
 }