|
@@ -1,8 +1,14 @@
|
|
|
package com.jtgh.yjpt.controller.jyrxxgl;
|
|
|
|
|
|
+import java.awt.Color;
|
|
|
+import java.awt.Font;
|
|
|
+import java.awt.Graphics2D;
|
|
|
+import java.awt.Image;
|
|
|
+import java.awt.image.BufferedImage;
|
|
|
import java.io.ByteArrayInputStream;
|
|
|
import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
@@ -11,6 +17,7 @@ import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
+import javax.imageio.ImageIO;
|
|
|
import javax.servlet.ServletOutputStream;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -140,21 +147,104 @@ public class RyjbxxController extends BaseController {
|
|
|
@ResponseBody
|
|
|
@RemotingExclude
|
|
|
public void jasperPrint(@RequestParam String id, String sfzh,
|
|
|
- HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ @RequestParam String type, HttpServletResponse response,
|
|
|
+ HttpServletRequest request) {
|
|
|
List<RyjbxxEntity> dataList = new ArrayList<RyjbxxEntity>();
|
|
|
RyjbxxEntity data = service.findOne(Long.parseLong(id));
|
|
|
dataList.add(data);
|
|
|
Map<String, Object> parameters = new HashMap<String, Object>();
|
|
|
-
|
|
|
- List<RyjbxxZSEntity> dataList2 = new ArrayList<RyjbxxZSEntity>();
|
|
|
- dataList2 = service.ryjbxxzsByRyid(sfzh);
|
|
|
// parameters.put("SUBREPORT_DIR", "iReport/jyr/");
|
|
|
- parameters.put("SUBREPORT_DIR", "iReport/jyr/");
|
|
|
+ String report = "iReport/jyr/ryjcxx.jasper";
|
|
|
+ if (ReportExportHelper.REPORT_EXPORT_TYPE_HTML.equals(type)) {
|
|
|
+ report = "iReport/jyr/ryjcxx-html.jasper";
|
|
|
+ BlobEntity blob = new BlobEntity();
|
|
|
+ blob.setValue(getAccById(Long.parseLong(id)));
|
|
|
+ parameters.put("zp", blob);
|
|
|
+ parameters.put(
|
|
|
+ "qrcode",
|
|
|
+ Utils.getQrcodeImage(50, 50, Constants.ALL_QRCODE
|
|
|
+ + Constants.QRCODE_RYJBXX + id));
|
|
|
+ InputStream buffin = new ByteArrayInputStream(
|
|
|
+ getAccById(Long.parseLong(id)));
|
|
|
+ InputStream buffin2 = new ByteArrayInputStream(
|
|
|
+ Utils.getQrcodeImage(50, 50, Constants.ALL_QRCODE
|
|
|
+ + Constants.QRCODE_RYJBXX + id));
|
|
|
+ try {
|
|
|
+ Image img = ImageIO.read(buffin);
|
|
|
+ parameters.put("zp_1", img);
|
|
|
+ Image img2 = ImageIO.read(buffin2);
|
|
|
+ parameters.put("qrcode_1", img2);
|
|
|
+ parameters.put("zp_2", buffin);
|
|
|
+ parameters.put("qrcode_2", buffin2);
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<RyjbxxZSEntity> dataList2 = new ArrayList<RyjbxxZSEntity>();
|
|
|
+ dataList2 = service.ryjbxxzsByRyid(sfzh);
|
|
|
+ parameters.put("SUBREPORT_DIR", "iReport/jyr/");
|
|
|
+ parameters.put("sublist", dataList2);
|
|
|
+ download(parameters, "人员基础信息", report, type,
|
|
|
+ new JRBeanCollectionDataSource(dataList), response, request);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- parameters.put("sublist", dataList2);
|
|
|
- download(parameters, "人员基础信息", "iReport/jyr/ryjcxx.jasper",
|
|
|
- ReportExportHelper.REPORT_EXPORT_TYPE_WORD,
|
|
|
- new JRBeanCollectionDataSource(dataList), response, request);
|
|
|
+ @RequestMapping(value = "ryjcxxView", method = RequestMethod.POST)
|
|
|
+ @ResponseBody
|
|
|
+ @RemotingExclude
|
|
|
+ public void ryjcxxView(@RequestParam String id, String sfzh,
|
|
|
+ HttpServletResponse response, HttpServletRequest request) {
|
|
|
+ try {
|
|
|
+ int hength = 200;
|
|
|
+ int width = 400;
|
|
|
+ BufferedImage img = new BufferedImage(width, hength,
|
|
|
+ BufferedImage.TYPE_INT_RGB);
|
|
|
+ RyjbxxEntity data = service.findOne(Long.parseLong(id));
|
|
|
+ for (int i = 0; i < img.getWidth(); i++) {
|
|
|
+ for (int j = 0; j < img.getHeight(); j++) {
|
|
|
+ img.setRGB(i, j, 0xffffff);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Graphics2D g = (Graphics2D) img.getGraphics();
|
|
|
+ g.setColor(new Color(128,128,255));
|
|
|
+ g.setFont(new Font("宋体", Font.PLAIN, 14));
|
|
|
+ Graphics2D g2 = (Graphics2D) img.getGraphics();
|
|
|
+ g2.setColor(new Color(0,0,0));
|
|
|
+ g2.setFont(new Font("黑体", Font.PLAIN, 14));
|
|
|
+ if(data!=null){
|
|
|
+ //姓名
|
|
|
+ g.drawString("姓名", 10,20);
|
|
|
+ g2.drawString(data.getXm()==null?"":data.getXm(), 90, 20);
|
|
|
+ //职务
|
|
|
+ g.drawString("职务", 10,60);
|
|
|
+ g2.drawString(data.getZwhzc()==null?"":data.getZwhzc(), 90, 60);
|
|
|
+ //联系电话
|
|
|
+ g.drawString("联系电话", 10,100);
|
|
|
+ g2.drawString(data.getLxdh()==null?"":data.getLxdh(), 90, 100);
|
|
|
+ //经营人
|
|
|
+ g.drawString("港口经营人名称", 10,140);
|
|
|
+ g2.drawString(data.getSsjyr()==null?"":data.getSsjyr().getGkjyr(), 120, 140);
|
|
|
+ //人员照片
|
|
|
+ if(getAccById(Long.parseLong(id))!=null){
|
|
|
+ InputStream buffin1 = new ByteArrayInputStream(getAccById(Long.parseLong(id)));
|
|
|
+ Image ryImg = ImageIO.read(buffin1);
|
|
|
+ g.drawImage(ryImg.getScaledInstance(100, 100,
|
|
|
+ Image.SCALE_DEFAULT), 190, 20, null);
|
|
|
+ }
|
|
|
+ //二维码
|
|
|
+ InputStream buffin2 = new ByteArrayInputStream(Utils.getQrcodeImage(100, 100, Constants.ALL_QRCODE
|
|
|
+ + Constants.QRCODE_RYJBXX+id));
|
|
|
+ Image qrImg=ImageIO.read(buffin2);
|
|
|
+ g.drawImage(qrImg.getScaledInstance(100, 100,
|
|
|
+ Image.SCALE_DEFAULT), 295, 20, null);
|
|
|
+ response.setCharacterEncoding("utf-8");
|
|
|
+ response.setContentType("image/PNG");
|
|
|
+ ImageIO.write(img, "PNG", response.getOutputStream());
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
public Collection<String[]> print(List<String> param) {
|
|
@@ -335,7 +425,7 @@ public class RyjbxxController extends BaseController {
|
|
|
Specification<AccessoryEntity> accSpec = SpecificationCreater
|
|
|
.searchByPredicateModels(filterList);
|
|
|
List<AccessoryEntity> accList = accessoryService.findAll(accSpec);
|
|
|
- byte[] acc =null;
|
|
|
+ byte[] acc = null;
|
|
|
if (accList != null && accList.size() > 0) {
|
|
|
acc = accList.get(0).getContent().getValue();
|
|
|
}
|