From 8dd3726f684b913045216a63885b92f1c6920da9 Mon Sep 17 00:00:00 2001 From: zhaoyf <1783123481@qq.com> Date: Wed, 8 Jul 2026 10:45:29 +0800 Subject: [PATCH] =?UTF-8?q?add:=E8=BD=BD=E5=85=B7zpl=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/common/utils/ZplUtil.java | 51 +++++++++++++++---- .../service/dto/VehicleLabelDto.java | 3 +- .../MdPbStoragevehicleinfoServiceImpl.java | 9 +++- .../wms/basedata/storagevehicleinfo/index.vue | 36 ++++++++++--- .../storagevehicleinfo/storagevehicleinfo.js | 10 +++- 5 files changed, 86 insertions(+), 23 deletions(-) diff --git a/nladmin-system/wms-server/src/main/java/org/nl/common/utils/ZplUtil.java b/nladmin-system/wms-server/src/main/java/org/nl/common/utils/ZplUtil.java index 473dd37..fcc464d 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/common/utils/ZplUtil.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/common/utils/ZplUtil.java @@ -127,17 +127,46 @@ public class ZplUtil { } public static String generateVehicleLabel(VehicleLabelDto dto) { - StringBuilder zpl = new StringBuilder(); - zpl.append("^XA\n"); - zpl.append("^CI28\n"); - zpl.append("^PW609\n"); - zpl.append("^LL406\n"); - zpl.append("^FO30,30^A0N,28,28^FD").append(escape(dto.getCode())).append("^FS\n"); - zpl.append("^FO30,70^A0N,24,24^FD").append(escape(dto.getFactory())).append("^FS\n"); - zpl.append("^FO30,115^A0N,32,32^FD").append(escape(dto.getName())).append("^FS\n"); - zpl.append("^FO350,20^BQN,2,5^FDQA,").append("#").append(escape(dto.getWorkshop())).append("^FS\n"); - zpl.append("^XZ"); - return zpl.toString(); + String zpl = "^XA\n" + + "~TA000\n" + + "~JSN\n" + + "^LT0\n" + + "^MNW\n" + + "^MTT\n" + + "^PON\n" + + "^PMN\n" + + "^LH0,0\n" + + "^JMA\n" + + "^PR6,6\n" + + "~SD10\n" + + "^JUS\n" + + "^LRN\n" + + "^CI27\n" + + "^PA0,1,1,0\n" + + "^XZ\n" + + "^XA\n" + + "^MMT\n" + + "^PW609\n" + + "^LL406\n" + + "^LS0\n" + + "^FO24,363^GB562,0,4^FS\n" + + "^FO21,54^GB562,0,4^FS\n" + + "^FO230,14^GFA,329,544,16,:Z64:eJyd0TuOwyAQBuBBI8VVdi+wCtdIGvtKKVMgJ5KLvZalFLkGiMLlIq20YBl5MhiEUm0RaPgE/MMD4I12AcBpzGMJcFbQDOy2uA+Hxk6huiVColgticSr9xrApv1f2SJcUj4vS96JO0UxbL6lzcJTlLqHMk/jsiqp1RFaufnmvJJbvizn8ZHrB+i77A+v0DioPvxd0bJVV883WKOrO/ZEDmLxaVX4ww7ZOHMemVfHZOHavH72PS7GYTaOC+fxPGr2lUgnL+Sax7rVcrNWzS+5z+9sHTCiJSfFmp88YBCD4bRYzJ0vdITzO5/5f3sCiQWikw==:C454\n" + + "^FO102,76^GFA,417,592,16,:Z64:eJyd0TFOAzEQBdC/cuEGxRdAzBXSkQKtr8IRUibSwvogKLkGVTAnyBHWERJtLKVxFCvDzCZQIoGrfePx2LMD/H2ZNEETrig+GGY0RXGrTuJg8gyQOE4+677h2rDEic/ZJILlsxrEm8cfZ5Lz7VTz3a6CcKeejT4UtHaFnrlqPvUZrVvBX936hAexObTQ/M5HPG3FH5uoRl/R7zeSf7lfYpl5dFG7zIn3b8EGXzSfo98d9xxdd3n/mez7kTlRvx7PJ5oY3fc8JHEiZnP8tJF4iPLGIg7LdB9vOvo2lswRHb2ozXo+2vP2FRGwQ6e9ab2CvJD/4dEnqVd9bYr0v5Y6o/tqio+eXFyK0Z2qyxQ7tnKfNn2oFF2YswkLqFN5hg1odT5unNoUJmCmX5N/TP/39QW3n9yf:64B3\n" + + "^FT82,170^A0N,31,28^FH\\^CI28^FD"+dto.getCode()+"^FS^CI27\n" + + "^FO19,224^GFA,301,336,12,:Z64:eJx9kD2OwjAQRseyhEu3KbLkCtkuhWGulBMQcg4uQoNkRLHNHoDSKMU2q1WkFFjCZPhc0MFO9TR6+uaH6HVpT6b35IBOn6KRsHCBCse3ZGS0h7FLrrpF0wdz8CxJn85w9Gq/nMDfYDTBnQicJ8/oK6FOktn57EsAs5xzjkQ4DKcP1sVyStWAWWFNtRvTR54b6nXZpIYFc7PZupbvEbHIrySqywimDVnwfVZbIsH6BFN9eXXFOQUPYqaohxnm589sj9Ee82Lqb8PUMiUcrH7Lhmqi4s1v/qsHtwmNMw==:30AA\n" + + "^FT139,251^A0N,37,28^FH\\^CI28^FD"+dto.getType()+"^FS^CI27\n" + + "^FO19,199^GB306,0,4^FS\n" + + "^FO321,58^GB0,308,4^FS\n" + + "^FT346,343^BQN,2,10\n" + + "^FH\\^FDLA,"+dto.getCode()+"^FS\n" + + "^FO133,199^GB0,167,4^FS\n" + + "^FO21,282^GB300,0,4^FS\n" + + "^FO24,309^GFA,237,336,12,:Z64:eJyF0DEOwjAMBVBHHbrRlaFKrtCxEo1yFY4QiSVM9GjhBFwhnKCRWDJYMnYqKAMID9bTVxLLAfheKnEb3jaEHYwAXiUvJjRULKGGqRpt7R2AVrNN4eXE1k1hm2ve8ofkZvHiS9xyFy0VswSxmT+8nin1TH2z2xtxdlHuavY5NzG41fckvmHPc2NqqRwIJ85hbJ2YN3EyMZwy+uqeHfEIsKsrN3H48TF/6gluuWYJ:47AC\n" + + "^FO189,309^GFA,269,336,12,:Z64:eJx90LENAjEMAEBHKWhe+pYC2SswgMWvRJkCwQJIrEMRCZiAFZ6KNlRxEb2xnxZwEZ0Sx04M8Dt2vmA9I5fZa6wTcTMP2lBbr5OZtA2aF+4tiB1l4EIqZqy5czco7qk/wk7MVNvB8wVeVzOZk/RaLAcRPibzBkAkvEa3F5fwGLFaaysyW+2uhNkHzdRSGCW6mXKKY4kP6Z5s+4t7iTd7MA8X6U/FuuOecRCKbt63FScOV/tkWiXgtPxMoPszne/xBtzogN4=:56C3\n" + + "^PQ1,0,1,Y\n" + + "^XZ\n"; + return zpl; } private static String escape(String s) { diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/dto/VehicleLabelDto.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/dto/VehicleLabelDto.java index fb0b0db..d0acd1b 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/dto/VehicleLabelDto.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/dto/VehicleLabelDto.java @@ -5,7 +5,6 @@ import lombok.Data; @Data public class VehicleLabelDto { private String code; - private String name; + private String type; private String factory; - private String workshop; } diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java index db25cc0..134f273 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdPbStoragevehicleinfoServiceImpl.java @@ -16,10 +16,12 @@ import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.ZplUtil; import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleinfoService; import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleinfoMapper; +import org.nl.wms.basedata_manage.service.dto.VehicleLabelDto; import org.nl.wms.system_manage.service.dict.ISysDictService; import org.nl.wms.system_manage.service.dict.dao.Dict; import org.springframework.beans.factory.annotation.Autowired; @@ -157,7 +159,12 @@ public class MdPbStoragevehicleinfoServiceImpl extends ServiceImpl ids) { List mdPbStoragevehicleinfos = mdPbStoragevehicleinfoMapper.selectBatchIds(ids); for (MdPbStoragevehicleinfo info : mdPbStoragevehicleinfos) { - + VehicleLabelDto vehicleLabelDto = new VehicleLabelDto(); + vehicleLabelDto.setCode(info.getStoragevehicle_code()); + vehicleLabelDto.setType(info.getStoragevehicle_type()); + vehicleLabelDto.setFactory("诺力五期"); + String s = ZplUtil.generateVehicleLabel(vehicleLabelDto); + ZplUtil.print(s); } } diff --git a/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/index.vue b/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/index.vue index ca46b36..9e2f461 100644 --- a/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/index.vue +++ b/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/index.vue @@ -47,14 +47,14 @@ - 打印 +slot="right" + class="filter-item" + type="success" + icon="el-icon-printer" + size="mini" + @click="handlePrint" + > + 打印 @@ -438,6 +438,26 @@ export default { } this.printVisible = true }, + handlePrint() { + const _selectData = this.$refs.table.selection + if (!_selectData || _selectData.length < 1) { + this.crud.notify('请选择一条记录', CRUD.NOTIFICATION_TYPE.INFO) + return + } + const codes = _selectData.map(item => item.storagevehicle_code).join('\n') + const ids = _selectData.map(item => item.storagevehicle_id) + this.$confirm(`确认打印以下载具编码?\n${codes}`, '打印确认', { + confirmButtonText: '确认', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + crudStoragevehicleinfo.printLabel(ids).then(res=>{ + this.crud.notify('打印成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + }) + + this.crud.toQuery() + }).catch(() => {}) + }, printClose() { this.printVisible = false this.printForm = { diff --git a/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/storagevehicleinfo.js b/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/storagevehicleinfo.js index 63fdfc6..74fb892 100644 --- a/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/storagevehicleinfo.js +++ b/nladmin-ui/src/views/wms/basedata/storagevehicleinfo/storagevehicleinfo.js @@ -39,4 +39,12 @@ export function getVehicle(code) { }) } -export default { add, edit, del, changeActive, getVehicle } +export function printLabel(ids){ + return request({ + url: '/api/storagevehicleinfo/printLabel', + method: 'post', + data: ids + }) +} + +export default { add, edit, del, changeActive, getVehicle, printLabel }