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))
@@ -392,22 +332,6 @@
                              }
                          
                          }
                          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;
                              }
                          }
                          
                          if (string.IsNullOrEmpty(_PackageCode))
                          {
@@ -418,7 +342,7 @@
                          {
                                addItem.PackageCode = (string)(_PackageCode.Trim());
                           }
                          if(!string.IsNullOrEmpty(_Sequence))
                          {
                              if (!int.TryParse(_Sequence, out int outSequence)&&!string.IsNullOrEmpty(_Sequence))
@@ -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;
       }
@@ -647,26 +560,7 @@
           
           
        }
    #endregion
    [HttpPost]
    [ApiDescriptionSettings(Name = "GetBatchOrderUPIList")]
    [UnitOfWork]
    [AllowAnonymous]
    public async Task GetBatchOrderUPIList(List<GetBatchOrderUPIInput> input)
    {
        List<Mes_BatchOrderUPI_New> list = new List<Mes_BatchOrderUPI_New>();
        foreach (var item in input)
        {
            Mes_BatchOrderUPI_New task = new Mes_BatchOrderUPI_New();
            task = item.Adapt<Mes_BatchOrderUPI_New>();
            task.AreaCode = AreaCodeEnum.无区域;
            task.UpiStatus = UpiStatusEnum.初始;
            list.Add(task);
        }
        await _rep.InsertRangeAsync(list);
    }
     #endregion
}