admin
2 天以前 24eaa29a52b8c050fc391eafd0b0cc370733cf91
Wms/WMS.BLL/DataServer/StockDetailServer.cs
@@ -6,6 +6,7 @@
using SqlSugar;
using WMS.BLL.LogServer;
using WMS.DAL;
using WMS.Entity.BllAsnEntity;
using WMS.Entity.BllQualityEntity;
using WMS.Entity.Context;
using WMS.Entity.DataEntity;
@@ -13,11 +14,11 @@
namespace WMS.BLL.DataServer
{
    public class StockDetailServer:DbHelper<DataStockDetail>,IStockDetailServer
    public class StockDetailServer : DbHelper<DataStockDetail>, IStockDetailServer
    {
        private static readonly SqlSugarScope Db = DataContext.Db;
        public StockDetailServer():base(Db)
        public StockDetailServer() : base(Db)
        {
        }
@@ -37,17 +38,14 @@
        /// <param name="bitBoxMark">零箱标记</param>
        /// <param name="inspectStatus">质量状态</param>
        /// <returns></returns>
        public List<StockDetailDto> GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status,
            string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName,
            string startTime, string endTime, string WareHouseNo, string AreaNo)
        public List<StockDetailDto> GetBindList(string skuNo, string skuName, string palletNo, string lotNo, string boxNo, string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus, string ownerNo, string ownerName, string startTime, string endTime, string WareHouseNo, string AreaNo)
        {
            string str = "select detail.*,house.WareHouseNo + '-' + house.WareHouseName as WareHouseName,roadway.RoadwayNo + '-' + roadway.RoadwayName as RoadwayName," +
                "area.AreaNo + '-' + area.AreaName as AreaName " +
                "from DataStockDetail detail " +
                "left join SysStorageRoadway roadway on detail.RoadwayNo = roadway.RoadwayNo " +
                "left join SysWareHouse house on detail.WareHouseNo = house.WareHouseNo " +
                "left join SysStorageArea area on detail.AreaNo = area.AreaNo " +
                "where detail.IsDel = @isdel";
            string str = $@"select detail.*,house.WareHouseNo+'-'+house.WareHouseName as WareHouseName,roadway.RoadwayNo+'-'+roadway.RoadwayName as RoadwayName,area.AreaNo+'-'+area.AreaName as AreaName
from DataStockDetail detail
left join SysStorageRoadway roadway on detail.RoadwayNo=roadway.RoadwayNo
left join SysWareHouse house on detail.WareHouseNo=house.WareHouseNo
left join SysStorageArea area on detail.AreaNo=area.AreaNo
where detail.IsDel=@isdel";
            //判断物料号是否为空
            if (!string.IsNullOrEmpty(skuNo))
            {
@@ -71,7 +69,7 @@
            //判断零托标记是否为空
            if (!string.IsNullOrEmpty(bitPalletMark))
            {
                str += " and detail.BitPalletMark = @bitpalletmark";
                str += " and detail.BitPalletMark=@bitpalletmark";
            }
            //判断货主编码是否为空
            if (!string.IsNullOrEmpty(ownerNo))
@@ -85,29 +83,30 @@
            }
            if (!string.IsNullOrEmpty(startTime))
            {
                str += $" and detail.CompleteTime >= '{startTime}'";
                str += $" and detail.CompleteTime>='{startTime}'";
            }
            if (!string.IsNullOrEmpty(endTime))
            {
                endTime = Convert.ToDateTime(endTime).AddDays(1).ToString();
                str += $" and detail.CompleteTime < '{endTime}'";
                str += $" and detail.CompleteTime<'{endTime}'";
            }
            if (!string.IsNullOrEmpty(WareHouseNo))
            {
                str += $" and detail.WareHouseNo = '{WareHouseNo}'";
            }
            //重复条件
            //if (!string.IsNullOrEmpty(WareHouseNo))
            //{
            //    str += $" and detail.WareHouseNo = '{WareHouseNo}'";
            //}
            if (!string.IsNullOrEmpty(WareHouseNo))
            {
                str += $" and detail.WareHouseNo = '{WareHouseNo}'";
                str += $" and detail.WareHouseNo='{WareHouseNo}'";
            }
            if (!string.IsNullOrEmpty(AreaNo))
            {
                str += $" and detail.AreaNo = '{AreaNo}'";
                str += $" and detail.AreaNo='{AreaNo}'";
            }
            int i = 0;
            //在箱码明细中获取相应数据
            string boxstr = "select StockDetailId from DataBoxInfo Where IsDel = @isdel";
            string boxstr = "select StockDetailId from DataBoxInfo Where IsDel=@isdel";
            //判断箱码是否为空
            if (!string.IsNullOrEmpty(boxNo))
            {
@@ -117,27 +116,27 @@
            //判断箱支状态是否为空
            if (!string.IsNullOrEmpty(status))
            {
                boxstr += " and Status = @status";
                boxstr += " and Status=@status";
                i = 1;
            }
            //判断检验标记是否为空
            if (!string.IsNullOrEmpty(inspectMark))
            {
                boxstr += " and InspectMark = @inspectmark";
                str += " and detail.InspectMark = @inspectmark";
                boxstr += " and InspectMark=@inspectmark";
                str += " and detail.InspectMark=@inspectmark";
                i = 1;
            }
            //判断零箱标记是否为空
            if (!string.IsNullOrEmpty(bitBoxMark))
            {
                boxstr += " and BitBoxMark = @bitboxmark";
                boxstr += " and BitBoxMark=@bitboxmark";
                i = 1;
            }
            //判断质量状态是否为空
            if (!string.IsNullOrEmpty(inspectStatus))
            {
                boxstr += " and InspectStatus = @inspectstatus";
                str += " and detail.InspectStatus = @inspectstatus";
                boxstr += " and InspectStatus=@inspectstatus";
                str += " and detail.InspectStatus=@inspectstatus";
                i = 1;
            }
            //将箱码数据进行排序
@@ -173,11 +172,11 @@
                }
                if (!string.IsNullOrEmpty(arr))
                {
                    str += $" and Id in ({arr})";
                    str += $" and detail.Id in ({arr})";
                }
                else
                {
                    str += " and Id = ''";
                    str += " and detail.Id=''";
                }
            }
@@ -200,7 +199,38 @@
            return boxInforList;
        }
        /// <summary>
        /// 托盘明细备注
        /// </summary>
        /// <param name="id"></param>
        /// <param name="demo"></param>
        /// <param name="userId"></param>
        /// <exception cref="Exception"></exception>
        public void EditStockDetailDemo(int id, string demo, int userId)
        {
            try
            {
                var detail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.Id == id);
                if (detail == null)
                {
                    throw new Exception("未查询到库存明细信息");
                }
                detail.Demo = demo + "".Trim();
                detail.UpdateUser = userId;
                detail.UpdateTime = DateTime.Now;
                int i = Db.Updateable(detail).ExecuteCommand();
                if (i > 0)
                {
                    //添加操作日志
                    new OperationASNServer().AddLogOperationAsn("库存统计", "托盘明细", detail.PalletNo, "编辑", $"编辑了托盘号为{detail.PalletNo}的备注信息", userId);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        #endregion
@@ -219,7 +249,7 @@
        /// <param name="bitBoxMark">零箱标记</param>
        /// <param name="inspectStatus">质量状态</param>
        /// <returns></returns>
        public List<DataStockDetail> GetBindListDaoChu(string skuNo, string skuName, string palletNo, string lotNo, string boxNo,
        public List<DataStockDetail> GetBindListDaoChu(string skuNo, string skuName, string palletNo, string lotNo, string boxNo,
            string status, string inspectMark, string bitPalletMark, string bitBoxMark, string inspectStatus)
        {
            string str = "select Id,LotNo,LotText,SupplierLot,SkuNo,SkuName,Qty,LockQty,FrozenQty,AreaNo,LocatNo,PalletNo,PalletNo2," +