Explorar o código

1001参数化

Murphy %!s(int64=2) %!d(string=hai) anos
pai
achega
6a363f6923

+ 18 - 18
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -3034,7 +3034,7 @@ namespace Business.ResourceExamineManagement
                     Dictionary<string, decimal> dictItemQty = new Dictionary<string, decimal>();
                     List<string> lines = dbPeriodSequences.Where(a => a.WorkOrds == workord.WorkOrd).Select(a => a.Line).Distinct().ToList();
                     List<LineMaster> lineMasters = AllLineMasters.Where(p => lines.Contains(p.Line) && p.Domain == workord.Domain && p.IsActive).ToList();
-                    List<ProductStructureMaster> itemList = GetProductStructure(dbPeriodSequences.First(a => a.WorkOrds == workord.WorkOrd).ItemNum);
+                    List<ProductStructureMaster> itemList = GetProductStructure(dbPeriodSequences.First(a => a.WorkOrds == workord.WorkOrd).ItemNum, workord.Domain);
                     var childrenList = itemList.Select(a => a.ComponentItem).Distinct().ToList();
                     List<ItemMaster> itemLocList = _itemMaster.Select(p => childrenList.Contains(p.ItemNum) && p.Domain == workord.Domain && p.IsActive).Distinct().ToList();
                     var dopIcitems = _ic_item.GetListAsync(s => itemLocList.Select(c => c.ItemNum).Contains(s.number)).Result;
