222
schangxiang@126.com
2024-11-27 59e703685d36818247da3fcd101ca72e691d86de
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 = "";//产品名称
@@ -191,36 +183,32 @@
            var _Info14 = "";//部件名称
            var _Info15 = "";//部件数量
            var _Info16 = "";//部件尺寸
                           var _Info17 = "";//机械臂是否旋转
            #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();
@@ -232,10 +220,45 @@
            _Info14 = row["部件名称"]?.ToString();
            _Info15 = row["部件数量"]?.ToString();
            _Info16 = row["部件尺寸"]?.ToString();
                           _Info17 = 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 +294,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 +309,13 @@
                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))
                          if (string.IsNullOrEmpty(_Thk))
            {
                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;
                            throw Oops.Oh($"第{index}行[厚]{_Thk}不能为空!");
                }
            }
            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 +329,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;
                }
            }
@@ -452,18 +376,6 @@
            }
            if (!string.IsNullOrEmpty(_Info4))
            {
                addItem.Info4 = (string)(_Info4.Trim());
            }
            if (!string.IsNullOrEmpty(_Info5))
            {
                addItem.Info5 = (string)(_Info5.Trim());
            }
            if (!string.IsNullOrEmpty(_Info6))
            {
                addItem.Info6 = (string)(_Info6.Trim());
            }
            if (!string.IsNullOrEmpty(_Info7))
            {
                addItem.Info7 = (string)(_Info7.Trim());
@@ -516,6 +428,10 @@
            {
                addItem.Info16 = (string)(_Info16.Trim());
            }
                          if(!string.IsNullOrEmpty(_Info17))
                          {
                                addItem.Info17 = (string)(_Info17.Trim());
                           }
            #endregion
@@ -553,14 +469,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())
@@ -571,25 +486,22 @@
                || u.Info13.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()))
@@ -601,6 +513,7 @@
            .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()))
            .Select<Mes_BatchOrderUPI_NewOutput>();
        return query;
    }
@@ -648,7 +561,6 @@
    }
    #endregion
}