From 1820d623ce412691caf757aa3ed40f0af71700ac Mon Sep 17 00:00:00 2001 From: zxy Date: Mon, 25 May 2026 15:16:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(biz):=20=E4=BC=98=E5=8C=96=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E5=85=A5=E5=BA=93=E6=B5=81=E7=A8=8B=E5=B9=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=BA=93=E5=AD=98=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vo/ProStorageInventoryRespVO.java | 2 + .../vo/SaleDeliveryDetailSaveReqVO.java | 2 + .../prostoragelog/ProStorageLogDO.java | 2 + .../prostoragelog/ProStorageLogService.java | 1 - .../ProStorageLogServiceImpl.java | 6 +-- .../saledelivery/SaleDeliveryServiceImpl.java | 47 ++++++------------- .../src/types/auto-components.d.ts | 32 ------------- .../ProStorageInventorySelectDialog.vue | 1 + .../biz/saledelivery/SaleDeliveryForm.vue | 5 ++ 9 files changed, 28 insertions(+), 70 deletions(-) diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/prostorageinventory/vo/ProStorageInventoryRespVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/prostorageinventory/vo/ProStorageInventoryRespVO.java index c0ec007..5023b80 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/prostorageinventory/vo/ProStorageInventoryRespVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/prostorageinventory/vo/ProStorageInventoryRespVO.java @@ -112,4 +112,6 @@ public class ProStorageInventoryRespVO { @ExcelProperty("生产计划号") private String proNo; + private String inventBillNo; + } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/saledeliverydetail/vo/SaleDeliveryDetailSaveReqVO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/saledeliverydetail/vo/SaleDeliveryDetailSaveReqVO.java index 5867df7..53044d8 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/saledeliverydetail/vo/SaleDeliveryDetailSaveReqVO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/controller/admin/saledeliverydetail/vo/SaleDeliveryDetailSaveReqVO.java @@ -57,4 +57,6 @@ public class SaleDeliveryDetailSaveReqVO { private Integer stockBag; + private String inventBillNo; + } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/prostoragelog/ProStorageLogDO.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/prostoragelog/ProStorageLogDO.java index 338f6c1..392d41f 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/prostoragelog/ProStorageLogDO.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/dal/dataobject/prostoragelog/ProStorageLogDO.java @@ -142,4 +142,6 @@ public class ProStorageLogDO extends BaseDO { */ private String dpstNo; + private String inventBillNo; + } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogService.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogService.java index f0f0e06..ec2bff5 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogService.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogService.java @@ -53,5 +53,4 @@ public interface ProStorageLogService { PageResult getProStorageLogPage(ProStorageLogPageReqVO pageReqVO); void saveProStorageLog(ProStorageLogDO saveReqVO); - } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogServiceImpl.java index cc6fa1d..0be2cd9 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/prostoragelog/ProStorageLogServiceImpl.java @@ -77,12 +77,8 @@ public class ProStorageLogServiceImpl implements ProStorageLogService { private String generatePurReceiptNo(String operatorType) { - String prefix = "RK"; - if ("2".equals(operatorType)) { - prefix = "CK"; - } String maxPurReceiptNo = proStorageLogMapper.selectMaxPurReceiptNo(operatorType); - return CodeGenerateUtils.generateBillNo(prefix, "yyyyMM", 3, maxPurReceiptNo); + return CodeGenerateUtils.generateBillNo("CK", maxPurReceiptNo); } } diff --git a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/saledelivery/SaleDeliveryServiceImpl.java b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/saledelivery/SaleDeliveryServiceImpl.java index 7fd797c..45f0485 100644 --- a/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/saledelivery/SaleDeliveryServiceImpl.java +++ b/mes-module-chemmes/mes-module-chemmes-biz/src/main/java/com/ningxia/yunxi/chemmes/module/biz/service/saledelivery/SaleDeliveryServiceImpl.java @@ -22,11 +22,11 @@ import com.ningxia.yunxi.chemmes.module.biz.service.prostorage.ProStorageService import com.ningxia.yunxi.chemmes.module.biz.service.prostoragelog.ProStorageLogService; import com.ningxia.yunxi.chemmes.module.system.dal.dataobject.user.AdminUserDO; import com.ningxia.yunxi.chemmes.module.system.dal.mysql.user.AdminUserMapper; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; -import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -42,37 +42,19 @@ import static com.ningxia.yunxi.chemmes.framework.security.core.util.SecurityFra */ @Service @Validated +@RequiredArgsConstructor public class SaleDeliveryServiceImpl implements SaleDeliveryService { - @Resource - private SaleDeliveryMapper saleDeliveryMapper; - - @Resource - private SaleDeliveryDetailMapper saleDeliveryDetailMapper; - - @Resource - private AdminUserMapper adminUserMapper; - - @Resource - private ProStorageInventoryMapper proStorageInventoryMapper; - - @Resource - private ProStorageMapper proStorageMapper; - - @Resource - private ProStorageMatMapper proStorageMatMapper; - - @Resource - private OrderItemMapper orderItemMapper; - - @Resource - private OrderMapper orderMapper; - - @Resource - private ProStorageService proStorageService; - - @Resource - private ProStorageLogService proStorageLogService; + private final SaleDeliveryMapper saleDeliveryMapper; + private final SaleDeliveryDetailMapper saleDeliveryDetailMapper; + private final AdminUserMapper adminUserMapper; + private final ProStorageInventoryMapper proStorageInventoryMapper; + private final ProStorageMapper proStorageMapper; + private final ProStorageMatMapper proStorageMatMapper; + private final OrderItemMapper orderItemMapper; + private final OrderMapper orderMapper; + private final ProStorageService proStorageService; + private final ProStorageLogService proStorageLogService; @Override @Transactional(rollbackFor = Exception.class) @@ -123,7 +105,6 @@ public class SaleDeliveryServiceImpl implements SaleDeliveryService { List saleDeliveryDetails = BeanUtils.toBean(list, SaleDeliveryDetailDO.class); saleDeliveryDetails.forEach(detail -> detail.setSaleDeliveryId(saleDeliveryId) - .setInventBillNo(detail.getInventBillNo()) .setId(null) ); saleDeliveryDetailMapper.insertBatch(saleDeliveryDetails); @@ -235,7 +216,6 @@ public class SaleDeliveryServiceImpl implements SaleDeliveryService { } // 存入 proStorageLogService for (SaleDeliveryDetailDO saleDeliveryDetailDO : detailList) { - ProStorageLogDO proStorageLogDO = ProStorageLogDO.builder() .stockId(saleDeliveryDetailDO.getId()) .description("销售出库") @@ -262,6 +242,7 @@ public class SaleDeliveryServiceImpl implements SaleDeliveryService { .relarionNo(saleDelivery.getSaleDeliveryNo()) .relarionId(saleDelivery.getId()) .relarionDetailId(saleDeliveryDetailDO.getId()) + .inventBillNo(saleDeliveryDetailDO.getInventBillNo()) .build(); proStorageLogService.saveProStorageLog(proStorageLogDO); } @@ -370,5 +351,7 @@ public class SaleDeliveryServiceImpl implements SaleDeliveryService { saleDelivery.setDeliveryStatus("2"); // saleDelivery.setTwmStorageId(proStorage.getId()); saleDeliveryMapper.updateById(saleDelivery); + + } } diff --git a/mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts b/mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts index 11a8628..46101b7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts +++ b/mes-ui/mes-ui-admin-vue3/src/types/auto-components.d.ts @@ -32,27 +32,11 @@ declare module 'vue' { Echart: typeof import('./../components/Echart/src/Echart.vue')['default'] Editor: typeof import('./../components/Editor/src/Editor.vue')['default'] ElAlert: typeof import('element-plus/es')['ElAlert'] - ElAside: typeof import('element-plus/es')['ElAside'] - ElAutoResizer: typeof import('element-plus/es')['ElAutoResizer'] ElAvatar: typeof import('element-plus/es')['ElAvatar'] - ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] - ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] ElCard: typeof import('element-plus/es')['ElCard'] - ElCarousel: typeof import('element-plus/es')['ElCarousel'] - ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] - ElCascader: typeof import('element-plus/es')['ElCascader'] - ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] - ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCol: typeof import('element-plus/es')['ElCol'] - ElCollapse: typeof import('element-plus/es')['ElCollapse'] - ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] - ElCollapseTransition: typeof import('element-plus/es')['ElCollapseTransition'] - ElColorPicker: typeof import('element-plus/es')['ElColorPicker'] - ElContainer: typeof import('element-plus/es')['ElContainer'] ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] - ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] - ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider'] ElDrawer: typeof import('element-plus/es')['ElDrawer'] @@ -68,41 +52,25 @@ declare module 'vue' { ElementTask: typeof import('./../components/bpmnProcessDesigner/package/penal/task/ElementTask.vue')['default'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] - ElHeader: typeof import('element-plus/es')['ElHeader'] ElIcon: typeof import('element-plus/es')['ElIcon'] - ElImage: typeof import('element-plus/es')['ElImage'] - ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] - ElLink: typeof import('element-plus/es')['ElLink'] - ElMain: typeof import('element-plus/es')['ElMain'] ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] ElPopover: typeof import('element-plus/es')['ElPopover'] ElRadio: typeof import('element-plus/es')['ElRadio'] - ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] - ElRate: typeof import('element-plus/es')['ElRate'] ElRow: typeof import('element-plus/es')['ElRow'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] - ElSlider: typeof import('element-plus/es')['ElSlider'] - ElSpace: typeof import('element-plus/es')['ElSpace'] ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] - ElTableV2: typeof import('element-plus/es')['ElTableV2'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] - ElText: typeof import('element-plus/es')['ElText'] - ElTimeline: typeof import('element-plus/es')['ElTimeline'] - ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] - ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] - ElTimeSelect: typeof import('element-plus/es')['ElTimeSelect'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] - ElTransfer: typeof import('element-plus/es')['ElTransfer'] ElTree: typeof import('element-plus/es')['ElTree'] ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect'] ElUpload: typeof import('element-plus/es')['ElUpload'] diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/prostorageinventory/ProStorageInventorySelectDialog.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/prostorageinventory/ProStorageInventorySelectDialog.vue index d42e4cb..8dd5255 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/prostorageinventory/ProStorageInventorySelectDialog.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/prostorageinventory/ProStorageInventorySelectDialog.vue @@ -272,6 +272,7 @@ const handleSave = () => { spec: row.spec, unit: row.unit, materialId: row.materialId, + inventBillNo: row.inventBillNo, })) emit('select', selectData) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/biz/saledelivery/SaleDeliveryForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/biz/saledelivery/SaleDeliveryForm.vue index 9a03f1b..43caad7 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/biz/saledelivery/SaleDeliveryForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/biz/saledelivery/SaleDeliveryForm.vue @@ -697,6 +697,7 @@ const handleInventorySelect = (data: any[]) => { deliveriedBag: '', // 发货袋数 deliveriedQty: '', // 发货数量 remark: '', // 备注 + inventBillNo: inventory.inventBillNo, // 库存单号 }) } // 如果已存在,不做处理 @@ -833,6 +834,8 @@ const submitForm = async () => { deliveriedBagQty: item.deliveriedBag, deliveriedQty: item.deliveriedQty, remark: item.remark, + inventBillNo: item.inventBillNo, + // 库存单号 })) // 只传递用户选择的联系人信息,不传递备用的联系人字段 @@ -884,6 +887,8 @@ const submitAudit = async () => { deliveriedBagQty: item.deliveriedBag, deliveriedQty: item.deliveriedQty, remark: item.remark, + inventBillNo: item.inventBillNo, + // 库存单号 })) // 只传递用户选择的联系人信息,不传递备用的联系人字段