diff --git a/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs b/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs index 9e87d3e..3d90217 100644 --- a/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs +++ b/Pilot_KD_Parino/QPHY_AutoWrire/Bill5.cs @@ -491,34 +491,55 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire List deleteFBIllNOList = new List(); ReceiveList1.ForEach(t => { - - 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); - //更新收款单数据 - var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == t); - if (receiveItemTemp != null) + var tempList = oneToOneTemp.Where(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO)).ToList(); + if (tempList.Count > 0) { - receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER; - receiveItemTemp.FISHX = "已核销配对"; - receiveItemTemp.BenCi = temp111.FDAMOUNT; - receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi; - //receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi; + var FBIllNOList = tempList.Select(h => h.FBIllNO).ToList(); + string fbillno = ""; + if (tempList.Count > 1) + { + DateTime fdate = DateTime.Parse(ReceiveBILLLIST2.FirstOrDefault(h => h.FBIllNO == t).FDate); + DateTime begin = fdate.AddDays(-5).Date; + DateTime end = fdate.AddDays(6).Date; + var list = SaleBILLLIS.Where(h => DateTime.Parse(h.FDate) >= begin && DateTime.Parse(h.FDate) < end && FBIllNOList.Contains(h.FBIllNO)).OrderByDescending(h => h.FDate).ToList(); + if (list.Count > 0) + { + fbillno = list.FirstOrDefault().FBIllNO; + } + } + else + { + fbillno= tempList.FirstOrDefault().FBIllNO; + } + + var temp111 = oneToOneTemp.FirstOrDefault(h => h.UFbillNo == t && h.FBIllNO== fbillno && !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); + //更新收款单数据 + 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; + } } }); @@ -528,35 +549,58 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire List deleteFBIllNOList = new List(); saleList1.ForEach(t => { - 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); - //更新收款单数据 - var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == temp11); - if (receiveItemTemp != null) + var tempList = oneToOneTemp.Where(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.UFbillNo)).ToList(); + if (tempList.Count > 0) { - receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER; - receiveItemTemp.FISHX = "已核销配对"; - receiveItemTemp.BenCi = temp111.FDAMOUNT; - receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi; - //receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi; - receiveItemTemp.FWeiYi = "是"; + var FBIllNOList = tempList.Select(h => h.UFbillNo).ToList(); + string fbillno = ""; + if (tempList.Count > 1) + { + DateTime fdate = DateTime.Parse(SaleBILLLIS.FirstOrDefault(h => h.FBIllNO == t).FDate); + DateTime begin = fdate.AddDays(-5).Date; + DateTime end = fdate.AddDays(6).Date; + var list = ReceiveBILLLIST.Where(h => DateTime.Parse(h.FDate) >= begin && DateTime.Parse(h.FDate) < end && FBIllNOList.Contains(h.FBIllNO)) + .OrderByDescending(h => h.FDate).ToList(); + if (list.Count > 0) + { + fbillno = list.FirstOrDefault().FBIllNO; + } + } + else + { + fbillno = tempList.FirstOrDefault().FBIllNO; + } - shouKuanDetail.Add(receiveItemTemp.FBIllNO + "," + item.FBIllNO, item.BenCi); + + var temp111 = oneToOneTemp.Where(h => h.FBIllNO == t && h.UFbillNo== fbillno && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderByDescending(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); + //更新收款单数据 + 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); + } } - }); } @@ -610,6 +654,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire else { List deleteFBIllNOList = new List(); + saleList22.ForEach(t => { var temp111 = oneToOneTemp2.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h => h.UFbillNo).FirstOrDefault(); @@ -1003,7 +1048,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire if (e.BarItemKey.ToString().Equals("MBBA_tbButton_5")) { // 弹出确认框 - View.ShowMessage("确定要生成核销记录单吗?2", MessageBoxOptions.YesNo, result => + View.ShowMessage("确定要生成核销记录单吗?3", MessageBoxOptions.YesNo, result => { if (result == MessageBoxResult.Yes) {