Przeglądaj źródła

SAP接口事务处理,替代关系逻辑调整。

tangdi 2 lat temu
rodzic
commit
d3a6c374bd

+ 7 - 7
MicroServices/Business/Business.Application/ReplenishmentManagement/ReplenishmentAppService.cs

@@ -1049,7 +1049,7 @@ namespace Business.Replenishment
                         //mes_Morder.morder_icitem_type
                         mes_Morder.work_order_type = MorderEnum.CgMorder;
                         mes_Morder.morder_state = MorderEnum.Initial_state;
-                        mes_Morder.morder_no = list[j].NbrResult;
+                        mes_Morder.morder_no = list[j].NbrResult.ToString();
                         mes_Morder.fms_number = ic_item.fms_number;
                         mes_Morder.bom_number = bom.bom_number;
                         mes_Morder.fmodel = ic_item.model;
@@ -1102,8 +1102,8 @@ namespace Business.Replenishment
                         weekItem.Area = itemrop.area;
                         weekItem.PlanStartDate = mes_Morder.moentry_sys_stime.GetValueOrDefault();
                         weekItem.Week =$"WK{GetWeekOfYear(mes_Morder.moentry_sys_stime.Value).ToString("00")}";
-                        weekItem.OrderNO = list[j].NbrResult;
-                        weekItem.ProductionOrder = nbrlistDto[j].NbrResult;
+                        weekItem.OrderNO = list[j].NbrResult.ToString();
+                        weekItem.ProductionOrder = nbrlistDto[j].NbrResult.ToString();
                         weekItem.SAPOrderNO = "";
                         weekItem.OrderType = "量产";
                         weekItem.ProductionBatch = "";
@@ -1295,7 +1295,7 @@ namespace Business.Replenishment
                     //mes_Morder.morder_icitem_type
                     mes_Morder.work_order_type = MorderEnum.CgMorder;
                     mes_Morder.morder_state = MorderEnum.Initial_state;
-                    mes_Morder.morder_no = list[j].NbrResult;
+                    mes_Morder.morder_no = list[j].NbrResult.ToString();
                     mes_Morder.fms_number =b.number;
                     mes_Morder.bom_number = bom.bom_number;
                     mes_Morder.fmodel = b.model;
@@ -1571,7 +1571,7 @@ namespace Business.Replenishment
                     //mes_Morder.morder_icitem_type
                     mes_Morder.work_order_type = MorderEnum.CgMorder;
                     mes_Morder.morder_state = MorderEnum.Initial_state;
-                    mes_Morder.morder_no = list[j].NbrResult;
+                    mes_Morder.morder_no = list[j].NbrResult.ToString();
                     mes_Morder.fms_number = b.number;
                     mes_Morder.bom_number = bom.bom_number;
                     mes_Morder.fmodel = b.model;
@@ -2437,7 +2437,7 @@ namespace Business.Replenishment
                     {
                         if (nbrlistDto[index] != null)
                         {
-                            p.pr_billno = nbrlistDto[index].NbrResult;
+                            p.pr_billno = nbrlistDto[index].NbrResult.ToString();
                         }
                         index++;
                         if (p.pr_purchaseid.GetValueOrDefault() == 0)
@@ -3181,7 +3181,7 @@ namespace Business.Replenishment
                 //mes_Morder.morder_icitem_type
                 mes_Morder.work_order_type = MorderEnum.CgMorder;
                 mes_Morder.morder_state = MorderEnum.Initial_state;
-                mes_Morder.morder_no = list[i].NbrResult;
+                mes_Morder.morder_no = list[i].NbrResult.ToString();
                 mes_Morder.fms_number = ic_item.fms_number;
                 mes_Morder.bom_number = bom.bom_number;
                 mes_Morder.fmodel = ic_item.model;

+ 16 - 13
MicroServices/Business/Business.Application/ResourceExamineManagement/CalcBomViewAppService.cs

@@ -934,9 +934,12 @@ namespace Business.ResourceExamineManagement
         /// <param name="select"></param>
         public void WholeBatchCheck(List<BomChildExamineDto> sublist, List<BomChildExamineDto> returnlist, List<mo_ic_item_stockoccupy> sklist, List<BomChildExamineDto> select, long bangid)
         {
-            for (int idx = 0; idx < 99; idx++)
+
+            List<int> orderNum = sublist.Select(s => s.substitute_all_num.GetValueOrDefault()).ToList();
+            orderNum.Sort();
+            foreach (var order in orderNum)
             {
-                var list = sublist.Where(s => s.substitute_all_num == idx).ToList();
+                var list = sublist.Where(s => s.substitute_all_num == order).ToList();
                 if (list.Any())
                 {
                     foreach (var s in list)
@@ -948,15 +951,10 @@ namespace Business.ResourceExamineManagement
                     {
                         //只满足充足或可制
                         //无缺料情况
-                        select = list;
-                        select.ForEach(s => { s.is_use = true; });
+                        list.ForEach(s => { s.is_use = true; });
+                        select.AddRange(list);
                         break;
                     }
-                    idx++;
-                }
-                else
-                {
-                    idx = 99;
                 }
             }
         }
@@ -984,8 +982,9 @@ namespace Business.ResourceExamineManagement
                 }
                 else
                 {
+                    int orderNum = sublist.Select(s => s.substitute_all_num.GetValueOrDefault()).ToList().Min();
                     //取代
-                    select = sublist.Where(s => s.substitute_all_num == 0).ToList();
+                    select = sublist.Where(s => s.substitute_all_num == orderNum).ToList();
                 }
                 select.ForEach(s => { s.is_use = true; });
             }
