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

树形维护

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