Ejemplo n.º 1
0
        private string ContentViewItem(string pssid)
        {
            DataTable dt = new DataTable();
            DataSet   ds = new BLL.Common().GetList(" select a.sid, c.stage_name,d.group_name,b.name as contentName,a.name as itemName,dbo.getProjectReview_fu(a.sid) as reviews,a.unfinished_reason,a.solution,a.remark,a.begin_date,a.end_date,c.begin_date as stage_sDate,c.end_date as stage_eDate,dbo.getProjectSubmitDate_fu(a.sid) as submitDate from project_specific_item a left outer join project_specific_item b on a.parent_sid=b.sid left outer join project_stage c on a.s_sid=c.sid left outer join project_group d on a.group_sid=d.sid where a.ischild=1 and a.s_sid=" + pssid + " order by a.s_sid asc, a.group_sid asc, a.parent_sid asc  ");

            if (ds.Tables.Count > 0)
            {
                dt = ds.Tables[0];
            }
            if (dt.Rows.Count > 0)
            {
                DateTime sDate = DateTime.Parse(dt.Rows[0]["stage_sDate"].ToString().Trim());
                DateTime eDate = DateTime.Parse(dt.Rows[0]["stage_eDate"].ToString().Trim());
                TimeSpan ts    = eDate.AddDays(1).Subtract(sDate);

                DataColumn datetimeColumn1 = new DataColumn();
                //该列的数据类型
                datetimeColumn1.DataType = System.Type.GetType("System.String");
                //该列得名称
                datetimeColumn1.ColumnName = "week";
                //该列得默认值
                datetimeColumn1.DefaultValue = "";
                dt.Columns.Add(datetimeColumn1);

                dt.Columns[datetimeColumn1.ColumnName].SetOrdinal(5);

                //插入周期列
                for (int i = 0; i < ts.Days; i++)
                {
                    DataColumn datetimeColumn = new DataColumn();
                    //该列的数据类型
                    datetimeColumn.DataType = System.Type.GetType("System.String");
                    //该列得名称
                    datetimeColumn.ColumnName = sDate.AddDays(i).ToString("yyyy-MM-dd");
                    //该列得默认值
                    datetimeColumn.DefaultValue = "0";



                    dt.Columns.Add(datetimeColumn);

                    dt.Columns[datetimeColumn.ColumnName].SetOrdinal(i + 6);
                }
                //周期列赋值
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DateTime mysDate = DateTime.Parse(dt.Rows[i]["begin_date"].ToString().Trim());
                    DateTime myeDate = DateTime.Parse(dt.Rows[i]["end_date"].ToString().Trim());
                    TimeSpan myts    = myeDate.AddDays(1).Subtract(mysDate);
                    for (int j = 0; j < myts.Days; j++)
                    {
                        if (dt.Rows[i][mysDate.AddDays(j).ToString("yyyy-MM-dd")].ToString().Trim() == "0")
                        {
                            dt.Rows[i][mysDate.AddDays(j).ToString("yyyy-MM-dd")] = "1";
                        }
                    }

                    string[] submitDate = dt.Rows[i]["submitDate"].ToString().Trim().Split(',');
                    for (int j = 0; j < submitDate.Length; j++)
                    {
                        try
                        {
                            for (int n = 0; n < ts.Days; n++)
                            {
                                if (sDate.AddDays(n).Date == DateTime.Parse(submitDate[j].Trim()).Date)
                                {
                                    dt.Rows[i][sDate.AddDays(n).ToString("yyyy-MM-dd")] = "2";
                                }
                            }
                        }
                        catch
                        {
                        }
                    }
                }

                //插入实施列并赋值
                DataTable impDT = new DataTable();
                DataSet   impDS = new BLL.project_implement().GetList(" s_sid='" + pssid + "'");
                if (impDS.Tables.Count > 0)
                {
                    impDT = impDS.Tables[0];
                }
                for (int i = 0; i < impDT.Rows.Count; i++)
                {
                    DataColumn datetimeColumn = new DataColumn();
                    //该列的数据类型
                    datetimeColumn.DataType = System.Type.GetType("System.String");
                    //该列得名称
                    datetimeColumn.ColumnName = "imp" + impDT.Rows[i]["sid"].ToString().Trim();
                    //该列得默认值
                    datetimeColumn.DefaultValue = "";
                    dt.Columns.Add(datetimeColumn);
                    dt.Columns[datetimeColumn.ColumnName].SetOrdinal(i + 6 + ts.Days);

                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        DataTable impworkDT = new DataTable();
                        impDS = new BLL.project_work_implement().GetList("psi_sid='" + dt.Rows[j]["sid"] + "' and imp_sid='" + impDT.Rows[i]["sid"] + "'");
                        if (impDS.Tables.Count > 0)
                        {
                            impworkDT = impDS.Tables[0];
                            if (impworkDT.Rows.Count > 0)
                            {
                                dt.Rows[j]["imp" + impDT.Rows[i]["sid"].ToString().Trim()] = impworkDT.Rows[0]["implementer"].ToString().Trim();
                            }
                        }
                    }
                }
            }

            string reStr = "";

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                reStr += "<tr>";
                //bool group = false, content = false;
                for (int j = 1; j < dt.Columns.Count; j++)
                {
                    if (j == 1)
                    {
                        if (dt.Columns[j].ColumnName == "stage_name" && i == 0)
                        {
                            reStr += "<td rowspan='" + dt.Rows.Count + "'>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                            continue;
                        }
                        else
                        {
                            continue;
                        }
                    }

                    if (dt.Columns[j].ColumnName == "group_name")
                    {
                        if (i == 0)
                        {
                            DataRow[] dr       = dt.Select("group_name='" + dt.Rows[i][j].ToString().Trim() + "'");
                            int       tmpCount = dr.Length;
                            reStr += "<td rowspan='" + tmpCount + "'>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                            continue;
                        }
                        else if (dt.Rows[i][j].ToString().Trim() != dt.Rows[i - 1][j].ToString().Trim())
                        {
                            DataRow[] dr       = dt.Select("group_name='" + dt.Rows[i][j].ToString().Trim() + "'");
                            int       tmpCount = dr.Length;
                            reStr += "<td rowspan='" + tmpCount + "'>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                            continue;
                        }
                        else
                        {
                            continue;
                        }
                    }

                    if (dt.Columns[j].ColumnName == "contentName")
                    {
                        if (i == 0)
                        {
                            DataRow[] dr       = dt.Select("contentName='" + dt.Rows[i][j].ToString().Trim() + "'");
                            int       tmpCount = dr.Length;
                            reStr += "<td rowspan='" + tmpCount + "'>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                            continue;
                        }
                        else if (dt.Rows[i][j].ToString().Trim() != dt.Rows[i - 1][j].ToString().Trim())
                        {
                            DataRow[] dr       = dt.Select("contentName='" + dt.Rows[i][j].ToString().Trim() + "'");
                            int       tmpCount = dr.Length;
                            reStr += "<td rowspan='" + tmpCount + "'>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                            continue;
                        }
                        else
                        {
                            continue;
                        }
                    }

                    if (dt.Columns[j].ColumnName == "begin_date")
                    {
                        break;
                    }
                    if (dt.Columns[j].ColumnName == "week")
                    {
                        reStr += "<td style='background-color:lightgray;'></td>";
                        continue;
                    }
                    //if (IsDate(dt.Columns[j].ColumnName))
                    if (dt.Columns[j].ColumnName.Contains('-'))
                    {
                        switch (dt.Rows[i][j].ToString().Trim())
                        {
                        case "0":
                            reStr += "<td></td>";
                            break;

                        case "1":
                            //reStr += "<td style='background-color:yellow;'><img  width='16px' height='16px' src='../Images/point/bullet_yellow.png'/></td>";
                            reStr += "<td style='background-color:yellow;'></td>";
                            break;

                        case "2":
                            //reStr += "<td style='background-color:green;'><img  width='16px' height='16px' src='../Images/point/bullet_green.png'/></td>";
                            reStr += "<td style='background-color:green;'></td>";
                            break;

                        default:
                            reStr += "<td></td>";
                            break;
                        }
                    }
                    else if (dt.Columns[j].ColumnName.Trim() == "reviews")
                    {
                        string[] arr      = dt.Rows[i][j].ToString().Trim().Split(',');
                        string   pointStr = "";
                        for (int n = 0; n < arr.Length; n++)
                        {
                            switch (arr[n].Trim())
                            {
                            case "0":
                                pointStr += "";
                                break;

                            case "1":
                                pointStr += "<img  width='16px' height='16px' src='../Images/point/bullet_green.png'/>&nbsp;";
                                break;

                            case "2":
                                pointStr += "<img  width='16px' height='16px' src='../Images/point/bullet_yellow.png'/>&nbsp;";
                                break;

                            case "3":
                                pointStr += "<img  width='16px' height='16px' src='../Images/point/bullet_orange.png'/>&nbsp;";
                                break;

                            case "4":
                                pointStr += "<img  width='16px' height='16px' src='../Images/point/bullet_red.png'/>&nbsp;";
                                break;

                            default:
                                break;
                            }
                        }
                        reStr += "<td>" + pointStr + "</td>";
                    }
                    else
                    {
                        reStr += "<td>" + dt.Rows[i][j].ToString().Trim() + "</td>";
                    }
                }
                reStr += "</tr>";
            }
            return(reStr);
        }
