This commit is contained in:
wwb 2026-07-14 15:37:06 +08:00
parent 377eec9d81
commit b9cf88a537
3 changed files with 29 additions and 22 deletions

View File

@ -26,6 +26,7 @@ import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.PageUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.http.HttpUtil;
@ -213,15 +214,15 @@ public class DeliveryOrderServiceImpl implements DeliveryOrderService {
for (DeliveryOrderDO deliveryOrder : deliveryOrders) {
List<DeliveryOrderEntryDO> entrys = getDeliveryOrderEntryListByParentId(deliveryOrder.getId());
List<List<DeliveryOrderEntryDO>> split = ListUtil.split(entrys, 6);
int i = 1;
int pageIndex = 1;
for (List<DeliveryOrderEntryDO> entrys2 : split) {
String htmlContent = generateHtmlContent(deliveryOrder, entrys2);
String htmlContent = generateHtmlContent(deliveryOrder, entrys2,pageIndex);
//docker生成路径
String pathUrl = System.getProperty("user.dir") + "/pdffile";
String fileName = StrUtil.format(pathUrl + "/DeliveryOrder_{}", deliveryOrder.getBillno() + "_" + i);
String fileName = StrUtil.format(pathUrl + "/DeliveryOrder_{}", deliveryOrder.getBillno() + "_" + pageIndex);
//主宿机生成路径
String fileName2 = StrUtil.format(pdfPath + "/DeliveryOrder_{}", deliveryOrder.getBillno() + "_" + i);
String fileName2 = StrUtil.format(pdfPath + "/DeliveryOrder_{}", deliveryOrder.getBillno() + "_" + pageIndex);
String templatePath = fileName + ".html";
String pdfPath = fileName + ".pdf";
@ -242,7 +243,7 @@ public class DeliveryOrderServiceImpl implements DeliveryOrderService {
files.add(file);
delFiles.add(pdfPath);
delFiles.add(templatePath);
i++;
pageIndex++;
}
}
String pathUrl = System.getProperty("user.dir") + "/pdffile";
@ -278,16 +279,16 @@ public class DeliveryOrderServiceImpl implements DeliveryOrderService {
private String generateHtmlContent(Long deliveryOrderId) {
DeliveryOrderDO deliveryOrder = getDeliveryOrder(deliveryOrderId);
List<DeliveryOrderEntryDO> deliveryOrderEntrys = getDeliveryOrderEntryListByParentId(deliveryOrderId);
Context context = generateHtmlContents(deliveryOrder, deliveryOrderEntrys);
Context context = generateHtmlContents(deliveryOrder, deliveryOrderEntrys,1);
return templateEngine.process("sendorder_pdf_template", context);
}
private String generateHtmlContent(DeliveryOrderDO deliveryOrder, List<DeliveryOrderEntryDO> deliveryOrderEntrys) {
Context context = generateHtmlContents(deliveryOrder, deliveryOrderEntrys);
private String generateHtmlContent(DeliveryOrderDO deliveryOrder, List<DeliveryOrderEntryDO> deliveryOrderEntrys, int pageIndex) {
Context context = generateHtmlContents(deliveryOrder, deliveryOrderEntrys, pageIndex);
return templateEngine.process("sendorder_pdf_template", context);
}
private Context generateHtmlContents(DeliveryOrderDO deliveryOrder, List<DeliveryOrderEntryDO> deliveryOrderEntrys) {
private Context generateHtmlContents(DeliveryOrderDO deliveryOrder, List<DeliveryOrderEntryDO> deliveryOrderEntrys, int pageIndex) {
CustomerDO customer = customerService.getCustomer(deliveryOrder.getCustomerId());
Context context = new Context();
context.setVariable("title", "送货单");//标题
@ -350,9 +351,11 @@ public class DeliveryOrderServiceImpl implements DeliveryOrderService {
specBuilder.append(thickness);
}
String spec = specBuilder.toString();
int j = i + 1;
Map<String,Object> items = new LinkedHashMap<>();
int j = i + 1;
PageUtil.setFirstPageNo(1);
int start = PageUtil.getStart(pageIndex, 6);
items.put("itemIndex", start+j + "");
items.put("productDesc1", productInfo.getCode());
items.put("productDesc2", productInfo.getName());
items.put("productDesc3", deliveryOrder.getSaleContractNo());

View File

@ -79,6 +79,7 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.PageUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.http.HttpUtil;
@ -484,7 +485,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
List<List<SaleContractEntryDO>> split = ListUtil.split(saleContractEntrys, 6);
int i = 1;
for (List<SaleContractEntryDO> saleContractEntryDOS : split) {
String htmlContent = generateHtmlContent(saleContract, saleContractEntryDOS);
String htmlContent = generateHtmlContent(saleContract, saleContractEntryDOS,i);
//docker生成路径
String pathUrl = System.getProperty("user.dir") + "/pdffile";
@ -658,12 +659,12 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
}
private String generateHtmlContent(SaleContractDO saleContract, List<SaleContractEntryDO> saleContractEntrys) {
Context context = generateHtmlContents(saleContract, saleContractEntrys);
private String generateHtmlContent(SaleContractDO saleContract, List<SaleContractEntryDO> saleContractEntrys,int pageIndex) {
Context context = generateHtmlContents(saleContract, saleContractEntrys, pageIndex);
return templateEngine.process("pdf_template", context);
}
private Context generateHtmlContents(SaleContractDO saleContract, List<SaleContractEntryDO> saleContractEntrys) {
private Context generateHtmlContents(SaleContractDO saleContract, List<SaleContractEntryDO> saleContractEntrys,int pageIndex) {
CustomerDO customer = customerService.getCustomer(saleContract.getCustomerId());
Context context = new Context();
context.setVariable("title", "销售合约");
@ -716,7 +717,9 @@ public class SaleOrderServiceImpl implements SaleOrderService {
}
String spec = specBuilder.toString();
int j = i + 1;
context.setVariable("item" + j, j + "");
PageUtil.setFirstPageNo(1);
int start = PageUtil.getStart(pageIndex, 6);
context.setVariable("item" + j, start+j + "");
context.setVariable("explain" + j, code);
context.setVariable("qty" + j, saleContractEntryDO.getQty());
context.setVariable("price" + j, saleContractEntryDO.getPrice());
@ -742,15 +745,15 @@ public class SaleOrderServiceImpl implements SaleOrderService {
List<SaleContractEntryDO> saleContractEntrys = BeanUtils.toBean(saleContractVO.getSaleContractEntrys(), SaleContractEntryDO.class);
List<List<SaleContractEntryDO>> split = ListUtil.split(saleContractEntrys, 6);
int i = 1;
int pageIndex = 1;
for (List<SaleContractEntryDO> saleContractEntryDOS : split) {
String htmlContent = generateHtmlContent(saleContract, saleContractEntryDOS);
String htmlContent = generateHtmlContent(saleContract, saleContractEntryDOS,1);
//docker生成路径
String pathUrl = System.getProperty("user.dir") + "/pdffile";
String fileName = StrUtil.format(pathUrl + "/SaleContract_{}", saleOrder.getBillno()+"_"+i);
String fileName = StrUtil.format(pathUrl + "/SaleContract_{}", saleOrder.getBillno()+"_"+pageIndex);
//主宿机生成路径
String fileName2 = StrUtil.format(pdfPath + "/SaleContract_{}", saleOrder.getBillno()+"_"+i);
String fileName2 = StrUtil.format(pdfPath + "/SaleContract_{}", saleOrder.getBillno()+"_"+pageIndex);
String templatePath = fileName + ".html";
String pdfPath = fileName + ".pdf";
@ -770,7 +773,7 @@ public class SaleOrderServiceImpl implements SaleOrderService {
files.add(file);
delFiles.add(pdfPath);
delFiles.add(templatePath);
i++;
pageIndex++;
}
}
String pathUrl = System.getProperty("user.dir") + "/pdffile";

View File

@ -148,7 +148,8 @@
<tbody>
<tr th:each="item, stat : ${items}" >
<td style="border: 0;vertical-align: top;" th:text="${stat.index + 1}">1</td>
<!-- <td style="border: 0;vertical-align: top;" th:text="${stat.index + 1}">1</td>-->
<td style="border: 0;vertical-align: top;" th:text="${item.itemIndex}">1</td>
<td style="border: 0;" >
<span th:text="${item.productDesc1}"></span>
<br/><span th:text="${item.productDesc2}"></span>