| | |
| | | String xml = new String(parts.get("word/document.xml"), StandardCharsets.UTF_8); |
| | | assertTrue(xml.contains("HT20261015001")); assertTrue(xml.contains("2026年10月15日")); |
| | | assertTrue(xml.contains("10000.00")); assertTrue(xml.contains("壹万元整")); |
| | | assertTrue(xml.contains("冻干冬虫夏草(2500级一等)")); assertTrue(xml.contains("诚信合规")); |
| | | assertTrue(xml.contains("冻干冬虫夏草(2500级一等)")); assertTrue(xml.contains("交付与验收")); |
| | | assertFalse(xml.contains("北京同仁堂")); assertFalse(xml.contains("28504001040001454")); |
| | | assertFalse(xml.contains("${")); |
| | | try(var template = new ClassPathResource("templates/contract/sale-contract.docx").getInputStream()) { |
| | | var original = unzip(template.readAllBytes()); assertEquals(original.keySet(),parts.keySet()); |
| | |
| | | contract.setProducts(Collections.nCopies(25,contract.getProducts().getFirst())); |
| | | contract.setTotalPrice(new BigDecimal("249000")); |
| | | String xml = new String(unzip(CrmContractDocumentRenderer.render(contract)).get("word/document.xml"),StandardCharsets.UTF_8); |
| | | assertTrue(xml.contains("客户<&>公司")); assertTrue(xml.contains("整单优惠 1000.00 元")); |
| | | assertTrue(xml.contains("客户<&>公司")); assertTrue(xml.contains("与合同金额的差额 1000.00 元")); |
| | | assertEquals(25,xml.split("冻干冬虫夏草(2500级一等)",-1).length-1); |
| | | assertEquals(25,xml.split("<w:cantSplit",-1).length-1); |
| | | assertTrue(xml.contains("249000.00")); assertFalse(xml.contains("${")); |
| | | assertFalse(xml.contains("乙方(需方):中国科学院西北高原生物研究所")); |
| | | assertTrue(xml.contains("乙方(需方):客户<&>公司")); |
| | | String output = System.getProperty("contract.document.sample"); |
| | | if (output != null) Files.write(Path.of(output).resolveSibling("generated-contract-many.docx"), CrmContractDocumentRenderer.render(contract)); |
| | | } |