This commit is contained in:
PastSaid
2024-05-15 13:56:09 +08:00
parent 16fbd10312
commit 0a17c23e54
43 changed files with 1299 additions and 309 deletions

View File

@@ -27,6 +27,9 @@
<ItemGroup>
<Compile Include="PRD_MO\OperationEventPlugInEx.py" />
</ItemGroup>
<ItemGroup>
<Content Include="产品成本还原报表V1.0.sql" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets" />
<!-- Uncomment the CoreCompile target to enable the Build command in
Visual Studio and specify your pre- and post-build commands in

View File

@@ -0,0 +1,12 @@
--WO2405090020
SELECT t0.FBILLNO,t0.FBILLTYPE,t0e.FSEQ,t0e.FMATERIALID,t0e0.FNUMBER
,t1e.FLOT,t1e.FLOT_TEXT
,t1e0.FMATERIALID,t1e0.FNUMBER
FROM T_PRD_MO t0
INNER JOIN T_PRD_MOENTRY t0e on t0.FID = t0e.FID
INNER JOIN T_BD_MATERIAL t0e0 on t0e0.FMATERIALID = t0e.FMATERIALID
LEFT JOIN T_PRD_PICKMTRLDATA t1e on t1e.FMOENTRYID = t0e.FENTRYID
INNER JOIN T_BD_MATERIAL t1e0 on t1e.FMATERIALID = t1e0.FMATERIALID
--SELECT * FROM T_PRD_PICKMTRLDATA

View File

@@ -31,6 +31,30 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.BusinessEntity">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts">
<HintPath>..\..\08.昶东\EastChanger\bin\Debug\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper">
<HintPath>..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
@@ -40,6 +64,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="PRD_MOCB\Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>

View File

@@ -65,7 +65,11 @@ BEGIN
--AND t0e.FFORECASTGROUPFRIST = 'WO2312270043'
AND t0e.FSRCBILLTYPE='PLN_PLANORDER' /*ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>MRP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶĵ<EFBFBD><EFBFBD><EFBFBD>*/
AND t0e_Q.FSRCSPLITID = 0
AND t0.FBILLNO in (SELECT b.billno FROM (SELECT CAST('<v>'+REPLACE(@billnoStr,',','</v><v>')+'</v>' AS xml) billno ) a OUTER APPLY (SELECT T.C.value('.','varchar(50)') billno FROM a.billno.nodes('/v') AS T(C)) b ) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD>
AND t0.FBILLNO in (
SELECT b.billno
FROM (SELECT CAST('<v>'+REPLACE(@billnoStr,',','</v><v>')+'</v>' AS xml) billno ) a
OUTER APPLY (SELECT T.C.value('.','varchar(50)') billno FROM a.billno.nodes('/v') AS T(C)) b
) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD>
INSERT INTO #TMP_MO

View File

