Esempio n. 1
0
        public ReplenishOutboundCtrl(ReplenishOrder replenishOrder)
        {
            InitializeComponent();
            dataGridViewPagingSumCtrl1 = new DataGridViewPagingSumCtrl(this.dataGridView1);
            dataGridViewPagingSumCtrl1.Initialize();
            dataGridViewPagingSumCtrl2 = new DataGridViewPagingSumCtrl(this.dataGridView2,
                                                                       new string[] {
                xSDataGridViewTextBoxColumn.DataPropertyName,
                sDataGridViewTextBoxColumn.DataPropertyName,
                mDataGridViewTextBoxColumn.DataPropertyName,
                lDataGridViewTextBoxColumn.DataPropertyName,
                xLDataGridViewTextBoxColumn.DataPropertyName,
                xL2DataGridViewTextBoxColumn.DataPropertyName,
                xL3DataGridViewTextBoxColumn.DataPropertyName,
                xL4DataGridViewTextBoxColumn.DataPropertyName,
                xL5DataGridViewTextBoxColumn.DataPropertyName,
                xL6DataGridViewTextBoxColumn.DataPropertyName,
                fDataGridViewTextBoxColumn.DataPropertyName,
                SumCount.DataPropertyName,
                SumMoney.DataPropertyName
            });
            dataGridViewPagingSumCtrl2.Initialize();
            curReplenishOrder = replenishOrder;
            // this.curOutbound = GlobalCache.ServerProxy.GetOneOutbound(replenishOrder.ID);
            this.Initialize();

            orderStoreCache = GlobalCache.ServerProxy.GetCostumeStore4ReplenishInfo(new CostumeStore4ReplenishInfoPara()
            {
                ReplenishOrderID = replenishOrder.ID, ShopID = GlobalCache.ServerProxy.GetGeneralStoreShopID()
            });
        }
