zhaowc
2025-02-28 157abc191c34e57c1b958ae74fc3de6518ca8a30
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -16,6 +16,9 @@
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
using ZXing;
using Model.ModelDto.BllCheckDto;
using WMS.Entity.BllCheckEntity;
using System.Data.SqlTypes;
namespace WMS.BLL.BllAsnServer
{
@@ -424,7 +427,9 @@
                var data = GetAllWhereAsync(item)
                    .LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
                    .LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
                    .Select((a, b, c) => new BoxInfoDto()
                    .LeftJoin<SysMaterials>((a, b, c,d) => a.SkuNo == d.SkuNo)
                    .LeftJoin<SysUnit>((a, b, c, d,e) => d.UnitNo == e.UnitNo)
                    .Select((a, b, c,d,e) => new BoxInfoDto()
                    {
                        Id = a.Id,
                        ASNNo = a.ASNNo,
@@ -442,6 +447,8 @@
                        LotNo = a.LotNo,
                        LotText = a.LotText,
                        unit =  e.UnitName,
                        
                        Status = a.Status,
                        SupplierLot = a.SupplierLot,
@@ -522,6 +529,7 @@
                data.Standard = asnDetail.Standard;
                data.SupplierLot = asnDetail.SupplierLot;
                data.PackageStandard = str;
                data.SupplierLot = asnDetail.SupplierLot;
                return data;
            }
            catch (Exception e)
@@ -572,10 +580,10 @@
                {
                    throw new Exception("未查询到单据明细信息");
                }
                if (asnList.LotNo.Length != 10)
                {
                    throw new Exception("单据进厂编号位数长度错误");
                }
                //if (asnList.LotNo.Length != 10 && asnList.LotNo.Length != 11 && asnList.LotNo.Length != 12)
                //{
                //    throw new Exception("单据进厂编号位数长度错误");
                //}
                var asn = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == asnList.ASNNo && m.IsDel == "0");
                if (asn == null)
                {
@@ -739,7 +747,7 @@
                            var timeStr = toDayTime.Substring(2, 6);
                            if (lotStr == timeStr)
                            {
                                maxLotNoStr = toDayTime.Substring(2, 6) + (int.Parse(maxCode.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
                                maxLotNoStr = toDayTime.Substring(2, 6) + (int.Parse(maxCode.Substring(maxCode.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
                            }
                            else
                            {
@@ -783,7 +791,7 @@
                        }
                        else
                        {
                            maxBoxCode = maxBoxCode.Substring(0, 11) + (int.Parse(maxBoxCode.Substring(11, 6)) + 1).ToString().PadLeft(6, '0');
                            maxBoxCode = maxBoxCode.Substring(0, maxBoxCode.Length - 6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0');
                        } 
                        
                        // 将条码保存到原料条码表
@@ -956,7 +964,7 @@
                        }
                        else
                        {
                            maxboxcode2 = maxboxcode2.Substring(0, 11) + (int.Parse(maxboxcode2.Substring(11, 6)) + 1).ToString().PadLeft(6, '0');
                            maxboxcode2 = maxboxcode2.Substring(0, maxboxcode2.Length - 6) + (int.Parse(maxboxcode2.Substring(maxboxcode2.Length-6, 6)) + 1).ToString().PadLeft(6, '0');
                        }
                        //获取箱内支标签数量
                        if (i == labelNum2)
@@ -1000,7 +1008,7 @@
                            }
                            else
                            {
                                maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0');
                                maxboxcode3 = maxboxcode3.Substring(0, maxboxcode3.Length - 4) + (int.Parse(maxboxcode3.Substring(maxboxcode3.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
                            }
                            //var ssss = d.ToString("0");
@@ -1087,6 +1095,8 @@
                //List<WmsLabelPrintLog> printlog = new List<WmsLabelPrintLog>();
                //标签表数据信息
                var list = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Origin == "WMS生成").ToList();
                #region MyRegion
@@ -1107,6 +1117,9 @@
                            {
                                throw new Exception($"未查询到{boxNo}信息");
                            }
                            //单位
                            var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
                            var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault() ;
                            // 物料条码信息赋值
                            BoxInfoDto model = new BoxInfoDto();
                            model.SkuNo = data.SkuNo;
@@ -1120,6 +1133,7 @@
                            model.StoreTime = data.StoreTime;                     // 储存期至 
                            model.Qty = dataList.Sum(m=>m.Qty);// 数量
                            model.unit = unitname.unit;
                            model.BoxNo = data.BoxNo;                 // 箱号     
@@ -1162,6 +1176,9 @@
                                {
                                    throw new Exception($"未查询到{item}信息");
                                }
                                //单位
                                var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
                                var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                // 物料条码信息赋值
                                BoxInfoDto model = new BoxInfoDto();
                                model.SkuNo = data.SkuNo;
@@ -1175,6 +1192,7 @@
                                model.StoreTime = data.StoreTime;                     // 储存期至 
                                model.Qty = data1.Sum(m => m.Qty);// 数量
                                model.unit = unitname.unit;
                                model.BoxNo = data.BoxNo;                 // 箱号     
@@ -1214,6 +1232,9 @@
                            {
                                throw new Exception($"未查询到{boxNo2}信息");
                            }
                            //单位
                            var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
                            var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                            // 物料条码信息赋值
                            BoxInfoDto model = new BoxInfoDto();
                            model.SkuNo = data.SkuNo;
@@ -1227,6 +1248,7 @@
                            model.StoreTime = data.StoreTime;                     // 储存期至 
                            model.Qty = data.Qty;// 数量
                            model.unit = unitname.unit;
                            model.BoxNo = data.BoxNo3;                 // 支号     
@@ -1266,6 +1288,9 @@
                            var i = 0;
                            foreach (var data in data2)
                            {
                                //单位
                                var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
                                var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                // 物料条码信息赋值
                                BoxInfoDto model = new BoxInfoDto();
                                model.SkuNo = data.SkuNo;
@@ -1279,6 +1304,7 @@
                                model.StoreTime = data.StoreTime;                     // 储存期至 
                                model.Qty = data.Qty;// 数量
                                model.unit = unitname.unit;
                                model.BoxNo = data.BoxNo3;                 // 箱号     
@@ -1330,8 +1356,10 @@
                                    {
                                        throw new Exception($"当前支码不是箱码内");
                                    }
                                    //单位
                                    var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
                                    var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                    // 物料条码信息赋值 箱码
                                    BoxInfoDto model1 = new BoxInfoDto();
                                    model1.SkuNo = data.SkuNo;
@@ -1344,6 +1372,7 @@
                                    model1.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                    model1.StoreTime = data.StoreTime;                     // 储存期至 
                                    model1.Qty = dataList.Sum(m=>m.Qty);// 数量
                                    model1.unit = unitname.unit;
                                    model1.BoxNo = data.BoxNo;                 // 箱号     
                                    model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1363,6 +1392,7 @@
                                    model.ExpirationTime = data.ExpirationTime;                  // 有效期至
                                    model.StoreTime = data.StoreTime;                     // 储存期至 
                                    model.Qty = data.Qty;// 数量
                                    model.unit = unitname.unit;
                                    model.BoxNo = data.BoxNo3;                 // 支号     
                                    model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1398,6 +1428,9 @@
                                    var data = list.Where(m => m.BoxNo == boxNo);
                                    var boxData = data2.FirstOrDefault();
                                    //单位
                                    var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
                                    var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                    // 物料条码信息赋值
                                    BoxInfoDto model = new BoxInfoDto();
                                    model.SkuNo = boxData.SkuNo;
@@ -1410,6 +1443,7 @@
                                    model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                    model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                    model.Qty = data.Sum(m => m.Qty);     // 数量
                                    model.unit = unitname.unit;
                                    model.BoxNo = boxData.BoxNo;                 // 支号     
                                    model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1420,6 +1454,9 @@
                                    var i = 0;
                                    foreach (var item in data2)
                                    {
                                        //单位
                                        sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
                                        unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                        // 物料条码信息赋值
                                        BoxInfoDto model1 = new BoxInfoDto();
                                        model1.SkuNo = item.SkuNo;
@@ -1432,6 +1469,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model1.Qty = item.Qty;// 数量
                                        model1.unit = unitname.unit;
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
                                        model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1466,6 +1504,9 @@
                                {
                                    throw new Exception($"未查询到{boxNo}箱码信息");
                                }
                                //单位
                                var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
                                var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                // 物料条码信息赋值
                                BoxInfoDto model = new BoxInfoDto();
                                model.SkuNo = boxData.SkuNo;
@@ -1478,6 +1519,7 @@
                                model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                model.Qty = data.Sum(m => m.Qty);     // 数量
                                model.unit = unitname.unit;
                                model.BoxNo = boxData.BoxNo;                 // 支号     
                                model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1490,6 +1532,9 @@
                                    var i = 0;
                                    foreach (var item in data)
                                    {
                                        //单位
                                        sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
                                        unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                        // 物料条码信息赋值
                                        BoxInfoDto model1 = new BoxInfoDto();
                                        model1.SkuNo = item.SkuNo;
@@ -1502,6 +1547,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model1.Qty = item.Qty;     // 数量
                                        model1.unit = unitname.unit;
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
                                        model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1558,6 +1604,9 @@
                                {
                                    throw new Exception($"未查询到{demo}箱码信息");
                                }
                                //单位
                                var sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
                                var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                // 物料条码信息赋值
                                BoxInfoDto model = new BoxInfoDto();
                                model.SkuNo = boxData.SkuNo;
@@ -1570,6 +1619,7 @@
                                model.ExpirationTime = boxData.ExpirationTime;                  // 有效期至
                                model.StoreTime = boxData.StoreTime;                     // 储存期至 
                                model.Qty = data.Sum(m => m.Qty);     // 数量
                                model.unit = unitname.unit;
                                model.BoxNo = boxData.BoxNo;                 // 支号     
                                model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1586,6 +1636,9 @@
                                {
                                    foreach (var item in data.OrderBy(m => m.BoxNo3).ToList())
                                    {
                                        //单位
                                        sqlString = "select a.UnitName as unit from  SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
                                        unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
                                        // 物料条码信息赋值
                                        BoxInfoDto model1 = new BoxInfoDto();
                                        model1.SkuNo = item.SkuNo;
@@ -1598,6 +1651,7 @@
                                        model1.ExpirationTime = item.ExpirationTime;                  // 有效期至
                                        model1.StoreTime = item.StoreTime;                     // 储存期至 
                                        model1.Qty = item.Qty;// 数量
                                        model1.unit = unitname.unit;
                                        model1.BoxNo = item.BoxNo3;                 // 支号     
                                        model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1630,6 +1684,8 @@
                }
                #endregion
                return printModelList;
            }