@@ -1034,13 +1033,15 @@ namespace Business.ResourceExamineManagement
             {
                 parent_lack = parent.lack_qty;
             }
-            for (int idx = 0; idx < 99; idx++)
+
+            List<int> orderNum = sublist.Select(s => s.substitute_all_num.GetValueOrDefault()).ToList();
+            orderNum.Sort();
+            foreach (var idx in orderNum)
             {
                 if (parent_lack <= 0)
                 {
                     break;
                 }
-
                 var list = sublist.Where(s => s.substitute_all_num == idx).ToList();
                 if (list.Any())
                 {
@@ -1411,6 +1412,7 @@ namespace Business.ResourceExamineManagement
             var parent = returnlist.Find(s => s.fid == item.parent_id);
             decimal stockQty = sklist.Where(s => s.icitem_id == item.item_id && s.bang_id == bangid).Sum(p => p.quantity);
             item.sqty -= stockQty;
+            item.sqty = item.sqty < 0 ? 0 : item.sqty;
             item.lack_qty = parent.lack_qty * item.qty - item.sqty;
             item.lack_qty = item.lack_qty > 0 ? item.lack_qty : 0;
             item.self_lack_qty = item.lack_qty;
@@ -1460,7 +1462,7 @@ namespace Business.ResourceExamineManagement
                                 PrPurchaseDto purDto = new PrPurchaseDto();
                                 purDto.pr_purchaseid = s.supplier_id;
                                 purDto.num = itemPrlist.Where(x => x.pr_purchaseid == s.supplier_id).Sum(c => c.pr_aqty.GetValueOrDefault());
-                                purDto.ratio = Math.Round(purDto.num / qtyCount, 2, MidpointRounding.AwayFromZero);
+                                purDto.ratio = Math.Round(purDto.num / qtyCount * 100, 2, MidpointRounding.AwayFromZero);
                                 purDto.quota_priority = s.quota_priority;
                                 purDto.quota_rate = s.quota_rate.GetValueOrDefault();
                                 PrPurchaseDtoList.Add(purDto);
@@ -1586,6 +1588,7 @@ namespace Business.ResourceExamineManagement
             srm_Pr.update_time = DateTime.Now;
             srm_Pr.update_by_name = "admin";
             sRMPR.srm_Pr_Main.Add(srm_Pr);
+            quarter_srm_pr_mains.Add(srm_Pr);
 
             if (sRMPR.srm_Pr_Main.Any())
             {

+ 1 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/PretreatmentAppService.cs

@@ -218,6 +218,7 @@ namespace Business.ResourceExamineManagement
                                 //将主料赋值上属性
                                 var dtlitem = returnlist.Find(s => s.item_id == dtl.icitem_id && s.level == item.level);
                                 dtlitem.substitute_all_num = sal.order_num;//群组优先级
+                                dtlitem.haveicsubs = 1;
                             }
                         }
 

+ 123 - 10
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -1613,15 +1613,18 @@ namespace Business.ResourceExamineManagement
             //PO占用记录
             List<mo_srm_po_occupy> po_occupy = await _srm_po_occupy.GetListAsync(s => seIds.Contains(s.eid.Value) && bangidList.Contains(s.bang_id.Value));
             List<mo_srm_pr_main> prmainlist = await _srm_pr_main.GetListAsync(s => seIds.Contains(s.sentry_id.Value) && bangidList.Contains(s.bang_id.Value));
+            string seqSql = "";
             if (prmainlist.Any())
             {
                 var nbrlistDto = _serialNumberAppService.GetBillNo(prmainlist[0].factory_id.ToString(), "PR", prmainlist.Count, "admin", 1);
+                
                 int index = 0;
+                
                 foreach (var p in prmainlist)
                 {
                     if (nbrlistDto[index] != null)
                     {
-                        p.pr_billno = nbrlistDto[index].NbrResult;
+                        p.pr_billno = nbrlistDto[index].NbrResult.ToString();
                     }
                     index++;
                     if (p.pr_purchaseid.GetValueOrDefault() == 0)
@@ -1635,8 +1638,25 @@ namespace Business.ResourceExamineManagement
                             p.pr_purchasenumber = list[0].supplier_number;
                         }
                     }
+                    
+                }
+                var prapplyList = prmainlist.Where(s => s.IsRequireGoods != 1).ToList();
+                if (prapplyList.Any())
+                {
+                    var rstSeqId = _serialNumberAppService.GetSeqIdList(prapplyList[0].factory_id.ToString(), 1, 1);
+                    long seqId = 0;
+                    if (long.TryParse(rstSeqId, out seqId))
+                    {
+                        prapplyList.ForEach(p =>
+                        {
+                            seqSql += "insert QadTracking(Domain,SeqID,TransType,Subject,[Order],Int1,CreateTime,CreateUser,UpdateTime,UpdateUser) value('" + p.factory_id.ToString() +
+                                "'," + seqId + ",'nbr-pr-mes','请购单'," + p.pr_billno + " [Order]," + p.Id.ToString() + " as Int1,getdate() as CreateTime,'',getdate() as UpdateTime,'');";
+                            seqId++;
+                        });
+                    }
+                    }
                 }
