11
This commit is contained in:
parent
2d2a1ae65d
commit
20c69e3d91
319
VapeEZDLL/YSCBYSJCB_FXB/YSCBYSJCB_FXB.cs
Normal file
319
VapeEZDLL/YSCBYSJCB_FXB/YSCBYSJCB_FXB.cs
Normal file
@ -0,0 +1,319 @@
|
|||||||
|
using Kingdee.BOS.App.Data;
|
||||||
|
using Kingdee.BOS.Core.CommonFilter;
|
||||||
|
using Kingdee.BOS.Core.DynamicForm;
|
||||||
|
using Kingdee.BOS.Core.DynamicForm.PlugIn;
|
||||||
|
using Kingdee.BOS.Orm.DataEntity;
|
||||||
|
using Kingdee.BOS.Util;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
|
||||||
|
namespace VapeEZDLL.YSCBYSJCB_FXB
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 销售预算成本与实际成本分析报表
|
||||||
|
/// </summary>
|
||||||
|
[Description("销售预算成本与实际成本分析报表"), HotUpdate]
|
||||||
|
public class YSCBYSJCB_FXB : AbstractDynamicFormPlugIn
|
||||||
|
{
|
||||||
|
public override void OnLoad(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnLoad(e);
|
||||||
|
var showParameter = new DynamicFormShowParameter();
|
||||||
|
showParameter.FormId = "NAAD_YSSJFXGLK";
|
||||||
|
showParameter.ParentPageId = this.View.PageId;
|
||||||
|
showParameter.PageId = this.View.PageId + "_Filter";
|
||||||
|
showParameter.OpenStyle.CacheId = this.View.PageId;
|
||||||
|
this.View.ShowForm(showParameter, action => FilterCallBack(action));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 过滤框回调方法
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="action"></param>
|
||||||
|
public void FilterCallBack(FormResult action)
|
||||||
|
{
|
||||||
|
Dictionary<string, decimal> dicList = new Dictionary<string, decimal>();
|
||||||
|
if (action.ReturnData != null)
|
||||||
|
{
|
||||||
|
|
||||||
|
string wheresql = " 1=1 ";
|
||||||
|
FilterParameter returnData = action.ReturnData as FilterParameter;//过滤框返回的数据
|
||||||
|
DynamicObject dyObj = returnData.CustomFilter as DynamicObject;
|
||||||
|
|
||||||
|
//获取开发日期
|
||||||
|
var FSDate = Convert.ToString(dyObj["F_DATE"]);
|
||||||
|
if (!string.IsNullOrWhiteSpace(FSDate))
|
||||||
|
{
|
||||||
|
wheresql += $@" and [F_012]>='{FSDate}'";
|
||||||
|
}
|
||||||
|
//获取结束日期
|
||||||
|
var FEDate = Convert.ToString(dyObj["F_YKQC_Date_apv"]);
|
||||||
|
if (!string.IsNullOrWhiteSpace(FEDate))
|
||||||
|
{
|
||||||
|
wheresql += $@" and [F_012] <= '{FEDate}'";
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取合同类型
|
||||||
|
DynamicObject HTLX = dyObj["F_YKQC_Assistant_dvn"] as DynamicObject;
|
||||||
|
string HTLXFid = "";
|
||||||
|
if (HTLX != null)
|
||||||
|
{
|
||||||
|
HTLXFid = Convert.ToString(HTLX["ID"]);
|
||||||
|
wheresql += $@" and [F_059] = '{HTLXFid}'";
|
||||||
|
}
|
||||||
|
//获取购货单位
|
||||||
|
DynamicObject CUST = dyObj["F_YKQC_Base_qtr"] as DynamicObject;
|
||||||
|
string CustFid = "";
|
||||||
|
if (CUST != null)
|
||||||
|
{
|
||||||
|
CustFid = Convert.ToString(CUST["name"]);
|
||||||
|
wheresql += $@" and [F_005] = '{CustFid}'";
|
||||||
|
}
|
||||||
|
//获取销售员
|
||||||
|
DynamicObject XSY = dyObj["F_YKQC_Base_tzk"] as DynamicObject;
|
||||||
|
string XSYFid = "";
|
||||||
|
if (XSY != null)
|
||||||
|
{
|
||||||
|
XSYFid = Convert.ToString(XSY["ID"]);
|
||||||
|
wheresql += $@" and [销售员ID] = '{XSYFid}'";
|
||||||
|
}
|
||||||
|
//获取项目名称
|
||||||
|
DynamicObject GCXM = dyObj["F_YKQC_Base_uky"] as DynamicObject;
|
||||||
|
string GCXMFid = "";
|
||||||
|
if (GCXM != null)
|
||||||
|
{
|
||||||
|
GCXMFid = Convert.ToString(GCXM["NAME"]);
|
||||||
|
wheresql += $@" and [F_009] = '{GCXMFid}'";
|
||||||
|
}
|
||||||
|
this.View.Model.DeleteEntryData("F_MBBA_Entity_qtr");
|
||||||
|
|
||||||
|
//获取表1
|
||||||
|
var sql_1 = "";
|
||||||
|
|
||||||
|
sql_1 += string.Format($@"/*dialect*/Select * From (Select * From [ReceivablesDetailsTable] where {wheresql}
|
||||||
|
Union ALL
|
||||||
|
(Select
|
||||||
|
null,null,'合计:',null,null,null,null,null,null,null,SUM(F_010),
|
||||||
|
null,null,null,null,null,null,SUM(F_017),SUM(F_018),SUM(F_019),SUM(F_020),SUM(F_021),SUM(F_022),null
|
||||||
|
,F_024=(SELECT SUM(F_024) FROM [ReceivablesDetailsTable] hh where {wheresql})
|
||||||
|
,SUM(F_025),
|
||||||
|
null
|
||||||
|
,F_027=(SELECT SUM(F_027) FROM [ReceivablesDetailsTable] hh where {wheresql})
|
||||||
|
,null,null,null,null,null,null,null,null
|
||||||
|
,F_036=(
|
||||||
|
SELECT SUM(F_036)
|
||||||
|
FROM ( SELECT DISTINCT [销售单主键ID],hh.收款条件主键ID,F_036
|
||||||
|
FROM [ReceivablesDetailsTable] hh where {wheresql} ) a )
|
||||||
|
,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,0,0,0,null,0
|
||||||
|
, null, null, null, null, null
|
||||||
|
From
|
||||||
|
(select distinct [销售单主键ID],[销售员ID],[F_010],F_017,F_018,F_019,F_020,F_021,F_022 ,0 as F_024 ,F_025,
|
||||||
|
0 as F_027,0 F_036 from
|
||||||
|
[ReceivablesDetailsTable]
|
||||||
|
where {wheresql}
|
||||||
|
) a )) W Order by W.F_001");
|
||||||
|
|
||||||
|
var sql_2 = "";
|
||||||
|
sql_2 += string.Format(@"/*dialect*/Select top 1 * From ReceivablesDetailsTable");
|
||||||
|
|
||||||
|
var sql_List2 = DBUtils.ExecuteDynamicObject(Context, sql_2);
|
||||||
|
|
||||||
|
|
||||||
|
//判断是否存在表
|
||||||
|
if (sql_List2.Count() <= 0)
|
||||||
|
{
|
||||||
|
/*this.View.ShowMessage("FSaleOrgId :" + FSaleOrgId + "," + "FSDate:" + FSDate + ","
|
||||||
|
+ "FEDate :" + FEDate + "," + "HTLXFid:" + HTLXFid + "," + "CustFid:" + CustFid + ","
|
||||||
|
+ "XSYFid:" + XSYFid + "," + "GCXMFid:" + GCXMFid);*/
|
||||||
|
string sql = string.Format(@"/*dialect*/EXEC [PR_YingShouMingXi_yuyubo]");
|
||||||
|
var sqlList = DBUtils.ExecuteDynamicObject(Context, sql);
|
||||||
|
|
||||||
|
if (sqlList.Count() > 0)
|
||||||
|
{
|
||||||
|
string sql_3 = "";
|
||||||
|
const int batchSize = 1000; // 每批处理 1000 条数据
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Loghelp.Log("合计");
|
||||||
|
//Loghelp.Log(sql_1);
|
||||||
|
var sql_List1 = DBUtils.ExecuteDynamicObject(Context, sql_1);
|
||||||
|
int indexi = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
foreach (var item in sql_List1)
|
||||||
|
{
|
||||||
|
#region 隐藏单据体赋值
|
||||||
|
|
||||||
|
int rowindex = this.View.Model.GetEntryRowCount("F_MBBA_Entity_qtr");
|
||||||
|
this.View.Model.CreateNewEntryRow("F_MBBA_Entity_qtr");
|
||||||
|
//1
|
||||||
|
this.View.Model.SetValue("F_001", item["F_001"], indexi);
|
||||||
|
//2
|
||||||
|
this.View.Model.SetValue("F_002", item["F_002"], indexi);
|
||||||
|
//3
|
||||||
|
this.View.Model.SetValue("F_003", item["F_003"], indexi);
|
||||||
|
//4
|
||||||
|
this.View.Model.SetValue("F_004", item["F_004"], indexi);
|
||||||
|
//5
|
||||||
|
this.View.Model.SetValue("F_005", item["F_005"], indexi);
|
||||||
|
//6
|
||||||
|
this.View.Model.SetValue("F_006", item["F_006"], indexi);
|
||||||
|
//7
|
||||||
|
this.View.Model.SetValue("F_007", item["F_007"], indexi);
|
||||||
|
//8 indexi
|
||||||
|
this.View.Model.SetValue("F_008", item["F_008"], indexi);
|
||||||
|
//9 indexi
|
||||||
|
this.View.Model.SetValue("F_009", item["F_009"], indexi);
|
||||||
|
//10 indexi
|
||||||
|
this.View.Model.SetValue("F_010", item["F_010"], indexi);
|
||||||
|
//11 indexi
|
||||||
|
this.View.Model.SetValue("F_011", item["F_011"], indexi);
|
||||||
|
//12 indexi
|
||||||
|
this.View.Model.SetValue("F_012", item["F_012"], indexi);
|
||||||
|
//13 indexi
|
||||||
|
this.View.Model.SetValue("F_013", item["F_013"], indexi);
|
||||||
|
//14 indexi
|
||||||
|
this.View.Model.SetValue("F_FaHuoRiQi", item["F_014"], indexi);
|
||||||
|
//15 indexi
|
||||||
|
this.View.Model.SetValue("F_015", item["F_015"], indexi);
|
||||||
|
//16 indexi
|
||||||
|
this.View.Model.SetValue("F_FaPiaoRiQi", item["F_016"], indexi);
|
||||||
|
//17 indexi
|
||||||
|
this.View.Model.SetValue("F_017", item["F_017"], indexi);
|
||||||
|
//18 indexi
|
||||||
|
this.View.Model.SetValue("F_018", item["F_018"], indexi);
|
||||||
|
//19 indexi
|
||||||
|
this.View.Model.SetValue("F_019", item["F_019"], indexi);
|
||||||
|
//20 indexi
|
||||||
|
this.View.Model.SetValue("F_020", item["F_020"], indexi);
|
||||||
|
//21 indexi
|
||||||
|
this.View.Model.SetValue("F_021", item["F_021"], indexi);
|
||||||
|
//22 indexi
|
||||||
|
this.View.Model.SetValue("F_022", item["F_022"], indexi);
|
||||||
|
//23 indexi
|
||||||
|
this.View.Model.SetValue("F_023", item["F_023"], indexi);
|
||||||
|
//24 indexi
|
||||||
|
this.View.Model.SetValue("F_024", item["F_024"], indexi);
|
||||||
|
//25 indexi
|
||||||
|
this.View.Model.SetValue("F_025", item["F_025"], indexi);
|
||||||
|
//26 indexi
|
||||||
|
this.View.Model.SetValue("F_026", item["F_026"], indexi);
|
||||||
|
//27 indexi
|
||||||
|
this.View.Model.SetValue("F_027", item["F_027"], indexi);
|
||||||
|
//28 indexi
|
||||||
|
this.View.Model.SetValue("F_028", item["F_028"], indexi);
|
||||||
|
//29 indexi
|
||||||
|
this.View.Model.SetValue("F_029", item["F_029"], indexi);
|
||||||
|
//30 indexi
|
||||||
|
this.View.Model.SetValue("F_030", item["F_030"], indexi);
|
||||||
|
//31 indexi
|
||||||
|
this.View.Model.SetValue("F_031", item["F_031"], indexi);
|
||||||
|
//32 indexi
|
||||||
|
this.View.Model.SetValue("F_032", item["F_032"], indexi);
|
||||||
|
//33 indexi
|
||||||
|
this.View.Model.SetValue("F_033", item["F_033"], indexi);
|
||||||
|
//34 indexi
|
||||||
|
this.View.Model.SetValue("F_034", item["F_034"], indexi);
|
||||||
|
//35 indexi
|
||||||
|
this.View.Model.SetValue("F_035", item["F_035"], indexi);
|
||||||
|
//36 indexi
|
||||||
|
this.View.Model.SetValue("F_036", item["F_036"], indexi);
|
||||||
|
//37 indexi
|
||||||
|
this.View.Model.SetValue("F_037", item["F_037"], indexi);
|
||||||
|
//38 indexi
|
||||||
|
this.View.Model.SetValue("F_038", item["F_038"], indexi);
|
||||||
|
//39 indexi
|
||||||
|
this.View.Model.SetValue("F_039", item["F_039"], indexi);
|
||||||
|
//40 indexi
|
||||||
|
this.View.Model.SetValue("F_040", item["F_040"], indexi);
|
||||||
|
//41 indexi
|
||||||
|
this.View.Model.SetValue("F_041", item["F_041"], indexi);
|
||||||
|
//42 indexi
|
||||||
|
this.View.Model.SetValue("F_042", item["F_042"], indexi);
|
||||||
|
//43 indexi
|
||||||
|
this.View.Model.SetValue("F_043", item["F_043"], indexi);
|
||||||
|
//44 indexi
|
||||||
|
this.View.Model.SetValue("F_044", item["F_044"], indexi);
|
||||||
|
//45 indexi
|
||||||
|
this.View.Model.SetValue("F_045", item["F_045"], indexi);
|
||||||
|
//46 indexi
|
||||||
|
this.View.Model.SetValue("F_046", item["F_046"], indexi);
|
||||||
|
//47 indexi
|
||||||
|
this.View.Model.SetValue("F_047", item["F_047"], indexi);
|
||||||
|
//48 indexi
|
||||||
|
this.View.Model.SetValue("F_048", item["F_048"], indexi);
|
||||||
|
//49 indexi
|
||||||
|
this.View.Model.SetValue("F_049", item["F_049"], indexi);
|
||||||
|
//50 indexi
|
||||||
|
this.View.Model.SetValue("F_050", item["F_050"], indexi);
|
||||||
|
//51 indexi
|
||||||
|
this.View.Model.SetValue("F_051", item["F_051"], indexi);
|
||||||
|
//52 indexi
|
||||||
|
this.View.Model.SetValue("F_052", item["F_052"], indexi);
|
||||||
|
//53 indexi
|
||||||
|
this.View.Model.SetValue("F_053", item["F_053"], indexi);
|
||||||
|
//54 indexi
|
||||||
|
this.View.Model.SetValue("F_054", item["F_054"], indexi);
|
||||||
|
//55 indexi
|
||||||
|
this.View.Model.SetValue("F_055", item["F_055"], indexi);
|
||||||
|
//56 indexi
|
||||||
|
this.View.Model.SetValue("F_056", item["F_056"], indexi);
|
||||||
|
//57 indexi
|
||||||
|
this.View.Model.SetValue("F_057", item["F_057"], indexi);
|
||||||
|
//58 indexi
|
||||||
|
this.View.Model.SetValue("F_058", item["F_058"], indexi);
|
||||||
|
//59 indexi
|
||||||
|
this.View.Model.SetValue("F_059", item["F_059"], indexi);
|
||||||
|
//00 indexi
|
||||||
|
this.View.Model.SetValue("F_000", item["F_000"], indexi);
|
||||||
|
//F_FID
|
||||||
|
this.View.Model.SetValue("F_FID", item["FID"], indexi);
|
||||||
|
//60
|
||||||
|
this.View.Model.SetValue("F_060", item["F_060"], indexi);
|
||||||
|
//61
|
||||||
|
this.View.Model.SetValue("F_061", item["F_061"], indexi);
|
||||||
|
//62
|
||||||
|
this.View.Model.SetValue("F_062", item["F_062"], indexi);
|
||||||
|
//63
|
||||||
|
this.View.Model.SetValue("F_063", item["F_063"], indexi);
|
||||||
|
//64
|
||||||
|
this.View.Model.SetValue("F_064", item["F_064"], indexi);
|
||||||
|
//65
|
||||||
|
this.View.Model.SetValue("F_065", item["F_065"], indexi);
|
||||||
|
//66
|
||||||
|
this.View.Model.SetValue("F_066", item["F_066"], indexi);
|
||||||
|
//67
|
||||||
|
this.View.Model.SetValue("F_067", item["F_067"], indexi);
|
||||||
|
//68
|
||||||
|
this.View.Model.SetValue("F_068", item["F_068"], indexi);
|
||||||
|
|
||||||
|
//【订单总额、累计发货金额、累计退货金额、累计开票金额、累计到款金额、应收款合计、未出货总额、实际已出货应收款合计、】的明细需要去重
|
||||||
|
if (dicList.ContainsKey(item["销售单主键ID"].ToString() + "-" + item["销售员ID"].ToString()))
|
||||||
|
{
|
||||||
|
this.View.Model.SetValue("F_010", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_017", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_018", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_019", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_020", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_021", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_022", null, indexi);
|
||||||
|
this.View.Model.SetValue("F_025", null, indexi);
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
dicList.Add(item["销售单主键ID"].ToString() + "-" + item["销售员ID"].ToString(), 0);
|
||||||
|
|
||||||
|
indexi++;
|
||||||
|
#endregion
|
||||||
|
}
|
||||||
|
this.View.UpdateView("F_MBBA_Entity_qtr");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user