|
|
@@ -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
|