jiapeng 7 years ago
parent
commit
90378be507

+ 1 - 1
src/main/java/com/ekexiu/portal/dao/DemandDao.java

110
	
110
	
111
	@PageSelect
111
	@PageSelect
112
	@OrderBy(" ORDER BY CREATE_TIME DESC")
112
	@OrderBy(" ORDER BY CREATE_TIME DESC")
113
	public abstract PageQueryResult<Demand> pageQuery(Connection con,@GroupSqlColumn(value={"TITLE LIKE ?","DESCP LIKE ?"},handlerClass=StringHandler.class,isAnd=false ,force =false)  @Nullable String key,int pageSize,int pageNo) throws SQLException;
113
	public abstract PageQueryResult<Demand> pageQuery(Connection con,@Nullable @In String[] state,@GroupSqlColumn(value={"TITLE LIKE ?","DESCP LIKE ?"},handlerClass=StringHandler.class,isAnd=false ,force =false)  @Nullable String key,int pageSize,int pageNo) throws SQLException;
114
	
114
	
115

115

116
	
116
	

+ 9 - 0
src/main/java/com/ekexiu/portal/po/Organization.java

87
	private long pageViews;
87
	private long pageViews;
88
	private long shareId;
88
	private long shareId;
89
	private boolean colMgr;
89
	private boolean colMgr;
90
	private boolean resMgr;
90
	
91
	
91
92
92
	@Column(value=DE.String_de,dbType="VARCHAR(20)")
93
	@Column(value=DE.String_de,dbType="VARCHAR(20)")
246
	}
247
	}
247
	public void setColMgr(boolean colMgr) {
248
	public void setColMgr(boolean colMgr) {
248
		this.colMgr = colMgr;
249
		this.colMgr = colMgr;
250
	}
251
	@Column(handlerClass=BooleanHandler.class,dbType="CHAR(1)",fixSqlValueWithInsert="'0'",insertable=true,nullable=false,queryable=true,renewable = false)
252
	public boolean isResMgr() {
253
		return resMgr;
254
	}
255
	public void setResMgr(boolean resMgr) {
256
		this.resMgr = resMgr;
249
	}	
257
	}	
258
	
250
}
259
}

+ 2 - 2
src/main/java/com/ekexiu/portal/service/DemandService.java

201
	 */
201
	 */
202
	@Get
202
	@Get
203
	@Path("/search")
203
	@Path("/search")
204
	public PageQueryResult<Demand> query(@JdbcConn Connection con,@Nullable String key,@DefaultValue("1") int pageNo,@DefaultValue("5") int pageSize)throws SQLException{
205
		return this.demandDao.pageQuery(con, key==null?key:("%"+key+"%"),pageSize,pageNo);
204
	public PageQueryResult<Demand> query(@JdbcConn Connection con,@Nullable String[] state,@Nullable String key,@DefaultValue("1") int pageNo,@DefaultValue("5") int pageSize)throws SQLException{
205
		return this.demandDao.pageQuery(con,state, key==null?key:("%"+key+"%"),pageSize,pageNo);
206
	}
206
	}
207
}
207
}

+ 13 - 1
src/main/java/com/ekexiu/push/service/FeedbackService.java

1
package com.ekexiu.push.service;
1
package com.ekexiu.portal.service;
2

2

3
import java.sql.Connection;
3
import java.sql.Connection;
4
import java.sql.SQLException;
4
import java.sql.SQLException;
116
		return this.feedbackDao.insert(con, fb);
116
		return this.feedbackDao.insert(con, fb);
117
	}
117
	}
118
	
118
	
119
	@Post
120
	@Path("/error/demand")
121
	public long errorDemand(@JdbcConn(true) Connection con,String cnt,String id,@Nullable String user)throws SQLException{
122
		Feedback fb = new Feedback();
123
		fb.setCategory(1);
124
		fb.setParam(id);
125
		fb.setState("0");
126
		fb.setContent(cnt);
127
		fb.setUserId(user);
128
		return this.feedbackDao.insert(con, fb);
129
	}
130
	
119
	
131
	
120
}
132
}

+ 137 - 88
src/main/java/com/ekexiu/portal/util/ProfessorPdfServlet.java