@@ -0,0 +1,66 @@
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Orm.DataEntity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace JDSample.ServicePlugIn.Report
{
[Description("树形报表练习-服务插件")]
public class TreeReport : SysReportBaseService
{
public override void Initialize() { this.ReportProperty.ReportType = ReportType.REPORTTYPE_TREE; this.IsCreateTempTableByPlugin = false; }
public override List<TreeNode> GetTreeNodes(IRptParams filter)
{ //属性报表添加数据源
List<TreeNode> nodelist = new List<TreeNode>(); StringBuilder sb = new StringBuilder(); sb.Append("select FID,FNUMBER from VehicleRecords");
DynamicObjectCollection DOCL = DBUtils.ExecuteDynamicObject(this.Context, sb.ToString());
for (int i = 0; i < DOCL.Count; i++)
{
TreeNode rootNode = new TreeNode() { id = DOCL[i]["FID"].ToString(), text = DOCL[i]["FNUMBER"].ToString() };
nodelist.Add(rootNode);
}
return nodelist; //return base.GetTreeNodes(filter);
}
public override ReportHeader GetReportHeaders(IRptParams filter)
{
ReportHeader header = new ReportHeader();
header.AddChild("FNUMBER", new LocaleValue("车牌号", this.Context.UserLocale.LCID));
header.AddChild("FStartDate", new LocaleValue("开始时间", this.Context.UserLocale.LCID));
header.AddChild("FEndDate", new LocaleValue("结束时间", this.Context.UserLocale.LCID));
header.AddChild("FNAME", new LocaleValue("所属部门", this.Context.UserLocale.LCID));
header.AddChild("FDOCUMENTSTATUS", new LocaleValue("审核状态", this.Context.UserLocale.LCID));
return header;
}
public override ReportTitles GetReportTitles(IRptParams filter) { return base.GetReportTitles(filter); }
//protected override string BuilderSelectFieldSQL(IRptParams filter)
//{ //return "select Field1、Field2" //string sqlstr = "select FID,FStartDate,FEndDate "; //string sqlstr = "select b.FNUMBER,a.FSTARTDATE,a.FENDDATE, CASE when FDOCUMENTSTATUS='C' then '已审核' when FDOCUMENTSTATUS='B' then '审核中' when FDOCUMENTSTATUS='A' then '创建' else '' end as FDOCUMENTSTATUS "; string sqlstr="select temp.FNUMBER,temp.FSTARTDATE,temp.FENDDATE,temp.FDOCUMENTSTATUS,d.FNAME "; return sqlstr; }
// ///构建from where语句 protected override string BuilderFromWhereSQL(IRptParams filter) { //return " from tc join td on tc.f1=td.f2 where tc.f3='demo' " string Cdtstr = " from T_BD_DEPARTMENT_L d,"; if (((TreeRptParams)filter).CurrentGroupID != null && ((TreeRptParams)filter).CurrentGroupID.ToString() != "-1") { // Cdtstr += @" where a.FID in (select FID from VehicleRecords where Fid =" + ((TreeRptParams)filter).CurrentGroupID.ToString() + " )" + " and a.FID=b.FID"; Cdtstr +=@"(select b.FNUMBER,a.FSTARTDATE,a.FENDDATE,a.FVEHICLEOWNEDDEPARTMENTS, CASE when FDOCUMENTSTATUS='C' then '已审核'when FDOCUMENTSTATUS='B' then '审核中'when FDOCUMENTSTATUS='A' then '创建'else '' end as FDOCUMENTSTATUS from FDepartmentTab a,VehicleRecords b where a.FID in (select FID from VehicleRecords where Fid =" + ((TreeRptParams)filter).CurrentGroupID.ToString() + " ) and a.FID=b.FID ) temp where d.FDEPTID=temp.FVEHICLEOWNEDDEPARTMENTS"; } else { //Cdtstr += " where a.FID=b.FID"; Cdtstr += @"( select b.FNUMBER,a.FSTARTDATE,a.FENDDATE,a.FVEHICLEOWNEDDEPARTMENTS, CASE when FDOCUMENTSTATUS='C' then '已审核'when FDOCUMENTSTATUS='B' then '审核中'when FDOCUMENTSTATUS='A' then '创建'else '' end as FDOCUMENTSTATUS from FDepartmentTab a,VehicleRecords b where a.FID=b.FID ) temp where d.FDEPTID=temp.FVEHICLEOWNEDDEPARTMENTS"; }
// return Cdtstr;
//}
/// <summary>
/// 构建order by语句
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
protected override string BuilderTempTableOrderBySQL(IRptParams filter) { return " temp.FNUMBER ASC"; }
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
//FID,FNUMBER,FDOCUMENTSTATUS,FFORBIDSTATUS,FMODIFIERID,FCREATORID,FCREATEDATE,FMODIFYDATE,FREMARK,FCOMBO,FTYPE,FPRICE,FAMOUNT
base.BuilderReportSqlAndTempTable(filter, tableName);
}
}
}