hwh
2024-07-26 b5f1dc9b984bcc449aac349a8760cd4c4d83beae
Merge branch 'hwh'
2个文件已修改
53 ■■■■■ 已修改文件
Wms/WMS.BLL/BllCheckServer/WarehouseOutsidePalletsServer.cs 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllCheckServer/WarehouseOutsidePalletsServer.cs
@@ -1,5 +1,6 @@
using Model.ModelDto.DataDto;
using Model.ModelDto.SysDto;
using Model.ModelVm.LogVm;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -14,6 +15,7 @@
using WMS.Entity.LogEntity;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllCheckServer;
using WMS.IBLL.ILogServer;
namespace WMS.BLL.BllCheckServer
{
@@ -21,9 +23,11 @@
    {
        private static readonly SqlSugarScope Db = DataContext.Db;
        private readonly UserManager _userManager;
        public WarehouseOutsidePalletsServer(UserManager userManager) : base(Db)
        private readonly IOperationCRServer _operation;
        public WarehouseOutsidePalletsServer(UserManager userManager, IOperationCRServer operation) : base(Db)
        {
            _userManager = userManager;
            _operation = operation;
        }
        /// <summary>
@@ -178,8 +182,14 @@
                    await Db.Updateable(bindModel).ExecuteCommandAsync();
                }
                // 插入操作日志
                new OperationASNServer().AddLogOperationAsn("库内作业", "库外托盘", stockDetail.PalletNo, "编辑",
                        $"指定了储位:{locate.LocatNo}、单据号:{stockDetail.ASNNo}、托盘码:{stockDetail.PalletNo}的信息", _userManager.UserId);
                await _operation.AddLogOperationCr(new OperationInputVm()
                {
                    ParentName = "库内作业",
                    MenuName = "库外托盘",
                    FkNo = stockDetail.PalletNo,
                    TypeName = "编辑",
                    Msg = $"指定了储位:{locate.LocatNo}、单据号:{stockDetail.ASNNo}、托盘码:{stockDetail.PalletNo}的信息"
                });
                //提交事务
                Db.CommitTran();
            }
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -199,6 +199,15 @@
                {
                    throw Oops.Bah("未查询到未盘点的盘点明细信息");
                }
                var modSku = Db.Queryable<SysMaterials>().Where(s => s.SkuNo == sku).First();
                if (modSku.IsPasteCode == "1" && isContinue == "1")
                {
                    throw Oops.Bah("贴标物料不允许数量盘点");
                }
                else if (modSku.IsPasteCode == "0" && isContinue == "0")
                {
                    throw Oops.Bah("不贴标物料请使用数量盘点");
                }
                //盘点记录
                var checkLog = Db.Queryable<BllStockCheckLog>().Where(m =>
                    m.IsDel == "0" && m.CRNo == crNo && m.PalletNo == palletNo && m.SkuNo == sku && m.LotNo == lotNo && m.CheckResult == null);
@@ -777,7 +786,7 @@
                var storageArea = new List<SysStorageArea>();
                if (string.IsNullOrEmpty(palletNo))
                {
                    storageArea = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.WareHouseNo == "W02").OrderBy(o=>o.AreaNo).ToList();
                    storageArea = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.WareHouseNo == "W02").OrderBy(o => o.AreaNo).ToList();
                }
                else
                {
@@ -799,7 +808,7 @@
                    {
                        throw new Exception("储位信息不存在,请检查!");
                    }
                    if (storageLocat.AreaNo.Contains("B0"))
                    {
                        storageArea = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo.Contains("B0") && w.WareHouseNo == "W02").OrderBy(o => o.AreaNo).ToList();
@@ -808,7 +817,7 @@
                    {
                        storageArea = Db.Queryable<SysStorageArea>().Where(w => w.IsDel == "0" && w.Status == "0" && w.AreaNo.Contains("B1") && w.WareHouseNo == "W02").OrderBy(o => o.AreaNo).ToList();
                    }
                }
                }
                return storageArea;
            }
            catch (Exception ex)
