chengsc
2024-10-14 b31f32fbfb25c77567e3853e05ca114dd2a00fbe
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -30,16 +30,33 @@
        private static readonly SqlSugarScope Db = DataContext.Db;
        // 获取单据列表
        public List<ArrivalNoticeDto> GetArrivalNotices(ArrivalNoticeVm model)
        public List<string> GetArrivalNotices(ArrivalNoticeVm model)
        {
            string sqlString = string.Empty;
            try
            {
                // 未关单的单据
                sqlString = $"select * from BllArrivalNotice where Type in ({model.Type}) and Status != '3' and Status != '4'  and IsDel='0' order by CreateTime;";
                var modelList = Db.Ado.SqlQuery<ArrivalNoticeDto>(sqlString);
                //sqlString = $"select * from BllArrivalNotice where Type in ({model.Type}) and Status != '3' and Status != '4'  and IsDel='0' order by CreateTime;";
                //var modelList = Db.Ado.SqlQuery<ArrivalNoticeDto>(sqlString);
                return modelList;
                //model.Type:单据类型 在这里代表前端页签类型:即标签页签:贴标物料; 数量页签:不贴表物料,原因:懒得加参数
                var data = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && m.Status != "3" && m.Status != "4").Select(m=>m.ASNNo).ToList();
                var list = new List<string>();
                if (model.Type == "0")//0贴标
                {
                    list = Db.Queryable<BllArrivalNoticeDetail>().Where(m =>m.IsDel == "0" && data.Contains(m.ASNNo) && !string.IsNullOrWhiteSpace(m.PackagNo)).Select(m => m.ASNNo).Distinct().ToList();
                }
                else if(model.Type == "1")//1不贴标
                {
                    list = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && data.Contains(m.ASNNo) && string.IsNullOrWhiteSpace(m.PackagNo)).Select(m=>m.ASNNo).Distinct().ToList();
                }
                else
                {
                    throw new Exception("页签类型参数错误");
                }
                return list;
            }
            catch (Exception ex)
            {
@@ -1800,12 +1817,19 @@
                {
                    throw new Exception("请扫描外箱条码!");
                }
                var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
                if (count == 0)
                if (!string.IsNullOrWhiteSpace(model.ASNNo))
                {
                    GetBoxInfoByFuMa(model.BoxNo, ""); //从赋码系统获取箱码信息
                    var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo);
                    if (asnData != null && (asnData.Type == "0" || asnData.Type == "3"))
                    {
                        var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo);
                        if (count == 0)
                        {
                            GetBoxInfoByFuMa(model.BoxNo, ""); //从赋码系统获取箱码信息
                        }
                    }
                }
                string sqlString = $@"SELECT 
                                        ASNNo,
                                        BoxNo, 
@@ -1819,7 +1843,7 @@
                                        AND BoxNo = '{model.BoxNo}'
                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; ";
                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
                if (models == null)
                if (models.Count == 0)
                {
                    throw new Exception("箱码信息不存在!");
                }
@@ -2512,7 +2536,7 @@
                            PackagNo = sku.PackagNo,
                            IsBale = bindInfo.IsBale,
                            IsBelt = bindInfo.IsBelt,
                            Demo = bindInfo.Demo,
                            CreateUser = (int)model.CreateUser,
                            CreateTime = serverTime
                        };