From bf7f97d90a3a07482d48b4efb30da4be7b419e21 Mon Sep 17 00:00:00 2001 From: icewint Date: Tue, 27 Jan 2026 15:11:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E7=94=B5=E5=AD=90=E6=A0=87=E7=AD=BE=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/WCS开放式接口文档.md | 21 +- .../serve/service/pub/impl/TaskService.java | 6 +- wcs_web/src/views/tabs/PrintCode.vue | 216 +++++++++++------- 3 files changed, 150 insertions(+), 93 deletions(-) diff --git a/files/WCS开放式接口文档.md b/files/WCS开放式接口文档.md index a35a394..49f28b1 100644 --- a/files/WCS开放式接口文档.md +++ b/files/WCS开放式接口文档.md @@ -358,6 +358,8 @@ http://{ip}:{port}?taskId={taskId} > > 接口地址:/api/pub/task/addEtagTask +**使用说明:**WCS不会合并同货位的任务数量,如需合并捡选请合并后发送给WCS + **请求参数:** | 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | @@ -365,20 +367,20 @@ http://{ip}:{port}?taskId={taskId} | taskGroup | 任务组 | string | 64 | N | | | taskType | 任务类型 | int | | Y | 枚举类型:
1 - 捡货
2 - 上架
3 - 盘点
4 - 清点
5 - 其他 | | vehicleNo | 载具号 | string | 64 | Y | | -| lightModel | 点亮类型 | int | | Y | 枚举类型:
1 - 立即点亮
2 - 等待触发
根据流程确定,请与我们交流方案 | +| lightModel | 点亮类型 | int | | N | 枚举类型:
1 - 立即点亮
2 - 等待触发
根据流程确定,请与我们交流方案,不传或传空视为立即点亮 | | sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,否则将无法收到任务回告 | | taskList | 任务数据 | list | | Y | | taskList:若任务中存在一个有问题,则所有任务都会判定失败 -| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | -| --------- | -------- | -------- | ---- | -------- | -------- | -| taskId | 任务号 | string | 64 | Y | 唯一标识 | -| orderId | 订单号 | string | 64 | N | | -| location | 点位 | string | 64 | Y | | -| goodsId | 物料编号 | string | 64 | N | | -| goodsName | 物料名称 | string | 64 | N | | -| lightNum | 点亮数量 | int | | Y | | +| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 | +| --------- | -------- | -------- | ---- | -------- | ------------------ | +| taskId | 任务号 | string | 64 | Y | 唯一标识 | +| orderId | 订单号 | string | 64 | N | 备选字段 | +| location | 点位 | string | 64 | Y | 需要点亮的点位 | +| goodsId | 物料编号 | string | 64 | N | 中文标签时可能需要 | +| goodsName | 物料名称 | string | 64 | N | 中文标签时可能需要 | +| lightNum | 点亮数量 | int | | Y | 点亮的数量 | **请求示例:** @@ -386,6 +388,7 @@ taskList:若任务中存在一个有问题,则 { "taskGroup":"2223336678", "taskType":1, + "vehicleNo":"11220099", "lightModel":1, "sysName":"WMS", "taskList":[ diff --git a/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java b/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java index eaa67ea..99224ec 100644 --- a/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java +++ b/wcs/src/main/java/org/wcs/serve/service/pub/impl/TaskService.java @@ -247,7 +247,11 @@ public class TaskService implements ITaskService { appEtagTask.setGoodsName(etagTaskItem.getGoodsName()); appEtagTask.setLightNum(BigDecimal.valueOf(etagTaskItem.getLightNum())); appEtagTask.setTaskStatus(EtagTaskStatusEnum.NOT_ACTIVATED.getCode()); - appEtagTask.setLightModel(addEtagTaskReq.getLightModel()); + if(addEtagTaskReq.getLightModel() == null) { + appEtagTask.setLightModel(EtagTaskLightModelEnum.IMMEDIATELY.getCode()); + } else { + appEtagTask.setLightModel(addEtagTaskReq.getLightModel()); + } appEtagTask.setTaskSource(addEtagTaskReq.getSysName()); appEtagTask.setCreatePerson("?"); appEtagTask.setCreateTime(LocalDateTime.now()); diff --git a/wcs_web/src/views/tabs/PrintCode.vue b/wcs_web/src/views/tabs/PrintCode.vue index 47de1a5..180498e 100644 --- a/wcs_web/src/views/tabs/PrintCode.vue +++ b/wcs_web/src/views/tabs/PrintCode.vue @@ -6,6 +6,7 @@ import type {IPrintParams} from "@/interface/page/printCode/IPrintParams.ts"; import VueQrcode from '@chenfengyuan/vue-qrcode'; import VueBarcode from '@chenfengyuan/vue-barcode'; import printJS from "print-js"; +import MessageUtils from "@/utils/MessageUtils.ts"; const props = defineProps(['isFull']); @@ -13,11 +14,12 @@ const isFull = computed(() => { return props.isFull ?? false; }); +const paperTitle = ref(""); const printCodeTypeFormatter = new PrintCodeTypeFormatter(); const codeType = ref(1); // 条码类型 const paperWidth = ref(80); // 纸张宽度 const paperHeight = ref(60); // 纸张高度 -const codeSize = ref(200); // 条码大小 +const codeSize = ref(180); // 条码大小 const codeHeight = ref(150); // 条码高度,仅一维码生效 const printParams = ref({ startString: "", @@ -27,6 +29,7 @@ const printParams = ref({ tagCount: 1, printCount: 1 }); +const printText = ref(""); // 纯文本打印的内容 const printCodeList = ref([]); // 要打印的条码 const changeCodeType = (value: number) => { @@ -35,11 +38,11 @@ const changeCodeType = (value: number) => { return; } if(value === 1) { - codeSize.value = 200; + codeSize.value = 180; return; } }; - +// 打印条码 const printCode = () => { preview(); nextTick(() => { @@ -50,9 +53,33 @@ const printCode = () => { targetStyles: ['*'] }); }) - } +// 打印纯文本 +const printInputText = () => { + if(printText.value === null || printText.value === "") { + MessageUtils.warningMessageBox('请输入纯文本'); + return; + } + previewText(); + nextTick(() => { + printJS({ + printable: 'codePrintDiv',// 标签元素id + type: 'html', + header: '', + targetStyles: ['*'] + }); + }) +}; +// 纯文本打印预览 +const previewText = () => { + if(printText.value === null || printText.value === "") { + MessageUtils.warningMessageBox('请输入纯文本'); + return; + } + printCodeList.value = [printText.value]; +} +// 条码打印预览 const preview = () => { printCodeList.value = []; let codes: string[] = []; @@ -78,88 +105,111 @@ const preview = () => {