@@ -894,7 +903,7 @@
            if (!string.IsNullOrEmpty(areaNo) && !string.IsNullOrEmpty(ruku))
            {
                throw new Exception("目标区域和入库口不能同时选择!");
            }
            }
            try
            {
                string EndLocat = string.Empty;//目标位置                
@@ -903,7 +912,7 @@
                if (log != null)
                {
                    throw new Exception("该托盘已有小车等待执行或正在执行的任务!");
                }
                }
                var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == palletNo);
                if (stockDetail == null)
                {
@@ -916,7 +925,7 @@
                    {
                        throw new Exception("所选区域信息不存在,请检查!");
                    }
                    EndLocat = GetLocat(areaNo, stockDetail.SkuNo, stockDetail.LotNo,palletNo);
                    EndLocat = GetLocat(areaNo, stockDetail.SkuNo, stockDetail.LotNo, palletNo);
                }
                else
                {
@@ -951,7 +960,7 @@
                        throw new Exception("目标储位信息不存在,请检查!");
                    }
                }
                //开启事务
                Db.BeginTran();
@@ -996,7 +1005,7 @@
                {
                    storageLocatEnd.Status = "4";//0:空储位 1:有物品 2:入库中 3:出库中 4:移入中 5:移出中 
                    Db.Updateable(storageLocatEnd).ExecuteCommand();
                }
                }
                //添加操作日志记录
                var k = new OperationCrServer().AddLogOperationCr("PDA模块", "AGV转运", palletNo, "移库", $"PDA呼叫小车对托盘号:{palletNo}发起转运", userId);
                //提交事务
@@ -1019,7 +1028,7 @@
        /// <param name="palletNo"></param>
        /// <param name="areaNo"></param>
        /// <param name="userId"></param>
        public void AgvTransport2(string soNo,string palletNo, string areaNo, int userId)
        public void AgvTransport2(string soNo, string palletNo, string areaNo, int userId)
        {
            if (string.IsNullOrEmpty(soNo))
            {
@@ -1055,7 +1064,7 @@
                    string sqlStr = $"select * from DataStockDetail where PalletNo in (select PalletNo from BllExportAllot where IsDel='0' and SONo='{soNo}')";
                    stockDetailList = Db.Ado.SqlQuery<DataStockDetail>(sqlStr).ToList();
                }
                if (stockDetailList.Count<=0)
                if (stockDetailList.Count <= 0)
                {
                    throw new Exception("托盘明细不存在,请检查!");
                }
@@ -1068,7 +1077,7 @@
                foreach (var item in stockDetailList)
                {
                    //任务信息
                    var logInfo = log.First(w =>w.PalletNo == item.PalletNo);
                    var logInfo = log.First(w => w.PalletNo == item.PalletNo);
                    if (logInfo != null)
                    {
                        throw new Exception($"托盘号:{item.PalletNo}已有小车等待执行或正在执行的任务!");
@@ -1178,7 +1187,7 @@
        /// <param name="skuNo"></param>
        /// <param name="lotNo"></param>
        /// <returns></returns>
        private string GetLocat(string areaNo,string skuNo,string lotNo,string palletNo,string hasLocatNoList="")
        private string GetLocat(string areaNo, string skuNo, string lotNo, string palletNo, string hasLocatNoList = "")
        {
            try
            {
@@ -1187,7 +1196,7 @@
                var storageLocatList = Db.Queryable<SysStorageLocat>().Where(w => w.WareHouseNo == "W02" && w.AreaNo == areaNo).ToList();
                //同区域同批次物料的储位信息
                List<string> locatList = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.SkuNo == skuNo && w.LotNo == lotNo && w.WareHouseNo == "W02" && w.AreaNo == areaNo && w.PalletNo != palletNo)
                    .OrderByDescending(o=>o.LocatNo).Select(s=>s.LocatNo).Distinct().ToList();
                    .OrderByDescending(o => o.LocatNo).Select(s => s.LocatNo).Distinct().ToList();
                foreach (var item in locatList)
                {
                    var locatInfo = storageLocatList.Where(w => w.LocatNo == item).First();
@@ -1202,7 +1211,7 @@
                if (string.IsNullOrEmpty(endLocat))
                {
                    var locatInfo3 = storageLocatList.Where(w => w.IsDel == "0" && w.Flag == "0" && w.Status == "0" && !hasLocatNoList.Contains(w.LocatNo))
                                .OrderByDescending(m => m.Layer).OrderByDescending(m=>m.Column).OrderByDescending(m=> m.Row).First();
                                .OrderByDescending(m => m.Layer).OrderByDescending(m => m.Column).OrderByDescending(m => m.Row).First();
                    if (locatInfo3 != null)
                    {