From 237d7c42498806a3ca205f63d151671a45304854 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 28 七月 2022 09:19:11 +0800
Subject: [PATCH] 1. 承诺书pdf生产模块

---
 src/main/resources/templates/commitment-restaurant.ftl                                                   |  196 ++++++++
 src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt                            |   31 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseResponse.kt                               |   12 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CommitmentVo.kt                               |   24 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt                |    2 
 src/main/kotlin/cn/flightfeather/supervision/common/pdf/GeneratePdfUtil.kt                               |   14 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/repository/impl/MeetingMaterialRepositoryImpl.kt |    6 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/CommitmentService.kt                     |    4 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImpl.kt            |   84 +++
 src/main/resources/templates/commitment-construction.ftl                                                 |  272 ++++++++++++
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/VersionServiceImpl.kt               |    2 
 src/main/resources/application-pro.yml                                                                   |    5 
 src/test/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImplTest.kt        |   91 +++
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt                      |    9 
 pom.xml                                                                                                  |   21 
 /dev/null                                                                                                |  280 ------------
 src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt                             |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/MediafileServiceImpl.kt             |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt              |    2 
 src/main/resources/application-dev.yml                                                                   |    5 
 src/main/resources/application.yml                                                                       |   12 
 src/main/resources/templates/commitment-vehicle.ftl                                                      |  240 ++++++++++
 22 files changed, 971 insertions(+), 345 deletions(-)

diff --git a/pom.xml b/pom.xml
index cfa143f..0ea86a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -452,19 +452,10 @@
             <resource>
                 <filtering>true</filtering>
                 <directory>src/main/resources</directory>
-                <excludes>
-                    <exclude>application-dev.yml</exclude>
-                    <exclude>application-pro.yml</exclude>
-                    <exclude>application.yml</exclude>
-                </excludes>
-            </resource>
-            <resource>
-                <filtering>true</filtering>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>application-${profileActive}.yml</include>
-                    <include>application.yml</include>
-                </includes>
+<!--                <includes>-->
+<!--                    <include>*.xml</include>-->
+<!--                    <include>*.yml</include>-->
+<!--                </includes>-->
             </resource>
         </resources>
     </build>
@@ -473,7 +464,7 @@
         <profile>
             <id>dev</id>
             <properties>
-                <profileActive>dev</profileActive>
+                <profile.active>dev</profile.active>
             </properties>
             <activation>
                 <activeByDefault>true</activeByDefault>
@@ -482,7 +473,7 @@
         <profile>
             <id>pro</id>
             <properties>
-                <profileActive>pro</profileActive>
+                <profile.active>pro</profile.active>
             </properties>
             <activation>
                 <activeByDefault>false</activeByDefault>
diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/pdf/GeneratePdfUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/common/pdf/GeneratePdfUtil.kt
index 4f3e65e..490b7b3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/common/pdf/GeneratePdfUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/pdf/GeneratePdfUtil.kt
@@ -3,9 +3,7 @@
 import com.itextpdf.html2pdf.ConverterProperties
 import com.itextpdf.html2pdf.HtmlConverter
 import com.itextpdf.layout.font.FontProvider
-import com.itextpdf.text.pdf.BaseFont
 import freemarker.template.Configuration
-import org.xhtmlrenderer.pdf.ITextRenderer
 import java.io.*
 import javax.servlet.http.HttpServletResponse
 
@@ -15,7 +13,7 @@
 object GeneratePdfUtil {
     private const val TEMPORARY_CONTRACT_HTML = "src/main/resources/templates/temporary.html"
 
-    private const val SIMSUM_FILE = "src/main/resources/font/simsun.ttc"
+    private const val SIMSUN_FILE = "src/main/resources/font/simsunb.ttf"
     @Throws(Exception::class)
     fun generateContract(param: DynamicParam): String {
         // 鐢熸垚html鍚堝悓
@@ -23,7 +21,7 @@
         // 鏍规嵁html鍚堝悓鐢熸垚pdf鍚堝悓
         generatePDF(param.outPath + param.outName)
         // 鍒犻櫎涓存椂html鏍煎紡鍚堝悓
-//        removeFile(TEMPORARY_CONTRACT_HTML)
+        removeFile(TEMPORARY_CONTRACT_HTML)
         return param.outPath + param.outName
     }
 
@@ -60,6 +58,9 @@
     private fun generatePDF(pdfUrl: String) {
         val htmFile = File(TEMPORARY_CONTRACT_HTML)
         val pdfFile = File(pdfUrl)
+        if (!pdfFile.parentFile.exists()) {
+            pdfFile.parentFile.mkdirs()
+        }
         println(pdfUrl)
 //        val url = htmFile.toURI()
 //        val os: OutputStream = FileOutputStream(pdfFile)
@@ -73,8 +74,9 @@
 //        os.close()
         val p = ConverterProperties()
         p.fontProvider = FontProvider().apply {
-//            this.addFont(SIMSUM_FILE)
-            this.addDirectory("src/main/resources/font/")
+//            this.addFont(SIMSUN_FILE)
+            this.addSystemFonts()
+//            this.addDirectory("src/main/resources/font/")
         }
         HtmlConverter.convertToPdf(htmFile, pdfFile, p)
     }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt b/src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt
index 9e5e1a0..32a7522 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/config/Swagger2Configuration.kt
@@ -30,7 +30,7 @@
     }
 
     @Value("\${springfox.documentation.swagger.v2.enabled}")
-    private val swagger2Enable: Boolean = true
+    var swagger2Enable: Boolean = true
 
     @Bean
     fun createRestApi(): Docket =
diff --git a/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt b/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
index 6b858bf..2c14d00 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/infrastructure/utils/FileUtil.kt
@@ -1,10 +1,21 @@
 package cn.flightfeather.supervision.infrastructure.utils
 
+import net.coobird.thumbnailator.Thumbnails
+import net.coobird.thumbnailator.tasks.io.FileImageSource
+import org.springframework.util.Base64Utils
+import java.awt.Image
+import java.awt.image.BufferedImage
+import java.io.ByteArrayInputStream
+import java.io.ByteArrayOutputStream
 import java.io.File
 import java.io.FileOutputStream
+import java.util.*
+import javax.imageio.ImageIO
 
 
-class FileUtil {
+object FileUtil {
+    private const val SCHEME_PNG = "data:image/png;base64,"
+
     @Throws(Exception::class)
     fun uploadFile(file: ByteArray, filePath: String, fileName: String) {
         val targetFile = File(filePath)
@@ -29,4 +40,22 @@
         }
         return ""
     }
+
+    /**
+     * 鎸夌収鍥哄畾瀹藉害鍘嬬缉鍥剧墖鑷砨ase64褰㈠紡
+     */
+    fun compressImage2(bytes: ByteArray, w: Int): String {
+        val input = ByteArrayInputStream(bytes)
+        val srcImg = ImageIO.read(input)
+        val srcW = srcImg.width
+        val scale = w.toFloat() / srcW
+        val h = (srcImg.height * scale).toInt()
+
+        val buffImg = BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB)
+        buffImg.graphics.drawImage(srcImg.getScaledInstance(w, h, Image.SCALE_SMOOTH), 0, 0, null)
+        val out = ByteArrayOutputStream()
+        ImageIO.write(buffImg, "PNG", out)
+
+        return SCHEME_PNG + Base64.getEncoder().encodeToString(out.toByteArray())
+    }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/repository/impl/MeetingMaterialRepositoryImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/repository/impl/MeetingMaterialRepositoryImpl.kt
index 1485422..225c0e3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/repository/impl/MeetingMaterialRepositoryImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/repository/impl/MeetingMaterialRepositoryImpl.kt
@@ -38,13 +38,13 @@
 
         val basePath = "D:/02product/05ledger/files/"
         val path = "$meetingId-$roomId/${msgVo.mediaType ?: 0}/"
-        val fileName = FileUtil().getFileName(msgVo.materialUrl)
+        val fileName = FileUtil.getFileName(msgVo.materialUrl)
         url = path + fileName