7
import java.sql.PreparedStatement;
7
import java.sql.PreparedStatement;
8
import java.sql.ResultSet;
8
import java.sql.ResultSet;
9
import java.sql.SQLException;
9
import java.sql.SQLException;
10
import java.util.Collections;
11
import java.util.Comparator;
10

12

11
import javax.servlet.ServletException;
13
import javax.servlet.ServletException;
12
import javax.servlet.http.HttpServlet;
14
import javax.servlet.http.HttpServlet;
47
import com.itextpdf.layout.element.Paragraph;
49
import com.itextpdf.layout.element.Paragraph;
48
import com.itextpdf.layout.element.Text;
50
import com.itextpdf.layout.element.Text;
49

51

50

51
/**
52
/**
52
 * Servlet implementation class ProfessorPdfServlet
53
 * Servlet implementation class ProfessorPdfServlet
53
 */
54
 */
60
	public static final float TEXT_FONT_SIZE = 10f;
61
	public static final float TEXT_FONT_SIZE = 10f;
61
	public static final float LINE_INTERVAL_L = 2.5f;
62
	public static final float LINE_INTERVAL_L = 2.5f;
62
	public static final float LINE_INTERVAL_M = 2.15f;
63
	public static final float LINE_INTERVAL_M = 2.15f;
63
	
64
	
64

65
	private DataSource dataSource;
65
	private DataSource dataSource;
66

66

67
	public ProfessorPdfServlet() {
67
	public ProfessorPdfServlet() {
68
		super();
68
		super();
69
	}
69
	}
70

70

71
	private void sortPaperAndPatent(ViewBean vb) {
72
		final String name = vb.getName() + ",";
73

74
		java.util.List<Ppaper> ppas = vb.getPapers();
75
		if (ppas != null && ppas.size() > 1) {
76
			Collections.sort(ppas, new Comparator<Ppaper>() {
77
				@Override
78
				public int compare(Ppaper o1, Ppaper o2) {
79
					boolean f1 = (o1.getAuthors().indexOf(',') < 0) || o1.getAuthors().startsWith(name);
80
					boolean f2 = (o2.getAuthors().indexOf(',') < 0) || o2.getAuthors().startsWith(name);
81
					if (f1 == f2) {
82
						return -(o1.getPubDay().compareTo(o2.getPubDay()));
83
					} else {
84
						return f1 ? -1 : 1;
85
					}
86
				}
87
			});
88
		}
89

90
		java.util.List<Ppatent> ppts = vb.getPatents();
91
		if (ppts != null && ppts.size() > 1) {
92
			Collections.sort(ppts, new Comparator<Ppatent>() {
93
				@Override
94
				public int compare(Ppatent o1, Ppatent o2) {
95
					boolean f1 = (o1.getAuthors().indexOf(',') < 0) || o1.getAuthors().startsWith(name);
96
					boolean f2 = (o2.getAuthors().indexOf(',') < 0) || o2.getAuthors().startsWith(name);
97
					if (f1 == f2) {
98
						return -(o1.getPubDay().compareTo(o2.getPubDay()));
99
					} else {
100
						return f1 ? -1 : 1;
101
					}
102
				}
103
			});
104
		}
105

106
	}
107

71
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
108
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
72
		String id = request.getParameter("id");
109
		String id = request.getParameter("id");
73
		boolean isDL = "1".equals(request.getParameter("_dl"));
110
		boolean isDL = "1".equals(request.getParameter("_dl"));
83
			response.sendError(404);
120
			response.sendError(404);
84
			return;
121
			return;
85
		}
122
		}
123
		sortPaperAndPatent(vb);
86
		byte[] obs = this.buildPdf(vb);
124
		byte[] obs = this.buildPdf(vb);
87
		response.setContentType("application/pdf");
125
		response.setContentType("application/pdf");
