111
This commit is contained in:
parent
461d514177
commit
e661f5d8aa
@ -74,6 +74,8 @@ namespace Pilot_KD_Parino.Common
|
||||
/// 行号
|
||||
/// </summary>
|
||||
public int FRow { get; set; }
|
||||
|
||||
public int Fid { get; set; }
|
||||
/// <summary>
|
||||
/// 行级
|
||||
/// </summary>
|
||||
@ -167,5 +169,11 @@ namespace Pilot_KD_Parino.Common
|
||||
/// 销售员
|
||||
/// </summary>
|
||||
public int FSalesman { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 本次核销金额
|
||||
/// </summary>
|
||||
public double BenCi { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ namespace Pilot_KD_Parino.Common
|
||||
result.Add(new List<double>(current));
|
||||
return;
|
||||
}
|
||||
|
||||
payments = payments.Where(t => t <= target).ToList();
|
||||
for (int i = start; i < payments.Count(); i++)
|
||||
{
|
||||
if (payments[i] > target)
|
||||
|
@ -65,6 +65,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
var WriteReceiveDate = SQL.SqlManage_yuyubo.GetWriteReceiveDate3(this.Context, Convert.ToString(FOrgId));
|
||||
SaleBILLLIS = WriteOrderDate.Select(item => new CombinaClass
|
||||
{
|
||||
Fid= Convert.ToInt32(item["FID"]),
|
||||
FBIllNO = Convert.ToString(item["FBIllNO"]),
|
||||
FCONTRACTNUMBER = Convert.ToString(item["F_CONTRACTNUMBER"]),
|
||||
FClient = Convert.ToInt32(item["FCUSTID"]),
|
||||
@ -76,28 +77,13 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FSalesman = Convert.ToInt32(item["FSALERID"]),
|
||||
FIs30 = Convert.ToBoolean(item["FIs30"]),
|
||||
FType = Convert.ToString(item["FType"]),
|
||||
BenCi = Convert.ToDouble(item["BenCi"]),
|
||||
}).ToList();
|
||||
|
||||
//foreach (var item in WriteReceiveDate)
|
||||
//{
|
||||
// ReceiveBILLLIST.Add(new CombinaClass()
|
||||
// {
|
||||
// FBIllNO = Convert.ToString(item["FBIllNO"]),
|
||||
// FDate = Convert.ToString(item["FDate"]),
|
||||
// FALLAMOUNT = Convert.ToDouble(item["FALLAMOUNT"]),
|
||||
// FYAMOUNT = Convert.ToDouble(item["FYAMOUNT"]),
|
||||
// FDAMOUNT = Convert.ToDouble(item["FDAMOUNT"]),
|
||||
// FClient = Convert.ToInt32(item["FCONTACTUNIT"]),
|
||||
// FCreated = Convert.ToInt32(item["FCREATORID"]),
|
||||
// FRemark = Convert.ToString(item["FREMARK"]),
|
||||
// FSalesman = Convert.ToInt32(item["FSALEERID"]),
|
||||
// F_RowNew = 1
|
||||
// //FALLAMOUNTY = Convert.ToDouble(item["FALLAMOUNTY"]),
|
||||
// //FCurr = Convert.ToInt32(item["FCurr"])
|
||||
// });
|
||||
//}
|
||||
|
||||
ReceiveBILLLIST = WriteReceiveDate.Select(item => new CombinaClass
|
||||
{
|
||||
Fid = Convert.ToInt32(item["FID"]),
|
||||
FBIllNO = Convert.ToString(item["FBIllNO"]),
|
||||
FDate = Convert.ToString(item["FDate"]),
|
||||
FALLAMOUNT = Convert.ToDouble(item["FALLAMOUNT"]),
|
||||
@ -107,7 +93,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
FCreated = Convert.ToInt32(item["FCREATORID"]),
|
||||
FRemark = Convert.ToString(item["FREMARK"]),
|
||||
FSalesman = Convert.ToInt32(item["FSALEERID"]),
|
||||
F_RowNew = 1
|
||||
F_RowNew = 1,
|
||||
BenCi=0,
|
||||
}).ToList();
|
||||
SaleBILLLIS2 = SaleBILLLIS.ToList();
|
||||
|
||||
@ -149,6 +136,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("FROWID", FROWID, RowindexNew);
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, RowindexNew);
|
||||
this.View.Model.SetValue("FBILLNO2", ReceiveBILLLIST[i].FBIllNO, RowindexNew);
|
||||
this.View.Model.SetValue("F_BenCi", ReceiveBILLLIST[i].BenCi, RowindexNew);
|
||||
this.View.Model.SetValue("F_PendingAmount", ReceiveBILLLIST[i].FDAMOUNT, RowindexNew);
|
||||
this.View.Model.SetValue("FDATE2", DateTime.Now.AddDays(-1 * Convert.ToInt32(ReceiveBILLLIST[i].FDate)).ToString("yyyy-MM-dd"), RowindexNew);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", ReceiveBILLLIST[i].FALLAMOUNT, RowindexNew);
|
||||
this.View.Model.SetValue("FClient2", ReceiveBILLLIST[i].FClient, RowindexNew);
|
||||
@ -157,7 +146,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_lsn", ReceiveBILLLIST[i].FDAMOUNT, RowindexNew);
|
||||
this.View.Model.SetValue("FCreated2", ReceiveBILLLIST[i].FCreated, RowindexNew);
|
||||
this.View.Model.SetValue("FSalesman2", ReceiveBILLLIST[i].FSalesman, RowindexNew);
|
||||
this.View.Model.SetValue("F_RowNew", ReceiveBILLLIST[i].F_RowNew, RowindexNew);
|
||||
this.View.Model.SetValue("F_RowNew", ReceiveBILLLIST[i].F_RowNew, RowindexNew);
|
||||
|
||||
}
|
||||
this.View.UpdateView("FEntity2");
|
||||
}
|
||||
@ -589,6 +579,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
//var FClientList2 = SaleBILLLIS2Sal.GroupBy(t => t.FClient).ToList();
|
||||
//var FClientReceiveBillList= ReceiveBILLLIST
|
||||
|
||||
Dictionary<string, double> shouKuanDetail = new Dictionary<string, double>();
|
||||
|
||||
//先挑1张收款单对应一张销售订单
|
||||
var oneToOneTemp = (from q in SaleBILLLIS2Sal
|
||||
join u in ReceiveBILLLIST on new { q.FClient, q.FDAMOUNT } equals new { u.FClient, u.FDAMOUNT }
|
||||
@ -601,12 +593,21 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
ReceiveList1.ForEach(t =>
|
||||
{
|
||||
|
||||
var temp11 = oneToOneTemp.FirstOrDefault(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO)).FBIllNO;
|
||||
var temp111 = oneToOneTemp.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);
|
||||
@ -616,6 +617,9 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
{
|
||||
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
receiveItemTemp.FISHX = "已核销配对";
|
||||
receiveItemTemp.BenCi = temp111.FDAMOUNT;
|
||||
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
|
||||
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
|
||||
}
|
||||
|
||||
});
|
||||
@ -625,12 +629,18 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
List<string> deleteFBIllNOList = new List<string>();
|
||||
saleList1.ForEach(t =>
|
||||
{
|
||||
var temp11 = oneToOneTemp.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h=>h.UFbillNo).FirstOrDefault().UFbillNo;
|
||||
var temp111 = oneToOneTemp.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);
|
||||
@ -640,202 +650,298 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
|
||||
{
|
||||
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 != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FCONTRACTNUMBER).ThenBy(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FDate).ToList();
|
||||
|
||||
var SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FBIllNO).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0 ).OrderBy(t => t.FClient).ThenByDescending(t => t.FBIllNO).ToList();
|
||||
//打包式匹配法,按时间倒序逐一核销掉.
|
||||
ReceiveBILLLIST.ForEach(t =>
|
||||
{
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && t.FDAMOUNT >= h.FDAMOUNT).OrderBy(h => h.FBIllNO).ToList();
|
||||
List<double> sales1 = new List<double> { t.FDAMOUNT };
|
||||
var payments2 = tempList.Select(k => k.FDAMOUNT).ToList();
|
||||
|
||||
var matches = CombinationGenerator_yuyubo.MatchSalesAndPayments(sales1, payments2);
|
||||
|
||||
if (matches.Count > 0)
|
||||
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h=>h.FBIllNO).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 =>
|
||||
{
|
||||
var FDAMOUNTList = matches[0].FirstOrDefault();
|
||||
tempList = tempList.Where(h => FDAMOUNTList.Contains(h.FDAMOUNT)).OrderBy(h => h.FDate).ToList();
|
||||
var fbillNoList = tempList.Select(h => h.FBIllNO).ToList();
|
||||
var SaleTempList = SaleBILLLISNew.Where(h => fbillNoList.Contains(h.FBIllNO)).ToList();
|
||||
List<string> fString = new List<string>();
|
||||
SaleTempList.ForEach(item =>
|
||||
if (FDAMOUNT == 0)
|
||||
{
|
||||
//更新销售订单数据
|
||||
item.FSKBIllNO = t.FBIllNO;
|
||||
item.FISHX = "已核销配对";
|
||||
fString.Add(item.FCONTRACTNUMBER);
|
||||
});
|
||||
|
||||
string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
//更新收款单数据
|
||||
t.FCONTRACTNUMBER = fCONTRACTNUMBER;
|
||||
t.FISHX = "已核销配对";
|
||||
}
|
||||
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);
|
||||
|
||||
});
|
||||
//1个销售订单对应多张收款单
|
||||
SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FCONTRACTNUMBER).ThenBy(t => t.FDate).ToList();
|
||||
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FDate).ToList();
|
||||
SaleBILLLIS2Sa2.ForEach(t =>
|
||||
{
|
||||
var tempList = ReceiveBILLLIST.Where(h => h.FClient == t.FClient && t.FDAMOUNT >= h.FDAMOUNT).OrderBy(h => h.FBIllNO).ToList();
|
||||
List<double> sales1 = new List<double> { t.FDAMOUNT };
|
||||
var payments2 = tempList.Select(k => k.FDAMOUNT).ToList();
|
||||
|
||||
var matches = CombinationGenerator_yuyubo.MatchSalesAndPayments(sales1, payments2);
|
||||
|
||||
if (matches.Count > 0)
|
||||
{
|
||||
var FDAMOUNTList = matches[0].FirstOrDefault();
|
||||
tempList = tempList.Where(h => FDAMOUNTList.Contains(h.FDAMOUNT)).OrderBy(h => h.FDate).ToList();
|
||||
var fbillNoList = tempList.Select(h => h.FBIllNO).ToList();
|
||||
var ReceiveBILLLTempList = ReceiveBILLLIST.Where(h => fbillNoList.Contains(h.FBIllNO)).ToList();
|
||||
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;
|
||||
}
|
||||
|
||||
ReceiveBILLLTempList.ForEach(item =>
|
||||
{
|
||||
//更新收款单数据
|
||||
|
||||
item.FSKBIllNO = t.FBIllNO;
|
||||
item.FISHX = "已核销配对";
|
||||
item.FCONTRACTNUMBER = t.FCONTRACTNUMBER;
|
||||
//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);
|
||||
|
||||
t.FSKBIllNO = item.FBIllNO;
|
||||
});
|
||||
//更新销售订单数据
|
||||
t.FISHX = "已核销配对";
|
||||
}
|
||||
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();
|
||||
//ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对").OrderBy(t => t.FClient).ThenBy(t => t.FDate).ToList();
|
||||
//SaleBILLLIS2Sa2.ForEach(t =>
|
||||
//{
|
||||
// var tempList = ReceiveBILLLIST.Where(h => h.FClient == t.FClient && t.FDAMOUNT >= h.FDAMOUNT && h.FISHX != "已核销配对").OrderBy(h => h.FBIllNO).ToList();
|
||||
// List<double> sales1 = new List<double> { t.FDAMOUNT };
|
||||
// var payments2 = tempList.Select(k => k.FDAMOUNT).ToList();
|
||||
|
||||
// var matches = CombinationGenerator_yuyubo.MatchSalesAndPayments(sales1, payments2);
|
||||
// var FDAMOUNT = t.FDAMOUNT;
|
||||
// if (matches.Count > 0)
|
||||
// {
|
||||
// var FDAMOUNTList = matches[0].FirstOrDefault();
|
||||
// tempList = tempList.Where(h => FDAMOUNTList.Contains(h.FDAMOUNT)).OrderBy(h => h.FDate).ToList();
|
||||
// var fbillNoList = tempList.Select(h => h.FBIllNO).ToList();
|
||||
// var ReceiveBILLLTempList = ReceiveBILLLIST.Where(h => fbillNoList.Contains(h.FBIllNO)).ToList();
|
||||
// List<string> fString = new List<string>();
|
||||
// ReceiveBILLLTempList.ForEach(item =>
|
||||
// {
|
||||
// //更新收款单数据
|
||||
// if (FDAMOUNT > 0)
|
||||
// {
|
||||
// //item.FSKBIllNO = t.FBIllNO;
|
||||
// item.FISHX = "已核销配对";
|
||||
// item.FCONTRACTNUMBER = t.FCONTRACTNUMBER;
|
||||
// fString.Add(item.FBIllNO);
|
||||
|
||||
// }
|
||||
// });
|
||||
// //更新销售订单数据
|
||||
// t.FISHX = "已核销配对";
|
||||
// string fCONTRACTNUMBER = string.Join(",", fString);
|
||||
// //更新收款单数据
|
||||
// t.FSKBIllNO = fCONTRACTNUMBER;
|
||||
// }
|
||||
|
||||
//});
|
||||
|
||||
#endregion
|
||||
//删除数据
|
||||
this.View.Model.DeleteEntryData("FEntity");
|
||||
#endregion
|
||||
////删除数据
|
||||
//this.View.Model.DeleteEntryData("FEntity");
|
||||
|
||||
|
||||
//绑定销售订单数据
|
||||
for (int i = 0; i < SaleBILLLISNew.Count; i++)
|
||||
{
|
||||
int rowindex = this.View.Model.GetEntryRowCount("FEntity");
|
||||
this.View.Model.CreateNewEntryRow("FEntity");
|
||||
//单据编号
|
||||
this.View.Model.SetValue("FBILLNO", SaleBILLLISNew[i]?.FBIllNO, i);
|
||||
if (DateTime.TryParseExact(SaleBILLLISNew[i]?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
{
|
||||
this.View.Model.SetValue("FDate", SaleBILLLISNew[i]?.FDate, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("FDate", DateTime.Now.AddDays(-1 * Convert.ToInt32(SaleBILLLISNew[i]?.FDate)).ToString("yyyy-MM-dd"), i);
|
||||
}
|
||||
//金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_c1c", SaleBILLLISNew[i]?.FALLAMOUNT, i);
|
||||
//类型
|
||||
this.View.Model.SetValue("FType", SaleBILLLISNew[i]?.FType, i);
|
||||
//纸质合同号
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER", SaleBILLLISNew[i]?.FCONTRACTNUMBER, i);
|
||||
//客户名称
|
||||
this.View.Model.SetValue("FClient", SaleBILLLISNew[i]?.FClient, i);
|
||||
//已核销金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_vb1", SaleBILLLISNew[i]?.FYAMOUNT, i);
|
||||
//待核销金额
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_emq", SaleBILLLISNew[i]?.FDAMOUNT, i);
|
||||
//单据编号(收款单)
|
||||
this.View.Model.SetValue("FSKBILLNO", SaleBILLLISNew[i]?.FSKBIllNO, i);
|
||||
//是否核销匹对
|
||||
this.View.Model.SetValue("FISHX", SaleBILLLISNew[i]?.FISHX, i);
|
||||
//是否唯一
|
||||
this.View.Model.SetValue("FWeiYi", SaleBILLLISNew[i]?.FWeiYi, i);
|
||||
//商务人员
|
||||
this.View.Model.SetValue("FCreated", SaleBILLLISNew[i]?.FCreated, i);
|
||||
//销售员
|
||||
this.View.Model.SetValue("FSalesman", SaleBILLLISNew[i]?.FSalesman, i);
|
||||
}
|
||||
|
||||
this.View.UpdateView("FEntity");
|
||||
#region 绑定销售订单数据
|
||||
////绑定销售订单数据
|
||||
//for (int i = 0; i < SaleBILLLISNew.Count; i++)
|
||||
//{
|
||||
// int rowindex = this.View.Model.GetEntryRowCount("FEntity");
|
||||
// this.View.Model.CreateNewEntryRow("FEntity");
|
||||
// //单据编号
|
||||
// this.View.Model.SetValue("FBILLNO", SaleBILLLISNew[i]?.FBIllNO, i);
|
||||
// if (DateTime.TryParseExact(SaleBILLLISNew[i]?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate", SaleBILLLISNew[i]?.FDate, i);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate", DateTime.Now.AddDays(-1 * Convert.ToInt32(SaleBILLLISNew[i]?.FDate)).ToString("yyyy-MM-dd"), i);
|
||||
// }
|
||||
// //金额
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_c1c", SaleBILLLISNew[i]?.FALLAMOUNT, i);
|
||||
// //类型
|
||||
// this.View.Model.SetValue("FType", SaleBILLLISNew[i]?.FType, i);
|
||||
// //纸质合同号
|
||||
// this.View.Model.SetValue("FCONTRACTNUMBER", SaleBILLLISNew[i]?.FCONTRACTNUMBER, i);
|
||||
// //客户名称
|
||||
// this.View.Model.SetValue("FClient", SaleBILLLISNew[i]?.FClient, i);
|
||||
// //已核销金额
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_vb1", SaleBILLLISNew[i]?.FYAMOUNT, i);
|
||||
// //待核销金额
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_emq", SaleBILLLISNew[i]?.FDAMOUNT, i);
|
||||
// //单据编号(收款单)
|
||||
// this.View.Model.SetValue("FSKBILLNO", SaleBILLLISNew[i]?.FSKBIllNO, i);
|
||||
// //是否核销匹对
|
||||
// this.View.Model.SetValue("FISHX", SaleBILLLISNew[i]?.FISHX, i);
|
||||
// //是否唯一
|
||||
// this.View.Model.SetValue("FWeiYi", SaleBILLLISNew[i]?.FWeiYi, i);
|
||||
// //商务人员
|
||||
// this.View.Model.SetValue("FCreated", SaleBILLLISNew[i]?.FCreated, i);
|
||||
// //销售员
|
||||
// this.View.Model.SetValue("FSalesman", SaleBILLLISNew[i]?.FSalesman, i);
|
||||
//}
|
||||
|
||||
//this.View.UpdateView("FEntity");
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
//获取已配对的数据
|
||||
List<CombinaClass> SaleBILLLISNew2 = SaleBILLLISNew.Where(a => a.FISHX == "已核销配对").ToList();
|
||||
List<CombinaClass> SaleBILLLISNew2 = SaleBILLLISNew.Where(a => a.FSKBIllNO !="" && a.FSKBIllNO != null).ToList();
|
||||
INDEXNumber = 1;
|
||||
//绑定收款单数据
|
||||
foreach (var item in ReceiveBILLLIST)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(item.FCONTRACTNUMBER))
|
||||
{
|
||||
this.Model.SetValue("FISHX2", item.FISHX, item.FRow);
|
||||
this.Model.SetValue("FCONTRACTNUMBER2", item.FCONTRACTNUMBER, item.FRow);
|
||||
this.Model.SetValue("FWeiYi2", item.FWeiYi, item.FRow);
|
||||
this.View.Model.SetValue("FISHX2", item.FISHX, item.FRow);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", item.FCONTRACTNUMBER, item.FRow);
|
||||
this.View.Model.SetValue("FWeiYi2", item.FWeiYi, item.FRow);
|
||||
var FROWID = Convert.ToString(this.View.Model.GetValue("FROWID", item.FRow));
|
||||
var sumAmount = this.Model.GetValue("F_MBBA_Decimal_imu", item.FRow);
|
||||
this.Model.SetValue("F_MBBA_Decimal_qtr", sumAmount, item.FRow);
|
||||
string[] strings = item.FCONTRACTNUMBER.Split(',');
|
||||
if (strings.Count() == 1 && item.FWeiYi == "否")
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_qtr", sumAmount, item.FRow);
|
||||
this.View.Model.SetValue("F_PendingAmount", item.FDAMOUNT, item.FRow);
|
||||
this.View.Model.SetValue("F_BenCi", item.BenCi, item.FRow);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_3iy", item.FYAMOUNT, item.FRow);
|
||||
|
||||
List<string> strings = new List<string>();
|
||||
if (item.FCONTRACTNUMBER != null)
|
||||
strings = item.FCONTRACTNUMBER.Split(',').ToList();
|
||||
|
||||
var tempList2 = SaleBILLLISNew2.Where(h => strings.Contains(h.FCONTRACTNUMBER)).ToList();
|
||||
var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
for (int i = 0; i < tempList2.Count; i++)
|
||||
{
|
||||
for (int i = 0; i < SaleBILLLISNew2.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))
|
||||
{
|
||||
if (strings.Contains(SaleBILLLISNew2[i].FCONTRACTNUMBER))
|
||||
{
|
||||
var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
this.View.Model.SetValue("FROWID", SequentialGuid.NewGuid().ToString(), Rowindex);
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex);
|
||||
this.View.Model.SetValue("FBILLNO2", SaleBILLLISNew2[i].FBIllNO, Rowindex);
|
||||
if (DateTime.TryParseExact(item?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", item?.FDate, Rowindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex);
|
||||
}
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", item.FDAMOUNT, Rowindex);
|
||||
this.View.Model.SetValue("FClient2", SaleBILLLISNew2[i].FClient, Rowindex);
|
||||
this.View.Model.SetValue("FCreated2", SaleBILLLISNew2[i].FCreated, Rowindex);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", SaleBILLLISNew2[i].FCONTRACTNUMBER, Rowindex);
|
||||
this.View.Model.SetValue("FSalesman2", SaleBILLLISNew2[i].FSalesman, Rowindex);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_qtr", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
this.View.UpdateView("FEntity2");
|
||||
}
|
||||
this.View.Model.SetValue("FDate2", item?.FDate, Rowindex + i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < SaleBILLLISNew2.Count; i++)
|
||||
else
|
||||
{
|
||||
if (strings.Contains(SaleBILLLISNew2[i].FCONTRACTNUMBER))
|
||||
{
|
||||
var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
this.View.Model.SetValue("FROWID", SequentialGuid.NewGuid().ToString(), Rowindex);
|
||||
this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex);
|
||||
this.View.Model.SetValue("FBILLNO2", SaleBILLLISNew2[i].FBIllNO, Rowindex);
|
||||
if (DateTime.TryParseExact(item?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", item?.FDate, Rowindex);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex);
|
||||
}
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_imu", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
this.View.Model.SetValue("FClient2", SaleBILLLISNew2[i].FClient, Rowindex);
|
||||
this.View.Model.SetValue("FCreated2", SaleBILLLISNew2[i].FCreated, Rowindex);
|
||||
this.View.Model.SetValue("FCONTRACTNUMBER2", SaleBILLLISNew2[i].FCONTRACTNUMBER, Rowindex);
|
||||
this.View.Model.SetValue("FSalesman2", SaleBILLLISNew2[i].FSalesman, Rowindex);
|
||||
this.View.Model.SetValue("F_MBBA_Decimal_qtr", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
this.View.UpdateView("FEntity2");
|
||||
}
|
||||
}
|
||||
this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex + i);
|
||||
}
|
||||
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("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.UpdateView("FEntity2");
|
||||
|
||||
//if (strings.Count() == 1 && item.FWeiYi == "否")
|
||||
//{
|
||||
// for (int i = 0; i < SaleBILLLISNew2.Count; i++)
|
||||
// {
|
||||
// if (strings.Contains(SaleBILLLISNew2[i].FCONTRACTNUMBER))
|
||||
// {
|
||||
// var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
// this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
// this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
// this.View.Model.SetValue("FROWID", SequentialGuid.NewGuid().ToString(), Rowindex);
|
||||
// this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex);
|
||||
// this.View.Model.SetValue("FBILLNO2", SaleBILLLISNew2[i].FBIllNO, Rowindex);
|
||||
// if (DateTime.TryParseExact(item?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate2", item?.FDate, Rowindex);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex);
|
||||
// }
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_imu", item.FDAMOUNT, Rowindex);
|
||||
// this.View.Model.SetValue("FClient2", SaleBILLLISNew2[i].FClient, Rowindex);
|
||||
// this.View.Model.SetValue("FCreated2", SaleBILLLISNew2[i].FCreated, Rowindex);
|
||||
// this.View.Model.SetValue("FCONTRACTNUMBER2", SaleBILLLISNew2[i].FCONTRACTNUMBER, Rowindex);
|
||||
// this.View.Model.SetValue("FSalesman2", SaleBILLLISNew2[i].FSalesman, Rowindex);
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_qtr", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
// this.View.UpdateView("FEntity2");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// for (int i = 0; i < SaleBILLLISNew2.Count; i++)
|
||||
// {
|
||||
// if (strings.Contains(SaleBILLLISNew2[i].FCONTRACTNUMBER))
|
||||
// {
|
||||
// var Rowindex = this.View.Model.GetEntryRowCount("FEntity2");
|
||||
// this.View.Model.SetValue("FPARENTROWID", FROWID, item.FRow);
|
||||
// this.View.Model.CreateNewEntryRow("FEntity2");
|
||||
// this.View.Model.SetValue("FROWID", SequentialGuid.NewGuid().ToString(), Rowindex);
|
||||
// this.View.Model.SetValue("FPARENTROWID", FROWID, Rowindex);
|
||||
// this.View.Model.SetValue("FBILLNO2", SaleBILLLISNew2[i].FBIllNO, Rowindex);
|
||||
// if (DateTime.TryParseExact(item?.FDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime parsedDate))
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate2", item?.FDate, Rowindex);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// this.View.Model.SetValue("FDate2", DateTime.Now.AddDays(-1 * Convert.ToInt32(item?.FDate)).ToString("yyyy-MM-dd"), Rowindex);
|
||||
// }
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_imu", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
// this.View.Model.SetValue("FClient2", SaleBILLLISNew2[i].FClient, Rowindex);
|
||||
// this.View.Model.SetValue("FCreated2", SaleBILLLISNew2[i].FCreated, Rowindex);
|
||||
// this.View.Model.SetValue("FCONTRACTNUMBER2", SaleBILLLISNew2[i].FCONTRACTNUMBER, Rowindex);
|
||||
// this.View.Model.SetValue("FSalesman2", SaleBILLLISNew2[i].FSalesman, Rowindex);
|
||||
// this.View.Model.SetValue("F_MBBA_Decimal_qtr", SaleBILLLISNew2[i].FALLAMOUNT, Rowindex);
|
||||
// this.View.UpdateView("FEntity2");
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
this.Model.SetValue("FROWEXPANDTYPE", (int)ENUM_ROWTYPE.Expand, item.FRow);
|
||||
}
|
||||
}
|
||||
|
@ -115,7 +115,7 @@ namespace Pilot_KD_Parino.SQL
|
||||
{
|
||||
//定义SQL,调用物料视图
|
||||
string sql = string.Format(@"/*dialect*/
|
||||
SELECT
|
||||
SELECT A.FID,
|
||||
A.FSALEERID,
|
||||
A.FCONTACTUNIT,
|
||||
A.FREMARK,
|
||||
@ -132,7 +132,8 @@ namespace Pilot_KD_Parino.SQL
|
||||
AND A.FISINIT != '1'
|
||||
AND A.FSALEORGID = {0}
|
||||
AND A.FRECAMOUNT != A.F_AMOUNT
|
||||
AND A.FRECAMOUNT >= A.F_AMOUNT", FORGID);
|
||||
AND A.FRECAMOUNT >= A.F_AMOUNT
|
||||
order by FCONTACTUNIT,A.FID desc ", FORGID);
|
||||
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
||||
}
|
||||
|
||||
@ -235,7 +236,8 @@ namespace Pilot_KD_Parino.SQL
|
||||
C.FBILLALLAMOUNT_LC-A.F_AMOUNT as 'FDAMOUNT',
|
||||
C.FSETTLECURRID as 'FCurr',
|
||||
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
|
||||
'销售订单' as 'FTYPE'
|
||||
'销售订单' as 'FTYPE',
|
||||
0.00 AS BenCi
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
|
||||
WHERE
|
||||
@ -244,7 +246,7 @@ namespace Pilot_KD_Parino.SQL
|
||||
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!=''
|
||||
AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC
|
||||
or A.F_AMOUNT IS NULL) AND A.FBusinessType='NORMAL'
|
||||
) A ORDER BY A.FCUSTID,a.FDATE ");
|
||||
) A ORDER BY A.FCUSTID,a.FID desc ");
|
||||
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user