提交 dd360dd0 authored 作者: 谭富强's avatar 谭富强

手输费用设置逻辑修改

上级 1b84871b
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
......@@ -28,53 +29,69 @@ namespace LQKJ.K3.CZXT.Pluglus
switch (e.Field.Key)
{
case "": //收款条件
case "F_LQKJ_Date": //收款条件
SetF_BHR_BCGLJE(this.Context);
break;
case "F_LQKJ_OrgId": //收款条件
SetF_BHR_BCGLJE(this.Context);
break;
}
}
private void SetF_BHR_BCGLJE(Context ctx)
{
List<DataRow> FilterValues = this.View.OpenParameter.GetCustomParameter("listData") as List<DataRow>;
string F_LQKJ_FDATEyf = string.Empty;
string F_LQKJ_ORGID = string.Empty;
//List<DataRow> FilterValues = this.View.OpenParameter.GetCustomParameter("listData") as List<DataRow>;
// 假设 this 是一个视图对象
// 获取 F_LQKJ_OrgId 的值
DynamicObject entityCollection = this.View.Model.GetValue("F_LQKJ_OrgId") as DynamicObject;
if (entityCollection != null)
{
F_LQKJ_ORGID = Convert.ToString(entityCollection["Name"]); // 组织
// 后续处理
}
object dateValue = this.View.Model.GetValue("F_LQKJ_Date");
//string StartDate = this.View.OpenParameter.GetCustomParameter("F_LQKJ_StartDate") as string;
//string F_LQKJ_StartDate = string.Empty;
//DateTime parsedDates;
//if (DateTime.TryParse(StartDate, out parsedDates))
//{
// // 格式化日期为 "yyyy/MM/dd" 格式
// F_LQKJ_StartDate = parsedDates.ToString("yyyy/MM/dd");
//}
//if(FilterValues.Count == 1)
//{
// string F_LQKJ_FDate = string.Empty;
// if (FilterValues[0]["F_LQKJ_FDate"].ToString() == null || FilterValues[0]["F_LQKJ_FDate"].ToString() == "")
// {
// F_LQKJ_FDate = F_LQKJ_StartDate;
// }
// else
// {
// F_LQKJ_FDate = Convert.ToString(FilterValues[0]["F_LQKJ_FDate"]);
// }
// string sql = $@"/*dialect*/SELECT * FROM T_LQKJ_CZexpenses WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(FilterValues[0]["FSTOCKORGID"])}' AND F_LQKJ_WAREHOUSE='{ Convert.ToString(FilterValues[0]["FSTOCKID"])}' AND F_LQKJ_FMATERIALID='{ Convert.ToString(FilterValues[0]["FMATERIALNUMBER"])}'";
// DynamicObjectCollection dynamics = DBUtils.ExecuteDynamicObject(Context, sql);
// if (dynamics.Count > 0)
// {
// this.View.Model.SetValue("F_LQKJ_Scanfee", Convert.ToString(dynamics[0]["F_LQKJ_Scanfee"]));
// this.View.Model.SetValue("F_LQKJ_JDchannelfee", Convert.ToString(dynamics[0]["F_LQKJ_JDchannelfee"]));
// this.View.Model.SetValue("F_LQKJ_Breturnfees", Convert.ToString(dynamics[0]["F_LQKJ_Breturnfees"]));
// this.View.Model.SetValue("F_LQKJ_Specialloading", Convert.ToString(dynamics[0]["F_LQKJ_Specialloading"]));
// this.View.Model.SetValue("F_LQKJ_Inspectionfee", Convert.ToString(dynamics[0]["F_LQKJ_Inspectionfee"]));
// this.View.Model.SetValue("F_LQKJ_Wdbczce", Convert.ToString(dynamics[0]["F_LQKJ_Wdbczce"]));
// }
// this.View.UpdateView("F_LQKJ_Scanfee"); // 更新视图
// this.View.UpdateView("F_LQKJ_JDchannelfee");
// this.View.UpdateView("F_LQKJ_Breturnfees");
// this.View.UpdateView("F_LQKJ_Specialloading");
// this.View.UpdateView("F_LQKJ_Inspectionfee");
// this.View.UpdateView("F_LQKJ_Wdbczce");
//}
// 判断 F_LQKJ_FDATE 是否为空或无效
DateTime F_LQKJ_FDATE;
if (dateValue != null)
{
F_LQKJ_FDATE = Convert.ToDateTime(dateValue);
// 格式化日期为年月
F_LQKJ_FDATEyf = F_LQKJ_FDATE.ToString("yyyy/MM"); // 年月
}
if (!string.IsNullOrEmpty(F_LQKJ_ORGID) && !string.IsNullOrEmpty(F_LQKJ_FDATEyf))
{
string sql = $@"/*dialect*/SELECT * FROM T_LQKJ_CZexpenses WHERE FORMAT(F_LQKJ_FDATE, 'yyyy/MM')='{F_LQKJ_FDATEyf}' AND F_LQKJ_ORGID='{F_LQKJ_ORGID}'";
DynamicObjectCollection dynamics = DBUtils.ExecuteDynamicObject(Context, sql);
if (dynamics.Count > 0)
{
this.View.Model.SetValue("F_LQKJ_Scanfee", Convert.ToString(dynamics[0]["F_LQKJ_Scanfee"]));
this.View.Model.SetValue("F_LQKJ_JDchannelfee", Convert.ToString(dynamics[0]["F_LQKJ_JDchannelfee"]));
this.View.Model.SetValue("F_LQKJ_Breturnfees", Convert.ToString(dynamics[0]["F_LQKJ_Breturnfees"]));
this.View.Model.SetValue("F_LQKJ_Specialloading", Convert.ToString(dynamics[0]["F_LQKJ_Specialloading"]));
this.View.Model.SetValue("F_LQKJ_Inspectionfee", Convert.ToString(dynamics[0]["F_LQKJ_Inspectionfee"]));
this.View.Model.SetValue("F_LQKJ_Wdbczce", Convert.ToString(dynamics[0]["F_LQKJ_Wdbczce"]));
}
this.View.UpdateView("F_LQKJ_Scanfee"); // 更新视图
this.View.UpdateView("F_LQKJ_JDchannelfee");
this.View.UpdateView("F_LQKJ_Breturnfees");
this.View.UpdateView("F_LQKJ_Specialloading");
this.View.UpdateView("F_LQKJ_Inspectionfee");
this.View.UpdateView("F_LQKJ_Wdbczce");
}
else
{
this.View.Model.SetValue("F_LQKJ_Scanfee", null);
this.View.Model.SetValue("F_LQKJ_JDchannelfee", null);
this.View.Model.SetValue("F_LQKJ_Breturnfees", null);
this.View.Model.SetValue("F_LQKJ_Specialloading", null);
this.View.Model.SetValue("F_LQKJ_Inspectionfee", null);
this.View.Model.SetValue("F_LQKJ_Wdbczce", null);
}
}
}
}
......@@ -35,55 +35,35 @@ namespace LQKJ.K3.CZXT.Pluglus
decimal F_LQKJ_Specialloading = Convert.ToDecimal(rowData["F_LQKJ_Specialloading"]);//特殊装货
decimal F_LQKJ_Inspectionfee = Convert.ToDecimal(rowData["F_LQKJ_Inspectionfee"]);//检查及包装费
decimal F_LQKJ_Wdbczce = Convert.ToDecimal(rowData["F_LQKJ_Wdbczce"]);//未达标仓租差额
List<DataRow> FilterValues = this.View.OpenParameter.GetCustomParameter("listData") as List<DataRow>;
DateTime F_LQKJ_FDATE = Convert.ToDateTime(Convert.ToString(rowData["F_LQKJ_Date"]));//日期
string F_LQKJ_FDATEyf = F_LQKJ_FDATE.ToString("yyyy/MM");//年月
DynamicObject entityCollection = rowData["F_LQKJ_OrgId"] as DynamicObject;
string F_LQKJ_ORGID = Convert.ToString(entityCollection["Name"]);//组织
string StartDate = this.View.OpenParameter.GetCustomParameter("F_LQKJ_StartDate") as string;
string F_LQKJ_StartDate = string.Empty;
DateTime parsedDates;
if (DateTime.TryParse(StartDate, out parsedDates))
{
// 格式化日期为 "yyyy/MM/dd" 格式
F_LQKJ_StartDate = parsedDates.ToString("yyyy/MM/dd");
}
string sql = (@"/*dialect*/SELECT F_LQKJ_FDATE,F_LQKJ_ORGID,F_LQKJ_WAREHOUSE,F_LQKJ_FMATERIALID FROM T_LQKJ_CZexpenses");
string sql = (@"/*dialect*/SELECT F_LQKJ_FDATE,F_LQKJ_ORGID FROM T_LQKJ_CZexpenses");
DynamicObjectCollection dynamics = DBUtils.ExecuteDynamicObject(Context, sql);
//Dictionary<string, string> resultDictionary = new Dictionary<string, string>();
List<string> resultDictionary = new List<string>();
if (dynamics.Count > 0)
{
foreach (var item in dynamics)
{
DateTime parsedDate = Convert.ToDateTime(Convert.ToString(item["F_LQKJ_FDATE"]));
// 将其格式化为 "yyyy/MM/dd"
string formattedDate = parsedDate.ToString("yyyy/MM/dd");
string key = formattedDate + "_" + Convert.ToString(item["F_LQKJ_ORGID"]) + "_" + Convert.ToString(item["F_LQKJ_WAREHOUSE"]) + "_" + Convert.ToString(item["F_LQKJ_FMATERIALID"]);
string formattedDate = parsedDate.ToString("yyyy/MM");
string key = formattedDate + "_" + Convert.ToString(item["F_LQKJ_ORGID"]);
// 将拼接后的字符串存入字典,key 为拼接后的字符串,value 可以根据需求设置(例如存储为字段的原始值,或者是某种标识符)
resultDictionary.Add(key); // 或者根据需求可以存储不同的值
}
}
if (FilterValues != null && FilterValues.Count > 0)
{
foreach (DataRow item in FilterValues)
{
string dawdsfgs = string.Empty;
string F_LQKJ_FDate = string.Empty;
if (string.IsNullOrWhiteSpace(item["F_LQKJ_FDate"]?.ToString()))
{
F_LQKJ_FDate = F_LQKJ_StartDate;
}
else
{
F_LQKJ_FDate = Convert.ToString(item["F_LQKJ_FDate"]);
}
dawdsfgs = F_LQKJ_FDate + "_" + Convert.ToString(item["FSTOCKORGID"]) + "_" + Convert.ToString(item["FSTOCKID"]) + "_" + Convert.ToString(item["FMATERIALNUMBER"]);// 如果报表明细日期为空,默认日期为报表单据头日期
dawdsfgs = F_LQKJ_FDATEyf + "_" + F_LQKJ_ORGID;// 如果报表明细日期为空,默认日期为报表单据头日期
//// 判断 dawdsfgs 是否在 resultDictionary 中
if (resultDictionary.Contains(dawdsfgs))
{
string sqlupdate = $@"/*dialect*/UPDATE T_LQKJ_CZexpenses SET F_LQKJ_SCANFEE={F_LQKJ_Scanfee} ,F_LQKJ_JDCHANNELFEE={F_LQKJ_JDchannelfee} ,F_LQKJ_BRETURNFEES={F_LQKJ_Breturnfees}
,F_LQKJ_SPECIALLOADING={F_LQKJ_Specialloading},F_LQKJ_INSPECTIONFEE={F_LQKJ_Inspectionfee},F_LQKJ_WDBCZCE={F_LQKJ_Wdbczce}
WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(item["FSTOCKORGID"])}' AND F_LQKJ_WAREHOUSE='{ Convert.ToString(item["FSTOCKID"])}' AND F_LQKJ_FMATERIALID='{ Convert.ToString(item["FMATERIALNUMBER"])}'";
WHERE FORMAT(F_LQKJ_FDATE, 'yyyy/MM')='{F_LQKJ_FDATEyf}' AND F_LQKJ_ORGID='{F_LQKJ_ORGID}'";
//DBUtils.Execute(this.Context, sqlupdate);
try
{
......@@ -99,7 +79,7 @@ WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(item["FS
}
catch (Exception ex)
{
Console.WriteLine($"执行更新时出错: {ex.Message}");
this.View.ShowMessage($"执行更新时出错: {ex.Message}");
}
}
else
......@@ -107,17 +87,9 @@ WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(item["FS
billView = CreateBillView(this.Context, "LQKJ_Warehouserentexpenses");
((IBillViewService)billView).LoadData();
// 设置单据头部分的值
if (string.IsNullOrWhiteSpace(item["F_LQKJ_FDate"]?.ToString()))
{
billView.Model.SetValue("F_LQKJ_FDate", StartDate, 0);// 如果报表明细日期为空,默认日期为报表单据头日期
}
else
{
billView.Model.SetValue("F_LQKJ_FDate", item["F_LQKJ_FDate"].ToString(), 0);// 业务日期
}
billView.Model.SetValue("F_LQKJ_OrgId", item["FSTOCKORGID"].ToString(), 0);//业务组织
billView.Model.SetValue("F_LQKJ_Warehouse", Convert.ToString(item["FSTOCKID"]), 0);//仓库FSTOCKID
billView.Model.SetValue("F_LQKJ_FMATERIALID", Convert.ToString(item["FMATERIALNUMBER"]), 0);//物料编码
billView.Model.SetValue("F_LQKJ_FDate", F_LQKJ_FDATEyf, 0);// 业务日期
billView.Model.SetValue("F_LQKJ_OrgId", F_LQKJ_ORGID, 0);//业务组织
billView.Model.SetValue("F_LQKJ_Scanfee", F_LQKJ_Scanfee, 0);//一物一码扫码出库费
billView.Model.SetValue("F_LQKJ_JDchannelfee", F_LQKJ_JDchannelfee, 0);//京东渠道贴标费
billView.Model.SetValue("F_LQKJ_Breturnfees", F_LQKJ_Breturnfees, 0);//B2B退货挑选费
......@@ -144,10 +116,6 @@ WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(item["FS
Console.WriteLine($"保存单据时出错: {ex.Message}");
}
}
}
}
}
}
public override void FormClosed(FormClosedEventArgs e)
......@@ -181,8 +149,6 @@ WHERE F_LQKJ_FDATE='{F_LQKJ_FDate}' AND F_LQKJ_ORGID='{Convert.ToString(item["FS
param.NetCtrlDisable = true; // 禁用网控
var provider = form.GetFormServiceProvider();
var billview = (BillView)provider.GetService(typeof(IDynamicFormView));
//var type = Type.GetType("Kingdee.BOS.Web.Import.ImportBillView,Kingdee.BOS.Web");
//var billview2 = (BillView)Activator.CreateInstance(type);
billview.Initialize(param, provider); //初始化
billview.LoadData(); //加载单据数据
return billview;
......
......@@ -608,7 +608,7 @@ LEFT JOIN t_BD_MaterialBase JB ON JB.FMATERIALID=W.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L WL ON T1.FMATERIALID=WL.FMATERIALID AND WL.FLOCALEID = 2052 --物料多语言表
LEFT JOIN T_BD_UNIT_L DW ON T1.FSTOCKUNITID=DW.FUNITID AND DW.FLOCALEID=2052 --计量单位多语言表
LEFT JOIN T_BD_UNIT DWBM ON T1.FSTOCKUNITID=DWBM.FUNITID--计量单位表
LEFT JOIN T_LQKJ_CZexpenses SS ON T1.FDate= SS.F_LQKJ_FDATE AND ZZ.FNAME=SS.F_LQKJ_ORGID AND CK.FNAME=SS.F_LQKJ_WAREHOUSE AND W.FNUMBER=SS.F_LQKJ_FMATERIALID--仓租手输费用表
LEFT JOIN T_LQKJ_CZexpenses SS ON FORMAT(T1.FDate, 'yyyy/MM')=FORMAT(SS.F_LQKJ_FDATE, 'yyyy/MM') AND ZZ.FNAME=SS.F_LQKJ_ORGID--仓租手输费用表
LEFT JOIN T_BD_STOCK CKBM ON T1.FSTOCKID=CKBM.FSTOCKID
WHERE 1=1 AND (T1.FSTOCKQCQTY + T1.FSTOCKINQTY - T1.FSTOCKOUTQTY !=0 OR T1.FSTOCKQCQTY != 0 OR T1.FSTOCKINQTY !=0 OR T1.FSTOCKOUTQTY!=0) {1}", receBillTable, Filter);
// 执行动态SQL查询并获取查询结果
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论