88
		if (isDL) {
126
		if (isDL) {
114
		cnFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
152
		cnFont = PdfFontFactory.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
115
		enFont = PdfFontFactory.createFont();
153
		enFont = PdfFontFactory.createFont();
116

154

117
		Document doc = this.createDocument(os,cnFont,enFont);
155
		Document doc = this.createDocument(os, cnFont, enFont);
118
		try {
156
		try {
119
			addName(doc, vb.getName(), vb.getTitle(),cnFont,enFont);
120
			addOrg(doc, vb.getOrgName(), vb.getDep(), vb.getOffice(),cnFont,enFont);
121
			addLinkData(doc,vb.getPhone(), vb.getEmail(), vb.getCity(), cnFont, enFont);
122
			addDescp(doc, vb.getDescp(),cnFont,enFont);
123
		
124
			addReseachArea(doc, vb.getReseachAreas(),cnFont,enFont);
157
			addName(doc, vb.getName(), vb.getTitle(), cnFont, enFont);
158
			addOrg(doc, vb.getOrgName(), vb.getDep(), vb.getOffice(), cnFont, enFont);
159
			addLinkData(doc, vb.getPhone(), vb.getEmail(), vb.getCity(), cnFont, enFont);
160
			addDescp(doc, vb.getDescp(), cnFont, enFont);
125

161

126
			addProject(doc, vb.getProjects(),cnFont,enFont);
162
			addReseachArea(doc, vb.getReseachAreas(), cnFont, enFont);
127

163

128
			addHonor(doc, vb.getHonors(),cnFont,enFont);
164
			addProject(doc, vb.getProjects(), cnFont, enFont);
129

165

130
			addJob(doc, vb.getJobs(),cnFont,enFont);
166
			addHonor(doc, vb.getHonors(), cnFont, enFont);
131

167

132
			addEdu(doc, vb.getEds(),cnFont,enFont);
168
			addJob(doc, vb.getJobs(), cnFont, enFont);
133

169

134
			addPatent(doc, vb.getPatents(),cnFont,enFont);
135
			addPaper(doc, vb.getPapers(),cnFont,enFont);
170
			addEdu(doc, vb.getEds(), cnFont, enFont);
171

172
			addPatent(doc, vb.getPatents(), cnFont, enFont);
173
			addPaper(doc, vb.getPapers(), cnFont, enFont);
136
			doc.flush();
174
			doc.flush();
137

175

138
		} finally {
176
		} finally {
143
		return os.toByteArray();
181
		return os.toByteArray();
144
	}
182
	}
145

183

146
	private void addName(Document doc, String name, String title,PdfFont cnFont,PdfFont enFont) {
184
	private void addName(Document doc, String name, String title, PdfFont cnFont, PdfFont enFont) {
147
		Paragraph pg = new Paragraph();
185
		Paragraph pg = new Paragraph();
148
		addText(pg, name, 20f,cnFont,enFont);
186
		addText(pg, name, 20f, cnFont, enFont);
149
		if (title != null && title.length() > 0) {
187
		if (title != null && title.length() > 0) {
150
			addText(pg, " " + title, 12f,cnFont,enFont);
188
			addText(pg, " " + title, 12f, cnFont, enFont);
151
		}
189
		}
152
		pg.setFontColor(RGB3);
190
		pg.setFontColor(RGB3);
153
		pg.setMargin(0f);
191
		pg.setMargin(0f);
155
		doc.add(pg);
193
		doc.add(pg);
156
	}
194
	}
157

195

158
	private void addOrg(Document doc, String org, String dep, String office,PdfFont cnFont,PdfFont enFont) {
196
	private void addOrg(Document doc, String org, String dep, String office, PdfFont cnFont, PdfFont enFont) {
159
		StringBuilder sb = new StringBuilder();
197
		StringBuilder sb = new StringBuilder();
160
		sb.append(org);
198
		sb.append(org);
161
		if (dep != null && dep.length() > 0) {
199
		if (dep != null && dep.length() > 0) {
169
		pg.setFontColor(RGB3);
207
		pg.setFontColor(RGB3);
170
		pg.setMargin(0f);
208
		pg.setMargin(0f);
171
		pg.setMultipliedLeading(LINE_INTERVAL_L);
209
		pg.setMultipliedLeading(LINE_INTERVAL_L);
172
		addText(pg, sb.toString(), null,cnFont,enFont);
210
		addText(pg, sb.toString(), null, cnFont, enFont);
173
		doc.add(pg);
211
		doc.add(pg);
174
	}
212
	}
175
	private void addLinkData(Document doc,String phone,String email,String city,PdfFont cnFont,PdfFont enFont){
213

214
	private void addLinkData(Document doc, String phone, String email, String city, PdfFont cnFont, PdfFont enFont) {
176
		StringBuilder sb = new StringBuilder();
215
		StringBuilder sb = new StringBuilder();
177
		if(phone!=null && phone.trim().length()>0){
216
		if (phone != null && phone.trim().length() > 0) {
178
			sb.append(phone.trim());
217
			sb.append(phone.trim());
179
		}
218
		}
180
		if(email!=null && email.trim().length()>0){
181
			if(sb.length()>0){
219
		if (email != null && email.trim().length() > 0) {
220
			if (sb.length() > 0) {
182
				sb.append(" | ");
221
				sb.append(" | ");
183
			}
222
			}
184
			sb.append(email.trim());
223
			sb.append(email.trim());
185
		}
224
		}
186
		if(city!=null && city.trim().length()>0){
187
			if(sb.length()>0){
225
		if (city != null && city.trim().length() > 0) {
226
			if (sb.length() > 0) {
188
				sb.append(" | ");
227
				sb.append(" | ");
189
			}
228
			}
190
			sb.append(city.trim());
229
			sb.append(city.trim());
191
		}
230
		}
192
		if(sb.length()>0){
231
		if (sb.length() > 0) {
193
			Paragraph pg = new Paragraph();
232
			Paragraph pg = new Paragraph();
194
			pg.setFontSize(TEXT_FONT_SIZE);
233
			pg.setFontSize(TEXT_FONT_SIZE);
195
			pg.setFontColor(RGB9);
234
			pg.setFontColor(RGB9);
196
			pg.setMargin(0f);
235
			pg.setMargin(0f);
197
			pg.setMultipliedLeading(LINE_INTERVAL_L);
236
			pg.setMultipliedLeading(LINE_INTERVAL_L);
198
			addText(pg, sb.toString(), null,cnFont,enFont);
237
			addText(pg, sb.toString(), null, cnFont, enFont);
199
			doc.add(pg);
238
			doc.add(pg);
200
		}
239
		}
201
	}
240
	}
202

241

203
	private void addTitle(Document doc, String title,PdfFont cnFont,PdfFont enFont) {
242
	private void addTitle(Document doc, String title, PdfFont cnFont, PdfFont enFont) {
204
		Div div = new Div();
243
		Div div = new Div();
205
		div.setWidthPercent(100f);
244
		div.setWidthPercent(100f);
206
		div.setBorderTop(new SolidBorder(RGB9, 1f));
245
		div.setBorderTop(new SolidBorder(RGB9, 1f));
208
		div.setMargins(10f, 0f, 10f, 0f);
247
		div.setMargins(10f, 0f, 10f, 0f);
209
		doc.add(div);
248
		doc.add(div);
210
		Paragraph pg = createParagraph(TITLE_FONT_SIZE, RGB9);
249
		Paragraph pg = createParagraph(TITLE_FONT_SIZE, RGB9);
211
		addText(pg, title, null,cnFont,enFont);
250
		addText(pg, title, null, cnFont, enFont);
212
		doc.add(pg);
251
		doc.add(pg);
213
	}
252
	}
214

253

215
	private void addDescp(Document doc, String descp,PdfFont cnFont,PdfFont enFont) {
254
	private void addDescp(Document doc, String descp, PdfFont cnFont, PdfFont enFont) {
216
		if (descp != null && descp.length() > 0) {
255
		if (descp != null && descp.length() > 0) {
217
			addTitle(doc, "个人简介",cnFont,enFont);
256
			addTitle(doc, "个人简介", cnFont, enFont);
218
			Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
257
			Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
219
			addText(pg, descp, null,cnFont,enFont);
258
			addText(pg, descp, null, cnFont, enFont);
220
			doc.add(pg);
259
			doc.add(pg);
221
		}
260
		}
222
	}
261
	}
223

262

224
	private void addReseachArea(Document doc, java.util.List<String> ras,PdfFont cnFont,PdfFont enFont) {
263
	private void addReseachArea(Document doc, java.util.List<String> ras, PdfFont cnFont, PdfFont enFont) {
225
		if (ras != null && ras.size() > 0) {
264
		if (ras != null && ras.size() > 0) {
226
			addTitle(doc, "研究方向",cnFont,enFont);
265
			addTitle(doc, "研究方向", cnFont, enFont);
227
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
266
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
228
			for (String s : ras) {
267
			for (String s : ras) {
229
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
268
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
230
				addText(pg, s, null,cnFont,enFont);
269
				addText(pg, s, null, cnFont, enFont);
231
				ListItem li = new ListItem();
270
				ListItem li = new ListItem();
232
				li.add(pg);
271
				li.add(pg);
233
				list.add(li);
272
				list.add(li);
236
		}
275
		}
237
	}
276
	}
238

277

239
	private void addProject(Document doc, java.util.List<Project> projects,PdfFont cnFont,PdfFont enFont) {
278
	private void addProject(Document doc, java.util.List<Project> projects, PdfFont cnFont, PdfFont enFont) {
240
		if (projects != null && projects.size() > 0) {
279
		if (projects != null && projects.size() > 0) {
241
			addTitle(doc, "项目经历",cnFont,enFont);
280
			addTitle(doc, "项目经历", cnFont, enFont);
242
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
281
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
243
			for (Project p : projects) {
282
			for (Project p : projects) {
244
				ListItem li = new ListItem();
283
				ListItem li = new ListItem();
245
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
284
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
246
				addText(pg, p.getName(), null,cnFont,enFont);
285
				addText(pg, p.getName(), null, cnFont, enFont);
247
				li.add(pg);
286
				li.add(pg);
248
				String bm = p.getStartMonth();
287
				String bm = p.getStartMonth();
249
				String em = p.getStopMonth();
288
				String em = p.getStopMonth();
256
						sb.append("至今");
295
						sb.append("至今");
257
					}
296
					}
258
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
297
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
259
					addText(pg, sb.toString(), null,cnFont,enFont);
298
					addText(pg, sb.toString(), null, cnFont, enFont);
260
					li.add(pg);
299
					li.add(pg);
261
				}
300
				}
262
				String descp = p.getDescp();
301
				String descp = p.getDescp();
263
				if (descp != null && descp.length() > 0) {
302
				if (descp != null && descp.length() > 0) {
264
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
303
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
265
					addText(pg, descp, null,cnFont,enFont);
304
					addText(pg, descp, null, cnFont, enFont);
266
					li.add(pg);
305
					li.add(pg);
267
				}
306
				}
268
				list.add(li);
307
				list.add(li);
271
		}
310
		}
272
	}
311
	}
273

312

274
	private void addHonor(Document doc, java.util.List<Honor> honors,PdfFont cnFont,PdfFont enFont) {
313
	private void addHonor(Document doc, java.util.List<Honor> honors, PdfFont cnFont, PdfFont enFont) {
275
		if (honors != null && honors.size() > 0) {
314
		if (honors != null && honors.size() > 0) {
276
			addTitle(doc, "荣誉奖项",cnFont,enFont);
315
			addTitle(doc, "荣誉奖项", cnFont, enFont);
277
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
316
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
278
			for (Honor h : honors) {
317
			for (Honor h : honors) {
279
				ListItem li = new ListItem();
318
				ListItem li = new ListItem();
280
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
319
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
281
				addText(pg, h.getName(), null,cnFont,enFont);
320
				addText(pg, h.getName(), null, cnFont, enFont);
282
				li.add(pg);
321
				li.add(pg);
283
				String year = h.getYear();
322
				String year = h.getYear();
284
				if (year != null) {
323
				if (year != null) {
285
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
324
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
286
					addText(pg, ("获得于" + year + "年 "), null,cnFont,enFont);
325
					addText(pg, ("获得于" + year + "年 "), null, cnFont, enFont);
287
					li.add(pg);
326
					li.add(pg);
288
				}
327
				}
289
				String descp = h.getDescp();
328
				String descp = h.getDescp();
290
				if (descp != null && descp.length() > 0) {
329
				if (descp != null && descp.length() > 0) {
291
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
330
					pg = createParagraph(TEXT_FONT_SIZE, RGB9);
292
					addText(pg, descp, null,cnFont,enFont);
331
					addText(pg, descp, null, cnFont, enFont);
293
					li.add(pg);
332
					li.add(pg);
294
				}
333
				}
295
				list.add(li);
334
				list.add(li);
298
		}
337
		}
299
	}
338
	}
300

339

301
	private void addJob(Document doc, java.util.List<PartTimeJob> jobs,PdfFont cnFont,PdfFont enFont) {
340
	private void addJob(Document doc, java.util.List<PartTimeJob> jobs, PdfFont cnFont, PdfFont enFont) {
302
		if (jobs != null && jobs.size() > 0) {
341
		if (jobs != null && jobs.size() > 0) {
303
			addTitle(doc, "工作经历",cnFont,enFont);
342
			addTitle(doc, "工作经历", cnFont, enFont);
304
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
343
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
305
			for (PartTimeJob p : jobs) {
344
			for (PartTimeJob p : jobs) {
306
				StringBuilder sb = new StringBuilder();
345
				StringBuilder sb = new StringBuilder();
316

355

317
				ListItem li = new ListItem();
356
				ListItem li = new ListItem();
318
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
357
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
319
				addText(pg, sb.toString(), null,cnFont,enFont);
358
				addText(pg, sb.toString(), null, cnFont, enFont);
320
				li.add(pg);
359
				li.add(pg);
321

360

322
				String bm = p.getStartMonth();
361
				String bm = p.getStartMonth();
330
					} else {
369
					} else {
331
						sb.append("至今");
370
						sb.append("至今");
332
					}
371
					}
333
					addText(pg, sb.toString(), null,cnFont,enFont);
372
					addText(pg, sb.toString(), null, cnFont, enFont);
334
					li.add(pg);
373
					li.add(pg);
335
				}
374
				}
336
				list.add(li);
375
				list.add(li);
339
		}
378
		}
340
	}
379
	}
341

380

342
	private void addEdu(Document doc, java.util.List<ProfessorEduBg> edus,PdfFont cnFont,PdfFont enFont) {
381
	private void addEdu(Document doc, java.util.List<ProfessorEduBg> edus, PdfFont cnFont, PdfFont enFont) {
343
		if (edus != null && edus.size() > 0) {
382
		if (edus != null && edus.size() > 0) {
344
			addTitle(doc, "教育背景",cnFont,enFont);
383
			addTitle(doc, "教育背景", cnFont, enFont);
345
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
384
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
346
			for (ProfessorEduBg h : edus) {
385
			for (ProfessorEduBg h : edus) {
347
				ListItem li = new ListItem();
386
				ListItem li = new ListItem();
360
					sb.append(" · ").append(office);
399
					sb.append(" · ").append(office);
361
				}
400
				}
362
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
401
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
363
				addText(pg, sb.toString(), null,cnFont,enFont);
402
				addText(pg, sb.toString(), null, cnFont, enFont);
364
				li.add(pg);
403
				li.add(pg);
365

404

366
				String year = h.getYear();
405
				String year = h.getYear();
368
					year = null;
407
					year = null;
369
				}
408
				}
370
				pg = createParagraph(TEXT_FONT_SIZE, RGB9);
409
				pg = createParagraph(TEXT_FONT_SIZE, RGB9);
371
				addText(pg, (year == null ? "至今" : ("获得于" + year + "年 ")), null,cnFont,enFont);
410
				addText(pg, (year == null ? "至今" : ("获得于" + year + "年 ")), null, cnFont, enFont);
372
				li.add(pg);
411
				li.add(pg);
373
				list.add(li);
412
				list.add(li);
374
			}
413
			}
376
		}
415
		}
377
	}
416
	}
