1
z8018
2025-12-17 acf7bfe3625cd97f5124a8ea8eb7a875f4fd7a3c
1
已添加5个文件
已修改11个文件
294 ■■■■ 文件已修改
项目代码/WIDESEA_WMSClient/src/views/outbound/outPicking.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db-shm 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db-wal 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/MaterielCodeInfoService.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_DTO/CalcOut/MaterialCodeReturnDTO.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_DTO/CalcOut/ScannedStockDetailDTO.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielCodeInfoService.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/MaterielCodeInfoController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/views/outbound/outPicking.vue
@@ -200,6 +200,8 @@
            </el-row>
        </div>
        <print-view ref="printView" @parentcall="parentcall"></print-view>
        <!-- ç¡®è®¤å¯¹è¯æ¡† -->
        <el-dialog v-model="confirmDialogVisible" title="操作确认" width="400px" :before-close="handleDialogClose">
            <div class="confirm-content">
@@ -218,7 +220,10 @@
</template>
<script>
import printView from "@/extension/outbound/extend/printView.vue"
export default {
    components: { printView },
    name: 'OutPicking',
    data() {
        return {
@@ -415,6 +420,9 @@
                    operator: this.getUserName()
                }).then(response => {
                    if (response.status) {
                        if (response.data.scannedDetail.isUnpacked && response.data.scannedDetail.materialCodes.length > 0) {
                            this.$refs.printView.open(response.data.scannedDetail.materialCodes);
                        }
                        this.$message.success('拣选确认成功')
                        this.resetMaterialBarcode()
                        // this.loadUnpickedData()
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db-shm
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/CodeChunks.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db-shm
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1204.46620/SemanticSymbols.db-wal
Binary files differ
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_BasicService/MESOperation/FeedbackMesService.cs
@@ -6,6 +6,7 @@
using Newtonsoft.Json;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_Core.HttpContextUser;
using WIDESEA_Core.Util;
@@ -16,14 +17,14 @@
namespace WIDESEA_BasicService.MESOperation
{
    public class FeedbackMesService : IFeedbackMesService
    public class FeedbackMesService : ServiceBase<Dt_MesReturnRecord, IRepository<Dt_MesReturnRecord>>, IFeedbackMesService
    {
        private readonly IUnitOfWorkManage _unitOfWorkManage;
        private readonly HttpClientHelper _httpClientHelper;
        private readonly IRepository<Dt_OutboundOrder> _outboundOrderRepository;
        private readonly IBasicService _basicService;
        public FeedbackMesService(IUnitOfWorkManage unitOfWorkManage, HttpClientHelper httpClientHelper, IRepository<Dt_OutboundOrder> outboundOrderRepository, IBasicService basicService)
        public FeedbackMesService(IRepository<Dt_MesReturnRecord> BaseDal, IUnitOfWorkManage unitOfWorkManage, HttpClientHelper httpClientHelper, IRepository<Dt_OutboundOrder> outboundOrderRepository, IBasicService basicService) : base(BaseDal)
        {
            _unitOfWorkManage = unitOfWorkManage;
            _httpClientHelper = httpClientHelper;
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_BasicService/MaterielCodeInfoService.cs
@@ -14,13 +14,13 @@
namespace WIDESEA_BasicService
{
    public class MaterielCodeInfoService : ServiceBase<Dt_MaterielCodeInfo, IRepository<Dt_MaterielCodeInfo>>, IMaterielCodeInfoService
    public class MaterielCodeInfoService : ServiceBase<Dt_MaterialCodeInfo, IRepository<Dt_MaterialCodeInfo>>, IMaterielCodeInfoService
    {
        public MaterielCodeInfoService(IRepository<Dt_MaterielCodeInfo> BaseDal) : base(BaseDal)
        public MaterielCodeInfoService(IRepository<Dt_MaterialCodeInfo> BaseDal) : base(BaseDal)
        {
        }
        public IRepository<Dt_MaterielCodeInfo> Repository => BaseDal;
        public IRepository<Dt_MaterialCodeInfo> Repository => BaseDal;
    }
}
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_DTO/CalcOut/MaterialCodeReturnDTO.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WIDESEA_DTO.CalcOut
{
    /// <summary>
    ///
    /// </summary>
    public class MaterialCodeReturnDTO
    {
        // ç‰©æ–™å·ï¼Œç‰©æ–™åï¼Œä¾›åº”商,采购单号,规格,数量,批次,条码,厂区。日期
        /// <summary>
        /// ç‰©æ–™ç¼–号
        /// </summary>
        public string MaterialCode { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        public string MaterialName { get; set; }
        /// <summary>
        /// ä¾›åº”商编号
        /// </summary>
        public string SuplierCode { get; set; }
        /// <summary>
        /// é‡‡è´­å•号
        /// </summary>
        public string PruchaseOrderNo { get; set; }
        /// <summary>
        /// ç‰©æ–™è§„æ ¼
        /// </summary>
        public string MaterialSpec { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡
        /// </summary>
        public string BatchNo { get; set; }
        /// <summary>
        /// åŽ‚åŒº
        /// </summary>
        public string FactoryArea { get; set; }
        /// <summary>
        /// æ—¥æœŸ
        /// </summary>
        public string Date { get; set; }
        /// <summary>
        /// æ¡ç 
        /// </summary>
        public string Barcode { get; set; }
        /// <summary>
        /// æ•°é‡
        /// </summary>
        public decimal Quantity { get; set; }
    }
}
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_DTO/CalcOut/ScannedStockDetailDTO.cs
@@ -60,5 +60,10 @@
        /// æ˜¯å¦æ‹†åŒ…
        /// </summary>
        public bool IsUnpacked { get; set; }
        /// <summary>
        ///
        /// </summary>
        public List<MaterialCodeReturnDTO> MaterialCodes { get; set; }
    }
}
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_IBasicService/IMaterielCodeInfoService.cs
@@ -9,8 +9,8 @@
namespace WIDESEA_IBasicService
{
    public interface IMaterielCodeInfoService : IService<Dt_MaterielCodeInfo>
    public interface IMaterielCodeInfoService : IService<Dt_MaterialCodeInfo>
    {
        public IRepository<Dt_MaterielCodeInfo> Repository { get; }
        public IRepository<Dt_MaterialCodeInfo> Repository { get; }
    }
}
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_Model/Models/Basic/Dt_MaterielCodeInfo.cs
@@ -12,8 +12,8 @@
    /// <summary>
    /// ç‰©æ–™ç ä¿¡æ¯
    /// </summary>
    [SugarTable(nameof(Dt_MaterielCodeInfo), "物料码信息")]
    public class Dt_MaterielCodeInfo : BaseEntity
    [SugarTable(nameof(Dt_MaterialCodeInfo), "物料码信息")]
    public class Dt_MaterialCodeInfo : BaseEntity
    {
        /// <summary>
        /// ä¸»é”®
@@ -25,46 +25,85 @@
        /// ç‰©æ–™ç¼–号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "物料编号")]
        public string MaterielCode { get; set; }
        public string MaterialCode { get; set; }
        /// <summary>
        /// ä»“库主键
        /// ç‰©æ–™åç§°
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "仓库编号")]
        public int WarehouseId { get; set; }
        [SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "物料名称")]
        public string? MaterialName { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡å·
        /// ä¾›åº”商编号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 200, ColumnDescription = "批次号")]
        public string LotNo { get; set; }
        /// <summary>
        /// ç”Ÿäº§æ—¥æœŸ
        /// </summary>
        [ImporterHeader(Name = "生产日期")]
        [ExporterHeader(DisplayName = "生产日期")]
        [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "生产日期")]
        public DateTime ProductionDate {  get; set; }
        /// <summary>
        /// æœ‰æ•ˆæœŸ
        /// </summary>
        [ImporterHeader(Name = "有效期")]
        [ExporterHeader(DisplayName = "有效期")]
        [SugarColumn(IsNullable = false, IsOnlyIgnoreUpdate = true, ColumnDescription = "有效期")]
        public DateTime EffectiveDate { get; set; }
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "供应商编号")]
        public string? SuplierCode { get; set; }
        /// <summary>
        /// é‡‡è´­å•号
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "采购单号")]
        public string PurchaseOrderNo { get; set; }
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "采购单号")]
        public string? PruchaseOrderNo { get; set; }
        /// <summary>
        /// æ•°é‡
        /// ç‰©æ–™è§„æ ¼
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "数量")]
        public float Quantity { get; set; }
        [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "物料规格")]
        public string? MaterialSpec { get; set; }
        /// <summary>
        /// æ‰¹æ¬¡
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "批次")]
        public string? BatchNo { get; set; }
        /// <summary>
        /// åŽ‚åŒº
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "厂区")]
        public string? FactoryArea { get; set; }
        /// <summary>
        /// æ—¥æœŸ
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "物料编号")]
        public string Date { get; set; }
        /// <summary>
        /// æ–°æ¡ç 
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "新条码")]
        public string NewBarcode { get; set; }
        /// <summary>
        /// åŽŸæ¡ç 
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "原条码")]
        public string OldBarcode {  get; set; }
        /// <summary>
        /// åŽŸæ•°é‡
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "原数量")]
        public decimal OriginalQuantity {  get; set; }
        /// <summary>
        /// æ–°æ•°é‡
        /// </summary>
        [SugarColumn(IsNullable = false, ColumnDescription = "新数量")]
        public decimal AfterQuantity {  get; set; }
        /// <summary>
        /// å•位
        /// </summary>
        [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "单位")]
        public string Unit {  get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        [SugarColumn(IsNullable = true, Length = 500, ColumnDescription = "备注")]
        public string? Remark {  get; set; }
    }
}
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_OutboundService/OutboundService.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json;
using AutoMapper;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using SqlSugar;
using WIDESEA_Common.LocationEnum;
@@ -21,7 +22,7 @@
{
    public partial class OutboundService : IOutboundService
    {
        private readonly IMapper _mapper;
        public IUnitOfWorkManage _unitOfWorkManage { get; }
        public IOutboundOrderDetailService OutboundOrderDetailService { get; }
@@ -42,9 +43,11 @@
        private readonly IRepository<Dt_LocationInfo> _locationInfoRepository;
        private readonly IRepository<Dt_StockQuantityChangeRecord> _stockChangeRepository;
        private readonly IRepository<Dt_StockInfoDetail_Hty> _stockDetailHistoryRepository;
        private readonly IFeedbackMesService _feedbackMesService;
        public OutboundService(IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> detailRepository, IRepository<Dt_OutboundOrder> outboundRepository, IRepository<Dt_OutStockLockInfo> outboundLockInfoRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_StockQuantityChangeRecord> stockChangeRepository, IRepository<Dt_StockInfoDetail_Hty> stockDetailHistoryRepository, IBasicService basicService, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService)
        public OutboundService(IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IRepository<Dt_OutboundOrderDetail> detailRepository, IRepository<Dt_OutboundOrder> outboundRepository, IRepository<Dt_OutStockLockInfo> outboundLockInfoRepository, IRepository<Dt_StockInfo> stockInfoRepository, IRepository<Dt_StockInfoDetail> stockDetailRepository, IRepository<Dt_StockQuantityChangeRecord> stockChangeRepository, IRepository<Dt_StockInfoDetail_Hty> stockDetailHistoryRepository, IBasicService basicService, IOutboundOrderDetailService outboundOrderDetailService, IOutboundOrderService outboundOrderService, IOutStockLockInfoService outboundStockLockInfoService, IFeedbackMesService feedbackMesService)
        {
            _mapper = mapper;
            _unitOfWorkManage = unitOfWorkManage;
            Db = _unitOfWorkManage.GetDbClient();
            OutboundOrderDetailService = outboundOrderDetailService;
@@ -59,8 +62,10 @@
            _stockChangeRepository = stockChangeRepository;
            _stockDetailHistoryRepository = stockDetailHistoryRepository;
            _basicService = basicService;
            _feedbackMesService = feedbackMesService;
        }
        #region å‡ºåº“分配
        /// <summary>
        /// åˆ†æ‹£å‡ºåº“操作
        /// </summary>
@@ -783,6 +788,7 @@
                return false;
            }
        }
        #endregion
        /// <summary>
