diff --git a/src/main/java/io/v/nutz/zgfw/controller/condolence/CondolenceReadCon.java b/src/main/java/io/v/nutz/zgfw/controller/condolence/CondolenceReadCon.java index 86b4e92..bd3512c 100644 --- a/src/main/java/io/v/nutz/zgfw/controller/condolence/CondolenceReadCon.java +++ b/src/main/java/io/v/nutz/zgfw/controller/condolence/CondolenceReadCon.java @@ -113,7 +113,8 @@ public class CondolenceReadCon { be.unionname be_unionname, state.state_name, state.state_color, - type.`code` + type.`code`, + type.hasReceipt AS has_receipt FROM condolence con LEFT JOIN `user` be ON con.be_user = be.id @@ -375,6 +376,7 @@ public class CondolenceReadCon { type.`name` AS type_name, type.money, type.`code` typeCode, + type.hasReceipt AS has_receipt, c.remark, c.deadImmediateFamily, c.inpatientSurgicalName, @@ -402,6 +404,10 @@ public class CondolenceReadCon { sql.setParam("id", id); NutMap nutMap = condolenceService.fetch(sql); + if (nutMap.get("has_receipt") != null && !nutMap.getBoolean("has_receipt")) { + return; + } + if (StrUtil.isNotBlank(nutMap.getString("lkrSignData"))) { try { nutMap.put("lkr", ViTool.poiBase64Image7030(nutMap.getString("lkrSignData"))); @@ -451,6 +457,8 @@ public class CondolenceReadCon { nutMap.put("detail", username + "其它慰问"); } else if (typeCode.equals("J")) { nutMap.put("detail", username + "取环慰问"); + } else { + nutMap.put("detail", username + nutMap.getString("type_name")); } double m = nutMap.getDouble("money"); String cm = Convert.digitToChinese(m); @@ -461,7 +469,8 @@ public class CondolenceReadCon { try { String fileName = nutMap.getString("unionname") + nutMap.getString("detail") + "领据"; response.addHeader("Content-Type", "application/octet-stream"); - response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1) + "\".docx"); + response.addHeader("Content-Disposition", "attachment;filename=" + + URLEncoder.encode(fileName + ".docx", StandardCharsets.UTF_8)); ServletOutputStream outputStream = response.getOutputStream(); Configure config = Configure.newBuilder().build(); XWPFTemplate.compile(officeTemplateUtil.getPath("condolenceDocument2"), config).render(nutMap).writeAndClose(response.getOutputStream()); @@ -574,6 +583,7 @@ public class CondolenceReadCon { bwwr.username AS bwwrname, bwwr.unionname, type.`name` AS type_name, + type.hasReceipt AS has_receipt, c.files FROM `condolence` c @@ -602,9 +612,13 @@ public class CondolenceReadCon { zipOutputStream.write(bytes, 0, bytes.length); zipOutputStream.closeEntry(); } - zipOutputStream.finish(); - response.flushBuffer(); } + + zipOutputStream.finish(); + if (condolence.get("has_receipt") != null && !condolence.getBoolean("has_receipt")) { + condolenceService.update(Chain.make("isExport", 1), Cnd.where("id", "=", id)); + } + response.flushBuffer(); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/io/v/nutz/zgfw/model/condolence/CondolenceType.java b/src/main/java/io/v/nutz/zgfw/model/condolence/CondolenceType.java index a0df335..71758ef 100644 --- a/src/main/java/io/v/nutz/zgfw/model/condolence/CondolenceType.java +++ b/src/main/java/io/v/nutz/zgfw/model/condolence/CondolenceType.java @@ -57,6 +57,11 @@ public class CondolenceType { @ColDefine(type = ColType.BOOLEAN) private Boolean isUploadFile; + @Column + @Comment("是否有领据") + @ColDefine(type = ColType.BOOLEAN) + private Boolean hasReceipt; + @Column @Comment("上传附件说明") @ColDefine(type = ColType.VARCHAR,width = 200) diff --git a/src/main/resources/views/platform/zgfw/condolence/TypeMange.html b/src/main/resources/views/platform/zgfw/condolence/TypeMange.html index f12da87..4c210b4 100644 --- a/src/main/resources/views/platform/zgfw/condolence/TypeMange.html +++ b/src/main/resources/views/platform/zgfw/condolence/TypeMange.html @@ -66,6 +66,15 @@ layout("/layouts/platform.html"){ + + + +