提交 d5422d34 authored 作者: 曾传波's avatar 曾传波

最新

上级
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.List;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("采购员过滤")]
public class CGYGL : AbstractDynamicFormPlugIn
{
/// <summary>
/// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
/// 这里不宜对数据DataModel进行处理
/// </summary>
/// <param name="e"></param>
public override void OnInitialize(InitializeEventArgs e)
{
}
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
{
base.BeforeF7Select(e);
switch (e.FieldKey)
{
//case "FXXX":通过字段的Key[大写]来区分不同的基础资料
// e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
//break;
case "F_LQKJ_PurchasingAgent":
ListShowParameter listShowParameter = e.DynamicFormShowParameter as ListShowParameter;
listShowParameter.IsIsolationOrg = false;
break;
case "F_LQKJ_Planner":
ListShowParameter listShowParameter1 = e.DynamicFormShowParameter as ListShowParameter;
listShowParameter1.IsIsolationOrg = false;
break;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using Kingdee.BOS.Core.DependencyRules;
using Kingdee.BOS.Core.CommonFilter;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("成本计算单横向展示过滤界面")]
public class CostCalBillHorizonFilterEdit : AbstractSysReportPlugIn
{
public override void OnInitialize(InitializeEventArgs e)
{
this.View.RuleContainer.AddPluginRule("FBillHead", RaiseEventType.ValueChanged | RaiseEventType.Initialized, new Action<DynamicObject, object>(this.CostItemChange), new string[]
{
"FCostItems"
});
base.OnInitialize(e);
}
/// <summary>
/// 增加存货类别
/// </summary>
/// <param name="dyObj"></param>
/// <param name="obj"></param>
private void CostItemChange(DynamicObject dyObj, dynamic obj)
{
ICommonFilterModelService modelService = (ICommonFilterModelService)this.Model;
modelService.ColumnObject.AddField(new Kingdee.BOS.LocaleValue("存货类别"), "FCategoryID",7, 100, 100, true, true);
//modelService.ColumnObject.SetFieldList(modelService.ColumnObject.AllFieldList);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.ServiceHelper;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("预测单表单")]
public class ForecastEdit : AbstractBillPlugIn
{
/// <summary>
/// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
/// 这里不宜对数据DataModel进行处理
/// </summary>
/// <param name="e"></param>
public override void OnInitialize(InitializeEventArgs e)
{
}
/// <summary>
/// 新建单据加载数据完成之后,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void AfterCreateNewData(EventArgs e)
{
}
/// <summary>
/// 修改,查看单据加载已有数据之后,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void AfterLoadData(EventArgs e)
{
}
/// <summary>
/// 数据加载之后,需要处理的功能,这里主要对界面样式进行处理,尽量不要对Datamodel进行处理
/// </summary>
/// <param name="e"></param>
public override void AfterBindData(EventArgs e)
{
}
/// <summary>
/// 在根据编码检索数据之前调用;
/// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
/// 还可以控制当前过滤是否启用组织隔离,数据状态隔离
/// </summary>
/// <param name="e"></param>
public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
{
switch (e.BaseDataField.Key.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的基础资料
//e.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 显示基础资料列表之前调用
/// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
/// </summary>
/// <param name="e"></param>
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
{
switch (e.FieldKey.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的基础资料
// e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 界面数据发生变化之前,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
{
switch (e.Key.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的控件的数据变化功能,如果要阻止该次变化,可以用e.Cancel = true;
// e.Cancel = true;
// break;
case "F_LQKJ_ForecastOrder":
break;
default:
break;
}
}
/// <summary>
/// 界面数据发生变化之后,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void DataChanged(DataChangedEventArgs e)
{
switch (e.Field.Key.ToUpperInvariant())
{
case "":
break;
default:
break;
}
}
/// <summary>
/// 单据持有事件发生前需要完成的功能
/// </summary>
/// <param name="e"></param>
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
switch (e.Operation.FormOperation.Operation.ToUpperInvariant())
{
//case "SAVE": 表单定义的事件都可以在这里执行,需要通过事件的代码[大写]区分不同事件
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 单据持有事件发生后需要完成的功能
/// </summary>
/// <param name="e"></param>
public override void AfterDoOperation(AfterDoOperationEventArgs e)
{
switch (e.Operation.Operation)
{
//case "SAVE": 表单定义的事件都可以在这里执行,需要通过事件的代码[大写]区分不同事件
//break;
case "ForecastOrder":
ShowForecastOrder();
break;
default:
break;
}
}
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
base.AfterBarItemClick(e);
switch (e.BarItemKey)
{
case "tbReject":
var forecast = this.Model.DataObject["Id"].ToString();
///防止用户更改数据 delete+insert解决一切烦恼!
string deleteSqlW = $@"/*dialect*/delete from LQKJ_t_ForecastOrderEntryC where F_LQKJ_SOURCEID='{forecast}'";
for (int i = 0; i < 2; i++)
{
deleteTbaleAndQ(deleteSqlW);
deleteSqlW = $@"/*dialect*/delete from LQKJ_t_ForecastOrderEntryC_Q where F_LQKJ_SOURCEID_Q='{forecast}'";
}
break;
}
}
private void deleteTbaleAndQ(string deleteSqlW)
{
DBServiceHelper.Execute(this.Context, deleteSqlW);
}
/// <summary>
/// 打开预测排程单(周)
/// </summary>
private void ShowForecastOrder()
{
if (this.Model.DataObject["BillTypeID_Id"].ToString() != "60d57fbe6277b9")
{
this.View.ShowWarnningMessage("只有单据类型为IOTMPS预测单的单据可以做预测排程单!");
return;
}
if (this.Model.DataObject["DocumentStatus"].ToString() != "C")
{
this.View.ShowWarnningMessage("只有审核的预测单可以查看预测排程单!");
return;
}
SysReportShowParameter parameter = new SysReportShowParameter() { FormId = "kc69142f7b30d4f5c80d97ae9ac7f987a" };
parameter.CustomParams.Add("forecastId", this.Model.DataObject["Id"].ToString());
parameter.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;
this.View.ShowForm(parameter);
}
/// <summary>
/// queryservice取数方案,通过业务对象来获取数据,推荐使用
/// </summary>
/// <returns></returns>
public DynamicObjectCollection GetQueryDatas()
{
QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
{
FormId = "",//取数的业务对象
FilterClauseWihtKey = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
};
DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
return dyDatas;
}
}
}
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("预测中间表表单")]
public class ForecastMiddleOpenPlugIn : AbstractListPlugIn
{
//数据构建之后的事件
public override void AfterBindData(EventArgs e)
{
var contextFormId = this.Context.ConsoleFormId;
var contextname = this.Context.CurrentOrganizationInfo.ID.ToString();
if (contextFormId == "SCP_HtmlConsole")
{
this.View.GetMainBarItem("LQKJ_tbOpenAddButton").Visible = false;
}
}
//列表双击事件
public override void ListRowDoubleClick(ListRowDoubleClickArgs e)
{
base.ListRowDoubleClick(e);
ListSelectedRowCollection listcoll = this.ListView.SelectedRowsInfo;
string[] listKey = listcoll.GetPrimaryKeyValues();
var sourceid = getBySourceID(listKey[0]);
SysReportShowParameter parameter = new SysReportShowParameter() { FormId = "kc69142f7b30d4f5c80d97ae9ac7f987a" };
parameter.CustomParams.Add("forecastId", sourceid["FID"]);
parameter.CustomParams.Add("forecastIdT", listKey[0]);
parameter.CustomParams.Add("forecastBillNO", sourceid["FBillNO"]);
parameter.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;
this.View.ShowForm(parameter);
}
//隐藏列
public override void PrepareFilterParameter(FilterArgs e)
{
base.PrepareFilterParameter(e);
var contextFormId = this.Context.ConsoleFormId;
if (contextFormId == "SCP_HtmlConsole")
{
//过滤供应商
string FilterString1 = "";
string FilterString2 = "";
string FilterString3 = "";
string FilterString4 = "";
var userId = this.Context.UserId;
DataTable dt = getIsSuppliers(userId);
var userName = dt.Rows[0]["supName"].ToString();
FilterString1 = $@"F_LQKJ_SupName='{userName}'";
FilterString2 = $@"F_LQKJ_SupName_L='{userName}'";
FilterString3 = $@"F_LQKJ_state !='待提交'";
//e.AppendQueryFilter(FilterString1);
e.AppendQueryFilter(FilterString2);
e.AppendQueryFilter(FilterString3);
//e.FilterString = $@"F_LQKJ_state !='待确定'";
//e.FilterString = $@"F_LQKJ_state_L !='待确认'";
//e.FilterString = $@"F_LQKJ_state_L !='待确定'";
}
}
//新增按钮
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
switch (e.BarItemKey)
{
case "LQKJ_tbOpenAddButton":
DynamicFormShowParameter forParameter = new DynamicFormShowParameter();
//获取动态表单的唯一标识
forParameter.FormId = "LQKJ_AddYCPCDFA";
this.View.ShowForm(forParameter);
break;
case "LQKJ_tbOpenFButton":
ListSelectedRowCollection listcoll = this.ListView.SelectedRowsInfo;
if (listcoll.Count == 0) throw new Exception("请先选择方案!");
if (listcoll.Count > 1) throw new Exception("仅支持单个方案打开!");
string[] listKey = listcoll.GetPrimaryKeyValues();
var sourceid = getBySourceID(listKey[0]);
SysReportShowParameter parameter = new SysReportShowParameter() { FormId = "kc69142f7b30d4f5c80d97ae9ac7f987a" };
parameter.CustomParams.Add("forecastId", sourceid["FID"]);
parameter.CustomParams.Add("forecastIdT", listKey[0]);
parameter.CustomParams.Add("forecastBillNO", sourceid["FBillNO"]);
parameter.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;
this.View.ShowForm(parameter);
break;
case "LQKJ_tbdelet":
var row = this.ListView.SelectedRowsInfo;
for (int i = 0; i < row.Count; i++)
{
var state = row[i].DataRow["F_LQKJ_STATE_L"].ToString();
if (state != "待提交")
{
this.View.ShowMessage("选中单据有已经提交状态");
break;
}
else
{
string sql = "delete LQKJ_t_Cust_Entrylist where FBILLNO_L = '" + row[0].BillNo + "'";
string sql1 = "delete LQKJ_t_ForecastOrderCopy where FBILLNO = '" + row[0].BillNo + "'";
DBServiceHelper.Execute(Context, sql);
DBServiceHelper.Execute(Context, sql1);
this.View.Refresh();
}
}
break;
}
}
//查询供应商
private DataTable getIsSuppliers(long userId)
{
string getSql = $@"select supl.FNAME as supName
from T_SEC_user userr left join T_SCP_USERDATA userta on userta.FUSERID=userr.FUSERID left join t_BD_Supplier_L supl on supl.FSUPPLIERID=userta.FSUPPLIERID
where userr.FUSERID={userId} and FPRIMARYGROUP=1552158 group by supl.FNAME";
var dt = DBServiceHelper.ExecuteDataSet(Context, getSql).Tables[0];
return dt;
}
//查询内码
private Dictionary<string, string> getBySourceID(string id)
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
string getSql = $@"/*dialect*/
select
F_LQKJ_SOURCEID as sourceid
from
LQKJ_t_ForecastOrderEntryC
where
FID='{id}'
group by F_LQKJ_SOURCEID
";
var dt = DBServiceHelper.ExecuteDataSet(Context, getSql).Tables[0];
string sourceID = dt.Rows[0]["sourceid"].ToString();
for (int i = 1; i < dt.Rows.Count; i++)
{
sourceID += "," + dt.Rows[i]["sourceid"].ToString();
}
keyValuePairs.Add("FID", sourceID);
string getSql1 = $@"/*dialect*/
select
FBILLNO as BillNO
from
T_PLN_FORECAST
where
FID in({sourceID})
";
var dt1 = DBServiceHelper.ExecuteDataSet(Context, getSql1).Tables[0];
string sourceBillNo = dt1.Rows[0]["BillNO"].ToString();
for (int i = 1; i < dt1.Rows.Count; i++)
{
sourceBillNo += "," + dt1.Rows[i]["BillNO"].ToString();
}
keyValuePairs.Add("FBillNO", sourceBillNo);
return keyValuePairs;
}
}
}
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.Report.PlugIn.Args;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("采购订单状态明细表导入数据")]
public class ImportData : AbstractSysReportPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey == "LQKJ_tbImport")
{
//显示动态表单
DynamicFormShowParameter forParameter = new DynamicFormShowParameter();
//获取动态表单的唯一标识
forParameter.FormId = "LQKJ_ImportData";
this.View.ShowForm(forParameter);
}
}
public override void CellDbClick(CellEventArgs Args)
{
base.CellDbClick(Args);
this.View.Refresh();
string strFID = string.Empty;
string strBillNO = string.Empty;
DataRow[] drRowInfo = null;
//获取选中行信息
drRowInfo = this.SysReportView.SelectedDataRows;
var param = new DynamicFormShowParameter();
param.FormId = "LQKJ_InputOrUpdate";
param.CustomComplexParams.Add("drRowInfo", drRowInfo);
this.View.ShowForm(param, result =>
{
if (result != null && result.ReturnData != null)
{
var returnData = (List<string>)result.ReturnData;//获取返回数据
this.View.Refresh();
this.View.ShowMessage(returnData[0]);
}
});
}
public override void EntityRowDoubleClick(EntityRowClickEventArgs e)
{
base.EntityRowDoubleClick(e);
}
public override void EntityRowClick(EntityRowClickEventArgs e)
{
base.EntityRowClick(e);
}
}
}
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Data;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Util;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("录入和修改")]
public class InputOrUpdate : AbstractDynamicFormPlugIn
{
DataRow[] dr;
public override void PreOpenForm(PreOpenFormEventArgs e)
{
dr = e.OpenParameter.GetCustomParameter("drRowInfo") as DataRow[];
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
foreach (var item in dr)
{
this.View.Model.SetValue("F_LQKJ_BillNo", item["FBILLNO"].ToString());
this.View.UpdateView("F_LQKJ_BillNo");
this.View.Model.SetValue("F_LQKJ_Seq", item["FSEQ"].ToString());
this.View.UpdateView("F_LQKJ_Seq");
this.View.Model.SetValue("F_LQKJ_MaterialNumber", item["FMaterialNumber"].ToString());
this.View.UpdateView("F_LQKJ_MaterialNumber");
this.View.Model.SetValue("FMaterialName", item["FMaterialName"].ToString());
this.View.UpdateView("FMaterialName");
this.View.Model.SetValue("F_LQKJ_Date", item["FDate"].ToString());
this.View.UpdateView("F_LQKJ_Date");
this.View.Model.SetValue("F_LQKJ_WBillNo", item["FWBillNo"].ToString());
this.View.UpdateView("F_LQKJ_WBillNo");
this.View.Model.SetValue("F_LQKJ_QTY", item["FQTY"].ToString());
this.View.UpdateView("F_LQKJ_QTY");
this.View.Model.SetValue("F_LQKJ_STOCKINQTY", item["FSTOCKINQTY"].ToString());
this.View.UpdateView("F_LQKJ_STOCKINQTY");
this.View.Model.SetValue("F_LQKJ_REMAINSTOCKINQTY", item["FREMAINSTOCKINQTY"].ToString());
this.View.UpdateView("F_LQKJ_REMAINSTOCKINQTY");
this.View.Model.SetValue("F_LQKJ_ZQRQTY", item["F_AQA_ZQRQTY"].ToString());
this.View.UpdateView("F_LQKJ_ZQRQTY");
this.View.Model.SetValue("F_LQKJ_UNZQRQTY", item["F_AQA_UNZQRQTY"].ToString());
this.View.UpdateView("F_LQKJ_UNZQRQTY");
//this.View.Model.SetValue("F_LQKJ_UNZQRQTY", item["F_AQA_UNZQRQTY"].ToString());
this.View.Model.SetValue("F_LQKJ_ACTORYQTY", item["F_LQKJ_FACTORYQTY"].ToString());
this.View.UpdateView("F_LQKJ_ACTORYQTY");
this.View.Model.SetValue("F_LQKJ_TERMINALTIME", item["F_LQKJ_TERMINALTIME"].ToString());
this.View.UpdateView("F_LQKJ_TERMINALTIME");
this.View.Model.SetValue("F_LQKJ_BILLTYPE", item["F_LQKJ_BILLTYPE"].ToString());
this.View.UpdateView("F_LQKJ_BILLTYPE");
this.View.Model.SetValue("F_LQKJ_DEMO", item["F_LQKJ_DEMO"].ToString());
this.View.UpdateView("F_LQKJ_DEMO");
if (item.ItemArray[18].ToString()== "结算" || item.ItemArray[18].ToString() == "结案")
{
this.View.GetControl("F_LQKJ_ACTORYQTY").SetCustomPropertyValue("disabled", true);
this.View.GetControl("F_LQKJ_TERMINALTIME").SetCustomPropertyValue("disabled", true);
this.View.GetControl("F_LQKJ_DEMO").SetCustomPropertyValue("disabled", true);
}
}
}
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
if (e.Operation.FormOperation.Id == "SaveData")
{
var DEMO = "";
var ACTORYQTY = "";
var TERMINALTIME = "";
var BILLTYPE = "";
if (this.View.Model.GetValue("F_LQKJ_ACTORYQTY").IsNullOrEmptyOrWhiteSpace())
{
ACTORYQTY = " ";
}
else
{
ACTORYQTY = this.View.Model.GetValue("F_LQKJ_ACTORYQTY").ToString();//工厂库存
}
if (this.View.Model.GetValue("F_LQKJ_TERMINALTIME").IsNullOrEmptyOrWhiteSpace())
{
TERMINALTIME = "NULL";
}
else
{
TERMINALTIME = this.View.Model.GetValue("F_LQKJ_TERMINALTIME").ToString();
}
if (this.View.Model.GetValue("F_LQKJ_BILLTYPE").IsNullOrEmptyOrWhiteSpace())
{
BILLTYPE = " ";
}
else
{
BILLTYPE = this.View.Model.GetValue("F_LQKJ_BILLTYPE").ToString();
}
if (this.View.Model.GetValue("F_LQKJ_DEMO").IsNullOrEmptyOrWhiteSpace())
{
DEMO = " ";
}
else
{
DEMO = this.View.Model.GetValue("F_LQKJ_DEMO").ToString();
}
var BillNo = this.View.Model.GetValue("F_LQKJ_BillNo").ToString();
var Seq = this.View.Model.GetValue("F_LQKJ_Seq").ToString();
var MaterialNumber = this.View.Model.GetValue("F_LQKJ_MaterialNumber").ToString();
string importsql = "";
if (TERMINALTIME == "NULL")
{
importsql = $@"/*dialect*/update t_PUR_POOrderEntry set F_LQKJ_FACTORYQTY='{ACTORYQTY}' ,
F_LQKJ_TERMINALTIME={TERMINALTIME},F_LQKJ_BILLTYPE='{BILLTYPE}',F_LQKJ_DEMO='{DEMO}'
from t_PUR_POOrderEntry t1 left join
T_PUR_POORDER t2 on t1.FID = t2.FID left join
T_BD_MATERIAL t1_m on t1_m.FMATERIALID = t1.FMATERIALID
where FBILLNO='{BillNo}' and FSEQ='{Seq}' and FNUMBER='{MaterialNumber}'";
}
else
{
importsql = $@"/*dialect*/update t_PUR_POOrderEntry set F_LQKJ_FACTORYQTY='{ACTORYQTY}' ,
F_LQKJ_TERMINALTIME='{TERMINALTIME}',F_LQKJ_BILLTYPE='{BILLTYPE}',F_LQKJ_DEMO='{DEMO}'
from t_PUR_POOrderEntry t1 left join
T_PUR_POORDER t2 on t1.FID = t2.FID left join
T_BD_MATERIAL t1_m on t1_m.FMATERIALID = t1.FMATERIALID
where FBILLNO='{BillNo}' and FSEQ='{Seq}' and FNUMBER='{MaterialNumber}'";
}
var success = DBUtils.Execute(this.Context, importsql);
if (success > 0)
{
//this.View.ShowMessage("录入成功");
List<string> list = new List<string>();
list.Add("录入成功");
this.View.ReturnToParentWindow(list);
this.View.Close();
}
else
{
this.View.ShowErrMessage("录入失败");
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
public class Inventory
{
public double FREALQTY { get; set; }
public string FMASTERID { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{FC0C3D89-7464-484A-8EC7-DEBBE819D259}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MFG.SUB.BusinessPlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MFG.SUB.BusinessPlugIn</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\..\..\..\Program Files %28x86%29\Kingdee\K3Cloud\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
</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.Business.DynamicForm">
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.Business.DynamicForm.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Business.PlugIn, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米2\WebSite\bin\Kingdee.BOS.Business.PlugIn.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.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="Kingdee.K3.Core">
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="NPOI, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米2\WebSite\bin\NPOI.dll</HintPath>
</Reference>
<Reference Include="NPOI.OOXML, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米2\WebSite\bin\NPOI.OOXML.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXml4Net, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米2\WebSite\bin\NPOI.OpenXml4Net.dll</HintPath>
</Reference>
<Reference Include="NPOI.OpenXmlFormats, Version=2.4.1.1, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米2\WebSite\bin\NPOI.OpenXmlFormats.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Transactions" />
<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="BomSynsUpdatePpBom.cs" />
<Compile Include="CostCalBillHorizonFilterEdit.cs" />
<Compile Include="CGYGL.cs" />
<Compile Include="FileDownloadPlugIn.cs" />
<Compile Include="ForecastMiddleOpenPlugIn.cs" />
<Compile Include="ForecastMiddlePlugIn.cs" />
<Compile Include="ForecastRptEdit.cs" />
<Compile Include="Fuwuqi.cs" />
<Compile Include="ForecastEdit.cs" />
<Compile Include="ImportData.cs" />
<Compile Include="Inventory.cs" />
<Compile Include="ProductionPlanMiddleOpenPlugIn.cs" />
<Compile Include="ProductionPlanMiddlePlugIn.cs" />
<Compile Include="Updatevalue.cs" />
<Compile Include="InputOrUpdate.cs" />
<Compile Include="ISysReportViewPlugIn.cs" />
<Compile Include="KingdeeBillService.cs" />
<Compile Include="MaterialDoneSchedule.cs" />
<Compile Include="MOBillListQuery.cs" />
<Compile Include="Planneddays.cs" />
<Compile Include="PredictiveSchedulingAddExcel.cs" />
<Compile Include="ProductionPlanAddExcel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ReadExcelData.cs" />
<Compile Include="SubBillListQuery.cs" />
<Compile Include="SubInStkPickMtlQuery.cs" />
<Compile Include="SyncBOMProgressFormPlugIn.cs" />
<Compile Include="Wenben.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LQKJ.K3.MFG.SUB.ServicePlugIn\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj">
<Project>{0D19D396-D4D7-483E-BDFB-6290CB786431}</Project>
<Name>LQKJ.K3.MFG.SUB.ServicePlugIn</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.JSON;
using Kingdee.BOS.ServiceHelper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("生产订单列表显示")]
public class MOBillListQuery : AbstractDynamicFormPlugIn
{
public override void AfterBindData(EventArgs e)
{
JSONObject jsonobject = new JSONObject();
jsonobject["key"] = this.View.BillBusinessInfo.GetForm().Id;
jsonobject["eventName"] = "sendPageIdMo";
JSONObject data = new JSONObject();
data["pageId"] = this.View.PageId;
jsonobject["data"] = data;
jsonobject["delay"] = 50;
this.View.ParentFormView.AddAction("fireCustomRequest", jsonobject);
this.View.SendDynamicFormAction(this.View.ParentFormView);
InitUpdate();
}
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
if (e.BarItemKey == "LQKJ_tbButton")
{
UpdateNoNeed();
}
if (e.BarItemKey == "tbRefresh")
{
InitUpdate();
}
base.AfterBarItemClick(e);
}
private void InitUpdate()
{
var entryEntity = this.Model.GetEntityDataObject(this.Model.BillBusinessInfo.GetEntity("FEntity"));
foreach (var curRow in entryEntity)
{
var BillNo = curRow["BillNo"].ToString();
var Seq = curRow["MOENTRYSEQ"].ToString();
string sql = $@"/*dialect*/select t_LQKJ_UpdateBOMState.*,T_SEC_user.FNAME from t_LQKJ_UpdateBOMState
left join T_SEC_user on T_SEC_user.FUSERID=t_LQKJ_UpdateBOMState.F_LQKJ_UPDATESER
where F_LQKJ_UPDATEBILLNO='{BillNo}'
and F_LQKJ_SEQ='{Seq}' order by F_LQKJ_UPDATETIME desc";
DataTable dt = DBUtils.ExecuteDataSet(this.Context, sql).Tables[0];
if (dt.Rows.Count > 0)
{
this.Model.SetValue("F_lastupdatestatus", dt.Rows[0]["F_LQKJ_UPDATESTATE"], entryEntity.IndexOf(curRow));
this.Model.SetValue("F_lastupdatedate", dt.Rows[0]["F_LQKJ_UPDATETIME"], entryEntity.IndexOf(curRow));
this.Model.SetValue("F_lastupdatepeople", dt.Rows[0]["FNAME"], entryEntity.IndexOf(curRow));
}
this.Model.SetValue("F_updatestatus", "0", entryEntity.IndexOf(curRow));
}
this.View.UpdateView("FEntity");
}
private void UpdateNoNeed()
{
List<UpdateStates> list = new List<UpdateStates>();
var entryEntity = this.Model.GetEntityDataObject(this.Model.BillBusinessInfo.GetEntity("FEntity"));
foreach (var curRow in entryEntity)
{
var isSelected = Convert.ToBoolean(curRow["IsSelected"]);
if (isSelected)
{
this.Model.SetValue("F_updatestatus", "2", entryEntity.IndexOf(curRow));
this.Model.SetValue("F_updatedate", DateTime.Now, entryEntity.IndexOf(curRow));
this.Model.SetValue("F_updatepeople", this.Context.UserName, entryEntity.IndexOf(curRow));
UpdateStates updateStates = new UpdateStates();
updateStates.BillNo = this.Model.GetValue("FBillNo", entryEntity.IndexOf(curRow)).ToString();
updateStates.Seq = Convert.ToInt32(this.Model.GetValue("FMOENTRYSEQ", entryEntity.IndexOf(curRow)));
updateStates.States = 2;
list.Add(updateStates);
}
}
AddUpdateStates(list);
this.View.UpdateView("FEntity");
}
public class UpdateStates
{
public string BillNo { get; set; }
public int Seq { get; set; }
public int States { get; set; }
}
public void AddUpdateStates(List<UpdateStates> list)
{
string tab = DBServiceHelper.CreateTemporaryTableName(this.Context);
DBUtils.Execute(this.Context, $"if exists(select 1 from sys.sysobjects where name='{tab}') drop table {tab}");
string crearesql = $@"/*dialect*/ create table {tab}
(BillNo nvarchar(1000),Seq int,States int,Column1 int)";
DBServiceHelper.Execute(this.Context, crearesql);
//数据存入临时表
List<SqlObject> sqlList = new List<SqlObject>();
var columnl = 1;
foreach (var item in list)
{
string sql = $@"/*dialect*/insert into {tab} values('{item.BillNo}','{item.Seq}','{item.States}','{columnl}')";
sqlList.Add(new SqlObject(sql, new List<SqlParam>()));
columnl++;
}
var success = DBUtils.ExecuteBatch(this.Context, sqlList);
if (success > 0)
{
//生成FID
string sqlFid = $@"/*dialect*/insert into Z_LQKJ_UpdateBOMState (Column1) select Column1 from {tab}";
var successsum = DBUtils.Execute(this.Context, sqlFid);
string insertSql = $@"/*dialect*/insert into t_LQKJ_UpdateBOMState(FID,FFormId,F_LQKJ_UPDATEBILLNO,
F_LQKJ_SEQ,F_LQKJ_UPDATETIME,F_LQKJ_UPDATESTATE,F_LQKJ_UPDATESER) SELECT
t2.Id,'LQKJ_BOMSynchronizationState',t1.BillNo,t1.Seq,CONVERT(varchar(100), GETDATE(),120),
t1.States,{this.Context.UserId} FROM {tab} t1
left join Z_LQKJ_UpdateBOMState t2 on t1.Column1=t2.Column1";
var successsum1 = DBUtils.Execute(this.Context, insertSql);
if (successsum > 0)
{
//删除临时表、清空ID
DBUtils.Execute(this.Context, "delete from Z_LQKJ_UpdateBOMState");//清空自动生成FID表
string[] strarr = new string[1];
strarr[0] = tab;
DBServiceHelper.DeleteTemporaryTableName(this.Context, strarr);
}
}
}
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("LQKJ.K3.MFG.SUB.BusinessPlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MFG.SUB.BusinessPlugIn")]
[assembly: AssemblyCopyright("Copyright 2022 LQKJ All right")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a9eaac99-349b-44b5-a216-f12a39973a14")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("0.0.0.2")]
[assembly: AssemblyVersion("0.0.0.2")]
[assembly: AssemblyFileVersion("0.0.0.2")]
using System;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("同步BOM进度条")]
public class SyncBOMProgressFormPlugIn : AbstractDynamicFormPlugIn
{
/// <summary>
/// 初始化,对其他界面传来的参数进行处理,对控件某些属性进行处理
/// 这里不宜对数据DataModel进行处理
/// </summary>
/// <param name="e"></param>
public override void OnInitialize(InitializeEventArgs e)
{
}
/// <summary>
/// 新建单据加载数据完成之后,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void AfterCreateNewData(EventArgs e)
{
}
/// <summary>
/// 数据加载之后,需要处理的功能,这里主要对界面样式进行处理,尽量不要对Datamodel进行处理
/// </summary>
/// <param name="e"></param>
public override void AfterBindData(EventArgs e)
{
}
public override void BeforeClosed(BeforeClosedEventArgs e)
{
if (this.View.ParentFormView.BillBusinessInfo.GetForm().Id != "ENG_SYNSUPDATEPPBOM") return;
JSONObject jsonobject = new JSONObject();
jsonobject["key"] = this.View.BillBusinessInfo.GetForm().Id;
jsonobject["eventName"] = "finishSyncBOM";
JSONObject data = new JSONObject();
jsonobject["data"] = data;
jsonobject["delay"] = 50;
this.View.ParentFormView.AddAction("fireCustomRequest", jsonobject);
this.View.SendDynamicFormAction(this.View.ParentFormView);
base.BeforeClosed(e);
}
/// <summary>
/// 在根据编码检索数据之前调用;
/// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
/// 还可以控制当前过滤是否启用组织隔离,数据状态隔离
/// </summary>
/// <param name="e"></param>
public override void BeforeSetItemValueByNumber(BeforeSetItemValueByNumberArgs e)
{
switch (e.BaseDataField.Key.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的基础资料
//e.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 显示基础资料列表之前调用
/// 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;
/// </summary>
/// <param name="e"></param>
public override void BeforeF7Select(BeforeF7SelectEventArgs e)
{
switch (e.FieldKey.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的基础资料
// e.ListFilterParameter.Filter = "FXXX= AND fxxy=";过滤的字段使用对应基础资料的字段的Key,支持ksql语法
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 界面数据发生变化之前,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void BeforeUpdateValue(BeforeUpdateValueEventArgs e)
{
switch (e.Key.ToUpperInvariant())
{
//case "FXXX":通过字段的Key[大写]来区分不同的控件的数据变化功能,如果要阻止该次变化,可以用e.Cancel = true;
// e.Cancel = true;
// break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 界面数据发生变化之后,需要处理的功能
/// </summary>
/// <param name="e"></param>
public override void DataChanged(DataChangedEventArgs e)
{
switch (e.Field.Key.ToUpperInvariant())
{
case "":
break;
default:
break;
}
}
/// <summary>
/// 单据持有事件发生前需要完成的功能
/// </summary>
/// <param name="e"></param>
public override void BeforeDoOperation(BeforeDoOperationEventArgs e)
{
switch (e.Operation.FormOperation.Operation.ToUpperInvariant())
{
//case "SAVE": 表单定义的事件都可以在这里执行,需要通过事件的代码[大写]区分不同事件
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// 单据持有事件发生后需要完成的功能
/// </summary>
/// <param name="e"></param>
public override void AfterDoOperation(AfterDoOperationEventArgs e)
{
switch (e.Operation.Operation.ToUpperInvariant())
{
//case "SAVE": 表单定义的事件都可以在这里执行,需要通过事件的代码[大写]区分不同事件
//break;
case "":
break;
default:
break;
}
}
/// <summary>
/// queryservice取数方案,通过业务对象来获取数据,推荐使用
/// </summary>
/// <returns></returns>
public DynamicObjectCollection GetQueryDatas()
{
QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
{
FormId = "",//取数的业务对象
FilterClauseWihtKey = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
};
DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
return dyDatas;
}
}
}
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Business.DynamicForm.PlugIn.InitQuickImport;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.DynamicForm;
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;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Core.Metadata.Util;
using Kingdee.BOS.Core.NotePrint;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.ServiceHelper.Excel;
using Kingdee.BOS.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("修改表单值")]
public class Updatevalue : AbstractDynamicFormPlugIn
{
public string fn;
public string lb;
public string id;
public string gys;
public override void OnInitialize(InitializeEventArgs e)
{
base.OnInitialize(e);
}
//public override void AfterBindData(EventArgs e)
//{
// var id = this.View.ParentFormView.Model as ISysReportModel;// GetValue("FEntryID");
// id.DataSource
// base.AfterBindData(e);
//}
public override void PreOpenForm(PreOpenFormEventArgs e)
{
fn = e.OpenParameter.GetCustomParameter("FN").ToString();
lb = e.OpenParameter.GetCustomParameter("lb").ToString();
id = e.OpenParameter.GetCustomParameter("FEntryID").ToString();
gys = e.OpenParameter.GetCustomParameter("gys").ToString();
}
public override void AfterBindData(EventArgs e)
{
var data = this.View.ParentFormView.Model as ISysReportModel;
base.BeforeBindData(e);
//int CE = Args.CellRowIndex;
//string id = data.DataSource.Rows[0]["FEntryID"].ToString();
string sql = "SELECT T.F_LQKJ_PLANCATEGORY,Q." + fn + ",M.FDATEBEGIN,M.FDATEEND,Q.F_LQKJ_SOURCEID_Q,T1B."+fn+ " AS WDCYY FROM LQKJ_T_MaterialPrepEntry_Q Q inner JOIN LQKJ_T_MaterialPrepEntry T \r\nON Q.FEntryID = T.FEntryID inner join T_YT_MRP_Master M ON T.F_LQKJ_SOURCEID = M.FID left join LQKJ_T_MaterialPrepEntry1_B T1B ON T1B.FEntryID = Q.FEntryID WHERE Q.FID = (SELECT FID FROM LQKJ_T_MaterialPrepEntry WHERE FEntryID = '" + id + "') AND T.F_LQKJ_PRODUCTNUMBER = (SELECT F_LQKJ_PRODUCTNUMBER FROM LQKJ_T_MaterialPrepEntry WHERE FEntryID = '" + id + "') AND F_LQKJ_OUTSOURCINGFACTORY = '"+gys+"' ORDER BY Q.F_LQKJ_SEQ_Q";
var dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
DateTime startime = Convert.ToDateTime(dt.Rows[0]["FDATEBEGIN"]);
string start = "FDYNQTY2";
int day = Convert.ToInt32(fn.Substring(7));
string sql1 = "select * from LQKJ_T_MaterialPrepEntry_Q where F_LQKJ_SOURCEID_Q = " + dt.Rows[0]["F_LQKJ_SOURCEID_Q"] + "";
var data1 = DBServiceHelper.ExecuteDataSet(Context, sql1).Tables[0];
List<string> columnNameList = new List<string>();
foreach (DataColumn col in data1.Columns)
{
columnNameList.Add(col.ColumnName);
}
for (int i = 3; i < columnNameList.Count; i++)
{
startime = startime.AddDays(1);
string fnnumber = columnNameList[i];
int day1 = Convert.ToInt32(fnnumber.Substring(7));
if (day == day1)
{
startime = startime.AddDays(-1);
this.View.Model.SetValue("F_LQKJ_SetValuetime", startime.ToString("M.dd.dddd"));
this.View.UpdateView("F_LQKJ_SetValuetime");
this.View.Model.SetValue("F_LQKJ_SetValue2", Convert.ToInt64(dt.Rows[1]["" + fn + ""]));
this.View.UpdateView("F_LQKJ_SetValue2");
this.View.Model.SetValue("F_LQKJ_SetValue", Convert.ToInt64(dt.Rows[0]["" + fn + ""]));
this.View.UpdateView("F_LQKJ_SetValue");
this.View.Model.SetValue("F_LQKJ_SetValue1", Convert.ToInt64(dt.Rows[2]["" + fn + ""]));
this.View.UpdateView("F_LQKJ_SetValue1");
if(dt.Rows[4]["WDCYY"].ToString() == "")
{
this.View.Model.SetValue("F_LQKJ_SetValue3", "");
this.View.UpdateView("F_LQKJ_SetValue3");
}
this.View.Model.SetValue("F_LQKJ_SetValue3", dt.Rows[4]["WDCYY"]);
this.View.UpdateView("F_LQKJ_SetValue3");
if (lb == "绿米排产计划")
{
this.View.GetControl("F_LQKJ_SetValue").SetCustomPropertyValue("disabled", false);
}
if (lb == "工厂排产计划")
{
this.View.GetControl("F_LQKJ_SetValue2").SetCustomPropertyValue("disabled", false);
}
if (lb == "工厂实际产出")
{
this.View.GetControl("F_LQKJ_SetValue1").SetCustomPropertyValue("disabled", false);
}
if (lb == "未达成原因")
{
this.View.GetControl("F_LQKJ_SetValue3").SetCustomPropertyValue("disabled", false);
}
return;
}
}
}
public override void ButtonClick(ButtonClickEventArgs e)
{
string button = "";
button = e.Key.ToUpperInvariant();
if (button != null)
{
if (button == "F_LQKJ_BUTTONSETVALUE")
{
var parmeter = this.View.OpenParameter.GetCustomParameters();//所有参数的集合
var id = parmeter["FEntryID"];
var fn = parmeter["FN"];
update(id, fn);
this.View.Close();
}
}
base.ButtonClick(e);
}
private void update(object id, object fn)
{
if (lb == "绿米排产计划")
{
string upsql = "update LQKJ_T_MaterialPrepEntry_Q set " + fn.ToString() + " ='" + this.Model.GetValue("F_LQKJ_SetValue") + "' where FEntryID = '" + id.ToString() + "'";
DBServiceHelper.Execute(Context, upsql);
return;
}
if (lb == "工厂排产计划")
{
string upsql = "update LQKJ_T_MaterialPrepEntry_Q set " + fn.ToString() + " ='" + this.Model.GetValue("F_LQKJ_SetValue2") + "' where FEntryID = '" + id.ToString() + "'";
DBServiceHelper.Execute(Context, upsql);
return;
}
if (lb == "工厂实际产出")
{
string upsql = "update LQKJ_T_MaterialPrepEntry_Q set " + fn.ToString() + " ='" + this.Model.GetValue("F_LQKJ_SetValue1") + "' where FEntryID = '" + id.ToString() + "'";
DBServiceHelper.Execute(Context, upsql);
return;
}
if (lb == "未达成原因")
{
string upsql = "update LQKJ_T_MaterialPrepEntry1_B set " + fn.ToString() + " ='" + this.Model.GetValue("F_LQKJ_SetValue3") + "' where FEntryID = '" + id.ToString() + "'";
DBServiceHelper.Execute(Context, upsql);
return;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
差异被折叠。
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll.config
D:\绿米\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll.config
D:\绿米\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll.config
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.AssemblyReference.cache
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll.config
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csprojAssemblyReference.cache
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CopyComplete
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.AssemblyReference.cache
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csprojAssemblyReference.cache
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj.CopyComplete
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.BusinessPlugIn\obj\Debug\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="SharpZipLib" version="0.86.0" targetFramework="net40" />
</packages>
\ No newline at end of file
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Core.Metadata;
using System.ComponentModel;
using Kingdee.BOS.Core.DynamicForm;
using System.Data;
using Kingdee.BOS.Core.Report;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("计划天数")]
public class Planneddays : AbstractListPlugIn
{
/// <summary>
/// 菜单点击事件,表单插件同样适用
/// </summary>
/// <param name="e"></param>
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
//当点击这个按钮,触发
if (e.BarItemKey.Equals("BGJ_tbLoadSupplyPlan"))
{
DataRow[] fid = new DataRow[] { };
var showParam = new SysReportShowParameter();
showParam.FormId = "kc0d1164492804209beb0173134d9f327";
showParam.ParentPageId = this.View.PageId;
showParam.CustomComplexParams["FSelectId"] = fid;//要传递的参数
showParam.OpenStyle.ShowType = ShowType.MainNewTabPage;
this.View.ShowForm(showParam);
}
}
/// <summary>
/// 菜单点击后处理事件,表单插件同样适用
/// </summary>
/// <param name="e"></param>
public override void AfterBarItemClick(AfterBarItemClickEventArgs e)
{
switch (e.BarItemKey.ToUpperInvariant())
{
case "":
break;
default:
break;
}
}
/// <summary>
/// 对列表数据追加过滤或是排序,推荐通过过滤方案进行处理,如果是特殊的强制过滤,可以在这个位置进行处理
/// </summary>
/// <param name="e"></param>
public override void PrepareFilterParameter(FilterArgs e)
{
e.AppendQueryFilter("");
e.AppendQueryOrderby("");
}
/// <summary>
/// queryservice取数方案,通过业务对象来获取数据,推荐使用
/// </summary>
/// <returns></returns>
public DynamicObjectCollection GetQueryDatas()
{
QueryBuilderParemeter paramCatalog = new QueryBuilderParemeter()
{
FormId = "",//取数的业务对象
FilterClauseWihtKey = "",//过滤条件,通过业务对象的字段Key拼装过滤条件
SelectItems = SelectorItemInfo.CreateItems("", "", ""),//要筛选的字段【业务对象的字段Key】,可以多个,如果要取主键,使用主键名
};
DynamicObjectCollection dyDatas = Kingdee.BOS.ServiceHelper.QueryServiceHelper.GetDynamicObjectCollection(this.Context, paramCatalog);
return dyDatas;
}
}
}
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Report.PlugIn;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace LQKJ.K3.MFG.SUB.BusinessPlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("文本")]
public class Wenben : AbstractDynamicFormPlugIn
{
public override void AfterBindData(EventArgs e)
{
//this.View.OpenParameter.GetCustomParameter("F_qlpcbh");
base.AfterBindData(e);
var qlbh = this.View.OpenParameter.GetCustomParameter("F_qlpcbh") as string;
var jhlb = this.View.OpenParameter.GetCustomParameter("F_jhlb") as string;
var sfdc = this.View.OpenParameter.GetCustomParameter("F_sfdc") as string;
if (qlbh != null)
{
this.Model.SetValue("F_qlpcbh", qlbh);
this.View.UpdateView("F_qlpcbh");
this.Model.SetValue("F_jhlb", jhlb);
this.View.UpdateView("F_jhlb");
this.Model.SetValue("F_sfdc", sfdc);
this.View.UpdateView("F_sfdc");
}
}
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("LQKJ_tbButton"))
{
var qlpcbh = "";
var jhlb = "";
var sfdc = "";
if (this.Model.GetValue("F_qlpcbh")!=null)
{
qlpcbh = this.Model.GetValue("F_qlpcbh").ToString();
}
if (this.Model.GetValue("F_jhlb")!=null)
{
jhlb = this.Model.GetValue("F_jhlb").ToString();
}
if (this.Model.GetValue("F_sfdc") != null)
{
sfdc = this.Model.GetValue("F_sfdc").ToString();
}
//this.View.ReturnToParentWindow(new Tuple<string, string>("F_Jac_Text", qlpcbh));
string sql = $@"update T_YT_MRP_MasterBills set f_jhlb='{jhlb}' ,f_sfdc='{sfdc}' where FEntryID='{qlpcbh}'";
DBUtils.Execute(this.Context, sql);
this.View.Close();
this.View.ParentFormView.Refresh();
return;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Report;
using System.ComponentModel;
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.App;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Orm.DataEntity;
namespace LQKJ.K3.MFG.SUB.ServicePlugIn
{
[Kingdee.BOS.Util.HotUpdate]
[Description("成本计算单(横向展示)报表服务端插件")]
public class CostCalBillHorizontalRpt : Kingdee.K3.FIN.CB.App.Report.CostCalBillHorizontalRpt
{
private string[] temTableNames;
public int index=0;
public override ReportHeader GetReportHeaders(IRptParams filter)
{
var header = base.GetReportHeaders(filter);
//var a=filter.FilterParameter
var a = this.FilterCondition.SumGist;
if (!this.FilterCondition.SumGist.Equals("1"))
{
header.AddChild("FStoreType", new LocaleValue("存货类别"),7);
}
return header;
}
protected override void AfterCreateTempTable(string tablename)
{
if (index==1)
{
string sql = "alter table {0} ADD FStoreType varchar(255)";
sql = string.Format(sql, tablename);
DBUtils.Execute(this.Context, sql);
sql = $@"/*dialect*/update {tablename} set FStoreType = T1.FNAME from (select T2.FNAME, T1.FMATERIALID from t_BD_MaterialBase T1
inner join T_BD_MATERIALCATEGORY_L T2 on T1.FCATEGORYID = T2.FCATEGORYID and T2.FLOCALEID = 2052 ) T1 where {tablename}.FPRODUCTID = T1.FMATERIALID";
DBUtils.Execute(this.Context, sql);
}
base.AfterCreateTempTable(tablename);
}
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
{
index = 0;
var strfilter = filter.FilterParameter.FilterString;
List<string> fieldListCustomExtension = new List<string>() { "FStoreType" };//自定义扩展字段
List<string> fieldListoriginal = new List<string>();//原来字段
string strFilter;
string whereFilter = "";
if (CheckIsNeedChange(filter, fieldListCustomExtension, fieldListoriginal))
{
strFilter = filter.FilterParameter.FilterString;
filter.FilterParameter.FilterString = "2>1 ";
}
else
{
index = 1;
base.BuilderReportSqlAndTempTable(filter, tableName);
return;// 如果不要特殊处理,则直接调用基类方法
}
for (int i = 0; i < fieldListCustomExtension.Count; i++)
{
whereFilter = "where";
strFilter = strFilter.Replace(fieldListCustomExtension[i], "t1." + fieldListCustomExtension[i]);
}
IDBService dBService = ServiceHelper.GetService<IDBService>();
temTableNames = dBService.CreateTemporaryTableName(Context, 1);
var strTable = temTableNames[0];
base.BuilderReportSqlAndTempTable(filter, strTable);
getSql(tableName, strFilter, whereFilter, strTable, index);
}
private void getSql(string tableName, string strFilter, string whereFilter, string strTable, int index)
{
string sql = "alter table {0} ADD FStoreType varchar(255)";
sql = string.Format(sql, strTable);
DBUtils.Execute(this.Context, sql);
sql = $@"/*dialect*/update {strTable} set FStoreType = T1.FNAME from (select T2.FNAME, T1.FMATERIALID from t_BD_MaterialBase T1
inner join T_BD_MATERIALCATEGORY_L T2 on T1.FCATEGORYID = T2.FCATEGORYID and T2.FLOCALEID = 2052 ) T1 where {strTable}.FPRODUCTID = T1.FMATERIALID";
DBUtils.Execute(this.Context, sql);
var getSql = $@"/*dialect*/
select
*
into {tableName}
from
{strTable} t1
left join T_BD_MATERIALCATEGORY_L tbd_L on tbd_L.FNAME= t1.FStoreType
{whereFilter}
{strFilter}
";
DBUtils.Execute(this.Context, getSql);
index = 0;
}
private string getFilter(IRptParams reportParams)
{
string filter = "";
string[] strArray = new string[]
{
//getStockOrgFilterString(reportParams),
};
foreach (var item in strArray)
{
if (!string.IsNullOrEmpty(item))
{
filter += $" And {item} ";
}
}
return filter;
}
//检查是否需要替换FilterString(仅当包含自定义扩展字段时候需要替换)
private bool CheckIsNeedChange(IRptParams filter, List<string> fieldListCustomExtension, List<string> fieldListoriginal)
{
for (int i = 0; i < filter.FilterParameter.FilterRows.Count; i++)
{
string strFieldName = filter.FilterParameter.FilterRows[i].FilterField.FieldName;
if (!fieldListCustomExtension.Contains(strFieldName))
{
fieldListoriginal.Add(strFieldName);
}
}
return filter.FilterParameter.FilterRows.Count != fieldListoriginal.Count;
}
public override void CloseReport()
{
if (temTableNames == null)
{
base.CloseReport();
return;
}
IDBService dBService = ServiceHelper.GetService<IDBService>();
dBService.DeleteTemporaryTableName(Context, temTableNames);
base.CloseReport();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0D19D396-D4D7-483E-BDFB-6290CB786431}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>LQKJ.K3.MFG.SUB.ServicePlugIn</RootNamespace>
<AssemblyName>LQKJ.K3.MFG.SUB.ServicePlugIn</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<ReferencePath>..\..\K3Cloud\bin</ReferencePath>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\..\..\..\Program Files %28x86%29\Kingdee\K3Cloud\WebSite\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</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>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Business.DynamicForm">
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.Business.DynamicForm.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.App.Core, Version=8.1.473.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.FIN.App.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.CB.App.Report, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.FIN.CB.App.Report.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.CB.Business.PlugIn, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.FIN.CB.Business.PlugIn.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.CB.Common.BusinessEntity, Version=8.1.473.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\..\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\Kingdee.K3.FIN.CB.Common.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.CB.ServiceHelper, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.FIN.CB.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.FIN.Core, Version=7.7.2297.10, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\绿米\WebSite\bin\Kingdee.K3.FIN.Core.dll</HintPath>
</Reference>
<Reference Include="System" />
<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="BillStatusDetailRtp.cs" />
<Compile Include="CostCalBillHorizonFilterEditAdd.cs" />
<Compile Include="CostCalBillHorizontalRpt.cs" />
<Compile Include="ForecastOrder.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
\ No newline at end of file
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("LQKJ.K3.MFG.SUB.ServicePlugIn")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("LQKJ")]
[assembly: AssemblyProduct("LQKJ.K3.MFG.SUB.ServicePlugIn")]
[assembly: AssemblyCopyright("Copyright 2022 LQKJ All right")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("ae9684a5-4f3c-4ea7-81eb-87f09178673e")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("0.0.0.2")]
[assembly: AssemblyVersion("0.0.0.2")]
[assembly: AssemblyFileVersion("0.0.0.2")]
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.86.0.518" newVersion="0.86.0.518" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
\ No newline at end of file
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\zcb27\Desktop\绿米\绿米\K3Cloud\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll.config
D:\绿米\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll.config
D:\绿米\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll.config
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
D:\绿米2\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Users\zcb27\Desktop\绿米\绿米\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll.config
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CopyComplete
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\Code\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csprojAssemblyReference.cache
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CoreCompileInputs.cache
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CopyComplete
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Users\zcb27\Desktop\新建文件夹 (3)\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CoreCompileInputs.cache
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj.CopyComplete
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.dll
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb
C:\Users\Administrator\Desktop\新建文件夹\绿米\LQKJ.K3.MFG.SUB.ServicePlugIn\obj\Debug\LQKJ.K3.MFG.SUB.ServicePlugIn.csprojAssemblyReference.cache
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NPOI" version="2.1.3" targetFramework="net40" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net40" />
</packages>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<AssemblyModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>ec688675-13f8-4d09-a172-38fea2698858</Id>
<MasterId>K3Cloud</MasterId>
<Name>程序集包</Name>
<Developer>
<Id>IBHC-LMFG-QIMZ-BKTP-XHDM</Id>
<DevCode>LQKJ</DevCode>
<Level>1</Level>
<Name>LQKJ</Name>
</Developer>
<RequiredPackages />
<ExclusivePackages />
<IsSuperPkg>false</IsSuperPkg>
<IncludedExtended>false</IncludedExtended>
<DevPhase>Unknown</DevPhase>
<CanBeStopped>false</CanBeStopped>
<DeployEdition>ALL</DeployEdition>
<PatchType>ALL</PatchType>
<Deploy>Business</Deploy>
<PackageCategory>FuncPackage</PackageCategory>
<IsReplace>true</IsReplace>
<LocaleId>0</LocaleId>
<Issues />
<Links />
<PreInstallMsg />
<AfterInstallMsg />
<PlugIns />
<KDServices>
<DataEntities />
<Contracts />
<ServiceHelpers />
<AppServices />
<Resources />
</KDServices>
<OtherComponents />
<TestPlugIns />
<Resources>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MFG.SUB.BusinessPlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath />
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MFG.SUB.ServicePlugIn.dll</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.dll</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath />
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.SUB.BusinessPlugIn.pdb</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath />
<Condition />
</KDComponent>
<KDComponent xsi:type="ConentComponent">
<Target>CompileAndPackage</Target>
<Name>LQKJ.K3.MFG.SUB.ServicePlugIn.pdb</Name>
<ComponentPath>..\K3Cloud\bin\LQKJ.K3.MFG.SUB.ServicePlugIn.pdb</ComponentPath>
<Type>ContentFile</Type>
<OpeType>AddOrUpdate</OpeType>
<IsSign>false</IsSign>
<IsIgnoreError>false</IsIgnoreError>
<OutputPath />
<Condition />
</KDComponent>
</Resources>
<BusinessPlugIns />
</AssemblyModel>
\ No newline at end of file
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("0") = "LQKJ.K3.MFG.SUB.BusinessPlugIn", "D:\工作相关项目\lvmi\lvmi\绿米\Code\LQKJ.K3.MFG.SUB.BusinessPlugIn\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj","fc0c3d89-7464-484a-8ec7-debbe819d259"
EndProject
Project("0") = "LQKJ.K3.MFG.SUB.ServicePlugIn", "D:\工作相关项目\lvmi\lvmi\绿米\Code\LQKJ.K3.MFG.SUB.ServicePlugIn\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj","0d19d396-d4d7-483e-bdfb-6290cb786431"
EndProject
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction, and
distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by the copyright
owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all other entities
that control, are controlled by, or are under common control with that entity.
For the purposes of this definition, "control" means (i) the power, direct or
indirect, to cause the direction or management of such entity, whether by
contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity exercising
permissions granted by this License.
"Source" form shall mean the preferred form for making modifications, including
but not limited to software source code, documentation source, and configuration
files.
"Object" form shall mean any form resulting from mechanical transformation or
translation of a Source form, including but not limited to compiled object code,
generated documentation, and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or Object form, made
available under the License, as indicated by a copyright notice that is included
in or attached to the work (an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object form, that
is based on (or derived from) the Work and for which the editorial revisions,
annotations, elaborations, or other modifications represent, as a whole, an
original work of authorship. For the purposes of this License, Derivative Works
shall not include works that remain separable from, or merely link (or bind by
name) to the interfaces of, the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including the original version
of the Work and any modifications or additions to that Work or Derivative Works
thereof, that is intentionally submitted to Licensor for inclusion in the Work
by the copyright owner or by an individual or Legal Entity authorized to submit
on behalf of the copyright owner. For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems, and
issue tracking systems that are managed by, or on behalf of, the Licensor for
the purpose of discussing and improving the Work, but excluding communication
that is conspicuously marked or otherwise designated in writing by the copyright
owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
of whom a Contribution has been received by Licensor and subsequently
incorporated within the Work.
2. Grant of Copyright License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the Work and such
Derivative Works in Source or Object form.
3. Grant of Patent License.
Subject to the terms and conditions of this License, each Contributor hereby
grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free,
irrevocable (except as stated in this section) patent license to make, have
made, use, offer to sell, sell, import, and otherwise transfer the Work, where
such license applies only to those patent claims licensable by such Contributor
that are necessarily infringed by their Contribution(s) alone or by combination
of their Contribution(s) with the Work to which such Contribution(s) was
submitted. If You institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work or a
Contribution incorporated within the Work constitutes direct or contributory
patent infringement, then any patent licenses granted to You under this License
for that Work shall terminate as of the date such litigation is filed.
4. Redistribution.
You may reproduce and distribute copies of the Work or Derivative Works thereof
in any medium, with or without modifications, and in Source or Object form,
provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of
this License; and
You must cause any modified files to carry prominent notices stating that You
changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute,
all copyright, patent, trademark, and attribution notices from the Source form
of the Work, excluding those notices that do not pertain to any part of the
Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any
Derivative Works that You distribute must include a readable copy of the
attribution notices contained within such NOTICE file, excluding those notices
that do not pertain to any part of the Derivative Works, in at least one of the
following places: within a NOTICE text file distributed as part of the
Derivative Works; within the Source form or documentation, if provided along
with the Derivative Works; or, within a display generated by the Derivative
Works, if and wherever such third-party notices normally appear. The contents of
the NOTICE file are for informational purposes only and do not modify the
License. You may add Your own attribution notices within Derivative Works that
You distribute, alongside or as an addendum to the NOTICE text from the Work,
provided that such additional attribution notices cannot be construed as
modifying the License.
You may add Your own copyright statement to Your modifications and may provide
additional or different license terms and conditions for use, reproduction, or
distribution of Your modifications, or for any such Derivative Works as a whole,
provided Your use, reproduction, and distribution of the Work otherwise complies
with the conditions stated in this License.
5. Submission of Contributions.
Unless You explicitly state otherwise, any Contribution intentionally submitted
for inclusion in the Work by You to the Licensor shall be under the terms and
conditions of this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify the terms of
any separate license agreement you may have executed with Licensor regarding
such Contributions.
6. Trademarks.
This License does not grant permission to use the trade names, trademarks,
service marks, or product names of the Licensor, except as required for
reasonable and customary use in describing the origin of the Work and
reproducing the content of the NOTICE file.
7. Disclaimer of Warranty.
Unless required by applicable law or agreed to in writing, Licensor provides the
Work (and each Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
including, without limitation, any warranties or conditions of TITLE,
NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are
solely responsible for determining the appropriateness of using or
redistributing the Work and assume any risks associated with Your exercise of
permissions under this License.
8. Limitation of Liability.
In no event and under no legal theory, whether in tort (including negligence),
contract, or otherwise, unless required by applicable law (such as deliberate
and grossly negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special, incidental,
or consequential damages of any character arising as a result of this License or
out of the use or inability to use the Work (including but not limited to
damages for loss of goodwill, work stoppage, computer failure or malfunction, or
any and all other commercial damages or losses), even if such Contributor has
been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability.
While redistributing the Work or Derivative Works thereof, You may choose to
offer, and charge a fee for, acceptance of support, warranty, indemnity, or
other liability obligations and/or rights consistent with this License. However,
in accepting such obligations, You may act only on Your own behalf and on Your
sole responsibility, not on behalf of any other Contributor, and only if You
agree to indemnify, defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason of your
accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work
To apply the Apache License to your work, attach the following boilerplate
notice, with the fields enclosed by brackets "{}" replaced with your own
identifying information. (Don't include the brackets!) The text should be
enclosed in the appropriate comment syntax for the file format. We also
recommend that a file or class name and description of purpose be included on
the same "printed page" as the copyright notice for easier identification within
third-party archives.
\ No newline at end of file
================
* Introduction *
================
This project is the .NET port of POI project at http://poi.apache.org/. POI is an open source java project
which can help you read/write xls, doc, ppt files. It has a wide application.
For example, you can use it a to generate a Excel report without Microsoft Office suite installed on your
server and more efficient than call Microsoft Excel ActiveX at background; you can also use it to extract
text from Office documents to help you implement full-text indexing feature (most of time this feature is
used to create search engines).
==================
* NPOI Website *
==================
https://github.com/tonyqus/npoi/ (Latest source code available)
http://npoi.googlecode.com (No latest source code available)
http://npoi.codeplex.com (No latest source code available)
http://tonyqus.sinaapp.com (Official Tutorial in Chinese)
======================
* System Requirement *
======================
VS2010 with .NET 2.0 or .NET 4.0
VS2005 or VS2008 with .NET 2.0 Runtime (SP1)
vs2003 with .NET 1.1
medium trust environment in ASP.NET
=================
* NPOI on SNS *
=================
QQȺ: 124527967, 116053476
Twitter: http://twitter.com/tonyqus
΢: http://t.sina.com.cn/npoi
================
* Team Members *
================
Tony Qu - coodinator, developer
-------------------------------
From: Shanghai, China
Participated since Sep, 2008
Time Zone: GMT+8
--------------------------------------------------------------------------------
NPOI 1.2.1
--------------------------------------------------------------------------------
Hseyin Tfekcilerli - developer
--------------------
From: Istanbul, Turkey
Participated since Nov, 2008
Time Zone: GMT+2
Main Contribution: POIFS Browser 1.0
aTao Xiang - Technical writer
-----------
From: China
Participated since Aug, 2009
Time Zone: GMT+8
Main Contribution: NPOI 1.2 Chinese Tutorial
--------------------------------------------------------------------------------
NPOI 1.2.3 - NPOI 1.2.5
--------------------------------------------------------------------------------
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: main code,bug fixing ,Excel2Html, Word2Html
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: fix FXCop warnings, OOXML
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, naming conversion
Leon Wang - developer
-----------------------------
From: Xi'an, China
Time Zone: GMT+8
Main contribution: NPOIFS/POIFS
NPOI 2.0
--------------------------------------------------------------------------------
Tony Qu - developer
-------------------------------
From: Shanghai, China
Time Zone: GMT+8
Main Contribution: OpenXml4Net, OpenXmlFormats, NPOI.XSSF implementation
Antony - developer
------------------------------
From: Guangzhou, China
Time Zone: GMT+8
Main Contribution: XWPF implementation, OpenXmlFormats
Christian Leutloff - developer
------------------------------
From: Germany
Time Zone: GMT+1
Main Contribution: OpenXmlFormats, Excel 2007 comment read
Jeff Stedfast - developer
------------------------------
From: Cambridge, MA, USA
Time Zone: GMT
Main contribution: Mono version of NPOI, enumeration changes and compilation optimization
Paul Kratt - developer
------------------------------
From: Greater Milwaukee Area, Wisconsin, USA
Time Zone: GMT
Main contribution: CopyTo, CopySheet functions in HSSFSheet
==================
* How to join us *
==================
If you are interested in this project and want to join me, please write mail to tonyqus (at) gmail.com
\ No newline at end of file
差异被折叠。
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.


Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.33529.622
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.MFG.SUB.BusinessPlugIn", "LQKJ.K3.MFG.SUB.BusinessPlugIn\LQKJ.K3.MFG.SUB.BusinessPlugIn.csproj", "{FC0C3D89-7464-484A-8EC7-DEBBE819D259}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LQKJ.K3.MFG.SUB.ServicePlugIn", "LQKJ.K3.MFG.SUB.ServicePlugIn\LQKJ.K3.MFG.SUB.ServicePlugIn.csproj", "{0D19D396-D4D7-483E-BDFB-6290CB786431}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FC0C3D89-7464-484A-8EC7-DEBBE819D259}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FC0C3D89-7464-484A-8EC7-DEBBE819D259}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FC0C3D89-7464-484A-8EC7-DEBBE819D259}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FC0C3D89-7464-484A-8EC7-DEBBE819D259}.Release|Any CPU.Build.0 = Release|Any CPU
{0D19D396-D4D7-483E-BDFB-6290CB786431}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0D19D396-D4D7-483E-BDFB-6290CB786431}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0D19D396-D4D7-483E-BDFB-6290CB786431}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0D19D396-D4D7-483E-BDFB-6290CB786431}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {08FAFCB2-A34E-453A-97F6-EFD469681EBF}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8"?>
<DataModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Id>92e9299f-4758-4301-81c3-3eab00897aeb</Id>
<MasterId>K3Cloud</MasterId>
<Name>元数据包</Name>
<Developer>
<Id>IBHC-LMFG-QIMZ-BKTP-XHDM</Id>
<DevCode>LQKJ</DevCode>
<Level>1</Level>
<Name>LQKJ</Name>
</Developer>
<RequiredPackages />
<ExclusivePackages />
<IsSuperPkg>false</IsSuperPkg>
<IncludedExtended>false</IncludedExtended>
<DevPhase>Unknown</DevPhase>
<CanBeStopped>false</CanBeStopped>
<DeployEdition>ALL</DeployEdition>
<PatchType>ALL</PatchType>
<Deploy>Business</Deploy>
<PackageCategory>FuncPackage</PackageCategory>
<IsReplace>true</IsReplace>
<LocaleId>0</LocaleId>
<Issues />
<Links />
<PreInstallMsg />
<AfterInstallMsg />
<BasedBOSPackageId>K3CloudV1.0_MuPan3_BOS_DM</BasedBOSPackageId>
<CommonScript>
<CommonScripts Seq="0">
<Scripts />
</CommonScripts>
</CommonScript>
<LinkBusinessObjects />
<BusinessObjects />
<ResourceObject />
<StartScript>
<SchemaScript Seq="0">
<Scripts />
</SchemaScript>
<ConsoleMenuScript Seq="0">
<Scripts />
</ConsoleMenuScript>
<InstallPlugIns />
<SimpleDataScript Seq="0">
<Scripts />
</SimpleDataScript>
<DependentDataScript Seq="0">
<Scripts />
</DependentDataScript>
<PrepareDatas />
</StartScript>
<AutoUpdateTable>true</AutoUpdateTable>
<StopScript />
</DataModel>
\ No newline at end of file
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论