Ejemplo n.º 2
0
        private string ViewUserProject(HttpContext context)
        {
            DataTable dt = new DataTable();
            DataSet   ds = new BLL.Common().GetList(" select a.sid, c.stage_name,d.group_name,b.name as contentName,a.name as itemName,a.unfinished_reason,a.solution,a.remark,a.begin_date,a.end_date,c.begin_date as stage_sDate,c.end_date as stage_eDate,dbo.getProjectReview_fu(a.sid) as reviews,dbo.getProjectSubmitDate_fu(a.sid) as submitDate from project_specific_item a left outer join project_specific_item b on a.parent_sid=b.sid left outer join project_stage c on a.s_sid=c.sid left outer join project_group d on a.group_sid=d.sid where a.ischild=1 and a.s_sid=" + context.Request.Params["pssid"].Trim() + " order by a.s_sid asc, a.group_sid asc, a.parent_sid asc  ");

            if (ds.Tables.Count > 0)
            {
                dt = ds.Tables[0];
            }
            if (dt.Rows.Count > 0)
            {
                DateTime sDate = DateTime.Parse(dt.Rows[0]["stage_sDate"].ToString().Trim());
                DateTime eDate = DateTime.Parse(dt.Rows[0]["stage_eDate"].ToString().Trim());
                TimeSpan ts    = eDate.AddDays(1).Subtract(sDate);
                for (int i = 0; i < ts.Days; i++)
                {
                    DataColumn datetimeColumn = new DataColumn();
                    //该列的数据类型
                    datetimeColumn.DataType = System.Type.GetType("System.String");
                    //该列得名称
                    datetimeColumn.ColumnName = sDate.AddDays(i).ToString("yyyy-MM-dd");
                    //该列得默认值
                    datetimeColumn.DefaultValue = "0";



                    dt.Columns.Add(datetimeColumn);
                }
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    DateTime mysDate = DateTime.Parse(dt.Rows[i]["begin_date"].ToString().Trim());
                    DateTime myeDate = DateTime.Parse(dt.Rows[i]["end_date"].ToString().Trim());
                    TimeSpan myts    = myeDate.AddDays(1).Subtract(mysDate);
                    for (int j = 0; j < myts.Days; j++)
                    {
                        if (dt.Rows[i][mysDate.AddDays(j).ToString("yyyy-MM-dd")].ToString().Trim() == "0")
                        {
                            dt.Rows[i][mysDate.AddDays(j).ToString("yyyy-MM-dd")] = "1";
                        }
                    }
                }


                DataTable impDT = new DataTable();
                DataSet   impDS = new BLL.project_implement().GetList(" s_sid='" + context.Request.Params["pssid"].Trim() + "'");
                if (impDS.Tables.Count > 0)
                {
                    impDT = impDS.Tables[0];
                }
                for (int i = 0; i < impDT.Rows.Count; i++)
                {
                    DataColumn datetimeColumn = new DataColumn();
                    //该列的数据类型
                    datetimeColumn.DataType = System.Type.GetType("System.String");
                    //该列得名称
                    datetimeColumn.ColumnName = "imp" + impDT.Rows[i]["sid"].ToString().Trim();
                    //该列得默认值
                    datetimeColumn.DefaultValue = "";
                    dt.Columns.Add(datetimeColumn);

                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        DataTable impworkDT = new DataTable();
                        impDS = new BLL.project_work_implement().GetList("psi_sid='" + dt.Rows[j]["sid"] + "' and imp_sid='" + impDT.Rows[i]["sid"] + "'");
                        if (impDS.Tables.Count > 0)
                        {
                            impworkDT = impDS.Tables[0];
                            if (impworkDT.Rows.Count > 0)
                            {
                                dt.Rows[j]["imp" + impDT.Rows[i]["sid"].ToString().Trim()] = impworkDT.Rows[0]["implementer"].ToString().Trim();
                            }
                        }
                    }

                    string[] submitDate = dt.Rows[i]["submitDate"].ToString().Trim().Split(',');
                    for (int j = 0; j < submitDate.Length; j++)
                    {
                        try
                        {
                            for (int n = 0; n < ts.Days; n++)
                            {
                                if (sDate.AddDays(n).Date == DateTime.Parse(submitDate[j].Trim()).Date)
                                {
                                    dt.Rows[i][sDate.AddDays(n).ToString("yyyy-MM-dd")] = "2";
                                }
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }

            return(DBUtility.JsonHelper.DataTable2Json_Datagrid(dt, dt.Rows.Count));
        }