diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
index b44454a..9153024 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
@@ -1,11 +1,11 @@
 package org.jeecg.modules.wms.receipt.receiptHeader.mapper;
 
-import java.util.List;
-
 import org.apache.ibatis.annotations.Param;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
 /**
  * @Description: 入库表主表
  * @Author:      jeecg-boot
@@ -14,4 +14,8 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
  */
 public interface ReceiptHeaderMapper extends BaseMapper<ReceiptHeader> {
 
+    @Select("select code from (select r.id, r.code from receipt_header r where r.type = #{receiptType} "
+        + "union all select h.id, h.code from receipt_header_history h where h.type = #{receiptType}) t order by t.id desc limit 1")
+    ReceiptHeader getMaxReceiptHeaderCode(@Param("receiptType") String receiptType);
+
 }
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 da8d7a1..4679b22 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,8 +31,6 @@ public interface IReceiptHeaderService extends IService<ReceiptHeader> {
      */
     public Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader);
 
-    public String createCode(String receiptType);
-
     public boolean updateReceiptHeaderStatus(Integer id);
 
     public boolean updateReceiptHeader(Integer id);
@@ -41,4 +39,6 @@ public interface IReceiptHeaderService extends IService<ReceiptHeader> {
 
     public ReceiptHeader getReceiptHeaderByReferCode(String referCode, String warehouseCode);
 
+    String createReceiptCode(String receiptType);
+
 }
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 f7277ea..982443c 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
@@ -3,7 +3,6 @@ package org.jeecg.modules.wms.receipt.receiptHeader.service.impl;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.List;
@@ -12,11 +11,9 @@ import javax.annotation.Resource;
 
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
-import org.jeecg.modules.wms.audit.entity.Audit;
 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.flow.entity.FlowDetail;
 import org.jeecg.modules.wms.flow.service.IFlowDetailService;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
@@ -112,7 +109,7 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
                 return Result.error("上游单号" + referCode + ",已经存在");
             }
         }
-        String code = createCode(receiptHeader.getType());
+        String code = createReceiptCode(receiptHeader.getType());
         if (StringUtils.isEmpty(code)) {
             throw new JeecgBootException("根据入库单据类型" + receiptHeader.getType() + "生成单号失败");
         }
@@ -128,14 +125,12 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
 
     @Override
     @Transactional
-    public String createCode(String receiptType) {
+    public String createReceiptCode(String receiptType) {
         String code = null;
         Date now = new Date();
         SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
-        LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
-        receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getType, receiptType).select(ReceiptHeader::getCode).orderByDesc(ReceiptHeader::getId).last("Limit 1");
         String maxCode = null;
-        ReceiptHeader receiptHeader = this.getOne(receiptHeaderLambdaQueryWrapper);
+        ReceiptHeader receiptHeader = receiptHeaderMapper.getMaxReceiptHeaderCode(receiptType);
         if (receiptHeader != null) {
             maxCode = receiptHeader.getCode();
         }