提交 c5a22e6b authored 作者: 彭寒菲's avatar 彭寒菲

Merge branch 'master' of http://192.168.2.95:8090/phf/leifei

......@@ -34,41 +34,50 @@ namespace LF.K3.SCM.AppServerPlugin.AuditChecks
{
return;
}
DataTable table = DBServiceHelper.ExecuteDataSet(this.Context, "select * from T_ENG_BOM where FNUMBER='" + dataEntities[0].BillNo + "'").Tables[0];
var FCREATEORGID = Convert.ToInt32(table.Rows[0]["FCREATEORGID"]);//创建组织
var FUSEORGID = Convert.ToInt32(table.Rows[0]["FUSEORGID"]);//使用组织
if (FCREATEORGID != FUSEORGID)
{
return;
}
DataTable dt = null;
List<string> listnumber = new List<string>();
var number = "";
List<int> listnumber = new List<int>();
List<int> ids = new List<int>();
foreach (var item in dataEntities)
{
listnumber.Add(item.BillNo);
listnumber.Add(Convert.ToInt32(item.DataEntity["id"]));
}
var numbernew = listnumber.Distinct(); //去掉重复
foreach (var item in numbernew)
DataTable dataTable= DBServiceHelper.ExecuteDataSet(this.Context, "select distinct FID from T_ENG_BOMCHILD where FENTRYID in (" + string.Join(",",listnumber) + ")").Tables[0];
foreach (DataRow item in dataTable.Rows)
{
number +="'"+ item.Trim()+"'"+',';
ids.Add(Convert.ToInt32(item["FID"]));
}
number = number.TrimEnd(','); //去掉最后一个,
//var number = "";
//foreach (var item in dataEntities)
//{
// listnumber.Add(item.BillNo);
//}
//var numbernew = listnumber.Distinct(); //去掉重复
//foreach (var item in numbernew)
//{
// number += "'" + item.Trim() + "'" + ',';
//}
//number = number.TrimEnd(','); //去掉最后一个,
//获取BOM
dt = bom(number);
if (dt==null||dt.Rows.Count<=0)
dt = bom(ids);
if (dt == null || dt.Rows.Count <= 0)
{
return;
}
int i = 0;
foreach (var et in dataEntities)
{
var FCREATEORGID = Convert.ToInt32(dt.Rows[i]["FCREATEORGID"]);//创建组织
var FUSEORGID = Convert.ToInt32(dt.Rows[i]["FUSEORGID"]);//使用组织
if (FCREATEORGID != FUSEORGID)
{
return;
}
//if (et.DataEntity[3].ToString() != dt.Rows[i]["BOMFMATERIALID"].ToString()) continue;
string zt = dt.Rows[i]["FDocumentStatus"].ToString();
//如果校验不通过,抛出校验异常
//如果是BOM则判状态是否审核,否者判断是否建了BOM
if (dt.Rows[i]["BOMFNUMBER"].ToString().IsNullOrEmptyOrWhiteSpace() || dt.Rows[i]["BOMFNUMBER"].ToString() == "" )
if (dt.Rows[i]["BOMFNUMBER"].ToString().IsNullOrEmptyOrWhiteSpace() || dt.Rows[i]["BOMFNUMBER"].ToString() == "")
{
string a = dt.Rows[i]["FERPCLSID"].ToString();
if (dt.Rows[i]["FERPCLSID"].ToString() == "2" || dt.Rows[i]["FERPCLSID"].ToString() == "3")
......@@ -104,7 +113,7 @@ namespace LF.K3.SCM.AppServerPlugin.AuditChecks
et.RowIndex,
"E1",
"子项BOM版本为" + dt.Rows[i]["BOMFNUMBER"].ToString() + "未审核,请审核!",
"审核:",
"审核:"+et.BillNo,
ErrorLevel.FatalError
)
);
......@@ -115,23 +124,23 @@ namespace LF.K3.SCM.AppServerPlugin.AuditChecks
}
//获取BOM
public DataTable bom(string BillNo)
public DataTable bom(List<int> ids)
{
DataTable dt = null;
string sql = string.Format(@"/*dialect*/with stepCTE AS
(
select b.FMATERIALID as f, a.FMATERIALID as z,a.FID,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER,1 AS Lev from T_ENG_BOMCHILD a inner join ( select * from T_ENG_BOM where FNUMBER in({0})) b on a.FID=b.FID
select b.FMATERIALID as f, a.FMATERIALID as z,a.FID,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER,1 AS Lev,b.FCREATEORGID,b.FUSEORGID from T_ENG_BOMCHILD a inner join ( select * from T_ENG_BOM where FID in({0})) b on a.FID=b.FID
inner join T_BD_MATERIAL ma on a.FMATERIALID=ma.FMATERIALID
union all
select c.f as f ,c.z as z,c.FID,c.FUNITID,c.FENTRYID,c.FSEQ,c.FNUMBER,cte.Lev+1 from
select c.f as f ,c.z as z,c.FID,c.FUNITID,c.FENTRYID,c.FSEQ,c.FNUMBER,cte.Lev+1,c.FCREATEORGID,c.FUSEORGID from
(
select a.FMATERIALID z ,b.FMATERIALID f,a.FID,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER from T_ENG_BOMCHILD a inner join T_ENG_BOM b on a.FID=b.FID inner join T_BD_MATERIAL ma on a.FMATERIALID=ma.FMATERIALID
select a.FMATERIALID z ,b.FMATERIALID f,a.FID,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER,b.FCREATEORGID,b.FUSEORGID from T_ENG_BOMCHILD a inner join T_ENG_BOM b on a.FID=b.FID inner join T_BD_MATERIAL ma on a.FMATERIALID=ma.FMATERIALID
) c
inner join stepCTE cte on cte.z=c.f
)
select stepCTE.*,f.FERPCLSID,engbom.FDOCUMENTSTATUS,engbom.FNUMBER as BOMFNUMBER,engbom.FMATERIALID as BOMFMATERIALID from stepCTE
left join t_BD_MaterialBase f on stepCTE.z=f.FMATERIALID
left join T_ENG_BOM engbom on stepCTE.z=engbom.FMATERIALID where stepCTE.Lev=1", BillNo);
left join T_ENG_BOM engbom on stepCTE.z=engbom.FMATERIALID where stepCTE.Lev=1", string.Join(",",ids));
dt = DBServiceHelper.ExecuteDataSet(this.Context, sql).Tables[0];
return dt;
}
......@@ -145,7 +154,8 @@ namespace LF.K3.SCM.AppServerPlugin.AuditChecks
//{
// base.OnPreparePropertys(e);
// //加载父级物料编码
// e.FieldKeys.Add("FNUMBER");
// e.FieldKeys.Add("FCreateOrgId");
// e.FieldKeys.Add("FUseOrgId");
//}
public override void OnAddValidators(AddValidatorsEventArgs e)
......@@ -156,8 +166,10 @@ namespace LF.K3.SCM.AppServerPlugin.AuditChecks
auditcheck.AlwaysValidate = true;
//校验单据体
auditcheck.EntityKey = "FTreeEntity";
//auditcheck.EntityKey = "FBillHead";
//加载校验器
e.Validators.Add(auditcheck);
}
}
}
......@@ -36,43 +36,43 @@
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.App.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.BusinessEntity, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.Contracts.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.Core.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.DataEntity.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\LeiFei\K3Cloud\bin\Kingdee.K3.Core.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
......
......@@ -36,55 +36,64 @@
<ItemGroup>
<Reference Include="Kingdee.BOS, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.App, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.App.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.BusinessEntity">
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.BusinessEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Contracts, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.Contracts.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.Contracts.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.Core.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.DataEntity, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.DataEntity.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.DataEntity.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.RemoteProxy, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.RemoteProxy.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.RemoteProxy.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceFacade.KDServiceFx">
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.ServiceFacade.KDServiceFx.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.ServiceHelper, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.BOS.WebApi.ServicesStub">
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.BOS.WebApi.ServicesStub.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.BD.ServiceHelper, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.BD.ServiceHelper.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.BD.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.Core, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.Core.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.App, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.MFG.App.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.MFG.App.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.BusinessCommon, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.MFG.BusinessCommon.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.MFG.BusinessCommon.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.ENG.Common.Core, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.MFG.ENG.Common.Core.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.MFG.ENG.Common.Core.dll</HintPath>
</Reference>
<Reference Include="Kingdee.K3.MFG.ServiceHelper, Version=7.6.2003.9, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\K3Cloud\bin\Kingdee.K3.MFG.ServiceHelper.dll</HintPath>
<HintPath>..\..\..\..\磊飞\WebSite\bin\Kingdee.K3.MFG.ServiceHelper.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论