232
This commit is contained in:
@@ -51,7 +51,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
private string parentRowId = "";//父项ID
|
||||
string dateFormat = "yyyy-MM-dd HH:mm:ss"; // 指定的日期格式
|
||||
int status11=1;
|
||||
|
||||
int SourceType = 0;
|
||||
/// <summary>
|
||||
/// 开始
|
||||
/// </summary>
|
||||
@@ -459,7 +459,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
|
||||
#region 新版 2025-04-07
|
||||
#region 匹配销售订单
|
||||
var SaleBILLLIS2Sal = SaleBILLLIS2.Where(t => t.FType == "销售订单" && t.FISHX != "已核销配对").ToList();
|
||||
var SaleBILLLIS2Sal = SaleBILLLIS2.Where(t => t.FISHX != "已核销配对").ToList();
|
||||
//将销售订单根据客户分组
|
||||
//var FClientList2 = SaleBILLLIS2Sal.GroupBy(t => t.FClient).ToList();
|
||||
//var FClientReceiveBillList= ReceiveBILLLIST
|
||||
@@ -633,163 +633,167 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
}
|
||||
|
||||
|
||||
//3、收款单的待核销金额与订单的待最近30天开票金额(只有医院客户)
|
||||
var SaleBILLLIS2Sa333 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0 ).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
|
||||
var oneToOneTemp3 = (from q in SaleBILLLIS2Sa333
|
||||
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT = q.FInvoiceAmount30Days } equals new { u.FClient, u.FDAMOUNT }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
|
||||
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
|
||||
var saleList33 = oneToOneTemp3.Select(t => t.FBIllNO).Distinct().ToList();
|
||||
var ReceiveList33 = oneToOneTemp3.Select(t => t.UFbillNo).Distinct().ToList();
|
||||
if (SaleBILLLIS2Sa333.Count() > ReceiveList33.Count())
|
||||
|
||||
if (SourceType == 0) //只有销售单有这两种匹配逻辑
|
||||
{
|
||||
List<string> deleteFBIllNOList = new List<string>();
|
||||
ReceiveList33.ForEach(t =>
|
||||
{
|
||||
var temp111 = oneToOneTemp3.FirstOrDefault(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO));
|
||||
if (temp111 == null)
|
||||
return;
|
||||
var temp11 = temp111.FBIllNO;
|
||||
deleteFBIllNOList.Add(temp11);
|
||||
var item = SaleBILLLISNew.Where(h => h.FBIllNO == temp11).OrderBy(h => h.FDate).FirstOrDefault();
|
||||
//更新销售订单数据
|
||||
item.FSKBIllNO = t;
|
||||
item.FISHX = "已核销配对";
|
||||
item.BenCi = temp111.FDAMOUNT;
|
||||
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
|
||||
//3、收款单的待核销金额与订单的待最近30天开票金额(只有医院客户)
|
||||
var SaleBILLLIS2Sa333 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
|
||||
shouKuanDetail.Add(t + "," + item.FBIllNO, item.BenCi);
|
||||
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
|
||||
//item.=
|
||||
List<string> fString = new List<string>();
|
||||
fString.Add(item.FCONTRACTNUMBER);
|
||||
string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
//更新收款单数据
|
||||
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == t);
|
||||
if (receiveItemTemp != null)
|
||||
var oneToOneTemp3 = (from q in SaleBILLLIS2Sa333
|
||||
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT = q.FInvoiceAmount30Days } equals new { u.FClient, u.FDAMOUNT }
|
||||
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
|
||||
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
|
||||
var saleList33 = oneToOneTemp3.Select(t => t.FBIllNO).Distinct().ToList();
|
||||
var ReceiveList33 = oneToOneTemp3.Select(t => t.UFbillNo).Distinct().ToList();
|
||||
|
||||
if (SaleBILLLIS2Sa333.Count() > ReceiveList33.Count())
|
||||
{
|
||||
List<string> deleteFBIllNOList = new List<string>();
|
||||
ReceiveList33.ForEach(t =>
|
||||
{
|
||||
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
receiveItemTemp.FISHX = "已核销配对";
|
||||
receiveItemTemp.BenCi = temp111.FDAMOUNT;
|
||||
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
|
||||
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
|
||||
}
|
||||
var temp111 = oneToOneTemp3.FirstOrDefault(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO));
|
||||
if (temp111 == null)
|
||||
return;
|
||||
var temp11 = temp111.FBIllNO;
|
||||
deleteFBIllNOList.Add(temp11);
|
||||
var item = SaleBILLLISNew.Where(h => h.FBIllNO == temp11).OrderBy(h => h.FDate).FirstOrDefault();
|
||||
//更新销售订单数据
|
||||
item.FSKBIllNO = t;
|
||||
item.FISHX = "已核销配对";
|
||||
item.BenCi = temp111.FDAMOUNT;
|
||||
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
|
||||
|
||||
shouKuanDetail.Add(t + "," + item.FBIllNO, item.BenCi);
|
||||
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
|
||||
//item.=
|
||||
List<string> fString = new List<string>();
|
||||
fString.Add(item.FCONTRACTNUMBER);
|
||||
string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
//更新收款单数据
|
||||
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == t);
|
||||
if (receiveItemTemp != null)
|
||||
{
|
||||
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
receiveItemTemp.FISHX = "已核销配对";
|
||||
receiveItemTemp.BenCi = temp111.FDAMOUNT;
|
||||
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
|
||||
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
List<string> deleteFBIllNOList = new List<string>();
|
||||
saleList33.ForEach(t =>
|
||||
{
|
||||
var temp111 = oneToOneTemp3.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h => h.UFbillNo).FirstOrDefault();
|
||||
if (temp111 == null)
|
||||
return;
|
||||
var temp11 = temp111.UFbillNo;
|
||||
deleteFBIllNOList.Add(temp11);
|
||||
var item = SaleBILLLISNew.FirstOrDefault(h => h.FBIllNO == t);
|
||||
//更新销售订单数据
|
||||
item.FSKBIllNO = t;
|
||||
item.FISHX = "已核销配对";
|
||||
item.BenCi = temp111.FDAMOUNT;
|
||||
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
|
||||
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
|
||||
List<string> fString = new List<string>();
|
||||
fString.Add(item.FCONTRACTNUMBER);
|
||||
string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
//更新收款单数据
|
||||
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == temp11);
|
||||
if (receiveItemTemp != null)
|
||||
{
|
||||
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
receiveItemTemp.FISHX = "已核销配对";
|
||||
receiveItemTemp.BenCi = temp111.FDAMOUNT;
|
||||
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
|
||||
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
|
||||
receiveItemTemp.FWeiYi = "是";
|
||||
|
||||
shouKuanDetail.Add(receiveItemTemp.FBIllNO + "," + item.FBIllNO, item.BenCi);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//先挑1张收款单对应多张张销售订单
|
||||
var SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
//打包式匹配法,按时间倒序逐一核销掉.
|
||||
|
||||
ReceiveBILLLIST.ForEach(t =>
|
||||
{
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FDate).ToList();
|
||||
|
||||
var FDAMOUNT = t.FDAMOUNT;
|
||||
List<string> heTongList = new List<string>();
|
||||
if (t.FCONTRACTNUMBER != null)
|
||||
heTongList = t.FCONTRACTNUMBER.Split(',').ToList().Distinct().ToList();
|
||||
if (heTongList == null)
|
||||
heTongList = new List<string>();
|
||||
tempList.ForEach(sale =>
|
||||
{
|
||||
if (FDAMOUNT == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
double benCi = 0;
|
||||
List<string> str = new List<string>();
|
||||
if (sale.FSKBIllNO != null)
|
||||
str = sale.FSKBIllNO.Split(',').ToList();
|
||||
if (str == null)
|
||||
str = new List<string>();
|
||||
str.Add(t.FBIllNO);
|
||||
sale.FSKBIllNO = string.Join(",", str);
|
||||
|
||||
if (FDAMOUNT >= sale.FDAMOUNT)
|
||||
{
|
||||
benCi = sale.FDAMOUNT;
|
||||
sale.BenCi = sale.FDAMOUNT;
|
||||
sale.FDAMOUNT = 0;
|
||||
sale.FISHX = "已核销配对";
|
||||
}
|
||||
else
|
||||
{
|
||||
benCi = FDAMOUNT;
|
||||
sale.BenCi = FDAMOUNT;
|
||||
sale.FDAMOUNT = sale.FDAMOUNT - benCi;
|
||||
}
|
||||
|
||||
//sale.FYAMOUNT = sale.FYAMOUNT + sale.BenCi;
|
||||
heTongList.Add(sale.FCONTRACTNUMBER);
|
||||
heTongList = heTongList.Distinct().ToList();
|
||||
str = new List<string>();
|
||||
if (t.FSKBIllNO != null)
|
||||
str = t.FSKBIllNO.Split(',').ToList();
|
||||
if (str == null)
|
||||
str = new List<string>();
|
||||
str.Add(sale.FBIllNO);
|
||||
|
||||
shouKuanDetail.Add(t.FBIllNO + "," + sale.FBIllNO, benCi);
|
||||
|
||||
FDAMOUNT = FDAMOUNT - sale.BenCi;
|
||||
t.FDAMOUNT = t.FDAMOUNT - benCi;
|
||||
//t.FYAMOUNT = t.FYAMOUNT + sale.BenCi;
|
||||
t.BenCi = t.BenCi + benCi;
|
||||
t.FCONTRACTNUMBER = string.Join(",", heTongList);
|
||||
if (heTongList.Count == 1)
|
||||
t.FWeiYi = "是";
|
||||
else
|
||||
t.FWeiYi = "否";
|
||||
if (t.FDAMOUNT == 0)
|
||||
{
|
||||
t.FISHX = "已核销配对";
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
List<string> deleteFBIllNOList = new List<string>();
|
||||
saleList33.ForEach(t =>
|
||||
{
|
||||
var temp111 = oneToOneTemp3.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h => h.UFbillNo).FirstOrDefault();
|
||||
if (temp111 == null)
|
||||
return;
|
||||
var temp11 = temp111.UFbillNo;
|
||||
deleteFBIllNOList.Add(temp11);
|
||||
var item = SaleBILLLISNew.FirstOrDefault(h => h.FBIllNO == t);
|
||||
//更新销售订单数据
|
||||
item.FSKBIllNO = t;
|
||||
item.FISHX = "已核销配对";
|
||||
item.BenCi = temp111.FDAMOUNT;
|
||||
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
|
||||
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
|
||||
List<string> fString = new List<string>();
|
||||
fString.Add(item.FCONTRACTNUMBER);
|
||||
string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
//更新收款单数据
|
||||
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == temp11);
|
||||
if (receiveItemTemp != null)
|
||||
{
|
||||
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
receiveItemTemp.FISHX = "已核销配对";
|
||||
receiveItemTemp.BenCi = temp111.FDAMOUNT;
|
||||
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
|
||||
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
|
||||
receiveItemTemp.FWeiYi = "是";
|
||||
|
||||
shouKuanDetail.Add(receiveItemTemp.FBIllNO + "," + item.FBIllNO, item.BenCi);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//先挑1张收款单对应多张张销售订单
|
||||
var SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
|
||||
//打包式匹配法,按时间倒序逐一核销掉.
|
||||
ReceiveBILLLIST.ForEach(t =>
|
||||
{
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FDate).ToList();
|
||||
|
||||
var FDAMOUNT = t.FDAMOUNT;
|
||||
List<string> heTongList = new List<string>();
|
||||
if (t.FCONTRACTNUMBER != null)
|
||||
heTongList = t.FCONTRACTNUMBER.Split(',').ToList().Distinct().ToList();
|
||||
if (heTongList == null)
|
||||
heTongList = new List<string>();
|
||||
tempList.ForEach(sale =>
|
||||
{
|
||||
if (FDAMOUNT == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
double benCi = 0;
|
||||
List<string> str = new List<string>();
|
||||
if (sale.FSKBIllNO != null)
|
||||
str = sale.FSKBIllNO.Split(',').ToList();
|
||||
if (str == null)
|
||||
str = new List<string>();
|
||||
str.Add(t.FBIllNO);
|
||||
sale.FSKBIllNO = string.Join(",", str);
|
||||
|
||||
if (FDAMOUNT >= sale.FDAMOUNT)
|
||||
{
|
||||
benCi = sale.FDAMOUNT;
|
||||
sale.BenCi = sale.FDAMOUNT;
|
||||
sale.FDAMOUNT = 0;
|
||||
sale.FISHX = "已核销配对";
|
||||
}
|
||||
else
|
||||
{
|
||||
benCi = FDAMOUNT;
|
||||
sale.BenCi = FDAMOUNT;
|
||||
sale.FDAMOUNT = sale.FDAMOUNT - benCi;
|
||||
}
|
||||
|
||||
//sale.FYAMOUNT = sale.FYAMOUNT + sale.BenCi;
|
||||
heTongList.Add(sale.FCONTRACTNUMBER);
|
||||
heTongList = heTongList.Distinct().ToList();
|
||||
str = new List<string>();
|
||||
if (t.FSKBIllNO != null)
|
||||
str = t.FSKBIllNO.Split(',').ToList();
|
||||
if (str == null)
|
||||
str = new List<string>();
|
||||
str.Add(sale.FBIllNO);
|
||||
|
||||
shouKuanDetail.Add(t.FBIllNO + "," + sale.FBIllNO, benCi);
|
||||
|
||||
FDAMOUNT = FDAMOUNT - sale.BenCi;
|
||||
t.FDAMOUNT = t.FDAMOUNT - benCi;
|
||||
//t.FYAMOUNT = t.FYAMOUNT + sale.BenCi;
|
||||
t.BenCi = t.BenCi + benCi;
|
||||
t.FCONTRACTNUMBER = string.Join(",", heTongList);
|
||||
if (heTongList.Count == 1)
|
||||
t.FWeiYi = "是";
|
||||
else
|
||||
t.FWeiYi = "否";
|
||||
if (t.FDAMOUNT == 0)
|
||||
{
|
||||
t.FISHX = "已核销配对";
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
#region
|
||||
////1个销售订单对应多张收款单
|
||||
//SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FCONTRACTNUMBER).ThenBy(t => t.FDate).ToList();
|
||||
@@ -903,34 +907,37 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
for (int i = 0; i < tempList2.Count; i++)
|
||||
{
|
||||
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
this.View.Model.SetValue("FROWID", Guid.NewGuid().ToString(), Rowindex + i);
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex + i);
|
||||
this.View.Model.SetValue("FBILLNO2", tempList2[i].FBIllNO, Rowindex + i);
|
||||
if (DateTime.TryParseExact(item?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
double benci = 0;
|
||||
if (shouKuanDetail.ContainsKey(item.FBIllNO + "," + tempList2[i].FBIllNO))
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", item?.FDate, Rowindex + i);
|
||||
benci = shouKuanDetail[item.FBIllNO + "," + tempList2[i].FBIllNO];
|
||||
}
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
if(benci==0)
|
||||
continue;
|
||||
this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
this.View.Model.SetValue("FROWID", Guid.NewGuid().ToString(), Rowindex + 1);
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex + 1);
|
||||
this.View.Model.SetValue("FBILLNO2", tempList2[i].FBIllNO, Rowindex + 1);
|
||||
if (DateTime.TryParseExact(tempList2[i].FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", tempList2[i].FDate, Rowindex + 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex + i);
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(tempList2[i].FDate)).ToString("yyyy-MM-dd"), Rowindex + 1);
|
||||
}
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", tempList2[i].FALLAMOUNT, Rowindex + i);
|
||||
this.View.Model.SetValue("FClient2", tempList2[i].FClient, Rowindex + i);
|
||||
this.View.Model.SetValue("F_RowNew", 2, Rowindex + i);
|
||||
this.View.Model.SetValue("FCreated2", tempList2[i].FCreated, Rowindex + i);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", tempList2[i].FCONTRACTNUMBER, Rowindex + i);
|
||||
this.View.Model.SetValue("FSalesman2", tempList2[i].FSalesman, Rowindex + i);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_qtr", tempList2[i].FDAMOUNT, Rowindex + i);
|
||||
|
||||
this.View.Model.SetValue("F_PendingAmount", tempList2[i].FDAMOUNT, Rowindex + i);
|
||||
double benci = shouKuanDetail[item.FBIllNO + "," + tempList2[i].FBIllNO];
|
||||
|
||||
this.View.Model.SetValue("F_BenCi", benci, Rowindex + i);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_3iy", tempList2[i].FYAMOUNT, Rowindex + i);
|
||||
this.View.Model.SetValue("F_ISHX", false, Rowindex + i);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", tempList2[i].FALLAMOUNT, Rowindex + 1);
|
||||
this.View.Model.SetValue("FClient2", tempList2[i].FClient, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_RowNew", 2, Rowindex + 1);
|
||||
this.View.Model.SetValue("FCreated2", tempList2[i].FCreated, Rowindex + 1);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", tempList2[i].FCONTRACTNUMBER, Rowindex + 1);
|
||||
this.View.Model.SetValue("FSalesman2", tempList2[i].FSalesman, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_qtr", tempList2[i].FDAMOUNT, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_PendingAmount", tempList2[i].FDAMOUNT, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_BenCi", benci, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_3iy", tempList2[i].FYAMOUNT, Rowindex + 1);
|
||||
this.View.Model.SetValue("F_ISHX", false, Rowindex + 1);
|
||||
|
||||
}
|
||||
|
||||
@@ -1111,7 +1118,11 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
try
|
||||
{
|
||||
//创建核销记录单
|
||||
string FBILLNO = CommonHelper.CreateAutoWrireRecord2(this.Context, Convert.ToString(FOrgId), item.XSAPList, item);
|
||||
string FBILLNO = "";
|
||||
if(SourceType==0)
|
||||
FBILLNO = CommonHelper.CreateAutoWrireRecord2(this.Context, Convert.ToString(FOrgId), item.XSAPList, item);
|
||||
else
|
||||
FBILLNO = CommonHelper.CreateAutoWrireRecord3(this.Context, Convert.ToString(FOrgId), item.XSAPList, item);
|
||||
if (FBILLNO != "")
|
||||
{
|
||||
Message = Message + string.Format("生成核销记录单成功,单号为:'{0}'\r\n", FBILLNO);
|
||||
@@ -1135,7 +1146,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
{
|
||||
var tempRow = ReceiveBILLLIST2.Where(t => successFbillNo.Contains(t.FBIllNO)).ToList();
|
||||
var pId = tempRow.Select(t => t.FROWID).ToList();
|
||||
var allRows = FEntity2.Where(t => pId.Contains(t["PARENTROWID"].ToString())).ToList();
|
||||
var allRows = FEntity2.Where(t => t["PARENTROWID"] !=null && pId.Contains(t["PARENTROWID"].ToString())).ToList();
|
||||
allRows.ForEach(t =>
|
||||
{
|
||||
this.Model.DeleteEntryRow("FEntity2", Convert.ToInt32(t["Seq"]) - 1);
|
||||
@@ -1393,7 +1404,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
if (F_RowNew != "1")
|
||||
return;
|
||||
string PARENTROWID = this.Model.GetValue("FPARENTROWID", e.Row)?.ToString();
|
||||
var dataRow = FEntity2.Where(item => item["PARENTROWID"].ToString() == PARENTROWID && int.Parse(item["F_RowNew"].ToString()) != 1).ToList();
|
||||
var dataRow = FEntity2.Where(item => item["PARENTROWID"] !=null && item["PARENTROWID"].ToString() == PARENTROWID && int.Parse(item["F_RowNew"].ToString()) != 1).ToList();
|
||||
if (IsHX.ToLower() == "true" && dataRow.Where(t => t["F_ISHX"].ToString().ToLower() == "true").Count() > 0)
|
||||
{
|
||||
return;
|
||||
@@ -1471,6 +1482,9 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
{
|
||||
FilterParameter returnData = action.ReturnData as FilterParameter;//过滤框返回的数据
|
||||
DynamicObject dyObj = returnData.CustomFilter as DynamicObject;
|
||||
//获取应收款数据来源 0=销售订单 1=发货通知单
|
||||
SourceType = Convert.ToInt32(dyObj["F_Source_Type2"]);
|
||||
|
||||
//获取组织FID
|
||||
DynamicObject FSaleOrg = dyObj["F_ZhuZhi2"] as DynamicObject;
|
||||
string FSaleOrgId = "";
|
||||
@@ -1499,15 +1513,17 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
if (ZZS.Count > 0)
|
||||
{
|
||||
List<string> zzList = new List<string>();
|
||||
//循环获取多选组织FID
|
||||
//循环获取多选客户FID
|
||||
foreach (DynamicObject dobj in ZZS)
|
||||
{
|
||||
DynamicObject dynamic = dobj["FClientList"] as DynamicObject;
|
||||
zzList.Add(dynamic["ID"].ToString());
|
||||
}
|
||||
CustFid = string.Join("','", zzList);
|
||||
|
||||
where1 += $@" and A.FCUSTID in ('{CustFid}')";
|
||||
if(SourceType==0)
|
||||
where1 += $@" and A.FCUSTID in ('{CustFid}')";
|
||||
else
|
||||
where1 += $@" and A.FCustomerID in ('{CustFid}')";
|
||||
where2 += $@" and A.FCONTACTUNIT in ('{CustFid}')";
|
||||
}
|
||||
//this.View.ShowMessage(string.Format("选中的客户是:{0}s", CustFid));
|
||||
@@ -1535,12 +1551,19 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
//删除四个单据体
|
||||
this.View.Model.DeleteEntryData("FEntity");
|
||||
this.View.Model.DeleteEntryData("FEntity2");
|
||||
|
||||
|
||||
//var FShuaXin = this.View.Model.GetValue("FShuaXin");
|
||||
|
||||
|
||||
DynamicObjectCollection WriteOrderDate;
|
||||
//调用SQL获取数据
|
||||
var WriteOrderDate = SQL.SqlManage_yuyubo.GetWriteOrderDate3(this.Context, FSaleOrgId, where1);
|
||||
if (SourceType == 0)
|
||||
WriteOrderDate = SQL.SqlManage_yuyubo.GetWriteOrderDate3(this.Context, FSaleOrgId, where1);
|
||||
else
|
||||
WriteOrderDate = SQL.SqlManage_yuyubo.GetFaHuoTongZhiDan(this.Context, FSaleOrgId, where1);
|
||||
|
||||
var WriteReceiveDate = SQL.SqlManage_yuyubo.GetWriteReceiveDate3(this.Context, FSaleOrgId, where2);
|
||||
|
||||
|
||||
SaleBILLLIS = WriteOrderDate.Select(item => new CombinaClass
|
||||
{
|
||||
Fid = Convert.ToInt32(item["FID"]),
|
||||
|
||||
Reference in New Issue
Block a user