public string GetTabName(string strCOSIDs, string strEID) { IDDatabase db = new IDDatabase(); string strCOSID = "'" + strCOSIDs.Replace(",", "','") + "'"; string strSql = @"SELECT B.EFName,A.EID,A.COSID,A.COSNo,A.COSName,A.COSPSCID,A.PSCName,A.EvaluationFormID FROM TEvaluationSupplier A LEFT JOIN VEvaluationForm B ON A.EvaluationFormID=B.EFID WHERE EID=@EID"; DataSet dsPSCIDs = db.GetDataSet(ConnectionName.KnowledgeDB, strSql, new string[] { "EID" }, new DbType[] { DbType.String }, new object[] { strEID }); DataTable dtDetail = GetDetailData(strEID); List<Dictionary<string, object>> listPSCIDs = new List<Dictionary<string, object>>(); if (dsPSCIDs != null && dsPSCIDs.Tables.Count > 0) { DataTable dtPSCIDs = dsPSCIDs.Tables[0]; if (dtPSCIDs.Rows != null && dtPSCIDs.Rows.Count > 0) { var listPSCID=dtPSCIDs.AsEnumerable().Select(r => new { COSPSCID = r.Field<string>("COSPSCID"), PSCName = r.Field<string>("PSCName") }).Distinct().ToList(); foreach (var PSCID in listPSCID) { Dictionary<string, object> COSIDs = new Dictionary<string, object>(); COSIDs.Add("PSCID", Converter.ToString(PSCID.COSPSCID)); COSIDs.Add("PSCName", Converter.ToString(PSCID.PSCName)); List<Dictionary<string, object>> listCOSDatas = new List<Dictionary<string, object>>(); Dictionary<string, object> COSDatas = new Dictionary<string, object>(); string strCosIDs = string.Join(",", dtPSCIDs.AsEnumerable().Where(r => r.Field<string>("COSPSCID") == Converter.ToString(PSCID.COSPSCID)).Select(r => r.Field<string>("COSID")).ToArray()); string strCOSNames = string.Join(",",dtPSCIDs.AsEnumerable().Where(r => r.Field<string>("COSPSCID") == Converter.ToString(PSCID.COSPSCID)).Select(r => r.Field<string>("COSName")).ToArray()); string strEFNames = string.Join(",", dtPSCIDs.AsEnumerable().Where(r => r.Field<string>("COSPSCID") == Converter.ToString(PSCID.COSPSCID)).Select(r => r.Field<string>("EFName")).Distinct().ToArray()); string strEvaluationStation = dtDetail.AsEnumerable().Where(r => r.Field<string>("PSCID") == Converter.ToString(PSCID.COSPSCID)).Select(r => r.Field<string>("EvaluationStation")).Distinct().FirstOrDefault(); string strEvaluationStationID = dtDetail.AsEnumerable().Where(r => r.Field<string>("PSCID") == Converter.ToString(PSCID.COSPSCID)).Select(r => r.Field<string>("EvaluationStationID")).Distinct().FirstOrDefault(); COSDatas.Add("COSID", Converter.ToString(strCosIDs)); COSDatas.Add("COSNames", Converter.ToString(strCOSNames)); COSDatas.Add("EvaluationFormBrow", Converter.ToString(strEFNames)); COSDatas.Add("EvaluationStation", Converter.ToString(strEvaluationStation)); COSDatas.Add("EvaluationStationID", Converter.ToString(strEvaluationStationID)); var listDetails = dtDetail.AsEnumerable().Where(r => r.Field<string>("PSCID") == Converter.ToString(PSCID.COSPSCID)).ToList(); List<Dictionary<string, object>> listDetail = new List<Dictionary<string, object>>(); foreach (DataRow Details in listDetails) { Dictionary<string, object> Detail = new Dictionary<string, object>(); Detail.Add("EFDID",Converter.ToString(Details["EDID"])); Detail.Add("ParentEFDID", Converter.ToString(Details["ParentEDID"])); Detail.Add("EBIID",Converter.ToString(Details["EBIID"])); Detail.Add("EBIName", Converter.ToString(Details["EBIName"])); Detail.Add("EvaluationItemName", Converter.ToString(Details["EvaluationItemName"])); Detail.Add("ValueTypeName", Converter.ToString(Details["ValueTypeName"])); Detail.Add("ValueType", Converter.ToString(Details["ValueType"])); Detail.Add("IsKey",Converter.ToString(Details["IsKey"])); Detail.Add("PassScore", Converter.ToString(Details["PassScore"])); Detail.Add("Proportion", Converter.ToString(Details["Proportion"])); Detail.Add("Target",Converter.ToString(Details["Target"])); Detail.Add("Criterion",Converter.ToString(Details["Criterion"])); Detail.Add("Remark", Converter.ToString(Details["Remark"])); Detail.Add("EvaluationManID",Converter.ToString(Details["EvaluationManID"])); Detail.Add("Score", Converter.ToString(Details["ScoreWeight"])); Detail.Add("EvaluationMan", Converter.ToString(Details["EvaluationMan"])); listDetail.Add(Detail); } COSDatas.Add("Detail", listDetail); listCOSDatas.Add(COSDatas); COSIDs.Add("COSDatas", listCOSDatas); listPSCIDs.Add(COSIDs); } } } string strTabName = JsonConvert.SerializeObject(listPSCIDs); return strTabName; }
[ { "PSCID":"D2030E77-6AE9-4B1B-A59C-39DE29B5439F", "PSCName":"类型一子集", "COSDatas":[ { "COSID":"133B1F67-2E9B-4A6D-A8FB-252660EE7747,3EBF08B6-E075-4590-8671-FE3B264C410E", "COSNames":"2018030201,张迈", "EvaluationFormBrow":"合格供应商认证模板一", "EvaluationStation":"成本部经理(王鹏)", "EvaluationStationID":"720ED5F3-E96E-42DD-BEB1-449DA9F32590", "Detail":[ { "EFDID":"79102034-57BB-4EFF-A59D-DA447A2BA0D7", "ParentEFDID":"00000", "EBIID":"", "EBIName":"", "EvaluationItemName":"评分项1", "ValueTypeName":"分值", "ValueType":"0", "IsKey":"Y", "PassScore":"6", "Proportion":"1", "Target":"", "Criterion":"", "Remark":"", "EvaluationManID":"720ED5F3-E96E-42DD-BEB1-449DA9F32590", "Score":"1", "EvaluationMan":"成本部经理(王鹏)" }, { "EFDID":"E2167337-FA4A-4E46-9208-4235B10E0552", "ParentEFDID":"00000", "EBIID":"", "EBIName":"", "EvaluationItemName":"评分2", "ValueTypeName":"分值", "ValueType":"0", "IsKey":"Y", "PassScore":"6", "Proportion":"1", "Target":"", "Criterion":"", "Remark":"", "EvaluationManID":"720ED5F3-E96E-42DD-BEB1-449DA9F32590", "Score":"1", "EvaluationMan":"成本部经理(王鹏)" } ] } ] }, { "PSCID":"10402311-9407-4E86-9D85-A91AC7E47929", "PSCName":"类型二子集", "COSDatas":[ { "COSID":"133B1F67-2E9B-4A6D-A8FB-252660EE7747", "COSNames":"2018030201", "EvaluationFormBrow":"模板二", "EvaluationStation":"赛普客服(请勿删除)(赛普客服),采购经理(李浩)", "EvaluationStationID":"41549AA6-896C-4A39-BD1D-BCA7C2F854CA,E3BE8736-AC86-44D1-9F4B-A4655BCD2521", "Detail":[ { "EFDID":"A93F29DA-3430-4491-880E-3B07C048F347", "ParentEFDID":"00000", "EBIID":"", "EBIName":"", "EvaluationItemName":"1", "ValueTypeName":"分值", "ValueType":"0", "IsKey":"Y", "PassScore":"6", "Proportion":"1", "Target":"", "Criterion":"", "Remark":"", "EvaluationManID":"41549AA6-896C-4A39-BD1D-BCA7C2F854CA,E3BE8736-AC86-44D1-9F4B-A4655BCD2521", "Score":"1,1", "EvaluationMan":"赛普客服(请勿删除)(赛普客服),采购经理(李浩)" }, { "EFDID":"991C26D5-EC6C-4797-B444-37F5E09D99A5", "ParentEFDID":"00000", "EBIID":"", "EBIName":"", "EvaluationItemName":"2", "ValueTypeName":"分值", "ValueType":"0", "IsKey":"Y", "PassScore":"6", "Proportion":"1", "Target":"", "Criterion":"", "Remark":"", "EvaluationManID":"41549AA6-896C-4A39-BD1D-BCA7C2F854CA,E3BE8736-AC86-44D1-9F4B-A4655BCD2521", "Score":"1,1", "EvaluationMan":"赛普客服(请勿删除)(赛普客服),采购经理(李浩)" } ] } ] } ]