From 27c8a2c506b77161a57b3b49d8a66305bc548a11 Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Thu, 27 Mar 2025 17:51:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E9=85=8D=E4=BB=B6=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=85=A5=E5=BA=93=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventroy/WmsReceiptBillRest.java | 6 + .../wmsreceiptbill/WmsReceiptBillService.java | 15 + .../WmsReceiptBillPdfListVo.java | 18 + .../WmsReceiptBillPdfVo.java | 22 + .../src/main/resources/ftl/pjcgrkd.ftl | 2603 +++++++++++++++++ .../resources/ftl/配件采购入库单.docx | Bin 0 -> 12889 bytes 6 files changed, 2664 insertions(+) create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfListVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfVo.java create mode 100644 yxt-wms-biz/src/main/resources/ftl/pjcgrkd.ftl create mode 100644 yxt-wms-biz/src/main/resources/ftl/配件采购入库单.docx diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java index f28820f947..991469fc51 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java @@ -76,4 +76,10 @@ public class WmsReceiptBillRest { } + @ApiOperation("打印配件采购入库单") + @PostMapping("/printReceiptBillPdf") + public ResultBean printReceiptBillPdf(@RequestParam("sid") String sid) { + return wmsReceiptBillService.printReceiptBillPdf(sid); + } + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java index 03398ff844..dd682dea6d 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java @@ -468,4 +468,19 @@ public class WmsReceiptBillService extends MybatisBaseService list = baseMapper.getUpShlefListBySid(sid); return rb.success().setData(list); } + + public ResultBean printReceiptBillPdf(String sid) { + ResultBean rb = ResultBean.fireFail(); + String filePath = ""; + WmsReceiptBillPdfVo vo = new WmsReceiptBillPdfVo(); + WmsReceiptBill wmsReceiptBill = fetchBySid(sid); + if (null != wmsReceiptBill) { + vo.setDate(DateUtil.formatDate(wmsReceiptBill.getCreateTime())); + vo.setCreateByName(wmsReceiptBill.getCreateByName()); + + + } + + return rb.success().setData(filePath); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfListVo.java new file mode 100644 index 0000000000..0731f3d23b --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfListVo.java @@ -0,0 +1,18 @@ +package com.yxt.wms.biz.inventory.wmsreceiptbilldetail; + +import lombok.Data; + +@Data +public class WmsReceiptBillPdfListVo { + + private String sortNo; //序号 + private String goodsSpuName; + private String goodsSkuCode; + private String goodsSkuOwnSpec; + private String unit; + private String actualInCount; + private String taxPrice; + private String amount; + private String remarks; + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfVo.java new file mode 100644 index 0000000000..4ab0f3611e --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillPdfVo.java @@ -0,0 +1,22 @@ +package com.yxt.wms.biz.inventory.wmsreceiptbilldetail; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class WmsReceiptBillPdfVo { + + private String useOrgName; //分公司 + private String date; //入库日期 + private String billNo; //单据编号 + private String manufacturersOrderNumber; //厂家订单号 + private String supplierName; //供应商 + private String supplierPhone; //联系电话 + private String bigMoney; //合计(大写) + private String money; //¥合计金额 + private String purchasingAgent; //采购人 + private String createByName; //制单人 + private List list = new ArrayList<>(); +} diff --git a/yxt-wms-biz/src/main/resources/ftl/pjcgrkd.ftl b/yxt-wms-biz/src/main/resources/ftl/pjcgrkd.ftl new file mode 100644 index 0000000000..01682c8668 --- /dev/null +++ b/yxt-wms-biz/src/main/resources/ftl/pjcgrkd.ftl @@ -0,0 +1,2603 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${useOrgName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 配件采购入库单 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 入库日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${date!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 单据编号: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${billNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 厂家订单号: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${manufacturersOrderNumber!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 供应商: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${supplierName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 联系电话: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${supplierPhone!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 商品名称 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 图号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 规格 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 单位 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 数量 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 单价(含税/不含) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 采购金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 备注 + + + + + <#list list as list> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.sortNo!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.goodsSpuName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.goodsSkuCode!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.goodsSkuOwnSpec!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.unit!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.actualInCount!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.taxPrice!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.amount!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${list.remarks!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 合计(大写): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${bigMoney!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ¥:${money!}元 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 采购人: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${purchasingAgent!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 制单人: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${createByName!} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 审核人: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 0 + 0 + 0 + 0 + 4 + false + false + 0 + WPS Office_12.1.0.20305_F1E327BC-269C-435d-A152-05C5408002CA + 0 + + + + + + + 2025-03-27T08:59:11Z + Fan + FAN + 2025-03-27T09:31:19Z + + + + + + + + 2052-12.1.0.20305 + + + + eyJoZGlkIjoiODAzYjRkZmZiODA1ZTdmODc4ZmQ4ZjRmNzI2YmZkMDgiLCJ1c2VySWQiOiIxMTU3NTc3NDY3In0= + + + + FEE4C622491548418F81E03654A151FF_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/resources/ftl/配件采购入库单.docx b/yxt-wms-biz/src/main/resources/ftl/配件采购入库单.docx new file mode 100644 index 0000000000000000000000000000000000000000..ee6c7dd38b1cda9454065cf97bc1f5e9cf1f8111 GIT binary patch literal 12889 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