yuyou_x
2024-03-15 6d2552b84275884e2dfd9e39f8c550642e1cb568
Merge branch 'yyk'
2个文件已修改
91 ■■■■■ 已修改文件
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Wms/WMS.BLL/BllAsnServer/PalletBindServer.cs
@@ -1603,7 +1603,7 @@
                            }
                            //获取该批次最终质检结果
                            //var quality = Db.Queryable<BllQualityInspect>().Where(a => a.LotNo == noticeDetail.LotNo && a.IsDel == "0").OrderByDescending(a => a.CreateTime).ToList();
                            var quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.ASNNo == noticeDetail.ASNNo && a.LotNo == noticeDetail.LotNo).OrderByDescending(a => a.CreateTime).First();
                            #region 库存明细
                            var sd = new DataStockDetail()
                            {
@@ -1655,23 +1655,23 @@
                                sd.SupplierName = notice.CustomerName;//供应商名称
                            }
                            //if (quality.Count() > 0)
                            //{
                            //    //修改合格不合格数量
                            //    if (quality[0].IsQualified == "1") //合格
                            //    {
                            //        //增加合格数量
                            //        quality[0].PassQty += item.Qty;
                            //        sd.InspectStatus = "1";
                            //    }
                            //    else if (quality[0].IsQualified == "0") //不合格
                            //    {
                            //        //增加不合格数量
                            //        quality[0].FailQty += item.Qty;
                            //        sd.InspectStatus = "2";
                            //    }
                            //    Db.Updateable(quality[0]).ExecuteCommand(); //修改质检信息
                            //}
                            if (quality != null)
                            {
                                //修改合格不合格数量
                                if (quality.IsQualified == "1") //合格
                                {
                                    //增加合格数量
                                    quality.PassQty += item.Qty;
                                    sd.InspectStatus = "1";
                                }
                                else if (quality.IsQualified == "0") //不合格
                                {
                                    //增加不合格数量
                                    quality.FailQty += item.Qty;
                                    sd.InspectStatus = "2";
                                }
                                Db.Updateable(quality).ExecuteCommand(); //修改质检信息
                            }
                            var sdId = Db.Insertable(sd).ExecuteReturnIdentity(); //新增库存明细信息
Wms/WMS.BLL/BllQualityServer/QualityInspectServer.cs
@@ -62,7 +62,7 @@
            {
                isdel = "0", //是否删除
                asnno = model.ASNNo, //入库单号
                skuno = "%" + model.SkuNo+ "%", //物料号
                skuno = "%" + model.SkuNo + "%", //物料号
                skuname = "%" + model.SkuName + "%", //物料名称
                lotno = model.LotNo, //批次号
                isqualified = model.IsQualified //是否合格
@@ -78,39 +78,60 @@
        /// <returns></returns>
        public int InsertQuality(BllQualityInspect model)
        {
            //创建质检信息 需要 质检号、入库单号、物料号、批次号、是否合格
            //string str = "insert into BllQualityInspect values(@inspectno,@asnno,@lotno,@supplierlot,@skuno,@skuname,,@standard,@passqty,@failqty,@origin,@inspecttime,@isout,@isqualified,@isdel,@createtime,@createuser,@updatetime,@updateuser);";
            //验证质检号是否为空
            if (string.IsNullOrEmpty(model.InspectNo))
            {
                throw new Exception("质检号不可为空,请核查!");
            }
            //验证入库单号是否为空
            if (string.IsNullOrEmpty(model.ASNNo))
            {
                throw new Exception("入库单号不可为空,请核查!");
            }
            //验证物料号是否为空
            if (string.IsNullOrEmpty(model.SkuNo))
            {
                throw new Exception("物料号不可为空,请核查!");
            }
            //验证批次号是否为空
            if (string.IsNullOrEmpty(model.LotNo))
            {
                throw new Exception("批次号不可为空,请核查!");
            }
            //查找质检信息中是否存在同批次质检录入记录
            //BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.LotNo == model.LotNo && m.IsDel == "0");
            //if (quality != null)
            //{
            //    throw new Exception("当前批次已进行质检,请核查!");
            //}
            BllQualityInspect quality = Db.Queryable<BllQualityInspect>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo);
            if (quality != null)
            {
                throw new Exception("当前批次已进行质检,请核查!");
            }
            //查找同批次 同单据 入库单信息、
            BllArrivalNoticeDetail arrival = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.LotNo == model.LotNo && m.IsDel == "0");
            BllArrivalNoticeDetail arrivalDetail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.LotNo == model.LotNo);
            model.Origin = "WMS"; //来源
            model.CreateTime = Db.GetDate(); //创建日期
            model.SkuNo = arrival.SkuNo; //物料号
            model.SkuName = arrival.SkuName; //物料名称
            //model.ASNNo = arrival.ASNNo; //入库单号
            model.SkuNo = arrivalDetail.SkuNo; //物料号
            model.SkuName = arrivalDetail.SkuName; //物料名称
            model.PassQty = 0; //合格数量
            model.FailQty = 0; //不合格数量
            model.Standard = arrival.Standard; //规格
            model.SupplierLot = arrival.SupplierLot; //供货批次
            model.Standard = arrivalDetail.Standard; //规格
            model.SupplierLot = arrivalDetail.SupplierLot; //供货批次
            //查找库存明细信息
            List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.SkuNo == model.SkuNo && m.LotNo == model.LotNo && m.IsDel == "0").ToList();
            List<DataStockDetail> detail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.ASNNo == model.ASNNo && m.SkuNo == model.SkuNo && m.LotNo == model.LotNo).ToList();
            foreach (var item in detail)
            {
                List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.SkuNo == model.SkuNo && a.LotNo == model.LotNo &&  a.IsDel == "0").ToList();
                List<BllBoxInfo> box = Db.Queryable<BllBoxInfo>().Where(a => a.IsDel == "0" && a.ASNNo == model.ASNNo && a.SkuNo == model.SkuNo && a.LotNo == model.LotNo).ToList();
                //判断合格状态是否合格
                if (model.IsQualified == "1")
                {
                    //合格 相同批次库存信息全部改为合格状态 且合格数量增加为同批次同单号该物料全部数量之和
                    //不合格数量为0
                    model.FailQty = 0;
                    model.PassQty += item.Qty;
                    //修改库存明细合格状态
                    item.InspectStatus = "1"; //1合格
@@ -122,8 +143,6 @@
                else //不合格
                {
                    //不合格 相同批次、入库单库存信息全部改为不合格物料 且不合格数量增加为同批次同单号该物料全部数量之和
                    //合格数量为0
                    model.PassQty = 0;
                    model.FailQty += item.Qty;
                    item.InspectStatus = "2"; //2不合格
                    foreach (var b1 in box)