yusijie
2024-01-26 93e3db79124da58cacf057e086928546af0930ab
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -665,7 +665,7 @@
                DataTable dt2 = new DataTable("DataColor");
                List<object> columnNameList = new List<object>();
                string sql = "exec h_p_SingleRowWall  "+ sWhere;
                string sql = "exec h_p_Sc_SingleRowWall  " + sWhere;
                ds = oCN.RunProcReturn(sql, "DataSouce");
                //添加列名
@@ -678,7 +678,8 @@
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                if (ds.Tables.Count == 2) {
                if (ds.Tables.Count == 2)
                {
                    int[] num2 = new int[ds.Tables[0].Columns.Count];//记录每一列获取有值的行数
@@ -766,7 +767,7 @@
                                }
                            }
                        }
                        if (num == ds.Tables[0].Columns.Count||i==3)
                        if (num == ds.Tables[0].Columns.Count)
                        {
                            break;
                        }
@@ -776,7 +777,57 @@
                    ds.Tables.Clear();
                    ds.Tables.Add(dt1);
                    ds.Tables.Add(dt2);
                }
                }
                else {
                    int[] num2 = new int[ds.Tables[0].Columns.Count];//记录每一列获取有值的行数
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        int num = 0;//记录没有数据行的列数
                        int[] num3 = new int[ds.Tables[0].Columns.Count];//记录每一列没有数据的行数
                        DataRow dtrow = dt1.NewRow();
                        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                        {
                            int num1 = 0;//记录有多少次满足不为空的条件
                            DataColumn col = ds.Tables[0].Columns[j];
                            for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
                            {
                                DataRow item = ds.Tables[0].Rows[k];
                                if (item[col.ColumnName.ToString()].ToString() != "")
                                {
                                    num1 += 1;
                                    if (num1 > num2[j])
                                    {
                                        dtrow[col.ColumnName.ToString()] = item[col.ColumnName.ToString()].ToString();
                                        num2[j] += 1;
                                        break;
                                    }
                                    else
                                    {
                                        num3[j] += 1;
                                    }
                                }
                                else
                                {
                                    num3[j] += 1;
                                }
                                if (num3[j] == ds.Tables[0].Rows.Count)
                                {
                                    num += 1;
                                }
                            }
                        }
                        if (num == ds.Tables[0].Columns.Count)
                        {
                            break;
                        }
                        dt1.Rows.Add(dtrow);
                    }
                    ds.Tables.Clear();
                    ds.Tables.Add(dt1);
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;