Exemplo n.º 1
0
        /// <summary>
        /// 运算-获取要生成的表体信息(MEASUREMENT)
        /// </summary>
        /// <param name="dt">从模板EXCEL处获取的DT</param>
        /// <param name="tempdt">获取已运算成功的表头信息</param>
        /// <returns></returns>
        public DataTable GeneratetempEmpty(DataTable dt, DataTable tempdt)
        {
            var resultdt = new DataTable();
            var bmaid    = 1; //记录表体的BMAID主键信息

            try
            {
                //获取对应临时表(表体)
                resultdt = dtList.Get_MeasureMentEmptydt();
                //循环获取已运算成功的表头信息
                foreach (DataRow row in tempdt.Rows)
                {
                    //根据表头的ID信息查询从EXCEL模板得出的DT内的相关内容
                    var rows = dt.Select("ID='" + Convert.ToInt32(row[0]) + "'");
                    //当查询的结果有值的话,就按相关角度(15 45 110)进行对临时表赋值
                    if (rows.Length > 0)
                    {
                        //循环将记录插入至resultdt临时表内(注:每循环一次角度 主键 及相关值都要转换)
                        for (var i = 0; i < 3; i++)
                        {
                            var newrow = resultdt.NewRow();
                            switch (i)
                            {
                            //角度:15
                            case 0:
                                newrow = GetRecordToRows(newrow, bmaid, 15,
                                                         Convert.ToInt32(row[0]),
                                                         Convert.ToDecimal(rows[0][3]),      //L
                                                         Convert.ToDecimal(rows[0][4]),      //A
                                                         Convert.ToDecimal(rows[0][5]),      //B
                                                         Convert.ToDecimal(rows[0][6]),      //C
                                                         Convert.ToDecimal(rows[0][7]),      //H

                                                         Convert.ToDecimal(rows[0][8]), Convert.ToDecimal(rows[0][9]), Convert.ToDecimal(rows[0][10]), Convert.ToDecimal(rows[0][11]),
                                                         Convert.ToDecimal(rows[0][12]), Convert.ToDecimal(rows[0][13]), Convert.ToDecimal(rows[0][14]), Convert.ToDecimal(rows[0][15]),
                                                         Convert.ToDecimal(rows[0][16]), Convert.ToDecimal(rows[0][17]), Convert.ToDecimal(rows[0][18]), Convert.ToDecimal(rows[0][19]),
                                                         Convert.ToDecimal(rows[0][20]), Convert.ToDecimal(rows[0][21]), Convert.ToDecimal(rows[0][22]), Convert.ToDecimal(rows[0][23]),
                                                         Convert.ToDecimal(rows[0][24]), Convert.ToDecimal(rows[0][25]), Convert.ToDecimal(rows[0][26]), Convert.ToDecimal(rows[0][27]),
                                                         Convert.ToDecimal(rows[0][28]), Convert.ToDecimal(rows[0][29]), Convert.ToDecimal(rows[0][30]), Convert.ToDecimal(rows[0][31]),
                                                         Convert.ToDecimal(rows[0][32]), Convert.ToDecimal(rows[0][33]), Convert.ToDecimal(rows[0][34]), Convert.ToDecimal(rows[0][35]),
                                                         Convert.ToDecimal(rows[0][36]), Convert.ToDecimal(rows[0][37]), Convert.ToDecimal(rows[0][38])
                                                         );
                                break;

                            //角度:45
                            case 1:
                                newrow = GetRecordToRows(newrow, bmaid, 45,
                                                         Convert.ToInt32(row[0]),
                                                         Convert.ToDecimal(rows[0][39]),      //L
                                                         Convert.ToDecimal(rows[0][40]),      //A
                                                         Convert.ToDecimal(rows[0][41]),      //B
                                                         Convert.ToDecimal(rows[0][42]),      //C
                                                         Convert.ToDecimal(rows[0][43]),      //H

                                                         Convert.ToDecimal(rows[0][44]), Convert.ToDecimal(rows[0][45]), Convert.ToDecimal(rows[0][46]), Convert.ToDecimal(rows[0][47]),
                                                         Convert.ToDecimal(rows[0][48]), Convert.ToDecimal(rows[0][49]), Convert.ToDecimal(rows[0][50]), Convert.ToDecimal(rows[0][51]),
                                                         Convert.ToDecimal(rows[0][52]), Convert.ToDecimal(rows[0][53]), Convert.ToDecimal(rows[0][54]), Convert.ToDecimal(rows[0][55]),
                                                         Convert.ToDecimal(rows[0][56]), Convert.ToDecimal(rows[0][57]), Convert.ToDecimal(rows[0][58]), Convert.ToDecimal(rows[0][59]),
                                                         Convert.ToDecimal(rows[0][60]), Convert.ToDecimal(rows[0][61]), Convert.ToDecimal(rows[0][62]), Convert.ToDecimal(rows[0][63]),
                                                         Convert.ToDecimal(rows[0][64]), Convert.ToDecimal(rows[0][65]), Convert.ToDecimal(rows[0][66]), Convert.ToDecimal(rows[0][67]),
                                                         Convert.ToDecimal(rows[0][68]), Convert.ToDecimal(rows[0][69]), Convert.ToDecimal(rows[0][70]), Convert.ToDecimal(rows[0][71]),
                                                         Convert.ToDecimal(rows[0][72]), Convert.ToDecimal(rows[0][73]), Convert.ToDecimal(rows[0][74])
                                                         );
                                break;

                            //角度:110
                            default:
                                newrow = GetRecordToRows(newrow, bmaid, 110,
                                                         Convert.ToInt32(row[0]),
                                                         Convert.ToDecimal(rows[0][75]),      //L
                                                         Convert.ToDecimal(rows[0][76]),      //A
                                                         Convert.ToDecimal(rows[0][77]),      //B
                                                         Convert.ToDecimal(rows[0][78]),      //C
                                                         Convert.ToDecimal(rows[0][79]),      //H

                                                         Convert.ToDecimal(rows[0][80]), Convert.ToDecimal(rows[0][81]), Convert.ToDecimal(rows[0][82]), Convert.ToDecimal(rows[0][83]),
                                                         Convert.ToDecimal(rows[0][84]), Convert.ToDecimal(rows[0][85]), Convert.ToDecimal(rows[0][86]), Convert.ToDecimal(rows[0][87]),
                                                         Convert.ToDecimal(rows[0][88]), Convert.ToDecimal(rows[0][89]), Convert.ToDecimal(rows[0][90]), Convert.ToDecimal(rows[0][91]),
                                                         Convert.ToDecimal(rows[0][92]), Convert.ToDecimal(rows[0][93]), Convert.ToDecimal(rows[0][94]), Convert.ToDecimal(rows[0][95]),
                                                         Convert.ToDecimal(rows[0][96]), Convert.ToDecimal(rows[0][97]), Convert.ToDecimal(rows[0][98]), Convert.ToDecimal(rows[0][99]),
                                                         Convert.ToDecimal(rows[0][100]), Convert.ToDecimal(rows[0][101]), Convert.ToDecimal(rows[0][102]), Convert.ToDecimal(rows[0][103]),
                                                         Convert.ToDecimal(rows[0][104]), Convert.ToDecimal(rows[0][105]), Convert.ToDecimal(rows[0][106]), Convert.ToDecimal(rows[0][107]),
                                                         Convert.ToDecimal(rows[0][108]), Convert.ToDecimal(rows[0][109]), Convert.ToDecimal(rows[0][110])
                                                         );
                                break;
                            }
                            bmaid++;
                            resultdt.Rows.Add(newrow);
                        }
                    }
                }
            }
            catch (Exception)
            {
                resultdt.Rows.Clear();
                resultdt.Columns.Clear();
            }
            return(resultdt);
        }