1
schangxiang@126.com
2024-12-01 b09ebfb0bc5fc72af0b58bb29764ee89afceff97
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Mes_BatchOrderUPI_NewService.cs
@@ -4,9 +4,6 @@
using System.Data;
using System.Web;
using System.Text;
using Furion.DatabaseAccessor;
using Admin.NET.Application.Service.WmsOrder.Mes_BatchOrderUPI_New.Dto;
namespace Admin.NET.Application;
/// <summary>
/// 批次数据服务
@@ -154,32 +151,27 @@
            var addItem = new Mes_BatchOrderUPI_New();
            #region 定义变量
            var _AreaCode = "";//所在区域
            var _UpiStatus = "";//板料状态
            var _UPI = "";//部件条码
            var _PlanNo = "";//批次号
            var _OrderId = "";//订单号
            var _UPI = "";//部件条码
            var _Info5 = "";//生产单号
            var _AreaCode = "";//所在区域
            var _UpiStatus = "";//板料状态
            var _DetailName = "";//部件名称
            var _Length = "";//长
            var _Width = "";//宽
            var _Thk = "";//厚
            var _Matgrid = "";//部件纹理
            var _IsEB = "";//是否封边
            var _DRNum = "";//打孔设备编号
            var _IsPA = "";//是否优化包装
            var _MaterialIndeX = "";//锯切图号
            var _PackageCode = "";//包装号
            var _MachineXCenter = "";//包装X坐标
            var _MachineYCenter = "";//包装Y坐标
            var _MachineZCenter = "";//包装Z坐标
            var _Sequence = "";//层数
            var _Shelf = "";//次序
            var _Rotation = "";//转向角度
            var _Info1 = "";//纸箱长
            var _Info2 = "";//纸箱宽
            var _Info3 = "";//纸箱高
            var _Info4 = "";//销售合同单号
            var _Info5 = "";//生产单号
            var _Info6 = "";//第几包
            var _Info7 = "";//经销店名称
            var _Info8 = "";//产品名称
@@ -188,39 +180,36 @@
            var _Info11 = "";//自提or发货
            var _Info12 = "";//包装部件总数量
            var _Info13 = "";//包装面积
            var _Info14 = "";//部件名称
                             //var _Info14 = "";//部件名称
            var _Info15 = "";//部件数量
            var _Info16 = "";//部件尺寸
            var _Info17 = "";//机械臂是否旋转
            var _UpiFlag = "";//标记
            #endregion
            #region 取值
            _AreaCode = row["所在区域"]?.ToString();
            _UpiStatus = row["板料状态"]?.ToString();
            _UPI = row["部件条码"]?.ToString();
            _PlanNo = row["批次号"]?.ToString();
            _OrderId = row["订单号"]?.ToString();
            _UPI = row["部件条码"]?.ToString();
            _Info5 = row["生产单号"]?.ToString();
            _AreaCode = row["所在区域"]?.ToString();
            _UpiStatus = row["板料状态"]?.ToString();
            _DetailName = row["部件名称"]?.ToString();
            _Length = row["长"]?.ToString();
            _Width = row["宽"]?.ToString();
            _Thk = row["厚"]?.ToString();
            _Matgrid = row["部件纹理"]?.ToString();
            _IsEB = row["是否封边"]?.ToString();
            _DRNum = row["打孔设备编号"]?.ToString();
            _IsPA = row["是否优化包装"]?.ToString();
            _MaterialIndeX = row["锯切图号"]?.ToString();
            _PackageCode = row["包装号"]?.ToString();
            _MachineXCenter = row["包装X坐标"]?.ToString();
            _MachineYCenter = row["包装Y坐标"]?.ToString();
            _MachineZCenter = row["包装Z坐标"]?.ToString();
            _Sequence = row["层数"]?.ToString();
            _Shelf = row["次序"]?.ToString();
            _Rotation = row["转向角度"]?.ToString();
            _Info1 = row["纸箱长"]?.ToString();
            _Info2 = row["纸箱宽"]?.ToString();
            _Info3 = row["纸箱高"]?.ToString();
            _Info4 = row["销售合同单号"]?.ToString();
            _Info5 = row["生产单号"]?.ToString();
            _Info6 = row["第几包"]?.ToString();
            _Info7 = row["经销店名称"]?.ToString();
            _Info8 = row["产品名称"]?.ToString();