-            }
+            
             
             List<mo_ic_item_stockoccupy> item_stockoccupy = await _ic_item_stockoccupy.GetListAsync(s => seIds.Contains(s.orderentry_id.Value) && bangidList.Contains(s.bang_id));
 
@@ -1648,6 +1668,10 @@ namespace Business.ResourceExamineManagement
                     //批量保存 后期考虑子工单
                     if (moderlist.Any())
                     {
+                        if (!string.IsNullOrEmpty(seqSql))
+                        {
+                            _businessBangDbContext.Database.ExecuteSqlRaw(seqSql);
+                        }
                         _businessDbContext.BulkInsert(moderlist);
                         if (workOrds.Any())
                         {
@@ -2278,7 +2302,7 @@ namespace Business.ResourceExamineManagement
                 {
                     var podtls = podetaillist.Where(s => s.po_billno == p.po_billno).ToList();
 
-                    p.po_billno = nbrlistDto[index].NbrResult;
+                    p.po_billno = nbrlistDto[index].NbrResult.ToString();
                     podtls.ForEach(s =>
                     {
                         s.po_billno = p.po_billno;
@@ -3233,7 +3257,7 @@ namespace Business.ResourceExamineManagement
                     {
                         if (nbrlistDto[index] != null)
                         {
-                            p.pr_billno = nbrlistDto[index].NbrResult;
+                            p.pr_billno = nbrlistDto[index].NbrResult.ToString();
                         }
                         index++;
                         if (p.pr_purchaseid.GetValueOrDefault() == 0)
@@ -3632,7 +3656,7 @@ namespace Business.ResourceExamineManagement
                             var nbrDtls = nbrDetailList.Where(s => s.Nbr == nm.Nbr).ToList();
                             if (nbrlistDto[index] != null)
                             {
-                                nm.Nbr = nbrlistDto[index].NbrResult;
+                                nm.Nbr = nbrlistDto[index].NbrResult.ToString();
                                 nbrDtls.ForEach(i => { i.Nbr = nm.Nbr; });
                             }
                             index++;
@@ -3746,7 +3770,8 @@ namespace Business.ResourceExamineManagement
             {
                 itemChildList.AddRange(GetChildItemNumber(a, new List<string>()));
             });
-            var stockList = _locationDetail.Select(a => a.Domain == param.factoryId.ToString() && a.IsActive && itemChildList.Distinct().Contains(a.ItemNum));
+            List<string> locationList = new List<string> { "1000", "1001", "5008", "8000", "8001" };
+            var stockList = _locationDetail.Select(a => a.Domain == param.factoryId.ToString() && locationList.Contains(a.Location) && a.IsActive && itemChildList.Distinct().Contains(a.ItemNum));
             var groupList = stockList.
                 GroupBy(m => new { m.ItemNum }).
                 Select(a => new { ItemNum = a.Key.ItemNum, Qty = a.Sum(c => c.QtyOnHand) }).ToList();
@@ -3776,6 +3801,7 @@ namespace Business.ResourceExamineManagement
                             stock.icitem_id = num.Id;
                             stock.icitem_name = num.name;
                             stock.sqty = groupList.First(a => a.ItemNum == num.number).Qty;
+                            needAddList.Add(stock);
                         }
                         break;
                     }
@@ -3860,16 +3886,19 @@ namespace Business.ResourceExamineManagement
             await AutoCreatePickBill(workOrdMasters, dbPeriodSequences, nbrMasterList, nbrDetailList, userAccount, workDetails);
             if (nbrMasterList.Any())
             {
+                string seqSql = "";
                var weekplan = _replenishmentWeekPlan.GetListAsync(s => s.factory_id.ToString() == domain && workOrdMasters.Select(x => x.WorkOrd).Contains(s.OrderNO)).Result;
-                var worklistDto = _serialNumberAppService.GetBillNo(workOrdMasters[0].Domain, "WOlot", workOrdMasters.Count, userAccount, 1);
+                var worklistDto = _serialNumberAppService.GetBillNo(domain, "WOlot", workOrdMasters.Count, userAccount, 1);
+                var seqid = _serialNumberAppService.GetSeqIdList(domain, 1, 1);
                 int index = 0;
+                int idx = 0;
                 workOrdMasters.ForEach(p => { 
                     p.Status = "r";
                     if (worklistDto.Any())
                     {
                         if (worklistDto[index] != null)
                         {
-                            p.LotSerial = worklistDto[index].NbrResult;
+                            p.LotSerial = worklistDto[index].NbrResult.ToString();
                             var weekp = weekplan.Find(s => s.OrderNO == p.WorkOrd);
                             if (weekp != null)
                             {
@@ -3878,6 +3907,17 @@ namespace Business.ResourceExamineManagement
                         }
                         index++;
                     }
+                    /*if (seqidlist.Any())
+                    {
+                        if (seqidlist.Any())
+                        {
+                            if (seqidlist[idx] != null)
+                            {
+                                seqSql += "insert QadTracking(Domain,SeqID,TransType,Subject,[Order],Int1,CreateTime,CreateUser,UpdateTime,UpdateUser) select '" + domain + "'," + seqidlist[idx].NbrResult + ",'nbr-wo-mes','工单',WorkOrd [Order],RecID as Int1,getdate() as CreateTime,CreateUser,getdate() as UpdateTime,UpdateUser from WorkOrdMaster where RecID=" + p.RecID.ToString() + ";";
+                                idx++;
+                            }
+                        }
+                    }*/
                 });
                 
                 var nbrlistDto = _serialNumberAppService.GetBillNo(workOrdMasters[0].Domain, "SM", nbrMasterList.Count, userAccount, 1);
@@ -3889,7 +3929,7 @@ namespace Business.ResourceExamineManagement
                         var nbrDtls = nbrDetailList.Where(s => s.Nbr == nm.Nbr).ToList();
                         if (nbrlistDto[index] != null)
                         {
-                            nm.Nbr = nbrlistDto[index].NbrResult;
+                            nm.Nbr = nbrlistDto[index].NbrResult.ToString();
                             nbrDtls.ForEach(i => { i.Nbr = nm.Nbr; });
                         }
                         index++;
@@ -3902,6 +3942,9 @@ namespace Business.ResourceExamineManagement
                 var icitem = _mysql_ic_item.GetListAsync(s => s.factory_id.ToString() == domain && nbrDetailList.Select(c => c.ItemNum).Contains(s.number)).Result;
                 //根据领料单生成一次工单的数据占用
                 List<ic_item_stockoccupy> insertOccuyy = new List<ic_item_stockoccupy>();
+
+                var seqId = _serialNumberAppService.GetSeqIdList(workOrdMasters[0].Domain, 1, 1);
+                int sidx = 0;
                 nbrMasterList.ForEach(s =>
                 {
                     var nbrdtls = nbrDetailList.Where(a => a.Nbr == s.Nbr).ToList();
@@ -3923,6 +3966,11 @@ namespace Business.ResourceExamineManagement
                             insertOccuyy.Add(itemStockoccupyDto);
                         }
                     });
+                    /*if (seqIdlist[sidx] != null)
+                    {
+                        seqSql += "insert QadTracking(Domain,SeqID,TransType,Subject,[Order],Int1,Ufld1,Ufld2,CreateTime,CreateUser,UpdateTime,UpdateUser) select '" + domain + "'," + seqIdlist[sidx].NbrResult + " as SeqID,'nbr-sm-mes','领料申请单',Nbr as [Order],RecID as Int1,'A' as Ufld1,'sm' as Ufld2,getdate() as CreateTime,CreateUser,getdate() as UpdateTime,UpdateUser from NbrMaster where RecID=" + s.RecID + ";";
+                        sidx++;
+                    }*/
                 });
 
                 //获取工单工艺路径数据
@@ -3938,7 +3986,9 @@ namespace Business.ResourceExamineManagement
                             string sql =string.Format("exec pr_WMS_BPM_AddMobileTask @TaskID='{0}',@PlanDate='{1}',@ExecuterTypeID=2,@CreateUser='{2}'", a.Nbr, a.Date.Value.ToString("yyyy-MM-dd"), a.CreateUser);
                             _businessDbContext.Database.ExecuteSqlRaw(sql);
                         });