378

417

379
	private void addPatent(Document doc, java.util.List<Ppatent> pats,PdfFont cnFont,PdfFont enFont) {
418
	private void addPatent(Document doc, java.util.List<Ppatent> pats, PdfFont cnFont, PdfFont enFont) {
380
		if (pats != null && pats.size() > 0) {
419
		if (pats != null && pats.size() > 0) {
381
			addTitle(doc, "专利",cnFont,enFont);
420
			addTitle(doc, "专利", cnFont, enFont);
382
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
421
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
383
			for (Ppatent p : pats) {
422

423
			int len = Math.min(20, pats.size());
424

425
			for (int i = 0; i < len; ++i) {
426
				Ppatent p = pats.get(i);
384
				ListItem li = new ListItem();
427
				ListItem li = new ListItem();
385
				StringBuilder sb = new StringBuilder();
428
				StringBuilder sb = new StringBuilder();
386
				sb.append(p.getAuthors().replaceAll(",", ";"));
429
				sb.append(p.getAuthors().replaceAll(",", ";"));
392
				sb.append(" ").append(p.getName()).append(" [P]. 中国专利: ").append(p.getCode()).append(", ").append(p.getPubDay().substring(0, 4)).append("-")
435
				sb.append(" ").append(p.getName()).append(" [P]. 中国专利: ").append(p.getCode()).append(", ").append(p.getPubDay().substring(0, 4)).append("-")
393
						.append(p.getPubDay().substring(4, 6)).append("-").append(p.getPubDay().substring(6)).append(".");
436
						.append(p.getPubDay().substring(4, 6)).append("-").append(p.getPubDay().substring(6)).append(".");
394
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
437
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
395
				addText(pg, sb.toString(), null,cnFont,enFont);
438
				addText(pg, sb.toString(), null, cnFont, enFont);
396
				li.add(pg);
439
				li.add(pg);
397
				list.add(li);
440
				list.add(li);
398
			}
441
			}
400
		}
443
		}
401
	}
444
	}