-        val thumbnailName = FileUtil().getFileName(msgVo.thumbnailPath)
+        val thumbnailName = FileUtil.getFileName(msgVo.thumbnailPath)
         thumbnailPath = path + thumbnailName
 
         files.forEach {file ->
-            FileUtil().uploadFile(file.bytes, basePath + path, file.originalFilename?:"${Date().time}_no_name+file")
+            FileUtil.uploadFile(file.bytes, basePath + path, file.originalFilename?:"${Date().time}_no_name+file")
         }
         meetingMaterialMapper.insert(MeetingMaterial().apply {
             mmId = UUIDGenerator.generate16ShortUUID()
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/CommitmentService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/CommitmentService.kt
index 5f887fa..96d534e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/CommitmentService.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/CommitmentService.kt
@@ -1,6 +1,8 @@
 package cn.flightfeather.supervision.lightshare.service
 
 import cn.flightfeather.supervision.domain.entity.Commitment
+import cn.flightfeather.supervision.lightshare.vo.BaseResponse
+import cn.flightfeather.supervision.lightshare.vo.CommitmentVo
 import org.springframework.web.multipart.MultipartFile
 import javax.servlet.http.HttpServletResponse
 
@@ -10,5 +12,5 @@
 
     fun uploadLetterOfCommitment(userId: String, commitmentVoList: String, files: Array<MultipartFile>): Boolean
 
-    fun createLetterOfCommitment(userId: String, params: MutableMap<String, Any>): String
+    fun createLetterOfCommitment(userId: String, info: CommitmentVo, sign: MultipartFile, seal: MultipartFile?): BaseResponse<String>
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImpl.kt
index 795468e..d854dbc 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImpl.kt
@@ -4,18 +4,29 @@
 import cn.flightfeather.supervision.common.pdf.GeneratePdfUtil
 import cn.flightfeather.supervision.common.pdf.PdfUtil
 import cn.flightfeather.supervision.domain.entity.Commitment
+import cn.flightfeather.supervision.domain.enumeration.SceneType
+import cn.flightfeather.supervision.domain.enumeration.UserType
 import cn.flightfeather.supervision.domain.mapper.CommitmentMapper
+import cn.flightfeather.supervision.domain.mapper.UserinfoMapper
 import cn.flightfeather.supervision.infrastructure.utils.DateUtil
 import cn.flightfeather.supervision.infrastructure.utils.FileUtil
 import cn.flightfeather.supervision.infrastructure.utils.UUIDGenerator
 import cn.flightfeather.supervision.lightshare.service.CommitmentService
+import cn.flightfeather.supervision.lightshare.vo.BaseResponse
+import cn.flightfeather.supervision.lightshare.vo.CommitmentVo
 import com.fasterxml.jackson.databind.ObjectMapper
 import com.fasterxml.jackson.module.kotlin.readValue
 import com.github.pagehelper.PageHelper
+import net.coobird.thumbnailator.tasks.io.InputStreamImageSource
+import org.springframework.beans.factory.annotation.Value
 import org.springframework.stereotype.Service
 import org.springframework.web.multipart.MultipartFile
 import tk.mybatis.mapper.entity.Example
+import java.awt.Image
+import java.io.File
 import java.util.*
+import javax.imageio.ImageReader
+import javax.imageio.stream.ImageInputStream
 import javax.servlet.http.HttpServletResponse
 
 /**
@@ -24,8 +35,11 @@
  */
 @Service
 class CommitmentServiceImpl(
-        val commitmentMapper: CommitmentMapper
+        val commitmentMapper: CommitmentMapper,val userinfoMapper: UserinfoMapper
 ) : CommitmentService {
+
+    @Value("\${imgPath}")
+    lateinit var imgPath: String
 
     override fun getLetterOfCommitment(userId: String, page: Int, perPage: Int, response: HttpServletResponse): List<Commitment> {
         val p = PageHelper.startPage<Commitment>(page, perPage)
@@ -59,7 +73,7 @@
                 }
                 try {
                     //璋冪敤鏂囦欢淇濆瓨鏂规硶
-                    FileUtil().uploadFile(file.bytes, basePath + path, fileName!!)
+                    FileUtil.uploadFile(file.bytes, basePath + path, fileName!!)
                 } catch (e: Exception) {
                     e.printStackTrace()
                 }
@@ -80,13 +94,69 @@
         return commitmentVos.size == success
     }
 
-    override fun createLetterOfCommitment(userId: String, params: MutableMap<String, Any>): String {
+    override fun createLetterOfCommitment(userId: String, info: CommitmentVo, sign: MultipartFile, seal: MultipartFile?): BaseResponse<String> {
+        val signUrl = FileUtil.compressImage2(sign.bytes, 400)
+        val sealUrl = if (seal != null) FileUtil.compressImage2(seal.bytes, 400) else ""
+
         val templatePath = (Thread.currentThread().contextClassLoader?.getResource("/")?.path ?: "src/main") + "/resources/templates/"
-        val templateName = "pdfDemo.ftl"
-        val contractPath = (Thread.currentThread().contextClassLoader?.getResource("/")?.path ?: "src/main") + "/resources/templates/"
-        val contractName = "pdfDemo5.pdf"
+
+        val time = DateUtil().DateToString(Date(), DateUtil.DateStyle.YYYY_MM)
+        val path = "commitments/$time/$userId/"
+        val contractPath = imgPath + path
+
+        val userInfo = userinfoMapper.selectByPrimaryKey(userId) ?: return BaseResponse(false)
+
+        var templateName = ""
+        var contractName = ""
+        val params = mutableMapOf<String, Any>()
+        val now = Date()
+        when (userInfo.extension2?.toIntOrNull()) {
+            SceneType.Restaurant.value -> {
+                templateName = "commitment-restaurant.ftl"
+                contractName = "commitment-restaurant-${now.time}.pdf"
+            }
+            SceneType.Construction.value,
+            SceneType.Wharf.value,
+            SceneType.StorageYard.value,
+            SceneType.MixingPlant.value,
+            SceneType.Industrial.value -> {
+                templateName = "commitment-construction.ftl"
+                contractName = "commitment-construction-${now.time}.pdf"
+            }
+            SceneType.VehicleRepair.value -> {
+                templateName = "commitment-vehicle.ftl"
+                contractName = "commitment-vehicle-${now.time}.pdf"
+            }
+        }
+        params.apply {
+            put("City", info.city)
+            put("District", info.district)
+            put("Department", info.department)
+            put("SocialCode", info.socialCode)
+            put("Number", info.number)
+            put("JuridicalPerson", info.juridicalPerson)
+            put("IdNo", info.idNo)
+            put("Type1", if (info.type1) "鉁�" else "鈻�")
+            put("Type2", if (info.type2) "鉁�" else "鈻�")
+            put("Type3", if (info.type3) "鉁�" else "鈻�")
+            put("Type4", if (info.type4) "鉁�" else "鈻�")
+            put("Sign", signUrl)
+            put("Seal", sealUrl)
+            put("Year", info.year)
+            put("Month", info.month)
+            put("Day", info.day)
+        }
         val param = DynamicParam(templatePath, templateName, contractPath, contractName, params)
         GeneratePdfUtil.generateContract(param)
-        return ""
+        //灏嗙敓浜х殑鎵胯涔﹁褰曟彃鍏ユ暟鎹簱
+        val commitment = Commitment().apply {
+            cmGuid = UUIDGenerator.generate16ShortUUID()
+            uiGuid = userId
+            cmUrl = path + contractName
+            cmCreateTime = Date()
+        }
+        val r = commitmentMapper.insert(commitment)
+
+        return BaseResponse(r == 1, data = path)
     }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
index 5aa39e2..175b756 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/LedgerServiceImpl.kt
@@ -262,7 +262,7 @@
                 }
                 try {
                     //璋冪敤鏂囦欢淇濆瓨鏂规硶
-                    FileUtil().uploadFile(file.bytes, basePath + path, fileName!!)
+                    FileUtil.uploadFile(file.bytes, basePath + path, fileName!!)
                 } catch (e: Exception) {
                     e.printStackTrace()
                 }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/MediafileServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/MediafileServiceImpl.kt
index d5e83a0..fb0098b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/MediafileServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/MediafileServiceImpl.kt
@@ -79,7 +79,7 @@
                 val filePath = "D:/02product/04supervision/images/$path/"
                 try {
                     //璋冪敤鏂囦欢淇濆瓨鏂规硶
-                    FileUtil().uploadFile(image.bytes, filePath, fileName!!)
+                    FileUtil.uploadFile(image.bytes, filePath, fileName!!)
                 } catch (e: Exception) {
                     // TODO: handle exception
                 }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt
index b54c7fe..7fd7c72 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt
@@ -133,7 +133,7 @@
             val path = "accounts/$userId/"
             try {
                 //璋冪敤鏂囦欢淇濆瓨鏂规硶
-                FileUtil().uploadFile(file.bytes, basePath + path, fileName!!)
+                FileUtil.uploadFile(file.bytes, basePath + path, fileName!!)
             } catch (e: Exception) {
                 e.printStackTrace()
             }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/VersionServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/VersionServiceImpl.kt
index 468fd6d..82762df 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/VersionServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/VersionServiceImpl.kt
@@ -37,7 +37,7 @@
             val path = "crash/"
             try {
                 //璋冪敤鏂囦欢淇濆瓨鏂规硶
-                FileUtil().uploadFile(file.bytes, basePath + path, fileName!!)
+                FileUtil.uploadFile(file.bytes, basePath + path, fileName!!)
                 return true
             } catch (e: Exception) {
                 e.printStackTrace()
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseResponse.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseResponse.kt
index 8f45456..45b1d2a 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseResponse.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseResponse.kt
@@ -18,7 +18,17 @@
         val head: DataHead? = null,
         @ApiModelProperty("璇锋眰杩斿洖鏁版嵁")
         val data: T? = null
-)
+) {
+        init {
+                if (message.isBlank()) {
+                        message = if (success) {
+                                "璇锋眰鎴愬姛"
+                        } else {
+                                "璇锋眰澶辫触"
+                        }
+                }
+        }
+}
 
 data class DataHead(
         var page: Int = 1,
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CommitmentVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CommitmentVo.kt
new file mode 100644
index 0000000..6b7fce1
--- /dev/null
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CommitmentVo.kt
@@ -0,0 +1,24 @@
+package cn.flightfeather.supervision.lightshare.vo
+
+/**
+ * 鎵胯涔︾缃蹭俊鎭�
+ */
+data class CommitmentVo(
+    val city: String = "",
+    val district: String = "",
+    val department: String = "",
+    val socialCode: String = "",
+    //鏂囧彿锛堟瘡涓被鍨嬬殑鍦烘櫙鍚嶇О涓嶅悓锛屽伐鍦帮細宸ュ湴鎶ュ缓鍙凤紱椁愰ギ锛氱幆璇勫鎵规枃鍙风瓑锛�
+    val number: String = "",
+    val juridicalPerson: String = "",
+    val idNo: String = "",
+    val type1: Boolean = true,
+    val type2: Boolean = true,
+    val type3: Boolean = true,
+    val type4: Boolean = true,
+    val sign: String = "",
+    val seal: String = "",
+    val year: String = "",
+    val month: String = "",
+    val day: String = ""
+)
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt
index d9c7558..f053f90 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt
@@ -1,6 +1,7 @@
 package cn.flightfeather.supervision.lightshare.web
 
 import cn.flightfeather.supervision.lightshare.service.CommitmentService
+import cn.flightfeather.supervision.lightshare.vo.CommitmentVo
 import io.swagger.annotations.Api
 import io.swagger.annotations.ApiOperation
 import io.swagger.annotations.ApiParam
@@ -35,10 +36,12 @@
         @ApiParam(value = "鎵胯涔﹀浘鐗�") @RequestPart("images") files: Array<MultipartFile>
     ) = commitmentService.uploadLetterOfCommitment(userId, commitmentVoList, files)
 
-    @ApiOperation(value = "鐢熶骇鎵胯涔�")
+    @ApiOperation(value = "鐢熸垚鎵胯涔�")
     @PostMapping("/letter/create")
     fun createLetterOfCommitment(
         @ApiParam(value = "鐢ㄦ埛id") @RequestParam userId: String,
-        @ApiParam(value = "鎵胯涔﹀弬鏁�") @RequestBody params: MutableMap<String, Any>
-    ) = commitmentService.createLetterOfCommitment(userId, params)
+        @ApiParam(value = "鎵胯涔﹀弬鏁�") @RequestBody vo: CommitmentVo,
+        @ApiParam(value = "鎵胯涔︾鍚�") @RequestPart("sign") sign: MultipartFile,
+        @ApiParam(value = "鎵胯涔︾洊绔�", required = false) @RequestPart("seal") seal: MultipartFile?
+    ) = commitmentService.createLetterOfCommitment(userId, vo, sign, seal)
 }
