tjx
2 天以前 637d269fd640fbc43dbeab9c96663430db415525
1111
已修改1个文件
已添加1个文件
243 ■■■■■ 文件已修改
StandardPda/MES.Service/Modes/MesPalletBindingLog.cs 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/service/Warehouse/MesPalletBinding1Manager.cs 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
StandardPda/MES.Service/Modes/MesPalletBindingLog.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,66 @@
using SqlSugar;
namespace MES.Service.Modes;
/// <summary>
///     æ ˆæ¿ç»‘定记录表
/// </summary>
[SugarTable("MES_PALLET_BINDING_LOG")]
public class MesPalletBindingLog
{
    /// <summary>
    ///     ä¸»é”®ID
    /// </summary>
    [SugarColumn(ColumnName = "ID",
        OracleSequenceName = "MES_PALLET_BINDING_LOG_ID",
        IsPrimaryKey = true)]
    public decimal Id { get; set; }
    /// <summary>
    ///     æ ˆæ¿ç 
    /// </summary>
    [SugarColumn(ColumnName = "STACKCODE")]
    public string? StackCode { get; set; }
    /// <summary>
    ///     ç™»å½•号
    /// </summary>
    [SugarColumn(ColumnName = "LOGIN_ID")]
    public string? LoginId { get; set; }
    /// <summary>
    ///     SN号
    /// </summary>
    [SugarColumn(ColumnName = "SN_NO")]
    public string? SnNo { get; set; }
    /// <summary>
    ///     å·¥å•单号
    /// </summary>
    [SugarColumn(ColumnName = "TICKET_NO")]
    public string? TicketNo { get; set; }
    /// <summary>
    ///     ä¸­ç®±ç 
    /// </summary>
    [SugarColumn(ColumnName = "MEDIUMBOXCODE")]
    public string? MediumBoxCode { get; set; }
    /// <summary>
    ///     åˆ›å»ºæ—¶é—´
    /// </summary>
    [SugarColumn(ColumnName = "CREATE_DATE")]
    public DateTime? CreateDate { get; set; }
    /// <summary>
    ///     åˆ›å»ºäºº
    /// </summary>
    [SugarColumn(ColumnName = "CREATED_BY")]
    public string? CreatedBy { get; set; }
    /// <summary>
    ///     æ“ä½œç±»åž‹ï¼ˆ0:绑定,1:解绑)
    /// </summary>
    [SugarColumn(ColumnName = "OPERATION_TYPE")]
    public string? OperationType { get; set; }
}
StandardPda/MES.Service/service/Warehouse/MesPalletBinding1Manager.cs
@@ -49,99 +49,120 @@
    }
    /// <summary>
        /// å°†æŽ¥å£è¿”回的数据插入到数据库中
        /// </summary>
        /// <param name="palletBinding">栈板绑定信息</param>
        /// <returns>插入记录数</returns>
        public int InsertPalletBindingData(MesPalletBinding palletBinding)
    /// å°†æŽ¥å£è¿”回的数据插入到数据库中
    /// </summary>
    /// <param name="palletBinding">栈板绑定信息</param>
    /// <returns>插入记录数</returns>
    public int InsertPalletBindingData(MesPalletBinding palletBinding)
    {
        var response = GetTransferListByStackCodeAsync(palletBinding).Result;
        if (response?.Data?.SnList == null ||
            string.IsNullOrEmpty(response.Data.StackCode))
        {
            var response = GetTransferListByStackCodeAsync(palletBinding).Result;
            if (response?.Data?.SnList == null || string.IsNullOrEmpty(response.Data.StackCode))
            {
                return 0;
            }
            int insertedCount = 0;
            try
            {
                // å‡†å¤‡è¦æ’入的数据列表
                var bindingList = new List<MesPalletBinding1>();
                foreach (var snItem in response.Data.SnList)
                {
                    var binding = new MesPalletBinding1
                    {
                        Stackcode = response.Data.StackCode,
                        SnNo = snItem.SnNo,
                        TicketNo = snItem.TickeNo,
                        Mediumboxcode = snItem.MediumBoxCode,
                        CreateDate = DateTime.Now,
                        IsInbound = 0 // é»˜è®¤æœªå…¥åº“
                    };
                    bindingList.Add(binding);
                }
                // æ‰¹é‡æ’入数据到数据库
                if (bindingList.Any())
                {
                    // æ‰¹é‡æ’入新数据
                    var insertedIds = Db.Insertable(bindingList).PageSize(1)
                        .IgnoreColumnsNull()
                        .ExecuteCommand();
                    insertedCount = insertedIds;
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"插入栈板绑定数据失败: {ex.Message}");
            }
            return insertedCount;
            return 0;
        }
        /// <summary>
        /// æ£€æŸ¥æ ˆæ¿ç åœ¨æ•°æ®åº“中是否存在
        /// </summary>
        /// <param name="stackCode">栈板码</param>
        /// <returns>存在返回true,否则返回false</returns>
        public bool CheckStackCodeExists(string stackCode)
        int insertedCount = 0;
        try
        {
            try
            // å‡†å¤‡è¦æ’入的数据列表
            var bindingList = new List<MesPalletBinding1>();
            var bindingLogList = new List<MesPalletBindingLog>();
            foreach (var snItem in response.Data.SnList)
            {
                if (string.IsNullOrEmpty(stackCode))
                var binding = new MesPalletBinding1
                {
                    return false;
                }
                    Stackcode = response.Data.StackCode,
                    SnNo = snItem.SnNo,
                    TicketNo = snItem.TickeNo,
                    Mediumboxcode = snItem.MediumBoxCode,
                    CreateDate = DateTime.Now,
                    IsInbound = 0 // é»˜è®¤æœªå…¥åº“
                };
                // æŸ¥è¯¢MES_PALLET_BINDING表中是否存在该栈板码的数据
                var exists = Db.Queryable<MesPalletBinding1>()
                    .Any(x => x.Stackcode == stackCode);
                bindingList.Add(binding);
                return exists;
                var bindingLog = new MesPalletBindingLog
                {
                    StackCode = response.Data.StackCode,
                    SnNo = snItem.SnNo,
                    TicketNo = snItem.TickeNo,
                    MediumBoxCode = snItem.MediumBoxCode,
                    CreateDate = DateTime.Now,
                    OperationType = "0" // é»˜è®¤æœªå…¥åº“
                };
                bindingLogList.Add(bindingLog);
            }
            catch (Exception ex)
            // æ‰¹é‡æ’入数据到数据库
            if (bindingList.Any())
            {
                throw new Exception($"检查栈板码是否存在时出错: {ex.Message}");
                // æ‰¹é‡æ’入新数据
                var insertedIds = Db.Insertable(bindingList).PageSize(1)
                    .IgnoreColumnsNull()
                    .ExecuteCommand();
                var insertedIds1 = Db.Insertable(bindingLogList).PageSize(1)
                    .IgnoreColumnsNull()
                    .ExecuteCommand();
                insertedCount = insertedIds + insertedIds1;
            }
        }
        /// <summary>
        /// å°†æŽ¥å£è¿”回的数据插入到数据库中(带存在性检查)
        /// </summary>
        /// <param name="palletBinding">栈板绑定信息</param>
        /// <returns>操作结果</returns>
        public async Task<int> InsertPalletBindingDataWithCheckAsync(MesPalletBinding palletBinding)
        catch (Exception ex)
        {
            // å…ˆæ£€æŸ¥æ ˆæ¿ç æ˜¯å¦å­˜åœ¨
            bool exists = CheckStackCodeExists(palletBinding.StackCode);
            return exists ? 1 :
                // è°ƒç”¨åŽŸæ¥çš„æ’å…¥æ–¹æ³•
                InsertPalletBindingData(palletBinding);
            throw new Exception($"插入栈板绑定数据失败: {ex.Message}");
        }
        return insertedCount;
    }
    /// <summary>
    /// æ£€æŸ¥æ ˆæ¿ç åœ¨æ•°æ®åº“中是否存在
    /// </summary>
    /// <param name="stackCode">栈板码</param>
    /// <returns>存在返回true,否则返回false</returns>
    public bool CheckStackCodeExists(string stackCode)
    {
        try
        {
            if (string.IsNullOrEmpty(stackCode))
            {
                return false;
            }
            // æŸ¥è¯¢MES_PALLET_BINDING表中是否存在该栈板码的数据
            var exists = Db.Queryable<MesPalletBinding1>()
                .Any(x => x.Stackcode == stackCode);
            return exists;
        }
        catch (Exception ex)
        {
            throw new Exception($"检查栈板码是否存在时出错: {ex.Message}");
        }
    }
    /// <summary>
    /// å°†æŽ¥å£è¿”回的数据插入到数据库中(带存在性检查)
    /// </summary>
    /// <param name="palletBinding">栈板绑定信息</param>
    /// <returns>操作结果</returns>
    public async Task<int> InsertPalletBindingDataWithCheckAsync(
        MesPalletBinding palletBinding)
    {
        // å…ˆæ£€æŸ¥æ ˆæ¿ç æ˜¯å¦å­˜åœ¨
        bool exists = CheckStackCodeExists(palletBinding.StackCode);
        return exists
            ? 1
            :
            // è°ƒç”¨åŽŸæ¥çš„æ’å…¥æ–¹æ³•
            InsertPalletBindingData(palletBinding);
    }
    /// <summary>
    /// æ ¹æ®æ ˆæ¿ç åˆ é™¤æ—§æ•°æ®
    /// </summary>