chengsc
2025-02-28 f9a9a948cd138ad0877c54319857c327c0c0c402
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -119,6 +119,7 @@
                     Status = tb1.Status,
                     AsnType = tb2.Type,
                     AsnStatus = tb2.Status,
                     IsPasteCode = tb5.IsPasteCode,
                     Lot1 = tb1.Lot1,
                     Lot2 = tb1.Lot2,
                     UDF1 = tb1.UDF1,
@@ -149,7 +150,10 @@
                var labelQty = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == id).Sum(m => m.Qty + (m.SamplingQty == null? 0: m.SamplingQty));
                var qty = detail.Qty - labelQty;
                if (qty<0)
                {
                    qty = 0;
                }
                return qty.ToString();
            }
            catch (Exception e)
@@ -249,11 +253,11 @@
            string strMessage = "";
            /** model.type (单据类型)
            * 成品入库     0
            * 成品入库   0
            * 采购入库    1
            * 中间品不贴   2
            * 退货入库      3
            * 退货入库   3
            * 余料退回入库   4
            * 生产退料入库   8
            */
            var TypeLot = "1, 5, 6, 7";         //批次可为空单据类型
@@ -311,7 +315,7 @@
                            continue;
                        }
                        if (model.Type == "1" || model.Type == "5" || model.Type == "6" || model.Type == "7")
                        if ( model.Type == "5" || model.Type == "6" || model.Type == "7")
                        {
                            if (!string.IsNullOrWhiteSpace(detailModel.LotNo))
                            {
@@ -343,7 +347,7 @@
                                detailModel.LotNo = maxLotNo;
                            }
                        }
                        if (model.Type == "0" || model.Type == "2" || model.Type == "3" || model.Type == "4")
                        if (model.Type == "0" || model.Type == "1" || model.Type == "2" || model.Type == "3" || model.Type == "4" && model.Type == "8")
                        {
                            if (string.IsNullOrWhiteSpace(detailModel.LotNo))
                            {
@@ -446,12 +450,12 @@
                lock (AsnLock)
                {
                    //判断是否为采购入库单据或车间余料退回入库
                    // 0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料退回入库 5:其它入库 6:代储入库 7:寄存入库
                    // 0:成品入库 1:采购入库 2:中间品入库 3:退货入库 4:车间余料退回入库 5:其它入库 6:代储入库 7:寄存入库 8 生产退料入库
                    //0、2、3、4 批次不能为空
                    //1、添加必须为空、编辑不可为空,不能更改
                    //5、6 批次可为空可不为空
                    //7 必须为空
                    var TypeLot = "1, 5, 6, 7"; //批次为生成批次单据类型
                    var TypeLot = " 5, 6, 7"; //批次为生成批次单据类型
                    
                    var asnInfo = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == model.ASNNo && m.IsDel == "0");
                    if (asnInfo == null) 
@@ -577,11 +581,11 @@
                        if (detailModel.Id == 0 || detailModel.Id == null)
                        {
                            if (model.Type == "1")
                            {
                                strMessage = "-1:采购入库不可更改明细,只可编辑数量;";
                                return strMessage;
                            }
                            //if (model.Type == "1")
                            //{
                            //    strMessage = "-1:采购入库不可更改明细,只可编辑数量;";
                            //    return strMessage;
                            //}
                            // 计算出总金额
                            detailModel.Money = detailModel.Price * detailModel.Qty;
@@ -787,7 +791,7 @@
                    return "-1:入库单状态已变更,不可删除!";
                }
                if (asnModel.Origin != "录入" && asnModel.Origin != "采购单")
                if (asnModel.Origin != "录入" )//&& asnModel.Origin != "采购单"
                {
                    return "-1:上游系统下发的单据,不可删除;";
@@ -818,10 +822,17 @@
                asnDetail.UpdateTime = editDateTime;
                asnDetail.UpdateUser = model.CreateUser;
                //生成的标签
                var boxList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == asnDetail.Id && m.Origin == "WMS生成").ToList();
                Db.Ado.BeginTran();
                int rowCount = Db.Updateable(asnModel).ExecuteCommand();
                rowCount += Db.Updateable(asnDetail).ExecuteCommand();
                if (boxList.Count>0)
                {
                    rowCount += Db.Deleteable(boxList).ExecuteCommand();
                }
                if (rowCount < 2)
                {
                    Db.RollbackTran();