402

445

403
	private void addPaper(Document doc, java.util.List<Ppaper> paps,PdfFont cnFont,PdfFont enFont) {
446
	private void addPaper(Document doc, java.util.List<Ppaper> paps, PdfFont cnFont, PdfFont enFont) {
404
		if (paps != null && paps.size() > 0) {
447
		if (paps != null && paps.size() > 0) {
405
			addTitle(doc, "论文",cnFont,enFont);
448
			addTitle(doc, "论文", cnFont, enFont);
406
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
449
			List list = new List().setSymbolIndent(10).setListSymbol("\u2022").setFont(enFont);
407
			for (Ppaper p : paps) {
450
			int len = Math.min(20, paps.size());
451

452
			for (int i = 0; i < len; ++i) {
453
				Ppaper p = paps.get(i);
408
				ListItem li = new ListItem();
454
				ListItem li = new ListItem();
409
				StringBuilder sb = new StringBuilder();
455
				StringBuilder sb = new StringBuilder();
410
				sb.append(p.getName()).append(" [J]. ").append(p.getAuthors());
456
				sb.append(p.getName()).append(" [J]. ").append(p.getAuthors());
426
					}
472
					}
427
				}
473
				}
428
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
474
				Paragraph pg = createParagraph(TEXT_FONT_SIZE, RGB3);
429
				addText(pg, sb.toString(), null,cnFont,enFont);
475
				addText(pg, sb.toString(), null, cnFont, enFont);
430
				li.add(pg);
476
				li.add(pg);
431
				list.add(li);
477
				list.add(li);
432
			}
478
			}