\ No newline at end of file
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 645715d..2daa9a4 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -1,5 +1,10 @@
+name: dev
+
 springfox:
   documentation:
     swagger:
       v2:
         enabled: true
+
+imgPath: target/test-file/
+filePath: D:/02product/05ledger/files/
\ No newline at end of file
diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml
index 135277d..a16dec4 100644
--- a/src/main/resources/application-pro.yml
+++ b/src/main/resources/application-pro.yml
@@ -1,7 +1,10 @@
+name: pro
+
 springfox:
   documentation:
     swagger:
       v2:
         enabled: false
 
-
+imgPath: D:/02product/05ledger/images/
+filePath: D:/02product/05ledger/files/
\ No newline at end of file
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index af25bea..557ae7a 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -52,7 +52,7 @@
     time-zone: GMT+8
 
   profiles:
-    active: '@profileActive@'
+    active: '@profile.active@'
 
   jmx:
     default-domain: ledger
@@ -73,11 +73,11 @@
 logging:
     config: classpath:log4j2.xml
 
-springfox:
-  documentation:
-    swagger:
-      v2:
-        enabled: true
+#springfox:
+#  documentation:
+#    swagger:
+#      v2:
+#        enabled: true
 # Swagger json url address
 # etc. https://petstore.swagger.io/
 swagger.url: http://localhost:8080/v3/swagger.json
