| | |
| | | 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}],请重新扫描正确的条码或选择其他收货单"); |
| | |
| | | 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) |
| | |
| | | }); |
| | | |
| | | //完成所有处理后使用事务保存数据 |
| | | 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; |
| | |
| | | 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; |