sunshiqiang
2025-08-29 ae4aab211046c23bc9a7b3a8330e6b02591d4af0
1.修复了增加工程联机状态后的问题
1个文件已修改
275 ■■■■■ 已修改文件
optimize_patch/订单排样客户端/EDIT/功能/工程管理.cs 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
optimize_patch/¶©µ¥ÅÅÑù¿Í»§¶Ë/EDIT/¹¦ÄÜ/¹¤³Ì¹ÜÀí.cs
@@ -163,29 +163,6 @@
        }
        void QueryProjectData()
        {
            string qInfo = txtQuery.Text.Trim() == inputText ? null : txtQuery.Text.Trim();
            if (!string.IsNullOrEmpty(qInfo) && qInfo.First() != 'P' && !qInfo.ToUpper().StartsWith("NG"))
            {
                globel.ShowWarningMessage("请输入正确的工程号或流程卡号!");
                return;
            }
            string sDate = dtpStartDate.Value.ToString("yyyy-MM-dd");
            string eDate = dtpEndDate.Value.ToString("yyyy-MM-dd");
            pagenum = 0;
            pagestart = 0;
            isSelect = true;
            ShowProjectData(qInfo);
            dgvProject.DataSource = show_data.DefaultView;
            //DataTableUtil.RegistScrollToEndEvent(dgvProjectData, dataGrid_OnScrollToEnd(sender,e))
            //dgvShowSet();
        }
        /// <summary>
        /// ç­›é€‰å·¥ç¨‹æ•°æ®
        /// </summary>
