From 150a5d42a372802c69bc1cac7c5cde22d1952e21 Mon Sep 17 00:00:00 2001 From: yinq Date: Fri, 30 May 2025 09:28:39 +0800 Subject: [PATCH 01/12] =?UTF-8?q?change=20-=20mes=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E6=95=B0=E9=87=8F=E5=8F=96=E6=B6=88=E5=8F=96?= =?UTF-8?q?=E6=95=B4=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hw-ui/src/views/mes/purchaseOrder/bindOrder.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue b/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue index 7050c68d..094a0852 100644 --- a/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue +++ b/hw-ui/src/views/mes/purchaseOrder/bindOrder.vue @@ -289,7 +289,7 @@ export default { let totalBindAmount = 0; for (let i = 0; i < this.mesOrderBindList.length; i++) { let mob = this.mesOrderBindList[i]; - let bindAmount = mob.bindAmount ? parseInt(mob.bindAmount) : 0; + let bindAmount = mob.bindAmount ? mob.bindAmount : 0; let barcodeAmount = mob.barcodeAmount ? parseInt(mob.barcodeAmount) : 0; if (!mob.safeFlag) { From 1e70547bb50da78b7007170097732ce176d93b2e Mon Sep 17 00:00:00 2001 From: yinq Date: Fri, 30 May 2025 10:54:04 +0800 Subject: [PATCH 02/12] =?UTF-8?q?change=20-=20MES=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8E=9F=E6=9D=90=E6=96=99=E6=9D=A1=E7=A0=81=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=90=91=E4=B8=8A=E5=8F=96=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java index 5f08ada5..1f2ef199 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java @@ -31,6 +31,7 @@ import org.springframework.data.redis.core.StringRedisTemplate; import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -211,7 +212,7 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService MesOrderBind mesOrderBind = mesOrderBindMapper.selectMesOrderBindByOrderBindId(orderBindId); BigDecimal bindAmount = mesOrderBind.getBindAmount(); BigDecimal bindBarcodeAmount = mesOrderBind.getBarcodeAmount();//已经生成的条码数量 - BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount); + BigDecimal availableAmount = bindAmount.subtract(bindBarcodeAmount).setScale(0, RoundingMode.CEILING);;//可用数量向上取整 if (barcodeAmount.compareTo(availableAmount) > 0) { throw new ServiceException("条码数量不能大于可用数量"); } From 083845fae01d22538cd36b9a5d7c27626b3b9543 Mon Sep 17 00:00:00 2001 From: yinq Date: Tue, 3 Jun 2025 09:22:23 +0800 Subject: [PATCH 03/12] =?UTF-8?q?change=20-=20MES=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8E=9F=E6=9D=90=E6=96=99=E6=9D=A1=E7=A0=81=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E5=90=91=E4=B8=8A=E5=8F=96=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hw-ui/src/views/mes/barcode/index.vue | 4 ++-- hw-ui/src/views/mes/purchaseOrder/selectOrderBind.vue | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw-ui/src/views/mes/barcode/index.vue b/hw-ui/src/views/mes/barcode/index.vue index 4ea41a6d..b7a37106 100644 --- a/hw-ui/src/views/mes/barcode/index.vue +++ b/hw-ui/src/views/mes/barcode/index.vue @@ -1119,7 +1119,7 @@ export default { } let unavailableAmountResult = selectedRows.find(item => { - return parseInt(item.relateSaleOrderAmount) !== 1; + return item.relateSaleOrderAmount !== 1; }); if (unavailableAmountResult != null && unavailableAmountResult !== '') { @@ -1262,7 +1262,7 @@ export default { } //本次可用条码数量 - this.form.availableBindAmount = parseInt(selectedRow.relateSaleOrderAmount); + this.form.availableBindAmount = Math.ceil(selectedRow.relateSaleOrderAmount); this.form.orderBindId = selectedRow.orderBindId; //本次生成条码总数量 this.form.barcodeAmount = null; diff --git a/hw-ui/src/views/mes/purchaseOrder/selectOrderBind.vue b/hw-ui/src/views/mes/purchaseOrder/selectOrderBind.vue index 4766f1ee..2c079605 100644 --- a/hw-ui/src/views/mes/purchaseOrder/selectOrderBind.vue +++ b/hw-ui/src/views/mes/purchaseOrder/selectOrderBind.vue @@ -302,7 +302,7 @@ export default { getPurchaseOrdersWithBind(this.queryParams).then(response => { response.rows.forEach(e => { if(e.orderBindId){ - e.relateSaleOrderAmount = parseInt(e.bindAmount - e.barcodeAmount); + e.relateSaleOrderAmount = e.bindAmount - e.barcodeAmount; } }); From d2d556f9234a6ac1bddfb90a4f9160376f868d6d Mon Sep 17 00:00:00 2001 From: yinq Date: Thu, 5 Jun 2025 17:17:29 +0800 Subject: [PATCH 04/12] =?UTF-8?q?change=20-=20=E9=97=AE=E9=A2=98117?= =?UTF-8?q?=EF=BC=9A=E4=BE=9B=E5=BA=94=E5=95=86=E9=A1=B5=E9=9D=A2=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BC=96=E7=A0=81=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/mes/MesBaseSupplierInfoMapper.xml | 2 +- hw-ui/src/views/mes/supplierInfo/index.vue | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseSupplierInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseSupplierInfoMapper.xml index 94b96aec..24151200 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseSupplierInfoMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseSupplierInfoMapper.xml @@ -25,7 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/hw-ui/src/views/wms/info/rawinstock/index.vue b/hw-ui/src/views/wms/info/rawinstock/index.vue index a00a9e30..35c1435f 100644 --- a/hw-ui/src/views/wms/info/rawinstock/index.vue +++ b/hw-ui/src/views/wms/info/rawinstock/index.vue @@ -76,6 +76,21 @@ @keyup.enter.native="handleQuery" /> + + + + + 搜索 重置 From 87e90ae301be5d2e0270f7c1cc45aa0190cfdf7f Mon Sep 17 00:00:00 2001 From: yinq Date: Fri, 6 Jun 2025 17:58:10 +0800 Subject: [PATCH 10/12] =?UTF-8?q?change=20-=20=E9=97=AE=E9=A2=98138?= =?UTF-8?q?=EF=BC=9A=E5=8E=9F=E6=9D=90=E6=96=99=E5=87=BA=E5=BA=93=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=B1=95=E7=A4=BAERP=E5=90=8C=E6=AD=A5=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=92=8C=E6=95=B0=E9=87=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=8A=B6=E6=80=81=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/wms/WmsRawOutstockMapper.xml | 8 +++++-- .../src/views/wms/info/rawoutstock/index.vue | 23 ++++++++++++++++++- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml index 39a981b2..71ccc0d2 100644 --- a/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml +++ b/hw-modules/hw-wms/src/main/resources/mapper/wms/WmsRawOutstockMapper.xml @@ -265,10 +265,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select wro.raw_outstock_id, wro.task_code, wro.warehouse_id, wro.location_code, wro.order_id, wro.plan_code, wro.plan_detail_code, wro.station_id,wro.material_batch, wro.material_id, wro.operation_type, wro.task_type, wro.apply_reason, wro.audit_reason, wro.audit_status, wro.execute_status, wro.apply_by, wro.apply_date, wro.audit_by, wro.audit_date, wro.update_by, wro.update_date, wro.begin_time, wro.end_time,wro.outstock_amount,wro.real_outstock_amount,wbw.warehouse_name - ,mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbui.unit_name + ,mbmi.material_code,mbmi.material_name,mbmi.material_spec,mbui.unit_name, wrod.erp_status, wrod.erp_amount from wms_raw_outstock wro left join wms_base_warehouse wbw on wro.warehouse_id = wbw.warehouse_id - left join mes_base_material_info mbmi on wro.material_id=mbmi.material_id + left join mes_base_material_info mbmi on wro.material_id=mbmi.material_id left join mes_base_unit_info mbui on mbmi.material_unit_id = mbui.erp_id + left join (select raw_outstock_id, max(erp_status) erp_status, max(erp_amount) erp_amount + from wms_raw_outstock_detail + group by raw_outstock_id) wrod on wro.raw_outstock_id = wrod.raw_outstock_id and wro.task_code like concat('%', #{taskCode}, '%') and wro.warehouse_id = #{warehouseId} @@ -282,6 +285,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mbmi.material_code like concat('%', #{materialCode}, '%') and mbmi.material_name like concat('%', #{materialName}, '%') and mbmi.material_spec like concat('%', #{materialSpec}, '%') + and wrod.erp_status = #{erpStatus} order by wro.apply_date desc diff --git a/hw-ui/src/views/wms/info/rawoutstock/index.vue b/hw-ui/src/views/wms/info/rawoutstock/index.vue index b6707650..69c7fc56 100644 --- a/hw-ui/src/views/wms/info/rawoutstock/index.vue +++ b/hw-ui/src/views/wms/info/rawoutstock/index.vue @@ -113,6 +113,21 @@ /> + + + + + 搜索 重置 @@ -139,6 +154,12 @@ + + + + @@ -192,7 +213,7 @@ import {listRawoutstock, getWarehouses} from "@/api/wms/rawoutstock"; export default { name: "Rawoutstock", - dicts: ['wms_audit_status', 'wms_execute_status', 'wms_raw_outstock_task_type'], + dicts: ['wms_audit_status', 'wms_execute_status', 'wms_raw_outstock_task_type','wms_erp_status'], data() { return { // 遮罩层 From e66fb2b2064b5a247ad9f87086cefb5ba139ae98 Mon Sep 17 00:00:00 2001 From: yinq Date: Wed, 11 Jun 2025 09:00:17 +0800 Subject: [PATCH 11/12] =?UTF-8?q?change=20-=20=E9=97=AE=E9=A2=98114?= =?UTF-8?q?=EF=BC=9A=E9=87=87=E8=B4=AD=E6=96=B0=E5=A2=9E=E5=8E=9F=E6=9D=90?= =?UTF-8?q?=E6=96=99=E6=9D=A1=E7=A0=81=EF=BC=8C=E9=80=89=E6=8B=A9=E6=94=B6?= =?UTF-8?q?=E6=96=99=E9=80=9A=E7=9F=A5=E5=8D=95=E5=90=8E=EF=BC=8C=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E9=80=89=E6=8B=A9=E5=A4=9A=E4=B8=AA=E7=89=A9=E6=96=99?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8E=9F=E6=9D=90=E6=96=99=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesBaseBarcodeInfoController.java | 13 + .../service/IMesBaseBarcodeInfoService.java | 8 + .../impl/MesBaseBarcodeInfoServiceImpl.java | 24 ++ hw-ui/src/api/mes/barcode.js | 9 + hw-ui/src/views/mes/barcode/index.vue | 267 ++++++++++++- .../addMultiplePurchaseOrder.vue | 362 ++++++++++++++++++ 6 files changed, 681 insertions(+), 2 deletions(-) create mode 100644 hw-ui/src/views/mes/purchaseOrder/addMultiplePurchaseOrder.vue diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseBarcodeInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseBarcodeInfoController.java index 1e7115d2..576d047a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseBarcodeInfoController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseBarcodeInfoController.java @@ -443,4 +443,17 @@ public class MesBaseBarcodeInfoController extends BaseController { return success(mesBaseBarcodeInfoService.selectMesPrdBarcodeInfoList(mesPrdBarcodeInfo)); } + + /** + * 批量新增条码信息 + * @param mesBaseBarcodeInfoList + * @return + */ + @RequiresPermissions("mes:barcode:add") + @Log(title = "条码信息", businessType = BusinessType.INSERT) + @PostMapping("/batchAdd") + public AjaxResult batchAdd(@RequestBody List mesBaseBarcodeInfoList) + { + return toAjax(mesBaseBarcodeInfoService.batchAddMesBaseBarcodeInfo(mesBaseBarcodeInfoList)); + } } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java index 42a21ac9..fa09a88a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java @@ -249,5 +249,13 @@ public interface IMesBaseBarcodeInfoService { * @return */ public List selectMesPrdBarcodeInfoList(MesPrdBarcodeInfo mesPrdBarcodeInfo); + + /** + * 批量新增条码信息 + * @param mesBaseBarcodeInfoList + * @return + */ + int batchAddMesBaseBarcodeInfo(List mesBaseBarcodeInfoList); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java index 1f2ef199..58fbf84a 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseBarcodeInfoServiceImpl.java @@ -2014,6 +2014,30 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService return mesPrdBarcodeInfoMapper.selectMesPrdBarcodeInfoList(mesPrdBarcodeInfo); } + /** + * 批量新增条码信息 + * @param mesBaseBarcodeInfoList + * @return + */ + @Override + @Transactional(rollbackFor=Exception.class) + public int batchAddMesBaseBarcodeInfo(List mesBaseBarcodeInfoList) { + for (MesBaseBarcodeInfo mesBaseBarcodeInfo : mesBaseBarcodeInfoList) { + // 生成原材料条码 + if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_RAW)) { + generateRawBarcode(mesBaseBarcodeInfo); + } + + // 生成成品条码 + else if (mesBaseBarcodeInfo.getBarcodeType().equals(MesConstants.MES_BARCODE_TYPE_PRODUCT)) { + generateProductBarcode(mesBaseBarcodeInfo); + } else {//生成配对码 + generateBindBarcode(mesBaseBarcodeInfo); + } + } + return 1; + } + // public MesPurchaseOrder insertVirtualPurchaseOrder(Long materialId, String barcodeInfo, BigDecimal sumOrderAmount, // List mesPurchaseOrderRelates,String userName, Date currentDate) { diff --git a/hw-ui/src/api/mes/barcode.js b/hw-ui/src/api/mes/barcode.js index b46a4b49..6aa35302 100644 --- a/hw-ui/src/api/mes/barcode.js +++ b/hw-ui/src/api/mes/barcode.js @@ -197,3 +197,12 @@ export function listPrdBarcode(query) { params: query }) } + +// 批量新增条码信息 +export function batchAddBarcode(data) { + return request({ + url: '/mes/barcode/batchAdd', + method: 'post', + data: data + }) +} diff --git a/hw-ui/src/views/mes/barcode/index.vue b/hw-ui/src/views/mes/barcode/index.vue index b7a37106..c57bc047 100644 --- a/hw-ui/src/views/mes/barcode/index.vue +++ b/hw-ui/src/views/mes/barcode/index.vue @@ -145,6 +145,17 @@ >打印 + + 采购批量新增 + + @@ -712,6 +723,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -720,7 +829,7 @@ import { listBarcode, getBarcode, delBarcode, addBarcode, updateBarcode, reprintBarcodes, printBarcodes, getMaterialInfoByErpId, selectProductBarcodeInfoByBarcodeInfo, addInternalBarcode, regenerateBarcode, checkRawStock, addNoPurchaseBarcode, addRegularBarcode, - mergeAddBarcode, mergeUpdateBarcode + mergeAddBarcode, mergeUpdateBarcode, batchAddBarcode } from "@/api/mes/barcode"; import {checkWarehouseMaterials} from "@/api/wms/wmswarehouse"; @@ -728,6 +837,7 @@ import {checkWarehouseMaterials} from "@/api/wms/wmswarehouse"; import selectOrderBind from '@//views/mes/purchaseOrder/selectOrderBind.vue'; import selectMaterial from '@//views/mes/materialinfo/selectMaterial.vue'; import selectPurchaseOrder from '@//views/mes/purchaseOrder/addPurchaseOrder.vue'; +import addMultiplePurchaseOrder from '@//views/mes/purchaseOrder/addMultiplePurchaseOrder.vue'; export default { name: "Barcode", @@ -736,6 +846,7 @@ export default { 'select-orderBind': selectOrderBind, 'select-material': selectMaterial, 'select-purchaseOrder': selectPurchaseOrder, + 'add-multiple-purchaseOrder': addMultiplePurchaseOrder, }, data() { @@ -757,8 +868,8 @@ export default { barcodeList: [], // 是否显示采购订单弹出层 onlyPurchaseOrderOpen: false, - purchaseOrderOpen: false, + batchPurchaseOrderOpen: false, //是否显示选择物料弹出层 selectMaterialVisible: false, // 弹出层标题 @@ -971,6 +1082,19 @@ export default { REGULAR: "9" }, + batchOpen: false, + batchTitle: "采购批量新增", + batchForm: { + mesPurchaseOrderList: [], + poNo: undefined + }, + batchRules: { + poNo: [ + { required: true, message: "采购订单不能为空", trigger: "blur" } + ] + }, + // 选中的采购订单数据 + checkedPurchaseOrders: [], }; }, created() { @@ -1222,6 +1346,7 @@ export default { submitSingleSelectPurchaseOrder() { let selectedRow = this.$refs.purchaseOrderRef.selectedRow; + console.log("selectedRow",selectedRow) this.form.batchFlag = null; this.form.amount = null; this.form.receiveBillId = null; @@ -1910,6 +2035,144 @@ export default { this.onlyPurchaseOrderOpen = false; }, + handleBatchAdd() { + this.resetBatch(); + this.batchOpen = true; + this.title = "采购批量新增"; + }, + + resetBatch() { + this.batchForm = { + mesPurchaseOrderList: [], + poNo: undefined + }; + this.resetForm("batchForm"); + }, + + /** 批量选择采购订单按钮操作 */ + handleBatchPurchaseOrderAdd() { + this.barcodeData = {mergeFlag: null}; + this.batchPurchaseOrderOpen = true; + }, + + /** 复选框选中数据 */ + handleMesPurchaseOrderSelectionChange(selection) { + this.checkedPurchaseOrders = selection; + }, + + rowMesPurchaseOrderIndex({row, rowIndex}) { + row.index = rowIndex + 1; + }, + + /** 提交按钮 */ + submitBatchForm() { + this.$refs["batchForm"].validate(valid => { + if (valid) { + // 验证必填项 + const invalidRow = this.batchForm.mesPurchaseOrderList.find(row => { + return !row.productionDate || !row.lastOutstockDate; + }); + + if (invalidRow) { + this.$modal.msgError("请填写所有行的生产日期和最晚出库日期"); + return; + } + + // 验证条码数量 + const invalidAmount = this.batchForm.mesPurchaseOrderList.find(row => { + return !row.barcodeAmount || row.barcodeAmount <= 0; + }); + + if (invalidAmount) { + this.$modal.msgError("请填写有效的条码数量"); + return; + } + + this.submitLoading = true; + + batchAddBarcode(this.batchForm.mesPurchaseOrderList).then(response => { + this.$modal.msgSuccess("新增成功"); + this.cancelBatch(); + this.getList(); + }).finally(e => { + this.submitLoading = false; + }); + + } + }); + }, + + cancelBatch() { + this.batchOpen = false; + this.resetBatchForm(); + }, + + /** 提交批量采购订单选择 */ + submitBatchPurchaseOrderForm() { + let selectedRows = this.$refs.purchaseOrderRef.selectedRows; + console.log("selectedRows",selectedRows) + + if (!selectedRows || selectedRows.length <= 0) { + this.$modal.msgWarning("请选择采购订单"); + return; + } + + let firstRow = selectedRows[0]; + let firstRowPoNo = firstRow.poNo; + + // 检查可用数量 + let unavailableAmountResult = selectedRows.find(item => { + return item.relateSaleOrderAmount <= 0; + }); + + if (unavailableAmountResult != null && unavailableAmountResult !== '') { + this.$modal.msgError("存在可用数量为0的数据"); + return; + } + + // 添加到表格数据 + selectedRows.forEach(selectedRow => { + let purchaseOrder = {} + purchaseOrder.poNo = selectedRow.poNo; + purchaseOrder.barcodeType = '1';//条码类型(1原材料,2半成品,3成品,4背板) + purchaseOrder.materialId = selectedRow.materialId;//物料信息表中物料ID主键 + purchaseOrder.materialCode = selectedRow.materialCode; + purchaseOrder.materialName = selectedRow.materialName; + purchaseOrder.materialSpec = selectedRow.materialSpec; + purchaseOrder.projectNo = selectedRow.projectNo; + purchaseOrder.receiveBillId = selectedRow.receiveBillId; + purchaseOrder.purchaseOrderId = selectedRow.purchaseOrderId; + purchaseOrder.currentSafeBindAmount = 0; + if (selectedRow.specificationParameter && selectedRow.specificationParameter !== '') { + purchaseOrder.barcodeSpec = selectedRow.specificationParameter; + } else { + purchaseOrder.barcodeSpec = selectedRow.materialSpec; + } + + //本次可用条码数量 + purchaseOrder.availableBindAmount = Math.ceil(selectedRow.relateSaleOrderAmount); + purchaseOrder.orderBindId = selectedRow.orderBindId; + //本次生成条码总数量 + purchaseOrder.barcodeAmount = null; + purchaseOrder.batchFlag = selectedRow.batchFlag; + purchaseOrder.amount = selectedRow.batchAmount; + purchaseOrder.saleBatchFlagDisable = !!purchaseOrder.batchFlag; + + this.batchForm.mesPurchaseOrderList.push(purchaseOrder); + }); + + this.batchForm.poNo = firstRowPoNo; + this.batchPurchaseOrderOpen = false; + }, + + resetBatchForm() { + this.batchForm = { + mesPurchaseOrderList: [], + poNo: undefined + }; + this.$refs["batchForm"].resetFields(); + }, + } }; diff --git a/hw-ui/src/views/mes/purchaseOrder/addMultiplePurchaseOrder.vue b/hw-ui/src/views/mes/purchaseOrder/addMultiplePurchaseOrder.vue new file mode 100644 index 00000000..c95b3d50 --- /dev/null +++ b/hw-ui/src/views/mes/purchaseOrder/addMultiplePurchaseOrder.vue @@ -0,0 +1,362 @@ + + + From f22949d77939fa252a20f73a105b2597eaabfd81 Mon Sep 17 00:00:00 2001 From: yinq Date: Wed, 11 Jun 2025 09:02:26 +0800 Subject: [PATCH 12/12] =?UTF-8?q?change=20-=20=E5=8E=9F=E6=9D=90=E6=96=99?= =?UTF-8?q?=E6=9D=A1=E7=A0=81=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hw-ui/src/views/mes/barcode/index.vue | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/hw-ui/src/views/mes/barcode/index.vue b/hw-ui/src/views/mes/barcode/index.vue index c57bc047..3b2f09d2 100644 --- a/hw-ui/src/views/mes/barcode/index.vue +++ b/hw-ui/src/views/mes/barcode/index.vue @@ -132,7 +132,17 @@ >固定条码新增 - + + 采购批量新增 + + 打印 - - 采购批量新增 - -