435

481

436
	}
482
	}
437

483

438
	private Document createDocument(OutputStream out,PdfFont cnFont,PdfFont enFont) {
484
	private Document createDocument(OutputStream out, PdfFont cnFont, PdfFont enFont) {
439
		PdfWriter writer = new PdfWriter(out);
485
		PdfWriter writer = new PdfWriter(out);
440
		PdfDocument pdf = new PdfDocument(writer);
486
		PdfDocument pdf = new PdfDocument(writer);
441
	   pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new MyEventHandler(cnFont,enFont));
487
		pdf.addEventHandler(PdfDocumentEvent.END_PAGE, new MyEventHandler(cnFont, enFont));
442
		Document doc = new Document(pdf, PageSize.A4);
488
		Document doc = new Document(pdf, PageSize.A4);
443
		doc.setMargins(42.5f, 56.5f, 42.5f, 56.5f);
489
		doc.setMargins(42.5f, 56.5f, 42.5f, 56.5f);
444
		return doc;
490
		return doc;
453
		return pg;
499
		return pg;
454
	}
500
	}
455

501

456
	private void addText(Paragraph p, String str, Float fontSize,PdfFont cnFont,PdfFont enFont) {
502
	private void addText(Paragraph p, String str, Float fontSize, PdfFont cnFont, PdfFont enFont) {
457
		int b = 0;
503
		int b = 0;
458
		char[] cs = str.toCharArray();
504
		char[] cs = str.toCharArray();
459
		PdfFont cur = cnFont;
505
		PdfFont cur = cnFont;
510
	}
556
	}