@@ -888,7 +894,7 @@
                // 8. åˆ¤æ–­æ˜¯å¦éœ€è¦æ‹†åŒ…(当出库数量小于库存数量时需要拆包)
                bool isUnpacked = actualOutboundQuantity < stockDetail.StockQuantity;
                string newBarcode = string.Empty;
                List<MaterialCodeReturnDTO> returnDTOs = new List<MaterialCodeReturnDTO>();
                // 9. å¼€å¯äº‹åŠ¡
                _unitOfWorkManage.BeginTran();
@@ -899,7 +905,7 @@
                    // æ ¹æ®æ˜¯å¦æ‹†åŒ…执行不同的操作
                    if (isUnpacked)
                    {
                        newBarcode = PerformUnpackOperation(stockDetail, stockInfo, actualOutboundQuantity, request, beforeQuantity, lockInfo.TaskNum.GetValueOrDefault());
                        returnDTOs = PerformUnpackOperation(stockDetail, stockInfo, actualOutboundQuantity, request, beforeQuantity, lockInfo.TaskNum.GetValueOrDefault());
                    }
                    else
                    {
@@ -993,14 +999,14 @@
                        BeforeQuantity = beforeQuantity,
                        AfterQuantity = isUnpacked ? actualOutboundQuantity : 0,
                        ChangeQuantity = -actualOutboundQuantity,
                        IsUnpacked = isUnpacked
                        IsUnpacked = isUnpacked,
                        MaterialCodes = returnDTOs
                    };
                    response.Success = true;
                    response.Message = isUnpacked ? $"拆包出库完成,已生成新条码:{newBarcode}" : "出库完成";
                    response.Message = "出库完成";
                    response.ScannedDetail = scannedDetail;
                    response.UpdatedDetails = updateDetails;
                    response.NewBarcode = newBarcode;
                    // æ£€æŸ¥å‡ºåº“单是否完成
                    if (CheckOutboundOrderCompleted(request.OrderNo))