@@ -3057,7 +3057,7 @@ namespace Business.ResourceExamineManagement
                     }
                     nbrMasterList.Add(new NbrMaster
                     {
-                        Domain = "1001",
+                        Domain = workOrdMasters[0].Domain,
                         Type = "SM",
                         Nbr = Nbr,
                         Remark = "下达自动领料",
@@ -3070,12 +3070,12 @@ namespace Business.ResourceExamineManagement
                         QtyOrd = QtyOrdSum,
                         IsActive = true,
                         IsChanged = true,
-                        Name = "1001",
+                        Name = workOrdMasters[0].Domain,
                         Department = "101",
                         CreateTime = DateTime.Now,
                         UpdateTime = DateTime.Now,
-                        CreateUser = "1001",
-                        UpdateUser = "1001"
+                        CreateUser = workOrdMasters[0].Domain,
+                        UpdateUser = workOrdMasters[0].Domain
                     });
                     int i = 1;
                     itemList?.ForEach(a =>
@@ -3092,7 +3092,7 @@ namespace Business.ResourceExamineManagement
                         {
                             nbrDetailList.Add(new NbrDetail
                             {
-                                Domain = "1001",
+                                Domain = workOrdMasters[0].Domain,
                                 Type = "SM",
                                 Nbr = Nbr,
                                 ItemNum = a.ComponentItem,
@@ -3107,8 +3107,8 @@ namespace Business.ResourceExamineManagement
                                 IsActive = true,
                                 CreateTime = DateTime.Now,
                                 UpdateTime = DateTime.Now,
-                                CreateUser = "1001",
-                                UpdateUser = "1001",
+                                CreateUser = workOrdMasters[0].Domain,
+                                UpdateUser = workOrdMasters[0].Domain,
                                 UM = a.UM
                             });
                             i++;
@@ -3150,7 +3150,7 @@ namespace Business.ResourceExamineManagement
                     //TODO:
                     //因为我们并没有模拟发料的过程,在自动生成领料单的时候就要扣减库存,实际业务不能这么做。
                     //在有上料和追溯的系统,可以在扫码上料或报工时(从线边仓)扣减。或者在实际发料出库时扣减。
-                    var locStock = _locationDetail.Select(a => itemKeys.Contains(a.ItemNum) && a.IsActive && a.Domain == "1001");
+                    var locStock = _locationDetail.Select(a => itemKeys.Contains(a.ItemNum) && a.IsActive && a.Domain == workOrdMasters[0].Domain);
                     locStock?.ForEach(a =>
                     {
                         nbrDetailList.ForEach(b =>
@@ -3337,13 +3337,13 @@ namespace Business.ResourceExamineManagement
                 return "没有需要下达的工单。";
             }
             //获取已排产的工单
-            List<PeriodSequenceDet> dbPeriodSequences = _periodSequenceDet.Select(p => workOrds.Contains(p.WorkOrds) && p.Domain == "1001" && p.IsActive);
+            List<PeriodSequenceDet> dbPeriodSequences = _periodSequenceDet.Select(p => workOrds.Contains(p.WorkOrds) && p.Domain == workOrdMasters[0].Domain && p.IsActive);
             List<string> dbWorkOrds = dbPeriodSequences.Select(p => p.WorkOrds).Distinct().ToList();
 
             //查出已排产的工单
             workOrdMasters = workOrdMasters.Where(p => dbWorkOrds.Contains(p.WorkOrd)).ToList();
             //查出已产生领料单、过滤掉,取出未领料的工单
-            var nbrList = _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && dbWorkOrds.Contains(a.WorkOrd));
+            var nbrList = _nbrMaster.Select(a => a.Domain == workOrdMasters[0].Domain && a.Type == "SM" && dbWorkOrds.Contains(a.WorkOrd));
             var noNbrlist = nbrList.Select(p => p.WorkOrd).ToList();
             workOrdMasters = workOrdMasters.Where(p => !noNbrlist.Contains(p.WorkOrd)).ToList();
             if (workOrdMasters.Count == 0)
@@ -3362,7 +3362,7 @@ namespace Business.ResourceExamineManagement
                 dbPeriodSequences.ForEach(p => { p.Status = "r"; });
                 workOrdMasters.ForEach(p => { p.Status = "r"; });
                 //获取工单工艺路径数据
-                List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => ords.Contains(p.WorkOrd) && p.MilestoneOp && p.Domain == "1001" && p.Status != "C" && p.IsActive);
+                List<WorkOrdRouting> workOrdRoutings = _workOrdRouting.Select(p => ords.Contains(p.WorkOrd) && p.MilestoneOp && p.Domain == workOrdMasters[0].Domain && p.Status != "C" && p.IsActive);
                 workOrdRoutings.ForEach(p => { p.Status = "r"; });
                 using (var unitOfWork = _unitOfWorkManager.Begin(false, true))
                 {
@@ -3376,7 +3376,7 @@ namespace Business.ResourceExamineManagement
                         });
                         //快开平台用自增列RecId关联,所以需要插入后再查给明细表赋相应的值
                         List<string> nbrs = nbrMasterList.Select(a => a.Nbr).ToList();
-                        var DBnbrList = _nbrMaster.Select(a => a.Domain == "1001" && a.Type == "SM" && nbrs.Contains(a.Nbr));
+                        var DBnbrList = _nbrMaster.Select(a => a.Domain == workOrdMasters[0].Domain && a.Type == "SM" && nbrs.Contains(a.Nbr));
                         nbrDetailList.ForEach(c =>
                         {
                             c.NbrRecID = DBnbrList.Where(a => a.Nbr == c.Nbr).First().RecID;
@@ -3418,7 +3418,7 @@ namespace Business.ResourceExamineManagement
             {
                 //添加工单数据
                 workOrd = new WorkOrdMaster();
-                workOrd.Domain = "1001";
+                workOrd.Domain =item.factory_id.ToString();
                 workOrd.OrdDate = item.moentry_sys_stime;
                 workOrd.ReleaseDate = Convert.ToDateTime(item.moentry_sys_stime.GetValueOrDefault().ToString("u"));
                 workOrd.WorkOrd = item.morder_no;
@@ -3440,7 +3440,7 @@ namespace Business.ResourceExamineManagement
                 foreach (var dtl in curRoutings)
                 {
                     woRouting = new WorkOrdRouting();
-                    woRouting.Domain = "1001";
+                    woRouting.Domain = item.factory_id.ToString();
                     woRouting.Descr = dtl.Descr;
                     woRouting.MilestoneOp = dtl.MilestoneOp;
                     woRouting.WorkOrd = item.morder_no;
@@ -3457,12 +3457,12 @@ namespace Business.ResourceExamineManagement
                     workOrdRoutings.Add(woRouting);
                 }
 
-                List<ProductStructureMaster> curStructures = GetProductStructure(item.product_code);
+                List<ProductStructureMaster> curStructures = GetProductStructure(item.product_code, morders[0].factory_id.ToString());
                 foreach (var structure in curStructures)
                 {
                     //添加工单的物料信息
                     woDetail = new WorkOrdDetail();
-                    woDetail.Domain = "1001";
+                    woDetail.Domain = item.factory_id.ToString();
                     woDetail.WorkOrd = item.morder_no;
                     woDetail.Op = structure.Op;
                     woDetail.ItemNum = structure.ComponentItem;
@@ -3483,7 +3483,7 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         /// <param name="itenNum">产品物料编码</param>
         /// <returns></returns>
-        public List<ProductStructureMaster> GetProductStructure(string itenNum)
+        public List<ProductStructureMaster> GetProductStructure(string itenNum,string domain)
         {
             List<ProductStructureMaster> rtnStructures = new List<ProductStructureMaster>();
             //根据itemNum获取bom数据