瀏覽代碼

搜索条件新增

change 4 年之前
父節點
當前提交
15733a7fcc

+ 118 - 0
zhongzheng-api/src/main/resources/templates/wordPhone.ftl

@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+	<meta charset="UTF-8"></meta>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>
+	<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
+	<title>Document</title>
+	<style>
+		* {
+			padding: 0;
+			margin: 0;
+			box-sizing: border-box;
+		}
+
+		#boxs {
+			margin: 20px auto;
+			width: 700px;
+			height: 900px;
+			padding: 15px;
+		}
+
+		.tabsty {
+			margin-top: 10px;
+			width: 100%;
+			border-collapse: collapse;
+		}
+
+		tr {
+			width: 100%;
+		}
+
+		td {
+			padding: 8px;
+			text-align: center;
+		}
+
+		.strong {
+			width: 100px;
+			font-weight: bold;
+		}
+	</style>
+</head>
+
+<body>
+	<div id="boxs">
+		<h2 style="text-align:center;">住房和城乡建设领域施工现场专业人员<br />
+			职业培训报名承诺书</h2>
+		<table border="1" class="tabsty">
+			<tr>
+				<td class="strong">姓 名</td>
+				<td>${name}</td>
+				<td class="strong">性别</td>
+				<td>${s}</td>
+				<td class="strong">培训岗位</td>
+				<td colspan="2">${post}</td>
+			</tr>
+			<tr>
+				<td class="strong">身份证号</td>
+				<td colspan="3">${idcard}</td>
+				<td class="strong">手机号码</td>
+				<td colspan="2">${phone}</td>
+			</tr>
+			<tr>
+				<td class="strong">毕业院校</td>
+				<td colspan="4">${school}</td>
+				<td class="strong">学历</td>
+				<td>${edu}</td>
+			</tr>
+			<tr>
+				<td class="strong">所学专业</td>
+				<td colspan="3">${major}</td>
+				<td class="strong">毕业时间</td>
+				<td colspan="2">${time}</td>
+			</tr>
+			<tr>
+				<td class="strong">工作年限</td>
+				<td>${year}</td>
+				<td class="strong">单位联系人</td>
+				<td>${cname}</td>
+				<td class="strong">联系电话</td>
+				<td colspan="2">${cphone}</td>
+			</tr>
+			<tr>
+				<td colspan="7" style="text-align: left;">
+					<div>
+						<span style="font-weight: bold;padding-left: 2em;">本人自愿做出如下承诺:</span>
+						本人已仔细阅读《广东省住房和城乡建设厅关于推进住房和城乡建设领域施工现场专业人员职业培训工作的通知〉的通知》全部内容并知晓和理解,本人的学历证书、身份证、工作年限、相片等所有资料完全真实、符合报名条件、资格审查要求和相关规定,本人在报名、审查、培训、测试等有关的事项中会严格遵守相关规定和要求,如有虚假或与实际规定不符等情况造成的一切后果由本人承担。
+						<br /><span style="padding: 2em;">特此承诺!</span>
+					</div>
+					<div style="margin:50px 0px 20px">
+						<strong style="display: inline-block;width: 59%;">承诺人(签名):<img style="width: 200px;height:100px;" src="${image}"></img> </strong>
+						<span style="display: inline-block;width: 39%;">${y} 年<span
+								style="display: inline-block;width: 40px;"></span>${m} 月<span
+								style="display: inline-block;width: 40px;"></span>${d} 日</span>
+					</div>
+				</td>
+			</tr>
+			<tr>
+				<td colspan="7" style="text-align: left;">
+					<div>
+						<span style="font-weight: bold;padding-left: 2em;">本单位自愿做出如下承诺:</span>
+						我单位已仔细阅读《广东省住房和城乡建设厅关于推进住房和城乡建设领域施工现场专业人员职业培训工作的通知〉的通知》全部内容并知晓和理解,以上人员为我单位工作人员,持有的学历证书、身份证、工作年限、相片等所有资料经我单位查验完全符合报名条件、资格审查要求和相关规定,以上人员在报名、审查、培训、测试等有关的事项中会严格遵守相关规定、通知和要求,如有虚假或与实际规定不符等情况,造成的一切后果由我单位承担。
+						<br /><span style="padding: 2em;">特此承诺!</span>
+					</div>
+					<div style="margin:50px 0px 20px">
+						<p style="text-align: center;">单位(盖章):</p>
+						<p style="text-align: right;padding-right: 50px;margin-top: 30px;"><span style="display: inline-block;width: 39%;">年<span
+							style="display: inline-block;width: 40px;"></span>月<span
+							style="display: inline-block;width: 40px;"></span>日</span></p>
+					</div>
+				</td>
+			</tr>
+		</table>
+	</div>
+</body>
+
+</html>

+ 16 - 1
zhongzheng-system/pom.xml

@@ -14,7 +14,13 @@
     <description>
         system系统模块
     </description>
-
+    <repositories>
+        <repository>
+            <id>mvnrepository</id>
+            <name>mvnrepository</name>
+            <url>https://mvnrepository.com</url>
+        </repository>
+    </repositories>
     <dependencies>
 
         <!-- 通用工具-->
@@ -22,6 +28,15 @@
             <groupId>com.zhongzheng</groupId>
             <artifactId>zhongzheng-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-freemarker</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.openhtmltopdf</groupId>
