服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
15 小时以前 a960900364d19bbf0ad7923a57989609e7fce798
Tiger.Business.WMS/Transaction/Yada/In_BIZ_U9_RECEIPT.cs
@@ -163,12 +163,12 @@
                    if (!inv.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty() && inv.ItemInfo.DEFAULT_LOCATION != CurScanShelf.LocationCode)
                    {
                       action.IsSuccessed = false;
                       //action.LocaleMsg = Biz.L("物料[{0}]只允许上架到储位[{0}],请重新扫描储位");
                       //action.LocaleMsg = Biz.L("物料[{0}]只允许上架到储位[{1}],请重新扫描储位");
                       action.LocaleMsg = Biz.L("WMS.Default.ScanItem.DefaultLocationError", inv.ItemInfo.ITEM_CODE, inv.ItemInfo.DEFAULT_LOCATION);
                       return SetOutPutMqttMsg(action, input.Locale);
                    }
                    //判断当前条码是否属于当前收货单
                    if (CurInvItem.Items.First().TRANS_NO != CurOrder.ORDER_NO)
                    if (inv.Items.First().TRANS_NO != CurOrder.ORDER_NO)
                    {
                        action.IsSuccessed = false;
                        //action.LocaleMsg = Biz.L("条码所属的单据[{0}]不是选择的收货单[{1}],请重新扫描正确的条码或选择其他收货单");
@@ -308,6 +308,11 @@
                    sn.STATUS = WMS_ITEM.STATUSs.InStore.GetValue();
                    sn.IS_IN = "Y";
                }
                //设置当前物料的默认储位
                if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty())
                {
                    SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation, receiptDtl.ID.ToInt64());
                }
                //如果当前行上架完成标记为待审核
                receiptDtl.QTY_IN = receipt.SnList.Where(q => q.LINE_NO == receiptDtl.LINE_NO && q.STATUS == WMS_ITEM.STATUSs.InStore.GetValue()).Sum(q => q.QTY);
                if (receiptDtl.QTY_IN == receiptDtl.QTY_OK)
@@ -369,14 +374,16 @@
                });
                //完成所有处理后使用事务保存数据
                action = DoIfFinish(action, input.Locale, () =>
                {
                    //设置当前物料的默认储位
                    if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty())
                    {
                        SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation);
                    }
                });
                action = DoIfFinish(action, input.Locale
                    //, () =>
                    //{
                    //    //设置当前物料的默认储位
                    //    if (CurInvItem.ItemInfo.DEFAULT_LOCATION.IsNullOrEmpty())
                    //    {
                    //        SetDefaultLocation(MainDB, CurInvItem.ItemInfo, nLocation, receiptDtl.ID.ToInt64());
                    //    }
                    //}
                 );
                //if (!action.Data.Data.IsNullOrEmpty() && action.Data.Data is DefaultInStoreOutput)
                //{
                //    (action.Data.Data as DefaultInStoreOutput).OrderInfo = receipt;
@@ -537,13 +544,13 @@
            var action = new ApiAction<PageAble<BIZ_U9_RECEIPT>>();
            var query = Biz.DataSource["YadaU9C"].Client.Queryable<mes_ReturnedDocInfo>().Where(q => q.Status == 3)
                                    .WhereIF(!input.OrderNo.IsNullOrEmpty(), q => q.DocNo.Contains(input.OrderNo) || SqlFunc.Subqueryable<mes_AsnDocInfo>().Where(a => a.AsnId == q.SrcASNDocId && q.DocNo.Contains(input.OrderNo)).Any())
                                    .OrderBy(q => q.DocNo).ToPage(input.pageIndex, input.pageSize);
                                    .OrderBy(q => q.DocNo).Select(q => new { q.DocNo, q.Status, q.StatusName }).Distinct().ToList();
            action.Data = await MainDB.Queryable<BIZ_U9_RECEIPT>().Where(q => query.data.Select(o => o.DocNo).Contains(q.ORDER_NO)).ToPageAsync(input.pageIndex, input.pageSize);
            action.Data = await MainDB.Queryable<BIZ_U9_RECEIPT>().Where(q => query.Select(o => o.DocNo).Contains(q.ORDER_NO)).ToPageAsync(input.pageIndex, input.pageSize);
            foreach (var order in action.Data.data)
            {
                order.ERP_STATUS_CODE = query.data.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.Status.ToString();
                order.ERP_STATUS_NAME = query.data.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.StatusName;
                order.ERP_STATUS_CODE = query.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.Status.ToString();
                order.ERP_STATUS_NAME = query.FirstOrDefault(q => q.DocNo == order.ORDER_NO)?.StatusName;
            }
            MainDB.Updateable(action.Data.data, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.ERP_STATUS_CODE, q.ERP_STATUS_NAME }).ExecuteCommand();
            return action;