From e128e3d64207b35929ceab6b54e1abca2cba5292 Mon Sep 17 00:00:00 2001
From: youjie <272855983@qq.com>
Date: Fri, 21 Jun 2024 16:07:10 +0800
Subject: [PATCH] 增加入库单详情、出库单详情物料标签打印

---
 ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue                                                              | 12 ++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java                                      | 25 +++++++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java                                 |  4 +++-
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java                         |  8 ++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java                                 |  4 +++-
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java                         |  8 ++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java                 | 21 ++++++---------------
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java                               |  4 ++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java                               | 16 +++++++++-------
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java                      |  2 ++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java              |  7 +++----
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java              | 40 ++++++++++++++++++++++++++++++++++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java | 12 ++++++++----
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java                            |  4 ++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java                            |  4 ++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java           |  2 ++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java           | 25 ++++++++++++++++++++++++-
 17 files changed, 165 insertions(+), 33 deletions(-)

diff --git a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue
index 0b4c644..da6c228 100644
--- a/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue
+++ b/ant-design-vue-jeecg/src/views/system/shipment/ShipmentDetailList.vue
@@ -271,6 +271,18 @@ export default {
       this.$refs.modalCombineForm.title = "配盘";
       this.$refs.modalCombineForm.disableSubmit = false;
     },
