2025-04-07 21:06:39 +08:00

118 lines
4.8 KiB
C#

using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using Newtonsoft.Json;
using Pilot_KD_Parino.Common;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Pilot_KD_Parino.QPHY_AutoWrire.Bill2;
namespace Pilot_KD_Parino.QPHY_AutoWrire
{
[HotUpdate]
[Description("收款核销4")]
//交互事件,在用
public class Bill4: AbstractDynamicFormPlugIn
{
public List<CombinaClass> SaleBILLLIS = new List<CombinaClass>();
public List<CombinaClass> ReceiveBILLLIST = new List<CombinaClass>();
//拿来匹配的集合
public List<CombinaClass> SaleBILLLIS2 = new List<CombinaClass>();
/// <summary>
/// 开始
/// </summary>
/// <param name="e"></param>
public override void OnLoad(EventArgs e)
{
base.OnLoad(e);
//获取需要过滤的销售订单/应收单号
string stringFBILLNO = this.View.OpenParameter.GetCustomParameters()["stringFBILLNO"].ToString();
// 反序列化JSON字符串为List<StringFBILLNO>
List<StringFBILLNO> stringFBILLNOList = JsonConvert.DeserializeObject<List<StringFBILLNO>>(stringFBILLNO);
this.View.OpenParameter.Status = Kingdee.BOS.Core.Metadata.OperationStatus.EDIT;
SaleBILLLIS = new List<CombinaClass>();
ReceiveBILLLIST = new List<CombinaClass>();
List<CombinaClass> SaleBILLLISnew = new List<CombinaClass>();
List<CombinaClass> ReceiveBILLLISTNew = new List<CombinaClass>();
//删除一个单据体
this.View.Model.DeleteEntryData("FEntity");
var FOrgId = this.Context.CurrentOrganizationInfo.ID;
//调用SQL获取数据
var WriteOrderDate = SQL.SqlManage.GetWriteOrderDate3(this.Context, Convert.ToString(FOrgId));
foreach (var item in WriteOrderDate)
{
SaleBILLLIS.Add(new CombinaClass()
{
FBIllNO = Convert.ToString(item["FBIllNO"]),
FCONTRACTNUMBER = Convert.ToString(item["F_CONTRACTNUMBER"]),
FClient = Convert.ToInt32(item["FCUSTID"]),
FDate = Convert.ToString(item["FDate"]),
FALLAMOUNT = Convert.ToDouble(item["FALLAMOUNT"]),
FYAMOUNT = Convert.ToDouble(item["FYAMOUNT"]),
FDAMOUNT = Convert.ToDouble(item["FDAMOUNT"]),
FCreated = Convert.ToInt32(item["FCREATORID"]),
FSalesman = Convert.ToInt32(item["FSALERID"]),
FIs30 = Convert.ToBoolean(item["FIs30"]),
FType = Convert.ToString(item["FType"]),
});
}
SaleBILLLIS2 = SaleBILLLIS.Where(t => t.FIs30 == true).ToList();
//获取需要显示的数据
var SaleBILLLIS3 = new List<CombinaClass>();
foreach (var item in stringFBILLNOList)
{
foreach (var item2 in SaleBILLLIS2)
{
if (item2.FBIllNO.Equals(item.FBILLNO))
{
SaleBILLLIS3.Add(item2);
}
}
}
//绑定销售订单数据
for (int i = 0; i < SaleBILLLIS3.Count; i++)
{
int rowindex = this.View.Model.GetEntryRowCount("FEntity");
this.View.Model.CreateNewEntryRow("FEntity");
//单据编号
this.View.Model.SetValue("FBILLNO", SaleBILLLIS3[i].FBIllNO, i);
//日期
this.View.Model.SetValue("FDate", DateTime.Now.AddDays(-1 * Convert.ToInt32(SaleBILLLIS3[i].FDate)).ToString("yyyy-MM-dd"), i);
//金额
this.View.Model.SetValue("F_MBBA_Decimal_c1c", SaleBILLLIS3[i].FALLAMOUNT, i);
//类型
this.View.Model.SetValue("FType", SaleBILLLIS3[i].FType, i);
//纸质合同号
this.View.Model.SetValue("FCONTRACTNUMBER", SaleBILLLIS3[i].FCONTRACTNUMBER, i);
//客户名称
this.View.Model.SetValue("FClient", SaleBILLLIS3[i].FClient, i);
//已核销金额
this.View.Model.SetValue("F_MBBA_Decimal_vb1", SaleBILLLIS3[i].FYAMOUNT, i);
//待核销金额
this.View.Model.SetValue("F_MBBA_Decimal_emq", SaleBILLLIS3[i].FDAMOUNT, i);
//商务人员
this.View.Model.SetValue("FCreated", SaleBILLLIS3[i].FCreated, i);
//销售员
this.View.Model.SetValue("FSalesman", SaleBILLLIS3[i].FSalesman, i);
this.View.UpdateView("FEntity");
}
}
}
}