+            <artifactId>openhtmltopdf-core</artifactId>
+            <version>0.0.1-RC9</version>
+        </dependency>
 
         <dependency>
             <groupId>com.github.xiaoymin</groupId>

+ 19 - 10
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/UserProfileServiceImpl.java

@@ -1,12 +1,15 @@
 package com.zhongzheng.modules.base.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
 import cn.hutool.core.io.FileUtil;
 
 import cn.hutool.extra.template.TemplateException;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.exc.InvalidFormatException;
+import com.openhtmltopdf.swing.Java2DRenderer;
+import com.openhtmltopdf.util.FSImageWriter;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.modules.alioss.bo.OssRequest;
@@ -48,6 +51,7 @@ import org.springframework.web.multipart.MultipartFile;
 import sun.misc.BASE64Encoder;
 
 import java.awt.*;
+import java.awt.image.BufferedImage;
 import java.io.*;
 import java.net.HttpURLConnection;
 import java.net.URL;
@@ -200,6 +204,7 @@ public class UserProfileServiceImpl extends ServiceImpl<UserProfileMapper, UserP
  /*       TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH));
         Template template = engine.getTemplate("word.ftl");*/
         //给STRING_TEMPLATE绑定数据
+        Calendar rightNow= Calendar.getInstance();
         Map<String, Object> bindingMap = new HashMap<>();
         bindingMap.put("name", JSONObject.parseObject(String.valueOf(maps.get("name")), UserProfileFit.class).getValue());
         bindingMap.put("s", JSONObject.parseObject(String.valueOf(maps.get("sex")), UserProfileFit.class).getValue());
@@ -211,21 +216,21 @@ public class UserProfileServiceImpl extends ServiceImpl<UserProfileMapper, UserP
         bindingMap.put("major", JSONObject.parseObject(String.valueOf(maps.get("major")), UserProfileFit.class).getValue());
         bindingMap.put("cname", JSONObject.parseObject(String.valueOf(maps.get("unit_contact")), UserProfileFit.class).getValue());
         bindingMap.put("cphone", JSONObject.parseObject(String.valueOf(maps.get("unit_tel")), UserProfileFit.class).getValue());
-        bindingMap.put("image",  Image2Base64(ALIYUN_OSS_ENDPOINT+"/"+JSONObject.parseObject(String.valueOf(maps.get("commitment_electr_signature")), UserProfileFit.class).getValue()));
-        bindingMap.put("y", 1);
-        bindingMap.put("m", 1);
-        bindingMap.put("d", 1);
+        bindingMap.put("image",  ALIYUN_OSS_ENDPOINT+"/"+JSONObject.parseObject(String.valueOf(maps.get("commitment_electr_signature")), UserProfileFit.class).getValue());
+        bindingMap.put("y", Convert.toStr(rightNow.get(Calendar.YEAR)));
+        bindingMap.put("m", rightNow.get(Calendar.MONTH)+1);
+        bindingMap.put("d", rightNow.get(Calendar.DAY_OF_MONTH));
         bindingMap.put("time", JSONObject.parseObject(String.valueOf(maps.get("graduation_time")), UserProfileFit.class).getValue());
         bindingMap.put("year", JSONObject.parseObject(String.valueOf(maps.get("working_years")), UserProfileFit.class).getValue());
-        File touch = FileUtil.touch(ZHONGZHENG_PROFILE+"word.doc");
+        File touch = FileUtil.touch(ZHONGZHENG_PROFILE+"word.html");
         //最终渲染出来的样子
         /*template.render(bindingMap,touch);*/
 
 
         Configuration configuration = new Configuration();
-        configuration.setDefaultEncoding("utf-8");
+        configuration.setDefaultEncoding("UTF-8");
         configuration.setClassForTemplateLoading(this.getClass(), "/templates");
-        Template template = configuration.getTemplate("word.ftl");
+        Template template = configuration.getTemplate("wordPhone.ftl");
         Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(touch),"UTF-8"));
         try {
             template.process(bindingMap,out);
@@ -235,11 +240,15 @@ public class UserProfileServiceImpl extends ServiceImpl<UserProfileMapper, UserP
         } catch (TemplateException | freemarker.template.TemplateException e) {
             e.printStackTrace();
         }
-
+        final Java2DRenderer renderer = new Java2DRenderer(touch, 1000, 1000);
+        final BufferedImage img = renderer.getImage();
+        final FSImageWriter imageWriter = new FSImageWriter();
+        imageWriter.setWriteCompressionQuality(1.0f);
+        imageWriter.write(img, ZHONGZHENG_PROFILE+"wordJpg.jpg");//输出路径
 
         OssRequest ossRequest = new OssRequest();
-        FileInputStream fileInputStream = new FileInputStream(touch);
-        MultipartFile multipartFile = new MockMultipartFile(touch.getName(), touch.getName(),
+        FileInputStream fileInputStream = new FileInputStream(ZHONGZHENG_PROFILE+"wordJpg.jpg");
+        MultipartFile multipartFile = new MockMultipartFile(ZHONGZHENG_PROFILE+"wordJpg.jpg", ZHONGZHENG_PROFILE+"wordJpg.jpg",
                 ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);
         ossRequest.setFile(multipartFile);
         ossRequest.setImageStatus(6);

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -240,7 +240,7 @@
         </if>
         GROUP BY
         c.course_id
-        ORDER BY c.update_time DESC
+        ORDER BY c.create_time DESC
     </select>
 
     <select id="selectCourseList_COUNT" resultType="Long">