| | |
| | | var assyList = new List<AssemblySetting>(); |
| | | try |
| | | { |
| | | assyList = setting.ITEM_CODE.JsonToObject<List<AssemblySetting>>(); |
| | | assyList = (setting.ITEM_CODE ?? "").JsonToObject<List<AssemblySetting>>(); |
| | | } |
| | | catch (System.Exception ex) |
| | | { |
| | | var codeList = setting.ITEM_CODE.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); |
| | | foreach (var code in codeList) |
| | | { |
| | | assyList.Add(new(){ ItemCode = code, Qty = 1 }); |
| | | assyList.Add(new(){ ITEM_CODE = code, QTY = 1 }); |
| | | } |
| | | } |
| | | var codes = assyList.Select(q => q.ItemCode).ToList(); |
| | | var codes = assyList.Select(q => q.ITEM_CODE).ToList(); |
| | | var items = Biz.Db.Queryable<BAS_ITEM>().Where(q => codes.Contains(q.ITEM_CODE) && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).ToList(); |
| | | //获取上料物料的替代料 |
| | | foreach (var assy in assyList) |
| | | { |
| | | var info = items.FirstOrDefault(q => q.ITEM_CODE == assy.ItemCode); |
| | | var info = items.FirstOrDefault(q => q.ITEM_CODE == assy.ITEM_CODE); |
| | | if (!info.IsNullOrEmpty()) |
| | | { |
| | | var item = new AssemblyItem { |
| | | ItemInfo = info, |
| | | RuleCode = assy.RuleCode, |
| | | LoadQty = assy.Qty, |
| | | RuleCode = assy.RULE_CODE, |
| | | LoadQty = assy.QTY, |
| | | }; |
| | | var bom = Boms.FirstOrDefault(q => q.ITEM_CODE == assy.ItemCode); |
| | | var bom = Boms.FirstOrDefault(q => q.ITEM_CODE == assy.ITEM_CODE); |
| | | if (!bom.IsNullOrEmpty()) |
| | | { |
| | | var subs = bom.SUB_CODE.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); |
| | | var surItems = Biz.Db.Queryable<BAS_ITEM>().Where(q => subs.Contains(q.ITEM_CODE) && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).ToList(); |
| | | if (!SubItemDic.ContainsKey(assy.ItemCode)) |
| | | if (!SubItemDic.ContainsKey(assy.ITEM_CODE)) |
| | | { |
| | | SubItemDic.Add(assy.ItemCode, surItems); |
| | | SubItemDic.Add(assy.ITEM_CODE, surItems); |
| | | } |
| | | } |
| | | CurAssembly.Items.Add(item); |