-
+                        if (!string.IsNullOrEmpty(seqSql)) {
+                            _businessBangDbContext.Database.ExecuteSqlRaw(seqSql);
+                        }
                         if (itemstockoccupy.Any())
                         {
                             await _mysql_ic_item_stockoccupy.HardDeleteAsync(itemstockoccupy);
@@ -4226,6 +4276,67 @@ namespace Business.ResourceExamineManagement
         /// <param name="dto"></param>
         /// <returns></returns>
         public async Task<string> SubstituteSave(SubstituteDto dto)
+        {
+            var rst = SubstituteSaveSync(dto).Result;
+            if (rst == "ok")
+            {
+                //如果保存成功,则同步到mongodb。
+                var list = _mysql_ic_substitute.GetListAsync(s => s.substitute_code == dto.scode && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
+                //同步替代群组数据
+                //var subtitutes = _mysql_ic_substitute.GetListAsync().Result;
+                if (list.Count > 0)
+                {
+                    var moSubstitute = _ic_substitute.GetListAsync(s => s.substitute_code == dto.scode).Result;
+                    if (moSubstitute.Any())
+                    {
+                        await _ic_substitute.DeleteManyAsync(moSubstitute);
+                    }
+                    var moSubtitutes = ObjectMapper.Map<List<ic_substitute>, List<mo_ic_substitute>>(list);
+                    moSubtitutes.ForEach(s => s.GenerateNewId(help.NextId()));
+                    await MongoHelper<mo_ic_substitute>.InsertManyAsync(moSubtitutes);
+
+                    //同步物料替代多群组数据
+                    var subAlls = _mysql_ic_substitute_group.GetListAsync(s => s.substitute_code == dto.scode && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
+                    if (subAlls.Count > 0)
+                    {
+                        var moSubAll = _ic_substitute_group.GetListAsync(s => s.substitute_code == dto.scode).Result;
+                        if (moSubAll.Any())
+                        {
+                            await _ic_substitute_group.DeleteManyAsync(moSubAll);
+                        }
+                        var moSubAlls = ObjectMapper.Map<List<ic_substitute_group>, List<mo_ic_substitute_group>>(subAlls);
+                        moSubAlls.ForEach(s => s.GenerateNewId(help.NextId()));
+                        await MongoHelper<mo_ic_substitute_group>.InsertManyAsync(moSubAlls);
+                    }
+
+                    //同步物料替代多群组明细数据
+                    var subAllDtls = _mysql_ic_substitute_group_detail.GetListAsync(s => s.substitute_code == dto.scode && s.company_id == dto.company_id && s.factory_id == dto.factory_id).Result;
+                    if (subAllDtls.Count > 0)
+                    {
+                        var moSuballDtl = _ic_substitute_group_detail.GetListAsync(s => s.substitute_code == dto.scode).Result;
+                        if (moSuballDtl.Any())
+                        {
+                            await _ic_substitute_group_detail.DeleteManyAsync(moSuballDtl);
+                        }
+                        var moSubAllDtls = ObjectMapper.Map<List<ic_substitute_group_detail>, List<mo_ic_substitute_group_detail>>(subAllDtls);
+                        moSubAllDtls.ForEach(s => s.GenerateNewId(help.NextId()));
+                        await MongoHelper<mo_ic_substitute_group_detail>.InsertManyAsync(moSubAllDtls);
+                    }
+                }
+                return rst;
+            }
+            else
+            {
+                return rst;
+            }
+        }
+
+        /// <summary>
+        /// 替代方案保存
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        public async Task<string> SubstituteSaveSync(SubstituteDto dto)
         {
             ic_substitute stt;
             if (dto.id == null)
@@ -4533,5 +4644,7 @@ namespace Business.ResourceExamineManagement
             }
             return "ok";
         }
+
+
     }
 }

