diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormFillController.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormFillController.java index 454c1f2..21cb675 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormFillController.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/controller/StudyFormFillController.java @@ -34,6 +34,8 @@ public class StudyFormFillController extends BaseController { private IStudyFormFillJcgjService studyFormFillJcgjService; @Autowired private IStudyFormFillQmxxService studyFormFillQmxxService; + @Autowired + private ITemplateService templateService; /** * 上传文件存储在本地的根路径 */ @@ -98,13 +100,22 @@ public class StudyFormFillController extends BaseController { StudyFormFillQmxx studyFormFillQmxx = new StudyFormFillQmxx(); studyFormFillQmxx.setFormId(form.getFormId()); List studyFormFillQmxxList = studyFormFillQmxxService.queryList(studyFormFillQmxx); - return AjaxResult.success(localFilePrefix + PdfExportUtil.export( - "com.hxhq.business.utils.pdf.template.sp.Sp001", - "exportDetail", - studyFormFillService.queryInfo(form.getFormId()), - studyFormFillQmxxList, - studyFormFillJcgjList, - localFilePath)); + StudyFormFill studyFormFill=studyFormFillService.getById(form.getFormId()); + Template template=templateService.getById(studyFormFill.getTemplateId()); + if(template!=null){ + return AjaxResult.success(localFilePrefix + PdfExportUtil.export( + "com.hxhq.business.utils.pdf.template."+template.getSn(), + "exportDetail", + studyFormFill, + template, + studyFormFillQmxxList, + studyFormFillJcgjList, + form.getLang(), + localFilePath)); + }else{ + return AjaxResult.error("模板不存在或已删除"); + } + } /** diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFillJcgj.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFillJcgj.java index 5a351b3..bf86149 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFillJcgj.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/domain/StudyFormFillJcgj.java @@ -1,5 +1,6 @@ package com.hxhq.business.domain; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.hxhq.common.core.domain.MpBaseEntity; @@ -45,6 +46,18 @@ public class StudyFormFillJcgj extends MpBaseEntity /** 签名人名称-英文 */ private String qmrMcEn; + /** 语言 */ + @TableField(exist = false) + private String lang; + + public String getLang() { + return lang; + } + + public void setLang(String lang) { + this.lang = lang; + } + public String getJcmcEn() { return jcmcEn; } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/GyzjJcnrUtil.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/GyzjJcnrUtil.java index a7d5f42..3b08616 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/GyzjJcnrUtil.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/GyzjJcnrUtil.java @@ -15,7 +15,7 @@ public class GyzjJcnrUtil { private static HashMap mapLang=new HashMap<>(); static { mapLang.put("入库","In Storage"); - mapLang.put("未入库","未入库"); + mapLang.put("未入库","Not in Storage"); mapLang.put("已发放","In Use"); mapLang.put("已锁定","'Locked'"); mapLang.put("待归档","Pending Archiving"); @@ -98,12 +98,12 @@ public class GyzjJcnrUtil { mapLang.put("取出","Take Out"); mapLang.put("表单名称","Preset Name"); - mapLang.put("锁定发放记录","锁定发放记录"); - mapLang.put("解锁发放记录","解锁发放记录"); - mapLang.put("给药制剂入库","给药制剂入库"); - mapLang.put("同意入库","同意入库"); - mapLang.put("拒绝入库","拒绝入库"); - mapLang.put("目的","目的"); + mapLang.put("锁定发放记录","Lock Record"); + mapLang.put("解锁发放记录","Unlock Record"); + mapLang.put("给药制剂入库","Dose Formulation Check-in"); + mapLang.put("同意入库","Approve Check-in"); + mapLang.put("拒绝入库","Reject Check-in"); + mapLang.put("目的","Purpose"); } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/MjyJcnrUtil.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/MjyJcnrUtil.java index 97792c2..6b73853 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/MjyJcnrUtil.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/MjyJcnrUtil.java @@ -16,7 +16,7 @@ public class MjyJcnrUtil { private static HashMap mapLang=new HashMap<>(); static { mapLang.put("入库","In Storage"); - mapLang.put("未入库","未入库"); + mapLang.put("未入库","Not in Storage"); mapLang.put("已发放","In Use"); mapLang.put("已锁定","'Locked'"); mapLang.put("待归档","Pending Archiving"); @@ -94,10 +94,10 @@ public class MjyJcnrUtil { mapLang.put("取出","Take Out"); mapLang.put("表单名称","Preset Name"); - mapLang.put("锁定发放记录","锁定发放记录"); - mapLang.put("解锁发放记录","解锁发放记录"); - mapLang.put("麻精药入库","麻精药入库"); - mapLang.put("目的","目的"); + mapLang.put("锁定发放记录","Lock Record"); + mapLang.put("解锁发放记录","Unlock Record"); + mapLang.put("麻精药入库","Controlled Drug Check-in"); + mapLang.put("目的","Purpose"); mapLang.put("入库位置","入库位置"); mapLang.put("入库条件","入库条件"); mapLang.put("减少量","减少量"); @@ -112,7 +112,7 @@ public class MjyJcnrUtil { logger.info(getJcnrEn(formData)); } /** - * 获取签名意义英文 + * 获取英文 * @param qmyy * @return */ @@ -121,7 +121,7 @@ public class MjyJcnrUtil { } /** - * 稽查名称英文 + * 获取稽查内容英文 * @param map * @return */ @@ -134,7 +134,7 @@ public class MjyJcnrUtil { } /** - * 稽查名称英文 + * 获取稽查内容英文 * @param map * @return */ diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/TemplateUtil.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/TemplateUtil.java new file mode 100644 index 0000000..dc688cb --- /dev/null +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/TemplateUtil.java @@ -0,0 +1,113 @@ +package com.hxhq.business.utils; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author tanfei + */ +public class TemplateUtil { + private static final Logger logger = LoggerFactory.getLogger(TemplateUtil.class.getName()); + private static HashMap mapLang=new HashMap<>(); + static { + mapLang.put("试验基本信息","Test Basic Information"); + mapLang.put("试验试剂信息","Test Reagent Information"); + mapLang.put("仪器使用信息","Instrument Usage Information"); + mapLang.put("存储条件","Storage Conditions"); + mapLang.put("操作步骤","Operation Steps"); + mapLang.put("备注","Remarks"); + + mapLang.put("试验名称","Study Name"); + mapLang.put("试验编号","Study Number"); + mapLang.put("方法编号","Method Code"); + mapLang.put("版本号","Version Number"); + mapLang.put("试验配制条件","Study Configuration Conditions"); + mapLang.put("预填","Pre-Fill"); + mapLang.put("实际","Actual"); + mapLang.put("配置时间","Configuration Time"); + mapLang.put("开始时间","Start Time"); + mapLang.put("结束时间","End Time"); + mapLang.put("目标溶液名称","Target Solution Name"); + mapLang.put("目标溶液编号","Target Solution Code"); + mapLang.put("目标溶液预计浓度","Target Solution Expected Concentration"); + mapLang.put("目标溶液实际浓度","Target Solution Actual Concentration"); + mapLang.put("目标溶液预计体积","Target Solution Expected Volume"); + mapLang.put("目标溶液实际体积","Target Solution Actual Volume"); + mapLang.put("有效周期","Effective Period"); + mapLang.put("失效日","Expiry Date"); + mapLang.put("处理批编号","Analysis Batch Number"); + mapLang.put("容器材质","Container Material"); + mapLang.put("处理时间","Work Time"); + + mapLang.put("试剂名称","Reagent Name"); + mapLang.put("编号","Code"); + mapLang.put("批号","Batch Number"); + mapLang.put("浓度/含量/纯度","Concentration/Content/Purity"); + mapLang.put("来源","Source"); + + + mapLang.put("仪器名称","Instrument Name"); + mapLang.put("仪器型号","Instrument Model"); + mapLang.put("仪器编号","Instrument Number"); + mapLang.put("下次测试/校准/检定日期","Next Test/Calibration/Verification Date"); + + mapLang.put("给药剂量或组别","Administration Dose or Group"); + mapLang.put("配制浓度","Preparation Concentration"); + mapLang.put("配制体积","Preparation Volume"); + mapLang.put("其他","Other"); + mapLang.put("其他信息","Other Information"); + mapLang.put("单位","unit"); + + mapLang.put("签名人","Signed By"); + mapLang.put("签名意义","Meaning of Signature"); + mapLang.put("签名时间","Date"); + mapLang.put("备注原因","Comment/Reason"); + + } + + public static void main(String[] args) { + Map formData = new LinkedHashMap<>(); + formData.put("申请备注", "1111"); + formData.put("审核备注", "22"); + logger.info(getJcnrEn(formData)); + } + /** + * 获取英文 + * @param qmyy + * @return + */ + public static String getEn(String qmyy) { + return mapLang.get(qmyy); + } + + /** + * 获取稽查内容英文 + * @param map + * @return + */ + public static String getJcnrEn(Map map) { + Map result =new LinkedHashMap<>(); + for (Map.Entry entry : map.entrySet()) { + result.put(mapLang.get(entry.getKey()),entry.getValue()); + } + return JctUtil.formatStr(result); + } + + /** + * 获取稽查内容英文 + * @param map + * @return + */ + public static Map getMapEn(Map map) { + Map result =new LinkedHashMap<>(); + for (Map.Entry entry : map.entrySet()) { + result.put(mapLang.get(entry.getKey()),entry.getValue()); + } + return result; + } + +} diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/PdfExportUtil.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/PdfExportUtil.java index 679dc40..4923a07 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/PdfExportUtil.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/PdfExportUtil.java @@ -1,11 +1,13 @@ package com.hxhq.business.utils.pdf; import com.hxhq.common.core.exception.ServiceException; +import com.hxhq.common.core.utils.DateUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.lang.reflect.Method; +import java.util.Date; /** * pdf导出基类 @@ -63,4 +65,14 @@ public class PdfExportUtil { throw new ServiceException(ex.getMessage()); } } + + /** + * 时间转化 + * @param time + * @return + */ + public static String parseDateToStr(Date time){ + return DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",time); + } + } \ No newline at end of file diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Dosage.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Dosage.java index 086993f..b884f0f 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Dosage.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Dosage.java @@ -8,6 +8,7 @@ import com.hxhq.business.dto.gyzj.DetailDto; import com.hxhq.business.enums.zykgl.ZjztEnum; import com.hxhq.business.utils.GyzjJcnrUtil; import com.hxhq.business.utils.pdf.PdfBaseUtil; +import com.hxhq.business.utils.pdf.PdfExportUtil; import com.hxhq.common.core.utils.StringUtils; import com.hxhq.common.security.utils.SecurityUtils; import com.hxhq.system.api.model.LoginUser; @@ -17,10 +18,8 @@ import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import java.io.FileOutputStream; import java.io.IOException; -import java.text.SimpleDateFormat; import java.util.List; import java.util.*; @@ -31,7 +30,7 @@ import java.util.*; */ public class Dosage { private static final Logger logger = LoggerFactory.getLogger(Dosage.class.getName()); - + public String language="zh"; /** * 导出 * @@ -39,40 +38,40 @@ public class Dosage { * @return */ public String exportDetail(DetailDto gyzj, List gyzjTzList, List gyzjJcgjList, String lang, String localFilePath) { + language=lang; Document document = null; FileOutputStream fos = null; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String filePath = PdfBaseUtil.getFilePath(localFilePath); try { - String sign = "en".equals(lang) ? "hxhq" : "华西海圻"; + String sign = "hxhq"; LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null) { sign = loginUser.getSysUser().getNickName(); } - document = PdfBaseUtil.init(document, fos, filePath, sign + sdf.format(new Date()), null); + document = PdfBaseUtil.init(document, fos, filePath, sign + PdfExportUtil.parseDateToStr(new Date()), null); // 基本信息 - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? GyzjJcnrUtil.getEn("基本信息") : "基本信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("基本信息"), 10, true); Map formData1 = new LinkedHashMap<>(); - formData1.put("名称", gyzj.getMc()); - formData1.put("编号", gyzj.getBh()); - formData1.put("浓度", gyzj.getNd() + gyzj.getNddw()); - formData1.put("库存量", gyzj.getKc() + gyzj.getKcdw()); - formData1.put("失效日期", sdf.format(gyzj.getSxrq())); - formData1.put("存储条件", gyzj.getCctj()); - formData1.put("存储位置", gyzj.getCcwz()); - formData1.put("制剂状态", "en".equals(lang) ? (GyzjJcnrUtil.getEn(ZjztEnum.getEnumByValue(gyzj.getZjzt()).getText())) : ZjztEnum.getEnumByValue(gyzj.getZjzt()).getText()); - PdfBaseUtil.addFormTableColumns(document, "en".equals(lang) ? GyzjJcnrUtil.getMapEn(formData1) : formData1, 2); + formData1.put(getName("名称"), gyzj.getMc()); + formData1.put(getName("编号"), gyzj.getBh()); + formData1.put(getName("浓度"), gyzj.getNd() + gyzj.getNddw()); + formData1.put(getName("库存量"), gyzj.getKc() + gyzj.getKcdw()); + formData1.put(getName("失效日期"), PdfExportUtil.parseDateToStr(gyzj.getSxrq())); + formData1.put(getName("存储条件"), gyzj.getCctj()); + formData1.put(getName("存储位置"), gyzj.getCcwz()); + formData1.put(getName("制剂状态"), "en".equals(language) ? (GyzjJcnrUtil.getEn(ZjztEnum.getEnumByValue(gyzj.getZjzt()).getText())) : ZjztEnum.getEnumByValue(gyzj.getZjzt()).getText()); + PdfBaseUtil.addFormTableColumns(document, formData1, 2); // 表单信息 - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? GyzjJcnrUtil.getEn("表单信息") : "表单信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("表单信息"), 10, true); Map formData3 = new LinkedHashMap<>(); - formData3.put("所属试验信息", gyzj.getStudyMc()); - formData3.put("所属表单", gyzj.getBdMc()); - formData3.put("表单所属人", gyzj.getBdgsrMc()); - PdfBaseUtil.addFormTableColumns(document, "en".equals(lang) ? GyzjJcnrUtil.getMapEn(formData3) : formData3, 2); - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? GyzjJcnrUtil.getEn("给药制剂台账") : "给药制剂台账", 10, true); + formData3.put(getName("所属试验信息"), gyzj.getStudyMc()); + formData3.put(getName("所属表单"), gyzj.getBdMc()); + formData3.put(getName("表单所属人"), gyzj.getBdgsrMc()); + PdfBaseUtil.addFormTableColumns(document, formData3, 2); + PdfBaseUtil.addUnderlinedTitle(document, getName("给药制剂台账") , 10, true); // 台账 addTz(document, gyzjTzList, lang); - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? GyzjJcnrUtil.getEn("稽查轨迹") : "稽查轨迹", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("稽查轨迹") , 10, true); //稽查轨迹 addJcgj(document, gyzjJcgjList, lang); logger.info("生成成功:{}", filePath); @@ -103,7 +102,7 @@ public class Dosage { * @throws DocumentException */ public void addTz(Document document, List gyzjTzList, String lang) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 9. 表头 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font headerFont = new Font(bfChinese, 8, Font.NORMAL); @@ -111,16 +110,7 @@ public class Dosage { // 8. 创建表格 PdfPTable table = new PdfPTable(8); table.setWidthPercentage(100); - String[] headers = { - "en".equals(lang) ? GyzjJcnrUtil.getEn("使用人") : "使用人", - "en".equals(lang) ? GyzjJcnrUtil.getEn("领取/归还人") : "领取/归还人", - "en".equals(lang) ? GyzjJcnrUtil.getEn("发放/接收人") : "发放/接收人", - "en".equals(lang) ? GyzjJcnrUtil.getEn("操作类型") : "操作类型", - "en".equals(lang) ? GyzjJcnrUtil.getEn("表单名称") : "表单名称", - "en".equals(lang) ? GyzjJcnrUtil.getEn("操作量") : "操作量", - "en".equals(lang) ? GyzjJcnrUtil.getEn("备注/原因") : "备注/原因", - "en".equals(lang) ? GyzjJcnrUtil.getEn("操作时间") : "操作时间" - }; + String[] headers = {getName("使用人"),getName("领取/归还人"),getName("发放/接收人"),getName("操作类型"),getName("表单名称"),getName("操作量"),getName("备注/原因"),getName("操作时间")}; for (String header : headers) { PdfPCell cell = new PdfPCell(new Phrase(header, headerFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); @@ -143,7 +133,7 @@ public class Dosage { table.addCell(PdfBaseUtil.createCell(gyzjTz.getBdMc(), contentFont)); table.addCell(PdfBaseUtil.createCell(gyzjTz.getCzl() + gyzjTz.getCzldw(), contentFont)); table.addCell(PdfBaseUtil.createCell(gyzjTz.getRemark(), contentFont)); - table.addCell(PdfBaseUtil.createCell(sdf.format(gyzjTz.getCreateTime()), contentFont)); + table.addCell(PdfBaseUtil.createCell(PdfExportUtil.parseDateToStr(gyzjTz.getCreateTime()), contentFont)); rowNum++; } document.add(table); @@ -158,9 +148,8 @@ public class Dosage { * @throws DocumentException */ public void addJcgj(Document document, List gyzjJcgjList, String lang) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (GyzjJcgj jcgj : gyzjJcgjList) { - PdfBaseUtil.addUnderlinedTitle(document, sdf.format(jcgj.getCreateTime()) + " " + ("en".equals(lang) ? GyzjJcnrUtil.getEn(jcgj.getJcmc()) : jcgj.getJcmc()), 10, false); + PdfBaseUtil.addUnderlinedTitle(document, PdfExportUtil.parseDateToStr(jcgj.getCreateTime())+ " " + getName(jcgj.getJcmc()), 10, false); StringJoiner result = new StringJoiner(", "); if ("en".equals(lang)) { if (StringUtils.isNoneBlank(jcgj.getJcnrEn())) { @@ -188,14 +177,23 @@ public class Dosage { } } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add(("en".equals(lang) ? GyzjJcnrUtil.getEn("备注") + ":" : "备注:") + jcgj.getRemark()); + result.add(getName("备注")+":" + jcgj.getRemark()); } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add(("en".equals(lang) ? GyzjJcnrUtil.getEn("签名人") + ":" : "签名人:") + jcgj.getQmrMc()); + result.add(getName("签名人")+":" + jcgj.getQmrMc()); } PdfBaseUtil.addUnderlinedTitle(document, result.toString(), 10, false); } } + /** + * 获取名称 + * @param name + * @return + */ + public String getName(String name){ + return "en".equals(language) ? GyzjJcnrUtil.getEn(name) : name; + } + } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Drug.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Drug.java index bbf0e3c..d67a7d3 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Drug.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/resource/Drug.java @@ -1,14 +1,13 @@ package com.hxhq.business.utils.pdf.resource; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.hxhq.business.domain.*; import com.hxhq.business.dto.mjy.DetailDto; import com.hxhq.business.enums.zykgl.ZjztEnum; -import com.hxhq.business.utils.GyzjJcnrUtil; import com.hxhq.business.utils.MjyJcnrUtil; import com.hxhq.business.utils.pdf.PdfBaseUtil; +import com.hxhq.business.utils.pdf.PdfExportUtil; import com.hxhq.common.core.utils.StringUtils; import com.hxhq.common.security.utils.SecurityUtils; import com.hxhq.system.api.model.LoginUser; @@ -18,10 +17,8 @@ import com.itextpdf.text.pdf.PdfPCell; import com.itextpdf.text.pdf.PdfPTable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import java.io.FileOutputStream; import java.io.IOException; -import java.text.SimpleDateFormat; import java.util.*; import java.util.List; @@ -32,7 +29,7 @@ import java.util.List; */ public class Drug { private static final Logger logger = LoggerFactory.getLogger(Drug.class.getName()); - + public String language="zh"; /** * 导出 * @@ -40,40 +37,40 @@ public class Drug { * @return */ public String exportDetail(DetailDto mjy, List mjyTzList, List mjyJcgjList, String lang, String localFilePath) { + language=lang; Document document = null; FileOutputStream fos = null; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String filePath = PdfBaseUtil.getFilePath(localFilePath); try { - String sign = "en".equals(lang) ? "hxhq" : "华西海圻"; + String sign = "hxhq" ; LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null) { sign = loginUser.getSysUser().getNickName(); } - document = PdfBaseUtil.init(document, fos, filePath, sign + sdf.format(new Date()), null); + document = PdfBaseUtil.init(document, fos, filePath, sign + PdfExportUtil.parseDateToStr(new Date()), null); // 基本信息 - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? MjyJcnrUtil.getEn("基本信息") : "基本信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("基本信息"), 10, true); Map formData1 = new LinkedHashMap<>(); - formData1.put("名称", mjy.getMc()); - formData1.put("编号", mjy.getBh()); - formData1.put("浓度", mjy.getNd() + mjy.getNddw()); - formData1.put("库存量", mjy.getKc() + mjy.getKcdw()); - formData1.put("失效日期", sdf.format(mjy.getSxrq())); - formData1.put("存储条件", mjy.getCctj()); - formData1.put("存储位置", mjy.getCcwz()); - formData1.put("制剂状态", "en".equals(lang) ? (MjyJcnrUtil.getEn(ZjztEnum.getEnumByValue(mjy.getZjzt()).getText())) : ZjztEnum.getEnumByValue(mjy.getZjzt()).getText()); - PdfBaseUtil.addFormTableColumns(document, "en".equals(lang) ? MjyJcnrUtil.getMapEn(formData1) : formData1, 2); + formData1.put(getName("名称"), mjy.getMc()); + formData1.put(getName("编号"), mjy.getBh()); + formData1.put(getName("浓度"), mjy.getNd() + mjy.getNddw()); + formData1.put(getName("库存量"), mjy.getKc() + mjy.getKcdw()); + formData1.put(getName("失效日期"), PdfExportUtil.parseDateToStr(mjy.getSxrq())); + formData1.put(getName("存储条件"), mjy.getCctj()); + formData1.put(getName("存储位置"), mjy.getCcwz()); + formData1.put(getName("制剂状态"), "en".equals(language) ? (MjyJcnrUtil.getEn(ZjztEnum.getEnumByValue(mjy.getZjzt()).getText())) : ZjztEnum.getEnumByValue(mjy.getZjzt()).getText()); + PdfBaseUtil.addFormTableColumns(document, formData1, 2); // 表单信息 - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? MjyJcnrUtil.getEn("表单信息") : "表单信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("表单信息"), 10, true); Map formData3 = new LinkedHashMap<>(); - formData3.put("所属试验信息", mjy.getStudyMc()); - formData3.put("所属表单", mjy.getBdMc()); - formData3.put("表单所属人", mjy.getBdgsrMc()); - PdfBaseUtil.addFormTableColumns(document, "en".equals(lang) ? MjyJcnrUtil.getMapEn(formData3) : formData3, 2); - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? MjyJcnrUtil.getEn("给药制剂台账") : "给药制剂台账", 10, true); + formData3.put(getName("所属试验信息"), mjy.getStudyMc()); + formData3.put(getName("所属表单"), mjy.getBdMc()); + formData3.put(getName("表单所属人"), mjy.getBdgsrMc()); + PdfBaseUtil.addFormTableColumns(document, formData3, 2); + PdfBaseUtil.addUnderlinedTitle(document, getName("给药制剂台账") , 10, true); // 台账 addTz(document, mjyTzList, lang); - PdfBaseUtil.addUnderlinedTitle(document, "en".equals(lang) ? MjyJcnrUtil.getEn("稽查轨迹") : "稽查轨迹", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("稽查轨迹") , 10, true); //稽查轨迹 addJcgj(document, mjyJcgjList, lang); logger.info("生成成功:{}", filePath); @@ -104,7 +101,7 @@ public class Drug { * @throws DocumentException */ public void addTz(Document document, List mjyTzList, String lang) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // 9. 表头 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font headerFont = new Font(bfChinese, 8, Font.NORMAL); @@ -112,16 +109,7 @@ public class Drug { // 8. 创建表格 PdfPTable table = new PdfPTable(8); table.setWidthPercentage(100); - String[] headers = { - "en".equals(lang) ? MjyJcnrUtil.getEn("使用人") : "使用人", - "en".equals(lang) ? MjyJcnrUtil.getEn("领取/归还人") : "领取/归还人", - "en".equals(lang) ? MjyJcnrUtil.getEn("发放/接收人") : "发放/接收人", - "en".equals(lang) ? MjyJcnrUtil.getEn("操作类型") : "操作类型", - "en".equals(lang) ? GyzjJcnrUtil.getEn("表单名称") : "表单名称", - "en".equals(lang) ? MjyJcnrUtil.getEn("操作量") : "操作量", - "en".equals(lang) ? MjyJcnrUtil.getEn("备注/原因") : "备注/原因", - "en".equals(lang) ? MjyJcnrUtil.getEn("操作时间") : "操作时间" - }; + String[] headers = {getName("使用人"),getName("领取/归还人"),getName("发放/接收人"),getName("操作类型"),getName("表单名称"),getName("操作量"),getName("备注/原因"),getName("操作时间")}; for (String header : headers) { PdfPCell cell = new PdfPCell(new Phrase(header, headerFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); @@ -144,7 +132,7 @@ public class Drug { table.addCell(PdfBaseUtil.createCell(mjyTz.getBdMc(), contentFont)); table.addCell(PdfBaseUtil.createCell(mjyTz.getCzl() + mjyTz.getCzldw(), contentFont)); table.addCell(PdfBaseUtil.createCell(mjyTz.getRemark(), contentFont)); - table.addCell(PdfBaseUtil.createCell(sdf.format(mjyTz.getCreateTime()), contentFont)); + table.addCell(PdfBaseUtil.createCell(PdfExportUtil.parseDateToStr(mjyTz.getCreateTime()), contentFont)); rowNum++; } document.add(table); @@ -159,9 +147,8 @@ public class Drug { * @throws DocumentException */ public void addJcgj(Document document, List mjyJcgjList, String lang) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (MjyJcgj jcgj : mjyJcgjList) { - PdfBaseUtil.addUnderlinedTitle(document, sdf.format(jcgj.getCreateTime()) + " " + ("en".equals(lang) ? MjyJcnrUtil.getEn(jcgj.getJcmc()) : jcgj.getJcmc()), 10, false); + PdfBaseUtil.addUnderlinedTitle(document, PdfExportUtil.parseDateToStr(jcgj.getCreateTime())+ " " + getName(jcgj.getJcmc()), 10, false); StringJoiner result = new StringJoiner(", "); if ("en".equals(lang)) { if (StringUtils.isNoneBlank(jcgj.getJcnrEn())) { @@ -189,14 +176,22 @@ public class Drug { } } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add(("en".equals(lang) ? MjyJcnrUtil.getEn("备注") + ":" : "备注:") + jcgj.getRemark()); + result.add(getName("备注")+":" + jcgj.getRemark()); } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add(("en".equals(lang) ? MjyJcnrUtil.getEn("签名人") + ":" : "签名人:") + jcgj.getQmrMc()); + result.add(getName("签名人")+":" + jcgj.getQmrMc()); } PdfBaseUtil.addUnderlinedTitle(document, result.toString(), 10, false); } } + /** + * 获取名称 + * @param name + * @return + */ + public String getName(String name){ + return "en".equals(language) ? MjyJcnrUtil.getEn(name) : name; + } } diff --git a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/sp/Sp001.java b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/SP001.java similarity index 60% rename from hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/sp/Sp001.java rename to hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/SP001.java index 2f9f5de..1621b94 100644 --- a/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/sp/Sp001.java +++ b/hxhq-modules/hxhq-system/src/main/java/com/hxhq/business/utils/pdf/template/SP001.java @@ -1,12 +1,13 @@ -package com.hxhq.business.utils.pdf.template.sp; +package com.hxhq.business.utils.pdf.template; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.hxhq.business.domain.*; -import com.hxhq.business.dto.mjy.DetailDto; +import com.hxhq.business.utils.TemplateUtil; import com.hxhq.business.utils.pdf.PdfBaseUtil; +import com.hxhq.business.utils.pdf.PdfExportUtil; import com.hxhq.common.core.utils.StringUtils; import com.hxhq.common.security.utils.SecurityUtils; import com.hxhq.system.api.model.LoginUser; @@ -19,17 +20,17 @@ import org.slf4j.LoggerFactory; import java.io.FileOutputStream; import java.io.IOException; -import java.text.SimpleDateFormat; import java.util.*; import java.util.List; /** - * 色谱001 + * 色谱-生物样品分析溶液配制表 * * @author tanfei */ -public class Sp001 { - private static final Logger logger = LoggerFactory.getLogger(Sp001.class.getName()); +public class SP001 { + private static final Logger logger = LoggerFactory.getLogger(SP001.class.getName()); + public String language = "zh"; /** * 导出 @@ -37,69 +38,69 @@ public class Sp001 { * @param studyFormFill * @return */ - public String exportDetail(StudyFormFill studyFormFill, List studyFormFillQmxxList, List studyFormFillJcgjList, String localFilePath) { + public String exportDetail(StudyFormFill studyFormFill,Template template, List studyFormFillQmxxList, List studyFormFillJcgjList, String lang, String localFilePath) { + language = lang; Document document = null; FileOutputStream fos = null; - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String filePath = PdfBaseUtil.getFilePath(localFilePath); try { - String sign = "华西海圻"; + String sign = "hxhq"; LoginUser loginUser = SecurityUtils.getLoginUser(); if (loginUser != null) { sign = loginUser.getSysUser().getNickName(); } - document = PdfBaseUtil.init(document, fos, filePath, sign + sdf.format(new Date()), studyFormFill.getBdmc()); + document = PdfBaseUtil.init(document, fos, filePath, sign +PdfExportUtil.parseDateToStr(new Date()), "en".equals(language)?template.getShowSn():template.getName()); // 基本信息 JSONObject bdnr = JSONObject.parseObject(studyFormFill.getBdnr()); - PdfBaseUtil.addUnderlinedTitle(document, "试验基本信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("试验基本信息"), 10, true); Map formData1 = new LinkedHashMap<>(); - formData1.put("试验名称", studyFormFill.getStudyMc()); - formData1.put("试验编号", studyFormFill.getStudySn()); - formData1.put("方法编号", bdnr.getString("methodCode")); - formData1.put("版本号", bdnr.getString("methodCode")); + formData1.put(getName("试验名称"), studyFormFill.getStudyMc()); + formData1.put(getName("试验编号"), studyFormFill.getStudySn()); + formData1.put(getName("方法编号"), bdnr.getString("methodCode")); + formData1.put(getName("版本号"), bdnr.getString("methodCode")); PdfBaseUtil.addFormTableColumns(document, formData1, 2); - PdfBaseUtil.addUnderlinedTitle(document, "试验配置条件", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("试验配置条件"), 10, true); Map formData2 = new LinkedHashMap<>(); - formData2.put("预填", bdnr.getString("pre") + (StringUtils.isNoneBlank(bdnr.getString("preOther")) ? bdnr.getString("preOther") : "")); - formData2.put("实际", bdnr.getString("act") + (StringUtils.isNoneBlank(bdnr.getString("actOther")) ? bdnr.getString("actOther") : "")); + formData2.put(getName("预填"), bdnr.getString("pre") + (StringUtils.isNoneBlank(bdnr.getString("preOther")) ? bdnr.getString("preOther") : "")); + formData2.put(getName("实际"), bdnr.getString("act") + (StringUtils.isNoneBlank(bdnr.getString("actOther")) ? bdnr.getString("actOther") : "")); PdfBaseUtil.addFormTableColumns(document, formData2, 2); - PdfBaseUtil.addUnderlinedTitle(document, "配置时间", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("配置时间"), 10, true); Map formData3 = new LinkedHashMap<>(); - formData3.put("开始时间", studyFormFill.getStartDate() != null ? sdf.format(studyFormFill.getStartDate()) : ""); - formData3.put("结束时间", studyFormFill.getEndDate() != null ? sdf.format(studyFormFill.getEndDate()) : ""); + formData3.put(getName("开始时间"), studyFormFill.getStartDate() != null ? PdfExportUtil.parseDateToStr(studyFormFill.getStartDate()) : ""); + formData3.put(getName("结束时间"), studyFormFill.getEndDate() != null ? PdfExportUtil.parseDateToStr(studyFormFill.getEndDate()) : ""); PdfBaseUtil.addFormTableColumns(document, formData3, 2); // 签名信息 - PdfBaseUtil.addUnderlinedTitle(document, "试验试剂信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("试验试剂信息"), 10, true); addResource(document, studyFormFill.getResource()); - PdfBaseUtil.addUnderlinedTitle(document, "仪器使用信息", 10, true); - PdfBaseUtil.addUnderlinedTitle(document, "存储条件", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("仪器使用信息"), 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("存储条件"), 10, true); Map formData4 = new LinkedHashMap<>(); - formData4.put("存储条件",bdnr.getString("storageCondition")+ (StringUtils.isNoneBlank(bdnr.getString("storageConditionOther")) ? bdnr.getString("storageConditionOther") : "")); + formData4.put(getName("存储条件"), bdnr.getString("storageCondition") + (StringUtils.isNoneBlank(bdnr.getString("storageConditionOther")) ? bdnr.getString("storageConditionOther") : "")); PdfBaseUtil.addFormTableColumns(document, formData4, 1); - PdfBaseUtil.addUnderlinedTitle(document, "操作步骤", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("操作步骤"), 10, true); Map formData5 = new LinkedHashMap<>(); - formData5.put("目标溶液名称", bdnr.getString("targetName")); - formData5.put("目标溶液编号", bdnr.getString("targetCode")+bdnr.getString("targetCodeSn")); - formData5.put("目标溶液预计浓度", bdnr.getString("targetPreConcentration")+bdnr.getString("targetPreConcentrationUnit")); - formData5.put("目标溶液实际浓度", bdnr.getString("targetActConcentration")+bdnr.getString("targetPreConcentrationUnit")); - formData5.put("目标溶液预计体积", bdnr.getString("targetPreVolume")+bdnr.getString("targetPreVolumeUnit")); - formData5.put("目标溶液实际体积", bdnr.getString("targetActVolume")+bdnr.getString("targetActVolumeUnit")); - formData5.put("有效周期", bdnr.getString("effectivePeriod")+bdnr.getString("effectivePeriodUnit")); - formData5.put("失效日", bdnr.getString("sxrq")); + formData5.put(getName("目标溶液名称"), bdnr.getString("targetName")); + formData5.put(getName("目标溶液编号"), bdnr.getString("targetCode") + bdnr.getString("targetCodeSn")); + formData5.put(getName("目标溶液预计浓度"), bdnr.getString("targetPreConcentration") + bdnr.getString("targetPreConcentrationUnit")); + formData5.put(getName("目标溶液实际浓度"), bdnr.getString("targetActConcentration") + bdnr.getString("targetPreConcentrationUnit")); + formData5.put(getName("目标溶液预计体积"), bdnr.getString("targetPreVolume") + bdnr.getString("targetPreVolumeUnit")); + formData5.put(getName("目标溶液实际体积"), bdnr.getString("targetActVolume") + bdnr.getString("targetActVolumeUnit")); + formData5.put(getName("有效周期"), bdnr.getString("effectivePeriod") + bdnr.getString("effectivePeriodUnit")); + formData5.put(getName("失效日"), bdnr.getString("sxrq")); PdfBaseUtil.addFormTableColumns(document, formData5, 2); - PdfBaseUtil.addUnderlinedTitle(document, "备注"+(StringUtils.isNoneBlank(bdnr.getString("remark")) ? ":"+bdnr.getString("remark") : ""), 10, false); + PdfBaseUtil.addUnderlinedTitle(document, getName("备注") + ":" +(StringUtils.isNoneBlank(bdnr.getString("remark")) ? bdnr.getString("remark") : ""), 10, false); // 签名信息 - PdfBaseUtil.addUnderlinedTitle(document, "签名信息", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("签名信息"), 10, true); addQmxx(document, studyFormFillQmxxList); //稽查轨迹 - PdfBaseUtil.addUnderlinedTitle(document, "稽查轨迹", 10, true); + PdfBaseUtil.addUnderlinedTitle(document, getName("稽查轨迹"), 10, true); addJcgj(document, studyFormFillJcgjList); logger.info("生成成功:{}", filePath); } catch (Exception e) { @@ -131,8 +132,7 @@ public class Sp001 { public void addResource(Document document, String resource) throws IOException, DocumentException { // [{"mc":"布洛芬","bh":"BLF260115-0014","ph":"","nd":"18ng/mL","source":"ELN配制","ndz":18,"nddw":"ng/mL","kc":1190,"kcdw":"3","syl":"4","syldw":"3","yxzq":360,"yxzqdw":"days"}] if (StringUtils.isNoneBlank(resource)) { - JSONArray jsonArray=JSONArray.parseArray(resource); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + JSONArray jsonArray = JSONArray.parseArray(resource); // 9. 表头 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font headerFont = new Font(bfChinese, 10, Font.NORMAL); @@ -140,7 +140,7 @@ public class Sp001 { // 8. 创建表格 PdfPTable table = new PdfPTable(6); table.setWidthPercentage(100); - String[] headers = {"试剂名称", "编号", "批号", "浓度/含量/纯度","来源","失效日"}; + String[] headers = {getName("试剂名称"), getName("编号"), getName("批号"), getName("浓度/含量/纯度"), getName("来源"), getName("失效日")}; for (String header : headers) { PdfPCell cell = new PdfPCell(new Phrase(header, headerFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); @@ -162,7 +162,7 @@ public class Sp001 { table.addCell(PdfBaseUtil.createCell(obj.getString("ph"), contentFont)); table.addCell(PdfBaseUtil.createCell(obj.getString("nd"), contentFont)); table.addCell(PdfBaseUtil.createCell(obj.getString("source"), contentFont)); - table.addCell(PdfBaseUtil.createCell(StringUtils.isNoneBlank(obj.getString("sxrq"))?obj.getString("sxrq"):"", contentFont)); + table.addCell(PdfBaseUtil.createCell(StringUtils.isNoneBlank(obj.getString("sxrq")) ? obj.getString("sxrq") : "", contentFont)); rowNum++; } document.add(table); @@ -180,7 +180,6 @@ public class Sp001 { * @throws DocumentException */ public void addQmxx(Document document, List studyFormFillQmxxList) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 9. 表头 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font headerFont = new Font(bfChinese, 10, Font.NORMAL); @@ -188,7 +187,7 @@ public class Sp001 { // 8. 创建表格 PdfPTable table = new PdfPTable(4); table.setWidthPercentage(100); - String[] headers = {"签名人", "签名意义", "签名时间", "备注原因"}; + String[] headers = {getName("签名人"), getName("签名意义"), getName("签名时间"), getName("备注原因")}; for (String header : headers) { PdfPCell cell = new PdfPCell(new Phrase(header, headerFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); @@ -206,7 +205,7 @@ public class Sp001 { } table.addCell(PdfBaseUtil.createCell(studyFormFillQmxx.getQmrMc(), contentFont)); table.addCell(PdfBaseUtil.createCell(studyFormFillQmxx.getQmyy(), contentFont)); - table.addCell(PdfBaseUtil.createCell(sdf.format(studyFormFillQmxx.getCreateTime()), contentFont)); + table.addCell(PdfBaseUtil.createCell(PdfExportUtil.parseDateToStr(studyFormFillQmxx.getCreateTime()), contentFont)); table.addCell(PdfBaseUtil.createCell(studyFormFillQmxx.getRemark(), contentFont)); rowNum++; } @@ -222,27 +221,38 @@ public class Sp001 { * @throws DocumentException */ public void addJcgj(Document document, List studyFormFillJcgjList) throws IOException, DocumentException { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (StudyFormFillJcgj jcgj : studyFormFillJcgjList) { - PdfBaseUtil.addUnderlinedTitle(document, sdf.format(jcgj.getCreateTime()) + " " + jcgj.getJcmc(), 10, false); + PdfBaseUtil.addUnderlinedTitle(document, PdfExportUtil.parseDateToStr(jcgj.getCreateTime()) + " " + jcgj.getJcmc(), 10, false); StringJoiner result = new StringJoiner(", "); if (StringUtils.isNoneBlank(jcgj.getJcnr())) { ObjectMapper mapper = new ObjectMapper(); JsonNode jsonArray = mapper.readTree(jcgj.getJcnr()); for (JsonNode node : jsonArray) { - String name = node.get("name").asText(); - String value =node.get("value")!=null? node.get("value").asText():""; - result.add(name + ":" + value); + if (node.get("name") != null) { + String name = node.get("name").asText(); + String value = node.get("value") != null ? node.get("value").asText() : ""; + result.add(name + ":" + value); + } } } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add("备注:" + jcgj.getRemark()); + result.add(getName("备注") + ":" + jcgj.getRemark()); } if (StringUtils.isNoneBlank(jcgj.getRemark())) { - result.add("签名人:" + jcgj.getQmrMc()); + result.add(getName("签名人") + ":" + jcgj.getQmrMc()); } PdfBaseUtil.addUnderlinedTitle(document, result.toString(), 10, false); } } + /** + * 获取名称 + * + * @param name + * @return + */ + public String getName(String name) { + return "en".equals(language) ? TemplateUtil.getEn(name) : name; + } + }