@@ -1074,10 +1080,16 @@
        /// <param name="beforeQuantity"></param>
        /// <param name="taskNum"></param>
        /// <returns></returns>
        private string PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
        private List<MaterialCodeReturnDTO> PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
            decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum)
        {
            string newBarcode = GenerateNewBarcode();
            string remark = $"拆包记录,原条码:{request.Barcode},原数量:{stockDetail.StockQuantity},出库条码:{newBarcode}, å‡ºåº“数量:{actualOutboundQuantity},回库条码:{request.Barcode},回库数量:{stockDetail.StockQuantity - actualOutboundQuantity},操作者:{request.Operator}";
            List<Dt_MaterialCodeInfo> materialCodeInfos = CreateMaterialCodeInfos(stockDetail, newBarcode, actualOutboundQuantity, remark);
            List<MaterialCodeReturnDTO> returnDTOs = _mapper.Map<List<MaterialCodeReturnDTO>>(materialCodeInfos);
            // ä¿å­˜åŽŸå§‹åº“å­˜æ˜Žç»†åˆ°åŽ†å²è®°å½•
            Dt_StockInfoDetail_Hty originalHistoryRecord = new Dt_StockInfoDetail_Hty
@@ -1138,7 +1150,7 @@
            };
            _stockChangeRepository.AddData(unpackChangeRecord);
            return newBarcode;
            return returnDTOs;
        }
        /// <summary>