Esempio n. 2
0
      private void Cancel(ReplenishOrder item)
      {
          if (GlobalMessageBox.Show("确定取该笔补货申请单吗?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
          {
              return;
          }
          InteractResult result = CommonGlobalCache.ServerProxy.CancelReplenish(item.ID);

          switch (result.ExeResult)
          {
          case ExeResult.Success:
              // item.State = -1;
              item.State = (byte)ReplenishOrderState.Cancel;
              GlobalMessageBox.Show("已取消!");
              dataGridViewPagingSumCtrl_CurrentPageIndexChanged(pagePara.PageIndex);

              break;

          case ExeResult.Error:
              GlobalMessageBox.Show(result.Msg);
              break;

          default:
              break;
          }
      }
Esempio n. 3
0
 private void dataGridView1_SelectionChanged(object sender, EventArgs e)
 {
     try
     {
         if (flag == false)
         {
             if (this.dataGridView1.CurrentRow.DataBoundItem != null && this.dataGridView1.Rows.Count > 0)
             {
                 ReplenishOrder order = (ReplenishOrder)this.dataGridView1.CurrentRow.DataBoundItem;
                 if (order != null && order != curOrder)
                 {
                     List <ReplenishDetail> curInboundDetailList = GlobalCache.ServerProxy.GetReplenishDetail(order.ID);
                     if (curInboundDetailList != null && curInboundDetailList.Count > 0)
                     {
                         foreach (var item in curInboundDetailList)
                         {
                             Costume costume = CommonGlobalCache.GetCostume(item.CostumeID);
                             item.CostumeName = costume.Name;
                         }
                     }
                     dataGridViewPagingSumCtrl1.BindingDataSource(curInboundDetailList);
                     curOrder = order;
                 }
             }
         }
         else
         {
             flag = false;
         }
     }
     catch (Exception ex)
     {
         // CommonGlobalUtil.ShowError(ex);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 收货入库
 /// </summary>
 /// <param name="orderID"></param>
 private void Inbound(ReplenishOrder order)
 {
     if (order.State != (byte)ReplenishOrderState.Processing)
     {
         GlobalMessageBox.Show("订单状态不是已发货,不能收货!");
         return;
     }
     if (this.InboundClick != null)
     {
         this.InboundClick(order.ID, this);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 收货入库
 /// </summary>
 /// <param name="orderID"></param>
 private void Outbound(ReplenishOrder order)
 {
     if (order.State != (byte)ReplenishOrderState.NotProcessing)
     {
         GlobalMessageBox.Show("订单状态不是未发货,不能发货!");
         return;
     }
     if (this.OutboundClick != null)
     {
         this.OutboundClick(order, this);
     }
 }
Esempio n. 6
0
 private void baseButton4_Click(object sender, EventArgs e)
 {
     if (GlobalMessageBox.Show("确定清空下表数据吗?", "友情提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         dataGridView2.DataSource = null;
         curReplenishDetailList?.Clear();
         dataGridView2.Refresh();
         if (action == OperationEnum.Pick)
         {
             order  = null;
             action = OperationEnum.Add;
         }
     }
 }
Esempio n. 7
0
        /// <summary>
        /// 生成ReplenishCostume对象
        /// </summary>
        /// <returns></returns>
        private ReplenishCostume BuildReplenishCostume()
        {
            if (this.curReplenishDetailList == null || this.curReplenishDetailList.Count == 0)
            {
                return(null);
            }

            string id = IDHelper.GetID(OrderPrefix.ReplenishOrder, GlobalCache.GetShop(shopID).AutoCode);

            if (action == OperationEnum.Pick)
            {
                id = this.order?.ID;
            }
            int     totalCount          = 0;
            decimal totalMoney          = 0;
            List <ReplenishDetail> list = new List <ReplenishDetail>();

            for (int i = 0; i < this.curReplenishDetailList.Count; i++)
            {
                if (this.curReplenishDetailList[i].SumCount == 0)
                {
                    continue;
                }
                list.Add(this.curReplenishDetailList[i]);
                totalCount += this.curReplenishDetailList[i].SumCount;
                totalMoney += this.curReplenishDetailList[i].SumMoney;
                this.curReplenishDetailList[i].ReplenishOrderID = id;
            }

            ReplenishOrder replenishOrder = new ReplenishOrder()
            {
                ID             = id,
                RequestGuideID = GlobalCache.CurrentUserID,// (string)this.guideComboBox1.SelectedValue,
                ShopID         = shopID,
                Remarks        = this.skinTextBox_Remarks.SkinTxt.Text,
                State          = (byte)ReplenishOrderState.NotProcessing,
                TotalCount     = totalCount,
                TotalPrice     = totalMoney,
                CreateTime     = DateTime.Now,
                FinishedTime   = SystemDefault.DateTimeNull,
            };

            return(new ReplenishCostume()
            {
                ReplenishOrder = replenishOrder,
                ReplenishDetailList = list
            });
        }
Esempio n. 8
0
 private void LoadOrder(ReplenishOrder order)
 {
     if (order != null)
     {
         //重做
         try
         {
             curReplenishDetailList = GlobalCache.ServerProxy.GetReplenishDetail(order.ID);
             // this.guideComboBox1.SelectedValue = order.RequestGuideID;
             BindingReplenishDetailSource();
         }
         catch (Exception ex)
         {
             GlobalUtil.ShowError(ex);
         }
     }
 }
Esempio n. 9
0
 private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
 {
     if (e.ColumnIndex < 0 || e.RowIndex < 0)
     {
         return;
     }
     try
     {
         DataGridView   view  = sender as DataGridView;
         ReplenishOrder order = view.CurrentRow.DataBoundItem as ReplenishOrder;
         curOrder = order;
         BaseButton_Select_Click(null, null);
     }
     catch (Exception ex)
     {
         //  CommonGlobalUtil.ShowError(ex);
     }
 }
Esempio n. 10
0
        private void dataGridView_HangedOrder_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (!DataGridViewUtil.CheckPerrmisson(this, sender, e))
            {
                return;
            }
            try
            {
                if (e.RowIndex > -1 && e.ColumnIndex > -1)
                {
                    List <ReplenishOrder> orders = dataGridView1.DataSource as List <ReplenishOrder>;
                    if (e.ColumnIndex == Column2.Index)
                    {
                        DialogResult dialogResult = GlobalMessageBox.Show("确定删除该条数据?", "提示", MessageBoxButtons.OKCancel);
                        if (dialogResult != DialogResult.OK)
                        {
                            return;
                        }
                        ReplenishOrder order  = dataGridView1.Rows[e.RowIndex].DataBoundItem as ReplenishOrder;
                        InteractResult result = GlobalCache.ServerProxy.DeleteHangUpReplenishOrder(order?.ID);

                        switch (result.ExeResult)
                        {
                        case ExeResult.Success:
                            GlobalMessageBox.Show("删除成功!");
                            DeleteSelectedHangedOrder(order);
                            break;

                        case ExeResult.Error:
                            GlobalMessageBox.Show(result.Msg);
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
            catch (Exception ee)
            {
                GlobalUtil.ShowError(ee);
            }
        }
Esempio n. 11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="order"></param>
        public ReplenishApplyCtrl(ReplenishOrder order = null, OperationEnum action = OperationEnum.Add)
        {
            InitializeComponent();

            skinComboBoxShopID.Initialize(true, true);
            this.order = order;
            if (order != null && action == OperationEnum.Pick)
            {
                skinComboBoxShopID.SelectedValue = order.ShopID;
            }
            else
            {
                skinComboBoxShopID.SelectedValue = GlobalCache.CurrentShopID;
            }
            if (order == null)
            {
                IsShowOnePage = true;
            }
            this.action = action;
            Init();
            MenuPermission = RolePermissionMenuEnum.店铺补货申请;
        }
Esempio n. 12
0
        public ReplenishDetailCtrl(ReplenishOrder order)
        {
            InitializeComponent();
            dataGridViewPagingSumCtrl = new DataGridViewPagingSumCtrl(this.dataGridView1, new string[] {
                xSDataGridViewTextBoxColumn.DataPropertyName,
                sDataGridViewTextBoxColumn.DataPropertyName,
                mDataGridViewTextBoxColumn.DataPropertyName,
                lDataGridViewTextBoxColumn.DataPropertyName,
                xLDataGridViewTextBoxColumn.DataPropertyName,
                xL2DataGridViewTextBoxColumn.DataPropertyName,
                xL3DataGridViewTextBoxColumn.DataPropertyName,
                xL4DataGridViewTextBoxColumn.DataPropertyName,
                xL5DataGridViewTextBoxColumn.DataPropertyName,
                xL6DataGridViewTextBoxColumn.DataPropertyName,
                fDataGridViewTextBoxColumn.DataPropertyName,
                sumCountDataGridViewTextBoxColumn.DataPropertyName,
                SumMoney4Price.DataPropertyName
            });

            dataGridViewPagingSumCtrl.Initialize();
            this.curReplenishOrder = order;
            this.Initialize();
        }
Esempio n. 13
0
 private void TiDanForm_HangedOrderSelected(ReplenishOrder hangedOrder)
 {
     action     = OperationEnum.Pick;
     this.order = hangedOrder;
     LoadOrder(hangedOrder);
 }
Esempio n. 14
0
      private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
      {
          if (e.ColumnIndex < 0 || e.RowIndex < 0)
          {
              return;
          }
          DataGridViewRow  row  = dataGridView1.Rows[e.RowIndex];
          DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];

          ReplenishOrder order = (ReplenishOrder)row.DataBoundItem;

          if (e.Value == null)
          {
              return;
          }


          //已发货不显示发货和取消,可以收货
          if (order.State == (int)ReplenishOrderState.Processing)
          {
              if (column_send.Index == e.ColumnIndex || ColumnReject.Index == e.ColumnIndex || ColumnCancel.Index == e.ColumnIndex)
              {
                  e.Value = null;
              }
          }
          else if (order.State == (int)ReplenishOrderState.NotProcessing)
          {
              if (ColumnReject.Index == e.ColumnIndex)
              {
                  if (order.ShopID != CommonGlobalCache.CurrentShopID)
                  {
                  }
                  else
                  {
                      e.Value = null;
                  }
              }
              else if (ColumnCancel.Index == e.ColumnIndex)
              {
                  //if (order.ShopID != CommonGlobalCache.CurrentShopID)
                  //{
                  //    e.Value = null;
                  //}
              }
          }
          //else if (order.State == (int)ReplenishOrderState.OverrideOrder) {
          //    //冲单
          //    if (column_send.Index == e.ColumnIndex
          //        /*|| column_receipt.Index == e.ColumnIndex*/)
          //    {
          //        e.Value = null;
          //    }
          //}
          else if (order.State == (int)ReplenishOrderState.Refused || order.State == (int)ReplenishOrderState.Cancel || order.State == (int)ReplenishOrderState.HangUp)
          {
              ///232 20180420 增加
              //已完成,已取消,不能操作
              if (ColumnCancel.Index == e.ColumnIndex || column_send.Index == e.ColumnIndex || ColumnReject.Index == e.ColumnIndex)
              {
                  e.Value = null;
              }
              //if (column_receipt.Index == e.ColumnIndex)
              //{
              //    e.Value = null;
              //}
          }

          if (order.State != (int)ReplenishOrderState.HangUp)
          {
              ///232 20180420 增加
              //已完成,已取消,不能操作
              if (ColumnPick.Index == e.ColumnIndex)
              {
                  e.Value = null;
              }
              //if (column_receipt.Index == e.ColumnIndex)
              //{
              //    e.Value = null;
              //}
          }
      }
Esempio n. 15
0
 private void DeleteSelectedHangedOrder(ReplenishOrder order)
 {
     orders.Remove(order);
     flag = true;
     dataGridViewPagingSumCtrl.BindingDataSource(orders);
 }
Esempio n. 16
0
 private void Pick(ReplenishOrder item)
 {
     this.PickClick?.Invoke(item, this);
 }
Esempio n. 17
0
 private void ReAllocate(ReplenishOrder item)
 {
     this.ReReplenishClick?.Invoke(item, this);
 }
Esempio n. 18
0
      private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
      {
          if (!DataGridViewUtil.CheckPerrmisson(this, sender, e))
          {
              return;
          }
          if (e.RowIndex < 0 || e.ColumnIndex < 0)
          {
              return;
          }
          try
          {
              if (CommonGlobalUtil.EngineUnconnectioned(this))
              {
                  return;
              }
              List <ReplenishOrder> curReplenishOrderListSource = (List <ReplenishOrder>) this.dataGridView1.DataSource;
              ReplenishOrder        item = curReplenishOrderListSource[e.RowIndex];
              if (e.ColumnIndex == iDDataGridViewTextBoxColumn.Index)
              {
                  this.skinSplitContainer1.Panel2Collapsed = false;
                  this.ReplenishDetailClick?.Invoke(item, this.skinSplitContainer1.Panel2, false);
              }
              else if (e.ColumnIndex == column_send.Index)
              {
                  //点击【发货】按钮跳转到“调拨”页
                  this.Outbound(item);
              }
              //else if (e.ColumnIndex == column_receipt.Index)
              //{
              //    this.Inbound(item);
              //}
              else if (e.ColumnIndex == ColumnReject.Index)
              {
                  this.Refund(item);
              }
              else if (e.ColumnIndex == ColumnCancel.Index)
              {
                  this.Cancel(item);
              }
              else if (ColumnPick.Index == e.ColumnIndex)
              {
                  this.Pick(item);
              }
              else if (ColumnPrint.Index == e.ColumnIndex)
              {
                  this.skinSplitContainer1.Panel2Collapsed = false;
                  this.ReplenishDetailClick?.Invoke(item, this.skinSplitContainer1.Panel2, true);
              }
              else if (Column1.Index == e.ColumnIndex)
              {
                  path = CJBasic.Helpers.FileHelper.GetPathToSave("保存文件", "补货申请单" + item.ID + new Date(DateTime.Now).ToDateInteger() + ".xls", Environment.GetFolderPath(Environment.SpecialFolder.Personal));
                  if (String.IsNullOrEmpty(path))
                  {
                      return;
                  }

                  this.ReplenishDetailExcept?.Invoke(item, this.skinSplitContainer1.Panel2, path);
              }
          }
          catch (Exception ee)
          {
              ShowError(ee);
          }
          finally
          {
              UnLockPage();
          }
      }
Esempio n. 19
0
 /// <summary>
 /// 生成上架单号
 /// </summary>
 /// <param name="ro">上架单</param>
 /// <returns></returns>
 public string InsertReplenishOrder(ReplenishOrder ro)
 {
     return(Db.Insertable(ro).ExecuteReturnEntity().code);
 }
Esempio n. 20
0
        //简单打印示例
        public static void Print(ReplenishOrder item, DataGridView dataGridView2, int times = 1)
        {
            result = CommonGlobalCache.ServerProxy.GetPrintTemplateInfo(PrintTemplateType.ReplenishOrder);
            if (result.ExeResult == ExeResult.Success)
            {
                PrintTemplateInfo CurrentPTemplate = result.Data;
                for (int c = 0; c < CurrentPTemplate.PrintCount; c++)
                {
                    GoldPrinter.MisGoldPrinter misGoldPrinter = new GoldPrinter.MisGoldPrinter(false, new PrinterMargins(20, 20, 20, 20, 800, 1129));
                    if (CurrentPTemplate.OrderName != "")
                    {
                        misGoldPrinter.Title = CurrentPTemplate.OrderName; //主标题(C#用\n表示换行)	}

                        misGoldPrinter.Caption = "";

                        double headRow = Math.Round(Convert.ToSingle(CurrentPTemplate.SystemVariables.Count / 2));

                        Header header = new Header(Convert.ToInt32(headRow) + 1, 2);
                        header.IsDrawAllPage = true;

                        CommonGlobalUtil.WriteLog("变量总数=" + CurrentPTemplate.SystemVariables.Count + "\r\n" + "应显示行号=" + headRow + 1);
                        for (int i = 0; i < CurrentPTemplate.SystemVariables.Count; i++)
                        {
                            int curR = 0;
                            if (i < 2)
                            {
                                curR = 0;
                            }
                            else
                            {
                                double resRow = i / 2;
                                curR = Convert.ToInt32(Math.Round(resRow));
                            }
                            string KeyStr = "";
                            if (CurrentPTemplate.SystemVariables[i] == "单号")
                            {
                                KeyStr = "补货申请单号:";
                                header.SetText(curR, i % 2, CurrentPTemplate.SystemVariables[i] + item.ID);
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "申请时间")
                            {
                                KeyStr = "申请时间:";
                                header.SetText(curR, i % 2, KeyStr + item.CreateTime.GetDateTimeFormats('f')[0].ToString());
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "申请店铺")
                            {
                                KeyStr = "申请店铺:";
                                header.SetText(curR, i % 2, KeyStr + CommonGlobalCache.GetShopName(item.ShopID));
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "申请人")
                            {
                                KeyStr = "申 请 人:";
                                header.SetText(curR, i % 2, KeyStr + CommonGlobalCache.GetUserName(item.RequestGuideID));
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "总数量")
                            {
                                KeyStr = "总 数 量:";
                                header.SetText(curR, i % 2, KeyStr + item.TotalCount.ToString());
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "总金额")
                            {
                                KeyStr = "总 金 额:";
                                header.SetText(curR, i % 2, KeyStr + item.TotalPrice.ToString());
                            }
                            else if (CurrentPTemplate.SystemVariables[i] == "单据备注")
                            {
                                KeyStr = "备    注:";
                                header.SetText(curR, i % 2, KeyStr + item.Remarks.ToString());
                            }
                        }

                        misGoldPrinter.Header = header;
                        //行列数基本不受限制,但超过一页失去意义,因为以Body为主,以其它为辅
                        //可以指定每页是否重复打印

                        /*   header.SetText(0, 0, "补货申请单号:" + item.ID);
                         * header.SetText(0, 1, "申请时间:" + item.CreateTime.GetDateTimeFormats('f')[0].ToString());
                         * header.SetText(1, 0, "申请店铺:" + CommonGlobalCache.GetShopName(item.ShopID));
                         * header.SetText(1, 1, "申 请 人:" + CommonGlobalCache.GetUserName(item.RequestGuideID));
                         * header.SetText(2, 0, "总 数 量:" + item.TotalCount.ToString());
                         * header.SetText(2, 1, "总 金 额:" + item.TotalPrice.ToString());
                         * header.SetText(3, 0, "备    注:");
                         * header.SetText(3, 1, item.Remarks);
                         * misGoldPrinter.Header = header;*/
                        //List<String> lines = new List<string>();
                        //misGoldPrinter.Lines = lines;
                        List <PrintColumnInfo> dataGV = CurrentPTemplate.PrintColumnInfos;
                        string ColumnsList            = string.Empty;
                        foreach (PrintColumnInfo itemC in dataGV)
                        {
                            ColumnsList += itemC.Name + ",";
                        }
                        CommonGlobalUtil.WriteLog("模板设置打印列表头为=" + ColumnsList + "\r\n");
                        bool isflag = false;
                        if (dataGV.Count == 0)
                        {
                            isflag = true;
                        }
                        //   DataTable dt = dataGridView2.DataSource as DataTable;
                        //  DataTable newDt = new DataTable();
                        List <int> columnCount = new List <int>();

                        int    pinrtColNum         = 0;
                        string dataGridColumnsList = string.Empty;
                        for (int i = 0; i < dataGridView2.Columns.Count; i++)
                        {
                            DataGridViewColumn column = dataGridView2.Columns[i];
                            if (dataGV.FindAll(t => t.Name == column.HeaderText).Count > 0)
                            {
                                columnCount.Add(i);
                                dataGridColumnsList += column.HeaderText + ",";
                                pinrtColNum++;
                            }
                            else
                            {
                                if (dataGV.FindAll(t => t.Name == column.DataPropertyName).Count > 0)
                                {
                                    columnCount.Add(i);
                                    dataGridColumnsList += column.DataPropertyName + ",";
                                    pinrtColNum++;
                                }
                                else
                                {
                                    if (dataGV.FindAll(t => t.Name == column.DataPropertyName).Count > 0)
                                    {
                                        columnCount.Add(i);
                                        column.HeaderText    = column.HeaderText.Replace("\r\n", " ");
                                        dataGridColumnsList += column.DataPropertyName + ",";
                                        pinrtColNum++;
                                    }
                                    else
                                    {
                                        if (column.DataPropertyName.Contains("XL"))
                                        {
                                            string name = column.DataPropertyName;  //XL3
                                                                                    //3XL
                                            string newname  = name.Replace("XL", "");
                                            string checkstr = newname + "XL";
                                            if (dataGV.FindAll(t => t.Name == checkstr).Count > 0)
                                            {
                                                columnCount.Add(i);
                                                column.HeaderText    = column.HeaderText.Replace("\r\n", " ");
                                                dataGridColumnsList += column.DataPropertyName + ",";
                                                pinrtColNum++;
                                            }
                                            else
                                            {
                                                column.Visible = false;
                                            }
                                        }
                                        else
                                        {
                                            column.Visible = false;
                                        }
                                    }
                                }
                            }
                            if (isflag)
                            {
                                if (i == 0)
                                {
                                    columnCount.Add(i);
                                    column.Visible    = true;
                                    column.HeaderText = "";

                                    DataTable  dt = new DataTable();
                                    DataColumn c1 = new DataColumn();
                                    c1.ColumnName = "HeaderText";

                                    dt.Columns.Add(c1);
                                    dataGridView2.DataSource = null;
                                    dataGridView2.DataSource = dt;
                                }
                            }
                        }

                        CommonGlobalUtil.WriteLog("DataGridView能打印的列为=" + dataGridColumnsList);

                        misGoldPrinter.DataSource = DataGridViewUtil.ToStringArray(dataGridView2, true, true);
                        if (!Directory.Exists(CommonGlobalUtil.SystemDir + "EXPORTS\\"))
                        {
                            Directory.CreateDirectory(CommonGlobalUtil.SystemDir + "EXPORTS\\");
                        }
                        misGoldPrinter.FileName = CommonGlobalUtil.SystemDir + "EXPORTS\\" + item.ID + ".jpg";
                        ((GoldPrinter.Body)(misGoldPrinter.Body)).Font = dataGridView2.Font;

                        /*  int[] widths = new int[] {
                         * 80,100,50,40, 50,
                         * 30,30,30,30,30,30,30,30,30,30,30
                         * ,40,50,50
                         * };*/
                        int[] widths = new int[CurrentPTemplate.PrintColumnInfos.Count];
                        for (int j = 0; j < CurrentPTemplate.PrintColumnInfos.Count; j++)
                        {
                            widths[j] = Convert.ToInt32(CurrentPTemplate.PrintColumnInfos[j].Rate);
                        }

                        List <int> widthList = new List <int>();
                        for (int i = 0; i < CurrentPTemplate.PrintColumnInfos.Count; i++)
                        {
                            DataGridViewColumn column = dataGridView2.Columns[columnCount[i]];
                            if (column.Visible && !String.IsNullOrEmpty(column.HeaderText))
                            {
                                widthList.Add(widths[i]);
                            }
                        }
                        if (isflag)
                        {
                            widths    = new int[1];
                            widths[0] = 100;
                            widthList.Add(widths[0]);
                        }
                        widths = widthList.ToArray();
                        int newWidth = 800;

                        /*  int totalWidth = 0;
                         * for (int i = 0; i < widths.Length; i++)
                         * {
                         *    totalWidth += widths[i];
                         * }*/
                        for (int i = 0; i < widths.Length; i++)
                        {
                            widths[i] = decimal.ToInt32(Math.Round((widths[i] * newWidth * (decimal)0.1), 0, MidpointRounding.AwayFromZero));
                            // widths[i] = decimal.ToInt32(Math.Round((widths[i] * newWidth * (decimal)1.0 / totalWidth), 0, MidpointRounding.AwayFromZero));
                        }

                        CommonGlobalUtil.WriteLog("实际打印数量=" + pinrtColNum + "\r\n" + "设置能打印的列数量=" + widths.Length.ToString());
                        ((GoldPrinter.Body)(misGoldPrinter.Body)).ColsWidth = widths;
                        misGoldPrinter.Preview();
                        misGoldPrinter.Dispose();
                        misGoldPrinter = null;
                    }
                }
            }
        }