@@ -229,13 +218,49 @@
            _Info11 = row["自提or发货"]?.ToString();
            _Info12 = row["包装部件总数量"]?.ToString();
            _Info13 = row["包装面积"]?.ToString();
            _Info14 = row["部件名称"]?.ToString();
            //_Info14 = row["部件名称"]?.ToString() ;
            _Info15 = row["部件数量"]?.ToString();
            _Info16 = row["部件尺寸"]?.ToString();
            _Info17 = row["机械臂是否旋转"]?.ToString();
            _UpiFlag = row["标记"]?.ToString();
            #endregion
            #region 验证
            if (string.IsNullOrEmpty(_UPI))
            {
                throw Oops.Oh($"第{index}行[部件条码]{_UPI}不能为空!");
            }
            if (!string.IsNullOrEmpty(_UPI))
            {
                addItem.UPI = (string)(_UPI.Trim());
            }
            if (string.IsNullOrEmpty(_PlanNo))
            {
                throw Oops.Oh($"第{index}行[批次号]{_PlanNo}不能为空!");
            }
            if (!string.IsNullOrEmpty(_PlanNo))
            {
                addItem.PlanNo = (string)(_PlanNo.Trim());
            }
            if (string.IsNullOrEmpty(_OrderId))
            {
                throw Oops.Oh($"第{index}行[订单号]{_OrderId}不能为空!");
            }
            if (!string.IsNullOrEmpty(_OrderId))
            {
                addItem.OrderId = (string)(_OrderId.Trim());
            }
            if (!string.IsNullOrEmpty(_Info5))
            {
                addItem.Info5 = (string)(_Info5.Trim());
            }
            if (!string.IsNullOrEmpty(_AreaCode))
            {
                Admin.NET.Application.AreaCodeEnum enumAreaCode = default(Admin.NET.Application.AreaCodeEnum);
@@ -271,36 +296,6 @@
            }
            if (string.IsNullOrEmpty(_PlanNo))
            {
                throw Oops.Oh($"第{index}行[批次号]{_PlanNo}不能为空!");
            }
            if (!string.IsNullOrEmpty(_PlanNo))
            {
                addItem.PlanNo = (string)(_PlanNo.Trim());
            }
            if (string.IsNullOrEmpty(_OrderId))
            {
                throw Oops.Oh($"第{index}行[订单号]{_OrderId}不能为空!");
            }
            if (!string.IsNullOrEmpty(_OrderId))
            {
                addItem.OrderId = (string)(_OrderId.Trim());
            }
            if (string.IsNullOrEmpty(_UPI))
            {
                throw Oops.Oh($"第{index}行[部件条码]{_UPI}不能为空!");
            }
            if (!string.IsNullOrEmpty(_UPI))
            {
                addItem.UPI = (string)(_UPI.Trim());
            }
            if (string.IsNullOrEmpty(_DetailName))
            {
                throw Oops.Oh($"第{index}行[部件名称]{_DetailName}不能为空!");
@@ -316,66 +311,7 @@
                throw Oops.Oh($"第{index}行[长]{_Length}不能为空!");
            }
            //if(!string.IsNullOrEmpty(_Length))
            //{
            //      addItem.Length = (float)(_Length.Trim());
            // }
            //if (string.IsNullOrEmpty(_Width))
            //{
            //  throw Oops.Oh($"第{index}行[宽]{_Width}不能为空!");
            //}
            //if(!string.IsNullOrEmpty(_Width))
            //{
            //      addItem.Width = (float)(_Width.Trim());
            // }
            //if (string.IsNullOrEmpty(_Thk))
            //{
            //  throw Oops.Oh($"第{index}行[厚]{_Thk}不能为空!");
            //}
            //if(!string.IsNullOrEmpty(_Thk))
            //{
            //      addItem.Thk = (float)(_Thk.Trim());
            // }
            if (!string.IsNullOrEmpty(_Matgrid))
            {
                addItem.Matgrid = (string)(_Matgrid.Trim());
            }
            if (!string.IsNullOrEmpty(_IsEB))
            {
                if (!int.TryParse(_IsEB, out int outIsEB) && !string.IsNullOrEmpty(_IsEB))
                {
                    throw Oops.Oh($"第{index}行[是否封边]{_IsEB}值不正确!");
                }
                if (outIsEB <= 0 && !string.IsNullOrEmpty(_IsEB))
                {
                    throw Oops.Oh($"第{index}行[是否封边]{_IsEB}值不能小于等于0!");
                }
                else
                {
                    addItem.IsEB = outIsEB;
                }
            }
            if (!string.IsNullOrEmpty(_DRNum))
            {
                if (!int.TryParse(_DRNum, out int outDRNum) && !string.IsNullOrEmpty(_DRNum))
                {
                    throw Oops.Oh($"第{index}行[打孔设备编号]{_DRNum}值不正确!");
                }
                if (outDRNum <= 0 && !string.IsNullOrEmpty(_DRNum))
                {
                    throw Oops.Oh($"第{index}行[打孔设备编号]{_DRNum}值不能小于等于0!");
                }
                else
                {
                    addItem.DRNum = outDRNum;
                }
            }
            if (!string.IsNullOrEmpty(_IsPA))
            {
                if (!int.TryParse(_IsPA, out int outIsPA) && !string.IsNullOrEmpty(_IsPA))
@@ -389,22 +325,6 @@
                else
                {
                    addItem.IsPA = outIsPA;
                }
            }
            if (!string.IsNullOrEmpty(_MaterialIndeX))
            {
                if (!int.TryParse(_MaterialIndeX, out int outMaterialIndeX) && !string.IsNullOrEmpty(_MaterialIndeX))
                {
                    throw Oops.Oh($"第{index}行[锯切图号]{_MaterialIndeX}值不正确!");
                }
                if (outMaterialIndeX <= 0 && !string.IsNullOrEmpty(_MaterialIndeX))
                {
                    throw Oops.Oh($"第{index}行[锯切图号]{_MaterialIndeX}值不能小于等于0!");
                }
                else
                {
                    addItem.MaterialIndeX = outMaterialIndeX;
                }
            }