511

557

512
	private Connection getConnection() throws SQLException {
558
	private Connection getConnection() throws SQLException {
513
		 return this.dataSource.getConnection();
514
		//n DriverManager.getConnection("jdbc:postgresql://www.ekexiu.com:5432/ekexiu", "postgres", "postgres");
559
		return this.dataSource.getConnection();
560
		// n
561
		// DriverManager.getConnection("jdbc:postgresql://www.ekexiu.com:5432/ekexiu",
562
		// "postgres", "postgres");
515
	}
563
	}
516

564

517
	private ViewBean loadViewBean(final String id) throws SQLException {
565
	private ViewBean loadViewBean(final String id) throws SQLException {
858
		}
906
		}
859

907

860
	}
908
	}
861
	 protected class MyEventHandler implements IEventHandler {
862
		 	private PdfFont cnFont;
863
		 	private PdfFont enFont;
864
		 	public MyEventHandler(PdfFont cnFont,PdfFont enFont) {
865
		 		this.cnFont = cnFont;
866
		 		this.enFont= enFont;
867
		 	}
868
	        public void handleEvent(Event event) {
869
	            PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
870
	            PdfDocument pdfDoc = docEvent.getDocument();
871
	            PdfPage page = docEvent.getPage();
872
	            Rectangle pageSize = page.getPageSize();
873
	            PdfCanvas pdfCanvas = new PdfCanvas(page.newContentStreamBefore(), page.getResources(), pdfDoc);
874
	            pdfCanvas.beginText()
875
	                    .setFontAndSize(cnFont, 10).setColor(new DeviceRgb(0x99, 0x99, 0x99),true)
876
	                    .setTextMatrix(1, 0, 0.51256f, 1,pageSize.getWidth() / 2 - 72,pageSize.getBottom() + 20)
877
	                    .showText("简历来自科袖网 - www.ekexiu.com") .endText();
878
	            pdfCanvas.release();
879
	        }
880
	    }
