Compare commits
2 Commits
5eaf9b9b70
...
20c69e3d91
Author | SHA1 | Date | |
---|---|---|---|
20c69e3d91 | |||
2d2a1ae65d |
@ -991,6 +991,7 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="Class1.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="YSCBYSJCB_FXB\YSCBYSJCB_FXB.cs" />
|
||||
<Compile Include="YSKM_KMDM_GXB\YSKM_KMDM_GXB_Save.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -1241,5 +1242,6 @@
|
||||
<None Include="KingDeeDll\Kingdee.BOS.ScheduleService.InstallLog" />
|
||||
<None Include="KingDeeDll\Kingdee.BOS.ScheduleService.InstallState" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
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");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -5,4 +5,48 @@ ON T1.FID = T2.FID
|
||||
left join T_HS_CALDIMENSIONS T5 on T3.FDIMENSIONID = T5.FDIMENSIONID
|
||||
left join T_BD_EXPENSE_L T6 on T4.FEXPENSEID = T6.FEXPID and T6.FLOCALEID = 2052
|
||||
left join T_BD_MATERIAL ff on t2.FMaterialID=ff.FMaterialID
|
||||
order by T2.FENTRYID desc
|
||||
order by T2.FENTRYID desc
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT T1.FCUSTOMERID,t1.FDOCUMENTSTATUS
|
||||
, cc.[FBMMATERIALGROUP],SUM(FRealQty) AS FRealQty
|
||||
,(SELECT SUM(FREALQTY) FROM dbo.T_SAL_RETURNSTOCK tui LEFT JOIN T_SAL_RETURNSTOCKENTRY tuide ON tui.FID=tuide.FID
|
||||
WHERE tui.FAPPROVEDATE>='2025-05-01' AND tui.FAPPROVEDATE<'2025-06-01' AND tui.FDOCUMENTSTATUS='C'
|
||||
) ReturnQty
|
||||
,(
|
||||
select sum(FALLAMOUNT)
|
||||
from VHUB_T_BMGStandCost where 1=1 ) as F_YSZCB
|
||||
|
||||
,(
|
||||
select sum(FMATERIALCOSTAMOUNT)
|
||||
from VHUB_T_BMGStandCost where 1=1 ) as F_YSZCB_Z
|
||||
,(
|
||||
select sum(FLABORCOSTAMOUNT)
|
||||
from VHUB_T_BMGStandCost where 1=1 ) as F_YSCB_G_Z
|
||||
,(
|
||||
select sum(FFEEAMOUNT)
|
||||
from VHUB_T_BMGStandCost where 1=1 ) as F_YSCB_F_Z
|
||||
|
||||
FROM
|
||||
T_SAL_OUTSTOCK T1
|
||||
INNER join T_SAL_OUTSTOCKENTRY T2 ON T1.FID = T2.FID
|
||||
INNER JOIN T_BD_MATERIAL matal2 ON T2.FMATERIALID = matal2.FMATERIALID
|
||||
INNER JOIN VHUB_T_BMMGroupLinkTable cc ON matal2.FMATERIALGROUP = cc.[FMATERIALGROUP]
|
||||
WHERE T1.FAPPROVEDATE>='2025-05-01' AND t1.FAPPROVEDATE<'2025-06-01'
|
||||
GROUP BY T1.FCUSTOMERID
|
||||
, cc.[FBMMATERIALGROUP],t1.FDOCUMENTSTATUS
|
||||
|
||||
|
||||
--select T1.FID, T1.FBILLNO,T2.FENTRYID,t2.FMaterialID,ff.FNUMBER, FMustQty ,t4.*,T6.*
|
||||
--from T_SAL_OUTSTOCK T1 inner join T_SAL_OUTSTOCKENTRY T2
|
||||
--inner join T_SAL_OUTSTOCKENTRY_C T3 on T3.FENTRYID = T2.FENTRYID
|
||||
--ON T1.FID = T2.FID
|
||||
-- inner join T_SAL_OUTSTOCKENTRY_CE T4 on T3.FENTRYID = T4.FENTRYID
|
||||
-- left join T_HS_CALDIMENSIONS T5 on T3.FDIMENSIONID = T5.FDIMENSIONID
|
||||
-- left join T_BD_EXPENSE_L T6 on T4.FEXPENSEID = T6.FEXPID and T6.FLOCALEID = 2052
|
||||
-- left join T_BD_MATERIAL ff on t2.FMaterialID=ff.FMaterialID
|
||||
-- WHERE T1.FAPPROVEDATE>='2025-05-01' AND t1.FAPPROVEDATE<'2025-06-01'
|
||||
--order by T2.FENTRYID desc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user