@@ -456,10 +376,6 @@
            {
                addItem.Info4 = (string)(_Info4.Trim());
            }
            if (!string.IsNullOrEmpty(_Info5))
            {
                addItem.Info5 = (string)(_Info5.Trim());
            }
            if (!string.IsNullOrEmpty(_Info6))
            {
                addItem.Info6 = (string)(_Info6.Trim());
@@ -492,10 +408,10 @@
            {
                addItem.Info13 = (string)(_Info13.Trim());
            }
            if (!string.IsNullOrEmpty(_Info14))
            {
                addItem.Info14 = (string)(_Info14.Trim());
            }
            //if(!string.IsNullOrEmpty(_Info14))
            //{
            //      addItem.Info14 = (string)(_Info14.Trim());
            // }
            if (!string.IsNullOrEmpty(_Info15))
            {
                if (!int.TryParse(_Info15, out int outInfo15) && !string.IsNullOrEmpty(_Info15))
@@ -515,6 +431,24 @@
            if (!string.IsNullOrEmpty(_Info16))
            {
                addItem.Info16 = (string)(_Info16.Trim());
            }
            if (!string.IsNullOrEmpty(_Info17))
            {
                addItem.Info17 = (string)(_Info17.Trim());
            }
            if (!string.IsNullOrEmpty(_UpiFlag))
            {
                Admin.NET.Application.UpiFlagEnum enumUpiFlag = default(Admin.NET.Application.UpiFlagEnum);
                if (!Enum.TryParse<Admin.NET.Application.UpiFlagEnum>(_UpiFlag, out enumUpiFlag) && !string.IsNullOrEmpty(_UpiFlag))
                {
                    throw Oops.Oh($"第{index}行[标记]{_UpiFlag}值不正确!");
                }
                else
                {
                    addItem.UpiFlag = enumUpiFlag;
                }
            }
            #endregion
@@ -553,14 +487,13 @@
    {
        var query = _rep.AsQueryable()
            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
                u.PlanNo.Contains(input.SearchKey.Trim())
                u.UPI.Contains(input.SearchKey.Trim())
                || u.PlanNo.Contains(input.SearchKey.Trim())
                || u.OrderId.Contains(input.SearchKey.Trim())
                || u.UPI.Contains(input.SearchKey.Trim())
                || u.Info5.Contains(input.SearchKey.Trim())
                || u.DetailName.Contains(input.SearchKey.Trim())
                || u.Matgrid.Contains(input.SearchKey.Trim())
                || u.PackageCode.Contains(input.SearchKey.Trim())
                || u.Info4.Contains(input.SearchKey.Trim())
                || u.Info5.Contains(input.SearchKey.Trim())
                || u.Info6.Contains(input.SearchKey.Trim())
                || u.Info7.Contains(input.SearchKey.Trim())
                || u.Info8.Contains(input.SearchKey.Trim())
@@ -569,27 +502,24 @@
                || u.Info11.Contains(input.SearchKey.Trim())
                || u.Info12.Contains(input.SearchKey.Trim())
                || u.Info13.Contains(input.SearchKey.Trim())
                || u.Info14.Contains(input.SearchKey.Trim())
                //|| u.Info14.Contains(input.SearchKey.Trim())
                || u.Info16.Contains(input.SearchKey.Trim())
                || u.Info17.Contains(input.SearchKey.Trim())
                || u.CreateUserName.Contains(input.SearchKey.Trim())
                || u.UpdateUserName.Contains(input.SearchKey.Trim())
            )
            .WhereIF(input.AreaCode.HasValue, u => u.AreaCode == input.AreaCode)
            .WhereIF(input.UpiStatus.HasValue, u => u.UpiStatus == input.UpiStatus)
            .WhereIF(!string.IsNullOrWhiteSpace(input.UPI), u => u.UPI.Contains(input.UPI.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.UPI), u => u.UPI.Contains(input.UPI.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim()))
            .WhereIF(input.AreaCode.HasValue, u => u.AreaCode == input.AreaCode)
            .WhereIF(input.UpiStatus.HasValue, u => u.UpiStatus == input.UpiStatus)
            .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Matgrid), u => u.Matgrid.Contains(input.Matgrid.Trim()))
            .WhereIF(input.IsEB > 0, u => u.IsEB == input.IsEB)
            .WhereIF(input.DRNum > 0, u => u.DRNum == input.DRNum)
            .WhereIF(input.IsPA > 0, u => u.IsPA == input.IsPA)
            .WhereIF(input.MaterialIndeX > 0, u => u.MaterialIndeX == input.MaterialIndeX)
            .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
            .WhereIF(input.Sequence > 0, u => u.Sequence == input.Sequence)
            .WhereIF(input.Shelf > 0, u => u.Shelf == input.Shelf)
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info4), u => u.Info4.Contains(input.Info4.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info6), u => u.Info6.Contains(input.Info6.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info7), u => u.Info7.Contains(input.Info7.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info8), u => u.Info8.Contains(input.Info8.Trim()))
@@ -598,9 +528,11 @@
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info11), u => u.Info11.Contains(input.Info11.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info12), u => u.Info12.Contains(input.Info12.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info13), u => u.Info13.Contains(input.Info13.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info14), u => u.Info14.Contains(input.Info14.Trim()))
            //.WhereIF(!string.IsNullOrWhiteSpace(input.Info14), u => u.Info14.Contains(input.Info14.Trim()))
            .WhereIF(input.Info15 > 0, u => u.Info15 == input.Info15)
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info16), u => u.Info16.Contains(input.Info16.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.Info17), u => u.Info17.Contains(input.Info17.Trim()))
            .WhereIF(input.UpiFlag.HasValue, u => u.UpiFlag == input.UpiFlag)
            .Select<Mes_BatchOrderUPI_NewOutput>();
        return query;
    }
@@ -648,7 +580,6 @@
    }
    #endregion
}