From 443d3c6f5a54eb2c9e388bc206437425b463f547 Mon Sep 17 00:00:00 2001 From: ls Date: Wed, 30 Oct 2024 15:41:05 +0800 Subject: [PATCH] update --- .../physical-system-biz/pom.xml | 5 + .../database/constant/ExperimentStatus.java | 8 + .../ExperimentAnnealProcessController.java | 322 ++++++++++-------- .../controller/ExperimentController.java | 2 + .../ExperimentRadiationProcessController.java | 15 +- .../ExperimentReportController.java | 11 + .../ExperimentTestProcessController.java | 11 + .../impl/ExperimentDocServiceImpl.java | 52 ++- .../main/resources/templates/doc/fzsyjhb.docx | Bin 0 -> 11564 bytes .../main/resources/templates/doc/fzsyzjd.docx | Bin 0 -> 11121 bytes .../main/resources/templates/doc/sbsyjlb.docx | Bin 0 -> 11121 bytes .../main/resources/templates/doc/sybg.docx | Bin 0 -> 11121 bytes .../main/resources/templates/doc/sybgpsb.docx | Bin 0 -> 11121 bytes pom.xml | 4 + 14 files changed, 281 insertions(+), 149 deletions(-) create mode 100644 physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentStatus.java create mode 100644 physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyjhb.docx create mode 100644 physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyzjd.docx create mode 100644 physical-module-system/physical-system-biz/src/main/resources/templates/doc/sbsyjlb.docx create mode 100644 physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybg.docx create mode 100644 physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybgpsb.docx diff --git a/physical-module-system/physical-system-biz/pom.xml b/physical-module-system/physical-system-biz/pom.xml index c5b91ca..8f02004 100644 --- a/physical-module-system/physical-system-biz/pom.xml +++ b/physical-module-system/physical-system-biz/pom.xml @@ -12,6 +12,11 @@ physical-system-biz + + com.deepoove + poi-tl + 1.12.2 + org.jeecgframework.boot physical-system-api diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentStatus.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentStatus.java new file mode 100644 index 0000000..e0d7671 --- /dev/null +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/constant/ExperimentStatus.java @@ -0,0 +1,8 @@ +package org.jeecg.modules.database.constant; + +public interface ExperimentStatus { + + String PRE_TEST="试验前"; + String PROGRESSING="试验进行中"; + String COMPLETED="试验完成"; +} diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java index f415f09..661624b 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentAnnealProcessController.java @@ -1,161 +1,193 @@ package org.jeecg.modules.database.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.database.entity.ExperimentAnnealProcess; -import org.jeecg.modules.database.service.IExperimentAnnealProcessService; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import lombok.extern.slf4j.Slf4j; - -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.jeecg.common.system.base.controller.JeecgController; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import org.jeecg.common.aspect.annotation.AutoLog; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.modules.database.constant.ExperimentStatus; +import org.jeecg.modules.database.entity.Experiment; +import org.jeecg.modules.database.entity.ExperimentAnnealProcess; +import org.jeecg.modules.database.entity.ExperimentLog; +import org.jeecg.modules.database.service.IExperimentAnnealProcessService; +import org.jeecg.modules.database.service.IExperimentLogService; +import org.jeecg.modules.database.service.IExperimentService; +import org.jeecg.modules.system.entity.SysUser; +import org.jeecg.modules.system.service.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; - /** +import java.util.Arrays; + +/** * @Description: 退火过程 * @Author: jeecg-boot - * @Date: 2024-10-21 + * @Date: 2024-10-21 * @Version: V1.0 */ -@Tag(name="退火过程") +@Tag(name = "退火过程") @RestController @RequestMapping("/database/experimentAnnealProcess") @Slf4j public class ExperimentAnnealProcessController extends JeecgController { - @Autowired - private IExperimentAnnealProcessService experimentAnnealProcessService; - - /** - * 分页列表查询 - * - * @param experimentAnnealProcess - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "退火过程-分页列表查询") - @Operation(summary="退火过程-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(ExperimentAnnealProcess experimentAnnealProcess, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentAnnealProcess, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = experimentAnnealProcessService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 添加 - * - * @param experimentAnnealProcess - * @return - */ - @AutoLog(value = "退火过程-添加") - @Operation(summary="退火过程-添加") - @RequiresPermissions("database:experiment_anneal_process:add") - @PostMapping(value = "/add") - public Result add(@RequestBody ExperimentAnnealProcess experimentAnnealProcess) { - experimentAnnealProcessService.save(experimentAnnealProcess); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - * - * @param experimentAnnealProcess - * @return - */ - @AutoLog(value = "退火过程-编辑") - @Operation(summary="退火过程-编辑") - @RequiresPermissions("database:experiment_anneal_process:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody ExperimentAnnealProcess experimentAnnealProcess) { - experimentAnnealProcessService.updateById(experimentAnnealProcess); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "退火过程-通过id删除") - @Operation(summary="退火过程-通过id删除") - @RequiresPermissions("database:experiment_anneal_process:delete") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name="id",required=true) String id) { - experimentAnnealProcessService.removeById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "退火过程-批量删除") - @Operation(summary="退火过程-批量删除") - @RequiresPermissions("database:experiment_anneal_process:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.experimentAnnealProcessService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - //@AutoLog(value = "退火过程-通过id查询") - @Operation(summary="退火过程-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id",required=true) String id) { - ExperimentAnnealProcess experimentAnnealProcess = experimentAnnealProcessService.getById(id); - if(experimentAnnealProcess==null) { - return Result.error("未找到对应数据"); - } - return Result.OK(experimentAnnealProcess); - } + @Autowired + private IExperimentAnnealProcessService experimentAnnealProcessService; + + + @Autowired + private ISysUserService userService; + + @Autowired + private IExperimentService experimentService; + @Autowired + private IExperimentLogService experimentLogService; /** - * 导出excel - * - * @param request - * @param experimentAnnealProcess - */ + * 分页列表查询 + * + * @param experimentAnnealProcess + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "退火过程-分页列表查询") + @Operation(summary = "退火过程-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(ExperimentAnnealProcess experimentAnnealProcess, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(experimentAnnealProcess, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = experimentAnnealProcessService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param experimentAnnealProcess + * @return + */ + @AutoLog(value = "退火过程-添加") + @Operation(summary = "退火过程-添加") + @RequiresPermissions("database:experiment_anneal_process:add") + @PostMapping(value = "/add") + public Result add(@RequestBody ExperimentAnnealProcess experimentAnnealProcess, HttpServletRequest request) { + experimentAnnealProcessService.save(experimentAnnealProcess); + String experimentId = experimentAnnealProcess.getExperimentId(); + + Experiment experiment = new Experiment(); + experiment.setId(experimentId); + experiment.setStatus(ExperimentStatus.PROGRESSING); + experimentService.updateById(experiment); + + ExperimentLog experimentLog = new ExperimentLog(); + experimentLog.setExperimentId(experimentId); + experimentLog.setLogContent("添加退火过程"); + String username = JwtUtil.getUserNameByToken(request); + SysUser userByName = userService.getUserByName(username); + experimentLog.setCreateBy(userByName.getRealname()); + experimentLogService.save(experimentLog); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param experimentAnnealProcess + * @return + */ + @AutoLog(value = "退火过程-编辑") + @Operation(summary = "退火过程-编辑") + @RequiresPermissions("database:experiment_anneal_process:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result edit(@RequestBody ExperimentAnnealProcess experimentAnnealProcess, HttpServletRequest request) { + experimentAnnealProcessService.updateById(experimentAnnealProcess); + + + ExperimentLog experimentLog = new ExperimentLog(); + experimentLog.setExperimentId(experimentAnnealProcess.getExperimentId()); + experimentLog.setLogContent("编辑退火过程"); + String username = JwtUtil.getUserNameByToken(request); + SysUser userByName = userService.getUserByName(username); + experimentLog.setCreateBy(userByName.getRealname()); + experimentLogService.save(experimentLog); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "退火过程-通过id删除") + @Operation(summary = "退火过程-通过id删除") + @RequiresPermissions("database:experiment_anneal_process:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name = "id", required = true) String id, HttpServletRequest request) { + experimentAnnealProcessService.removeById(id); + + ExperimentLog experimentLog = new ExperimentLog(); + experimentLog.setExperimentId(id); + experimentLog.setLogContent("删除退火过程"); + String username = JwtUtil.getUserNameByToken(request); + SysUser userByName = userService.getUserByName(username); + experimentLog.setCreateBy(userByName.getRealname()); + experimentLogService.save(experimentLog); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "退火过程-批量删除") + @Operation(summary = "退火过程-批量删除") + @RequiresPermissions("database:experiment_anneal_process:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.experimentAnnealProcessService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "退火过程-通过id查询") + @Operation(summary = "退火过程-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + ExperimentAnnealProcess experimentAnnealProcess = experimentAnnealProcessService.getById(id); + if (experimentAnnealProcess == null) { + return Result.error("未找到对应数据"); + } + return Result.OK(experimentAnnealProcess); + } + + /** + * 导出excel + * + * @param request + * @param experimentAnnealProcess + */ @RequiresPermissions("database:experiment_anneal_process:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, ExperimentAnnealProcess experimentAnnealProcess) { @@ -163,12 +195,12 @@ public class ExperimentAnnealProcessController extends JeecgController importExcel(HttpServletRequest request, HttpServletResponse response) { diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java index ed53e1c..c41d251 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentController.java @@ -14,6 +14,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.modules.database.constant.ExperimentStatus; import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.ExperimentLog; import org.jeecg.modules.database.service.IExperimentLogService; @@ -77,6 +78,7 @@ public class ExperimentController extends JeecgController add(@RequestBody Experiment experiment, HttpServletRequest request) { + experiment.setStatus(ExperimentStatus.PRE_TEST); experimentService.save(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experiment.getId()); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRadiationProcessController.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRadiationProcessController.java index f52bdaf..ced8208 100644 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRadiationProcessController.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/controller/ExperimentRadiationProcessController.java @@ -14,10 +14,13 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.util.JwtUtil; +import org.jeecg.modules.database.constant.ExperimentStatus; +import org.jeecg.modules.database.entity.Experiment; import org.jeecg.modules.database.entity.ExperimentLog; import org.jeecg.modules.database.entity.ExperimentRadiationProcess; import org.jeecg.modules.database.service.IExperimentLogService; import org.jeecg.modules.database.service.IExperimentRadiationProcessService; +import org.jeecg.modules.database.service.IExperimentService; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; @@ -45,6 +48,9 @@ public class ExperimentRadiationProcessController extends JeecgController add(@RequestBody ExperimentRadiationProcess experimentRadiationProcess, HttpServletRequest request) { experimentRadiationProcessService.save(experimentRadiationProcess); + String experimentId = experimentRadiationProcess.getExperimentId(); + Experiment experiment = new Experiment(); + experiment.setId(experimentId); + experiment.setStatus(ExperimentStatus.PROGRESSING); + experimentService.updateById(experiment); ExperimentLog experimentLog = new ExperimentLog(); - experimentLog.setExperimentId(experimentRadiationProcess.getExperimentId()); + experimentLog.setExperimentId(experimentId); experimentLog.setLogContent("添加辐照过程"); String username = JwtUtil.getUserNameByToken(request); SysUser userByName = userService.getUserByName(username); @@ -106,7 +117,7 @@ public class ExperimentRadiationProcessController extends JeecgController { @Autowired private IExperimentReportService experimentReportService; + @Autowired + private IExperimentService experimentService; @Autowired private ISysUserService sysUserService; @@ -229,6 +234,12 @@ public class ExperimentReportController extends JeecgController add(@RequestBody ExperimentTestProcess experimentTestProcess, HttpServletRequest request) { experimentTestProcessService.save(experimentTestProcess); + String experimentId = experimentTestProcess.getExperimentId(); + Experiment experiment = new Experiment(); + experiment.setId(experimentId); + experiment.setStatus(ExperimentStatus.PROGRESSING); + experimentService.updateById(experiment); ExperimentLog experimentLog = new ExperimentLog(); experimentLog.setExperimentId(experimentTestProcess.getExperimentId()); diff --git a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java index ad35c9f..e894532 100755 --- a/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java +++ b/physical-module-system/physical-system-biz/src/main/java/org/jeecg/modules/database/service/impl/ExperimentDocServiceImpl.java @@ -1,19 +1,67 @@ package org.jeecg.modules.database.service.impl; +import cn.hutool.core.io.FileUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.database.entity.ExperimentDoc; import org.jeecg.modules.database.mapper.ExperimentDocMapper; import org.jeecg.modules.database.service.IExperimentDocService; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.io.IOException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; /** * @Description: 试验文档 * @Author: jeecg-boot - * @Date: 2024-08-30 + * @Date: 2024-08-30 * @Version: V1.0 */ @Service +@Slf4j public class ExperimentDocServiceImpl extends ServiceImpl implements IExperimentDocService { + static Map docTempalteMap = new HashMap<>(); + + static { + //辐照试验计划表 + docTempalteMap.put("辐照试验计划表", "fzsyjhb.docx"); + docTempalteMap.put("试验报告评审表", "sybgpsb.docx"); + docTempalteMap.put("设备使用记录表", "sbsyjlb.docx"); + docTempalteMap.put("试验报告", "sybg.docx"); + docTempalteMap.put("辐照试验总结单", "fzsyzjd.docx"); + } + + public static void main(String[] args) throws IOException { + //The core API uses a minimalist design, only one line of code is required + Map maps = new HashMap<>(); + maps.put("title", "辐照试验计划表"); + generateExperimentDoc("20241028号实验", "辐照试验计划表", maps); + } + + public static void generateExperimentDoc(String experimentId, String fileName, Map params) { + URL resourceUrl = ExperimentDocServiceImpl.class.getClassLoader().getResource("templates/doc/" + docTempalteMap.get(fileName)); + if (Objects.isNull(resourceUrl)) { + throw new RuntimeException("模板文件不存在!"); + } + String absolutePath = resourceUrl.getPath(); + log.info("doc template path: " + absolutePath); + + try { + String tmpDirPath = FileUtil.getTmpDirPath(); + String outputFile = tmpDirPath + fileName + "-" + experimentId + ".docx"; + if (FileUtil.exist(outputFile)) { + FileUtil.del(outputFile); + } + log.info("output file path: " + outputFile); + + XWPFTemplate.compile(absolutePath).render(params).writeToFile(outputFile); + } catch (IOException e) { + throw new RuntimeException(e); + } + } } diff --git a/physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyjhb.docx b/physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyjhb.docx new file mode 100644 index 0000000000000000000000000000000000000000..025877bf8168839252abff8796f45c49ad6ef839 GIT binary patch literal 11564 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 G?0*0i?%Rd{ literal 0 HcmV?d00001 diff --git a/physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyzjd.docx b/physical-module-system/physical-system-biz/src/main/resources/templates/doc/fzsyzjd.docx new file mode 100644 index 0000000000000000000000000000000000000000..b55db6397643df82d9c2c789a310c99b4551ed55 GIT binary patch literal 11121 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 literal 0 HcmV?d00001 diff --git a/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sbsyjlb.docx b/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sbsyjlb.docx new file mode 100644 index 0000000000000000000000000000000000000000..b55db6397643df82d9c2c789a310c99b4551ed55 GIT binary patch literal 11121 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 literal 0 HcmV?d00001 diff --git a/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybg.docx b/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybg.docx new file mode 100644 index 0000000000000000000000000000000000000000..b55db6397643df82d9c2c789a310c99b4551ed55 GIT binary patch literal 11121 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 literal 0 HcmV?d00001 diff --git a/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybgpsb.docx b/physical-module-system/physical-system-biz/src/main/resources/templates/doc/sybgpsb.docx new file mode 100644 index 0000000000000000000000000000000000000000..b55db6397643df82d9c2c789a310c99b4551ed55 GIT binary patch literal 11121 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index f50cf53..8b2e64a 100644 --- a/pom.xml +++ b/pom.xml @@ -456,6 +456,10 @@ eot ttf svg + doc + docx + xls + xlsx