@@ -1214,6 +1226,64 @@
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="stockDetail"></param>
        /// <param name="newBarcode"></param>
        /// <param name="splitQuantity"></param>
        /// <param name="afterQuantity"></param>
        /// <param name="remark"></param>
        /// <returns></returns>
        private List<Dt_MaterialCodeInfo> CreateMaterialCodeInfos(Dt_StockInfoDetail stockDetail, string newBarcode, decimal splitQuantity, string remark)
        {
            List<Dt_MaterialCodeInfo> materialCodeInfos = new List<Dt_MaterialCodeInfo>();
            Dt_MaterielInfo? materielInfo = _basicService.MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == stockDetail.MaterielCode);
            Dt_MaterialCodeInfo outMaterialCodeInfo = new Dt_MaterialCodeInfo()
            {
                AfterQuantity = splitQuantity,
                BatchNo = stockDetail.BatchNo,
                FactoryArea = stockDetail.FactoryArea,
                MaterialName = materielInfo?.MaterielName ?? stockDetail.MaterielName,
                MaterialSpec = materielInfo?.MaterielSpec ?? "",
                MaterialCode = stockDetail.MaterielCode,
                NewBarcode = newBarcode,
                OldBarcode = stockDetail.Barcode,
                OriginalQuantity = stockDetail.StockQuantity,
                PruchaseOrderNo = stockDetail.OrderNo,
                SuplierCode = stockDetail.SupplyCode,
                Unit = stockDetail.Unit,
                Date = DateTime.Now.ToString("yyyy-MM-dd"),
                Remark = remark
            };
            materialCodeInfos.Add(outMaterialCodeInfo);
            Dt_MaterialCodeInfo returnMaterialCodeInfo = new Dt_MaterialCodeInfo()
            {
                AfterQuantity = stockDetail.StockQuantity - splitQuantity,
                BatchNo = stockDetail.BatchNo,
                FactoryArea = stockDetail.FactoryArea,
                MaterialName = materielInfo?.MaterielName ?? stockDetail.MaterielName,
                MaterialSpec = materielInfo?.MaterielSpec ?? "",
                MaterialCode = stockDetail.MaterielCode,
                NewBarcode = stockDetail.Barcode,
                OldBarcode = stockDetail.Barcode,
                OriginalQuantity = stockDetail.StockQuantity,
                PruchaseOrderNo = stockDetail.OrderNo,
                SuplierCode = stockDetail.SupplyCode,
                Unit = stockDetail.Unit,
                Date = DateTime.Now.ToString("yyyy-MM-dd"),
                Remark = remark
            };
            materialCodeInfos.Add(returnMaterialCodeInfo);
            _basicService.MaterielCodeInfoService.Repository.AddData(materialCodeInfos);
            return materialCodeInfos;
        }
        /// <summary>
        /// æ›´æ–°è¯¥æ‰˜ç›˜è¯¥ç‰©æ–™çš„æ‰€æœ‰é”å®šè®°å½•的累计已出库数量
        /// </summary>
        /// <param name="stockId">库存ID</param>
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/MaterielCodeInfoController.cs
@@ -8,7 +8,7 @@
{
    [Route("api/MaterielCodeInfo")]
    [ApiController]
    public class MaterielCodeInfoController : ApiBaseController<IMaterielCodeInfoService, Dt_MaterielCodeInfo>
    public class MaterielCodeInfoController : ApiBaseController<IMaterielCodeInfoService, Dt_MaterialCodeInfo>
    {
        public MaterielCodeInfoController(IMaterielCodeInfoService service) : base(service)
        {
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs
@@ -1,14 +1,15 @@
using Autofac.Builder;
using AutoMapper;
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac.Builder;
using AutoMapper;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Core.Helper;
using WIDESEA_Core.HttpContextUser;
using WIDESEA_DTO;
using WIDESEA_DTO.CalcOut;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Outbound;
using WIDESEA_DTO.System;
@@ -38,6 +39,8 @@
            CreateMap<Dt_Task, Dt_Task_Hty>()
         .ForMember(dest => dest.SourceId, opt => opt.Ignore()) // æ‰‹åŠ¨å¡«å……ï¼Œå¿½ç•¥æ˜ å°„
         .ForMember(dest => dest.OperateType, opt => opt.Ignore()); // æ‰‹åŠ¨å¡«å……ï¼Œå¿½ç•¥æ˜ å°„
            CreateMap<Dt_MaterialCodeInfo, MaterialCodeReturnDTO>().ForMember(a => a.Quantity, b => b.MapFrom(c => c.AfterQuantity)).ForMember(a => a.Barcode, b => b.MapFrom(c => c.NewBarcode));
        }
    }
}