909

910
	protected class MyEventHandler implements IEventHandler {
911
		private PdfFont cnFont;
912
		private PdfFont enFont;
913

914
		public MyEventHandler(PdfFont cnFont, PdfFont enFont) {
915
			this.cnFont = cnFont;
916
			this.enFont = enFont;
917
		}
918

919
		public void handleEvent(Event event) {
920
			PdfDocumentEvent docEvent = (PdfDocumentEvent) event;
921
			PdfDocument pdfDoc = docEvent.getDocument();
922
			PdfPage page = docEvent.getPage();
923
			Rectangle pageSize = page.getPageSize();
924
			PdfCanvas pdfCanvas = new PdfCanvas(page.newContentStreamBefore(), page.getResources(), pdfDoc);
925
			pdfCanvas.beginText().setFontAndSize(cnFont, 10).setColor(new DeviceRgb(0x99, 0x99, 0x99), true)
926
					.setTextMatrix(1, 0, 0.51256f, 1, pageSize.getWidth() / 2 - 72, pageSize.getBottom() + 20).showText("简历来自科袖网 - www.ekexiu.com").endText();
927
			pdfCanvas.release();
928
		}
929
	}
881
}
930
}

+ 2 - 0
src/main/resources/database.sql

2064
COMMENT ON COLUMN  DEMAND.SHARE_ID    IS '分享ID';
2064
COMMENT ON COLUMN  DEMAND.SHARE_ID    IS '分享ID';
2065
COMMENT ON COLUMN  DEMAND.CREATE_TIME IS '发布时间';
2065
COMMENT ON COLUMN  DEMAND.CREATE_TIME IS '发布时间';
2066
COMMENT ON COLUMN  DEMAND.MODIFY_TIME IS '最后修改时间,=完成时间 =关闭时间';
2066
COMMENT ON COLUMN  DEMAND.MODIFY_TIME IS '最后修改时间,=完成时间 =关闭时间';
2067
ALTER TABLE organization ADD COLUMN res_mgr char(1) NOT NULL DEFAULT '0';
2068
COMMENT ON COLUMN organization.res_mgr IS '是否是资源管理者 0:不是  1:是';
2067

2069

2068

2070

2069

2071