+ 20 - 0
MicroServices/Business/Business.Application/ResourceExamineManagement/SerialNumberAppService.cs

@@ -57,5 +57,25 @@ namespace Business.ResourceExamineManagement
             var getnbr = _businessDbContext.GetNbr.FromSqlRaw(sql).ToList();
             return getnbr;
         }
+
+        /// <summary>
+        /// 获取单号
+        /// </summary>
+        /// <param name="domain"></param>
+        /// <param name="NbrType">类型</param>
+        /// <param name="Increment">步长</param>
+        /// <param name="UserNo">用户账号</param>
+        /// <param name="IsDopCall"></param>
+        /// <returns></returns>
+        public string GetSeqIdList(string domain, int Increment, int IsDopCall)
+        {
+            string sql = string.Format("exec pr_SFM_GetSequenceID @Domain='{0}',@Increment={1},@IsDopCall={2}", domain, Increment, IsDopCall);
+            var rst = _businessDbContext.GetNbr.FromSqlRaw(sql).ToList();
+            if (rst.Any())
+            {
+                return rst[0].NbrResult.ToString();
+            }
+            return "";
+        }
     }
 }

+ 18 - 0
MicroServices/Business/Business.Application/SystemJobManagement/SystemJobAppService.cs

@@ -613,6 +613,7 @@ namespace Business.SystemJobManagement
                 custList = _itemMaster.Select(a => a.IsActive && childItems.Distinct().Contains(a.ItemNum));
             }
             List<ic_item> ItemsAdd = new List<ic_item>();
