diff --git a/Pilot_KD_Parino/Common/CombinaClass.cs b/Pilot_KD_Parino/Common/CombinaClass.cs
index e07684d..3c39db0 100644
--- a/Pilot_KD_Parino/Common/CombinaClass.cs
+++ b/Pilot_KD_Parino/Common/CombinaClass.cs
@@ -74,6 +74,8 @@ namespace Pilot_KD_Parino.Common
/// 行号
///
public int FRow { get; set; }
+
+ public int Fid { get; set; }
///
/// 行级
///
@@ -167,5 +169,11 @@ namespace Pilot_KD_Parino.Common
/// 销售员
///
public int FSalesman { get; set; }
+
+ ///
+ /// 本次核销金额
+ ///
+ public double BenCi { get; set; }
+
}
}
diff --git a/Pilot_KD_Parino/Common/CombinationGenerator_yuyubo.cs b/Pilot_KD_Parino/Common/CombinationGenerator_yuyubo.cs
index 43f4106..446ff7d 100644
--- a/Pilot_KD_Parino/Common/CombinationGenerator_yuyubo.cs
+++ b/Pilot_KD_Parino/Common/CombinationGenerator_yuyubo.cs
@@ -211,7 +211,7 @@ namespace Pilot_KD_Parino.Common
result.Add(new List(current));
return;
}
-
+ payments = payments.Where(t => t <= target).ToList();
for (int i = start; i < payments.Count(); i++)
{
if (payments[i] > target)
diff --git a/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs b/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs
index cafa8f4..0923309 100644
--- a/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs
+++ b/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs
@@ -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 shouKuanDetail = new Dictionary();
+
//先挑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 fString = new List();
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 deleteFBIllNOList = new List();
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 fString = new List();
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 sales1 = new List { 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 heTongList = new List();
+ if (t.FCONTRACTNUMBER!=null)
+ heTongList = t.FCONTRACTNUMBER.Split(',').ToList().Distinct().ToList();
+ if(heTongList==null)
+ heTongList = new List();
+ 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 fString = new List();
- 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 str = new List();
+ if (sale.FSKBIllNO != null)
+ str = sale.FSKBIllNO.Split(',').ToList();
+ if (str == null)
+ str = new List();
+ 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 sales1 = new List { 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();
+ if (t.FSKBIllNO != null)
+ str = t.FSKBIllNO.Split(',').ToList();
+ if (str == null)
+ str = new List();
+ 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 sales1 = new List { 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 fString = new List();
+ // 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 SaleBILLLISNew2 = SaleBILLLISNew.Where(a => a.FISHX == "已核销配对").ToList();
+ List 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 strings = new List();
+ 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);
}
}
diff --git a/Pilot_KD_Parino/SQL/SqlManage_yuyubo.cs b/Pilot_KD_Parino/SQL/SqlManage_yuyubo.cs
index 162c630..da0a0e9 100644
--- a/Pilot_KD_Parino/SQL/SqlManage_yuyubo.cs
+++ b/Pilot_KD_Parino/SQL/SqlManage_yuyubo.cs
@@ -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);
}