private DataTable ConvertBigUserDataTable(DataTable dt,int imanth ) { int i = 0; PSP_BigUser_Values bigvalue = new PSP_BigUser_Values(); bigvalue.Flag2 = typeFlag - 1; bigvalue.ItemID = ItemID; IList<PSP_BigUser_Values> listValues; listValues = Common.Services.BaseService.GetList<PSP_BigUser_Values>("SelectPSP_BigUser_ValuesListByFlag2", bigvalue); dt.Columns.Add("Title", typeof(string)); dt.Columns.Add("SortID", typeof(int)); dt.Columns.Add("ID", typeof(int)); dt.Columns.Add("PartID", typeof(string)); dt.Columns.Add("��ע", typeof(string)); if (imanth > 13 && imanth < 26) { dt.Columns.Add("ȥ���ۼ�", typeof(string)); dt.Columns.Add("ȥ��" + (imanth - 13) + "��", typeof(double)); } for (i = 1; i <= 12; i++) { dt.Columns.Add(i + "��", typeof(string)); } dt.Columns.Add("��������", typeof(double)); DataCommon dsort = new DataCommon(); DataTable dataTable2 = dsort.GetSortTable(dataTable, "ID", true); #region ���Ҫ��ʾ��Row int j = 1; int mintex = 0; double sum = 0; double sumtemp = 0; double[] bigusersum = new double[12]; for (i = 0; i < dataTable2.Rows.Count + 1; i++) { DataRow dr = dt.NewRow(); if (i < dataTable2.Rows.Count) dr["Title"] = dataTable2.Rows[i]["Title"]; else dr["Title"] = "�ϼ�"; sum = 0; sumtemp = 0; if (i < dataTable2.Rows.Count) { for (mintex = 1; mintex <= 12; mintex++) { if (dataTable.Columns.Contains(mintex + "��")) { if (dataTable2.Rows[i][mintex + "��"] != null && dataTable2.Rows[i][mintex + "��"] != DBNull.Value) sumtemp = Math.Round(Convert.ToDouble(dataTable2.Rows[i][mintex + "��"]) / 10000, 4); else sumtemp = 0; dr[mintex + "��"] = sumtemp; } else { dr[mintex + "��"] = 0; sumtemp = 0; } bigusersum[mintex - 1] += sumtemp; sum += sumtemp; } } else { for (int imtemp = 1; imtemp <= 12; imtemp++) { dr[imtemp + "��"] = bigusersum[imtemp - 1]; sum += bigusersum[imtemp - 1]; bigusersum[imtemp - 1] = -1; } } if (i < dataTable2.Rows.Count) dr["��ע"] = dataTable2.Rows[i]["S1"]; dr["��������"] = sum; dr["SortID"] = j++; dr["PartID"] = i + 1; if (i < dataTable2.Rows.Count) dr["ID"] = dataTable2.Rows[i]["ID"]; else dr["ID"] = 999999999; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Title"] = "�ۼ�"; dr["SortID"] = j++; dr["PartID"] = i + 1; if (i < dataTable2.Rows.Count) dr["ID"] = dataTable2.Rows[i]["ID"]; else dr["ID"] = 999999999; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Title"] = "��������"; dr["SortID"] = j++; dr["PartID"] = i + 1; if (i < dataTable2.Rows.Count) dr["ID"] = dataTable2.Rows[i]["ID"]; else dr["ID"] = 999999999; dt.Rows.Add(dr); dr = dt.NewRow(); dr["Title"] = "�ۼ�����"; dr["SortID"] = j++; dr["PartID"] = i + 1; if (i < dataTable2.Rows.Count) dr["ID"] = dataTable2.Rows[i]["ID"]; else dr["ID"] = 999999999; dt.Rows.Add(dr); } #endregion #region ���Ҫ��ʾ��Value i = 0; j = 0; mintex = 0; sum = 0; sumtemp = 0; int yearmonth = 1; bool isHaveHisValue = true; double qnlji = -1; double qndyue = -1; for (j = 0; j < dt.Rows.Count; j += 4) { double ljitemp = -1; for (yearmonth = 1; yearmonth <= 12; yearmonth++) { if (imanth < yearmonth) break ; isHaveHisValue = true; if (i < listValues.Count) { if (listValues[i].TypeID.ToString() != dt.Rows[j]["ID"].ToString()) { if (Convert.ToInt32(dt.Rows[j]["ID"]) != 999999999) ljitemp = -1; if (Convert.ToInt32(dt.Rows[j]["ID"]) == 999999999) isHaveHisValue = false; else if (listValues[i].TypeID > Convert.ToInt32(dt.Rows[j]["ID"])) isHaveHisValue = false; else if (listValues[i].TypeID < Convert.ToInt32(dt.Rows[j]["ID"])) { while (listValues[i].TypeID < Convert.ToInt32(dt.Rows[j]["ID"])) { if (i >= listValues.Count - 1) break; i++; } if (listValues[i].TypeID > Convert.ToInt32(dt.Rows[j]["ID"])) isHaveHisValue = false; } } } else isHaveHisValue = false; if (isHaveHisValue) { if (listValues[i].Year != yearmonth.ToString()) isHaveHisValue = false; } if (dt.Rows[j][yearmonth + "��"] != null && dt.Rows[j][yearmonth + "��"] != DBNull.Value) sum = Convert.ToDouble(dt.Rows[j][yearmonth + "��"]); else sum = 0; switch (yearmonth) { case 1: dt.Rows[j + 1][yearmonth + "��"] = Math.Round((sum), 0); if (isHaveHisValue) { listValues[i].Value = Math.Round(listValues[i].Value / 10000, 4); if (imanth > 13 && imanth < 26) { if (dt.Rows[j]["ȥ���ۼ�"] != null && dt.Rows[j]["ȥ���ۼ�"] != DBNull.Value) dt.Rows[j]["ȥ���ۼ�"] = Convert.ToDouble(dt.Rows[j]["ȥ���ۼ�"]) + listValues[i].Value; else dt.Rows[j]["ȥ���ۼ�"] = listValues[i].Value; } if (imanth == 14) { dt.Rows[j]["ȥ��" + listValues[i].Year + "��"] = listValues[i].Value; if (qndyue==-1) qndyue= listValues[i].Value; else qndyue += listValues[i].Value; } sumtemp = Math.Round(listValues[i].Value, 0); dt.Rows[j + 2][listValues[i].Year + "��"] = Math.Round((sum - listValues[i].Value) * 100 / listValues[i].Value, 2) + "%"; sum = Convert.ToDouble(dt.Rows[j + 1][listValues[i].Year + "��"]); dt.Rows[j + 3][listValues[i].Year + "��"] = Math.Round((sum - sumtemp) * 100 / sumtemp, 2) + "%"; ljitemp = sumtemp; if (bigusersum[yearmonth - 1] == -1) bigusersum[yearmonth - 1] = 0; bigusersum[yearmonth - 1] += listValues[i].Value; } if (Convert.ToInt32(dt.Rows[j]["ID"]) == 999999999) { if (bigusersum[yearmonth - 1] != -1) { if (ljitemp == -1) ljitemp = 0; sumtemp = ljitemp + Math.Round(bigusersum[yearmonth - 1], 0); dt.Rows[j + 2][yearmonth + "��"] = Math.Round((sum - bigusersum[yearmonth - 1]) * 100 / bigusersum[yearmonth - 1], 2) + "%"; sum = Convert.ToDouble(dt.Rows[j + 1][yearmonth + "��"]); dt.Rows[j + 3][yearmonth + "��"] = Math.Round((sum - sumtemp) * 100 / sumtemp, 2) + "%"; ljitemp = sumtemp; // bigusersum[yearmonth - 1] += sumtemp; } if (imanth == 14) { if (qnlji!=-1) dt.Rows[j]["ȥ���ۼ�"] = qnlji; else dt.Rows[j]["ȥ���ۼ�"] = 0; } } break; default: if (dt.Rows[j + 1][yearmonth - 1 + "��"] != null && dt.Rows[j + 1][yearmonth - 1 + "��"] != DBNull.Value) sumtemp = Convert.ToDouble(dt.Rows[j + 1][yearmonth - 1 + "��"]); else sumtemp = 0; dt.Rows[j + 1][yearmonth + "��"] = sumtemp + Math.Round((sum), 0); if (isHaveHisValue) { listValues[i].Value = Math.Round(listValues[i].Value / 10000, 4); if (imanth > 13 && imanth < 26) { if (dt.Rows[j]["ȥ���ۼ�"] != null && dt.Rows[j]["ȥ���ۼ�"] != DBNull.Value) dt.Rows[j]["ȥ���ۼ�"] = Convert.ToDouble(dt.Rows[j]["ȥ���ۼ�"]) + listValues[i].Value; else dt.Rows[j]["ȥ���ۼ�"] = listValues[i].Value; } if (imanth > 13 && imanth < 26) if (listValues[i].Year == (imanth - 13) + "") { dt.Rows[j]["ȥ��" + listValues[i].Year + "��"] = listValues[i].Value; if (qndyue == -1) qndyue = 0; qndyue += listValues[i].Value; } dt.Rows[j + 2][listValues[i].Year + "��"] = Math.Round((sum - listValues[i].Value) * 100 / listValues[i].Value, 2) + "%"; sum = Convert.ToDouble(dt.Rows[j + 1][listValues[i].Year + "��"]); sumtemp = ljitemp + Math.Round((listValues[i].Value), 0); ljitemp = sumtemp; if (bigusersum[yearmonth - 1] == -1) bigusersum[yearmonth - 1] = 0; bigusersum[yearmonth - 1] += (listValues[i].Value); dt.Rows[j + 3][listValues[i].Year + "��"] = Math.Round((sum - sumtemp) * 100 / sumtemp, 2) + "%"; } if (Convert.ToInt32(dt.Rows[j]["ID"]) == 999999999) { if (bigusersum[yearmonth - 1] != -1) { if (ljitemp == -1) ljitemp = 0; sumtemp = ljitemp + Math.Round(bigusersum[yearmonth - 1], 0); dt.Rows[j + 2][yearmonth + "��"] = Math.Round((sum - bigusersum[yearmonth - 1]) * 100 / bigusersum[yearmonth - 1], 2) + "%"; sum = Convert.ToDouble(dt.Rows[j + 1][yearmonth + "��"]); dt.Rows[j + 3][yearmonth + "��"] = Math.Round((sum - sumtemp) * 100 / sumtemp, 2) + "%"; ljitemp = sumtemp; //bigusersum[yearmonth - 1] += sumtemp; } if (imanth > 13 && imanth < 26) { if (qnlji != -1) dt.Rows[j]["ȥ���ۼ�"] = qnlji; else dt.Rows[j]["ȥ���ۼ�"] = 0; if (qndyue != -1) dt.Rows[j]["ȥ��" + (imanth-13) + "��"] = qndyue; else dt.Rows[j]["ȥ��" + (imanth - 13) + "��"] = 0; } } if (yearmonth == 12) { if (ljitemp != -1) dt.Rows[j + 1]["��������"] = Convert.ToDouble(dt.Rows[j + 1][yearmonth + "��"]) - ljitemp; if (imanth > 13 && imanth < 26) { if (qnlji == -1) { if (dt.Rows[j]["ȥ���ۼ�"] != null && dt.Rows[j]["ȥ���ۼ�"] != DBNull.Value) qnlji = Convert.ToDouble(dt.Rows[j]["ȥ���ۼ�"]); } else { if (dt.Rows[j]["ȥ���ۼ�"] != null && dt.Rows[j]["ȥ���ۼ�"] != DBNull.Value) qnlji += Convert.ToDouble(dt.Rows[j]["ȥ���ۼ�"]); } } } break; } if (isHaveHisValue) i++; } } #endregion return dt; }
private void barButtonItem5_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { string baseyear = ""; // baseyear = EnsureBaseYear(baseyear); if (treeList1.FocusedColumn == null) { return; } //��������� if (treeList1.FocusedColumn.FieldName.IndexOf("��") == -1) { return; } if (treeList1.FocusedColumn.FieldName.Contains(baseyear) && baseyear != "") { return; } if (!DeleteRight) { MsgBox.Show("��û��Ȩ���д��������"); return; } if (MsgBox.ShowYesNo("�Ƿ�ɾ�� " + treeList1.FocusedColumn.FieldName + " �����е��������ݣ�") != DialogResult.Yes) { return; } PSP_BigUser_Values psp_Values = new PSP_BigUser_Values(); psp_Values.ID = typeFlag;//����ID���Դ��Flag2 psp_Values.Year = (string)treeList1.FocusedColumn.Tag; psp_Values.ItemID = ItemID; psp_Values.Flag2 = typeFlag; try { //DeletePSP_ValuesByYearɾ�����ݺ���� int colIndex = treeList1.FocusedColumn.AbsoluteIndex; Common.Services.BaseService.Update("DeletePSP_BigUser_ValuesByYear", psp_Values); dataTable.Columns.Remove(treeList1.FocusedColumn.FieldName); treeList1.Columns.Remove(treeList1.FocusedColumn); if (colIndex >= treeList1.Columns.Count) { colIndex--; } treeList1.FocusedColumn = treeList1.Columns[colIndex]; } catch (Exception ex) { MsgBox.Show("ɾ�������" + ex.Message); } }
private void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (treeList1.FocusedNode == null) { return; } if (treeList1.FocusedNode.HasChildren) { MsgBox.Show("�˷��������ӷ��࣬����ɾ���ӷ��࣡"); return; } if (!DeleteRight) { MsgBox.Show("��û��Ȩ���д��������"); return; } if (MsgBox.ShowYesNo("�Ƿ�ɾ������ " + treeList1.FocusedNode.GetValue("Title") + "��") == DialogResult.Yes) { PSP_BigUser_Types psp_Type = new PSP_BigUser_Types(); Class1.TreeNodeToDataObject<PSP_BigUser_Types>(psp_Type, treeList1.FocusedNode); PSP_BigUser_Values psp_Values = new PSP_BigUser_Values(); psp_Values.TypeID = psp_Type.ID; psp_Values.Flag2 = typeFlag; psp_Values.ItemID = ItemID; try { string[] yearitem = psp_Type.S2.Split(','); if (yearitem.Length == 1) //DeletePSP_ValuesByType����ɾ�����ݺͷ��� Common.Services.BaseService.Update("DeletePSP_BigUser_ValuesByType", psp_Values); else { psp_Type.S2 = ""; foreach(string strtemp in yearitem) { if (strtemp != typeFlag.ToString()) { if (psp_Type.S2 == "") { psp_Type.S2 = strtemp; } else psp_Type.S2 += "," + strtemp; } } Common.Services.BaseService.Update<PSP_BigUser_Types>(psp_Type); Common.Services.BaseService.Update("DeletePSP_BigUser_ValuesByType2", psp_Values); } //TreeListNode brotherNode = null; //if (treeList1.FocusedNode.ParentNode.Nodes.Count > 1) //{ // brotherNode = treeList1.FocusedNode.PrevNode; // if (brotherNode == null) // { // brotherNode = treeList1.FocusedNode.NextNode; // } //} treeList1.DeleteNode(treeList1.FocusedNode); //ɾ�������ͬ�������������࣬�����¼������������������ //if (brotherNode != null) //{ // foreach (TreeListColumn column in treeList1.Columns) // { // if (column.FieldName.IndexOf("��") > 0) // { // CalculateSum(brotherNode, column); // } // } //} } catch (Exception ex) { MsgBox.Show("ɾ�������" + ex.Message); } } }
private bool SaveCellValue(string year, int typeID, double value) { PSP_BigUser_Values psp_values = new PSP_BigUser_Values(); psp_values.Value = value; psp_values.Year = year; psp_values.ItemID = ItemID; psp_values.TypeID = typeID; psp_values.Flag2 = typeFlag; try { Common.Services.BaseService.Update<PSP_BigUser_Values>(psp_values); } catch (Exception ex) { MsgBox.Show("�������ݳ����" + ex.Message); return false; } return true; }
//��ȡ���� private void LoadValues(bool Isfirstload) { PSP_BigUser_Values psp_Values = new PSP_BigUser_Values(); IList<PSP_BigUser_Values> listValues; psp_Values.ItemID = ItemID; // psp_Values.ID = typeFlag;//��ID�ֶδ��Flag2��ֵ psp_Values.Flag2 = typeFlag; listValues = Common.Services.BaseService.GetList<PSP_BigUser_Values>("SelectPSP_BigUser_ValuesListByFlag2", psp_Values); foreach (PSP_BigUser_Values value in listValues) { TreeListNode node = treeList1.FindNodeByFieldValue("ID", value.TypeID); if (node != null) { node.SetValue(value.Year+"��",Math.Round(value.Value,2)); // SetRateYearValue(node, Math.Round(value.Value,2)); } } }
private void InsertSubstation_Info() { string columnname = ""; try { DataTable dts = new DataTable(); OpenFileDialog op = new OpenFileDialog(); op.Filter = "Excel�ļ�(*.xls)|*.xls"; if (op.ShowDialog() == DialogResult.OK) { WaitDialogForm wait = new WaitDialogForm("", "���ڵ�������, ���Ժ�..."); dts = GetExcel(op.FileName); //DateTime s8 = DateTime.Now; for (int i = 0; i < dts.Rows.Count; i++) { PSP_BigUser_Values l1 = new PSP_BigUser_Values(); int treelistid=0; if (dts.Rows[i]["Title"] != null) if(dts.Rows[i]["Title"].ToString()!="") { PSP_BigUser_Types psp_Type = new PSP_BigUser_Types(); PSP_BigUser_Types psp_Type2 = new PSP_BigUser_Types(); psp_Type.Title = dts.Rows[i]["Title"].ToString(); psp_Type.ItemID = ItemID; if (Common.Services.BaseService.GetObject("SelectPSP_BigUser_TypesByTitleItemID", psp_Type) == null) { psp_Type.S2 = typeFlag.ToString(); Common.Services.BaseService.Create("InsertPSP_BigUser_Types", psp_Type); } else { psp_Type2 = (PSP_BigUser_Types)Common.Services.BaseService.GetObject("SelectPSP_BigUser_TypesByTitleItemID", psp_Type); if (!psp_Type2.S2.Contains(typeFlag.ToString())) { psp_Type.ID = psp_Type2.ID; if (psp_Type2.S2 != "") psp_Type.S2 = psp_Type2.S2 + "," + typeFlag.ToString(); Common.Services.BaseService.Update<PSP_BigUser_Types>(psp_Type); } } psp_Type = (PSP_BigUser_Types)Common.Services.BaseService.GetObject("SelectPSP_BigUser_TypesByTitleItemID", psp_Type); if(psp_Type!=null) treelistid=psp_Type.ID; } foreach (DataColumn dc in dts.Columns) { columnname = dc.ColumnName; if (dts.Rows[i][dc.ColumnName].ToString() == "") continue; PSP_BigUser_Years biguseryear = new PSP_BigUser_Years(); if (columnname != "Title") { biguseryear.Year = columnname ; biguseryear.Flag = typeFlag; biguseryear.ItemID = ItemID; if (Common.Services.BaseService.GetObject("SelectPSP_BigUser_YearsByYearFlag", biguseryear) == null) { Common.Services.BaseService.Create<PSP_BigUser_Years>(biguseryear); // AddColumn(columnname); } } switch (dc.ColumnName) { case "Title": break; default: double LL2 = 0; try { LL2 = Convert.ToDouble(dts.Rows[i][dc.ColumnName].ToString()); if (columnname != "Title") { l1.Value= LL2; l1.ItemID=ItemID; l1.TypeID=treelistid; l1.Flag2=typeFlag; l1.Year= columnname; Common.Services.BaseService.Update<PSP_BigUser_Values>(l1); } } catch { } break; } } } wait.Close(); //foreach (Substation_Info lwl in lii) //{ // Substation_Info l1 = new Substation_Info(); // // l1.AreaName = lwl.AreaName; // l1.Title = lwl.Title; // l1.Flag = lwl.Flag; // //l1.L1 = lwl.L1; // object obj = Services.BaseService.GetObject("SelectSubstation_InfoByTitleFlag", l1); // if (obj != null) // { // lwl.UID = ((Substation_Info)obj).UID; // lwl.Code = ((Substation_Info)obj).Code; // Services.BaseService.Update("UpdateSubstation_InfoAreaName", lwl); // } // else // { // Services.BaseService.Create<Substation_Info>(lwl); // } //} //this.ctrlSubstation_Info_TongLing1.RefreshData1(); wait = new WaitDialogForm("", "���ڼ�������, ���Ժ�..."); this.Cursor = Cursors.WaitCursor; LoadData(); this.Cursor = Cursors.Default; wait.Close(); } } catch (Exception ex) { MsgBox.Show(columnname + ex.Message); MsgBox.Show("�����ʽ����ȷ��"); } }