+    batchPrint() {
+      if (this.selectedRowKeys.length <= 0) {
+        this.$message.warning('请选择一条记录!');
+        return;
+      } else {
+        var ids = ''
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ','
+        }
+        window.open(window._CONFIG['domianURL'] + "/jmreport/view/963962951128367104/?id=" + ids, "newWindow", "toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");
+      }
+    },
     edit(record) {
       this.$refs.modalEditForm.edit(record);
       this.$refs.modalEditForm.title = "编辑";
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java
index f0dc135..47b9ca9 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/erp/service/impl/ErpServiceImpl.java
@@ -16,8 +16,12 @@ import org.jeecg.modules.wms.api.erp.service.IErpService;
 import org.jeecg.modules.wms.config.address.service.IAddressService;
 import org.jeecg.modules.wms.config.company.entity.Company;
 import org.jeecg.modules.wms.config.company.service.ICompanyService;
+import org.jeecg.modules.wms.config.customer.entity.Customer;
+import org.jeecg.modules.wms.config.customer.service.ICustomerService;
 import org.jeecg.modules.wms.config.material.entity.Material;
 import org.jeecg.modules.wms.config.material.service.IMaterialService;
+import org.jeecg.modules.wms.config.supplier.entity.Supplier;
+import org.jeecg.modules.wms.config.supplier.service.ISupplierService;
 import org.jeecg.modules.wms.config.warehouse.entity.Warehouse;
 import org.jeecg.modules.wms.config.warehouse.service.IWarehouseService;
 import org.jeecg.modules.wms.inventory.inventoryHeader.entity.InventoryDetail;
@@ -68,6 +72,10 @@ public class ErpServiceImpl implements IErpService {
     private IInventoryDetailService inventoryDetailService;
     @Resource
     private IAddressService addressService;
+    @Resource
+    private ISupplierService supplierService;
+    @Resource
+    private ICustomerService customerService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -115,12 +123,20 @@ public class ErpServiceImpl implements IErpService {
                 return Result.error("入库单下发, 没有找到货主");
             }
         }
+        String supplierName = null;
+        if (StringUtils.isNotEmpty(supplierCode)) {
+            Supplier supplier = supplierService.getSupplierByCode(supplierCode);
+            if (supplier != null) {
+                supplierName = supplier.getName();
+            }
+        }
         ReceiptHeader receiptHeader = new ReceiptHeader();
         receiptHeader.setWarehouseCode(warehouseCode);
         receiptHeader.setCompanyCode(companyCode);
         receiptHeader.setType(receiptType);
         receiptHeader.setReferCode(referCode);
         receiptHeader.setSupplierCode(supplierCode);
+        receiptHeader.setSupplierName(supplierName);
         receiptHeader.setRemark(remark);
         Result result = receiptHeaderService.saveReceiptHeader(receiptHeader);
         if (!result.isSuccess()) {
@@ -253,9 +269,18 @@ public class ErpServiceImpl implements IErpService {
                 return Result.error("出库单下发, 没有找到货主");
             }
         }
+        String customerName = null;
+        if (StringUtils.isNotEmpty(customerCode)) {
+            Customer customer = customerService.getCustomerByCode(customerCode);
+            if (customer == null) {
+                return Result.error("出库单下发, 没有找到客户信息");
+            }
+            customerName = customer.getName();
+        }
         ShipmentHeader shipmentHeader = new ShipmentHeader();
         shipmentHeader.setWarehouseCode(warehouseCode);
         shipmentHeader.setCompanyCode(companyCode);
+        shipmentHeader.setCustomerName(customerName);
         shipmentHeader.setZoneCode(zoneCode);
         shipmentHeader.setType(shipmentType);
         shipmentHeader.setReferCode(referCode);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java
index 0a338aa..ad2e9ea 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/ICustomerService.java
@@ -1,8 +1,9 @@
 package org.jeecg.modules.wms.config.customer.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.wms.config.customer.entity.Customer;
 
+import com.baomidou.mybatisplus.extension.service.IService;
+
 /**
  * @Description: 客户管理
  * @Author:      jeecg-boot
@@ -11,4 +12,5 @@ import org.jeecg.modules.wms.config.customer.entity.Customer;
  */
 public interface ICustomerService extends IService<Customer> {
 
+    Customer getCustomerByCode(String code);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java
index 49ae735..78ae6ab 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/customer/service/impl/CustomerServiceImpl.java
@@ -5,6 +5,8 @@ import org.jeecg.modules.wms.config.customer.mapper.CustomerMapper;
 import org.jeecg.modules.wms.config.customer.service.ICustomerService;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 /**
@@ -16,4 +18,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> implements ICustomerService {
 
+    @Override
+    public Customer getCustomerByCode(String code) {
+        LambdaQueryWrapper<Customer> customerLambdaQueryWrapper = Wrappers.lambdaQuery();
+        customerLambdaQueryWrapper.eq(Customer::getCode, code);
+        return getOne(customerLambdaQueryWrapper);
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java
index a7e7fa4..afb5293 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/ISupplierService.java
@@ -1,8 +1,9 @@
 package org.jeecg.modules.wms.config.supplier.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.wms.config.supplier.entity.Supplier;
 
+import com.baomidou.mybatisplus.extension.service.IService;
+
 /**
  * @Description: 供应商管理
  * @Author:      jeecg-boot
@@ -11,4 +12,5 @@ import org.jeecg.modules.wms.config.supplier.entity.Supplier;
  */
 public interface ISupplierService extends IService<Supplier> {
 
+    Supplier getSupplierByCode(String code);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java
index d6781b5..5b0fd46 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/supplier/service/impl/SupplierServiceImpl.java
@@ -5,6 +5,8 @@ import org.jeecg.modules.wms.config.supplier.mapper.SupplierMapper;
 import org.jeecg.modules.wms.config.supplier.service.ISupplierService;
 import org.springframework.stereotype.Service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 /**
@@ -16,4 +18,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements ISupplierService {
 
+    @Override
+    public Supplier getSupplierByCode(String code) {
+        LambdaQueryWrapper<Supplier> supplierLambdaQueryWrapper = Wrappers.lambdaQuery();
+        supplierLambdaQueryWrapper.eq(Supplier::getCode, code);
+        return getOne(supplierLambdaQueryWrapper);
+    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
index 6dacb88..a55c4bd 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/controller/ReceiptHeaderController.java
@@ -1,22 +1,22 @@
 package org.jeecg.modules.wms.receipt.receiptHeader.controller;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import cn.hutool.core.util.StrUtil;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.DictModel;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.wms.api.erp.service.IErpService;
@@ -29,7 +29,6 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService;
-import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
 import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
@@ -131,16 +130,8 @@ public class ReceiptHeaderController extends JeecgController<ReceiptHeader, IRec
     @RequiresPermissions("receiptHeader:edit")
     @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
     public Result<String> edit(@RequestBody ReceiptHeader receiptHeader) {
-        String companyCode = receiptHeader.getCompanyCode();
-        receiptHeaderService.updateById(receiptHeader);
-        if (StringUtils.isNotEmpty(companyCode)) {
-            List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId()));
-            for (ReceiptDetail receiptDetail : receiptDetailList) {
-                receiptDetail.setCompanyCode(companyCode);
-                receiptDetailService.updateById(receiptDetail);
-            }
-        }
-        return Result.OK("编辑成功!");
+        Result result = receiptHeaderService.editReceiptHeader(receiptHeader);
+        return result;
     }
 
     /**
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java
index 10a549d..8b23ab2 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptDetail.java
@@ -47,6 +47,10 @@ public class ReceiptDetail implements Serializable {
     @Excel(name = "货主编码", width = 15)
     @ApiModelProperty(value = "货主编码")
     private String companyCode;
+    /** 供应商名称 */
+    @Excel(name = "供应商名称", width = 15)
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
     /** 物料编码 */
     @Excel(name = "物料编码", width = 15)
     @ApiModelProperty(value = "物料编码")
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java
index 9bc4e71..d77d122 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/entity/ReceiptHeader.java
@@ -1,22 +1,20 @@
 package org.jeecg.modules.wms.receipt.receiptHeader.entity;
 
 import java.io.Serializable;
-import java.io.UnsupportedEncodingException;
 import java.util.Date;
+
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import org.jeecgframework.poi.excel.annotation.Excel;
-import lombok.Data;
-import com.fasterxml.jackson.annotation.JsonFormat;
 
 import cn.monitor4all.logRecord.annotation.LogRecordDiffField;
 import cn.monitor4all.logRecord.annotation.LogRecordDiffObject;
-
-import org.springframework.format.annotation.DateTimeFormat;
-import org.jeecg.common.aspect.annotation.Dict;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 /**
  * @Description: 入库表主表
@@ -70,6 +68,10 @@ public class ReceiptHeader implements Serializable {
     @Excel(name = "供应商编码", width = 15)
     @ApiModelProperty(value = "供应商编码")
     private String supplierCode;
+    /** 供应商名称 */
+    @Excel(name = "供应商名称", width = 15)
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
     /** 总数量 */
     @Excel(name = "总数量", width = 15)
     @ApiModelProperty(value = "总数量")
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java
index 584db7e..58d9774 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java
@@ -31,6 +31,8 @@ public interface IReceiptHeaderService extends IService<ReceiptHeader> {
      */
     Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader);
 
+    public Result editReceiptHeader(ReceiptHeader receiptHeader);
+
     boolean updateReceiptHeaderStatus(Integer id);
 
     boolean updateReceiptHeader(Integer id);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
index fc395ac..51106bf 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
@@ -4,12 +4,10 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Map;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
-import cn.hutool.core.util.StrUtil;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.wms.config.material.entity.Material;
@@ -19,19 +17,18 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
 import org.jeecg.modules.wms.receipt.receiptHeader.mapper.ReceiptDetailMapper;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService;
-import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import cn.monitor4all.logRecord.annotation.OperationLog;
 import cn.monitor4all.logRecord.context.LogRecordContext;
-import org.springframework.util.CollectionUtils;
 
 /**
  * @Description: 入库单详情
@@ -82,6 +79,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         String warehouseCode = receiptHeader.getWarehouseCode();
         String companyCode = receiptHeader.getCompanyCode();
         String materialCode = receiptDetail.getMaterialCode();
+        String supplierName = receiptHeader.getSupplierName();
         Material material = materialService.getMaterialByCode(materialCode);
         if (material == null) {
             return Result.error("添加失败,没有找到物料信息," + materialCode);
@@ -92,6 +90,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         receiptDetail.setReceiptCode(receiptCode);
         receiptDetail.setWarehouseCode(warehouseCode);
         receiptDetail.setCompanyCode(companyCode);
+        receiptDetail.setSupplierName(supplierName);
         receiptDetail.setMaterialName(materialName);
         receiptDetail.setMaterialSpec(materialSpec);
         receiptDetail.setMaterialUnit(materialUnit);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
index 1cfb1bf..fe2c1bf 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
@@ -15,6 +15,8 @@ import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.wms.audit.service.IAuditService;
 import org.jeecg.modules.wms.config.receiptType.entity.ReceiptType;
 import org.jeecg.modules.wms.config.receiptType.service.IReceiptTypeService;
+import org.jeecg.modules.wms.config.supplier.entity.Supplier;
+import org.jeecg.modules.wms.config.supplier.service.ISupplierService;
 import org.jeecg.modules.wms.flow.service.IFlowDetailService;
 import org.jeecg.modules.wms.inventory.inventoryTransaction.entity.InventoryTransaction;
 import org.jeecg.modules.wms.inventory.inventoryTransaction.service.IInventoryTransactionService;
@@ -66,6 +68,8 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
     private IAuditService iAuditService;
     @Resource
     private IInventoryTransactionService inventoryTransactionService;
+    @Resource
+    private ISupplierService supplierService;
 
     /**
      * @param  id     入库单主表id
@@ -120,6 +124,15 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
         if (StringUtils.isEmpty(code)) {
             throw new JeecgBootException("根据入库单据类型" + receiptHeader.getType() + "生成单号失败");
         }
+        String supplierCode = receiptHeader.getSupplierCode();
+        String supplierName = null;
+        if (StringUtils.isNotEmpty(supplierCode)) {
+            Supplier supplier = supplierService.getSupplierByCode(supplierCode);
+            if (supplier != null) {
+                supplierName = supplier.getName();
+            }
+        }
+        receiptHeader.setSupplierName(supplierName);
         receiptHeader.setCode(code);
         receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
         receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
@@ -132,6 +145,33 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
 
     @Override
     @Transactional
+    public Result editReceiptHeader(ReceiptHeader receiptHeader) {
+        String companyCode = receiptHeader.getCompanyCode();
+        String supplierCode = receiptHeader.getSupplierCode();
+        String supplierName = null;
+        if (StringUtils.isNotEmpty(supplierCode)) {
+            Supplier supplier = supplierService.getSupplierByCode(supplierCode);
+            if (supplier == null) {
+                return Result.error("编辑失败, 没有找到供应商信息");
+            }
+            supplierName = supplier.getName();
+        }
+        if (!receiptHeaderService.updateById(receiptHeader)) {
+            throw new JeecgBootException("编辑失败,更新表单头失败");
+        }
+        List<ReceiptDetail> receiptDetailList = receiptDetailService.selectByMainId(String.valueOf(receiptHeader.getId()));
+        for (ReceiptDetail receiptDetail : receiptDetailList) {
+            receiptDetail.setCompanyCode(companyCode);
+            receiptDetail.setSupplierName(supplierName);
+            if (!receiptDetailService.updateById(receiptDetail)) {
+                throw new JeecgBootException("编辑失败,更新表单详情失败");
+            }
+        }
+        return Result.OK("编辑成功!");
+    }
+
+    @Override
+    @Transactional
     public String createReceiptCode(String receiptType) {
         String code = null;
         Date now = new Date();
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
index acdafd5..e63ae8d 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -1002,12 +1002,16 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
                 if (!containerService.removeById(container.getId())) {
                     throw new JeecgBootException("完成平库出库,删除容器失败");
                 }
+            } else {
+                if (!containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY,
+                    QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode)) {
+                    throw new JeecgBootException("完成平库出库,更新容器状态失败");
+                } ;
             }
             // 设置库位容器编码为空值
-            Location temp = new Location();
-            temp.setId(fromLocation.getId());
-            temp.setContainerCode("");
-            locationService.updateById(temp);
+            if (!locationService.updateContainerCode(fromLocation.getCode(), QuantityConstant.EMPTY_STRING, warehouseCode)) {
+                throw new JeecgBootException("完成平库出库,设置库位容器编码为空值失败");
+            }
         }
 
         if (!inventoryTransactionService.saveBatch(inventoryTransactionList)) {
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
index 26d2838..fedb8ba 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
@@ -56,6 +56,10 @@ public class ShipmentDetail implements Serializable {
     @Excel(name = "货主编码", width = 15)
     @ApiModelProperty(value = "货主编码")
     private String companyCode;
+    /** 客户名称 */
+    @Excel(name = "客户名称", width = 15)
+    @ApiModelProperty(value = "客户名称")
+    private String customerName;
     /** 物料编码 */
     @Excel(name = "物料编码", width = 15)
     @ApiModelProperty(value = "物料编码")
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java
index e7bce7d..caa31c0 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentHeader.java
@@ -73,6 +73,10 @@ public class ShipmentHeader implements Serializable {
     @Excel(name = "客户编码", width = 15)
     @ApiModelProperty(value = "客户编码")
     private String customerCode;
+    /** 客户名称 */
+    @Excel(name = "客户名称", width = 15)
+    @ApiModelProperty(value = "客户名称")
+    private String customerName;
     /** 总数量 */
     @Excel(name = "总数量", width = 15)
     @ApiModelProperty(value = "总数量")
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
index c004ad4..45478a0 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
@@ -79,6 +79,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
         String companyCode = shipmentHeader.getCompanyCode();
         String materialCode = shipmentDetail.getMaterialCode();
         String zoneCode = shipmentHeader.getZoneCode();
+        String customerName = shipmentHeader.getCustomerName();
         Material material = materialService.getMaterialByCode(materialCode);
         if (material == null) {
             return Result.error("添加失败,没有找到物料信息," + materialCode);
@@ -86,6 +87,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
         String materialName = material.getName();
         String materialSpec = material.getSpec();
         String materialUnit = material.getUnit();
+        shipmentDetail.setCustomerName(customerName);
         shipmentDetail.setShipmentCode(shipmentCode);
         shipmentDetail.setWarehouseCode(warehouseCode);
         shipmentDetail.setCompanyCode(companyCode);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
index 1e82b40..6bed7ae 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
@@ -14,6 +14,8 @@ import javax.annotation.Resource;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.wms.config.container.service.IContainerService;
+import org.jeecg.modules.wms.config.customer.entity.Customer;
+import org.jeecg.modules.wms.config.customer.service.ICustomerService;
 import org.jeecg.modules.wms.config.location.entity.Location;
 import org.jeecg.modules.wms.config.location.service.ILocationService;
 import org.jeecg.modules.wms.config.parameterConfiguration.service.IParameterConfigurationService;
@@ -125,6 +127,8 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
 
     @Resource
     private IShipmentContainerAdviceService shipmentContainerAdviceService;
+    @Resource
+    private ICustomerService customerService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -165,6 +169,15 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
     public Result editShipmentHeader(ShipmentHeader shipmentHeader) {
         String companyCode = shipmentHeader.getCompanyCode();
         String zoneCode = shipmentHeader.getZoneCode();
+        String customerCode = shipmentHeader.getCustomerCode();
+        String customerName = null;
+        if (StringUtils.isNotEmpty(customerCode)) {
+            Customer customer = customerService.getCustomerByCode(customerCode);
+            if (customer == null) {
+                return Result.error("编辑失败, 没有找到客户信息");
+            }
+            customerName = customer.getName();
+        }
         if (!shipmentHeaderService.updateById(shipmentHeader)) {
             throw new JeecgBootException("编辑失败,更新表单头失败");
         }
@@ -172,6 +185,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
         for (ShipmentDetail shipmentDetail : shipmentDetailList) {
             shipmentDetail.setZoneCode(zoneCode);
             shipmentDetail.setCompanyCode(companyCode);
+            shipmentDetail.setCustomerName(customerName);
             if (!shipmentDetailService.updateById(shipmentDetail)) {
                 throw new JeecgBootException("编辑失败,更新表单详情失败");
             }
@@ -202,6 +216,16 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
         if (StringUtils.isEmpty(code)) {
             throw new JeecgBootException("根据出库单类型:" + shipmentHeader.getType() + ",生成单号失败");
         }
+        String customerCode = shipmentHeader.getCustomerCode();
+        String customerName = null;
+        if (StringUtils.isNotEmpty(customerCode)) {
+            Customer customer = customerService.getCustomerByCode(customerCode);
+            if (customer == null) {
+                return Result.error("出库单下发, 没有找到客户信息");
+            }
+            customerName = customer.getName();
+        }
+        shipmentHeader.setCustomerName(customerName);
         shipmentHeader.setCode(code);
         shipmentHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
         shipmentHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
@@ -367,7 +391,6 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
         mergeShipmentHeader.setCustomerCode(mergeShipmentHeaderList.get(0).getCustomerCode());
         mergeShipmentHeader.setType(mergeShipmentHeaderList.get(0).getType());
         mergeShipmentHeader.setCompanyCode(mergeShipmentHeaderList.get(0).getCompanyCode());
-        mergeShipmentHeader.setCustomerCode(mergeShipmentHeaderList.get(0).getCustomerCode());
         mergeShipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
         mergeShipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_BUILD);
         mergeShipmentHeader.setTotalQty(mergeshipmentDetailList.stream().map(ShipmentDetail::getQty).reduce(BigDecimal.ZERO, BigDecimal::add));
--
libgit2 0.22.2