@@ -259,107 +236,134 @@
            //dgvProject.AllowUserToResizeColumns = true;
            LoadProjectInfo();
            dgvShowSet();
            dgvShowColumnsSet();
            dgvShowRowSet();
        }
        void dgvShowSet()
        void dgvShowColumnsSet()
        {
            if (Setting.language == 0)
            {
                //dgvProject.ColumnHeadersHeight = 30;
                dgvProject.Columns["Id"].Visible = false;
                dgvProject.Columns[0].Frozen = true;
                dgvProject.Columns[1].Frozen = true;
                for (int i = 1; i < dgvProject.ColumnCount; i++)
                {
                    //if (i <= 8)
                    //{
                    //    dgvProject.Columns[i].Width = 80;
                    dgvProject.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
                    //}
                    ////dgvProject.Columns[i].ReadOnly = false;
                    //else if (i != 11)
                    //{
                    //    //dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    //    dgvProject.Columns[i].Width = 150;
                    //}
                    //else
                    //{
                    //    dgvProject.Columns[11].Width = 200;
                    //}
                    if (i > dgvProject.ColumnCount - 2) {
                    if (i > dgvProject.ColumnCount - 4)
                    {
                        dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                        continue;
                        //continue;
                    }
                    switch (i)
                    {
                        case 2:
                        case 3:
                        case 2://工程号
                            dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                            break;
                        case 4:
                        case 5:
                        case 6:
                        case 7:
                        case 8:
                        case 3://名称
                            dgvProject.Columns[i].Width = 100;
                            break;
                        case 4://膜系
                        case 5://厚度
                        case 6://类型
                            dgvProject.Columns[i].Width = 80;
                            break;
                        case 10:
                        case 7://连线状态
                            //dgvProject.Columns[i].Visible = false;
                            dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                            break;
                        case 9:
                        case 11:
                            //dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                            //dgvProject.Columns[i].Width = 120;
                            dgvProject.Columns[i].Visible = false;
                            //dgvProject.Columns[11].Width = 200;
                            break;
                        case 12:
                        case 13:
                        case 17:
                        case 18:
                        case 8://数量
                        case 9://面积
                            dgvProject.Columns[i].Width = 80;
                            break;
                        case 10://流程卡数量
                        case 11://原片使用数量
                            //dgvProject.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                            dgvProject.Columns[i].Width = 120;
                            break;
                        case 12://流程卡列表
                            dgvProject.Columns[i].Width = 200;
                            break;
                        //case 13://最小掰边
                        case 14://钢化装载率
                        case 15://钢化炉数
                        //case 16://平均切裁率
                        //case 17://有效切裁率
                        //case 18://尾片切裁率
                        case 19://原料使用数-第一次优化
                        case 20://平均切裁率-第一次优化
                        //case 21://备注
                        //case 22://操作人
                        //case 23://创建时间
                        //    break;
                        case 24://修改时间
                        case 25://Public_status:公开状态
                        case 26://createrId,创建人ID
                        case 27://state:工程状态
                        case 28://online_status ï¼šè¿žçº¿çŠ¶æ€
                            dgvProject.Columns[i].Visible = false;
                            break;
                        default:
                            dgvProject.Columns[i].Width = 150;
                            break;
                    }
                }
            }
            else {
            else
            {
                dgvProject.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader;
            }
            dgvProject.Columns[12].ContextMenuStrip = MenuFlowCard;
            dgvProject.Columns[11].ContextMenuStrip = MenuFlowCard;
            dgvProject.AllowUserToResizeColumns = true;
            dgvProject.Refresh();
            //dgvProject.Columns[11].Width = 150;
        }
            /////工程号
            //dgvProject.Columns["工程号"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            ////名称
            //dgvProject.Columns["名称"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            //dgvProject.Columns["膜系"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            //dgvProject.Columns["创建时间"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
        void dgvShowRowSet()
        {
            if (!dgvProject.Columns.Contains("public_status"))
            {
                return;
            }
            for (int i = 1; i < dgvProject.RowCount; i++)
            {
                dgvProject.Rows[i].ReadOnly = true;
                string isPublic = dgvProject.Rows[i].Cells["public_status"].Value.ToString();
                if (isPublic == "1")
                {
                    dgvProject.Rows[i].Cells[1].Style.BackColor = ColorUtil.SelectedColor;
                }
                object oS = dgvProject.Rows[i].Cells["online_status"].Value;
                string onlineStatus = oS == null ? "1" : oS.ToString();
                if (onlineStatus == "1" || string.IsNullOrEmpty(onlineStatus))
                {
                    //dgvProject.Rows[i].Cells[7].Value = "连线生产";
                    dgvProject.Rows[i].Cells[7].Style.BackColor = ColorUtil.SelectedColor;
                }
                else
                {
                    //dgvProject.Rows[i].Cells[7].Value = "单机生产";
                    dgvProject.Rows[i].Cells[7].Style.BackColor = Color.Red;
                }
            }
        }
@@ -414,9 +418,9 @@
                //sTotal += dr["原片使用数量"] == DBNull.Value ? 0 : Convert.ToInt32(dr["原片使用数量"]);
                gTotal += dr[7] == DBNull.Value ? 0 : Convert.ToInt32(dr[7].ToString());//"数量"
                gTotalArea += dr[8] == DBNull.Value ? 0 : Convert.ToDouble(dr[8]);//"面积"
                sTotal += dr[10] == DBNull.Value ? 0 : Convert.ToInt32(dr[10]);//"原片使用数量"
                gTotal += dr[8] == DBNull.Value ? 0 : Convert.ToInt32(dr[8].ToString());//"数量"
                gTotalArea += dr[9] == DBNull.Value ? 0 : Convert.ToDouble(dr[9]);//"面积"
                sTotal += dr[11] == DBNull.Value ? 0 : Convert.ToInt32(dr[11]);//"原片使用数量"
            }
            dgvProject.Visible = true;
@@ -471,6 +475,7 @@
            this.StartPosition = FormStartPosition.CenterScreen;
        }
        void BtnShowSet()
        {
            labelUtil.setLabelName(ref lblBtnExport);
@@ -507,100 +512,7 @@
        }
        #region æ»šåŠ¨æ¡åˆ°åº•åˆ·æ–°ï¼Œæœªä½¿ç”¨
        void dataGrid_OnScrollToEnd(object sender, EventArgs e)
        {
            pagenum++;
            pagestart = pagenum * pagesize;
            string qInfo = txtQuery.Text.Trim() == inputText ? null : txtQuery.Text.Trim();
            ShowProjectData(qInfo);
        }
        private void AddLinkColumn()
        {
            DataGridViewLinkColumn links = new DataGridViewLinkColumn();
            links.Name = "lookLayout";
            links.UseColumnTextForLinkValue = true;
            links.HeaderText = "操作";
            //links.DataPropertyName = ColumnName.ReportsTo.ToString();
            links.ActiveLinkColor = Color.White;
            links.LinkBehavior = LinkBehavior.SystemDefault;
            links.LinkColor = Color.Blue;
            links.TrackVisitedState = true;
            links.VisitedLinkColor = Color.YellowGreen;
            dgvProject.Columns.Add(links);
        }
        #endregion
        bool isSelect = false;
        void ShowProjectData(string qinfo)
        {
            int gTotal = 0;
            double gTotalArea = 0;
            int sTotal = 0;
            double sTotalArea = 0;
            if (isSelect)
            {
                show_data = ProjectDB.SelectProjectManage(qinfo, pagestart, pagesize);
                foreach (DataRow dr in show_data.Rows)
                {
                    //gTotal += dr["数量"] == DBNull.Value ? 0 : Convert.ToInt32(dr["数量"].ToString());
                    //gTotalArea += dr["面积"] == DBNull.Value ? 0 : Convert.ToDouble(dr["面积"]);
                    //sTotal += dr["原片使用数量"] == DBNull.Value ? 0 : Convert.ToInt32(dr["原片使用数量"]);
                    gTotal += dr[7] == DBNull.Value ? 0 : Convert.ToInt32(dr[7].ToString());//"数量"
                    gTotalArea += dr[8] == DBNull.Value ? 0 : Convert.ToDouble(dr[8]);//"面积"
                    sTotal += dr[10] == DBNull.Value ? 0 : Convert.ToInt32(dr[10]);//"原片使用数量"
                }
                dgvProject.Visible = true;
                dgvProject.DataSource = show_data.DefaultView;
                //dgvProjectData.Columns["操作"].DataGridView.Columns
                isSelect = false;
            }
            else
            {
                int rindex = dgvProject.FirstDisplayedScrollingRowIndex;
                DataTable dataTable = ProjectDB.SelectProjectManage(qinfo, pagestart, pagesize);
                foreach (DataRow dr in dataTable.Rows)
                {
                    //gTotal += dr["数量"] == DBNull.Value ? 0 : Convert.ToInt32(dr["数量"].ToString());
                    //gTotalArea += dr["面积"] == DBNull.Value ? 0 : Convert.ToInt64(dr["面积"]);
                    //sTotal += dr["原片使用数量"] == DBNull.Value ? 0 : Convert.ToInt32(dr["原片使用数量"]);
                    gTotal += dr[7] == DBNull.Value ? 0 : Convert.ToInt32(dr[7].ToString());//"数量"
                    gTotalArea += dr[8] == DBNull.Value ? 0 : Convert.ToDouble(dr[8]);//"面积"
                    sTotal += dr[10] == DBNull.Value ? 0 : Convert.ToInt32(dr[10]);//"原片使用数量"
                }
                if (dataTable.Rows.Count != 0)
                {
                    show_data.Merge(dataTable);
                    //dgvProjectData.FirstDisplayedScrollingRowIndex = (pagenum > 1 ? pagenum - 1 : 1) * 20;
                    dgvProject.FirstDisplayedScrollingRowIndex = rindex;
                }
            }
            lblGlassNum.Text = (Convert.ToInt32(lblGlassNum.Text) + gTotal).ToString();
            lblGlassArea.Text = (Convert.ToDouble(lblGlassArea.Text.Trim()) + gTotalArea).ToString();
            lblStockNum.Text = (Convert.ToInt32(lblStockNum.Text.Trim()) + sTotal).ToString();
        }
        private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {
@@ -964,7 +876,7 @@
                    //// åº”用更改后的单元格样式到指定列
                    //dgvProject.Columns[11].DefaultCellStyle = cellStyle;
                    dgvProject.Columns[11].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    dgvProject.Columns[12].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    dgvProject.FirstDisplayedScrollingColumnIndex = 11;
                    TSMIHideFlowCard.Visible = true;
                    TSMIShowFlowCard.Visible = false;
@@ -974,8 +886,8 @@
                    //dgvProject.Columns[11].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
                    dgvProject.Columns[11].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                    dgvProject.Columns[11].Width = 200;
                    dgvProject.Columns[12].AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
                    dgvProject.Columns[12].Width = 200;
                    dgvProject.FirstDisplayedScrollingColumnIndex = 3;
                    TSMIHideFlowCard.Visible = false;
                    TSMIShowFlowCard.Visible = true;
@@ -1185,9 +1097,6 @@
            DGVtRigthClickOperate(14);
        }
        bool showFlowCard = false;
        private void TSMIShowFlowCard_Click(object sender, EventArgs e)
        {
            strCurrentOperate = TSMIShowFlowCard.Text;