Bladeren bron

导出BUG调整

callm 5 jaren geleden
bovenliggende
commit
d7d39645bd

+ 11 - 3
UAS-出货标签管理(贸易版)/ExportExcel.cs

@@ -94,6 +94,13 @@ namespace UAS_LabelMachine
                     caption = "es_engcaption es_caption";
                     dh.ExecuteSql("update prodinout set pi_exporttype='English' where pi_inoutno='" + inoutno + "'", "update");
                 }
+                if (Mount.Checked)
+                {
+                    dh.ExecuteSql("update prodinout set pi_exporttype1='QTY' where pi_inoutno='" + inoutno + "'", "update");
+                }
+                else {
+                    dh.ExecuteSql("update prodinout set pi_exporttype1='Rate' where pi_inoutno='" + inoutno + "'", "update");
+                }
                 DataTable SQL1_ = (DataTable)dh.ExecuteSql("select es_filed,es_datatype," + caption + ",es_filed1 from CS_EXPORTSETTING where es_type='DataPage' and es_enable=-1 and es_custcode='" + custcode + "' order by es_detno", "select");
                 //没有置顶客户的取空的
                 if (SQL1_.Rows.Count == 0)
@@ -158,17 +165,18 @@ namespace UAS_LabelMachine
                         dt1.Columns[i].Caption = SQL_.Rows[i]["es_caption"].ToString();
                     }
                 }
+                string FilePath = "";
                 if (dh.getFieldDataByCondition("prodinout", "pi_cardcode", "pi_inoutno='" + inoutno + "'").ToString() != dh.GetConfig("ExportProdExcel", "ExportProdExcel").ToString())
                 {
-                    eh.ExportExcel(dt1, dt, ExportFileDialog.SelectedPath, inoutno, SplitType, int.Parse(RowNum.Text), conditionbox);
+                    FilePath= eh.ExportExcel(dt1, dt, ExportFileDialog.SelectedPath, inoutno, SplitType, int.Parse(RowNum.Text), conditionbox);
                 }
                 else
                 {
-                    eh.ExportExcel_Special(dt1, dt, ExportFileDialog.SelectedPath, inoutno, SplitType, int.Parse(RowNum.Text), conditionbox);
+                    FilePath= eh.ExportExcel_Special(dt1, dt, ExportFileDialog.SelectedPath, inoutno, SplitType, int.Parse(RowNum.Text), conditionbox);
                 }
                 string close = MessageBox.Show(this.ParentForm, "导出成功,是否打开文件", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question).ToString();
                 if (close.ToString() == "Yes")
-                    System.Diagnostics.Process.Start(ExportFileDialog.SelectedPath + "\\" + inoutno + ".xls");
+                    System.Diagnostics.Process.Start(FilePath);
                 Close();
             }
         }

+ 26 - 6
UAS-出货标签管理(贸易版)/PublicMethod/ExcelHandler.cs

@@ -47,6 +47,10 @@ namespace UAS_LabelMachine
             ms = DataTableToExcel2(firstsdt, dt, Type, FileName, PageSize, conditionbox);
             //以系统当前时间命名文件,FileMode.Create表示创建文件,FileAccess.Write表示拥有写的权限
             string filePath = @FolderPath + "\\" + FileName + ".xls";
+            if (File.Exists(filePath))
+            {
+                filePath = @FolderPath + "\\" + FileName + "(1)" + ".xls";
+            }
             FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
             byte[] data = ms.ToArray();
             fs.Write(data, 0, data.Length);
@@ -67,6 +71,10 @@ namespace UAS_LabelMachine
             ms = DataTableToExcel1(firstsdt, dt, Type, FileName, PageSize, conditionbox);
             //以系统当前时间命名文件,FileMode.Create表示创建文件,FileAccess.Write表示拥有写的权限
             string filePath = @FolderPath + "\\" + FileName + ".xls";
+            if (File.Exists(filePath))
+            {
+                filePath = @FolderPath + "\\" + FileName + "(1)" + ".xls";
+            }
             FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
             byte[] data = ms.ToArray();
             fs.Write(data, 0, data.Length);
@@ -589,7 +597,8 @@ namespace UAS_LabelMachine
                                         NumIndex = j;
                                     }
                                     //如果chw_itemname1的值为空,则值为100和0,其中一列不显示,不显示
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                        (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -607,6 +616,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }
@@ -808,7 +818,8 @@ namespace UAS_LabelMachine
                                     }
                                     else
                                         row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                        (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -826,6 +837,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }
@@ -1021,7 +1033,8 @@ namespace UAS_LabelMachine
                                     }
                                     else
                                         row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                              (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -1039,6 +1052,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }
@@ -1637,7 +1651,8 @@ namespace UAS_LabelMachine
                                         NumIndex = j;
                                     }
                                     //如果chw_itemname1的值为空,则值为100和0,其中一列不显示,不显示
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                       (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -1655,6 +1670,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }
@@ -1830,7 +1846,8 @@ namespace UAS_LabelMachine
                                     }
                                     else
                                         row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                        (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -1848,6 +1865,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }
@@ -2018,7 +2036,8 @@ namespace UAS_LabelMachine
                                     }
                                     else
                                         row1.Cells[j - 4].SetCellValue(DataTable.Columns[j].Caption);
-                                    if ((NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
+                                    if ((DataTable.Rows[i]["chw_itemname1"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent1") ||
+                                        (DataTable.Rows[i]["chw_itemname2"].ToString() == "" && DataTable.Columns[j].ColumnName.ToLower() == "chw_percent2") || (NotShowColumn.Contains(DataTable.Columns[j].ColumnName.ToLower())) || (!ShowChcode && DataTable.Columns[j].ColumnName.ToLower().Contains("ch_code")))
                                     {
                                         sheet.SetColumnHidden(j - 4, true);
                                     }
@@ -2036,6 +2055,7 @@ namespace UAS_LabelMachine
                             row1.GetCell(j - 4).CellStyle = styleborder;
                             if (DataTable.Columns[j].ColumnName == "io_qty")
                             {
+                                row1.Cells[j - 4].SetCellValue(int.Parse(Data));
                                 sumCount += int.Parse(DataTable.Rows[i][j].ToString());
                                 totalCount += int.Parse(DataTable.Rows[i][j].ToString());
                             }