\ No newline at end of file
diff --git a/src/main/resources/templates/commitment-construction.docx b/src/main/resources/templates/commitment-construction.docx
deleted file mode 100644
index 1124045..0000000
--- a/src/main/resources/templates/commitment-construction.docx
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/templates/commitment-construction.ftl b/src/main/resources/templates/commitment-construction.ftl
new file mode 100644
index 0000000..d27624a
--- /dev/null
+++ b/src/main/resources/templates/commitment-construction.ftl
@@ -0,0 +1,272 @@
+<html>
+
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta name="generator" content="Aspose.Words for .NET 15.1.0.0" />
+    <title></title>
+</head>
+
+<body>
+    <div>
+        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">${City}</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">${District}</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">寤鸿宸ュ湴</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">鐜淇$敤鎵胯涔�</span></p>
+        <div style="text-align:center">
+            <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin:0 auto; width:501.7pt">
+                <tr style="height:24.6pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏂藉伐</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍗曚綅鍚嶇О</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">${Department}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:25.75pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">缁熶竴绀句細淇$敤浠g爜</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt; text-decoration:none">${SocialCode}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">宸ュ湴鎶ュ缓鍙�</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">${Number}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:24.95pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">濮撳悕</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">${JuridicalPerson}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">韬唤璇佸彿</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">${IdNo}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:42.7pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鐜淇$敤鎵胯绫诲瀷</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Type1} 鐜繚涓讳綋璐d换鎵胯锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt"></span><span
+                                style="font-family:瀹嬩綋; font-size:10pt"></span><span
+                                style="font-family:瀹嬩綋; font-size:10pt"> </span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">${Type2} 鐜琛屾斂璁稿彲浜嬮」锛浡� </span>
+                        </p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt"></span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"></span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"></span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"> </span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Type3} 鐜繚涓撻」璧勯噾鎴栧叾浠栬祫閲戣ˉ鍔╋紱</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"></span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"></span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt"> </span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Type4} 鍏朵粬鐜繚鐢虫姤浜嬮」</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:88.5pt">
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:31.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">鎵�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">璇�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">浜�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">椤�</span></p>
+                    </td>
+                    <td colspan="4"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:top; width:447.85pt">
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">涓鸿返琛岀豢鑹插彂灞曠悊蹇碉紝鍔姏钀ラ�犺瘹瀹炲畧淇$殑绀句細鐜锛岃惤瀹�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏂藉伐</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍗曚綅鐜繚璐d换锛岄檷浣庡洜鐜绛夊洜绱犻�犳垚鐨�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鎵皹姹℃煋</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">闅愭偅鍜屽眳姘戠籂绾�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">纭繚</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">寤虹瓚涓�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍋ュ悍鏈夊簭鍙戝睍</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏈崟浣嶏紙鎴栨湰浜猴級鑷効浣滃嚭濡備笅鎵胯锛�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:10pt">涓�銆佷弗鏍奸伒瀹堝浗瀹躲�佸競銆佸尯鏈夊叧鐜淇濇姢娉曞緥銆佹硶瑙勩�佽绔犮�佹爣鍑嗗拰鏀跨瓥瑙勫畾锛岀Н鏋佸饱琛岀幆澧冧繚鎶ょぞ浼氳矗浠汇��</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">浜屻��</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">浠�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆婁笂娴峰競鐜淇濇姢鏉′緥銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆婁笂娴峰競澶ф皵姹℃煋闃叉不鏉′緥銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆婁笂娴峰競寤鸿宸ョ▼鏂囨槑鏂藉伐绠$悊瑙勫畾銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">绛夎姹備负渚濇嵁锛岀瀛﹀埗瀹氬缓璁惧伐鍦版壃灏樻薄鏌撻槻娌绘柟妗堝苟鍏ず锛屽缓绔嬪仴鍏ㄤ紒涓氬唴閮ㄦ壃灏橀槻娌绘牳鏌ユ満鍒讹紝瀹夋帓涓撲汉璐熻矗鎵皹闃叉不浜嬪疁锛屽強鏃惰褰曘�佷繚瀛樿溅杈嗚繘鍑恒�佸啿娲椼�佹磼姘寸瓑鐜繚鍙拌处</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">涓夈��</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">寤鸿鏂藉伐搴旂鍚�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏂囨槑鏂藉伐</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏍囧噯銆嬶紙</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">DG/TJ 08-2102-2019 )</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">绉戝閰嶇疆鎵皹闃叉不璁炬柦璁惧锛堥珮鍘嬪啿娲楄澶囥�佽嚜鍔ㄥ柗娣嬭缃�侀浘鐐溅銆佹磼姘磋溅绛夛級锛屼緷鎵樻妧闃叉帾鏂藉紑灞曠豢鑹叉柦宸ワ紝骞跺姞寮哄鍣0鎺у埗銆佸厜姹℃煋鎺у埗銆佸己鑵愯殌鎬у寲瀛﹀搧绛夊叾浠栨薄鏌撴帶鍒讹紝</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">闃叉瀵瑰懆杈瑰眳姘戦�犳垚鐢熸椿鐜姹℃煋銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鍥涖�佷弗鏍兼墽琛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鎵皹娌荤悊鍏釜鐧惧垎鐧�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">瑕佹眰</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">1銆佹柦宸ュ伐鍦板懆杈�100%鍥存尅</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">2銆佸嚭鍏ヨ溅杈�100%鍐叉礂</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">3銆佹媶杩佸伐鍦�100%婀挎硶浣滀笟</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">4銆佹福鍦熻溅杈�100%瀵嗛棴杩愯緭</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">5銆佹柦宸ョ幇鍦哄湴闈�100%纭寲</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">6銆佺墿鏂欏爢鏀�100%瑕嗙洊</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">浜�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">閬靛畧鍏充簬鍗板彂銆婁笂娴峰競鎴垮眿寤虹瓚宸ュ湴鎵皹姹℃煋闃叉不宸ヤ綔鏂规銆嬬殑閫氱煡 锛堟勃寤鸿川瀹夎仈銆�2019銆�208 鍙�
+                                锛夌浉鍏宠瀹氾紝</span><span style="font-family:瀹嬩綋; font-size:10pt">瀹夎甯備綇鎴垮煄涔″缓璁剧鐞嗗鍜屽競鐢熸�佺幆澧冨眬瀹樻柟</span>
+                        </p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">缃戠珯鍏ず鍏憡鏍忎腑</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鏈�鏂�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍏竷鐨�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍚堟牸渚涘簲鍟嗘彁渚涚殑鎵皹鍦ㄧ嚎鐩戞祴璁惧锛岄』绗﹀悎</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">涓婃捣甯傚缓绛戞柦宸�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">棰楃矑鐗�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">涓庡櫔澹�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍦ㄧ嚎鐩戞祴鎶�鏈鑼冦��</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">濮旀墭瑙勮寖鏈嶅姟鍗曚綅瀹氭湡杩愮淮锛屽強鏃惰褰曠浉鍏冲彴璐︼紝纭繚鍏舵甯镐娇鐢�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">璁惧鎷嗛櫎銆佺Щ鍔ㄦ垨鍋滆繍椤绘彁鍓嶅悜涓荤閮ㄩ棬鐢宠鎴栧妗堛��</span></p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鍏�佹壃灏樺湪绾跨洃娴嬭澶囧畨瑁呭悗椤荤‘淇濈ǔ瀹氳繍琛岋紝骞�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鍙婃椂涓庣敓鎬佺幆澧冮儴闂ㄦ补鐑熺洃鎺х郴缁熻仈缃戯紝</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">渚濇嵁</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">涓婃捣甯傛壃灏樺湪绾跨洃娴嬫暟鎹墽娉曞簲鐢ㄨ瀹�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">瀹氭湡瀹℃牳鐩戞祴鏁版嵁</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛屼笉瓒呮爣鎺掓斁</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">锛涙壃灏樼洃娴嬫暟鎹潥鍐充笉寮勮櫄浣滃亣锛屼笉瑙︾姱</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">鐜鐩戞祴鏁版嵁寮勮櫄浣滃亣琛屼负鍒ゅ畾鍙婂鐞嗗姙娉�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">涓冦�佷笉浣跨敤鏈笂鐜繚鎷嶇収鐨勯潪閬撹矾鏈烘锛屼笉浣跨敤闈炴硶娓犻亾鎴栦笉杈炬爣鏌存补</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鍏�</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">銆佸悓鎰忔湰鎵胯鍚戠ぞ浼氬叕寮�锛屽苟鑷鎺ュ彈鏀垮簻銆佽涓氱粍缁囥�佷富绠¢儴闂ㄥ鎵樼涓夋柟鐩戠鍗曚綅銆佺ぞ浼氬叕浼椼�佹柊闂昏垎璁虹殑鐩戠潱銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">&#xa0;</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:10pt">浠h〃鎴栬矗</span>
+                                <span style="font-family:瀹嬩綋; font-size:10pt">浠讳汉锛堢瀛楋級锛�</span>
+                                <span style="font-family:瀹嬩綋; font-size:10pt; margin-left: 150pt;">鍗曚綅锛堢洊绔狅級</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0; text-vertical: top;">
+                            <image src="${Sign}" style="width:100pt;height: 40pt;"/>
+                            <image src="${Seal}" style="width:70pt;height: 70pt;margin-left: 210pt;"/>
+                        </p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:10pt">&#xa0;</span></p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:right; text-indent:28.5pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Year}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">骞�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Month}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏈�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Day}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏃�</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:0pt">
+                    <td style="width:42.3pt; border:none"></td>
+                    <td style="width:75.35pt; border:none"></td>
+                    <td style="width:144.35pt; border:none"></td>
+                    <td style="width:108.6pt; border:none"></td>
+                    <td style="width:130.35pt; border:none"></td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/commitment-restaurant.ftl b/src/main/resources/templates/commitment-restaurant.ftl
new file mode 100644
index 0000000..e5803bb
--- /dev/null
+++ b/src/main/resources/templates/commitment-restaurant.ftl
@@ -0,0 +1,196 @@
+锘�<html>
+
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta name="generator" content="Aspose.Words for .NET 15.1.0.0" />
+    <title></title>
+</head>
+
+<body>
+    <div>
+        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">${City}${District}</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">椁愰ギ</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">鍗曚綅鐜淇$敤鎵胯涔�</span></p>
+        <div style="text-align:center">
+            <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin:0 auto">
+                <tr style="height:24.6pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍗曚綅鍚嶇О</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Department}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:25.75pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">缁熶竴绀句細淇$敤浠g爜</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${SocialCode}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鐜瘎瀹℃壒鏂囧彿</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Number}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:24.95pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">濮撳悕</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${JuridicalPerson}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">韬唤璇佸彿</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${IdNo}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:42.7pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鐜淇$敤鎵胯绫诲瀷</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Type1} 鐜繚涓讳綋璐d换鎵胯锛�${Type2} 鐜琛屾斂璁稿彲浜嬮」锛浡� </span></p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Type3} 鐜繚涓撻」璧勯噾鎴栧叾浠栬祫閲戣ˉ鍔╋紱${Type4} 鍏朵粬鐜繚鐢虫姤浜嬮」</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:507.1pt">
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:31.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">鎵�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">璇�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">浜�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">椤�</span></p>
+                    </td>
+                    <td colspan="4"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:top; width:447.85pt">
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓鸿返琛岀豢鑹插彂灞曠悊蹇碉紝鍔姏钀ラ�犺瘹瀹炲畧淇$殑绀句細鐜锛岃惤瀹為楗崟浣嶇幆淇濊矗浠�,闄嶄綆鍥犵幆澧冪瓑鍥犵礌閫犳垚鐨勯鍝佸畨鍏ㄩ殣鎮e拰灞呮皯绾犵悍锛岀‘淇濋楗笟鍋ュ悍鏈夊簭鍙戝睍锛屾湰鍗曚綅(鎴栨湰浜�)鑷効浣滃嚭濡備笅鎵胯:
+                            </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">涓�銆佷弗鏍奸伒瀹堝浗瀹躲�佸競銆佸尯鏈夊叧鐜淇濇姢娉曞緥銆佹硶瑙勩�佽绔犮�佹爣鍑嗗拰鏀跨瓥瑙勫畾,鍧氭寔瀹堟硶鐢熶骇缁忚惀,
+                                绉瀬灞ヨ鐜淇濇姢绀句細璐d换锛屻�� </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">浜屻�佸竷灞�鍜屽缓璁剧鍚堝煄甯傛�讳綋瑙勫垝銆佸競瀹圭殑鐩稿叧瑕佹眰锛屼笉鍦ㄤ互涓嬪尯鍩熸柊寤恒�佹敼寤恒�佹墿寤轰骇鐢熸补鐑熴�佸紓鍛炽�佸簾姘旂殑椁愰ギ鏈嶅姟椤圭洰:灞呮皯浣忓畢妤笺�佹湭閰嶅璁剧珛涓撶敤鐑熼亾鐨勫晢浣忔ゼ浠ュ強鍟嗕綇妤间笌灞呬綇灞傜浉閭荤殑妤煎眰銆�
+                            </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">涓夈�佸畨瑁呮补鐑熷噣鍖栧拰寮傚懗澶勭悊璁炬柦锛屾补鐑熸帓鏀炬祿搴︾鍚�&lt;涓婃捣甯傞楗笟娌圭儫鎺掓斁鏍囧噯銆�(DB
+                                31/844 -2014)锛屽苟濮旀墭绗﹀悎銆婃竻娲佽涓氱粡钀ユ湇鍔¤鑼冦�嬬殑鏈嶅姟鍗曚綅瀹氭湡杩涜缁存姢娓呮礂锛屽強鏃惰褰曠浉鍏冲彴璐︼紝纭繚鍏舵甯镐娇鐢紝闃叉瀵瑰懆杈瑰眳姘戦�犳垚鐢熸椿鐜姹℃煋銆� </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍥涖�佸畨瑁呯鍚堛�奀CAEPI-RG-Y-020-2011銆嬬殑娌圭儫鍦ㄧ嚎鐩戞祴瑁呯疆锛屽苟鍙婃椂涓庣敓鎬佺幆绔熼儴闂╙娌圭儫鐩戞帶绯荤粺鑱旂綉锛屽鎵樿鑼冩湇鍔″崟浣嶅畾鏈熻繍缁达紝鍙婃椂璁板綍鐩稿叧鍙拌处锛岀‘淇濆叾姝e父浣跨敤锛屼笉瓒呮爣鎺掓斁銆�
+                            </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">浜斻�佸噣鍖栬缃鏈恒�佺┖璋冨鏈哄畨瑁呬綅缃敖閲忚繙绂讳綇鎴凤紝鍋氬ソ闅斿櫔銆侀檷鍣帾鏂斤紝鏄奸棿&lt;60dB銆�
+                                澶滈棿&lt;50aB锛� 纭繚涓嶅櫔澹版壈姘戙�� </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">鍏�佷笉鍦ㄧ姝㈢殑鍖哄煙(鍦ㄥ綋鍦颁汉姘戞斂搴滅姝㈢殑鏃舵鍜屽尯鍩�)鍐呴湶澶╃儳鐑ら鍝併�� </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓冦�佸湪灞呮皯鍖哄唴浠庝簨椁愰ギ鏈嶅姟锛屼繚璇佷笉鍥犵幆澧冨洜绱犲奖鍝嶅懆鍥村眳姘戞甯哥敓娲伙紝涓�鏃﹀洜鎵版皯绛夐棶棰樺嚭鐜扮殑绾犵悍鐢辨湰鍗曚綅鑷璐熻矗鍗忓晢瑙h瘈骞剁珛鍗虫暣鏀广��
+                            </span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍏�佸悓鎰忔湰鎵胯鍚戠ぞ浼氬叕寮�锛屽苟鑷鎺ュ彈鏀垮簻銆佽涓氱粍缁囥�佷富绠¢儴闂ㄥ鎵樼涓夋柟鐩戠鍗曚綅銆佺ぞ浼氬叕浼椼�佹柊闂昏垎璁虹殑鐩戠潱銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">&#xa0;</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span>
+                            <span style="font-family:瀹嬩綋; font-size:12pt">浠h〃鎴栬矗</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">浠讳汉锛堢瀛楋級锛�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt; margin-left: 150pt;">鍗曚綅锛堢洊绔狅級</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
+                            <image src="${Sign}" style="width:100pt;height: 40pt;"/>
+                            <image src="${Seal}" style="width:70pt;height: 70pt;margin-left: 210pt;"/>
+                        </p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">&#xa0;</span></p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:right; text-indent:28.5pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Year}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">骞�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Month}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏈�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Day}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏃�</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:0pt">
+                    <td style="width:42.3pt; border:none"></td>
+                    <td style="width:75.35pt; border:none"></td>
+                    <td style="width:144.35pt; border:none"></td>
+                    <td style="width:108.6pt; border:none"></td>
+                    <td style="width:130.35pt; border:none"></td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/commitment-vehicle.ftl b/src/main/resources/templates/commitment-vehicle.ftl
new file mode 100644
index 0000000..931c62c
--- /dev/null
+++ b/src/main/resources/templates/commitment-vehicle.ftl
@@ -0,0 +1,240 @@
+锘�<html>
+
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <meta http-equiv="Content-Style-Type" content="text/css" />
+    <meta name="generator" content="Aspose.Words for .NET 15.1.0.0" />
+    <title></title>
+</head>
+
+<body>
+    <div>
+        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">${City}${District}</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">姹戒慨</span><span
+                style="font-family:瀹嬩綋; font-size:18pt; font-weight:bold">鍗曚綅鐜淇$敤鎵胯涔�</span></p>
+        <div style="text-align:center">
+            <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin:0 auto; width:501.7pt">
+                <tr style="height:24.6pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍗曚綅鍚嶇О</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Department}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:25.75pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">缁熶竴绀句細淇$敤浠g爜</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt; text-decoration:none">${SocialCode}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鐜瘎瀹℃壒鏂囧彿</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Number}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:24.95pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">濮撳悕</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${JuridicalPerson}</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠h〃</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">韬唤璇佸彿</span></p>
+                    </td>
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${IdNo}</span></p>
+                    </td>
+                </tr>
+                <tr style="height:42.7pt">
+                    <td colspan="2"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鐜淇$敤鎵胯绫诲瀷</span></p>
+                    </td>
+                    <td colspan="3"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Type1} 鐜繚涓讳綋璐d换鎵胯锛�${Type2} 鐜琛屾斂璁稿彲浜嬮」锛浡� </span></p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">${Type3} 鐜繚涓撻」璧勯噾鎴栧叾浠栬祫閲戣ˉ鍔╋紱${Type4} 鍏朵粬鐜繚鐢虫姤浜嬮」</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:278.35pt">
+                    <td
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:31.5pt">
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">鎵�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">璇�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">浜�</span></p>
+                        <p style="margin:0pt; orphans:0; text-align:center; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:14pt">椤�</span></p>
+                    </td>
+                    <td colspan="4"
+                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:top; width:447.85pt">
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">涓鸿返琛岀豢鑹插彂灞曠悊蹇碉紝鍔姏钀ラ�犺瘹瀹炲畧淇$殑绀句細鐜锛岃惤瀹�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">姹戒慨</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍗曚綅鐜繚璐d换锛岄檷浣庡洜鐜绛夊洜绱犻�犳垚鐨�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">姹戒慨</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">瀹夊叏闅愭偅鍜屽眳姘戠籂绾凤紝纭繚</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">姹戒慨</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓氬仴搴锋湁搴忓彂灞曪紝鏈崟浣嶏紙鎴栨湰浜猴級鑷効浣滃嚭濡備笅鎵胯锛�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓�銆佷弗鏍奸伒瀹堝浗瀹躲�佸競銆佸尯鏈夊叧鐜淇濇姢娉曞緥銆佹硶瑙勩�佽绔犮�佹爣鍑嗗拰鏀跨瓥瑙勫畾锛屽潥鎸佸畧娉曠敓浜х粡钀ワ紝绉瀬灞ヨ鐜淇濇姢绀句細璐d换銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">浜屻��</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">寤虹珛鍋ュ叏绠$悊鍒跺害锛屽姞寮烘棩甯哥鐞嗭紝寤虹珛鍗遍櫓搴熺墿鍙拌处鍜岀鐞嗚鍒掋�佹薄鏌撻槻娌昏鏂借繍琛岀鐞嗗彴璐︼紝钀藉疄鐜鐩戞祴绛夊悇椤硅姹傦紝钀藉疄鍚勭被鐜椋庨櫓闃茶寖鎺柦</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">涓夈��</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娲楄溅搴熸按銆佺淮淇尯鍩熷満鍦板啿娲楀簾姘村叏閮ㄦ敹闆嗭紝缁�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓夌骇</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娌夌爞闅旀补姹犲鐞嗗悗</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">绾崇鎺掓斁</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">搴熸补銆佸喎鍐绘恫銆佹鼎婊戞补鍙婇浂閮ㄤ欢鐨勬竻娲楀簾娑层�佹矇娣�娌规偿绛夊崟鐙敹闆嗗洖鏀讹紝绂佹鎺掑叆涓嬫按绯荤粺銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">鍥涖�佹秹鍙婂柗娑傜瓑浜х敓搴熸皵鎺掓斁鐨勶紝椤诲畨瑁�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">VOCs</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">澶勭悊璁炬柦</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鎺掓斁鐨勫悇绫诲ぇ姘旀薄鏌撶墿搴旇揪鍒般�婂ぇ姘旀薄鏌撶墿缁煎悎鎺掓斁鏍囧噯銆嬶紙DB31/933-2015锛夎瀹氱殑鎺掓斁闄愬�艰姹傘��</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">搴熸皵鍑�鍖栬缃畾</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt; text-decoration:none">鏈熺淮鎶�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">锛屽苟瀹氭湡鏇存崲鐩稿簲鑰楁潗锛堟椿鎬х偔銆佽繃婊ゆ绛夛級锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍙婃椂璁板綍鐩稿叧鍙拌处锛岀‘淇濆叾姝e父浣跨敤锛岄槻姝㈠鍛ㄨ竟灞呮皯閫犳垚鐢熸椿鐜姹℃煋</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">鎵撶(銆佸柗婕嗐�佺儰婕嗐�佺儤骞层�佽皟婕嗐�佸柗鏋竻娲楃瓑浜х敓搴熸皵鐨勫伐搴忓湪瀵嗛棴绌洪棿鍐呰繘琛岋紝鏀堕泦浜х敓鐨勫簾姘旓紝骞剁粡娲绘�х偔鍚搁檮</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">绛夋柟寮忓鐞�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍚庯紝閫氳繃鎺掓皵绛掗珮绌烘帓鏀俱�傛帓姘旂瓛楂樺害涓嶄綆浜�15绫�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍏蜂綋楂樺害鎸夌幆澧冨奖鍝嶈瘎浠疯姹傜‘瀹�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍚玍OCs鍘熻緟鏉愭枡锛堝娌规紗銆佹秱鏂欙級鍏ㄨ繃绋嬩繚鎸佸瘑闂紝浣跨敤杩囩▼闅忓彇闅忓紑銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">浜�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">娑夊強鍠锋秱绛変骇鐢熷簾姘旀帓鏀剧殑锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鑷効</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">瀹夎绗﹀悎銆婁笂娴峰競鍥哄畾姹℃煋婧愰潪鐢茬兎鎬荤儍鍦ㄧ嚎鐩戞祴绯荤粺楠屾敹鍙婅繍琛屾妧鏈姹傦紙璇曡锛夈�嬬殑</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">VOCs</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍦ㄧ嚎鐩戞祴瑁呯疆</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠ュ強宸ュ喌鐩戞祴妯″潡鍜岃棰戠洃娴嬫ā鍧�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">锛屽苟鍙婃椂涓庣敓鎬佺幆澧冮儴闂�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">鐩稿叧鐩戞帶</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">绯荤粺鑱旂綉锛屽鎵樿鑼冩湇鍔″崟浣嶅畾鏈熻繍缁达紝鍙婃椂璁板綍鐩稿叧鍙拌处锛岀‘淇濆叾姝e父浣跨敤锛屼笉瓒呮爣鎺掓斁銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">鍏�佷笌鍏锋湁銆婂嵄闄╁簾鐗╃粡钀ヨ鍙瘉銆嬭祫璐ㄥ崟浣嶇璁㈠嵄搴熷缃悎鍚岋紝骞剁‘淇濆悎鍚岀殑鏈夋晥鎬с�傛寜鏃剁紪鍒跺嵄闄╁簾鐗╃鐞嗭紙杞Щ锛夎鍒掑苟鍙婃椂鍚戠幆淇濅富绠¢儴闂ㄥ妗堬紝</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">骞朵弗鏍艰惤瀹炲嵄闄╁簾鐗╄浆绉昏仈鍗曞埗搴︺�傚叾浠栦竴鑸浐浣撳簾鐗╂寜鐓ф湰甯傛湁鍏宠瀹氬Ε鍠勫缃��</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span
+                                style="font-family:瀹嬩綋; font-size:12pt">搴熺熆鐗╂补銆佸簾娌规紗娓c�佸簾娌规紗妗�/搴熸満娌规《銆佸簾娲绘�х偔銆佸簾鍚搁檮妫夌瓑杩囨护鍚搁檮浠嬭川銆佸簾鍌寲鍓傚拰搴熼搮閰歌搫鐢垫睜绛変富瑕佸嵄搴熷簲绗﹀悎銆婂嵄闄╁簾鐗╄串瀛樻薄鏌撴帶鍒舵爣鍑嗐�嬶紙GB18597-2001锛夌殑鏈夊叧瑕佹眰锛屾敹闆嗐�佽串瀛樸�佽繍杈撱�佸埄鐢ㄣ�佸缃嵄闄╁簾鐗╃殑璁炬柦銆佸満鎵�锛屽繀椤昏缃嵄闄╁簾鐗╄绀烘爣蹇楀拰璇嗗埆鏍囧織锛屾寜鐓у嵄闄╁簾鐗╃壒鎬у垎绫昏繘琛屾敹闆嗐�佽串瀛橈紝涓嶅悓绫诲簾鐗╅棿鏈夋槑鏄剧殑闂撮殧锛�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">璐瓨娑叉�佹垨鍗婃恫鎬佸嵄搴熺殑搴旇缃硠闇叉恫浣撴敹闆嗚缃紝鍗�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">闄╁簾鐗╀笉寰楁贩鍏ラ潪鍗遍櫓搴熺墿涓串瀛樸��</span>
+                        </p>
+                        <p style="margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">涓�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">閲囧彇缁煎悎闅斿0銆佸噺闇囨帾鏂斤紝纭繚鍘傜晫鍣0杈惧埌銆婂伐涓氫紒涓氬巶鐣岀幆澧冨櫔澹版帓鏀炬爣鍑嗐�嬶紙GB12348-2008锛夌浉搴斿0鍔熻兘鍖烘帓鏀鹃檺鍊艰姹傦紝</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">纭繚涓嶅櫔澹版壈姘戙��</span></p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">鍏�</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">銆佸悓鎰忔湰鎵胯鍚戠ぞ浼氬叕寮�锛屽苟鑷鎺ュ彈鏀垮簻銆佽涓氱粍缁囥�佷富绠¢儴闂ㄥ鎵樼涓夋柟鐩戠鍗曚綅銆佺ぞ浼氬叕浼椼�佹柊闂昏垎璁虹殑鐩戠潱銆�</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">&#xa0;</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:12pt">娉曚汉</span><span
+                                style="font-family:瀹嬩綋; font-size:12pt">浠h〃鎴栬矗</span>
+                                <span style="font-family:瀹嬩綋; font-size:10pt">浠讳汉锛堢瀛楋級锛�</span>
+                                <span style="font-family:瀹嬩綋; font-size:10pt; margin-left: 150pt;">鍗曚綅锛堢洊绔狅級</span>
+                        </p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
+                            <image src="${Sign}" style="width:100pt;height: 40pt;"/>
+                            <image src="${Seal}" style="width:70pt;height: 70pt;margin-left: 210pt;"/>
+                        </p>
+                        <p style="line-height:20pt; margin:0pt; orphans:0; text-align:justify; widows:0"><span
+                                style="font-family:瀹嬩綋; font-size:12pt">&#xa0;</span></p>
+                        <p
+                            style="line-height:20pt; margin:0pt; orphans:0; text-align:right; text-indent:28.5pt; widows:0">
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Year}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">骞�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Month}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏈�</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">${Day}</span>
+                            <span style="font-family:瀹嬩綋; font-size:10pt">鏃�</span>
+                        </p>
+                    </td>
+                </tr>
+                <tr style="height:0pt">
+                    <td style="width:42.3pt; border:none"></td>
+                    <td style="width:75.35pt; border:none"></td>
+                    <td style="width:144.35pt; border:none"></td>
+                    <td style="width:108.6pt; border:none"></td>
+                    <td style="width:130.35pt; border:none"></td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/pdfDemo.ftl b/src/main/resources/templates/pdfDemo.ftl
deleted file mode 100644
index 1174eba..0000000
--- a/src/main/resources/templates/pdfDemo.ftl
+++ /dev/null
@@ -1,280 +0,0 @@
-锘�<html>
-
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <meta http-equiv="Content-Style-Type" content="text/css" />
-    <meta name="generator" content="Aspose.Words for .NET 15.1.0.0" />
-    <title></title>
-</head>
-
-<body>
-    <div>
-        <p style="font-size:18pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-            <!-- <span style=" font-size:18pt; font-weight:bold">涓婃捣甯�</span>
-            <span style=" font-size:18pt; font-weight:bold">寰愭眹鍖�</span> -->
-            <span style=" font-size:18pt; font-weight:bold">寤鸿宸ュ湴</span>
-            <span style=" font-size:18pt; font-weight:bold">鐜淇$敤鎵胯涔�</span>
-        </p>
-        <div style="text-align:center">
-            <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin:0 auto; width:501.7pt">
-                <tr style="height:24.6pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">鏂藉伐</span><span
-                                style=" font-size:12pt">鍗曚綅鍚嶇О</span>
-                        </p>
-                    </td>
-                    <td colspan="3"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">${Department}</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:25.75pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">缁熶竴绀句細淇$敤浠g爜</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">${SocialCode}</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">宸ュ湴</span><span
-                                style=" font-size:12pt">鎶ュ缓鍙�</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">${ConstructionNo}</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:24.95pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃</span><span
-                                style=" font-size:12pt">濮撳悕</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">${JuridicalPerson}</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃</span><span
-                                style=" font-size:12pt">韬唤璇佸彿</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">${IdNo}</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:42.7pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span
-                                style=" font-size:12pt">鐜淇$敤鎵胯绫诲瀷</span></p>
-                    </td>
-                    <td colspan="3"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">${Type1}鐜繚涓讳綋璐d换鎵胯锛�${Type2}鐜琛屾斂璁稿彲浜嬮」锛浡� </span></p>
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">${Type3}鐜繚涓撻」璧勯噾鎴栧叾浠栬祫閲戣ˉ鍔╋紱${Type4}鍏朵粬鐜繚鐢虫姤浜嬮」</span></p>
-                    </td>
-                </tr>
-                <tr style="height:88.5pt">
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:31.5pt">
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">鎵�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">璇�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">浜�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">椤�</span>
-                        </p>
-                    </td>
-                    <td colspan="4"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:top; width:447.85pt">
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓鸿返琛岀豢鑹插彂灞曠悊蹇碉紝鍔姏钀ラ�犺瘹瀹炲畧淇$殑绀句細鐜锛岃惤瀹�</span><span
-                                style=" font-size:12pt">鏂藉伐</span><span
-                                style=" font-size:12pt">鍗曚綅鐜繚璐d换锛�</span><span
-                                style=" font-size:12pt">闄嶄綆鍥犵幆澧冪瓑鍥犵礌閫犳垚鐨�</span><span
-                                style=" font-size:12pt">鎵皹姹℃煋</span><span
-                                style=" font-size:12pt">闅愭偅鍜屽眳姘戠籂绾�</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">纭繚</span><span
-                                style=" font-size:12pt">寤虹瓚涓�</span><span
-                                style=" font-size:12pt">鍋ュ悍鏈夊簭鍙戝睍</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">鏈崟浣嶏紙鎴栨湰浜猴級鑷効浣滃嚭濡備笅鎵胯锛�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span
-                                style=" font-size:12pt">涓�銆佷弗鏍奸伒瀹堝浗瀹躲�佸競銆佸尯鏈夊叧鐜淇濇姢娉曞緥銆佹硶瑙勩�佽绔犮�佹爣鍑嗗拰鏀跨瓥瑙勫畾锛岀Н鏋佸饱琛岀幆澧冧繚鎶ょぞ浼氳矗浠汇��</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">浜屻��</span><span
-                                style=" font-size:12pt">浠�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競鐜淇濇姢鏉′緥銆�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競澶ф皵姹℃煋闃叉不鏉′緥銆�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競寤鸿宸ョ▼鏂囨槑鏂藉伐绠$悊瑙勫畾銆�</span><span
-                                style=" font-size:12pt">绛夎姹備负渚濇嵁锛岀瀛﹀埗瀹氬缓璁惧伐鍦版壃灏樻薄鏌撻槻娌绘柟妗堝苟鍏ず锛屽缓绔嬪仴鍏ㄤ紒涓氬唴閮ㄦ壃灏橀槻娌绘牳鏌ユ満鍒讹紝瀹夋帓涓撲汉璐熻矗鎵皹闃叉不浜嬪疁锛屽強鏃惰褰曘�佷繚瀛樿溅杈嗚繘鍑恒�佸啿娲椼�佹磼姘寸瓑鐜繚鍙拌处</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓夈��</span><span
-                                style=" font-size:12pt">寤鸿鏂藉伐搴旂鍚�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">鏂囨槑鏂藉伐</span><span
-                                style=" font-size:12pt">鏍囧噯銆嬶紙</span><span
-                                style=" font-size:12pt">DG/TJ 08-2102-2019 )</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">绉戝閰嶇疆鎵皹闃叉不璁炬柦璁惧锛堥珮鍘嬪啿娲楄澶囥�佽嚜鍔ㄥ柗娣嬭缃�侀浘鐐溅銆佹磼姘磋溅绛夛級锛屼緷鎵樻妧闃叉帾鏂藉紑灞曠豢鑹叉柦宸ワ紝骞跺姞寮哄鍣0鎺у埗銆佸厜姹℃煋鎺у埗銆佸己鑵愯殌鎬у寲瀛﹀搧绛夊叾浠栨薄鏌撴帶鍒讹紝</span><span
-                                style=" font-size:12pt">闃叉瀵瑰懆杈瑰眳姘戦�犳垚鐢熸椿鐜姹℃煋銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍥涖�佷弗鏍兼墽琛�</span><span
-                                style=" font-size:12pt">鎵皹娌荤悊鍏釜鐧惧垎鐧�</span><span
-                                style=" font-size:12pt">瑕佹眰</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">1銆佹柦宸ュ伐鍦板懆杈�100%鍥存尅</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">2銆佸嚭鍏ヨ溅杈�100%鍐叉礂</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">3銆佹媶杩佸伐鍦�100%婀挎硶浣滀笟</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">4銆佹福鍦熻溅杈�100%瀵嗛棴杩愯緭</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">5銆佹柦宸ョ幇鍦哄湴闈�100%纭寲</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">6銆佺墿鏂欏爢鏀�100%瑕嗙洊</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">浜�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">閬靛畧鍏充簬鍗板彂銆婁笂娴峰競鎴垮眿寤虹瓚宸ュ湴鎵皹姹℃煋闃叉不宸ヤ綔鏂规銆嬬殑閫氱煡 锛堟勃寤鸿川瀹夎仈銆�2019銆�208 鍙�
-                                锛夌浉鍏宠瀹氾紝</span><span style=" font-size:12pt">瀹夎甯備綇鎴垮煄涔″缓璁剧鐞嗗鍜屽競鐢熸�佺幆澧冨眬瀹樻柟</span>
-                        </p>
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">缃戠珯鍏ず鍏憡鏍忎腑</span><span
-                                style=" font-size:12pt">鏈�鏂�</span><span
-                                style=" font-size:12pt">鍏竷鐨�</span><span
-                                style=" font-size:12pt">鍚堟牸渚涘簲鍟嗘彁渚涚殑鎵皹鍦ㄧ嚎鐩戞祴璁惧锛岄』绗﹀悎</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">涓婃捣甯傚缓绛戞柦宸�</span><span
-                                style=" font-size:12pt">棰楃矑鐗�</span><span
-                                style=" font-size:12pt">涓庡櫔澹�</span><span
-                                style=" font-size:12pt">鍦ㄧ嚎鐩戞祴鎶�鏈鑼冦��</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">濮旀墭瑙勮寖鏈嶅姟鍗曚綅瀹氭湡杩愮淮锛屽強鏃惰褰曠浉鍏冲彴璐︼紝纭繚鍏舵甯镐娇鐢�</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">璁惧鎷嗛櫎銆佺Щ鍔ㄦ垨鍋滆繍椤绘彁鍓嶅悜涓荤閮ㄩ棬鐢宠鎴栧妗堛��</span></p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍏�佹壃灏樺湪绾跨洃娴嬭澶囧畨瑁呭悗椤荤‘淇濈ǔ瀹氳繍琛岋紝骞�</span><span
-                                style=" font-size:12pt">鍙婃椂涓庣敓鎬佺幆澧冮儴闂ㄦ补鐑熺洃鎺х郴缁熻仈缃戯紝</span><span
-                                style=" font-size:12pt">渚濇嵁</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">涓婃捣甯傛壃灏樺湪绾跨洃娴嬫暟鎹墽娉曞簲鐢ㄨ瀹�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">瀹氭湡瀹℃牳鐩戞祴鏁版嵁</span><span
-                                style=" font-size:12pt">锛屼笉瓒呮爣鎺掓斁</span><span
-                                style=" font-size:12pt">锛涙壃灏樼洃娴嬫暟鎹潥鍐充笉寮勮櫄浣滃亣锛屼笉瑙︾姱</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">鐜鐩戞祴鏁版嵁寮勮櫄浣滃亣琛屼负鍒ゅ畾鍙婂鐞嗗姙娉�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓冦�佷笉浣跨敤鏈笂鐜繚鎷嶇収鐨勯潪閬撹矾鏈烘锛屼笉浣跨敤闈炴硶娓犻亾鎴栦笉杈炬爣鏌存补</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍏�</span><span
-                                style=" font-size:12pt">銆佸悓鎰忔湰鎵胯鍚戠ぞ浼氬叕寮�锛屽苟鑷鎺ュ彈鏀垮簻銆佽涓氱粍缁囥�佷富绠¢儴闂ㄥ鎵樼涓夋柟鐩戠鍗曚綅銆佺ぞ浼氬叕浼椼�佹柊闂昏垎璁虹殑鐩戠潱銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">&#xa0;</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃鎴栬矗</span><span
-                                style=" font-size:12pt">浠讳汉锛堢瀛楋級锛毬�${Sign}聽聽聽聽 鍗曚綅锛堢洊绔狅級 ${Seal}</span>
-                        </p>
-                        <br /><br /><br /><br />
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:right; text-indent:28.5pt; widows:0">
-                            <span style=" font-size:12pt">${Year}骞绰�${Month} 鏈埪�${Day} 鏃�</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:0pt">
-                    <td style="width:42.3pt; border:none"></td>
-                    <td style="width:75.35pt; border:none"></td>
-                    <td style="width:144.35pt; border:none"></td>
-                    <td style="width:108.6pt; border:none"></td>
-                    <td style="width:130.35pt; border:none"></td>
-                </tr>
-            </table>
-        </div>
-        <p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0">
-            <span style=" font-size:10.5pt">&#xa0;</span>
-        </p>
-    </div>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/src/main/resources/templates/pdfDemo5.docx b/src/main/resources/templates/pdfDemo5.docx
deleted file mode 100644
index 2a41181..0000000
--- a/src/main/resources/templates/pdfDemo5.docx
+++ /dev/null
Binary files differ
diff --git a/src/main/resources/templates/pdfDemo5.pdf b/src/main/resources/templates/pdfDemo5.pdf
deleted file mode 100644
index e69de29..0000000
--- a/src/main/resources/templates/pdfDemo5.pdf
+++ /dev/null
diff --git a/src/main/resources/templates/temporary.html b/src/main/resources/templates/temporary.html
deleted file mode 100644
index 1d306e0..0000000
--- a/src/main/resources/templates/temporary.html
+++ /dev/null
@@ -1,280 +0,0 @@
-锘�<html>
-
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <meta http-equiv="Content-Style-Type" content="text/css" />
-    <meta name="generator" content="Aspose.Words for .NET 15.1.0.0" />
-    <title></title>
-</head>
-
-<body>
-    <div>
-        <p style="font-size:18pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-            <!-- <span style=" font-size:18pt; font-weight:bold">涓婃捣甯�</span>
-            <span style=" font-size:18pt; font-weight:bold">寰愭眹鍖�</span> -->
-            <span style=" font-size:18pt; font-weight:bold">寤鸿宸ュ湴</span>
-            <span style=" font-size:18pt; font-weight:bold">鐜淇$敤鎵胯涔�</span>
-        </p>
-        <div style="text-align:center">
-            <table cellspacing="0" cellpadding="0" style="border-collapse:collapse; margin:0 auto; width:501.7pt">
-                <tr style="height:24.6pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">鏂藉伐</span><span
-                                style=" font-size:12pt">鍗曚綅鍚嶇О</span>
-                        </p>
-                    </td>
-                    <td colspan="3"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">鏌愭煇浼佷笟</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:25.75pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">缁熶竴绀句細淇$敤浠g爜</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">9283987983179</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">宸ュ湴</span><span
-                                style=" font-size:12pt">鎶ュ缓鍙�</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">13u981479835</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:24.95pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃</span><span
-                                style=" font-size:12pt">濮撳悕</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:133.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">鏌愭煇鏌�</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:97.8pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃</span><span
-                                style=" font-size:12pt">韬唤璇佸彿</span>
-                        </p>
-                    </td>
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:119.55pt">
-                        <p
-                            style="font-size:12pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:12pt">12314876128736128736</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:42.7pt">
-                    <td colspan="2"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:106.85pt">
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0"><span
-                                style=" font-size:12pt">鐜淇$敤鎵胯绫诲瀷</span></p>
-                    </td>
-                    <td colspan="3"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:middle; width:372.5pt">
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">鈻$幆淇濅富浣撹矗浠绘壙璇猴紱鈻$幆澧冭鏀胯鍙簨椤癸紱聽 </span></p>
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">鈻$幆淇濅笓椤硅祫閲戞垨鍏朵粬璧勯噾琛ュ姪锛涒枴鍏朵粬鐜繚鐢虫姤浜嬮」</span></p>
-                    </td>
-                </tr>
-                <tr style="height:88.5pt">
-                    <td
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-left-color:#000000; border-left-style:solid; border-left-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.03pt; padding-right:5.03pt; vertical-align:middle; width:31.5pt">
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">鎵�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">璇�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">浜�</span>
-                        </p>
-                        <p
-                            style="font-size:14pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:center; widows:0">
-                            <span style=" font-size:14pt">椤�</span>
-                        </p>
-                    </td>
-                    <td colspan="4"
-                        style="border-bottom-color:#000000; border-bottom-style:solid; border-bottom-width:0.75pt; border-right-color:#000000; border-right-style:solid; border-right-width:0.75pt; border-top-color:#000000; border-top-style:solid; border-top-width:0.75pt; padding-left:5.4pt; padding-right:5.03pt; vertical-align:top; width:447.85pt">
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓鸿返琛岀豢鑹插彂灞曠悊蹇碉紝鍔姏钀ラ�犺瘹瀹炲畧淇$殑绀句細鐜锛岃惤瀹�</span><span
-                                style=" font-size:12pt">鏂藉伐</span><span
-                                style=" font-size:12pt">鍗曚綅鐜繚璐d换锛�</span><span
-                                style=" font-size:12pt">闄嶄綆鍥犵幆澧冪瓑鍥犵礌閫犳垚鐨�</span><span
-                                style=" font-size:12pt">鎵皹姹℃煋</span><span
-                                style=" font-size:12pt">闅愭偅鍜屽眳姘戠籂绾�</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">纭繚</span><span
-                                style=" font-size:12pt">寤虹瓚涓�</span><span
-                                style=" font-size:12pt">鍋ュ悍鏈夊簭鍙戝睍</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">鏈崟浣嶏紙鎴栨湰浜猴級鑷効浣滃嚭濡備笅鎵胯锛�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span
-                                style=" font-size:12pt">涓�銆佷弗鏍奸伒瀹堝浗瀹躲�佸競銆佸尯鏈夊叧鐜淇濇姢娉曞緥銆佹硶瑙勩�佽绔犮�佹爣鍑嗗拰鏀跨瓥瑙勫畾锛岀Н鏋佸饱琛岀幆澧冧繚鎶ょぞ浼氳矗浠汇��</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">浜屻��</span><span
-                                style=" font-size:12pt">浠�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競鐜淇濇姢鏉′緥銆�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競澶ф皵姹℃煋闃叉不鏉′緥銆�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆婁笂娴峰競寤鸿宸ョ▼鏂囨槑鏂藉伐绠$悊瑙勫畾銆�</span><span
-                                style=" font-size:12pt">绛夎姹備负渚濇嵁锛岀瀛﹀埗瀹氬缓璁惧伐鍦版壃灏樻薄鏌撻槻娌绘柟妗堝苟鍏ず锛屽缓绔嬪仴鍏ㄤ紒涓氬唴閮ㄦ壃灏橀槻娌绘牳鏌ユ満鍒讹紝瀹夋帓涓撲汉璐熻矗鎵皹闃叉不浜嬪疁锛屽強鏃惰褰曘�佷繚瀛樿溅杈嗚繘鍑恒�佸啿娲椼�佹磼姘寸瓑鐜繚鍙拌处</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓夈��</span><span
-                                style=" font-size:12pt">寤鸿鏂藉伐搴旂鍚�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">鏂囨槑鏂藉伐</span><span
-                                style=" font-size:12pt">鏍囧噯銆嬶紙</span><span
-                                style=" font-size:12pt">DG/TJ 08-2102-2019 )</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">绉戝閰嶇疆鎵皹闃叉不璁炬柦璁惧锛堥珮鍘嬪啿娲楄澶囥�佽嚜鍔ㄥ柗娣嬭缃�侀浘鐐溅銆佹磼姘磋溅绛夛級锛屼緷鎵樻妧闃叉帾鏂藉紑灞曠豢鑹叉柦宸ワ紝骞跺姞寮哄鍣0鎺у埗銆佸厜姹℃煋鎺у埗銆佸己鑵愯殌鎬у寲瀛﹀搧绛夊叾浠栨薄鏌撴帶鍒讹紝</span><span
-                                style=" font-size:12pt">闃叉瀵瑰懆杈瑰眳姘戦�犳垚鐢熸椿鐜姹℃煋銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍥涖�佷弗鏍兼墽琛�</span><span
-                                style=" font-size:12pt">鎵皹娌荤悊鍏釜鐧惧垎鐧�</span><span
-                                style=" font-size:12pt">瑕佹眰</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">1銆佹柦宸ュ伐鍦板懆杈�100%鍥存尅</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">2銆佸嚭鍏ヨ溅杈�100%鍐叉礂</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">3銆佹媶杩佸伐鍦�100%婀挎硶浣滀笟</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">4銆佹福鍦熻溅杈�100%瀵嗛棴杩愯緭</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">5銆佹柦宸ョ幇鍦哄湴闈�100%纭寲</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">6銆佺墿鏂欏爢鏀�100%瑕嗙洊</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">浜�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">閬靛畧鍏充簬鍗板彂銆婁笂娴峰競鎴垮眿寤虹瓚宸ュ湴鎵皹姹℃煋闃叉不宸ヤ綔鏂规銆嬬殑閫氱煡 锛堟勃寤鸿川瀹夎仈銆�2019銆�208 鍙�
-                                锛夌浉鍏宠瀹氾紝</span><span style=" font-size:12pt">瀹夎甯備綇鎴垮煄涔″缓璁剧鐞嗗鍜屽競鐢熸�佺幆澧冨眬瀹樻柟</span>
-                        </p>
-                        <p style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0"><span
-                                style=" font-size:12pt">缃戠珯鍏ず鍏憡鏍忎腑</span><span
-                                style=" font-size:12pt">鏈�鏂�</span><span
-                                style=" font-size:12pt">鍏竷鐨�</span><span
-                                style=" font-size:12pt">鍚堟牸渚涘簲鍟嗘彁渚涚殑鎵皹鍦ㄧ嚎鐩戞祴璁惧锛岄』绗﹀悎</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">涓婃捣甯傚缓绛戞柦宸�</span><span
-                                style=" font-size:12pt">棰楃矑鐗�</span><span
-                                style=" font-size:12pt">涓庡櫔澹�</span><span
-                                style=" font-size:12pt">鍦ㄧ嚎鐩戞祴鎶�鏈鑼冦��</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">濮旀墭瑙勮寖鏈嶅姟鍗曚綅瀹氭湡杩愮淮锛屽強鏃惰褰曠浉鍏冲彴璐︼紝纭繚鍏舵甯镐娇鐢�</span><span
-                                style=" font-size:12pt">锛�</span><span
-                                style=" font-size:12pt">璁惧鎷嗛櫎銆佺Щ鍔ㄦ垨鍋滆繍椤绘彁鍓嶅悜涓荤閮ㄩ棬鐢宠鎴栧妗堛��</span></p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍏�佹壃灏樺湪绾跨洃娴嬭澶囧畨瑁呭悗椤荤‘淇濈ǔ瀹氳繍琛岋紝骞�</span><span
-                                style=" font-size:12pt">鍙婃椂涓庣敓鎬佺幆澧冮儴闂ㄦ补鐑熺洃鎺х郴缁熻仈缃戯紝</span><span
-                                style=" font-size:12pt">渚濇嵁</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">涓婃捣甯傛壃灏樺湪绾跨洃娴嬫暟鎹墽娉曞簲鐢ㄨ瀹�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">瀹氭湡瀹℃牳鐩戞祴鏁版嵁</span><span
-                                style=" font-size:12pt">锛屼笉瓒呮爣鎺掓斁</span><span
-                                style=" font-size:12pt">锛涙壃灏樼洃娴嬫暟鎹潥鍐充笉寮勮櫄浣滃亣锛屼笉瑙︾姱</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">鐜鐩戞祴鏁版嵁寮勮櫄浣滃亣琛屼负鍒ゅ畾鍙婂鐞嗗姙娉�</span><span
-                                style=" font-size:12pt">銆�</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">涓冦�佷笉浣跨敤鏈笂鐜繚鎷嶇収鐨勯潪閬撹矾鏈烘锛屼笉浣跨敤闈炴硶娓犻亾鎴栦笉杈炬爣鏌存补</span><span
-                                style=" font-size:12pt">銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">鍏�</span><span
-                                style=" font-size:12pt">銆佸悓鎰忔湰鎵胯鍚戠ぞ浼氬叕寮�锛屽苟鑷鎺ュ彈鏀垮簻銆佽涓氱粍缁囥�佷富绠¢儴闂ㄥ鎵樼涓夋柟鐩戠鍗曚綅銆佺ぞ浼氬叕浼椼�佹柊闂昏垎璁虹殑鐩戠潱銆�</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:21pt; widows:0">
-                            <span style=" font-size:12pt">&#xa0;</span>
-                        </p>
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:justify; text-indent:26.25pt; widows:0">
-                            <span style=" font-size:12pt">娉曚汉</span><span
-                                style=" font-size:12pt">浠h〃鎴栬矗</span><span
-                                style=" font-size:12pt">浠讳汉锛堢瀛楋級锛毬犵鍚嵚犅犅犅� 鍗曚綅锛堢洊绔狅級 鐩栫珷</span>
-                        </p>
-                        <br /><br /><br /><br />
-                        <p
-                            style="line-height:20pt; margin:0pt 0pt 10pt; orphans:0; text-align:right; text-indent:28.5pt; widows:0">
-                            <span style=" font-size:12pt">2022骞绰�06 鏈埪�29 鏃�</span>
-                        </p>
-                    </td>
-                </tr>
-                <tr style="height:0pt">
-                    <td style="width:42.3pt; border:none"></td>
-                    <td style="width:75.35pt; border:none"></td>
-                    <td style="width:144.35pt; border:none"></td>
-                    <td style="width:108.6pt; border:none"></td>
-                    <td style="width:130.35pt; border:none"></td>
-                </tr>
-            </table>
-        </div>
-        <p style="font-size:10.5pt; line-height:115%; margin:0pt 0pt 10pt; orphans:0; text-align:justify; widows:0">
-            <span style=" font-size:10.5pt">&#xa0;</span>
-        </p>
-    </div>
-</body>
-
-</html>
\ No newline at end of file
diff --git a/src/test/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImplTest.kt b/src/test/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImplTest.kt
index 5806ae1..1309fe1 100644
--- a/src/test/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImplTest.kt
+++ b/src/test/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/CommitmentServiceImplTest.kt
@@ -1,13 +1,24 @@
 package cn.flightfeather.supervision.lightshare.service.Impl
 
 import cn.flightfeather.supervision.lightshare.service.CommitmentService
