/// <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()); } }
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); } }
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) { } }
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(); }
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("撤销失败!"); } }
/// <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); }
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); }
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) { } }
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); } }
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); }
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); }
/// <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()); } }
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)); }
/// <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("撤销失败!"); } }
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("下发失败!"); } }
/// <summary> /// 更新一条数据 /// </summary> public bool Update(Mod_TRP_PLAN_ROLL model) { return(dal.Update(model)); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(Mod_TRP_PLAN_ROLL model) { return(dal.Add(model)); }
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);//变更计划表 }
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); }