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

树形维护

上级 836db932
......@@ -50,6 +50,11 @@ namespace LF.K3.SCM.BusinessPlugin
typeof(object),
attributes: new SimplePropertyAttribute() { Alias = "bh" }
);
dot.RegisterSimpleProperty(
"Dosage",
typeof(object),
attributes: new SimplePropertyAttribute() { Alias = "Dosage" }
);
for (int i = 0; i < obj.Length; i++)
{
DynamicObject qureyObjs = new DynamicObject(dot);
......@@ -57,6 +62,7 @@ namespace LF.K3.SCM.BusinessPlugin
{
qureyObjs[p] = e.DataObjects[i][p];
}
qureyObjs["Dosage"] = Math.Round(Convert.ToDouble(qureyObjs["FNUMERATOR"]) / Convert.ToDouble(qureyObjs["FDENOMINATOR"]), 4);
qureyObjs["bh"] = qureyObjs["FTreeEntity_FSEQ"];
e.DataObjects[i] = qureyObjs;
}
......@@ -83,7 +89,7 @@ namespace LF.K3.SCM.BusinessPlugin
{
foreach (DynamicObject item in obj)
{
//item["Dosage"] = Math.Round(Convert.ToDouble(item["FNUMERATOR"]) / Convert.ToDouble(item["FDENOMINATOR"]), 4);
result.Add(item);
//循环子项集合
foreach (var dic in dicdr)
......@@ -99,17 +105,17 @@ namespace LF.K3.SCM.BusinessPlugin
object[] s = a[i].ItemArray;
tra["FID"] = s[2];
tra["FCHILDUNITID_U"] = "0";
tra["FNUMERATOR"] = s[0];
tra["FPOSITIONNO"] = s[4];
tra["Dosage"] = Math.Round(Convert.ToDouble(s[13]),4);
tra["FPOSITIONNO"] = s[5];
tra["FMATERIALIDCHILD_Id"] = s[1];
tra["FCHILDUNITID_Id"] = s[5];
tra["FENTRYID"] = s[6];
tra["FTreeEntity_FSEQ"] = s[7];
tra["FCHILDUNITID_Id"] = s[6];
tra["FENTRYID"] = s[7];
tra["FTreeEntity_FSEQ"] = s[8];
tra["FUseOrgId"] = "1";
tra["FMATERIALIDCHILD_FNumber"] = s[8];
tra["FMATERIALIDCHILD_FNumber"] = s[9];
//tra["FCHILDUNITID_FName"] = "Pce";
tra["FMEMO"] = s[10];
tra["bh"] = item["bh"]+"."+ s[7];
tra["FMEMO"] = s[12];
tra["bh"] = item["bh"]+"."+ s[8];
result.Add(tra);
hs.Add(dic.Key.ToString()); //把添加的存在已添加集合
tra = new DynamicObject(e.DynamicObjectType);
......@@ -136,16 +142,16 @@ namespace LF.K3.SCM.BusinessPlugin
string sql = string.Format(@"/*dialect*/with stepCTE AS
(
select b.FMATERIALID as f, a.FMATERIALID as z,a.FID,a.FNUMERATOR,a.FPOSITIONNO,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER,1 AS Lev,row_number() over(partition by b.FMATERIALID order by FSEQ) as rank from T_ENG_BOMCHILD a inner join ( select * from T_ENG_BOM where fid={0}) b on a.FID=b.FID
select b.FMATERIALID as f, a.FMATERIALID as z,a.FID,a.FNUMERATOR,a.FDENOMINATOR,a.FPOSITIONNO,a.FUNITID,a.FENTRYID,a.FSEQ,ma.FNUMBER,1 AS Lev,row_number() over(partition by b.FMATERIALID order by FSEQ) as rank from T_ENG_BOMCHILD a inner join ( select * from T_ENG_BOM where fid={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.FNUMERATOR,c.FPOSITIONNO,c.FUNITID,c.FENTRYID,c.FSEQ,c.FNUMBER,cte.Lev+1,row_number() over(partition by c.f order by c.FSEQ) as rank from
select c.f as f ,c.z as z,c.FID,c.FNUMERATOR,c.FDENOMINATOR,c.FPOSITIONNO,c.FUNITID,c.FENTRYID,c.FSEQ,c.FNUMBER,cte.Lev+1,row_number() over(partition by c.f order by c.FSEQ) as rank from
(
select a.FMATERIALID z ,b.FMATERIALID f,a.FID,a.FNUMERATOR,a.FPOSITIONNO,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.FNUMERATOR,a.FDENOMINATOR,a.FPOSITIONNO,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
) c
inner join stepCTE cte on cte.z=c.f
)
select stepCTE.*,T_ENG_BOMCHILD_l.FMEMO from stepCTE left join T_ENG_BOMCHILD_l on stepCTE.FENTRYID=T_ENG_BOMCHILD_l.FENTRYID order by Lev", id);
select stepCTE.*,T_ENG_BOMCHILD_l.FMEMO,convert(decimal(18,4),(stepCTE.FNUMERATOR/stepCTE.FDENOMINATOR)) Dosage from stepCTE left join T_ENG_BOMCHILD_l on stepCTE.FENTRYID=T_ENG_BOMCHILD_l.FENTRYID order by Lev", id);
return DBUtils.ExecuteDataSet(this.Context, sql).Tables[0];
}
}
......
......@@ -12,5 +12,6 @@ namespace LF.K3.SCM.BusinessPlugin
public string Name { get; set; }
public string Number { get; set; }
public string text { get; set; }
public string MaterialNumber { get; set; }
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论