Esempio n. 1
0
 /// <summary>
 /// 删除
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_Del_Click(object sender, EventArgs e)
 {
     try
     {
         DialogResult dialogResult = MessageBox.Show("是否删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
         if (dialogResult == DialogResult.OK)//如果点击“确定”按钮
         {
             DataRow dr = this.gv_Order.GetDataRow(this.gv_Order.FocusedRowHandle);
             if (dr == null)
             {
                 MessageBox.Show("请选择需要删除的信息!");
                 return;
             }
             Mod_TMO_ORDER mod = bll_Order.GetModel(dr["C_ID"].ToString());
             mod.N_TYPE   = 11;
             mod.C_EMP_ID = RV.UI.UserInfo.UserID;
             mod.D_MOD_DT = RV.UI.ServerTime.timeNow();
             if (bll_Order.Update(mod))
             {
                 Mod_TRP_PLAN_ROLL modroll = bll_roll.GetModelByOrderNo(mod.C_ORDER_NO);
                 modroll.N_STATUS = 3;
                 bll_roll.Update(modroll);
                 MessageBox.Show("删除成功!");
                 Common.UserLog.AddLog(strMenuName, this.Name, this.Text, "删除首尾炉订单");//添加操作日志
                 NewMethod();
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Esempio n. 2
0
        private void btn_xm_Click(object sender, EventArgs e)
        {
            if (this.icbo_xm.SelectedIndex < 0)
            {
                MessageBox.Show("请选择修磨要求!");
                return;
            }
            int slsctcou = lst.Where(a => a.B_check).ToList().Count;

            if (DialogResult.Yes == MessageBox.Show("是否确认维护选中的订单 ?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                #region 方法
                WaitingFrom.ShowWait("计划正在修改,请稍候...");
                if (lst.Count > 0)
                {
                    if (lst.Where(a => a.B_check).ToList().Count > 0)
                    {
                        for (int i = 0; i < lst.Count; i++)
                        {
                            if (lst[i].B_check)
                            {
                                string c_xm = this.icbo_xm.Properties.Items[this.icbo_xm.SelectedIndex].Value.ToString();
                                lst[i].C_XM = "N";
                                if (c_xm.Trim() != "")
                                {
                                    lst[i].C_XM = "Y";
                                }
                                lst[i].C_XM_YQ = c_xm;
                                bll_order.Update(lst[i]);

                                DataTable dtroll_plan = bllTrpPlanRoll.GetListByOrderID(lst[i].C_ID).Tables[0];
                                if (dtroll_plan.Rows.Count > 0)
                                {
                                    for (int j = 0; j < dtroll_plan.Rows.Count; j++)
                                    {
                                        Mod_TRP_PLAN_ROLL modtrp_roll = bllTrpPlanRoll.GetModel(dtroll_plan.Rows[j]["C_ID"].ToString());
                                        modtrp_roll.C_XM    = lst[i].C_XM;
                                        modtrp_roll.C_XM_YQ = lst[i].C_XM_YQ;


                                        bllTrpPlanRoll.Update(modtrp_roll);
                                    }
                                }

                                Mod_TMO_ORDER_PJ_LOG modlog = new Mod_TMO_ORDER_PJ_LOG();
                                modlog.C_EMP_ID   = RV.UI.UserInfo.userID;
                                modlog.C_ORDER_NO = lst[i].C_ORDER_NO;
                                modlog.C_TYPE     = "不锈钢订单维护修磨要求";
                                modlog.C_RESULT   = "";
                                modlog.C_MSG      = "不锈钢订单维护修磨要求!";
                                bll_ddpj.Add(modlog);
                            }
                        }
                    }
                }
                WaitingFrom.CloseWait();
                #endregion
                btn_query_order_Click(null, null);
            }
        }
Esempio n. 3
0
        private void btn_up_Click(object sender, EventArgs e)
        {
            try
            {
                int rowIndex = this.gridView1.FocusedRowHandle;
                if (rowIndex == 0)
                {
                    MessageBox.Show("已经是第一行了!", "提示");
                    return;
                }
                int A = Convert.ToInt32(gridView1.GetRowCellValue(rowIndex, "N_SORT").ToString());//获取当前行的序号
                gridView1.SetRowCellValue(rowIndex - 1, "N_SORT", A);
                gridView1.SetRowCellValue(rowIndex, "N_SORT", A - 1);
                #region 保存当前排序
                for (int i = 0; i < gridView1.RowCount; i++)
                {
                    Mod_TRP_PLAN_ROLL modpx = bll_plan.GetModel(gridView1.GetRowCellValue(i, "C_ID").ToString());
                    modpx.N_SORT = Convert.ToInt32(gridView1.GetRowCellValue(i, "N_SORT").ToString());
                    bll_plan.Update(modpx);
                }
                btn_query_zg_Click(null, null);
                #endregion

                this.gridView1.SelectRow(rowIndex - 1);
                this.gridView1.FocusedRowHandle = rowIndex - 1;
            }
            catch (Exception)
            {
            }
        }
Esempio n. 4
0
        private void btn_delete_Click(object sender, EventArgs e)
        {
            WaitingFrom.ShowWait("");
            DataTable dtdchs = dtzgjh.Clone();                  //选中的需要评价的订单

            int[] rownumber = this.gridView1.GetSelectedRows(); //获取选中行号数组;
            if (rownumber.Length > 0)
            {
                for (int i = 0; i < rownumber.Length; i++)
                {
                    int     selectedHandle = rownumber[i];
                    DataRow dr             = dtdchs.NewRow();
                    dr.ItemArray = this.gridView1.GetDataRow(i).ItemArray;
                    dtdchs.Rows.Add(dr);
                }
                dtdchs.DefaultView.Sort = " N_SORT ";  //将选中的订单按照排产目标进行排序
                dtdchs = dtdchs.DefaultView.ToTable(); //获取的需要初始化的表
            }
            for (int j = 0; j < dtdchs.Rows.Count; j++)
            {
                string            C_PLAN_ID = dtdchs.Rows[j]["C_ID"].ToString();
                Mod_TRP_PLAN_ROLL modPlan   = bll_plan.GetModel(C_PLAN_ID);
                decimal           WGT       = Convert.ToDecimal(modPlan.N_WGT);
                string            orderId   = modPlan.C_INITIALIZE_ITEM_ID;
                bll_order.BackZGWGT(orderId, WGT);
                bll_plan.Delete(C_PLAN_ID);
            }
            btn_query_zg_Click(null, null);
            WaitingFrom.CloseWait();
        }
Esempio n. 5
0
        private void btn_change_line_Click(object sender, EventArgs e)
        {
            if (this.icbo_line2.SelectedIndex < 0)
            {
                MessageBox.Show("请选择要调整的产线!");
                this.dtp_d_plan_date.Focus();
                return;
            }
            int slsctcou = lst.Where(a => a.B_check).ToList().Count;

            if (DialogResult.Yes == MessageBox.Show("您当前选中" + slsctcou.ToString() + "条订单,\r\n是否确认将选中的订单调整到 " + this.icbo_line2.Properties.Items[this.icbo_line2.SelectedIndex].Description.ToString() + " ?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                Mod_TB_STA modsta = bll_sta.GetModel(this.icbo_line2.Properties.Items[this.icbo_line2.SelectedIndex].Value.ToString());
                #region 方法
                WaitingFrom.ShowWait("计划正在修改,请稍候...");
                if (lst.Count > 0)
                {
                    if (lst.Where(a => a.B_check).ToList().Count > 0)
                    {
                        for (int i = 0; i < lst.Count; i++)
                        {
                            if (lst[i].B_check)
                            {
                                string oldline = lst[i].C_ROLL_DESC;
                                lst[i].C_LINE_NO   = modsta.C_ID;
                                lst[i].C_ROLL_CODE = modsta.C_STA_CODE;
                                lst[i].C_ROLL_DESC = modsta.C_STA_DESC;
                                lst[i].D_SC_MOD_DT = RV.UI.ServerTime.timeNow();
                                bll_order.Update(lst[i]);

                                DataTable dtroll_plan = bll_trp_paln.GetListByOrderID(lst[i].C_ID).Tables[0];
                                if (dtroll_plan.Rows.Count > 0)
                                {
                                    for (int j = 0; j < dtroll_plan.Rows.Count; j++)
                                    {
                                        Mod_TRP_PLAN_ROLL modtrp_roll = bll_trp_paln.GetModel(dtroll_plan.Rows[j]["C_ID"].ToString());
                                        modtrp_roll.C_STA_ID    = modsta.C_ID;
                                        modtrp_roll.C_LINE_CODE = modsta.C_STA_CODE;
                                        modtrp_roll.C_LINE_DESC = modsta.C_STA_DESC;
                                        bll_trp_paln.Update(modtrp_roll);
                                    }
                                }

                                Mod_TMO_ORDER_PJ_LOG modlog = new Mod_TMO_ORDER_PJ_LOG();
                                modlog.C_EMP_ID   = RV.UI.UserInfo.userID;
                                modlog.C_ORDER_NO = lst[i].C_ORDER_NO;
                                modlog.C_TYPE     = "调整计划产线";
                                modlog.C_RESULT   = "调整计划产线[" + oldline + "=>" + lst[i].C_ROLL_DESC.ToString() + "]";
                                modlog.C_MSG      = "计划产线调整!";
                                bll_ddpj.Add(modlog);
                            }
                        }
                    }
                }
                WaitingFrom.CloseWait();
                #endregion
                btn_query_order_Click(null, null);
            }
        }
        /// <summary>
        /// 撤销轧钢计划(中间表撤回)
        /// </summary>
        /// <param name="strID">trp_plan_roll_item_info表主键</param>
        public string BackPlan(string strID)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Mod_TRP_PLAN_ROLL_ITEM_INFO modItemInfo = dal.GetModel(strID);
                if (modItemInfo != null)
                {
                    if (modItemInfo.N_STATUS != 1)
                    {
                        TransactionHelper.RollBack();
                        return("撤销失败!");
                    }

                    if (!dal.Delete_Trans(strID))
                    {
                        TransactionHelper.RollBack();
                        return("撤销失败!");
                    }

                    Mod_TRP_PLAN_ROLL modPlan = dalTrpPlanRoll.GetModel(modItemInfo.C_PLAN_ROLL_ID);
                    if (modPlan == null)
                    {
                        TransactionHelper.RollBack();
                        return("撤销失败!");
                    }
                    else
                    {
                        modPlan.N_STATUS    = 0;
                        modPlan.N_ISSUE_WGT = modPlan.N_ISSUE_WGT - Convert.ToDecimal(modItemInfo.N_ISSUE_WGT);

                        if (!dalTrpPlanRoll.Update_Trans(modPlan))
                        {
                            TransactionHelper.RollBack();
                            return("撤销失败!");
                        }
                    }
                }
                else
                {
                    TransactionHelper.RollBack();
                    return("撤销失败!");
                }

                TransactionHelper.Commit();

                return(result);
            }
            catch
            {
                TransactionHelper.RollBack();
                return("撤销失败!");
            }
        }
Esempio n. 7
0
        /// <summary>
        /// 计划重新划分连铸
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_fp_lz_Click(object sender, EventArgs e)
        {
            if (DialogResult.No == MessageBox.Show("是否确认重新分配计划连铸信息?\r\n重新分配后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                return;
            }
            WaitingFrom.ShowWait("系统正对炼钢计划进行连铸重新分配,请稍候...");
            if (this.icbo_lz1.SelectedIndex <= 0)
            {
                MessageBox.Show("请选择要分配的连铸!");
                icbo_lz1.Focus();
                return;
            }
            string     C_CCM_ID = icbo_lz1.Properties.Items[this.icbo_lz1.SelectedIndex].Value.ToString();
            Mod_TB_STA mod_sta  = bll_sta.GetModel(C_CCM_ID);

            int[] aa  = this.gv_Lg_plan_Query.GetSelectedRows();
            int   cou = 0;

            for (int i = 0; i < aa.Length; i++)
            {
                int    selectedHandle = aa[i];
                string C_ID           = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString();
                string C_STL_GRD      = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                string C_STD_CODE     = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString();



                Mod_TRP_PLAN_ROLL mod_roll   = bll_trp_plan.GetModel(C_ID);
                string            C_ORDER_ID = mod_roll.C_INITIALIZE_ITEM_ID;
                Mod_TMO_ORDER     mod_order  = bll_order.GetModel(C_ORDER_ID);



                mod_order.C_CCM_NO   = C_CCM_ID;
                mod_order.C_CCM_CODE = mod_sta.C_STA_CODE;
                mod_order.C_CCM_DESC = mod_sta.C_STA_DESC;
                if (bll_order.Update(mod_order))
                {
                    mod_roll.C_CCM_ID   = C_CCM_ID;
                    mod_roll.C_CCM_CODE = mod_sta.C_STA_CODE;
                    mod_roll.C_CCM_DESC = mod_sta.C_STA_DESC;
                    if (bll_trp_plan.Update(mod_roll))
                    {
                        cou = cou + i;
                    }
                }
            }
            MessageBox.Show("连铸划分成功!");
            WaitingFrom.CloseWait();
            btn_query_lc_plan_Click(null, null);
        }
Esempio n. 8
0
        private void btn_close_order_Click(object sender, EventArgs e)
        {
            if (DialogResult.Yes == MessageBox.Show("是否确认关闭所选中的订单?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                #region 方法
                WaitingFrom.ShowWait("");
                if (lst.Count > 0)
                {
                    if (lst.Where(a => a.B_check).ToList().Count > 0)
                    {
                        for (int i = 0; i < lst.Count; i++)
                        {
                            if (lst[i].B_check)
                            {
                                lst[i].N_EXEC_STATUS = 8;//订单关闭
                                lst[i].D_SC_MOD_DT   = RV.UI.ServerTime.timeNow();
                                bll_order.Update(lst[i]);

                                DataTable dtroll_plan = bll_trp_paln.GetListByOrderID(lst[i].C_ID).Tables[0];
                                if (dtroll_plan.Rows.Count > 0)
                                {
                                    for (int j = 0; j < dtroll_plan.Rows.Count; j++)
                                    {
                                        Mod_TRP_PLAN_ROLL modtrp_roll = bll_trp_paln.GetModel(dtroll_plan.Rows[j]["C_ID"].ToString());
                                        modtrp_roll.N_STATUS = 2;
                                        bll_trp_paln.Update(modtrp_roll);
                                    }
                                }


                                Mod_TMO_ORDER_PJ_LOG modlog = new Mod_TMO_ORDER_PJ_LOG();
                                modlog.C_EMP_ID   = RV.UI.UserInfo.userID;
                                modlog.C_ORDER_NO = lst[i].C_ORDER_NO;
                                modlog.C_TYPE     = "订单关闭";
                                modlog.C_RESULT   = "订单已关闭!";
                                modlog.C_MSG      = "订单已关闭!";
                                bll_ddpj.Add(modlog);
                            }
                        }
                    }
                }
                WaitingFrom.CloseWait();
                #endregion
            }

            btn_query_order_Click(null, null);
        }
Esempio n. 9
0
 public void AutoSort(DataTable dt)
 {
     try
     {
         if (dt.Rows.Count > 0)
         {
             int n_sort = bll_plan.GetMaxSort(dt.Rows[0]["C_STA_ID"].ToString());
             for (int i = 0; i < dt.Rows.Count; i++)
             {
                 Mod_TRP_PLAN_ROLL modpx = bll_plan.GetModel(gridView1.GetRowCellValue(i, "C_ID").ToString());
                 modpx.N_SORT = n_sort + i;
                 bll_plan.Update(modpx);
             }
         }
     }
     catch (Exception)
     {
     }
 }
Esempio n. 10
0
        private void btn_canale_Click(object sender, EventArgs e)
        {
            try
            {
                //for (int i = 0; i < Convert.ToInt32(this.txt_num.Text); i++)
                //{
                //    Mod_TRP_PLAN_ROLL modpx = bll_plan.GetModel(gridView1.GetRowCellValue(i, "C_ID").ToString());
                //    modpx.N_STATUS = 0;
                //    bll_plan.Update(modpx);
                //}


                WaitingFrom.ShowWait("");
                DataTable dtdchs    = dtzgjh.Clone();                   //选中的需要评价的订单
                int[]     rownumber = this.gridView1.GetSelectedRows(); //获取选中行号数组;
                if (rownumber.Length > 0)
                {
                    for (int i = 0; i < rownumber.Length; i++)
                    {
                        int     selectedHandle = rownumber[i];
                        DataRow dr             = dtdchs.NewRow();
                        dr.ItemArray = this.gridView1.GetDataRow(i).ItemArray;
                        dtdchs.Rows.Add(dr);
                    }
                    dtdchs.DefaultView.Sort = " N_SORT ";  //将选中的订单按照排产目标进行排序
                    dtdchs = dtdchs.DefaultView.ToTable(); //获取的需要初始化的表
                }
                for (int j = 0; j < dtdchs.Rows.Count; j++)
                {
                    string            C_PLAN_ID = dtdchs.Rows[j]["C_ID"].ToString();
                    Mod_TRP_PLAN_ROLL modPlan   = bll_plan.GetModel(C_PLAN_ID);
                    modPlan.N_STATUS = 0;
                    bll_plan.Update(modPlan);
                }
                btn_query_zg_Click(null, null);
                WaitingFrom.CloseWait();
            }
            catch (Exception)
            {
                btn_query_zg_Click(null, null);
            }
        }
Esempio n. 11
0
        private void btn_zdfz_Click(object sender, EventArgs e)
        {
            if (DialogResult.No == MessageBox.Show("是否确认强行分组混浇?\r\n重新分组后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                return;
            }
            WaitingFrom.ShowWait("系统正对计划进行处理,请稍候...");

            int[] aa  = this.gv_Lg_plan_Query.GetSelectedRows();
            int   cou = 0;

            for (int i = 0; i < aa.Length; i++)
            {
                int               selectedHandle = aa[i];
                string            C_ID           = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString();
                string            C_STL_GRD      = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                string            C_STD_CODE     = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString();
                Mod_TRP_PLAN_ROLL mod_roll       = bll_trp_plan.GetModel(C_ID);
                string            C_ORDER_ID     = mod_roll.C_INITIALIZE_ITEM_ID;
                Mod_TMO_ORDER     mod_order      = bll_order.GetModel(C_ORDER_ID);
                mod_order.N_GROUP = Convert.ToInt32(this.txt_zh.Text);

                bool res = bll_gztj.UpdateGZ(C_STL_GRD, C_STD_CODE, Convert.ToInt32(this.txt_zh.Text));

                if (bll_order.Update(mod_order))
                {
                    mod_roll.N_GROUP = Convert.ToInt32(this.txt_zh.Text);
                    if (bll_trp_plan.Update(mod_roll))
                    {
                        cou = cou + i;
                    }
                }
            }
            MessageBox.Show("计划分组成功!");
            WaitingFrom.CloseWait();
            btn_query_lc_plan_Click(null, null);
        }
Esempio n. 12
0
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            if (DialogResult.No == MessageBox.Show("是否确认重新分配计划连铸信息?\r\n重新分配后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                return;
            }
            WaitingFrom.ShowWait("系统正对炼钢计划进行连铸重新分配,请稍候...");
            int[] aa  = this.gv_Lg_plan_Query.GetSelectedRows();
            int   cou = 0;

            for (int i = 0; i < aa.Length; i++)
            {
                int               selectedHandle = aa[i];
                string            C_ID           = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString();
                string            C_STL_GRD      = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                string            C_STD_CODE     = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString();
                Mod_TRP_PLAN_ROLL mod_roll       = bll_trp_plan.GetModel(C_ID);
                // Cls_Order_PC.UpdateRollPlanMatral(mod_roll);
            }
            // string group = bll_plan.P_LGPLAN_GROUPING();//炼钢计划重新分组

            WaitingFrom.CloseWait();
            btn_query_lc_plan_Click(null, null);
        }
Esempio n. 13
0
        /// <summary>
        /// 轧钢计划撤销
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_reset_area_Click(object sender, EventArgs e)
        {
            try
            {
                if (DialogResult.No == MessageBox.Show("是否确认撤回?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }

                DataRow dr = gv_ZGJH.GetDataRow(gv_ZGJH.FocusedRowHandle);
                Mod_TPP_INITIALIZE_ORDER mod = bll_ini_order.GetModel(dr["C_INITIALIZE_ITEM_ID"].ToString());
                if (mod != null)
                {
                    mod.N_ROLL_PROD_WGT = mod.N_ROLL_PROD_WGT - Convert.ToDecimal(dr["N_WGT"].ToString());
                    if (mod.N_ROLL_PROD_WGT == 0)
                    {
                        mod.N_EXEC_STATUS = 0;
                    }
                    bll_TRP_PLAN_ROLL.Delete(dr["C_ID"].ToString());


                    #region 重新计算顺序

                    bll_TRP_PLAN_ROLL.Update(dr["C_STA_ID"].ToString(), dr["C_INITIALIZE_ID"].ToString(), Convert.ToInt32(dr["N_SORT"].ToString()));

                    #endregion


                    #region 重新计算计划时间

                    int count = bll_TRP_PLAN_ROLL.GetFACount(cbo_FA.EditValue.ToString(), dr["C_STA_ID"].ToString());//该方案下该工位计划数量

                    int startNum = 1;

                    startNum            = Convert.ToInt32(dr["N_SORT"].ToString());
                    mod.N_ROLL_PROD_WGT = mod.N_WGT - Convert.ToDecimal(dr["N_ROLL_PROD_WGT"]);
                    mod.N_EXEC_STATUS   = 0;
                    bll_ini_order.Update(mod);
                    for (int i = startNum; i <= count; i++)
                    {
                        Mod_TRP_PLAN_ROLL mod_TRP_PLAN_ROLL = bll_TRP_PLAN_ROLL.GetModel(i, dr["C_INITIALIZE_ID"].ToString(), dr["C_STA_ID"].ToString());

                        if (i > 1)
                        {
                            DataTable bdt   = bll_TRP_PLAN_ROLL.GetList(Convert.ToInt32(mod_TRP_PLAN_ROLL.N_SORT - 1), mod_TRP_PLAN_ROLL.C_INITIALIZE_ITEM_ID, mod_TRP_PLAN_ROLL.C_STA_ID).Tables[0];
                            DateTime  enddt = Convert.ToDateTime(bdt.Rows[0]["D_P_END_TIME"]);//上一计划结束时间
                            DataTable hggdt = bll_TPB_CHANGESPEC_TIME.GetList(1, mod_TRP_PLAN_ROLL.C_STA_ID, bdt.Rows[0]["C_SPEC"].ToString(), mod_TRP_PLAN_ROLL.C_SPEC).Tables[0];

                            if (hggdt.Rows.Count > 0)
                            {
                                mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt.AddMinutes(Convert.ToDouble(hggdt.Rows[0]["N_TIME"]));
                            }
                            else
                            {
                                mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt;
                            }
                        }
                        else
                        {
                            mod_TRP_PLAN_ROLL.D_P_START_TIME = Convert.ToDateTime(bll_TPP_INITIALIZE_ITEM.GetListByNAME(cbo_FA.Text).Tables[0].Rows[0]["D_ROLL_START_TIME"]);
                        }

                        DataTable dataTable = bll_TPB_STATION_CAPACITY.GetList(1, "", mod_TRP_PLAN_ROLL.C_STA_ID, mod_TRP_PLAN_ROLL.C_STL_GRD, mod_TRP_PLAN_ROLL.C_SPEC, mod_TRP_PLAN_ROLL.C_STD_CODE).Tables[0];
                        string    cn        = "";
                        if (dataTable.Rows.Count > 0)
                        {
                            cn = dataTable.Rows[0]["N_CAPACITY"].ToString();
                        }
                        else
                        {
                            cn = "60";
                        }
                        double   db = Convert.ToDouble(mod_TRP_PLAN_ROLL.N_WGT) / Convert.ToDouble(cn);
                        DateTime dt = Convert.ToDateTime(mod_TRP_PLAN_ROLL.D_P_START_TIME);
                        dt = dt.AddHours(Convert.ToDouble(db));

                        mod_TRP_PLAN_ROLL.D_P_END_TIME = dt;

                        bll_TRP_PLAN_ROLL.Update(mod_TRP_PLAN_ROLL);
                    }

                    MessageBox.Show("撤销成功!");

                    Query();
                    Query1();
                    gv_DDFA_Click();
                    #endregion
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Esempio n. 14
0
        private void PLANADD(int item)
        {
            DataRow           dr                = gv_DDFA.GetDataRow(item);
            int               count             = bll_TRP_PLAN_ROLL.GetFACount(cbo_FA.EditValue.ToString(), cbo_GW1.EditValue.ToString());//该方案下该工位计划数量
            Mod_TRP_PLAN_ROLL mod_TRP_PLAN_ROLL = new Mod_TRP_PLAN_ROLL();

            mod_TRP_PLAN_ROLL.C_INITIALIZE_ID      = cbo_FA.EditValue.ToString();
            mod_TRP_PLAN_ROLL.C_INITIALIZE_ITEM_ID = dr["C_ID"].ToString();
            mod_TRP_PLAN_ROLL.N_SORT     = count + 1;
            mod_TRP_PLAN_ROLL.C_SPEC     = dr["C_SPEC"].ToString();
            mod_TRP_PLAN_ROLL.C_STD_CODE = dr["C_STD_CODE"].ToString();
            mod_TRP_PLAN_ROLL.C_STL_GRD  = dr["C_STL_GRD"].ToString();
            mod_TRP_PLAN_ROLL.C_ORDER_NO = dr["C_ORDER_NO"].ToString();
            mod_TRP_PLAN_ROLL.C_MAT_NAME = dr["C_MAT_NAME"].ToString();
            mod_TRP_PLAN_ROLL.C_MAT_CODE = dr["C_MAT_CODE"].ToString();
            mod_TRP_PLAN_ROLL.N_WGT      = Convert.ToDecimal(dr["N_WGT"]);
            if (dr["C_ROLL_STA_ID"] == null || dr["C_ROLL_STA_ID"].ToString() == "")
            {
                MessageBox.Show(mod_TRP_PLAN_ROLL.C_STL_GRD + "未分配产线!");
                return;
            }
            mod_TRP_PLAN_ROLL.C_STA_ID = dr["C_ROLL_STA_ID"].ToString();

            if (txt_wgt1.Enabled == true)
            {
                mod_TRP_PLAN_ROLL.N_ROLL_PROD_WGT = Convert.ToDecimal(txt_wgt1.Text);
            }
            else
            {
                mod_TRP_PLAN_ROLL.N_ROLL_PROD_WGT = Convert.ToDecimal(dr["N_WGT"]) - Convert.ToDecimal(dr["N_ROLL_PROD_WGT"]);
            }
            if (mod_TRP_PLAN_ROLL.N_WGT <= 0)
            {
                return;
            }
            if (count > 0)
            {
                DataTable bdt = bll_TRP_PLAN_ROLL.GetList(Convert.ToInt32(mod_TRP_PLAN_ROLL.N_SORT - 1), mod_TRP_PLAN_ROLL.C_INITIALIZE_ID, mod_TRP_PLAN_ROLL.C_STA_ID).Tables[0];
                if (bdt.Rows.Count > 0)
                {
                    DateTime  enddt = Convert.ToDateTime(bdt.Rows[0]["D_P_END_TIME"]);//上一计划结束时间
                    DataTable hggdt = bll_TPB_CHANGESPEC_TIME.GetList(1, mod_TRP_PLAN_ROLL.C_STA_ID, bdt.Rows[0]["C_SPEC"].ToString(), mod_TRP_PLAN_ROLL.C_SPEC).Tables[0];
                    if (hggdt.Rows.Count > 0)
                    {
                        mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt.AddMinutes(Convert.ToDouble(hggdt.Rows[0]["N_TIME"]));
                    }
                    else
                    {
                        mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt;
                    }
                }
            }
            else
            {
                mod_TRP_PLAN_ROLL.D_P_START_TIME = DateTime.Now;
            }
            int cn = 0;

            if (!string.IsNullOrEmpty(dr["N_MACH_WGT"].ToString()))
            {
                cn = Convert.ToInt32(dr["N_MACH_WGT"].ToString());
            }

            if (cn == 0)
            {
                cn = 50;
            }

            double   db = Convert.ToDouble(mod_TRP_PLAN_ROLL.N_WGT) / Convert.ToDouble(cn);
            DateTime dt = Convert.ToDateTime(mod_TRP_PLAN_ROLL.D_P_START_TIME);

            dt = dt.AddHours(Convert.ToDouble(db));
            mod_TRP_PLAN_ROLL.D_P_END_TIME = dt;

            Mod_TPP_INITIALIZE_ORDER mod_TPP_INITIALIZE_ORDER = bll_ini_order.GetModel(mod_TRP_PLAN_ROLL.C_INITIALIZE_ITEM_ID);

            mod_TPP_INITIALIZE_ORDER.N_EXEC_STATUS    = 1;
            mod_TPP_INITIALIZE_ORDER.N_ROLL_PROD_WGT += mod_TRP_PLAN_ROLL.N_WGT;
            bll_ini_order.Update(mod_TPP_INITIALIZE_ORDER); //变更方案计划表数据

            bll_TRP_PLAN_ROLL.Add(mod_TRP_PLAN_ROLL);       //变更计划表

            //DataTable itemdt = bll_TPP_INITIALIZE_ITEM.GetListByNAME(cbo_FA.Text).Tables[0];
            ////Mod_TPP_INITIALIZE_ITEM mod_TPP_INITIALIZE_ITEM = bll_TPP_INITIALIZE_ITEM.GetModel(itemdt.Rows[0]["C_ID"].ToString());
            ////mod_TPP_INITIALIZE_ITEM.N_Z_WGT = (mod_TPP_INITIALIZE_ITEM.N_Z_WGT.ToString() == DBNull.Value.ToString() ? 0 : mod_TPP_INITIALIZE_ITEM.N_Z_WGT) + mod_TRP_PLAN_ROLL.N_WGT;
            ////mod_TPP_INITIALIZE_ITEM.D_ROLL_END_TIME = mod_TRP_PLAN_ROLL.D_P_END_TIME;
            ////bll_TPP_INITIALIZE_ITEM.Update(mod_TPP_INITIALIZE_ITEM);//变更方案表
            //bll_TPP_INITIALIZE_STA.UpdateBySTAFID(cbo_FA.Text, cbo_GW1.EditValue.ToString(), Convert.ToInt32(txt_wgt1.Text));
        }
Esempio n. 15
0
        /// <summary>
        /// 轧钢自动排产
        /// </summary>
        /// <param name="dt"></param>
        public void ZGPC(DataTable dt)
        {
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Mod_TMO_ORDER modorder = bll_order.GetModel(dt.Rows[i]["C_ID"].ToString());

                    decimal dpcwgt = Convert.ToDecimal(dt.Rows[i]["N_R_WGT"].ToString());                    //轧钢待排产的重量(N_WGT - N_ROLL_PROD_WGT - N_LINE_MATCH_WGT)
                    decimal kpcwgt = Convert.ToDecimal(dt.Rows[i]["N_R_KP_WGT"].ToString());                 //轧钢本次可排产的重量(N_SMS_PROD_WGT + N_SLAB_MATCH_WGT)

                    decimal kcgpl = Convert.ToDecimal(dt.Rows[i]["N_SLAB_MATCH_WGT"].ToString());            //该计划试用库存钢坯重量

                    if (kpcwgt > 0 && dpcwgt > 0)                                                            //当前订单可以排产
                    {
                        decimal kcp = (kcgpl - bll_roll_plan.GetZYPWgt(dt.Rows[i]["C_ID"].ToString(), "1")); //使用库存坯下计划量
                        if (kcp > 0)                                                                         //使用库存坯排产的计划
                        {
                            #region 添加轧钢计划
                            Mod_TRP_PLAN_ROLL modplan = new Mod_TRP_PLAN_ROLL();
                            modplan.C_INITIALIZE_ITEM_ID = dt.Rows[i]["C_ID"].ToString();       //订单表主键
                            modplan.C_ORDER_NO           = dt.Rows[i]["C_ORDER_NO"].ToString(); //订单号
                            modplan.N_WGT       = kcp;                                          //订单排产量
                            modplan.N_STATUS    = 0;
                            modplan.C_MAT_CODE  = dt.Rows[i]["C_MAT_CODE"].ToString();          //物料编码
                            modplan.C_MAT_NAME  = dt.Rows[i]["C_MAT_NAME"].ToString();          //物料名称
                            modplan.C_TECH_PROT = dt.Rows[i]["C_TECH_PROT"].ToString();         //客户协议号
                            modplan.C_SPEC      = dt.Rows[i]["C_SPEC"].ToString();              //规格
                            modplan.C_STL_GRD   = dt.Rows[i]["C_STL_GRD"].ToString();           //钢种
                            modplan.C_STD_CODE  = dt.Rows[i]["C_STD_CODE"].ToString();          //执行标准
                            //modplan.N_USER_LEV=dt.Rows[i][" N_USER_LEV,"].ToString();//客户等级
                            //modplan.N_STL_GRD_LEV=dt.Rows[i][" C_LEV,"].ToString();//钢种等级
                            //modplan.N_ORDER_LEV=dt.Rows[i][" C_ORDER_LEV,"].ToString();//订单等级
                            modplan.D_NEED_DT      = Convert.ToDateTime(dt.Rows[i]["D_NEED_DT"].ToString());                          //需求日期
                            modplan.D_DELIVERY_DT  = Convert.ToDateTime(dt.Rows[i]["D_DELIVERY_DT"].ToString());                      //计划交货日期
                            modplan.D_DT           = Convert.ToDateTime(dt.Rows[i]["D_DT"].ToString());                               //订单日期
                            modplan.N_PROD_TIME    = Convert.ToDecimal(kcp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString())); //理论生产需时
                            modplan.N_SORT         = 0;                                                                               //生产排序
                            modplan.C_CUST_NO      = dt.Rows[i]["C_CUST_NO"].ToString();                                              //客户编码
                            modplan.C_CUST_NAME    = dt.Rows[i]["C_CUST_NAME"].ToString();                                            //客户名称
                            modplan.C_SALE_CHANNEL = dt.Rows[i]["C_SALE_CHANNEL"].ToString();                                         //分销类别(直销/经销)
                            modplan.C_PACK         = dt.Rows[i]["C_PACK"].ToString();                                                 //包装要求
                            modplan.C_DESIGN_NO    = dt.Rows[i]["C_DESIGN_NO"].ToString();                                            //质量设计号
                            modplan.N_GROUP_WGT    = 0;                                                                               //组批量
                            modplan.C_LINE_DESC    = dt.Rows[i]["C_LINE_NO"].ToString();                                              //工位
                            modplan.C_STA_ID       = dt.Rows[i]["C_STA_ID"].ToString();                                               //工位
                            modplan.C_LINE_CODE    = bll_gw.Get_NC_ID(modplan.C_STA_ID);                                              //nc工位主键

                            modplan.C_EMP_ID        = RV.UI.UserInfo.userID;                                                          //操作人
                            modplan.D_MOD_DT        = RV.UI.ServerTime.timeNow();                                                     //操作时间
                            modplan.N_MACH_WGT      = Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString());                         //机时产量(轧钢)
                            modplan.C_INITIALIZE_ID = "1";                                                                            //计划标识0连铸坯1自由坯
                            modplan.C_FREE_TERM     = dt.Rows[i]["C_FREE1"].ToString();                                               //自由项
                            modplan.C_FREE_TERM2    = dt.Rows[i]["C_FREE2"].ToString();                                               //自由项2
                            modplan.C_AREA          = dt.Rows[i]["C_AREA"].ToString();                                                //区域
                            modplan.C_PCLX          = modplan.C_AREA.Contains("出口") ? "1" : "0";                                      //批次类型0普通材,1出口材
                            bll_roll_plan.Add(modplan);
                            modorder.N_ROLL_PROD_WGT = modorder.N_ROLL_PROD_WGT + kcp;
                            #endregion
                        }

                        decimal lzp = 0;
                        if (dpcwgt - kpcwgt > 0)
                        {
                            lzp = kpcwgt - kcp;//使用连铸坯排产量
                        }
                        else
                        {
                            lzp = dpcwgt - kcp; //使用连铸坯排产量
                        }
                        if (lzp > 0)            //使用连铸坯排产的计划
                        {
                            #region 添加轧钢计划

                            Mod_TRP_PLAN_ROLL modplan = new Mod_TRP_PLAN_ROLL();
                            modplan.C_INITIALIZE_ITEM_ID = dt.Rows[i]["C_ID"].ToString();       //订单表主键
                            modplan.C_ORDER_NO           = dt.Rows[i]["C_ORDER_NO"].ToString(); //订单号
                            modplan.N_WGT       = lzp;                                          //订单排产量
                            modplan.N_STATUS    = 0;
                            modplan.C_MAT_CODE  = dt.Rows[i]["C_MAT_CODE"].ToString();          //物料编码
                            modplan.C_MAT_NAME  = dt.Rows[i]["C_MAT_NAME"].ToString();          //物料名称
                            modplan.C_TECH_PROT = dt.Rows[i]["C_TECH_PROT"].ToString();         //客户协议号
                            modplan.C_SPEC      = dt.Rows[i]["C_SPEC"].ToString();              //规格
                            modplan.C_STL_GRD   = dt.Rows[i]["C_STL_GRD"].ToString();           //钢种
                            modplan.C_STD_CODE  = dt.Rows[i]["C_STD_CODE"].ToString();          //执行标准
                            //modplan.N_USER_LEV=dt.Rows[i][" N_USER_LEV,"].ToString();//客户等级
                            //modplan.N_STL_GRD_LEV=dt.Rows[i][" C_LEV,"].ToString();//钢种等级
                            //modplan.N_ORDER_LEV=dt.Rows[i][" C_ORDER_LEV,"].ToString();//订单等级
                            modplan.D_NEED_DT     = Convert.ToDateTime(dt.Rows[i]["D_NEED_DT"].ToString());                            //需求日期
                            modplan.D_DELIVERY_DT = Convert.ToDateTime(dt.Rows[i]["D_DELIVERY_DT"].ToString());                        //计划交货日期
                            modplan.D_DT          = Convert.ToDateTime(dt.Rows[i]["D_DT"].ToString());                                 //订单日期
                            decimal kkk = Convert.ToDecimal(lzp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString()));
                            modplan.N_PROD_TIME     = Convert.ToDecimal(lzp / Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString())); //理论生产需时
                            modplan.N_SORT          = 0;                                                                               //生产排序
                            modplan.C_CUST_NO       = dt.Rows[i]["C_CUST_NO"].ToString();                                              //客户编码
                            modplan.C_CUST_NAME     = dt.Rows[i]["C_CUST_NAME"].ToString();                                            //客户名称
                            modplan.C_SALE_CHANNEL  = dt.Rows[i]["C_SALE_CHANNEL"].ToString();                                         //分销类别(直销/经销)
                            modplan.C_PACK          = dt.Rows[i]["C_PACK"].ToString();                                                 //包装要求
                            modplan.C_DESIGN_NO     = dt.Rows[i]["C_DESIGN_NO"].ToString();                                            //质量设计号
                            modplan.N_GROUP_WGT     = 0;                                                                               //组批量
                            modplan.C_LINE_DESC     = dt.Rows[i]["C_LINE_NO"].ToString();                                              //工位
                            modplan.C_STA_ID        = dt.Rows[i]["C_STA_ID"].ToString();                                               //工位
                            modplan.C_LINE_CODE     = bll_gw.Get_NC_ID(modplan.C_STA_ID);                                              //nc工位主键
                            modplan.C_EMP_ID        = RV.UI.UserInfo.userID;                                                           //操作人
                            modplan.D_MOD_DT        = RV.UI.ServerTime.timeNow();                                                      //操作时间
                            modplan.N_MACH_WGT      = Convert.ToDecimal(dt.Rows[i]["N_MACH_WGT"].ToString());                          //机时产量(轧钢)
                            modplan.C_INITIALIZE_ID = "0";                                                                             //计划标识0连铸坯1自由坯
                            modplan.C_FREE_TERM     = dt.Rows[i]["C_FREE1"].ToString();                                                //自由项
                            modplan.C_FREE_TERM2    = dt.Rows[i]["C_FREE2"].ToString();                                                //自由项2
                            modplan.C_AREA          = dt.Rows[i]["C_AREA"].ToString();                                                 //区域
                            modplan.C_PCLX          = modplan.C_AREA.Contains("出口") ? "1" : "0";                                       //批次类型0普通材,1出口材

                            #endregion

                            //根据计划号得出该计划钢坯生产结束时间
                            DataTable dtscsj = bll_sms.GetOrderCCTime(modplan.C_INITIALIZE_ITEM_ID);
                            if (dtscsj.Rows.Count > 0)
                            {
                                DateTime?dtbegin = null;
                                try
                                {
                                    dtbegin = Convert.ToDateTime(dtscsj.Rows[0]["D_P_START_TIME"].ToString());//钢坯开始生产时间
                                }
                                catch (Exception)
                                {
                                    dtbegin = System.DateTime.Now;
                                }

                                DateTime dtend    = Convert.ToDateTime(dtscsj.Rows[0]["D_P_END_TIME"].ToString()); //钢坯生产结束时间
                                DateTime lasttime = dtend;                                                         //工序最后时间
                                #region 判断是否开坯,是添加开坯计划
                                if (dt.Rows[i]["C_KP"].ToString() == "Y")
                                {
                                    #region 判断开坯前是否缓冷,缓冷时间,添加大方坯缓冷计划
                                    if (dt.Rows[i]["C_DFP_HL"].ToString().Trim() != "")
                                    {
                                        modplan.C_SFHL_D = dt.Rows[i]["C_DFP_HL"].ToString();                  //大方坯是否缓冷
                                        double hltime = Convert.ToDouble(dt.Rows[i]["N_DFP_HL_TIME"].ToString()) == 0 ? 48 : Convert.ToDouble(dt.Rows[i]["N_DFP_HL_TIME"].ToString());
                                        modplan.D_DHL_START_TIME = dtend;                                      //缓冷计划开始时间
                                        modplan.D_DHL_END_TIME   = Convert.ToDateTime(dtend.AddHours(hltime)); //缓冷计划结束时间
                                        lasttime = Convert.ToDateTime(dtend.AddHours(hltime));
                                    }
                                    #endregion
                                    double hktokp = 3;                                                                                                      //缓冷到开坯的运转时间
                                    modplan.C_SFKP          = "Y";                                                                                          //大方坯是否开坯
                                    modplan.D_KP_START_TIME = lasttime.AddHours(hktokp);                                                                    //开坯计划开始时间
                                    double kpjscl = 114;                                                                                                    //开坯的机时产量
                                    modplan.D_KP_END_TIME = Convert.ToDateTime(modplan.D_KP_START_TIME).AddHours(Convert.ToDouble(modplan.N_WGT) / kpjscl); //开坯计划结束时间
                                    lasttime = Convert.ToDateTime(modplan.D_KP_START_TIME).AddHours(Convert.ToDouble(modplan.N_WGT) / kpjscl);
                                }
                                if (dt.Rows[i]["C_HL"].ToString().Trim() != "")                          //开坯后是否缓冷
                                {
                                    double kptohl = 3;                                                   //开坯到缓冷时间
                                    modplan.C_SFHL          = "Y";                                       //小方坯是否缓冷
                                    modplan.D_HL_START_TIME = lasttime.AddHours(kptohl);                 //缓冷计划开始时间
                                    double xhltime = Convert.ToDouble(dt.Rows[i]["N_HL_TIME"].ToString()) == 0 ? 48 : Convert.ToDouble(dt.Rows[i]["N_HL_TIME"].ToString());
                                    modplan.D_HL_END_TIME = lasttime.AddHours(kptohl).AddHours(xhltime); //缓冷计划结束时间
                                    lasttime = Convert.ToDateTime(modplan.D_HL_END_TIME);
                                }
                                if (dt.Rows[i]["C_HL"].ToString().Trim() != "")//需要修磨
                                {
                                    double toXM   = 3;
                                    double xujscn = 80;                                                                                    //修磨的平均机时产能
                                    modplan.C_SFXM          = "Y";                                                                         //是否修磨
                                    modplan.D_XM_START_TIME = lasttime.AddHours(toXM);                                                     //修磨计划开始时间
                                    modplan.D_XM_END_TIME   = lasttime.AddHours(toXM).AddHours(Convert.ToDouble(modplan.N_WGT) / xujscn);; //修磨计划结束时间
                                    lasttime = Convert.ToDateTime(modplan.D_XM_END_TIME);
                                }

                                double tozg = 3;//到轧线的消耗时间
                                modplan.D_P_START_TIME = lasttime.AddHours(3);
                                modplan.D_P_END_TIME   = lasttime.AddHours(3).AddHours(Convert.ToDouble(modplan.N_PROD_TIME));
                                #endregion
                            }
                            bll_roll_plan.Add(modplan);
                            modorder.N_ROLL_PROD_WGT = modorder.N_ROLL_PROD_WGT + lzp;
                            bll_order.Update(modorder);
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 撤销轧钢计划(订单计划撤回)
        /// </summary>
        /// <param name="strID">trp_plan_roll_item表主键</param>
        public string BackPlans(string strID)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Mod_TRP_PLAN_ROLL_ITEM modItem = dalTrpPlanRollItem.GetModel(strID);
                if (modItem != null)
                {
                    //撤销普通订单
                    if (modItem.N_IS_MERGE == 0)
                    {
                        if (modItem.N_GROUP_WGT > 0 || modItem.N_STATUS != 1)
                        {
                            return("已组坯,不能撤销!");
                        }
                        if (!dalTrpPlanRollItem.Delete_Trans(strID))
                        {
                            TransactionHelper.RollBack();
                            return("撤销失败!");
                        }

                        if (!dal.Delete_Trans(strID))
                        {
                            TransactionHelper.RollBack();
                            return("撤销失败!");
                        }

                        Mod_TRP_PLAN_ROLL modPlan = dalTrpPlanRoll.GetModel(modItem.C_PLAN_ROLL_ID);
                        if (modPlan == null)
                        {
                            TransactionHelper.RollBack();
                            return("撤销失败!");
                        }
                        else
                        {
                            modPlan.N_STATUS    = 0;
                            modPlan.N_ISSUE_WGT = modPlan.N_ISSUE_WGT - Convert.ToDecimal(modItem.N_WGT);

                            Mod_TRP_PLAN_ROLL_ITEM modOld = dalTrpPlanRollItem.GetModel_By_PlanRollID(modItem.C_PLAN_ROLL_ID, modItem.C_ID);
                            if (modOld != null)
                            {
                                modPlan.D_P_START_TIME = modOld.D_P_START_TIME;
                                modPlan.D_P_END_TIME   = modOld.D_P_END_TIME;
                            }
                            else
                            {
                                modPlan.D_P_START_TIME = null;
                                modPlan.D_P_END_TIME   = null;
                            }

                            if (!dalTrpPlanRoll.Update_Trans(modPlan))
                            {
                                TransactionHelper.RollBack();
                                return("撤销失败!");
                            }
                        }
                    }
                    //撤销合并订单
                    else
                    {
                        if (modItem.N_GROUP_WGT > 0 || modItem.N_STATUS != 1)
                        {
                            return("已组坯,不能撤销!");
                        }

                        List <Mod_TRP_PLAN_ROLL_ITEM_INFO> itemInfos = new List <Mod_TRP_PLAN_ROLL_ITEM_INFO>();
                        var itemInfoDt = dal.GetList("  C_ITEM_ID='" + modItem.C_ID + "'  ").Tables[0];
                        if (itemInfoDt != null && itemInfoDt.Rows.Count > 0)
                        {
                            for (int i = 0; i < itemInfoDt.Rows.Count; i++)
                            {
                                BackPlanAdditional(itemInfoDt.Rows[i]["C_ID"].ToString());
                            }
                        }

                        if (!dalTrpPlanRollItem.Delete_Trans(strID))
                        {
                            TransactionHelper.RollBack();
                            return("撤销失败!");
                        }
                    }
                }
                else
                {
                    TransactionHelper.RollBack();
                    return("撤销失败!");
                }

                TransactionHelper.Commit();

                return(result);
            }
            catch
            {
                TransactionHelper.RollBack();
                return("撤销失败!");
            }
        }
Esempio n. 17
0
        private void btn_change_wl_Click(object sender, EventArgs e)
        {
            if (DialogResult.No == MessageBox.Show("是否确认重新修改物料编码?\r\n重新修改后浇次计划将会重新生成!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                return;
            }
            WaitingFrom.ShowWait("系统正对计划进行处理,请稍候...");

            int[] aa = this.gv_Lg_plan_Query.GetSelectedRows();

            string C_STL_GRD1 = "";
            string C_ROUTE    = "";

            for (int i = 0; i < aa.Length; i++)
            {
                int selectedHandle = aa[i];

                if (i > 0)
                {
                    if (this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString() != C_STL_GRD1 || this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString() != C_ROUTE)
                    {
                        MessageBox.Show("只能同时修改钢种和工艺路线一样的订单的物料编码!");
                        return;
                    }
                }
                C_STL_GRD1 = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                C_ROUTE    = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString();
            }

            int cou = 0;

            for (int i = 0; i < aa.Length; i++)
            {
                int    selectedHandle = aa[i];
                string C_ID           = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ID").ToString();
                string C_STL_GRD2     = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                string C_ROUTE2       = this.gv_Lg_plan_Query.GetRowCellValue(selectedHandle, "C_ROUTE").ToString();

                if (C_STL_GRD1 != C_STL_GRD2 || C_ROUTE != C_ROUTE2)
                {
                    MessageBox.Show("选中行和选定物料不一致,不能修改物料!");
                    return;
                }
                if (this.cbo_lzpwl.SelectedIndex < 0)
                {
                    MessageBox.Show("请选择要修改的连铸坯物料!");
                    return;
                }
                string c_matral_rz_id = "";//热轧坯物料主键

                if (C_ROUTE2.Contains("KP"))
                {
                    if (this.cbo_rzpwl.SelectedIndex < 0)
                    {
                        MessageBox.Show("请选择要修改的热轧坯物料!");
                        return;
                    }
                    c_matral_rz_id = this.cbo_rzpwl.Properties.Items[this.cbo_rzpwl.SelectedIndex].Value.ToString();
                }
                else
                {
                    c_matral_rz_id = "";
                }
                string c_matral_id = this.cbo_lzpwl.Properties.Items[this.cbo_lzpwl.SelectedIndex].Value.ToString();

                Mod_TB_MATRL_MAIN modlz  = bll_wl.GetModel(c_matral_id);//连铸坯物料
                Mod_TB_MATRL_MAIN mod_rz = null;
                if (c_matral_rz_id.Trim() != "")
                {
                    mod_rz = bll_wl.GetModel(c_matral_rz_id);
                }


                Mod_TRP_PLAN_ROLL mod_roll   = bll_trp_plan.GetModel(C_ID);
                string            C_ORDER_ID = mod_roll.C_INITIALIZE_ITEM_ID;
                Mod_TMO_ORDER     mod_order  = bll_order.GetModel(C_ORDER_ID);
                mod_order.C_MATRL_CODE_SLAB = modlz.C_ID;
                mod_order.C_MATRL_NAME_SLAB = modlz.C_MAT_NAME;
                mod_order.C_SLAB_SIZE       = modlz.C_SLAB_SIZE;
                mod_order.N_SLAB_LENGTH     = modlz.N_LTH;
                mod_order.N_SLAB_PW         = modlz.N_HSL;

                if (mod_rz != null)
                {
                    mod_order.C_MATRL_CODE_KP = mod_rz.C_ID;
                    mod_order.C_MATRL_NAME_KP = mod_rz.C_MAT_NAME;
                    mod_order.C_KP_SIZE       = mod_rz.C_SLAB_SIZE;
                    mod_order.N_KP_LENGTH     = mod_rz.N_LTH;
                    mod_order.N_KP_PW         = mod_rz.N_HSL;
                }

                if (bll_order.Update(mod_order))
                {
                    mod_roll.C_MATRL_CODE_SLAB = modlz.C_ID;
                    mod_roll.C_MATRL_NAME_SLAB = modlz.C_MAT_NAME;
                    mod_roll.C_SLAB_SIZE       = modlz.C_SLAB_SIZE;
                    mod_roll.N_SLAB_LENGTH     = modlz.N_LTH;
                    mod_roll.N_SLAB_PW         = modlz.N_HSL;

                    if (mod_rz != null)
                    {
                        mod_roll.C_MATRL_CODE_KP = mod_rz.C_ID;
                        mod_roll.C_MATRL_NAME_KP = mod_rz.C_MAT_NAME;
                        mod_roll.C_KP_SIZE       = mod_rz.C_SLAB_SIZE;
                        mod_roll.N_KP_LENGTH     = mod_rz.N_LTH;
                        mod_roll.N_KP_PW         = mod_rz.N_HSL;
                    }
                    if (bll_trp_plan.Update(mod_roll))
                    {
                        cou = cou + i;
                    }
                }
            }
            MessageBox.Show("物料信息修改成功!");
            WaitingFrom.CloseWait();
            btn_query_lc_plan_Click(null, null);
        }
        /// <summary>
        /// 下发轧钢计划
        /// </summary>
        /// <param name="strPlanID">计划主键</param>
        /// <param name="i_Wgt">重量</param>
        /// <param name="strTime">开始时间</param>
        /// <param name="strRemark">备注</param>
        /// <param name="strLineID">轧线ID</param>
        /// <param name="strHGG">换规格原因</param>
        /// <returns></returns>
        public string DownPlan(string strPlanID, decimal i_Wgt, string strTime, string strRemark, string strLineID, string strHGG)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Dal_TB_STA dalTbSta = new Dal_TB_STA();

                DateTime dtStart;
                DateTime dtEnd;

                Mod_TB_STA modSta = dalTbSta.GetModel(strLineID);

                Mod_TRP_PLAN_ROLL modelPlan = dalTrpPlanRoll.GetModel(strPlanID);
                if (modelPlan == null)
                {
                    TransactionHelper.RollBack();
                    return("下发失败,没有找到计划信息!");
                }
                else
                {
                    modelPlan.N_ISSUE_WGT = modelPlan.N_ISSUE_WGT + i_Wgt;

                    if (modelPlan.N_ISSUE_WGT == modelPlan.N_WGT)
                    {
                        modelPlan.N_STATUS = 1;
                    }

                    Mod_TRP_PLAN_ROLL_ITEM_INFO modUp = dal.GetModel_Up(strLineID);
                    if (modUp == null)
                    {
                        if (string.IsNullOrEmpty(strTime))
                        {
                            TransactionHelper.RollBack();
                            return("系统没有已排的计划,请设置计划初始开始时间!");
                        }
                        else
                        {
                            dtStart = Convert.ToDateTime(strTime);
                        }
                    }
                    else
                    {
                        //换规格
                        if (modelPlan.C_SPEC != modUp.C_SPEC)
                        {
                            if (string.IsNullOrEmpty(strHGG))
                            {
                                TransactionHelper.RollBack();
                                return("下发的计划和上一个计划规格不同,请填写换规格原因!");
                            }
                        }

                        int hggTime = dalChangeTime.Get_Time2(strLineID, modUp.C_SPEC, modelPlan.C_SPEC);//换规格时间

                        dtStart = Convert.ToDateTime(modUp.D_P_END_TIME).AddMinutes(hggTime);

                        if (!string.IsNullOrEmpty(strTime))
                        {
                            if (dtStart < Convert.ToDateTime(strTime))
                            {
                                dtStart = Convert.ToDateTime(strTime);
                            }
                        }
                    }

                    double cn = Convert.ToDouble(i_Wgt / Convert.ToDecimal(modelPlan.N_MACH_WGT.ToString()));
                    dtEnd = dtStart.AddHours(cn);//结束时间

                    #region TRP_PLAN_ROLL_ITEM赋值

                    Mod_TRP_PLAN_ROLL_ITEM_INFO modItemInfo = new Mod_TRP_PLAN_ROLL_ITEM_INFO();
                    modItemInfo.C_PLAN_ROLL_ID       = modelPlan.C_ID; //计划主表主键
                    modItemInfo.N_STATUS             = 1;              //已下发
                    modItemInfo.C_INITIALIZE_ITEM_ID = modelPlan.C_INITIALIZE_ITEM_ID;
                    modItemInfo.C_ORDER_NO           = modelPlan.C_ORDER_NO;
                    modItemInfo.N_WGT              = i_Wgt;//下发量
                    modItemInfo.C_MAT_CODE         = modelPlan.C_MAT_CODE;
                    modItemInfo.C_MAT_NAME         = modelPlan.C_MAT_NAME;
                    modItemInfo.C_TECH_PROT        = modelPlan.C_TECH_PROT;
                    modItemInfo.C_SPEC             = modelPlan.C_SPEC;
                    modItemInfo.C_STL_GRD          = modelPlan.C_STL_GRD;
                    modItemInfo.C_STD_CODE         = modelPlan.C_STD_CODE;
                    modItemInfo.N_USER_LEV         = modelPlan.N_USER_LEV;
                    modItemInfo.N_STL_GRD_LEV      = modelPlan.N_STL_GRD_LEV;
                    modItemInfo.N_ORDER_LEV        = modelPlan.N_ORDER_LEV;
                    modItemInfo.C_QUALIRY_LEV      = modelPlan.C_QUALIRY_LEV;
                    modItemInfo.D_NEED_DT          = modelPlan.D_NEED_DT;
                    modItemInfo.D_DELIVERY_DT      = modelPlan.D_DELIVERY_DT;
                    modItemInfo.D_DT               = modelPlan.D_DT;
                    modItemInfo.C_LINE_DESC        = modSta.C_STA_DESC;
                    modItemInfo.C_LINE_CODE        = modSta.C_STA_CODE;
                    modItemInfo.D_P_START_TIME     = dtStart; //计划开始时间
                    modItemInfo.D_P_END_TIME       = dtEnd;   //计划结束时间
                    modItemInfo.N_PROD_TIME        = modelPlan.N_PROD_TIME;
                    modItemInfo.N_SORT             = modelPlan.N_SORT;
                    modItemInfo.N_ROLL_PROD_WGT    = i_Wgt;//下发量
                    modItemInfo.C_ROLL_PROD_EMP_ID = modelPlan.C_ROLL_PROD_EMP_ID;
                    modItemInfo.C_STL_ROL_DT       = modelPlan.C_STL_ROL_DT;
                    modItemInfo.N_PROD_WGT         = modelPlan.N_PROD_WGT;
                    modItemInfo.N_WARE_WGT         = modelPlan.N_WARE_WGT;
                    modItemInfo.N_WARE_OUT_WGT     = modelPlan.N_WARE_OUT_WGT;
                    modItemInfo.N_FLAG             = modelPlan.N_FLAG;
                    modItemInfo.N_ISSUE_WGT        = i_Wgt;//下发量
                    modItemInfo.C_CUST_NO          = modelPlan.C_CUST_NO;
                    modItemInfo.C_CUST_NAME        = modelPlan.C_CUST_NAME;
                    modItemInfo.C_SALE_CHANNEL     = modelPlan.C_SALE_CHANNEL;
                    modItemInfo.C_PACK             = modelPlan.C_PACK;
                    modItemInfo.C_DESIGN_NO        = modelPlan.C_DESIGN_NO;
                    modItemInfo.N_GROUP_WGT        = modelPlan.N_GROUP_WGT;
                    modItemInfo.C_STA_ID           = modSta.C_ID;
                    modItemInfo.D_START_TIME       = modelPlan.D_START_TIME;
                    modItemInfo.D_END_TIME         = modelPlan.D_END_TIME;
                    modItemInfo.C_EMP_ID           = modelPlan.C_EMP_ID;
                    modItemInfo.D_MOD_DT           = RV.UI.ServerTime.timeNow();
                    modItemInfo.N_ROLL_WGT         = modelPlan.N_ROLL_WGT;
                    modItemInfo.N_MACH_WGT         = modelPlan.N_MACH_WGT;
                    modItemInfo.C_CAST_NO          = modelPlan.C_CAST_NO;
                    modItemInfo.C_INITIALIZE_ID    = modelPlan.C_INITIALIZE_ID;
                    modItemInfo.C_FREE_TERM        = modelPlan.C_FREE_TERM;
                    modItemInfo.C_FREE_TERM2       = modelPlan.C_FREE_TERM2;
                    modItemInfo.C_AREA             = modelPlan.C_AREA;
                    modItemInfo.C_PCLX             = modelPlan.C_PCLX;
                    modItemInfo.C_SFHL             = modelPlan.C_SFHL;
                    modItemInfo.D_HL_START_TIME    = modelPlan.D_HL_START_TIME;
                    modItemInfo.D_HL_END_TIME      = modelPlan.D_HL_END_TIME;
                    modItemInfo.C_SFHL_D           = modelPlan.C_SFHL_D;
                    modItemInfo.D_DHL_START_TIME   = modelPlan.D_DHL_START_TIME;
                    modItemInfo.D_DHL_END_TIME     = modelPlan.D_DHL_END_TIME;
                    modItemInfo.C_SFKP             = modelPlan.C_SFKP;
                    modItemInfo.D_KP_START_TIME    = modelPlan.D_KP_START_TIME;
                    modItemInfo.D_KP_END_TIME      = modelPlan.D_KP_END_TIME;
                    modItemInfo.C_SFXM             = modelPlan.C_SFXM;
                    modItemInfo.D_XM_START_TIME    = modelPlan.D_XM_START_TIME;
                    modItemInfo.D_XM_END_TIME      = modelPlan.D_XM_END_TIME;
                    modItemInfo.N_UPLOADSTATUS     = modelPlan.N_UPLOADSTATUS;
                    modItemInfo.C_MATRL_CODE_SLAB  = modelPlan.C_MATRL_CODE_KP.Trim() == "" ? modelPlan.C_MATRL_CODE_SLAB : modelPlan.C_MATRL_CODE_KP; //
                    modItemInfo.C_MATRL_NAME_SLAB  = modelPlan.C_MATRL_CODE_KP.Trim() == "" ? modelPlan.C_MATRL_NAME_SLAB : modelPlan.C_MATRL_NAME_KP; //
                    modItemInfo.C_SLAB_SIZE        = modelPlan.C_MATRL_CODE_KP.Trim() == "" ? modelPlan.C_SLAB_SIZE : modelPlan.C_KP_SIZE;             //
                    modItemInfo.N_SLAB_LENGTH      = modelPlan.C_MATRL_CODE_KP.Trim() == "" ? modelPlan.N_SLAB_LENGTH : modelPlan.N_KP_LENGTH;         //
                    modItemInfo.N_SLAB_PW          = modelPlan.C_MATRL_CODE_KP.Trim() == "" ? modelPlan.N_SLAB_PW : modelPlan.N_KP_PW;                 //
                    modItemInfo.D_CAN_ROLL_TIME    = modelPlan.D_CAN_ROLL_TIME;
                    modItemInfo.C_ROUTE            = modelPlan.C_ROUTE;
                    modItemInfo.N_DIAMETER         = modelPlan.N_DIAMETER;
                    modItemInfo.C_XM_YQ            = modelPlan.C_XM_YQ;
                    modItemInfo.N_JRL_WD           = modelPlan.N_JRL_WD;
                    modItemInfo.N_JRL_SJ           = modelPlan.N_JRL_SJ;
                    modItemInfo.C_STL_GRD_SLAB     = modelPlan.C_STL_GRD_SLAB;
                    modItemInfo.C_STD_CODE_SLAB    = modelPlan.C_STD_CODE_SLAB;
                    modItemInfo.C_REMARK           = strRemark;//换产线原因
                    modItemInfo.C_REMARK1          = "0";
                    modItemInfo.C_REMARK2          = modelPlan.C_REMARK2;
                    modItemInfo.C_REMARK3          = strHGG;//换规格原因
                    modItemInfo.C_REMARK4          = modelPlan.C_REMARK4;
                    modItemInfo.C_REMARK5          = modelPlan.C_REMARK5;


                    #endregion

                    if (!dal.Add_Trans(modItemInfo))
                    {
                        TransactionHelper.RollBack();
                        return("下发失败!");
                    }

                    //modelPlan.D_P_START_TIME = dtStart;
                    //modelPlan.D_P_END_TIME = dtEnd;

                    if (!dalTrpPlanRoll.Update_Trans(modelPlan))
                    {
                        TransactionHelper.RollBack();
                        return("下发失败!");
                    }
                }

                TransactionHelper.Commit();
                return(result);
            }
            catch
            {
                TransactionHelper.RollBack();
                return("下发失败!");
            }
        }
Esempio n. 19
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TRP_PLAN_ROLL model)
 {
     return(dal.Update(model));
 }
Esempio n. 20
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TRP_PLAN_ROLL model)
 {
     return(dal.Add(model));
 }
Esempio n. 21
0
        private void PLANADD(int item)
        {
            DataRow           dr                = gv_DDFA.GetDataRow(item);
            int               count             = bll_TRP_PLAN_ROLL.GetFACount("", "");//该方案下该工位计划数量
            Mod_TRP_PLAN_ROLL mod_TRP_PLAN_ROLL = new Mod_TRP_PLAN_ROLL();

            mod_TRP_PLAN_ROLL.N_SORT       = count + 1;
            mod_TRP_PLAN_ROLL.C_SPEC       = dr["C_SPEC"].ToString();
            mod_TRP_PLAN_ROLL.C_STD_CODE   = dr["C_STD_CODE"].ToString();
            mod_TRP_PLAN_ROLL.C_STL_GRD    = dr["C_STL_GRD"].ToString();
            mod_TRP_PLAN_ROLL.C_ORDER_NO   = dr["C_ORDER_NO"].ToString();
            mod_TRP_PLAN_ROLL.C_MAT_NAME   = dr["C_MAT_NAME"].ToString();
            mod_TRP_PLAN_ROLL.C_MAT_CODE   = dr["C_MAT_CODE"].ToString();
            mod_TRP_PLAN_ROLL.C_FREE_TERM  = dr["C_FREE1"].ToString();
            mod_TRP_PLAN_ROLL.C_FREE_TERM2 = dr["C_FREE2"].ToString();
            mod_TRP_PLAN_ROLL.N_WGT        = Convert.ToDecimal(dr["N_WGT"]);
            if (dr["C_LINE_NO"] == null || dr["C_LINE_NO"].ToString() == "")
            {
                MessageBox.Show(mod_TRP_PLAN_ROLL.C_STL_GRD + "未分配产线!");
                return;
            }
            mod_TRP_PLAN_ROLL.C_STA_ID = dr["C_LINE_NO"].ToString();

            if (txt_wgt1.Enabled == true)
            {
                mod_TRP_PLAN_ROLL.N_ROLL_PROD_WGT = Convert.ToDecimal(txt_wgt1.Text);
            }
            else
            {
                mod_TRP_PLAN_ROLL.N_ROLL_PROD_WGT = Convert.ToDecimal(dr["N_WGT"]) - Convert.ToDecimal(dr["N_ROLL_PROD_WGT"]);
            }
            if (mod_TRP_PLAN_ROLL.N_WGT <= 0)
            {
                return;
            }
            if (count > 0)
            {
                DataTable bdt = bll_TRP_PLAN_ROLL.GetList(Convert.ToInt32(mod_TRP_PLAN_ROLL.N_SORT - 1), "", mod_TRP_PLAN_ROLL.C_STA_ID).Tables[0];
                if (bdt.Rows.Count > 0)
                {
                    DateTime enddt = Convert.ToDateTime(bdt.Rows[0]["D_P_END_TIME"]);//上一计划结束时间

                    DataTable hggdt = bll_TPB_CHANGESPEC_TIME.GetList(1, mod_TRP_PLAN_ROLL.C_STA_ID, bdt.Rows[0]["C_SPEC"].ToString(), mod_TRP_PLAN_ROLL.C_SPEC).Tables[0];

                    if (hggdt.Rows.Count > 0)
                    {
                        mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt.AddMinutes(Convert.ToDouble(hggdt.Rows[0]["N_TIME"]));
                    }
                    else
                    {
                        mod_TRP_PLAN_ROLL.D_P_START_TIME = enddt;
                    }
                }
            }
            else
            {
                mod_TRP_PLAN_ROLL.D_P_START_TIME = RV.UI.ServerTime.timeNow();
            }

            int cn = 0;

            if (!string.IsNullOrEmpty(dr["N_MACH_WGT"].ToString()))
            {
                cn = Convert.ToInt32(dr["N_MACH_WGT"].ToString());
            }

            if (cn == 0)
            {
                cn = 50;
            }

            double   db = Convert.ToDouble(mod_TRP_PLAN_ROLL.N_WGT) / Convert.ToDouble(cn);
            DateTime dt = Convert.ToDateTime(mod_TRP_PLAN_ROLL.D_P_START_TIME);

            dt = dt.AddHours(Convert.ToDouble(db));
            mod_TRP_PLAN_ROLL.D_P_END_TIME = dt;

            Mod_TMO_ORDER modOrder = bll_order.GetModelByORDERNO(dr["C_ORDER_NO"].ToString());

            modOrder.N_ROLL_PROD_WGT = Convert.ToDecimal(dr["N_WGT"]);

            bll_order.Update(modOrder);

            bll_TRP_PLAN_ROLL.Add(mod_TRP_PLAN_ROLL);//变更计划表
        }
Esempio n. 22
0
        private void btn_change_date_Click(object sender, EventArgs e)
        {
            if (this.dtp_d_plan_date.Text.Trim() == "" || this.dtp_d_need_date.Text.Trim() == "")
            {
                MessageBox.Show("请输入要修改的日期!");
                this.dtp_d_plan_date.Focus();
                return;
            }
            string cou = lst.Where(a => a.B_check).ToList().Count.ToString();

            if (DialogResult.Yes == MessageBox.Show("是否确认修改选中订单的计划日期和需求日期?\r\n选中订单数量:" + cou + " 条!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
            {
                int updatenum = 0;
                #region 方法
                WaitingFrom.ShowWait("计划正在修改,请稍候...");
                if (lst.Count > 0)
                {
                    if (lst.Where(a => a.B_check).ToList().Count > 0)
                    {
                        for (int i = 0; i < lst.Count; i++)
                        {
                            if (lst[i].B_check)
                            {
                                string strdfrom = lst[i].D_PCTBTS.ToString();
                                string strdend  = lst[i].D_NEED_DT.ToString();
                                if (lst[i].D_OLD_DATE == null)
                                {
                                    lst[i].D_OLD_DATE = lst[i].D_PCTBTS;
                                }
                                if (lst[i].D_OLD_NEED_DATE == null)
                                {
                                    lst[i].D_OLD_NEED_DATE = lst[i].D_NEED_DT;
                                }
                                lst[i].D_PCTBTS    = Convert.ToDateTime(this.dtp_d_plan_date.Text);
                                lst[i].D_NEED_DT   = Convert.ToDateTime(this.dtp_d_need_date.Text);
                                lst[i].D_SC_MOD_DT = RV.UI.ServerTime.timeNow();
                                bll_order.Update(lst[i]);

                                DataTable dtroll_plan = bll_trp_paln.GetListByOrderID(lst[i].C_ID).Tables[0];
                                if (dtroll_plan.Rows.Count > 0)
                                {
                                    for (int j = 0; j < dtroll_plan.Rows.Count; j++)
                                    {
                                        Mod_TRP_PLAN_ROLL modtrp_roll = bll_trp_paln.GetModel(dtroll_plan.Rows[j]["C_ID"].ToString());
                                        modtrp_roll.D_DT      = Convert.ToDateTime(this.dtp_d_plan_date.Text);
                                        modtrp_roll.D_NEED_DT = Convert.ToDateTime(this.dtp_d_need_date.Text);
                                        bll_trp_paln.Update(modtrp_roll);
                                    }
                                }
                                DataTable dtroll_item = bll_trp_plan_item.GetListByOrderID(lst[i].C_ID);
                                if (dtroll_item.Rows.Count > 0)
                                {
                                    for (int j = 0; j < dtroll_item.Rows.Count; j++)
                                    {
                                        Mod_TRP_PLAN_ROLL_ITEM modtrp_roll_item = bll_trp_plan_item.GetModel(dtroll_item.Rows[j]["C_ID"].ToString());
                                        modtrp_roll_item.D_DT      = Convert.ToDateTime(this.dtp_d_plan_date.Text);
                                        modtrp_roll_item.D_NEED_DT = Convert.ToDateTime(this.dtp_d_need_date.Text);
                                        bll_trp_plan_item.Update(modtrp_roll_item);
                                    }
                                }
                                updatenum = updatenum + 1;
                                Mod_TMO_ORDER_PJ_LOG modlog = new Mod_TMO_ORDER_PJ_LOG();
                                modlog.C_EMP_ID   = RV.UI.UserInfo.userID;
                                modlog.C_ORDER_NO = lst[i].C_ORDER_NO;
                                modlog.C_TYPE     = "调整计划日期";
                                modlog.C_RESULT   = "调整计划日期到:" + lst[i].D_PCTBTS.ToString() + ";调整计划需求日期到:" + lst[i].D_NEED_DT.ToString();
                                modlog.C_MSG      = "计划原日期:" + strdfrom + ";计划原需求日期:" + strdend;
                                bll_ddpj.Add(modlog);
                            }
                        }
                    }
                    MessageBox.Show("调整成功:" + updatenum.ToString() + "!");
                }
                WaitingFrom.CloseWait();
                #endregion
            }

            btn_query_order_Click(null, null);
        }