|
@@ -1,5 +1,6 @@
|
|
|
package com.ruoyi.project.ticket.controller;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -45,8 +46,7 @@ import javax.annotation.Resource;
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("/ticket/firework")
|
|
|
-public class TFireWorkPermitController extends BaseController
|
|
|
-{
|
|
|
+public class TFireWorkPermitController extends BaseController {
|
|
|
@Autowired
|
|
|
private ITFireWorkPermitService tFireWorkPermitService;
|
|
|
@Autowired
|
|
@@ -57,13 +57,13 @@ public class TFireWorkPermitController extends BaseController
|
|
|
private TTicketIdController tTicketIdController;
|
|
|
@Resource
|
|
|
private TMatterMapper tMatterMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 查询【动火作业票】列表
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:list')")
|
|
|
@GetMapping("/list")
|
|
|
- public TableDataInfo list(TFireWorkPermit tFireWorkPermit)
|
|
|
- {
|
|
|
+ public TableDataInfo list(TFireWorkPermit tFireWorkPermit) {
|
|
|
startPage();
|
|
|
List<TFireWorkPermit> list = tFireWorkPermitService.selectTFireWorkPermitList(tFireWorkPermit);
|
|
|
return getDataTable(list);
|
|
@@ -75,8 +75,7 @@ public class TFireWorkPermitController extends BaseController
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:export')")
|
|
|
@Log(title = "【动火作业票】", businessType = BusinessType.EXPORT)
|
|
|
@GetMapping("/export")
|
|
|
- public AjaxResult export(TFireWorkPermit tFireWorkPermit)
|
|
|
- {
|
|
|
+ public AjaxResult export(TFireWorkPermit tFireWorkPermit) {
|
|
|
List<TFireWorkPermit> list = tFireWorkPermitService.selectTFireWorkPermitList(tFireWorkPermit);
|
|
|
ExcelUtil<TFireWorkPermit> util = new ExcelUtil<TFireWorkPermit>(TFireWorkPermit.class);
|
|
|
return util.exportExcel(list, "permit");
|
|
@@ -87,8 +86,7 @@ public class TFireWorkPermitController extends BaseController
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:query')")
|
|
|
@GetMapping(value = "/{hId}")
|
|
|
- public AjaxResult getInfo(@PathVariable("hId") Long hId)
|
|
|
- {
|
|
|
+ public AjaxResult getInfo(@PathVariable("hId") Long hId) {
|
|
|
return AjaxResult.success(tFireWorkPermitService.selectTFireWorkPermitById(hId));
|
|
|
}
|
|
|
|
|
@@ -98,13 +96,31 @@ public class TFireWorkPermitController extends BaseController
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:add')")
|
|
|
@Log(title = "【动火作业票】", businessType = BusinessType.INSERT)
|
|
|
@PostMapping
|
|
|
- public AjaxResult add(@RequestBody TFireWorkPermit tFireWorkPermit)
|
|
|
- {
|
|
|
+ public AjaxResult add(@RequestBody TFireWorkPermit tFireWorkPermit) {
|
|
|
TTicketId tTicketId = new TTicketId();
|
|
|
tTicketId.setId(1l);
|
|
|
- Long ticketId = tTicketIdController.createId(tTicketId);
|
|
|
+ Long ticketId = tTicketIdController.createId(tTicketId);
|
|
|
logger.info("ticketId:" + ticketId);
|
|
|
tFireWorkPermit.sethId(ticketId);
|
|
|
+ try {
|
|
|
+ //生成word
|
|
|
+ //渲染文本
|
|
|
+ Map<String, Object> params = getWordData(tFireWorkPermit);
|
|
|
+ // 模板路径
|
|
|
+ String templatePath = "static/word/fireTicket.docx";
|
|
|
+ // 生成word的路径
|
|
|
+ String fileDir = RuoYiConfig.getProfile() + "/" + "ticketWord";
|
|
|
+ // 生成word的文件
|
|
|
+ String fileName = "H" + ticketId + ".docx";
|
|
|
+ String wordPath = this.wordController.createWord(templatePath, fileDir, fileName, params);
|
|
|
+ tFireWorkPermit.setWordUrl(wordPath);
|
|
|
+ //使用流的方式转换PDF
|
|
|
+ String fileName2 = "H" + ticketId + ".pdf";
|
|
|
+ String pdfPath = this.wordController.createPDF(fileDir, fileName, fileName2, params);
|
|
|
+ tFireWorkPermit.setPdfUrl(pdfPath);
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("生成文件失败");
|
|
|
+ }
|
|
|
tFireWorkPermitService.insertTFireWorkPermit(tFireWorkPermit);
|
|
|
//保存危害工作许可证关联数据
|
|
|
PermitRelation permitRelation = new PermitRelation();
|
|
@@ -121,8 +137,26 @@ public class TFireWorkPermitController extends BaseController
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:edit')")
|
|
|
@Log(title = "【动火作业票】", businessType = BusinessType.UPDATE)
|
|
|
@PutMapping
|
|
|
- public AjaxResult edit(@RequestBody TFireWorkPermit tFireWorkPermit)
|
|
|
- {
|
|
|
+ public AjaxResult edit(@RequestBody TFireWorkPermit tFireWorkPermit) {
|
|
|
+ try {
|
|
|
+ //生成word
|
|
|
+ //渲染文本
|
|
|
+ Map<String, Object> params = getWordData(tFireWorkPermit);
|
|
|
+ // 模板路径
|
|
|
+ String templatePath = "static/word/fireTicket.docx";
|
|
|
+ // 生成word的路径
|
|
|
+ String fileDir = RuoYiConfig.getProfile() + "/" + "ticketWord";
|
|
|
+ // 生成word的文件
|
|
|
+ String fileName = "H" + tFireWorkPermit.gethId() + ".docx";
|
|
|
+ String wordPath = this.wordController.createWord(templatePath, fileDir, fileName, params);
|
|
|
+ tFireWorkPermit.setWordUrl(wordPath);
|
|
|
+ //使用流的方式转换PDF
|
|
|
+ String fileName2 = "H" + tFireWorkPermit.gethId() + ".pdf";
|
|
|
+ String pdfPath = this.wordController.createPDF(fileDir, fileName, fileName2, params);
|
|
|
+ tFireWorkPermit.setPdfUrl(pdfPath);
|
|
|
+ } catch (IOException e) {
|
|
|
+ logger.error("生成文件失败");
|
|
|
+ }
|
|
|
return toAjax(tFireWorkPermitService.updateTFireWorkPermit(tFireWorkPermit));
|
|
|
}
|
|
|
|
|
@@ -131,10 +165,99 @@ public class TFireWorkPermitController extends BaseController
|
|
|
*/
|
|
|
@PreAuthorize("@ss.hasPermi('ticket:permit:remove')")
|
|
|
@Log(title = "【动火作业票】", businessType = BusinessType.DELETE)
|
|
|
- @DeleteMapping("/{hIds}")
|
|
|
- public AjaxResult remove(@PathVariable Long[] hIds)
|
|
|
- {
|
|
|
+ @DeleteMapping("/{hIds}")
|
|
|
+ public AjaxResult remove(@PathVariable Long[] hIds) {
|
|
|
return toAjax(tFireWorkPermitService.deleteTFireWorkPermitByIds(hIds));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public Map<String, Object> getWordData(TFireWorkPermit tFireWorkPermit) {
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ // 渲染文本
|
|
|
+ params.put("aId", Texts.of(tFireWorkPermit.gethId().toString()).fontSize(7).bold().create());
|
|
|
+ params.put("aEquipmentName", Texts.of(tFireWorkPermit.getaEquipmentName()).fontSize(7).bold().create());
|
|
|
+ params.put("aEquipmentLeader", Texts.of(tFireWorkPermit.getaEquipmentLeader()).fontSize(7).bold().create());
|
|
|
+ params.put("aEquipmentTel", Texts.of(tFireWorkPermit.getaEquipmentTel()).fontSize(7).bold().create());
|
|
|
+ params.put("aEquipmentOffice", Texts.of(tFireWorkPermit.getaEquipmentOffice()).fontSize(7).bold().create());
|
|
|
+ params.put("aConstructionName", Texts.of(tFireWorkPermit.getaConstructionName()).fontSize(7).bold().create());
|
|
|
+ params.put("aConstructionLeader", Texts.of(tFireWorkPermit.getaConstructionLeader()).fontSize(7).bold().create());
|
|
|
+ params.put("aConstructionTel", Texts.of(tFireWorkPermit.getaConstructionTel()).fontSize(7).bold().create());
|
|
|
+ params.put("aConstructionOffice", Texts.of(tFireWorkPermit.getaConstructionOffice()).fontSize(7).bold().create());
|
|
|
+ params.put("aContractorName", Texts.of(tFireWorkPermit.getaContractorName()).fontSize(7).bold().create());
|
|
|
+ params.put("aContractorLeader", Texts.of(tFireWorkPermit.getaContractorLeader()).fontSize(7).bold().create());
|
|
|
+ params.put("aContractorTel", Texts.of(tFireWorkPermit.getaContractorTel()).fontSize(7).bold().create());
|
|
|
+ params.put("aContractorOffice", Texts.of(tFireWorkPermit.getaContractorOffice()).fontSize(7).bold().create());
|
|
|
+
|
|
|
+ getCheck(params, tFireWorkPermit.getaIsNeedSafeLiaison().toString(), "aIsNSL1", "aIsNSL2");
|
|
|
+ params.put("aSafeLiaisonName", Texts.of(tFireWorkPermit.getaSafeLiaisonName()).fontSize(7).bold().create());
|
|
|
+ params.put("aSafeLiaisonSign", Texts.of(tFireWorkPermit.getaSafeLiaisonSign()).fontSize(7).bold().create());
|
|
|
+ params.put("aSafeLiaisonTel", Texts.of(tFireWorkPermit.getaSafeLiaisonTel()).fontSize(7).bold().create());
|
|
|
+ params.put("aSafeLiaisonOffice", Texts.of(tFireWorkPermit.getaSafeLiaisonOffice()).fontSize(7).bold().create());
|
|
|
+ // B 栏
|
|
|
+ params.put("bDeviceName", Texts.of(tFireWorkPermit.getbDeviceName()).fontSize(7).bold().create());
|
|
|
+ params.put("bAreaNo", Texts.of(tFireWorkPermit.getbAreaNo()).fontSize(7).bold().create());
|
|
|
+ params.put("bWorkContent", Texts.of(tFireWorkPermit.getbWorkContent()).fontSize(7).bold().create());
|
|
|
+ getCheck(params, tFireWorkPermit.getbFireWorkGrade() == null ? null : tFireWorkPermit.getbFireWorkGrade().toString(), "bfwg1", "bfwg2", "bfwg3");
|
|
|
+ if (tFireWorkPermit.getbValidityStartTime() != null) {
|
|
|
+ params.put("bValidityStartTime", Texts.of(DateUtils.parseDateToStr("yyyy年MM月dd日hh时mm分", tFireWorkPermit.getbValidityStartTime())).fontSize(7).bold().create());
|
|
|
+ }
|
|
|
+ if (tFireWorkPermit.getbValidityEndTime() != null) {
|
|
|
+ params.put("bValidityEndTime", Texts.of(DateUtils.parseDateToStr("yyyy年MM月dd日hh时mm分", tFireWorkPermit.getbValidityEndTime())).fontSize(7).bold().create());
|
|
|
+ }
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsWorkToFire() == null ? null : tFireWorkPermit.getcIsWorkToFire().toString(), "cIsWTF");
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsWorkToBlast() == null ? null : tFireWorkPermit.getcIsWorkToBlast().toString(), "cIsWTB");
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsWorkToEnvir() == null ? null : tFireWorkPermit.getcIsWorkToEnvir().toString(), "cIsWTE");
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsDeviceToBlast() == null ? null : tFireWorkPermit.getcIsDeviceToBlast().toString(), "cIsDTB");
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsOtherA() == null ? null : tFireWorkPermit.getcIsOtherA().toString(), "cIsOA");
|
|
|
+ getCheck(params, tFireWorkPermit.getcIsOtherFire() == null ? null : tFireWorkPermit.getcIsOtherFire().toString(), "cIsOF");
|
|
|
+ params.put("aId", Texts.of(tFireWorkPermit.getaId() == null ? "" : tFireWorkPermit.getaId().toString()).fontSize(7).bold().create());
|
|
|
+ params.put("cOtherFireContent", Texts.of(tFireWorkPermit.getcOtherFireContent() == null ? "" : tFireWorkPermit.getcOtherFireContent()).fontSize(7).bold().create());
|
|
|
+ return params;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 勾选框判断渲染
|
|
|
+ public void getCheck(Map<String, Object> params, String ticketWord, String check1) {
|
|
|
+ if ("1".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ } else if ("2".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ } else {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 勾选框判断渲染
|
|
|
+ public void getCheck(Map<String, Object> params, String ticketWord, String check1, String check2) {
|
|
|
+ if ("1".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ } else if ("2".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ } else {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void getCheck(Map<String, Object> params, String ticketWord, String check1, String check2, String check3) {
|
|
|
+ if ("1".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check3, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ } else if ("2".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ params.put(check3, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ } else if ("3".equals(ticketWord)) {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check3, new TextRenderData("\u00FE", new Style("Wingdings", 7)));
|
|
|
+ } else {
|
|
|
+ params.put(check1, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check2, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ params.put(check3, new TextRenderData("\u006F", new Style("Wingdings", 7)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|