提交 1cb33910 authored 作者: 李德成's avatar 李德成

西部人力插件

上级 0305cd36
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.DANGAN.ReportPlugIN
{
[HotUpdate, Description("表单插件,查阅预约")]
///查阅预约新增时自动添加预约时间
public class CheckAppointments : AbstractBillPlugIn
{
public override void AfterSave(AfterSaveEventArgs e)
{
base.AfterBindData(e);
if (this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
{
this.View.Model.SetValue("FDatetime", DateTime.Now.ToString("yyyy-MM-dd HH:ss"));
this.View.UpdateView("FDatetime");
}
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.DANGAN.ReportPlugIN
{
[HotUpdate, Description("表单插件,打开定制结算单日期选择动态表单")]
public class GeneratingDocuments: AbstractListPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
if (e.BarItemKey.Equals("LButton"))
{ //调用,动态表单
//var model = this.View.Model;
DynamicFormShowParameter form = new DynamicFormShowParameter();
//调用哪个表单
form.FormId = "LQKJ_SettlementFiltering";
//form.CustomParams.Add("FBillNo", Convert.ToString(this.View.Model.GetValue("FBillNo")));
//打开的动态表单,加载进来
this.View.ShowForm(form, new Action<FormResult>((results) =>
{
var count = results.ReturnData;
if (count != null)
{
this.View.ShowMessage($"共生成{count}个街道的费用结算单!");
this.View.Refresh();
}
}));
}
}
}
}
......@@ -35,11 +35,32 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.Client, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\WebSite\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
......@@ -49,9 +70,14 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CheckAppointments.cs" />
<Compile Include="DynamicReport.cs" />
<Compile Include="GeneratingDocuments.cs" />
<Compile Include="NumberVisitsListPlugIN.cs" />
<Compile Include="OnSiteInspection.cs" />
<Compile Include="Report.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="YuYueGuiZeReportPlugIN.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.DANGAN.ReportPlugIN
{
[HotUpdate, Description("列表插件更新,档案查阅次数")]
public class NumberVisitsListPlugIN: AbstractListPlugIn
{
public override void OnInitialize(InitializeEventArgs e)
{
LoadDate();
}
private void LoadDate()
{
string sql = @"/*dialect*/update T_LQKJ_FilesManage set FCYCount=(select COUNT(*) from T_DA_ArchiveAccess where FDAIDCARD=t1.FDAIDCARD) from T_DA_ArchiveAccess t1,T_LQKJ_FilesManage t2 where t1.FDAIDCARD = t2.FIDCARD and t1.FFORBIDSTATUS = 'A' and t1.FHANDLESTATES = 'Y'";
DBUtils.Execute(this.Context, sql);
}
}
}
差异被折叠。
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.DANGAN.ReportPlugIN
{
[HotUpdate, Description("表单插件,新增预约时间信息")]
public class YuYueGuiZeReportPlugIN : AbstractBillPlugIn
{
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
//判断单据的状态是否为新增
if (!this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
{
return;
}
// 获取单据体数据包
DynamicObjectCollection Entrys = this.View.Model.DataObject["DA_RuleInformation"] as DynamicObjectCollection;
Entrys.Clear();
DateTime StateTime = new DateTime(2023, 9, 26, 9, 30, 0);
DateTime EndTime = new DateTime(2023, 9, 26, 16, 30, 0);
for (; StateTime <= EndTime; StateTime = StateTime.AddMinutes(60))
{
if (StateTime.Hour == 11||StateTime.Hour == 12 || StateTime.Hour == 13)
continue;
//创建新的单据体分录行
DynamicObject entry = Entrys.DynamicCollectionItemPropertyType.CreateInstance() as DynamicObject;
entry["F_LQKJ_MakeTime"] = StateTime.ToString("HH:mm:ss");
entry["FPlacesNumber"] = 1;
entry["FRemainderNumber"] = 1;
Entrys.Add(entry);
}
// 重新加载数据包
DBServiceHelper.LoadReferenceObject(this.Context, Entrys.ToArray(), Entrys.FirstOrDefault().DynamicObjectType, false);
this.View.UpdateView("F_LQKJ_RuleInfoRuleInformation");
}
/*public override void BeforeSave(BeforeSaveEventArgs e)
{
if ((DateTime)this.View.Model.GetValue("FTimePeriod") < DateTime.Now.Date)
{
this.View.ShowErrMessage("日期不能小于今天!");
e.Cancel = true;
return;
}
string sql = $"select*from LQKJ_t_AppointmentRules where FTIMEPERIOD='{this.View.Model.GetValue("FTimePeriod")}' and FTYPE='{this.View.Model.GetValue("FType")}'";
if(DBServiceHelper.ExecuteDataSet(base.Context, sql).Tables[0].Rows.Count > 0)
{
this.View.ShowErrMessage("当前当前日期的预约规则已存在!");
e.Cancel = true;
return;
}
}*/
}
}
c83de0cabc081dfb9759e9b825b8ef42649b153c
5d42a6454dbf06cb9f9ebcac8fd59b0ff805ab32
......@@ -4,3 +4,8 @@ C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.DANGAN.ReportPlugIN\obj\Debug
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.csproj.CopyComplete
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.dll
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.DANGAN.ReportPlugIN\obj\Debug\LQKJ.DANGAN.ReportPlugIN.csproj.CopyComplete
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.DANGAN.ServicePlugIN</RootNamespace>
<AssemblyName>LQKJ.DANGAN.ServicePlugIN</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\website\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.Client">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.WebApi.Client.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.FormService">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.WebApi.FormService.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SummaryAppointments.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.DANGAN.ServicePlugIN")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("LQKJ.DANGAN.ServicePlugIN")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("a5dfd703-01cb-4537-addb-f19e65dfbc1c")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Net;
using System.Runtime.Remoting.Contexts;
using System.Security.Policy;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Log;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Globalization;
using System.Collections;
using System.Configuration;
namespace LQKJ.DANGAN.ServicePlugIN
{
[Description("预约汇总"), HotUpdate]
public class SummaryAppointments : SysReportBaseService
{
public override void Initialize()
{
//报表类型:简单报表
ReportProperty.ReportType = ReportType.REPORTTYPE_NORMAL;
this.ReportProperty.IsUIDesignerColumns = false;
base.Initialize();
}
public override ReportHeader GetReportHeaders(IRptParams filter)
{
ReportHeader header = base.GetReportHeaders(filter);
header.AddChild("FDate", new LocaleValue("&时间", base.Context.UserLocale.LCID));
header.AddChild("FCYCount", new LocaleValue("&总查阅次数", base.Context.UserLocale.LCID));
header.AddChild("FCYFCount", new LocaleValue("&查阅份数", base.Context.UserLocale.LCID));
header.AddChild("FXSCYCount", new LocaleValue("&线上预约查阅次数", base.Context.UserLocale.LCID));
header.AddChild("FXXCYCount", new LocaleValue("&线下未预约查阅次数", base.Context.UserLocale.LCID));
header.AddChild("FYYCount", new LocaleValue("&移交次数", base.Context.UserLocale.LCID));
header.AddChild("FYYFCount", new LocaleValue("&移交份数", base.Context.UserLocale.LCID));
//header.AddChild("DWName", new LocaleValue("&单位名称", base.Context.UserLocale.LCID));
return header;
}
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
IDBService dBService = ServiceFactory.GetDBService(this.Context);
DynamicObject dynamicFile = filter.FilterParameter.CustomFilter;
string type= dynamicFile["FType"].ToString();
string Fdate=DateTime.Now.ToString("yyyy-MM-dd");
string Fdate1=DateTime.Now.ToString("yyyy-MM-dd");
string seqFid = string.Format(base.KSQL_SEQ, "FDate Desc");
if (dynamicFile["FDate"] != null)
{
Fdate = DateTime.Parse(dynamicFile["FDate"].ToString()).ToString("yyyy-MM-dd");
}
if (dynamicFile["FDate1"] != null)
{
Fdate1 = DateTime.Parse(dynamicFile["FDate1"].ToString()).ToString("yyyy-MM-dd");
}
string sql;
if (type == "1")
{
sql= string.Format(@"/*dialect*/SELECT FDate,
SUM(CYCount) AS FCYCount,
SUM(CYFCount) AS FCYFCount,
SUM(XSCYCount)AS FXSCYCount,
SUM(XXCYCount)AS FXXCYCount,
SUM(YYCount) AS FYYCount,
SUM(YYFCount) AS FYYFCount,
{0} into {1}
FROM (
SELECT YEAR(CAST(LEFT(FDATETIME1,10) AS DATE)) AS FDate,
COUNT(*) AS CYCount,
COUNT(*) AS CYFCount,
(select COUNT(*) from T_DA_ArchiveAccess where FNOAPPOINTMENT='0'and FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy')=YEAR(CAST(LEFT(FDATETIME1,10) AS DATE)))AS XSCYCount,
(select COUNT(*) from T_DA_ArchiveAccess where FNOAPPOINTMENT='1'and FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy')=YEAR(CAST(LEFT(FDATETIME1,10) AS DATE)))AS XXCYCount,
0 AS YYCount,
0 AS YYFCount
FROM T_DA_ArchiveAccess t1
WHERE FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')>='{2}'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')<='{3}'
GROUP BY YEAR(CAST(LEFT(FDATETIME1,10) AS DATE))
UNION ALL
SELECT YEAR(CAST(LEFT(FDATETIME1,10) AS DATE)) AS FDate,
0 AS CYCount,
0 AS CYFCount,
0 AS XSCYCount,
0 AS XXCYCount,
COUNT(*) AS YYCount,
SUM(FTransferQty) AS YYFCount
FROM T_DA_ArchiveTransfer
WHERE FHANDLESTATES='Y' and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')>='{2}'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')<='{3}'
GROUP BY YEAR(CAST(LEFT(FDATETIME1,10) AS DATE))
) AS CombinedResults
GROUP BY FDate", seqFid, tableName, Fdate,Fdate1);
}
else
{
sql = string.Format(@"/*dialect*/SELECT FDate,
SUM(CYCount) AS FCYCount,
SUM(CYFCount) AS FCYFCount,
SUM(XSCYCount)AS FXSCYCount,
SUM(XXCYCount)AS FXXCYCount,
SUM(YYCount) AS FYYCount,
SUM(YYFCount) AS FYYFCount,
{0} into {1}
FROM (
SELECT FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd') AS FDate,
COUNT(*) AS CYCount,
COUNT(*) AS CYFCount,
(select COUNT(*) from T_DA_ArchiveAccess where FNOAPPOINTMENT='0'and FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')=FORMAT(CAST(LEFT(t1.FDATETIME1,10) AS DATE),'yyyy-MM-dd'))AS XSCYCount,
(select COUNT(*) from T_DA_ArchiveAccess where FNOAPPOINTMENT='1'and FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')=FORMAT(CAST(LEFT(t1.FDATETIME1,10) AS DATE),'yyyy-MM-dd'))AS XXCYCount,
0 AS YYCount,
0 AS YYFCount
FROM T_DA_ArchiveAccess t1
WHERE FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')>='{2}'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')<='{3}'
GROUP BY FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')
UNION ALL
SELECT FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd') AS FDate,
0 AS CYCount,
0 AS CYFCount,
0 AS XSCYCount,
0 AS XXCYCount,
COUNT(*) AS YYCount,
SUM(FTransferQty) AS YYFCount
FROM T_DA_ArchiveTransfer
WHERE FHANDLESTATES='Y'and FFORBIDSTATUS='A'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')>='{2}'and FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')<='{3}'
GROUP BY FORMAT(CAST(LEFT(FDATETIME1,10) AS DATE),'yyyy-MM-dd')
) AS CombinedResults
GROUP BY FDate", seqFid, tableName, Fdate,Fdate1);
}
/*//拼接sql语句
//上级公司客户名
//公司客户名
if (!string.IsNullOrWhiteSpace(ClientName))
{
sql += "and kh.FNAME like ('%" + ClientName + "%')";
}
//订单日期
if (!string.IsNullOrWhiteSpace(OrderDate))
{
sql += " and xs.FDATE in('" + OrderDate + "')";
}*/
dBService.Execute(this.Context, sql);
base.BuilderReportSqlAndTempTable(filter, tableName);
}
/// <summary>
/// 汇总方法
/// </summary>
/// <param name="filter"></param>
/// <returns></returns>
public override List<SummaryField> GetSummaryColumnInfo(IRptParams filter)
{
List<SummaryField> summarys = base.GetSummaryColumnInfo(filter);
summarys.Add(new SummaryField("FCYCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
summarys.Add(new SummaryField("FCYFCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
summarys.Add(new SummaryField("FXSCYCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
summarys.Add(new SummaryField("FXXCYCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
summarys.Add(new SummaryField("FYYCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
summarys.Add(new SummaryField("FYYFCount", Kingdee.BOS.Core.Enums.BOSEnums.Enu_SummaryType.SUM));
return summarys;
}
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.NDR.ReportPlug
{
[HotUpdate, Description("表单插件,工作日历时间")]
public class CalendarInsetReportPlug : AbstractBillPlugIn
{
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
//判断单据的状态是否为新增
if (!this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
{
}
}
public override void ButtonClick(ButtonClickEventArgs e)
{
base.ButtonClick(e);
if (e.Key.ToUpper().Equals("FButton".ToUpper()))
{
if (!this.View.OpenParameter.Status.Equals(OperationStatus.ADDNEW))
{
this.View.ShowErrMessage("仅新增状态下可用!");
return;//不为新增
}
var Year = this.View.Model.GetValue("FYear");
if (string.IsNullOrWhiteSpace(Year?.ToString()))
{
this.View.ShowErrMessage("年份不能为空!");
return;//不为新增
}
GeneratedData(int.Parse(DateTime.Parse(Year.ToString()).ToString("yyyy")));
}
}
private void GeneratedData(int year)
{
// 获取单据体数据包
DynamicObjectCollection Entrys = this.View.Model.DataObject["LQKJ_Cust_CalendarEntry"] as DynamicObjectCollection;
Entrys.Clear();
DateTime startDate = new DateTime(year, 1, 1);
DateTime endDate = new DateTime(year, 12, 31);
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
{
//创建新的单据体分录行
DynamicObject entry = Entrys.DynamicCollectionItemPropertyType.CreateInstance() as DynamicObject;
entry["FDate"] = date.ToString("yyyy-MM-dd");//FDateType
if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)
{
entry["FDateType"] = 2;
}
else
{
entry["FDateType"] = 1;
}
Entrys.Add(entry);
}
// 重新加载数据包
DBServiceHelper.LoadReferenceObject(this.Context, Entrys.ToArray(), Entrys.FirstOrDefault().DynamicObjectType, false);
this.View.UpdateView("F_LQKJ_CalendarEntry");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.NDR.ReportPlug</RootNamespace>
<AssemblyName>LQKJ.NDR.ReportPlug</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.OrmEngine">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.OrmEngine.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper">
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="CalendarInsetReportPlug.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.NDR.ReportPlug")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("微软中国")]
[assembly: AssemblyProduct("LQKJ.NDR.ReportPlug")]
[assembly: AssemblyCopyright("Copyright © 微软中国 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("d139fc86-bff4-42b8-9a04-e6febfb847e2")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Permission;
using Kingdee.BOS.JSON;
using Kingdee.BOS.ServiceHelper.FileServer;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using LQKJ.XIBU.Core;
using Kingdee.BOS.Core;
using System.Threading;
using Kingdee.BOS.Core.Metadata.FieldElement;
using static Kingdee.BOS.App.Core.Validation.EntryEntity.CompositePKValidator.KeyHelper;
using System.Reflection;
namespace LQKJ.NSJYB.ReportPlug
{
[HotUpdate, Description("嵌入网页")]
public class InlayHtml: AbstractBillPlugIn
{
private int count=0;
private string url = Kingdee.BOS.KDConfiguration.Current.CommonConfiguration.AppSettings.Settings["url"].Value;
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
string webSiteUrl = FileServerHelper.GetAppSiteOuterNetUrl(this.Context, HttpContext.Current.Request);
string FormId = this.View.GetFormId();
string FID = this.View.Model.DataObject["Id"].ToString();
string UserId = this.Context.UserId.ToString();
string sourceUrl = string.Format($"http://192.168.1.168:85/#/RichTextEditor?FormId={FormId}&FID={FID}&UserID={UserId}");
//string sourceUrl = string.Format($"http://192.168.1.42:4000/#/RichTextEditor?FormId={FormId}&FID={FID}&UserID={UserId}");
//拿到面板控件,设置需要展示的嵌套网页地址,参数通过url传参。
Control webBrowse = this.View.GetControl("FRichTextPanel");
webBrowse.SetCustomPropertyValue("Source", sourceUrl);
webBrowse.SetCustomPropertyValue("IsSetBrowseVisible", true);
webBrowse.SetCustomPropertyValue("Allowfullscreen", true);
//兼容GUI。
if (this.View.Context.ClientType != ClientType.Silverlight
&& this.View.Context.ClientType != ClientType.Html)
{
webBrowse.InvokeControlMethod("StartTime", 1);
}
this.View.AddAction("notShowMainFormHolder", true);
}
public override void BeforeClosed(BeforeClosedEventArgs e)
{
string UserId = this.Context.UserId.ToString();
if (RichText.RihTextKeys.ContainsKey(UserId))
{
RichText.RihTextKeys.Remove(UserId);
}
}
/*public override void CustomEvents(CustomEventsArgs e)
{
//判断是嵌套网页发起的自定义事件,才执行相关逻辑。
if (e.EventName.EqualsIgnoreCase("$$MessageCustomerEvent".Trim()))
{
//拿到嵌套网页传递过来的JSON数据。
JSONObject data = JSONObject.Parse(e.EventArgs);
string content = data.GetValue("content", string.Empty);
this.View.ShowMessage(content);
//消息提示完隐藏WebBrowse,兼容WPF。
Control webBrowse = this.View.GetControl("FRichTextPanel");
//webBrowse.SetCustomPropertyValue("IsBrowserVisible", false);
}
}*/
public override void BeforeSave(BeforeSaveEventArgs e)
{
base.BeforeSave(e);
Thread.Sleep(1000);
string UserId = this.Context.UserId.ToString();
if (!RichText.RihTextKeys.ContainsKey(UserId))
{
if (count == 0)
{
this.View.ShowWarnningMessage
("无法保存富文本内容,服务器异常,请确认",
action: (result) =>
{
count++;
this.View.Model.Save();
}
);
e.Cancel = true;
}
}
else
{
var field = (LargeTextField)this.View.BillBusinessInfo.GetField("FRichText");
field.TagDynamicProperty.SetValue(this.View.Model.DataObject, RichText.RihTextKeys[UserId].GetUtf8Bytes());
this.View.UpdateView("FRichText");
//this.View.Model.SetValue("FRichText", RichText.RihTextKeys[UserId]);
//RichText.RihTextKeys.Remove(UserId);
}
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Bill.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.NSJYB.ReportPlug
{
[HotUpdate, Description("嵌入网页")]
public class InlayHtmlWebFormBuilderPlugIn: AbstractDynamicWebFormBuilderPlugIn
{
public override void CreateControl(CreateControlEventArgs e)
{
base.CreateControl(e);
if (e.ControlAppearance.Key.EqualsIgnoreCase("FRichTextPanel"))
{
//需要嵌入网页的容器
e.Control["xtype"] = "kdwebbrowser";
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.NSJYB.ReportPlug</RootNamespace>
<AssemblyName>LQKJ.NSJYB.ReportPlug</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\website\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="LQKJ.XIBU.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\LQKJ.XIBU.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="InlayHtml.cs" />
<Compile Include="InlayHtmlWebFormBuilderPlugIn.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.NSJYB.ReportPlug")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("微软中国")]
[assembly: AssemblyProduct("LQKJ.NSJYB.ReportPlug")]
[assembly: AssemblyCopyright("Copyright © 微软中国 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("35eb70a7-31c6-4e3f-87ed-c3dc0b676880")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\website\bin\LQKJ.NSJYB.ReportPlug.dll
D:\西部培训\website\bin\LQKJ.NSJYB.ReportPlug.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.NSJYB.ReportPlug\obj\Debug\LQKJ.NSJYB.ReportPlug.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.NSJYB.ReportPlug\obj\Debug\LQKJ.NSJYB.ReportPlug.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.NSJYB.ReportPlug\obj\Debug\LQKJ.NSJYB.ReportPlug.csproj.CopyComplete
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.NSJYB.ReportPlug\obj\Debug\LQKJ.NSJYB.ReportPlug.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.NSJYB.ReportPlug\obj\Debug\LQKJ.NSJYB.ReportPlug.pdb
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.SaveSubmitAudit.ServicePlugIN</RootNamespace>
<AssemblyName>LQKJ.SaveSubmitAudit.ServicePlugIN</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\website\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=8.1.620.16, Culture=neutral, PublicKeyToken=null" />
<Reference Include="Kingdee.BOS.ServiceHelper, Version=8.1.620.16, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\西部培训\website\bin\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SubmitAudit.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.SaveSubmitAudit.ServicePlugIN")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("微软中国")]
[assembly: AssemblyProduct("LQKJ.SaveSubmitAudit.ServicePlugIN")]
[assembly: AssemblyCopyright("Copyright © 微软中国 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("6628d5ea-b685-48bd-bff8-b7d0a868ae8c")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
using Kingdee.BOS.App.Core;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
namespace LQKJ.SaveSubmitAudit.ServicePlugIN
{
/// <summary>
/// 公用自动提交审核插件
/// </summary>
[HotUpdate, Description("保存提交审核")]
public class SubmitAudit : AbstractOperationServicePlugIn
{
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
var saveResult = this.OperationResult;
// 筛选出保存成功的单据内码
var successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true).Select(x => x.PKValue).Distinct().ToArray();
if (successPKs.Length == 0)
{
// 没有保存成功的结果,直接退出
return;
}
for (int i = 0; i < successPKs.Count(); i++)
{
if (e.DataEntitys[i]["DocumentStatus"].ToString() == "B" || e.DataEntitys[i]["DocumentStatus"].ToString() == "C")
{
return;
}
}
if (!successPKs.Any())
{
return;
}
// 提交处理
var submitService = new SubmitService();
var submitResult = submitService.Submit(Context, BusinessInfo, successPKs, FormOperationEnum.Submit.ToString(), Option.Copy());
var isExit = CheckResult(saveResult, submitResult);
saveResult.MergeResult(submitResult);
if (isExit)
{
// 有提交失败的结果,直接退出
return;
}
// 审核处理
// 再次筛选中保存成功并且提交也成功的结果
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true).Select(x => x.PKValue).Distinct().ToArray();
if (successPKs.Length == 0)
{
// 没有提交成功的结果,直接退出
return;
}
var paras = new List<object>() { "1" }; //审核所需参数
var auditPKs = successPKs.Select(x => new KeyValuePair<object, object>(x, "")).ToList();
var statusService = new SetStatusService();
var auditResult = statusService.SetBillStatus(Context, BusinessInfo, auditPKs, paras, FormOperationEnum.Audit.ToString(), Option.Copy());
isExit = CheckResult(saveResult, auditResult);
saveResult.MergeResult(auditResult);
if (isExit)
{
//有审核失败的结果,直接退出
return;
}
// 操作完成后刷新单据状态数据
var billStatusField = this.BusinessInfo.GetBillStatusField();
var billStatusPropertyName = billStatusField.PropertyName;
var objs = new BusinessDataReader(Context).Load(e.DataEntitys.Select(o => o[0]).ToArray()
, BusinessInfo.GetSubBusinessInfo(new List<string>(new[] { billStatusField.Key })).GetDynamicObjectType());
foreach (var obj in objs)
{
var saveObj = e.DataEntitys.FirstOrDefault(o => o[0].ToString() == obj[0].ToString());
if (saveObj != null)
{
saveObj[billStatusPropertyName] = obj[billStatusPropertyName];
}
}
}
/// <summary>
/// 检查操作结果,判断是否需要退出
/// </summary>
/// <param name="saveResult"></param>
/// <param name="nextResult"></param>
/// <returns></returns>
private bool CheckResult(IOperationResult saveResult, IOperationResult nextResult)
{
if (nextResult == null)
{
saveResult.IsSuccess = false;
return true;
}
if (!nextResult.IsSuccess)
{
// 操作失败
saveResult.IsSuccess = false;
return true;
}
if (nextResult.InteractionContext != null)
{
// 交互异常
saveResult.IsSuccess = false;
return true;
}
var failResults = nextResult.OperateResult.Where(e => e.SuccessStatus == false).ToArray();
if (failResults.Length > 0 || nextResult.ValidationErrors.Count > 0)
{
// 操作异常,校验异常
saveResult.IsSuccess = false;
return true;
}
return false;
}
}
}
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
D:\西部培训\website\bin\LQKJ.SaveSubmitAudit.ServicePlugIN.dll
D:\西部培训\website\bin\LQKJ.SaveSubmitAudit.ServicePlugIN.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.SaveSubmitAudit.ServicePlugIN\obj\Debug\LQKJ.SaveSubmitAudit.ServicePlugIN.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.SaveSubmitAudit.ServicePlugIN\obj\Debug\LQKJ.SaveSubmitAudit.ServicePlugIN.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.SaveSubmitAudit.ServicePlugIN\obj\Debug\LQKJ.SaveSubmitAudit.ServicePlugIN.csproj.CopyComplete
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.SaveSubmitAudit.ServicePlugIN\obj\Debug\LQKJ.SaveSubmitAudit.ServicePlugIN.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.SaveSubmitAudit.ServicePlugIN\obj\Debug\LQKJ.SaveSubmitAudit.ServicePlugIN.pdb
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.XIBU.CORE
{
public static class Class1
{
public static string str;
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F6869B5F-2997-423E-B13E-D579DB2C9150}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.XIBU.CORE</RootNamespace>
<AssemblyName>LQKJ.XIBU.CORE</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>D:\西部培训\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("LQKJ.XIBU.CORE")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("微软中国")]
[assembly: AssemblyProduct("LQKJ.XIBU.CORE")]
[assembly: AssemblyCopyright("Copyright © 微软中国 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("f6869b5f-2997-423e-b13e-d579db2c9150")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\bin\Debug\LQKJ.XIBU.CORE.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\bin\Debug\LQKJ.XIBU.CORE.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\obj\Debug\LQKJ.XIBU.CORE.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\obj\Debug\LQKJ.XIBU.CORE.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\obj\Debug\LQKJ.XIBU.CORE.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XIBU.CORE\obj\Debug\LQKJ.XIBU.CORE.pdb
D:\西部培训\WebSite\bin\LQKJ.XIBU.CORE.dll
D:\西部培训\WebSite\bin\LQKJ.XIBU.CORE.pdb

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.33529.622
# Visual Studio Version 17
VisualStudioVersion = 17.7.34024.191
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.XiBU.ReportPlugIN", "LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ReportPlugIN.csproj", "{23310E5C-C861-47C2-AF16-6A6449EBE35F}"
EndProject
......@@ -9,6 +9,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.XiBU.ServicePlugIN", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.DANGAN.ReportPlugIN", "LQKJ.DANGAN.ReportPlugIN\LQKJ.DANGAN.ReportPlugIN.csproj", "{50FFAF6A-67AB-4C16-B85E-7C99DC74BE7D}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.DANGAN.ServicePlugIN", "LQKJ.DANGAN.ServicePlugIN\LQKJ.DANGAN.ServicePlugIN.csproj", "{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.NDR.ReportPlug", "LQKJ.NDR.ReportPlug\LQKJ.NDR.ReportPlug.csproj", "{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.SaveSubmitAudit.ServicePlugIN", "LQKJ.SaveSubmitAudit.ServicePlugIN\LQKJ.SaveSubmitAudit.ServicePlugIN.csproj", "{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.NSJYB.ReportPlug", "LQKJ.NSJYB.ReportPlug\LQKJ.NSJYB.ReportPlug.csproj", "{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -27,6 +35,22 @@ Global
{50FFAF6A-67AB-4C16-B85E-7C99DC74BE7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50FFAF6A-67AB-4C16-B85E-7C99DC74BE7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50FFAF6A-67AB-4C16-B85E-7C99DC74BE7D}.Release|Any CPU.Build.0 = Release|Any CPU
{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A5DFD703-01CB-4537-ADDB-F19E65DFBC1C}.Release|Any CPU.Build.0 = Release|Any CPU
{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D139FC86-BFF4-42B8-9A04-E6FEBFB847E2}.Release|Any CPU.Build.0 = Release|Any CPU
{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6628D5EA-B685-48BD-BFF8-B7D0A868AE8C}.Release|Any CPU.Build.0 = Release|Any CPU
{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}.Release|Any CPU.ActiveCfg = Release|Any CPU
{35EB70A7-31C6-4E3F-87ED-C3DC0B676880}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
......@@ -9,6 +10,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LQKJ.XiBU.ReportPlugIN
{
[HotUpdate,Description("表单插件")]
......@@ -19,15 +21,22 @@ namespace LQKJ.XiBU.ReportPlugIN
base.BarItemClick(e);
if (e.BarItemKey.Equals("LQKJ_Relieve"))
{
var Id = this.View.Model.GetPKValue().ToString();
string uptSql = $"update T_PX_StudentsInfo set FOPENID='' where FSTUDENTID={Id}";
var result = DBServiceHelper.Execute(this.Context, uptSql);
if (result > 0)
this.View.ShowMessage("是否确认解绑微信?", MessageBoxOptions.OKCancel, new Action<MessageBoxResult>(result =>
{
this.View.ShowMessage("解绑成功!");
//this.View.UpdateView();
this.View.Refresh();
}
if (result == MessageBoxResult.OK)
{
var Id = this.View.Model.GetPKValue().ToString();
string uptSql = $"update T_PX_StudentsInfo set FOPENID='' where FSTUDENTID={Id}";
var results = DBServiceHelper.Execute(this.Context, uptSql);
if (results > 0)
{
this.View.ShowMessage("解绑成功!");
//this.View.UpdateView();
this.View.Refresh();
}
}
}));
}
}
}
......
......@@ -5,3 +5,8 @@ C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ReportPlugIN\obj\Debug\L
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.dll
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.pdb
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.csproj.CopyComplete
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ReportPlugIN\obj\Debug\LQKJ.XiBU.ReportPlugIN.pdb
using Kingdee.BOS.App.Core;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
namespace LQKJ.XiBU.ServicePlugIN
{
[HotUpdate,Description("保存提交审核")]
public class SubmitAudit: AbstractOperationServicePlugIn
{
{
/// <summary>
/// 枚举
/// </summary>
/*public enum DataType
{
LQKJ_Class,
LQKJ_StudentsInfo,
LQKJ_TrainingProgram,
LQKJ_ClassDetails,
LQKJ_Teacher,
LQKJ_Course,
LQKJ_SceneTeaching
}*/
public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
{
base.AfterExecuteOperationTransaction(e);
......@@ -23,6 +40,62 @@ namespace LQKJ.XiBU.ServicePlugIN
// 没有保存成功的结果,直接退出
return;
}
for (int i= 0; i <successPKs.Count();i++)
{
if (e.DataEntitys[i]["DocumentStatus"].ToString()=="B"|| e.DataEntitys[i]["DocumentStatus"].ToString() == "C")
{
return;
}
}
/*IEnumerable<IDataRecord> dataTable;
string result = string.Join(",", successPKs);
string id = this.BusinessInfo.GetForm().Id;
DataType dataType;
if (Enum.TryParse(id, out dataType))
{
switch (dataType)
{
case DataType.LQKJ_Class://班级
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FCLASSID as PKValue,FDOCUMENTSTATUS From T_PX_CLASS where FCLASSID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt32(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_StudentsInfo://学员
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FSTUDENTID as PKValue,FDOCUMENTSTATUS From T_PX_StudentsInfo where FSTUDENTID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt32(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_TrainingProgram://培训项目
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FITEMID as PKValue,FDOCUMENTSTATUS From T_PX_TRAININGPROINFO where FITEMID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt32(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_ClassDetails://班级通讯录
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FID as PKValue,FDOCUMENTSTATUS From T_PX_ADDRESSBOOK where FID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt64(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_Teacher://教师
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FTEACHERID as PKValue,FDOCUMENTSTATUS From T_PX_TEACHER where FTEACHERID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt32(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_Course://课程
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FCOURSEID as PKValue,FDOCUMENTSTATUS From T_PX_COURSE where FCOURSEID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt32(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
case DataType.LQKJ_SceneTeaching://现场教学
dataTable = DBUtils.ExecuteEnumerable(this.Context, $"select FID as PKValue,FDOCUMENTSTATUS From T_PX_SCENETEACHING where FID in ({result}) and (FDOCUMENTSTATUS='A' OR FDOCUMENTSTATUS='D')");
successPKs = saveResult.OperateResult.Where(o => o.SuccessStatus == true && dataTable.Any(f => f.GetInt64(0).ToString() == o.PKValue.ToString())).Select(x => x.PKValue).Distinct().ToArray();
break;
default:
return;
}
}
else
{
return;
}*/
//判断全部单据都处于处于审核中或已审核状态
if (!successPKs.Any())
{
return;
}
// 提交处理
var submitService = new SubmitService();
var submitResult = submitService.Submit(Context, BusinessInfo, successPKs, FormOperationEnum.Submit.ToString(), Option.Copy());
......@@ -49,14 +122,14 @@ namespace LQKJ.XiBU.ServicePlugIN
saveResult.MergeResult(auditResult);
if (isExit)
{
// 有审核失败的结果,直接退出
//有审核失败的结果,直接退出
return;
}
// 操作完成后刷新单据状态数据
var billStatusField = this.BusinessInfo.GetBillStatusField();
var billStatusPropertyName = billStatusField.PropertyName;
var objs = new BusinessDataReader(Context).Load(e.DataEntitys.Select(o => o[0]).ToArray()
, BusinessInfo.GetSubBusinessInfo(new List<string>(new[] { billStatusField.Key })).GetDynamicObjectType());
,BusinessInfo.GetSubBusinessInfo(new List<string>(new[] { billStatusField.Key })).GetDynamicObjectType());
foreach (var obj in objs)
{
var saveObj = e.DataEntitys.FirstOrDefault(o => o[0].ToString() == obj[0].ToString());
......
......@@ -4,3 +4,8 @@ C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ServicePlugIN\obj\Debug\
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.csproj.CopyComplete
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.dll
C:\Users\zcb27\Desktop\LQKJ.XiBU.ReportPlugIN\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.pdb
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.csproj.AssemblyReference.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.csproj.CopyComplete
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.dll
C:\Users\Administrator\Desktop\培训+档案\danganOrRenliReport(插件)\LQKJ.XiBU.ServicePlugIN\obj\Debug\LQKJ.XiBU.ServicePlugIN.pdb
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论