Jelajahi Sumber

采购订单增加传递参数。

tangdi 2 tahun lalu
induk
melakukan
9cdbb2349d

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

@@ -1516,6 +1516,7 @@ namespace Business.ResourceExamineManagement
                 srm_Pr.pr_mono = mes_morder.morder_no;//关联工单号
                 srm_Pr.entity_id = 1;//工单行号
             }
+            srm_Pr.supplier_type = supplier.supplier_type;
             srm_Pr.IsRequireGoods = supplier.IsRequireGoods;
             srm_Pr.pr_purchaseid = supplier.supplier_id;//供应商id  
             srm_Pr.pr_purchasenumber = supplier.supplier_number;//供应商编码

+ 24 - 6
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -20,6 +20,7 @@ using MongoDB.Driver;
 using MongoDB.Driver.Linq;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
+using RazorEngine.Compilation.ImpromptuInterface.Optimization;
 using System;
 using System.Collections.Generic;
 using System.ComponentModel.Design;
@@ -1020,10 +1021,10 @@ namespace Business.ResourceExamineManagement
                 {
                     return JsonConvert.SerializeObject("所选包含已评审通过采购申请,请重新选择。");
                 }*/
-                var list = prlist.GroupBy(s => new { s.icitem_id, s.pr_purchaseid, s.IsRequireGoods });
+                var list = prlist.GroupBy(s => new { s.icitem_id, s.pr_purchaseid, s.IsRequireGoods, s.supplier_type });
                 if (list.Count() > 1)
                 {
-                    return JsonConvert.SerializeObject("所选行的物料编码、供应商名称、采购类型必须相同");
+                    return JsonConvert.SerializeObject("所选行的物料编码、供应商名称、采购类型、供应类别必须相同");
                 }
             }
             else {
@@ -1114,12 +1115,12 @@ namespace Business.ResourceExamineManagement
             {
                 bool bl = pr.sentry_id == null;//区分是销售订单和非销售订单的合并。
                 //找到是否生成了新的PR  当前数据是否已经产生合并,则不再合并。
-                var newPr = insetPrList.Find(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id && s.IsRequireGoods == pr.IsRequireGoods && (s.sentry_id == null) == bl);
+                var newPr = insetPrList.Find(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id && s.IsRequireGoods == pr.IsRequireGoods && s.supplier_type==pr.supplier_type && (s.sentry_id == null) == bl);
                 //var newPr = insetPrList.Find(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id);
                 if (newPr == null)
                 {
                     //有多条才进行合并
-                    var ilist = prlist.Where(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id && s.IsRequireGoods == pr.IsRequireGoods && (s.sentry_id == null) == bl).ToList();
+                    var ilist = prlist.Where(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id && s.IsRequireGoods == pr.IsRequireGoods && s.supplier_type == pr.supplier_type && (s.sentry_id == null) == bl).ToList();
                     //var ilist = prlist.Where(s => s.pr_purchaseid == pr.pr_purchaseid && s.icitem_id == pr.icitem_id).ToList();
                     if (ilist.Count > 1)
                     {
@@ -1308,7 +1309,7 @@ namespace Business.ResourceExamineManagement
             DateTime toTime = DateTime.Now;
             DateTime starttime = toTime.AddDays(1);
             DateTime endtime = toTime.AddDays(8);
-            List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.company_id.ToString() == companyid && s.IsRequireGoods == 0 && s.pr_sarrive_date >= starttime &&
+            List<srm_pr_main> prlist = _mysql_srm_pr_main.GetListAsync(s => s.company_id.ToString() == companyid && s.IsRequireGoods == 1 && s.pr_sarrive_date >= starttime &&
             s.pr_sarrive_date <= endtime && s.state == 1).Result;
 
             if (prlist.Any())
@@ -1393,6 +1394,10 @@ namespace Business.ResourceExamineManagement
             {
                 return JsonConvert.SerializeObject("包含采购申请,不允许与要货令转采购订单。");
             }
+            if (prlist.Select(s => s.supplier_type).Count() > 1)
+            {
+                return JsonConvert.SerializeObject("供应类别不同,不允许一起转采购订单。");
+            }
             List<srm_purchase> purchaselist = _mysql_srm_purchase.GetListAsync(s => prlist.Select(c => c.icitem_id).Contains(s.icitem_id) && prlist.Select(c => c.pr_purchaseid).Contains(s.supplier_id)).Result;
             List<srm_supplier> itemsupplierList = _mysql_srm_supplier.GetListAsync(s => prlist.Select(c => c.pr_purchaseid).Contains(s.Id)).Result;
             var purclist = purchaselist.GroupBy(s => new { s.supplier_type, s.supplier_id });
@@ -1615,6 +1620,17 @@ namespace Business.ResourceExamineManagement
                         p.pr_billno = nbrlistDto[index].NbrResult;
                     }
                     index++;
+                    if (p.pr_purchaseid.GetValueOrDefault() == 0)
+                    {
+                        //数据丢失
+                        var list = _mysql_srm_purchase.GetListAsync(s => s.icitem_id == p.icitem_id).Result;
+                        if (list.Any())
+                        {
+                            p.pr_purchaseid = list[0].supplier_id;
+                            p.pr_purchasename = list[0].supplier_name;
+                            p.pr_purchasenumber = list[0].supplier_number;
+                        }
+                    }
                 }
             }
             
@@ -2183,6 +2199,7 @@ namespace Business.ResourceExamineManagement
                 po_Main.po_note = "";
                 po_Main.po_order_type = 1;
                 po_Main.po_total = 0;
+                po_Main.supplier_type = dto.supplier_type;
                 po_Main.currency = pr.currencytype;
                 po_Main.bill_type = poType;
                 po_Main.supplier_id = pr.pr_purchaseid;
@@ -2270,7 +2287,7 @@ namespace Business.ResourceExamineManagement
                 purOrdMasters.Add(new PurOrdMaster
                 {
                     Domain = domain,
-                    Potype = poType==1?"po":"pw",
+                    Potype = poType == 1 ? "po" : "pw",
                     PurOrd = a.po_billno,
                     Buyer = a.po_purchaser_no,
                     OrdDate = a.po_ssend_date,
@@ -2280,6 +2297,7 @@ namespace Business.ResourceExamineManagement
                     Department = a.purchasing_orgname,
                     CustPhone = a.suppliertelephone,
                     CustAddress = a.supplierdddress,
+                    USAGE = a.supplier_type,
                     IsActive = true,
                     CreateTime = a.create_time,
                     UpdateTime = a.update_time

+ 6 - 0
MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_po_main.cs

@@ -194,5 +194,11 @@ namespace Business.Domain
         /// </summary>
         [Comment("计算id")]
         public long? bang_id { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [Comment("供应类别")]
+        public string supplier_type { get; set; }
     }
 }

+ 6 - 0
MicroServices/Business/Business.Domain/MongoDB/SRM/mo_srm_pr_main.cs

@@ -253,5 +253,11 @@ namespace Business.Domain
         /// </summary>
         [Comment("采购类型")]
         public int IsRequireGoods { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [Comment("供应类别")]
+        public string supplier_type { get; set; }
     }
 }

+ 6 - 0
MicroServices/Business/Business.Domain/StructuredDB/MES/IC/PurOrdMaster.cs

@@ -129,5 +129,11 @@ namespace Business.Domain
         /// </summary>
         [Comment("类型")]
         public string ReqBy { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [Comment("供应类别")]
+        public string USAGE { get; set; }
     }
 }

+ 6 - 0
MicroServices/Business/Business.Domain/StructuredDB/SRM/srm_po_main.cs

@@ -196,5 +196,11 @@ namespace Business.Domain
         [Comment("计算id")]
         [NotMapped]
         public long? bang_id { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [Comment("供应类别")]
+        public string supplier_type { get; set; }
     }
 }

+ 6 - 0
MicroServices/Business/Business.Domain/StructuredDB/SRM/srm_pr_main.cs

@@ -244,5 +244,11 @@ namespace Business.Domain
         /// </summary>
         [Comment("采购类型")]
         public int IsRequireGoods { get; set; }
+
+        /// <summary>
+        /// 供应类别
+        /// </summary>
+        [Comment("供应类别")]
+        public string supplier_type { get; set; }
     }
 }