+import cn.flightfeather.supervision.lightshare.vo.CommitmentVo
+import org.apache.http.entity.ContentType
 import org.junit.Test
 import org.junit.jupiter.api.extension.ExtendWith
 import org.junit.runner.RunWith
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.test.context.SpringBootTest
+import org.springframework.mock.web.MockMultipartFile
 import org.springframework.test.context.junit.jupiter.SpringExtension
 import org.springframework.test.context.junit4.SpringRunner
+import org.springframework.web.multipart.MultipartFile
+import org.springframework.web.multipart.MultipartRequest
+import org.springframework.web.multipart.commons.CommonsMultipartFile
+import java.io.ByteArrayInputStream
+import java.io.File
+import java.io.FileInputStream
+import javax.imageio.stream.FileImageInputStream
+import javax.imageio.stream.ImageInputStream
 
 @RunWith(SpringRunner::class)
 @ExtendWith(SpringExtension::class)
@@ -19,22 +30,70 @@
 
     @Test
     fun createLetterOfCommitment() {
-        val r = commitmentService.createLetterOfCommitment("", mutableMapOf<String, Any>().apply {
-            put("Department", "鏌愭煇浼佷笟")
-            put("SocialCode", "9283987983179")
-            put("ConstructionNo", "13u981479835")
-            put("JuridicalPerson", "鏌愭煇鏌�")
-            put("IdNo", "12314876128736128736")
-            put("Type1", "鈻�")
-            put("Type2", "鈻�")
-            put("Type3", "鈻�")
-            put("Type4", "鈻�")
-            put("Sign", "绛惧悕")
-            put("Seal", "鐩栫珷")
-            put("Year", "2022")
-            put("Month", "06")
-            put("Day", "29")
-        })
+
+        //宸ュ湴
+//        val r = commitmentService.createLetterOfCommitment("EILD8SkO8k9JF4GU", mutableMapOf<String, Any>().apply {
+//            put("City", "涓婃捣甯�")
+//            put("District", "寰愭眹鍖�")
+//            put("Department", "鏌愭煇浼佷笟")
+//            put("SocialCode", "9283987983179")
+//            put("ConstructionNo", "13u981479835")
+//            put("JuridicalPerson", "鏌愭煇鏌�")
+//            put("IdNo", "12314876128736128736")
+//            put("Type1", "鉁�")
+//            put("Type2", "鈻�")
+//            put("Type3", "鈻�")
+//            put("Type4", "鈻�")
+//            put("Sign", "data:image/png;base64,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")
+//            put("Seal", "")
+//            put("Year", "2022")
+//            put("Month", "06")
+//            put("Day", "29")
+//        })
+        //椁愰ギ
+//        val r = commitmentService.createLetterOfCommitment("Wn62qNrEFxPCsNU5", mutableMapOf<String, Any>().apply {
+//            put("City", "涓婃捣甯�")
+//            put("District", "寰愭眹鍖�")
+//            put("Department", "鏌愭煇浼佷笟")
+//            put("SocialCode", "9283987983179")
+//            put("ApprovalNo", "13u981479835")
+//            put("JuridicalPerson", "鏌愭煇鏌�")
+//            put("IdNo", "12314876128736128736")
+//            put("Type1", "鉁�")
+//            put("Type2", "鈻�")
+//            put("Type3", "鈻�")
+//            put("Type4", "鈻�")
+//            put("Sign", "data:image/png;base64,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")
+//            put("Seal", "")
+//            put("Year", "2022")
+//            put("Month", "06")
+//            put("Day", "29")
+//        })
+        //姹戒慨
+
+        val signImg = File("target/test-file/car_stop.png")
+        val sign = MockMultipartFile("sign.png", FileInputStream(signImg))
+        val r = commitmentService.createLetterOfCommitment(
+            "ClOghpi60ZNUjb3f", CommitmentVo(
+                "涓婃捣甯�",
+                "寰愭眹鍖�",
+                "鏌愭煇浼佷笟",
+                "9283987983179",
+                "13u981479835",
+                "鏌愭煇鏌�",
+                "12314876128736128736",
+                true,
+                false,
+                false,
+                true,
+                "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU8AAACWCAYAAABeiwqhAAAACXBIWXMAABcRAAAXEQHKJvM/AAAgAElEQVR4nO19B3xb5bn+e462JVvytuMkTpw9IINAwsigpS2UXiBQWkpL6S700hVo6YDb0nGht5d0A7cXWijcsv" +
+                        "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",
+                "",
+                "2022",
+                "06",
+                "29",
+            ), sign, null
+        )
         println(r)
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3