| | |
| | | #region Propertys & Variables |
| | | //private List<WmsOrder<BIZ_U9_ASN>> _OrderList { get; set; } = new(); |
| | | private List<string> OrderList = new(); |
| | | private BIZ_U9_ASN_SN CurSn = new(); |
| | | private List<BIZ_U9_ASN_SN> CurSn = new(); |
| | | private List<BIZ_U9_ASN_SN> ScanList = new(); |
| | | #endregion |
| | | |
| | |
| | | action.LocaleMsg = Biz.L("WMS.WmsItem.Barcode.IllegalFailure", input.SN); |
| | | return action; |
| | | } |
| | | CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == barcode.SN).First(); |
| | | |
| | | if (barcode.Type == Barcode.Types.OuterPackage) |
| | | { |
| | | CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.CARTON_NO == barcode.SN).ToList(); |
| | | } |
| | | else |
| | | { |
| | | CurSn = MainDB.Queryable<BIZ_U9_ASN_SN>().Where(q => q.SN == barcode.SN).ToList(); |
| | | foreach (var sn in CurSn) |
| | | { |
| | | sn.META_SN = input.SN; |
| | | } |
| | | } |
| | | |
| | | if (CurSn.IsNullOrEmpty()) |
| | | { |
| | | action.IsSuccessed = false; |
| | |
| | | action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.SnNotExists", input.SN); |
| | | return action; |
| | | } |
| | | if (CurSn.AUTH_ORG != input.AuthOption.CurOrg) |
| | | if (CurSn.First().AUTH_ORG != input.AuthOption.CurOrg) |
| | | { |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = Biz.L($"条码所属组织[{0}]与当前登录组织[{1}]不一致,请重新选择组织"); |
| | | action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.OrgNotCorrect", CurSn.AUTH_ORG, input.AuthOption.CurOrg); |
| | | action.LocaleMsg = Biz.L("WMS.Count_BIZ_U9_ASN.OrgNotCorrect", CurSn.First().AUTH_ORG, input.AuthOption.CurOrg); |
| | | return action; |
| | | } |
| | | //验证条码是否正确 |
| | | if (CurSn.STATUS > WMS_ITEM.STATUSs.Incoming.GetValue()) |
| | | if (CurSn.First().STATUS > WMS_ITEM.STATUSs.Incoming.GetValue()) |
| | | { |
| | | action.IsSuccessed = false; |
| | | //action.LocaleMsg = Biz.L("状态[{0}]异常,请重新扫描"); |
| | | action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", CurSn.STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); |
| | | action.LocaleMsg = Biz.L("WMS.Default.ScanItem.StatusException", CurSn.First().STATUS.GetEnumDesc<WMS_ITEM.STATUSs>()); |
| | | return action; |
| | | } |
| | | CurSn.META_SN = input.SN; |
| | | |
| | | |
| | | Result<IInventory> result = WMS_ITEM_Biz.WmsItem.Get(barcode.SN, input.AuthOption, true); |
| | | if (!result.IsSuccessed) |
| | |
| | | } |
| | | |
| | | //执行清点数据处理 |
| | | CurSn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); |
| | | CurSn.QTY = CurInvItem.Items.Sum(q => q.QTY); |
| | | CurSn.RECEIVER = UserCode; |
| | | CurSn.RECEIVE_DATE = DateTime.Now; |
| | | foreach (var sn in CurSn) |
| | | { |
| | | sn.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); |
| | | sn.QTY = CurInvItem.Items.Where(q => q.SN == sn.SN).Sum(q => q.QTY); |
| | | sn.RECEIVER = UserCode; |
| | | sn.RECEIVE_DATE = DateTime.Now; |
| | | } |
| | | foreach (var item in CurInvItem.Items) |
| | | { |
| | | item.AUTH_ORG = CurSn.AUTH_ORG; |
| | | var sn = CurSn.First(q => q.SN == item.SN); |
| | | item.AUTH_ORG = sn.AUTH_ORG; |
| | | item.STATUS = WMS_ITEM.STATUSs.Counted.GetValue(); |
| | | item.SOURCE_CODE = item.TRANS_CODE; |
| | | item.SOURCE_ORDER = item.TRANS_NO; |
| | | item.SOURCE_LINE = item.TRANS_LINE; |
| | | item.TRANS_CODE = nameof(BIZ_U9_ASN); |
| | | item.TRANS_NO = CurSn.ORDER_NO; |
| | | item.TRANS_LINE = CurSn.LINE_NO; |
| | | item.TRANS_NO = sn.ORDER_NO; |
| | | item.TRANS_LINE = sn.LINE_NO; |
| | | CurInvItem.History.Add(new WMS_ITEM_HIS(item, $"条码[{CurInvItem.SN}]清点完成,操作单据[{item.TRANS_NO}]")); |
| | | } |
| | | |
| | |
| | | db.Storageable(_Packages, UserCode).ToStorage().AsInsertable.ExecuteCommand(); |
| | | db.Insertable(_History, UserCode).ExecuteCommand(); |
| | | var e = db.Storageable(_ItemsExt, UserCode).ToStorage().AsInsertable.ExecuteCommand();//不存在插入 |
| | | db.Updateable<BIZ_U9_ASN>(UserCode).SetColumns(q => q.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Where(q => q.ORDER_NO == _CurSn.ORDER_NO).ExecuteCommand(); |
| | | db.Updateable<BIZ_U9_ASN>(UserCode).SetColumns(q => q.STATUS == BIZ_U9_ASN.STATUSs.Counting.GetValue()).Where(q => q.ORDER_NO == _CurSn.First().ORDER_NO).ExecuteCommand(); |
| | | db.Storageable(_CurSn, UserCode).ExecuteCommand(); |
| | | }); |
| | | |
| | |
| | | //保存数据库 |
| | | SaveCommitListToDB(); |
| | | |
| | | if (!OrderList.Contains(CurSn.ORDER_NO)) |
| | | if (!OrderList.Contains(CurSn.First().ORDER_NO)) |
| | | { |
| | | OrderList.Add(CurSn.ORDER_NO); |
| | | OrderList.Add(CurSn.First().ORDER_NO); |
| | | } |
| | | ScanList.Add(CurSn); |
| | | ScanList.AddRange(CurSn); |
| | | |
| | | // 返回数据 |
| | | action.Data.Data = ScanList; |