+            List<ic_item_stock> stockAdd = new List<ic_item_stock>();
             List<ic_item> ItemsUpd = new List<ic_item>();
             List<srm_purchase> srm_purchaseAdd = new List<srm_purchase>();
             if (custList != null && custList.Count > 0)
@@ -678,6 +679,22 @@ namespace Business.SystemJobManagement
                             Warehousing_date = 1,
                             Shipping_date = 3,
                         });
+                        ic_item_stock addStock = new ic_item_stock();
+                        addStock.GenerateNewId(help.NextId());
+                        addStock.icitem_id = itemId;
+                        addStock.icitem_number = custList[i].ItemNum; //物料编码
+                        addStock.icitem_name = custList[i].Descr; //物料名称
+                        addStock.sqty = 0;
+                        addStock.quantity_in_transit = 0;
+                        addStock.fversion = "";
+                        addStock.factory_id = long.Parse(custList[i].Domain);
+                        addStock.company_id = 1000;
+                        addStock.tenant_id = 1000;
+                        addStock.create_time = DateTime.Now;
+                        addStock.update_time = DateTime.Now;
+                        addStock.create_by_name = "admin";
+                        addStock.update_by_name = "admin";
+                        stockAdd.Add(addStock);
                         /*srm_purchaseAdd.Add(new srm_purchase(help.NextId())
                         {
                             icitem_id = itemId,
@@ -719,6 +736,7 @@ namespace Business.SystemJobManagement
                 }
             }
             _businessDbContext.BulkInsert(ItemsAdd);
+            _businessDbContext.BulkInsert(stockAdd);
             _mysql_ic_item.UpdateManyAsync(ItemsUpd);
         }