Exemplo n.º 1
0
        private void btn_SXHLSJ_Click(object sender, EventArgs e)
        {
            WaitingFrom.ShowWait("");
            DataTable dt = bll.GetListByXM("", "不锈钢").Tables[0];

            foreach (DataRow item in dt.Rows)
            {
                Mod_TSP_PLAN_SMS mod = bll.GetModel(item["C_ID"].ToString());
                if (mod.C_HL == "Y")
                {
                    if (mod.D_KP_END_TIME == null)
                    {
                        mod.D_HL_START_TIME = Convert.ToDateTime(mod.D_P_END_TIME).AddHours(2);
                        mod.D_HL_END_TIME   = Convert.ToDateTime(mod.D_HL_START_TIME).AddHours(Convert.ToDouble(mod.N_HL_TIME));
                    }
                    else
                    {
                        mod.D_HL_START_TIME = Convert.ToDateTime(mod.D_KP_END_TIME).AddHours(2);
                        mod.D_HL_END_TIME   = Convert.ToDateTime(mod.D_HL_START_TIME).AddHours(Convert.ToDouble(mod.N_HL_TIME));
                    }

                    bll.Update(mod);
                }
            }
            WaitingFrom.CloseWait();
            BindInfo();
        }
Exemplo n.º 2
0
        private void btn_lc_down_Click(object sender, EventArgs e)
        {
            try
            {
                int rowIndex = this.gridView2.FocusedRowHandle;
                if (rowIndex == 0)
                {
                    MessageBox.Show("已经是最后一行了!", "提示");
                    return;
                }
                int A = Convert.ToInt32(gridView2.GetRowCellValue(rowIndex, "N_SORT").ToString());//获取当前行的序号

                gridView2.SetRowCellValue(rowIndex + 1, "N_SORT", A);
                gridView2.SetRowCellValue(rowIndex, "N_SORT", A + 1);
                #region 保存当前排序
                for (int i = 0; i < gridView2.RowCount; i++)
                {
                    Mod_TSP_PLAN_SMS modpx = bll_lcjh.GetModel(gridView2.GetRowCellValue(i, "C_ID").ToString());
                    modpx.N_SORT = Convert.ToInt32(gridView2.GetRowCellValue(i, "N_SORT").ToString());
                    bll_lcjh.Update(modpx);
                }
                WaitingFrom.ShowWait("");
                gridView1_Click(null, null);
                WaitingFrom.CloseWait();
                #endregion
                this.gridView2.SelectRow(rowIndex + 1);
                this.gridView2.FocusedRowHandle = rowIndex + 1;
            }
            catch (Exception)
            {
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 撤回开坯计划
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_canale_Click(object sender, EventArgs e)
 {
     WaitingFrom.ShowWait("计划正在撤回,请稍候...");
     int[] rownumber = this.gv_KPZPJH.GetSelectedRows();//获取选中行号数组;
     for (int i = 0; i < rownumber.Length; i++)
     {
         int    selectedHandle    = rownumber[i];
         string c_id              = gv_KPZPJH.GetRowCellValue(selectedHandle, "C_ID").ToString();
         Mod_TRP_PLAN_COGDOWN mod = bll_kp.GetModel(c_id);
         if (mod.N_STATUS == 1 && mod.N_GROUP_WGT == 0)
         {
             string           order_id = mod.C_ORDER_NO;
             Mod_TSP_PLAN_SMS mod_sms  = bll_sms.GetModel(order_id);
             if (mod_sms != null)
             {
                 mod_sms.N_CREAT_ZG_PLAN = 0;
                 bll_sms.Update(mod_sms);
                 bll_kp.Delete(c_id);
             }
         }
     }
     WaitingFrom.CloseWait();
     btn_query_zg_Click(null, null);
     btn_query_kpplan_Click(null, null);
 }
Exemplo n.º 4
0
        /// <summary>
        /// 明细顺序修改
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Update_Click(object sender, EventArgs e)
        {
            try
            {
                if (DialogResult.No == MessageBox.Show("是否确认修改?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }

                DataRow dr    = this.gv_JCMX.GetDataRow(this.gv_JCMX.FocusedRowHandle);
                string  stype = "";
                if (Convert.ToInt32(cbo_SCSX.Text.ToString()) > Convert.ToInt32(dr["N_SORT"].ToString()))
                {
                    stype = "0";
                }
                else
                {
                    stype = "1";
                }
                bll_tsp_plan.Update_SX(dr["C_ID"].ToString(), dr["C_CAST_NO"].ToString(), Convert.ToInt32(cbo_SCSX.Text.ToString()), Convert.ToInt32(dr["N_SORT"].ToString()), stype);
                Mod_TSP_PLAN_SMS mod = bll_tsp_plan.GetModel(dr["C_ID"].ToString());
                mod.N_SORT = Convert.ToInt32(cbo_SCSX.Text.ToString());
                bll_tsp_plan.Update(mod);
                gv_SJXX_FocusedRowChanged(null, null);
                MessageBox.Show("修改成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
 private void btn_save_lc_Click(object sender, EventArgs e)
 {
     //
     WaitingFrom.ShowWait("正在保存,请稍后...");
     if (sms_plan.Count > 0)
     {
         for (int i = 0; i < sms_plan.Count; i++)
         {
             DataTable dtdown = bll_plan_sms.GetDownPlan(sms_plan[i].C_ID);
             if (dtdown.Rows.Count == 0)
             {
                 int maxsort            = bll_plan_sms.GetMaxSortYXMES(sms_plan[i].C_CCM_ID);
                 Mod_TSP_PLAN_SMS modlc = bll_plan_sms.GetModel(sms_plan[i].C_ID);
                 if (sms_plan[i].N_CREAT_PLAN < 3 && modlc.N_CREAT_PLAN == sms_plan[i].N_CREAT_PLAN)//没有下发MES并状态和数据库状态一致才能修改
                 {
                     if (maxsort < sms_plan[i].N_SORT)
                     {
                         bll_plan_sms.Update(sms_plan[i]);
                     }
                 }
             }
         }
         MessageBox.Show("数据已保存!");
     }
     WaitingFrom.CloseWait();
 }
Exemplo n.º 6
0
        private void btn_save_Click(object sender, EventArgs e)
        {
            WaitingFrom.ShowWait("");
            DateTime st   = dt_KSSJ.DateTime;
            DateTime time = dt_KSSJ.DateTime;

            for (int i = 0; i < lst.Count; i++)
            {
                Mod_TSP_PLAN_SMS mod = bll.GetModel(lst[i].C_ID);
                mod.N_XM_SORT       = i + 1;
                mod.D_XM_START_TIME = lst[i].D_XM_START_TIME;
                if (Convert.ToDateTime(mod.D_XM_CAN_START_TIME) > mod.D_XM_START_TIME)
                {
                    MessageBox.Show("序号(" + lst[i].N_XM_SORT + ")" + "修磨开始时间不能在钢坯可修磨时间之前");
                    return;
                }
                //if (mod.C_HL == "N")
                //{
                //    if (mod.D_KP_END_TIME == null)
                //    {
                //        if (Convert.ToDateTime(mod.D_P_END_TIME).AddHours(26) > mod.D_XM_START_TIME)
                //        {
                //            MessageBox.Show("序号(" + lst[i].N_XM_SORT + ")" + "修磨开始时间不能在连铸生产时间后26小时之前");
                //            return;
                //        }
                //    }
                //    else
                //    {
                //        if (Convert.ToDateTime(mod.D_KP_END_TIME).AddHours(26) > mod.D_XM_START_TIME)
                //        {
                //            MessageBox.Show( ",序号(" + lst[i].N_XM_SORT + ")" + "修磨开始时间不能在开坯结束时间后26小时之前");
                //            return;
                //        }
                //    }
                //}
                //else
                //{
                //    if (Convert.ToDateTime(mod.D_HL_END_TIME).AddHours(2) > mod.D_XM_START_TIME)
                //    {
                //        MessageBox.Show(",序号(" + lst[i].N_XM_SORT + ")" + "修磨时间不能在热轧坯缓冷结束时间后2个小时之前");
                //        return;
                //    }
                //}
                //double sl = Convert.ToDouble(lst[i].N_SLAB_WGT) / 16.7;
                //lst[i].D_XM_END_TIME = Convert.ToDateTime(lst[i].D_XM_START_TIME).AddHours(sl);
                //time = Convert.ToDateTime(mod.D_XM_END_TIME);
                mod.D_XM_END_TIME = lst[i].D_XM_END_TIME;
                bll.Update(mod);
            }
            string result = bll.P_SLAB_CAN_USETIMEG();

            BindInfo();
            WaitingFrom.CloseWait();
        }
 /// <summary>
 /// 保存编辑的炉次计划
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnSaveLcPlan_Click(object sender, EventArgs e)
 {
     if (sms_plan == null)
     {
         return;
     }
     for (int i = 0; i < sms_plan.Count; i++)
     {
         Mod_TSP_PLAN_SMS mod = sms_plan[i];
         bll_plan_sms.Update(mod);
     }
     MessageBox.Show("计划已保存!");
 }
Exemplo n.º 8
0
 /// <summary>
 ///删除炉次计划
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_delete_lc_Click(object sender, EventArgs e)
 {
     if (DialogResult.Yes == MessageBox.Show("是否确定删除当前选中的炉次计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
     {
         int rowIndex = this.gridView2.FocusedRowHandle;
         if (rowIndex >= 0)
         {
             string           C_ID       = gridView2.GetRowCellValue(rowIndex, "C_ID").ToString(); //获取当前行的序号
             Mod_TSP_PLAN_SMS moddq      = bll_lcjh.GetModel(C_ID);
             string           C_CCM_ID   = moddq.C_CCM_ID;                                         // gridView2.GetRowCellValue(rowIndex, "C_CCM_ID").ToString();
             string           C_STL_GRD  = moddq.C_STL_GRD;                                        // gridView2.GetRowCellValue(rowIndex, "C_STL_GRD").ToString();
             string           C_STD_CODE = moddq.C_STD_CODE;                                       // gridView2.GetRowCellValue(rowIndex, "C_STD_CODE").ToString();
             string           C_CAST_NO  = moddq.C_CAST_NO;                                        // gridView2.GetRowCellValue(rowIndex, "C_CAST_NO").ToString();
             int n_sort = Convert.ToInt32(moddq.N_SORT);                                           //当前行的序号
             //判断当前选中的炉次计划能否删除
             string C_STATUS = moddq.C_STATE;                                                      // gridView1.GetRowCellValue(rowIndex, "C_STATE").ToString();//判断当前选中炉次计划是否是有订单计划 0 有
             // T.N_CREAT_PLAN < 2
             if (Convert.ToInt32(moddq.N_CREAT_PLAN) == 2)
             {
                 MessageBox.Show("计划炼钢已经排产!");
                 return;
             }
             if (C_STATUS == "1")//没有订单的炉次计划
             {
                 bll_lcjh.Delete(C_ID);
                 bll_lcjh.UpdateSort(C_CCM_ID, n_sort - 1);
             }
             else//有订单的炉次计划
             {
                 DataTable dtjc = bll_lcjh.GetWPLC(C_CCM_ID, C_STL_GRD, C_STD_CODE, n_sort, C_CAST_NO);//查找是否有没有订单的炉次计划
                 if (dtjc.Rows.Count > 0)
                 {
                     Mod_TSP_PLAN_SMS mod1 = bll_lcjh.GetModel(dtjc.Rows[0]["C_ID"].ToString());//将需要置换的炉次获取
                     moddq.N_SORT               = mod1.N_SORT;
                     moddq.C_CAST_NO            = mod1.C_CAST_NO;
                     moddq.C_INITIALIZE_ITEM_ID = mod1.C_INITIALIZE_ITEM_ID;
                     bll_lcjh.Update(moddq);
                     bll_lcjh.Delete(dtjc.Rows[0]["C_ID"].ToString());
                     bll_lcjh.UpdateSort(C_CCM_ID, n_sort - 1);
                 }
                 else
                 {
                     MessageBox.Show("当前炉次计划有生产订单,不能单独删除!");
                 }
             }
             WaitingFrom.ShowWait("");
             btn_query_Click(null, null);
             WaitingFrom.CloseWait();
         }
     }
 }
Exemplo n.º 9
0
 private void btn_QR_Click(object sender, EventArgs e)
 {
     WaitingFrom.ShowWait("");
     int[] row = gv_GP.GetSelectedRows();
     foreach (var item in row)
     {
         string           id  = gv_GP.GetRowCellValue(item, "C_ID").ToString();
         Mod_TSP_PLAN_SMS mod = bll.GetModel(id);
         mod.C_KP_ID = cbo_KP.EditValue.ToString();
         bll.Update(mod);
     }
     MessageBox.Show("确认成功");
     WaitingFrom.CloseWait();
     BindInfo();
 }
Exemplo n.º 10
0
 private void btn_tz_dd_Click(object sender, EventArgs e)
 {
     WaitingFrom.ShowWait("");
     int[] row = gv_GP.GetSelectedRows();
     foreach (var item in row)
     {
         string           id  = gv_GP.GetRowCellValue(item, "C_ID").ToString();
         Mod_TSP_PLAN_SMS mod = bll.GetModel(id);
         mod.C_XM_ID = this.cbo_xmdd2.Text.Trim();
         bll.Update(mod);
     }
     MessageBox.Show("计划修磨地点已调整!");
     WaitingFrom.CloseWait();
     BindInfo();
 }
Exemplo n.º 11
0
 private void btn_bcGZ_Click(object sender, EventArgs e)
 {
     WaitingFrom.ShowWait("");
     int[] row = gv_GP.GetSelectedRows();
     foreach (var item in row)
     {
         string           id  = gv_GP.GetRowCellValue(item, "C_ID").ToString();
         Mod_TSP_PLAN_SMS mod = bll.GetModel(id);
         mod.C_BXGGZ = icbo_xm.Properties.Items[this.icbo_xm.SelectedIndex].Value.ToString();
         bll.Update(mod);
     }
     MessageBox.Show("已成功修改计划修磨要求!");
     WaitingFrom.CloseWait();
     this.icbo_xm.SelectedIndex = 0;
     BindInfo();
 }
Exemplo n.º 12
0
        private DateTime UpSort(int sort, DataTable dt, DateTime date)
        {
            Mod_TSP_PLAN_SMS mod = bll.GetModel(dt.Rows[0]["C_ID"].ToString());

            mod.N_KP_SORT       = sort;
            mod.N_SFKPPC        = 1;
            mod.D_KP_START_TIME = date;
            if (mod.D_KP_CAN_START_TIME > mod.D_KP_START_TIME)
            {
                mod.D_KP_START_TIME = mod.D_KP_CAN_START_TIME;
            }
            decimal sl = Convert.ToDecimal(mod.N_SLAB_WGT) / 114;

            mod.D_KP_END_TIME = Convert.ToDateTime(mod.D_KP_START_TIME).AddHours(Convert.ToDouble(sl));
            bll.Update(mod);
            return(Convert.ToDateTime(mod.D_KP_END_TIME));
        }
Exemplo n.º 13
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Seave_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(btnEdit_STL.Text.Trim()))
            {
                MessageBox.Show("请选择钢种!");
                return;
            }
            if (string.IsNullOrEmpty(icbo_lz3.Text.Trim()))
            {
                MessageBox.Show("请选择连铸!");
                return;
            }
            try
            {
                Mod_TSP_CAST_PLAN mod       = new Mod_TSP_CAST_PLAN();
                DataTable         dt_Max    = bll_cast_plan.GetList_Max(icbo_lz3.EditValue.ToString()).Tables[0];
                Mod_TB_MATRL_MAIN mod_matrl = bll_matrl.GetModel(str_ID);
                mod.C_CCM_ID   = icbo_lz3.EditValue.ToString();
                mod.C_CCM_CODE = icbo_lz3.Text.Trim();
                int group_max = 0;
                int sort_max  = 0;
                if (dt_Max.Rows[0]["GROUP_MAX"].ToString() == "")
                {
                    group_max = 1;
                }
                else
                {
                    group_max = (Convert.ToInt32(dt_Max.Rows[0]["GROUP_MAX"].ToString()) + 1);
                }
                if (dt_Max.Rows[0]["SORT_MAX"].ToString() == "")
                {
                    sort_max = 1;
                }
                else
                {
                    sort_max = (Convert.ToInt32(dt_Max.Rows[0]["SORT_MAX"].ToString()) + 1);
                }
                mod.C_ID        = System.Guid.NewGuid().ToString();
                mod.N_GROUP     = group_max;
                mod.N_TOTAL_WGT = Convert.ToInt32(txt_ZJCLS.Text.Trim());
                mod.N_ZJCLS     = Convert.ToInt32(txt_ZJCLS.Text.Trim());
                mod.N_ZJCLZL    = Convert.ToInt32(txt_ZJCLS.Text.Trim()) * 77;
                mod.N_MLZL      = 77;
                mod.N_SORT      = sort_max;
                mod.C_STL_GRD   = btnEdit_STL.Text.Trim();
                mod.N_JSCN      = 144;
                DataTable dt_SWL = bll_endtoend.GetSWLSteel(btnEdit_STL.Text.Trim(), txt_STD.Text.Trim(), "");
                if (dt_SWL.Rows.Count != 0)
                {
                    mod.C_BY1 = dt_SWL.Rows[0]["C_B_E_STOVE_STEEL"].ToString() + "`" + dt_SWL.Rows[0]["C_BORDER_STD_CODE"].ToString();
                }
                mod.C_BY2      = "";
                mod.C_BY3      = "";
                mod.C_STD_CODE = txt_STD.Text.Trim();
                if (icbo_lz3.Text == "5#铸机" || icbo_lz3.Text == "7#铸机")
                {
                    mod.C_SLAB_TYPE = "大方坯";
                }
                else
                {
                    mod.C_SLAB_TYPE = "小方坯";
                }

                mod.C_STL_GRD_TYPE = mod_matrl.C_PROD_KIND;
                mod.C_PROD_NAME    = mod_matrl.C_PROD_NAME;
                mod.C_REMARK       = btnEdit_STL.Text.Trim() + "`" + txt_STD.Text.Trim();

                DataTable dtgylx = bll_gylx.GetGYLX(mod.C_STL_GRD, mod.C_STD_CODE, "");
                if (dtgylx.Rows.Count > 0)
                {
                    if (dtgylx.Rows[0]["C_ROUTE_DESC"].ToString().Contains("RH"))
                    {
                        mod.C_RH = "Y";
                    }
                    else
                    {
                        mod.C_RH = "N";
                    }

                    if (dtgylx.Rows[0]["C_ROUTE_DESC"].ToString().Contains("XM"))
                    {
                        mod.C_XM = "Y";
                    }
                    else
                    {
                        mod.C_XM = "N";
                    }
                    if (dtgylx.Rows[0]["C_ROUTE_DESC"].ToString().Contains("DHL"))
                    {
                        mod.C_DFP_HL = "Y";
                    }
                    else
                    {
                        mod.C_DFP_HL = "N";
                    }
                    if (dtgylx.Rows[0]["C_ROUTE_DESC"].ToString().Contains("HL"))
                    {
                        mod.C_HL = "Y";
                    }
                    else
                    {
                        mod.C_HL = "N";
                    }
                    if (dtgylx.Rows[0]["C_ROUTE_DESC"].ToString().Contains("TL"))
                    {
                        mod.C_TL = "Y";
                    }
                    else
                    {
                        mod.C_TL = "N";
                    }
                }
                if (bll_cast_plan.Add(mod))
                {
                    for (int l = 0; l < Convert.ToInt32(txt_ZJCLS.Text.Trim()); l++)
                    {
                        Mod_TSP_PLAN_SMS mod_add_lc2 = new Mod_TSP_PLAN_SMS();
                        mod_add_lc2.C_ID          = System.Guid.NewGuid().ToString();
                        mod_add_lc2.C_FK          = mod.C_ID;
                        mod_add_lc2.N_SORT        = l;
                        mod_add_lc2.C_STATE       = "1";
                        mod_add_lc2.C_STL_GRD     = mod.C_STL_GRD;
                        mod_add_lc2.C_STD_CODE    = mod.C_STD_CODE;
                        mod_add_lc2.C_CCM_ID      = mod.C_CCM_ID;
                        mod_add_lc2.C_CCM_DESC    = mod.C_CCM_CODE;
                        mod_add_lc2.N_SLAB_WGT    = mod.N_MLZL;
                        mod_add_lc2.C_SLAB_SIZE   = mod_matrl.C_SLAB_SIZE;
                        mod_add_lc2.C_SLAB_LENGTH = mod_matrl.N_LTH.ToString();
                        mod_add_lc2.N_JC_SORT     = mod.N_SORT;
                        mod_add_lc2.C_BY1         = mod.C_BY1;
                        mod_add_lc2.C_ROUTE       = txt_GYLX.Text.Trim();
                        mod_add_lc2.C_FREE1       = txt_ZYX1.Text.Trim();
                        mod_add_lc2.C_FREE2       = txt_ZYX2.Text.Trim();
                        mod_add_lc2.C_RH          = mod.C_RH;
                        mod_add_lc2.C_DFP_HL      = mod.C_DFP_HL;
                        mod_add_lc2.C_HL          = mod.C_HL;
                        mod_add_lc2.C_XM          = mod.C_XM;
                        mod_add_lc2.C_TL          = mod.C_TL;
                        mod_add_lc2.C_BY2         = "手动添加";
                        bll_Plan_SMS.Add(mod_add_lc2);
                    }
                }

                MessageBox.Show("添加成功!");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 14
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TSP_PLAN_SMS model)
 {
     return(dal.Add(model));
 }
Exemplo n.º 15
0
        /// <summary>
        /// 添加炼钢计划
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Save2_Click(object sender, EventArgs e)
        {
            try
            {
                if (DialogResult.No == MessageBox.Show("是否确认添加计划?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }

                string user_id = RV.UI.UserInfo.userID;

                for (int i = 0; i < dt_Group.Rows.Count; i++)
                {
                    DataRow dr = dt_Group.Rows[i];

                    string strLS = dr["整浇次炉数"].ToString();//浇次炉数

                    if (string.IsNullOrEmpty(strLS))
                    {
                        MessageBox.Show("没查到符合条件的浇次炉数信息,不能安排生产计划!");
                        return;
                    }

                    double d_WGT = Convert.ToDouble(dr["整浇次重量"].ToString()) / Convert.ToDouble(strLS);//炉次重量

                    if (d_WGT <= 0)
                    {
                        MessageBox.Show("没查到符合条件的炉次重量,不能安排生产计划!");
                        return;
                    }

                    double jc_wgt = Convert.ToDouble(dr["整浇次重量"].ToString()); //浇次理论总重量
                    int    jc_num = Convert.ToInt32(dr["排产浇次数"].ToString());  //可以排整浇次数

                    string str_CC_ID = dr["连铸主键"].ToString();

                    for (int kk = 0; kk < jc_num; kk++)
                    {
                        int sort_plan = 1;

                        int cast_sort = bll_TPP_CAST.GetMaxSort(str_CC_ID) + 1; //该方案下浇次顺序号

                        string cast_no = bll_TPP_CAST.GetMaxCastNo(str_CC_ID);  //获取最大浇次号
                        if (cast_no == "0")
                        {
                            cast_no = DateTime.Now.ToString("yyyyMMdd") + bll_TB_STA.Get_STA_CODE(str_CC_ID).Substring(0, 1) + "00001";
                        }
                        else
                        {
                            cast_no = (Convert.ToInt64(cast_no) + 1).ToString();
                        }

                        #region 浇次计划主表信息

                        Mod_TPP_CAST modCast = new Mod_TPP_CAST();
                        modCast.C_CAST_NO  = cast_no;                   //浇次号
                        modCast.C_CAST_LS  = strLS;                     //浇次炉数
                        modCast.N_CAST_WGT = Convert.ToDecimal(jc_wgt); //浇次总重量
                        modCast.N_SORT     = cast_sort;                 //生产顺序
                        modCast.C_CCM_ID   = str_CC_ID;                 //铸机号主键
                        modCast.N_SFZJC    = 1;
                        bll_TPP_CAST.Add(modCast);

                        #endregion

                        for (int mm = 0; mm < Convert.ToInt32(strLS); mm++)
                        {
                            Mod_TMO_ORDER mod_Order = bll_TMO_ORDER.Get_PC_ORDER(dr["组号"].ToString());
                            if (mod_Order == null)
                            {
                                break;
                            }

                            string str_PLAN_SMS_ID = bll_TSP_PLAN_SMS.GetMax_PlanID();
                            if (str_PLAN_SMS_ID == "0")
                            {
                                str_PLAN_SMS_ID = DateTime.Now.ToString("yyyyMM") + "00001";
                            }
                            else
                            {
                                str_PLAN_SMS_ID = (Convert.ToInt64(str_PLAN_SMS_ID) + 1).ToString();
                            }

                            Mod_TSP_PLAN_SMS modTspPlanSms = new Mod_TSP_PLAN_SMS();
                            //modTspPlanSms.C_PLAN_SMS_ID = str_PLAN_SMS_ID;//计划号
                            modTspPlanSms.C_CAST_NO  = cast_no;
                            modTspPlanSms.N_SORT     = sort_plan;
                            modTspPlanSms.C_CCM_ID   = str_CC_ID;
                            modTspPlanSms.C_CCM_DESC = dr["连铸"].ToString();
                            modTspPlanSms.C_STD_CODE = dr["连铸代码"].ToString();
                            modTspPlanSms.C_STL_GRD  = dr["C_STL_GRD"].ToString();
                            //modTspPlanSms.N_WGT_PROD = Convert.ToDecimal(d_WGT);
                            modTspPlanSms.C_ORDER_NO = mod_Order.C_ORDER_NO;
                            modTspPlanSms.C_EMP_ID   = user_id;

                            string strEndTime = RV.UI.ServerTime.timeNow().ToString();

                            if (sort_plan == 1)
                            {
                                Mod_TPP_CAST modCastOld = bll_TPP_CAST.GetModel((cast_sort - 1).ToString(), str_CC_ID);

                                if (modCastOld != null)
                                {
                                    strEndTime = bll_TSP_PLAN_SMS.Get_EndTime(modCastOld.C_CAST_NO, modCastOld.C_CAST_LS);
                                    if (strEndTime == "0")
                                    {
                                        strEndTime = RV.UI.ServerTime.timeNow().ToString();
                                    }
                                }
                            }
                            else
                            {
                                strEndTime = bll_TSP_PLAN_SMS.Get_EndTime(cast_no, (sort_plan - 1).ToString());
                                if (strEndTime == "0")
                                {
                                    strEndTime = RV.UI.ServerTime.timeNow().ToString();
                                }
                            }

                            modTspPlanSms.D_P_START_TIME = Convert.ToDateTime(strEndTime);

                            double scTime = Convert.ToDouble(d_WGT) / Convert.ToDouble(dr["机时产能"].ToString());
                            modTspPlanSms.D_P_END_TIME = Convert.ToDateTime(modTspPlanSms.D_P_START_TIME).AddHours(scTime);

                            bll_TSP_PLAN_SMS.Add(modTspPlanSms);

                            decimal dec_Wgt = Convert.ToDecimal(mod_Order.N_WGT - mod_Order.N_SLAB_MATCH_WGT - mod_Order.N_SMS_PROD_WGT);



                            ////判断计划是否需要跨订单
                            //if (dec_Wgt >= 0)
                            //{
                            //    mod_Order.N_SMS_PROD_WGT = Convert.ToDecimal(d_WGT);
                            //    bll_TMO_ORDER.Update(mod_Order);//变更订单排产重量

                            //    #region 添加计划明细
                            //    Mod_TSP_PLAN_SMS_ITEM mod_plan_sms_item = new Mod_TSP_PLAN_SMS_ITEM();
                            //    mod_plan_sms_item.C_PRODUCTION_PLAN_ID = dr["C_ID"].ToString();
                            //    mod_plan_sms_item.C_PLAN_SMS_ID = mod_TSP_PLAN_SMS.C_PLAN_SMS_ID;//计划号
                            //    mod_plan_sms_item.N_WGT = mod_TSP_PLAN_SMS.N_WGT_PROD;//计划重量
                            //    mod_plan_sms_item.C_EMP_ID = user_id;
                            //    bll_TSP_PLAN_SMS_MAIN.Add(mod_plan_sms_item);
                            //    #endregion
                            //}
                            //else
                            //{
                            //    Mod_TPP_INITIALIZE_ORDER mod_TPPINITIALIZEORDER = bll_ini_order.GetModel(dr["C_ID"].ToString());

                            //    mod_TPPINITIALIZEORDER.N_SMS_PROD_WGT = mod_TPPINITIALIZEORDER.N_WGT;

                            //    if (mod_TPPINITIALIZEORDER.N_SMS_PROD_WGT >= 0)
                            //    {
                            //        mod_TPPINITIALIZEORDER.N_LGPC_STATUS = 1;
                            //    }

                            //    bll_ini_order.Update(mod_TPPINITIALIZEORDER);//变更方案计划表数据
                            //    #region 添加计划明细
                            //    Mod_TSP_PLAN_SMS_ITEM mod_plan_sms_item1 = new Mod_TSP_PLAN_SMS_ITEM();
                            //    mod_plan_sms_item1.C_PRODUCTION_PLAN_ID = dr["C_ID"].ToString();
                            //    mod_plan_sms_item1.C_PLAN_SMS_ID = mod_TSP_PLAN_SMS.C_PLAN_SMS_ID;//计划号
                            //    mod_plan_sms_item1.N_WGT = Convert.ToDecimal(dd_wgt + d_WGT);//计划重量
                            //    mod_plan_sms_item1.C_EMP_ID = user_id;
                            //    bll_TSP_PLAN_SMS_MAIN.Add(mod_plan_sms_item1);
                            //    #endregion

                            //    decimal dd = Convert.ToDecimal(d_WGT - (dd_wgt + d_WGT));
                            //    foreach (DataRow dr2 in orderdt.Rows)
                            //    {
                            //        Mod_TPP_INITIALIZE_ORDER mod_TPPINITIALIZEORDER2 = bll_ini_order.GetModel(dr2["C_ID"].ToString());
                            //        if (mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT == mod_TPPINITIALIZEORDER2.N_WGT)
                            //        {
                            //            continue;
                            //        }
                            //        if (mod_TPPINITIALIZEORDER2.N_WGT >= dd)
                            //        {
                            //            mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT = (mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT != null ? mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT : 0) + dd;

                            //            if (mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT >= 0)
                            //            {
                            //                mod_TPPINITIALIZEORDER2.N_LGPC_STATUS = 1;
                            //            }

                            //            bll_ini_order.Update(mod_TPPINITIALIZEORDER2);//变更方案计划表数据

                            //            #region 添加计划明细
                            //            Mod_TSP_PLAN_SMS_ITEM mod_plan_sms_item2 = new Mod_TSP_PLAN_SMS_ITEM();
                            //            mod_plan_sms_item2.C_PRODUCTION_PLAN_ID = dr2["C_ID"].ToString();
                            //            mod_plan_sms_item2.C_PLAN_SMS_ID = mod_TSP_PLAN_SMS.C_PLAN_SMS_ID;//计划号
                            //            mod_plan_sms_item2.N_WGT = dd;//计划重量
                            //            mod_plan_sms_item2.C_EMP_ID = user_id;
                            //            bll_TSP_PLAN_SMS_MAIN.Add(mod_plan_sms_item2);
                            //            #endregion

                            //            break;
                            //        }
                            //        else
                            //        {
                            //            mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT = (mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT != null ? mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT : 0) + mod_TPPINITIALIZEORDER2.N_WGT;

                            //            if (mod_TPPINITIALIZEORDER2.N_SMS_PROD_WGT >= mod_TPPINITIALIZEORDER2.N_WGT)
                            //            {
                            //                mod_TPPINITIALIZEORDER2.N_LGPC_STATUS = 1;
                            //            }

                            //            bll_ini_order.Update(mod_TPPINITIALIZEORDER2);//变更方案计划表数据

                            //            #region 添加计划明细
                            //            Mod_TSP_PLAN_SMS_ITEM mod_plan_sms_item2 = new Mod_TSP_PLAN_SMS_ITEM();
                            //            mod_plan_sms_item2.C_PRODUCTION_PLAN_ID = dr2["C_ID"].ToString();
                            //            mod_plan_sms_item2.C_PLAN_SMS_ID = mod_TSP_PLAN_SMS.C_PLAN_SMS_ID;//计划号
                            //            mod_plan_sms_item2.N_WGT = mod_TPPINITIALIZEORDER2.N_WGT;//计划重量
                            //            mod_plan_sms_item2.C_EMP_ID = user_id;
                            //            bll_TSP_PLAN_SMS_MAIN.Add(mod_plan_sms_item2);
                            //            #endregion
                            //        }

                            //        dd = Convert.ToDecimal(dd - mod_TPPINITIALIZEORDER2.N_WGT);

                            //    }


                            //}
                        } //mm
                    }     //kk
                }         //i
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Exemplo n.º 16
0
        private void btn_xf_Click(object sender, EventArgs e)
        {
            if (this.icbo_zx3.SelectedIndex < 0)
            {
                MessageBox.Show("请选择开坯线!");
                this.icbo_zx3.Focus();
                return;
            }

            WaitingFrom.ShowWait("");
            int[] rownumber = this.gridView1.GetSelectedRows();//获取选中行号数组;
            for (int i = 0; i < rownumber.Length; i++)
            {
                int selectedHandle = rownumber[i];

                Mod_TRP_PLAN_COGDOWN mod = new Mod_TRP_PLAN_COGDOWN();
                mod.C_ID       = System.Guid.NewGuid().ToString();
                mod.N_STATUS   = 1;
                mod.C_ORDER_NO = this.gridView1.GetRowCellValue(selectedHandle, "C_ID").ToString();
                // mod.C_INITIALIZE_ITEM_ID = this.gridView1.GetRowCellValue(selectedHandle, "N_JC_SORT").ToString();
                // mod.N_SORT = Convert.ToInt32(this.gridView1.GetRowCellValue(selectedHandle, "N_SORT").ToString());
                mod.N_WGT      = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_SLAB_WGT").ToString());
                mod.C_MAT_CODE = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_CODE_KP").ToString();
                mod.C_MAT_NAME = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NAME_KP").ToString();
                mod.C_SPEC     = this.gridView1.GetRowCellValue(selectedHandle, "C_KP_SIZE").ToString();
                mod.C_STL_GRD  = this.gridView1.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
                mod.C_STD_CODE = this.gridView1.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString();
                mod.N_LENTH    = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_KP_LENGTH").ToString());
                try
                {
                    mod.D_P_START_TIME = Convert.ToDateTime(this.gridView1.GetRowCellValue(selectedHandle, "D_KP_START_TIME").ToString());
                    mod.D_P_END_TIME   = Convert.ToDateTime(this.gridView1.GetRowCellValue(selectedHandle, "D_KP_END_TIME").ToString());
                }
                catch (Exception)
                {
                }
                mod.C_STA_ID          = this.icbo_zx3.Properties.Items[this.icbo_zx3.SelectedIndex].Value.ToString();
                mod.C_CAST_NO         = this.gridView1.GetRowCellValue(selectedHandle, "C_STOVE_NO").ToString();
                mod.C_LINE_DESC       = this.icbo_zx3.Properties.Items[this.icbo_zx3.SelectedIndex].Description.ToString();
                mod.C_FREE1           = this.gridView1.GetRowCellValue(selectedHandle, "C_FREE1").ToString();
                mod.C_FREE2           = this.gridView1.GetRowCellValue(selectedHandle, "C_FREE2").ToString();
                mod.C_EMP_ID          = RV.UI.UserInfo.userID;
                mod.D_MOD_DT          = RV.UI.ServerTime.timeNow();
                mod.N_PW              = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_KP_PW").ToString());
                mod.C_MATRL_CODE_SLAB = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NO").ToString();
                mod.C_MATRL_NAME_SLAB = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NAME").ToString();
                mod.C_SLAB_SIZE       = this.gridView1.GetRowCellValue(selectedHandle, "C_SLAB_SIZE").ToString();
                mod.N_SLAB_LENGTH     = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "C_SLAB_LENGTH").ToString());

                mod.N_SLAB_PW = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_SLAB_PW").ToString());

                Mod_TSP_PLAN_SMS mod_sms = bll_sms.GetModel(mod.C_ORDER_NO);
                mod_sms.N_CREAT_ZG_PLAN = 1;
                bll_sms.Update(mod_sms);

                bll_kp.Add(mod);
            }
            #region MyRegion
            //for (int i = 0; i < rownumber.Length; i++)
            //{
            //    int selectedHandle = rownumber[i];

            //    Mod_TRP_PLAN_COGDOWN mod = new Mod_TRP_PLAN_COGDOWN();
            //    mod.C_ID = System.Guid.NewGuid().ToString();
            //    mod.N_STATUS = 1;
            //    mod.C_INITIALIZE_ITEM_ID = this.gridView1.GetRowCellValue(selectedHandle, "N_JC_SORT").ToString();
            //    mod.N_SORT = Convert.ToInt32(this.gridView1.GetRowCellValue(selectedHandle, "N_SORT").ToString());
            //    mod.N_WGT = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_SLAB_WGT").ToString());
            //    mod.C_MAT_CODE = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_CODE_KP").ToString();
            //    mod.C_MAT_NAME = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NAME_KP").ToString();
            //    mod.C_SPEC = this.gridView1.GetRowCellValue(selectedHandle, "C_KP_SIZE").ToString();
            //    mod.C_STL_GRD = this.gridView1.GetRowCellValue(selectedHandle, "C_STL_GRD").ToString();
            //    mod.C_STD_CODE = this.gridView1.GetRowCellValue(selectedHandle, "C_STD_CODE").ToString();
            //    mod.N_LENTH = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_KP_LENGTH").ToString());
            //    try
            //    {
            //        mod.D_P_START_TIME = Convert.ToDateTime(this.gridView1.GetRowCellValue(selectedHandle, "D_P_START_TIME").ToString());
            //        mod.D_P_END_TIME = Convert.ToDateTime(this.gridView1.GetRowCellValue(selectedHandle, "D_P_END_TIME").ToString());
            //    }
            //    catch (Exception)
            //    {

            //    }
            //    mod.C_STA_ID = this.icbo_zx3.Properties.Items[this.icbo_zx3.SelectedIndex].Value.ToString();
            //    mod.C_FREE1 = this.gridView1.GetRowCellValue(selectedHandle, "C_FREE1").ToString();
            //    mod.C_FREE2 = this.gridView1.GetRowCellValue(selectedHandle, "C_FREE2").ToString();
            //    mod.C_EMP_ID = RV.UI.UserInfo.userID;
            //    mod.D_MOD_DT = RV.UI.ServerTime.timeNow();
            //    mod.N_PW = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_KP_PW").ToString());
            //    mod.C_MATRL_CODE_SLAB = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NO").ToString();
            //    mod.C_MATRL_NAME_SLAB = this.gridView1.GetRowCellValue(selectedHandle, "C_MATRL_NAME").ToString();
            //    mod.C_SLAB_SIZE = this.gridView1.GetRowCellValue(selectedHandle, "C_SLAB_SIZE").ToString();
            //    mod.N_SLAB_LENGTH = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "C_SLAB_LENGTH").ToString());
            //    mod.N_SLAB_PW = Convert.ToDecimal(this.gridView1.GetRowCellValue(selectedHandle, "N_SLAB_PW").ToString());
            //    bll_sms.Down_KP(mod.C_STL_GRD, mod.C_MATRL_CODE_SLAB, mod.C_STD_CODE, mod.C_MAT_CODE, mod.C_INITIALIZE_ITEM_ID);
            //    bll_kp.Add(mod);
            //}
            #endregion

            btn_query_zg_Click(null, null);
            btn_query_kpplan_Click(null, null);
            WaitingFrom.CloseWait();
        }
Exemplo n.º 17
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TSP_PLAN_SMS model)
 {
     return(dal.Update(model));
 }
Exemplo n.º 18
0
 private void btn_save_Click(object sender, EventArgs e)
 {
     try
     {
         WaitingFrom.ShowWait("");
         DataTable dt = bll.GetKPSTA().Tables[0];
         foreach (DataRow item in dt.Rows)
         {
             Mod_TB_STA sta = bll_sta.GetModel(item["C_KP_ID"].ToString());
             List <Mod_TSP_PLAN_SMS> list = lst.Where(x => x.C_KP_ID == item["C_KP_ID"].ToString()).ToList();
             for (int i = 0; i < list.Count; i++)
             {
                 Mod_TSP_PLAN_SMS mod = bll.GetModel(list[i].C_ID);
                 mod.N_KP_SORT           = i + 1;
                 mod.D_KP_START_TIME     = list[i].D_KP_START_TIME;
                 mod.D_KP_CAN_START_TIME = list[i].D_KP_CAN_START_TIME;
                 if (mod.D_KP_START_TIME == null)
                 {
                     return;
                 }
                 if (mod.D_KP_CAN_START_TIME > Convert.ToDateTime(mod.D_KP_START_TIME))
                 {
                     MessageBox.Show(sta.C_STA_DESC + ",序号(" + list[i].N_KP_SORT + ")" + "开坯开始时间不能在可开坯时间之前");
                     return;
                 }
                 if (mod.C_DFP_HL == "N")
                 {
                     if (mod.D_P_END_TIME > Convert.ToDateTime(mod.D_KP_START_TIME).AddHours(-2))
                     {
                         MessageBox.Show(sta.C_STA_DESC + ",序号(" + list[i].N_KP_SORT + ")" + "开坯开始时间不能在连铸结束时间后2个小时之内");
                         return;
                     }
                 }
                 else
                 {
                     if (mod.D_DFPHL_END_TIME > Convert.ToDateTime(mod.D_KP_START_TIME).AddHours(-2))
                     {
                         MessageBox.Show(sta.C_STA_DESC + ",序号(" + list[i].N_KP_SORT + ")" + "开坯时间不能在大方坯缓冷结束时间后2个小时之内");
                         return;
                     }
                 }
                 decimal sl = Convert.ToDecimal(mod.N_SLAB_WGT) / 114;
                 mod.D_KP_END_TIME = list[i].D_KP_END_TIME;
                 //mod.D_KP_END_TIME = Convert.ToDateTime(mod.D_KP_START_TIME).AddHours(Convert.ToDouble(sl));
                 //time = Convert.ToDateTime(mod.D_KP_END_TIME);
                 if (mod.C_HL == "Y")
                 {
                     int N_HL_TIME = (int)mod.N_HL_TIME;
                     mod.D_HL_START_TIME = Convert.ToDateTime(mod.D_KP_END_TIME).AddHours(2);
                     mod.D_HL_END_TIME   = Convert.ToDateTime(mod.D_HL_START_TIME).AddHours(N_HL_TIME);
                     if (mod.C_XM == "Y")
                     {
                         mod.D_XM_CAN_START_TIME = Convert.ToDateTime(mod.D_HL_END_TIME).AddHours(2);
                     }
                 }
                 bll.Update(mod);
             }
         }
         string result = bll.P_SLAB_CAN_USETIMEG();
         WaitingFrom.CloseWait();
         MessageBox.Show("保存成功");
         BindInfo();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Exemplo n.º 19
0
        /// <summary>
        /// 调整浇次计划连铸信息
        /// </summary>
        /// <param name="c_id">浇次计划主键</param>
        /// <param name="c_ccm_id">调整后连铸主键</param>
        /// <param name="c_remark">调整说明</param>
        public string ChangeCCM(string c_id, string c_ccm_id, string c_remark)
        {
            string                  c_ccm_desc = bll_sta.GetModel(c_ccm_id).C_STA_CODE; //连铸代码
            Mod_TSP_CAST_PLAN       mod        = bll_cast_plan.GetModel(c_id);
            List <Mod_TSP_PLAN_SMS> lst_sms    = new List <Mod_TSP_PLAN_SMS>();         //新浇次的炉次计划

            if (mod.N_MLZL > 50 && mod.N_MLZL < 60)                                     //不锈钢
            {
                return("不锈钢计划只能在6#连铸生产!");
            }
            if (mod.C_RH == "Y")
            {
                return("过真空的浇次计划不能调整!");
            }
            decimal n_mlzl_e = 0;//调整后的炉次重量

            if (c_ccm_id == "77B9FDA79B884D07AA2B3601D1DA11A2")
            {
                n_mlzl_e = 77;
            }
            else
            {
                n_mlzl_e = 47;
            }
            Mod_TPB_SCLX modlx = bll_lx.GetModel(c_ccm_id);

            #region 添加新的浇次计划
            Mod_TSP_CAST_PLAN mod_cast = new Mod_TSP_CAST_PLAN();
            mod_cast                = mod;
            mod_cast.C_ID           = System.Guid.NewGuid().ToString();
            mod_cast.N_SORT         = bll_cast_plan.Max_jc_sort(c_ccm_id) + 1;
            mod_cast.C_CCM_ID       = c_ccm_id;
            mod_cast.C_CCM_CODE     = c_ccm_desc;
            mod_cast.N_PRODUCE_TIME = 0;
            mod_cast.N_MLZL         = n_mlzl_e;

            mod_cast.C_TZ_REMARK = c_remark;
            #endregion
            int lsxh = bll_plan_sms.GetMaxSort(c_ccm_id);
            int ypls = 0;
            var lcjh = bll_plan_sms.GetModelListByJcID(c_id); //当前浇次的炉次计划
                                                              //调整有计划的连铸计划
            var lst_lc = bll_plan_sms.GetModelListByJcID(c_id).Where(ba => ba.C_STATE == "0" && ba.N_CREAT_PLAN == 1).GroupBy(ca => new { ca.C_STL_GRD, ca.C_STD_CODE }).Select(ca => new { n_wgt = ca.Sum(p => p.N_SLAB_WGT), ca.First().C_STL_GRD, ca.First().C_STD_CODE }).ToList();
            if (lst_lc.Count > 0)
            {
                for (int i = 0; i < lst_lc.Count; i++)
                {
                    Mod_TSP_PLAN_SMS mod_sms = new Mod_TSP_PLAN_SMS();
                    decimal          n_wgt   = (decimal)lst_lc[i].n_wgt;          //
                    ypls                   = (int)Math.Ceiling(n_wgt / n_mlzl_e); //应排炉数
                    mod_sms                = lcjh[0];
                    mod_sms.N_SLAB_WGT     = n_mlzl_e;                            //新的每炉重量
                    mod_sms.C_STATE        = "0";
                    mod_sms.C_CCM_ID       = c_ccm_id;
                    mod_sms.C_CCM_DESC     = c_ccm_desc;
                    mod_sms.N_JC_SORT      = mod_cast.N_SORT;
                    mod_sms.C_FK           = mod_cast.C_ID;
                    mod_sms.C_LF_ID        = modlx.C_LF;
                    mod_sms.C_RH_ID        = modlx.C_RH;
                    mod_sms.C_ZL_ID        = modlx.C_ZL;
                    mod_sms.N_PRODUCE_TIME = 0;
                    mod_sms.N_USE_WGT      = n_mlzl_e;
                    List <Mod_TPB_SLAB_CAPACITY> lstjscn = bll_jscn.GetListByCCM(mod_sms.C_STL_GRD, mod_sms.C_STD_CODE, mod_sms.C_CCM_ID);
                    if (lstjscn.Count > 0)
                    {
                        mod_sms.N_JSCN = lstjscn[0].N_CAPACITY;
                    }
                    if (mod_sms.N_JSCN == 0)
                    {
                        mod_sms.N_JSCN = mod_sms.C_CCM_DESC == "5#CC" ? 114 : 88;
                    }
                    mod_cast.N_JSCN     = mod_sms.N_JSCN;            //?机时产量
                    mod_sms.N_PROD_TIME = n_mlzl_e / mod_sms.N_JSCN; //?生产时间
                    for (int j = 0; j < ypls; j++)
                    {
                        mod_sms.C_ID   = System.Guid.NewGuid().ToString();
                        mod_sms.N_SORT = lsxh + 1;
                        lsxh           = lsxh + 1;
                        bll_plan_sms.Add(mod_sms);
                    }
                }
            }
            //调整非计划的连铸计划
            var lst_lc_fjh = bll_plan_sms.GetModelListByJcID(c_id).Where(ba => ba.C_STATE == "1" && ba.N_CREAT_PLAN == 1).GroupBy(ca => new { ca.C_STL_GRD, ca.C_STD_CODE }).Select(ca => new { n_wgt = ca.Sum(p => p.N_SLAB_WGT), ca.First().C_STL_GRD, ca.First().C_STD_CODE }).ToList();
            if (lst_lc_fjh.Count > 0)
            {
                for (int i = 0; i < lst_lc_fjh.Count; i++)
                {
                    Mod_TSP_PLAN_SMS mod_sms = new Mod_TSP_PLAN_SMS();
                    decimal          n_wgt   = (decimal)lst_lc_fjh[i].n_wgt;      //
                    ypls                   = (int)Math.Ceiling(n_wgt / n_mlzl_e); //应排炉数
                    mod_sms                = lcjh[0];
                    mod_sms.N_SLAB_WGT     = n_mlzl_e;                            //新的每炉重量
                    mod_sms.C_STATE        = "1";
                    mod_sms.C_CCM_ID       = c_ccm_id;
                    mod_sms.C_CCM_DESC     = c_ccm_desc;
                    mod_sms.N_JC_SORT      = mod_cast.N_SORT;
                    mod_sms.C_FK           = mod_cast.C_ID;
                    mod_sms.C_LF_ID        = modlx.C_LF;
                    mod_sms.C_RH_ID        = modlx.C_RH;
                    mod_sms.C_ZL_ID        = modlx.C_ZL;
                    mod_sms.N_PRODUCE_TIME = 0;
                    mod_sms.N_USE_WGT      = n_mlzl_e;
                    List <Mod_TPB_SLAB_CAPACITY> lstjscn = bll_jscn.GetListByCCM(mod_sms.C_STL_GRD, mod_sms.C_STD_CODE, mod_sms.C_CCM_ID);
                    if (lstjscn.Count > 0)
                    {
                        mod_sms.N_JSCN = lstjscn[0].N_CAPACITY;
                    }
                    if (mod_sms.N_JSCN == 0)
                    {
                        mod_sms.N_JSCN = mod_sms.C_CCM_DESC == "5#CC" ? 114 : 88;
                    }
                    mod_cast.N_JSCN     = mod_sms.N_JSCN;            //?机时产量
                    mod_sms.N_PROD_TIME = n_mlzl_e / mod_sms.N_JSCN; //?生产时间
                    for (int j = 0; j < ypls; j++)
                    {
                        mod_sms.C_ID   = System.Guid.NewGuid().ToString();
                        mod_sms.N_SORT = lsxh + 1;
                        lsxh           = lsxh + 1;
                        bll_plan_sms.Add(mod_sms);
                    }
                }
            }

            bll_cast_plan.Add(mod_cast);

            int yls = lcjh.Where(a => a.N_CREAT_PLAN > 1).ToList().Count;//已排产炉数
            bll_plan_sms.DeleteByjcid(c_id);
            if (yls == 0)
            {
                bll_cast_plan.Delete(c_id);//删除当前浇次计划
            }
            else
            {
                bll_cast_plan.Update(c_id, yls);//修改当前浇次计划
            }


            return("调整连铸成功!");
        }
Exemplo n.º 20
0
        private void gridView7_DoubleClick(object sender, EventArgs e)
        {
            int index = gridView7.FocusedRowHandle;

            if (index < 0)
            {
                return;
            }
            string C_STL_GRD  = gridView7.GetRowCellValue(index, "C_STL_GRD").ToString();
            string C_STD_CODE = gridView7.GetRowCellValue(index, "C_STD_CODE").ToString();
            string C_ROUTE    = gridView7.GetRowCellValue(index, "C_ROUTE").ToString();
            int    N_GROUP    = Convert.ToInt32(gridView7.GetRowCellValue(index, "N_GROUP").ToString());

            #region 加载可修改的物料信息
            string    wllj   = "";
            DataTable dtgpwl = null;
            if (C_ROUTE.Contains("KP"))
            {
                if (C_ROUTE.Contains("LF") && C_ROUTE.Contains("RH"))
                {
                    wllj = "(BLR)";
                }
                if (C_ROUTE.Contains("LF") && !C_ROUTE.Contains("RH"))
                {
                    wllj = "(BL)";
                }
                if (!C_ROUTE.Contains("LF") && C_ROUTE.Contains("RH"))
                {
                    wllj = "(BR)";
                }
                //bll_wl.GetGPWL( C_STL_GRD,  C_STD_CODE, "", wllj);
                dtgpwl = bll_wl.GetGPWL(C_STL_GRD, "", null, "6", wllj, "大方坯连铸坯").Tables[0];
            }
            else
            {
                dtgpwl = bll_wl.GetGPWL(C_STL_GRD, "", null, "6", wllj, "小方坯连铸坯").Tables[0];
            }
            this.gridControl5.DataSource = dtgpwl;
            this.gridView5.OptionsView.ColumnAutoWidth = false;
            SetGridViewRowNum.SetRowNum(gridView5);
            this.gridView5.BestFitColumns();
            #endregion

            #region 加载同组的可以变更的炉次计划

            List <Mod_TSP_PLAN_SMS> lst   = bll_plan_sms.GetListByJcGroup(N_GROUP);
            List <Mod_TSP_PLAN_SMS> lstkg = new List <Mod_TSP_PLAN_SMS>();
            var changelst = lst.Where(a => a.N_GROUP == N_GROUP && (a.C_STL_GRD != C_STL_GRD || a.C_STD_CODE != C_STD_CODE)).GroupBy(a => new { a.C_STD_CODE, a.C_STL_GRD, a.C_MATRL_NO }).ToList();
            if (changelst.Count > 0)
            {
                for (int i = 0; i < changelst.Count; i++)
                {
                    Mod_TSP_PLAN_SMS mod = new Mod_TSP_PLAN_SMS();
                    mod.N_GROUP         = changelst[i].First().N_GROUP;
                    mod.C_STD_CODE      = changelst[i].First().C_STD_CODE;
                    mod.C_STL_GRD       = changelst[i].First().C_STL_GRD;
                    mod.C_STL_GRD_TYPE  = changelst[i].First().C_STL_GRD_TYPE;
                    mod.C_MATRL_NO      = changelst[i].First().C_MATRL_NO;
                    mod.C_MATRL_NAME    = changelst[i].First().C_MATRL_NAME;
                    mod.C_ROUTE         = changelst[i].First().C_ROUTE;
                    mod.C_SLAB_SIZE     = changelst[i].First().C_SLAB_SIZE;
                    mod.C_SLAB_LENGTH   = changelst[i].First().C_SLAB_LENGTH;
                    mod.C_MATRL_CODE_KP = changelst[i].First().C_MATRL_CODE_KP;
                    mod.C_MATRL_NAME_KP = changelst[i].First().C_MATRL_NAME_KP;
                    mod.C_KP_SIZE       = changelst[i].First().C_KP_SIZE;
                    mod.N_KP_LENGTH     = changelst[i].First().N_KP_LENGTH;
                    mod.N_KP_PW         = changelst[i].First().N_KP_PW;
                    mod.N_SLAB_PW       = changelst[i].First().N_SLAB_PW;
                    mod.C_TL            = changelst[i].First().C_TL;
                    mod.C_RH            = changelst[i].First().C_RH;
                    mod.C_RH_ID         = changelst[i].First().C_RH_ID;
                    mod.C_DFP_HL        = changelst[i].First().C_DFP_HL;
                    mod.C_HL            = changelst[i].First().C_HL;
                    mod.C_LF_ID         = changelst[i].First().C_LF_ID;
                    mod.C_XM            = changelst[i].First().C_XM;
                    mod.C_ZL_ID         = changelst[i].First().C_ZL_ID;
                    mod.C_SL            = changelst[i].First().C_SL;
                    mod.C_BY1           = changelst[i].First().C_BY1;
                    mod.C_WL            = changelst[i].First().C_WL;
                    mod.C_BY2           = changelst[i].First().C_BY2;
                    mod.C_ORDER_NO      = changelst[i].First().C_ORDER_NO;
                    mod.C_STATE         = "1";
                    mod.C_STL_GRD_TYPE  = changelst[i].First().C_STL_GRD_TYPE;
                    mod.C_PROD_NAME     = changelst[i].First().C_PROD_NAME;
                    mod.C_PROD_KIND     = changelst[i].First().C_PROD_KIND;
                    mod.C_FREE1         = changelst[i].First().C_FREE1;
                    mod.C_FREE2         = changelst[i].First().C_FREE2;
                    lstkg.Add(mod);
                }
            }

            #endregion
            this.gridControl1.DataSource = lstkg;
            this.gridView1.OptionsView.ColumnAutoWidth = false;
            SetGridViewRowNum.SetRowNum(gridView1);
            this.gridView1.BestFitColumns();
        }
        /// <summary>
        /// 发送计划给NC
        /// </summary>
        /// <param name="xmlFileName">xml完整路径</param>
        /// <param name="tsp_plan_sms_id">炉号</param>
        /// <param name="stove">炉号</param>
        /// <returns></returns>
        public string SendXml_SLAB_A1(string xmlFileName, string tsp_plan_sms_id, string stove)
        {
            try
            {
                string urlname = "A1ED" + stove + ".XML";//XML名称

                string url = xmlFileName + "\\NCXML";
                if (!Directory.Exists(url))
                {
                    Directory.CreateDirectory(url);
                }

                Mod_TSP_PLAN_SMS  mod_plan_sms   = dal_plan_sms.GetModel_Trans(tsp_plan_sms_id);     //连铸生产计划表
                Mod_TB_MATRL_MAIN mod_mater_main = dal_mater_main.GetModel(mod_plan_sms.C_MATRL_NO); //物料主表
                Mod_TMO_ORDER     mod_Order      = dal_tmo_order.GetModel(mod_plan_sms.C_ORDER_NO);
                Mod_TB_STA        modSta         = dalSta.GetModel(mod_plan_sms.C_CCM_ID);
                if (mod_plan_sms == null)
                {
                    return("获取连铸计划失败!");
                }
                if (mod_mater_main == null)
                {
                    return("获取物料信息失败!");
                }
                if (mod_Order == null)
                {
                    return("获取订单信息失败!");
                }
                if (modSta == null)
                {
                    return("获取工位信息失败!");
                }
                XmlDocument xmlDoc = new XmlDocument();
                //创建类型声明节点
                XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no");
                xmlDoc.AppendChild(node);

                //创建根节点
                XmlElement root = xmlDoc.CreateElement("ufinterface");
                #region//给节点属性赋值
                root.SetAttribute("account", "1");
                root.SetAttribute("billtype", "A1");
                root.SetAttribute("filename", urlname);
                root.SetAttribute("isexchange", "Y");
                root.SetAttribute("proc", "add");
                root.SetAttribute("receiver", "101");
                root.SetAttribute("replace", "Y");
                root.SetAttribute("roottag", "bill");
                root.SetAttribute("sender", "1107");
                #endregion
                xmlDoc.AppendChild(root);

                //创建子根节点
                XmlElement so_order = xmlDoc.CreateElement("bill");
                //#region//节点属性
                //so_order.SetAttribute("id", dayplcode);
                //#endregiond
                root.AppendChild(so_order);

                XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "billhead", null);

                #region                                                   //表头_order_head

                CreateNode(xmlDoc, head, "bgbz", "1");                    //变更标志
                CreateNode(xmlDoc, head, "bmid", "1001NC10000000000345"); //部门ID
                CreateNode(xmlDoc, head, "bmmc", "");                     //部门名称
                CreateNode(xmlDoc, head, "bomver", "");                   //BOM版本
                CreateNode(xmlDoc, head, "busiDate", "");
                CreateNode(xmlDoc, head, "ckbm", "");                     //仓库编码
                CreateNode(xmlDoc, head, "ckbmid", "");                   //仓库编码ID
                CreateNode(xmlDoc, head, "ckmc", "");                     //仓库名称
                CreateNode(xmlDoc, head, "curwwsl", "");
                CreateNode(xmlDoc, head, "ddlx", "1");                    //订单类型
                CreateNode(xmlDoc, head, "ddlxshow", "");
                CreateNode(xmlDoc, head, "durl", "");                     //资料路径
                CreateNode(xmlDoc, head, "fah", "");
                CreateNode(xmlDoc, head, "fjbz", "0");                    //分解标记
                CreateNode(xmlDoc, head, "fjldwid", "");                  //辅计量单位ID
                CreateNode(xmlDoc, head, "fjldwmc", "");
                CreateNode(xmlDoc, head, "gcbm", "1001NC10000000000669"); //工厂
                CreateNode(xmlDoc, head, "gcbmcode", "");
                CreateNode(xmlDoc, head, "graphid", "");
                CreateNode(xmlDoc, head, "gzzxbm", ""); //工作中心编码ID
                CreateNode(xmlDoc, head, "gzzxid", ""); //工作中心ID
                CreateNode(xmlDoc, head, "gzzxmc", ""); //工作中心名称
                CreateNode(xmlDoc, head, "hbbz", "0");  //合并标志
                CreateNode(xmlDoc, head, "hsl", "");    //换算率
                CreateNode(xmlDoc, head, "invspec", "");
                CreateNode(xmlDoc, head, "invtype", "");
                CreateNode(xmlDoc, head, "jhbmbm", "");
                CreateNode(xmlDoc, head, "jhddh", "");                                                                    //计划订单号
                CreateNode(xmlDoc, head, "jhfaid", mod_mater_main.C_PK_PSID);                                             //计划方案ID
                CreateNode(xmlDoc, head, "jhlx", "0");                                                                    //备料计划类型(固定)
                CreateNode(xmlDoc, head, "jhrq", Convert.ToDateTime(mod_plan_sms.D_P_START_TIME).ToString("yyyy-MM-dd")); //计划日期
                CreateNode(xmlDoc, head, "jhxxsl", "");                                                                   //计划下限数量
                CreateNode(xmlDoc, head, "jhyid", mod_mater_main.C_PLANEMP);                                              //计划员ID
                CreateNode(xmlDoc, head, "jldw", "");                                                                     //计量单位
                CreateNode(xmlDoc, head, "jldwid", mod_mater_main.C_PK_MEASDOC);                                          //计量单位ID
                CreateNode(xmlDoc, head, "ksid", "");                                                                     //客商ID
                CreateNode(xmlDoc, head, "memo", "");                                                                     //备注
                CreateNode(xmlDoc, head, "pch", "");                                                                      //批次号
                CreateNode(xmlDoc, head, "pk_corp", "1001");                                                              //公司
                CreateNode(xmlDoc, head, "pk_poid", "");                                                                  //计划订单主键
                CreateNode(xmlDoc, head, "pk_produce", mod_mater_main.C_PK_PRODUCE);                                      //物料PK
                CreateNode(xmlDoc, head, "primaryKey", "");
                CreateNode(xmlDoc, head, "pzh", "");                                                                      //配置号
                CreateNode(xmlDoc, head, "qrrid", "");
                CreateNode(xmlDoc, head, "qrrq", "");
                CreateNode(xmlDoc, head, "rtver", "");
                CreateNode(xmlDoc, head, "scbmbm", "");
                CreateNode(xmlDoc, head, "scbmid", modSta.C_SSBMID);//生产部门ID
                CreateNode(xmlDoc, head, "scbmmc", "");
                CreateNode(xmlDoc, head, "scbz", "1");
                CreateNode(xmlDoc, head, "scxid", "");
                CreateNode(xmlDoc, head, "shrid", mod_plan_sms.C_EMP_ID);                                                 //操作人员
                CreateNode(xmlDoc, head, "shrq", Convert.ToDateTime(mod_plan_sms.D_P_START_TIME).ToString("yyyy-MM-dd")); //审核日期
                CreateNode(xmlDoc, head, "slrq", Convert.ToDateTime(mod_Order.D_NEED_DT).ToString("yyyy-MM-dd"));         //需求日期
                CreateNode(xmlDoc, head, "unitcode", "");
                CreateNode(xmlDoc, head, "userid", "");
                CreateNode(xmlDoc, head, "wlbm", "");
                CreateNode(xmlDoc, head, "wlbmid", mod_mater_main.C_PK_INVBASDOC);
                CreateNode(xmlDoc, head, "wlmc", "");
                CreateNode(xmlDoc, head, "wpcsl", "0.00000000");
                CreateNode(xmlDoc, head, "wwlx", "OA");
                CreateNode(xmlDoc, head, "xdrq", Convert.ToDateTime(mod_plan_sms.D_P_START_TIME).ToString("yyyy-MM-dd")); //下单日期
                CreateNode(xmlDoc, head, "xqfsl", "");
                CreateNode(xmlDoc, head, "xqrq", Convert.ToDateTime(mod_Order.D_DELIVERY_DT).ToString("yyyy-MM-dd"));     //交货日期
                CreateNode(xmlDoc, head, "xqsl", mod_Order.N_WGT.ToString());                                             //计划量
                CreateNode(xmlDoc, head, "xsddh", "");
                CreateNode(xmlDoc, head, "xsddid", "");
                CreateNode(xmlDoc, head, "xxbz", "0");
                CreateNode(xmlDoc, head, "yfjsl", "");
                CreateNode(xmlDoc, head, "ypcsl", "");
                CreateNode(xmlDoc, head, "ywwsl", "");
                CreateNode(xmlDoc, head, "zdrid", mod_plan_sms.C_EMP_ID);                                           //制单人ID
                CreateNode(xmlDoc, head, "zdrmc", "");
                CreateNode(xmlDoc, head, "zdrq", Convert.ToDateTime(mod_plan_sms.D_MOD_DT).ToString("yyyy-MM-dd")); //制单日期
                CreateNode(xmlDoc, head, "zdy1", "");
                CreateNode(xmlDoc, head, "zdy2", "其它要求");
                CreateNode(xmlDoc, head, "zdy3", "");
                CreateNode(xmlDoc, head, "zdy4", "");
                CreateNode(xmlDoc, head, "zdy5", "");
                CreateNode(xmlDoc, head, "zt", "B");
                CreateNode(xmlDoc, head, "zyx1", mod_Order.C_FREE1); //自由项1
                CreateNode(xmlDoc, head, "zyx2", mod_Order.C_FREE2); //自由项2
                CreateNode(xmlDoc, head, "zyx3", "");                //自由项3
                CreateNode(xmlDoc, head, "zyx4", "");
                CreateNode(xmlDoc, head, "zyx5", mod_Order.C_ID);    //pci主键
                #endregion

                so_order.AppendChild(head);

                xmlDoc.Save(url + "\\" + urlname);
                List <string> parem = dalSendNC.SendXML(url + "\\" + urlname);

                if (parem[0] == "1")
                {
                    return("1");
                }
                else
                {
                    return(parem[1].ToString());
                }
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// 发送炉次计划给NC
        /// </summary>
        /// <param name="xmlFileName">xml完整路径</param>
        /// <param name="urlname">xml名称</param>
        /// <param name="urlname">计划表主键</param>
        /// <param name="c_stove">炉号</param>
        /// <returns></returns>
        public bool SendXml_SLAB_A2(string xmlFileName, string tsp_plan_sms_id, string stove)
        {
            try
            {
                string urlname = "A2LC" + stove + ".XML";//XML名称

                string url = xmlFileName + "\\NCXML";
                if (!Directory.Exists(url))
                {
                    Directory.CreateDirectory(url);
                }
                //DataTable dt = dal_slab_mes.GetList("", "", stove, "", "").Tables[0];
                Mod_TSP_PLAN_SMS  mod_plan_sms   = dal_plan_sms.GetModel(tsp_plan_sms_id);           //连铸生产计划表
                Mod_TPP_CAST_PLAN mod_cast_plan  = dal_cast_plan.GetModel_PLAN_ID(tsp_plan_sms_id);
                Mod_TB_MATRL_MAIN mod_mater_main = dal_mater_main.GetModel(mod_plan_sms.C_MATRL_NO); //物料主表
                Mod_TS_USER       mod_ts_user    = dal_user.GetModel(mod_plan_sms.C_EMP_ID);         //用户主表
                Mod_TMO_ORDER     mod_Order      = dal_tmo_order.GetModel(mod_plan_sms.C_ORDER_NO);
                Mod_TB_STA        modSta         = dalSta.GetModel(mod_plan_sms.C_CCM_ID);
                if (mod_plan_sms == null)
                {
                    return(false);
                }
                if (mod_cast_plan == null)
                {
                    return(false);
                }
                if (mod_mater_main == null)
                {
                    return(false);
                }
                if (mod_ts_user == null)
                {
                    return(false);
                }
                if (mod_Order == null)
                {
                    return(false);
                }
                if (modSta == null)
                {
                    return(false);
                }


                XmlDocument xmlDoc = new XmlDocument();
                //创建类型声明节点
                XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no");
                xmlDoc.AppendChild(node);

                //创建根节点
                XmlElement root = xmlDoc.CreateElement("ufinterface");
                #region//给节点属性赋值
                root.SetAttribute("billtype", "A2");
                root.SetAttribute("filename", "");
                root.SetAttribute("isexchange", "Y");
                root.SetAttribute("operation", "req");
                root.SetAttribute("proc", "add");
                root.SetAttribute("receiver", "101");
                root.SetAttribute("replace", "Y");
                root.SetAttribute("roottag", "bill");
                root.SetAttribute("sender", "1107");
                #endregion
                xmlDoc.AppendChild(root);

                //创建子根节点
                XmlElement bill = xmlDoc.CreateElement("bill");
                #region//节点属性
                bill.SetAttribute("id", mod_cast_plan.C_HEAT_ID);
                #endregion
                root.AppendChild(bill);

                XmlNode head = xmlDoc.CreateNode(XmlNodeType.Element, "bill_head", null);

                #region                                                                                                                          //表头_order_head
                CreateNode(xmlDoc, head, "scddh", "");                                                                                           //生产订单号 (空)
                CreateNode(xmlDoc, head, "pk_poid", "");                                                                                         //计划订单主键 (空)
                CreateNode(xmlDoc, head, "jhddh", "");                                                                                           //计划订单号 (空)
                CreateNode(xmlDoc, head, "wlbmid", mod_mater_main.C_PK_INVBASDOC);                                                               //物料编码ID (C_PK_INVBASDOC)
                CreateNode(xmlDoc, head, "pk_produce", "");                                                                                      //物料PK
                CreateNode(xmlDoc, head, "invcode", mod_mater_main.C_ID);                                                                        //物料编码
                CreateNode(xmlDoc, head, "invname", "");
                CreateNode(xmlDoc, head, "pch", stove);                                                                                          //批次号
                CreateNode(xmlDoc, head, "scbmid", "1001NC1000000000037T");                                                                      //生产部门ID
                CreateNode(xmlDoc, head, "gzzxid", modSta.C_ERP_PK);                                                                             //工作中心ID-连铸机号
                CreateNode(xmlDoc, head, "gzzxbm", "");                                                                                          //工作中心编码ID
                CreateNode(xmlDoc, head, "ksid", "");                                                                                            //客商ID
                CreateNode(xmlDoc, head, "memo", "");                                                                                            //备注
                CreateNode(xmlDoc, head, "sfjj", "");                                                                                            //是否加急
                CreateNode(xmlDoc, head, "yxj", "");                                                                                             //有效机时
                CreateNode(xmlDoc, head, "bcid", "1001NC1000000000103W");                                                                        //班次ID
                CreateNode(xmlDoc, head, "bzid", "1001NC100000002E7W1K");                                                                        //班组
                CreateNode(xmlDoc, head, "jhkgrq", Convert.ToDateTime(mod_plan_sms.D_P_START_TIME.ToString()).ToString("yyyy-MM-dd"));           //计划开工日期
                CreateNode(xmlDoc, head, "jhwgrq", Convert.ToDateTime(mod_plan_sms.D_P_END_TIME.ToString()).ToString("yyyy-MM-dd"));             //计划完工日期
                CreateNode(xmlDoc, head, "jhkssj", Convert.ToDateTime(mod_plan_sms.D_P_START_TIME.ToString()).ToString("HH:mm:ss"));             //计划开始时间
                CreateNode(xmlDoc, head, "jhjssj", Convert.ToDateTime(mod_plan_sms.D_P_END_TIME.ToString()).ToString("HH:mm:ss"));               //计划结束时间
                CreateNode(xmlDoc, head, "sjkgrq", Convert.ToDateTime(mod_cast_plan.D_AIM_CASTINGSTART_TIME.ToString()).ToString("yyyy-MM-dd")); //实际开工日期
                CreateNode(xmlDoc, head, "sjwgrq", Convert.ToDateTime(mod_cast_plan.D_AIM_CASTINGEND_TIME.ToString()).ToString("yyyy-MM-dd"));   //实际完工日期
                CreateNode(xmlDoc, head, "sjkssj", Convert.ToDateTime(mod_cast_plan.D_AIM_CASTINGSTART_TIME.ToString()).ToString("HH:mm:ss"));   //实际开始时间
                CreateNode(xmlDoc, head, "sjjssj", Convert.ToDateTime(mod_cast_plan.D_AIM_CASTINGEND_TIME.ToString()).ToString("HH:mm:ss"));     //实际结束时间
                CreateNode(xmlDoc, head, "jhwgsl", mod_plan_sms.N_SLAB_WGT.ToString());                                                          //计划完工数量
                CreateNode(xmlDoc, head, "fjhsl", mod_plan_sms.C_QUA);                                                                           //辅计量数量
                CreateNode(xmlDoc, head, "jldwid", mod_mater_main.C_PK_MEASDOC);                                                                 //计量单位ID
                CreateNode(xmlDoc, head, "fjlid", mod_mater_main.C_FJLDW);                                                                       //辅计量ID
                CreateNode(xmlDoc, head, "sjwgsl", mod_plan_sms.N_SLAB_WGT.ToString());                                                          //实际完工数量
                CreateNode(xmlDoc, head, "fwcsl", "");
                CreateNode(xmlDoc, head, "zdy1", "");                                                                                            //自定义项1
                CreateNode(xmlDoc, head, "zdy2", "");                                                                                            //自定义项2
                CreateNode(xmlDoc, head, "zdy3", "");                                                                                            //自定义项3
                CreateNode(xmlDoc, head, "zdy4", "");                                                                                            //自定义项4
                CreateNode(xmlDoc, head, "zdy5", "");                                                                                            //自定义项5
                CreateNode(xmlDoc, head, "freeitemvalue1", mod_Order.C_FREE1);
                CreateNode(xmlDoc, head, "freeitemvalue2", mod_Order.C_FREE2);
                CreateNode(xmlDoc, head, "freeitemvalue3", "");
                CreateNode(xmlDoc, head, "freeitemvalue4", "");
                CreateNode(xmlDoc, head, "freeitemvalue5", mod_plan_sms.C_ID); //PCI计划订单主键(tsp_plan_sms主键)
                CreateNode(xmlDoc, head, "pk_corp", "1001");                   //公司ID
                CreateNode(xmlDoc, head, "gcbm", "1001NC10000000000669");      //工厂
                CreateNode(xmlDoc, head, "zdrid", mod_ts_user.C_ACCOUNT);      //制单人
                CreateNode(xmlDoc, head, "pk_moid", "");                       //生产定单ID

                #endregion

                bill.AppendChild(head);
                XmlElement body = xmlDoc.CreateElement("bill_body");
                bill.AppendChild(body);

                XmlNode item = xmlDoc.CreateNode(XmlNodeType.Element, "item", null);


                body.AppendChild(item);


                xmlDoc.Save(url + "\\" + urlname);
                List <string> parem = dalSendNC.SendXML(url + "\\" + urlname);

                if (parem[0] == "1")
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// 修改物料信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_tzwl_Click_1(object sender, EventArgs e)
        {
            if (this.radioGroup2.SelectedIndex == 0)
            {
                if (DialogResult.No == MessageBox.Show("是否确认修改选中计划的物料信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }
                WaitingFrom.ShowWait("");
                int              index     = gridView7.FocusedRowHandle;
                int              thisindex = gridView5.FocusedRowHandle;
                string           C_ID      = gridView7.GetRowCellValue(index, "C_ID").ToString();
                Mod_TSP_PLAN_SMS mod       = bll_plan_sms.GetModel(C_ID);
                if (mod != null && mod.N_CREAT_PLAN < 2)
                {
                    mod.C_MATRL_NO    = gridView5.GetRowCellValue(thisindex, "C_ID").ToString();
                    mod.C_MATRL_NAME  = gridView5.GetRowCellValue(thisindex, "C_MAT_NAME").ToString();
                    mod.C_SLAB_SIZE   = gridView5.GetRowCellValue(thisindex, "C_SLAB_SIZE").ToString();
                    mod.C_SLAB_LENGTH = gridView5.GetRowCellValue(thisindex, "N_LTH").ToString();
                    mod.N_SLAB_PW     = Convert.ToDecimal(gridView5.GetRowCellValue(thisindex, "N_HSL").ToString());

                    DataTable dtdown = bll_plan_sms.GetDownPlan(mod.C_ID);
                    if (dtdown.Rows.Count == 0)
                    {
                        bll_plan_sms.Update(mod);
                    }
                    else
                    {
                        MessageBox.Show("请先将浇次计划取消调度后,再修改物料信息!");
                    }
                }

                dockPanel2.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
                btn_query_jc_Click(null, null);
                WaitingFrom.CloseWait();
            }
            else if (this.radioGroup2.SelectedIndex == 1)
            {
                if (DialogResult.No == MessageBox.Show("是否确认修改选中浇次计划的所有当前钢种的物料信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }
                WaitingFrom.ShowWait("");
                int                     index     = gridView7.FocusedRowHandle;
                int                     thisindex = gridView5.FocusedRowHandle;
                string                  C_ID      = gridView7.GetRowCellValue(index, "C_ID").ToString();
                Mod_TSP_PLAN_SMS        mod       = bll_plan_sms.GetModel(C_ID);
                List <Mod_TSP_PLAN_SMS> lstlc     = bll_plan_sms.GetModelListByJcID(mod.C_FK).Where(a => a.C_MATRL_NO == mod.C_MATRL_NO).ToList();
                if (lstlc.Count > 0)
                {
                    for (int i = 0; i < lstlc.Count; i++)
                    {
                        if (lstlc[i] != null && lstlc[i].N_CREAT_PLAN < 2)
                        {
                            lstlc[i].C_MATRL_NO    = gridView5.GetRowCellValue(thisindex, "C_ID").ToString();
                            lstlc[i].C_MATRL_NAME  = gridView5.GetRowCellValue(thisindex, "C_MAT_NAME").ToString();
                            lstlc[i].C_SLAB_SIZE   = gridView5.GetRowCellValue(thisindex, "C_SLAB_SIZE").ToString();
                            lstlc[i].C_SLAB_LENGTH = gridView5.GetRowCellValue(thisindex, "N_LTH").ToString();
                            lstlc[i].N_SLAB_PW     = Convert.ToDecimal(gridView5.GetRowCellValue(thisindex, "N_HSL").ToString());

                            DataTable dtdown = bll_plan_sms.GetDownPlan(lstlc[i].C_ID);
                            if (dtdown.Rows.Count == 0)
                            {
                                bll_plan_sms.Update(lstlc[i]);
                            }
                        }
                    }
                }


                dockPanel2.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
                btn_query_jc_Click(null, null);
                WaitingFrom.CloseWait();
            }
            else
            {
                if (this.txt_update_ls.Text.Trim() == "")
                {
                    MessageBox.Show("请输入需要修改物料的炉数!");
                    return;
                }
                if (Convert.ToInt32(this.txt_update_ls.Text) <= 0)
                {
                    MessageBox.Show("请输入需要修改物料的正确炉数!");
                    return;
                }
                if (DialogResult.No == MessageBox.Show("是否确认修改选中浇次计划的所有当前钢种的物料信息?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1))
                {
                    return;
                }
                WaitingFrom.ShowWait("");
                int                     index     = gridView7.FocusedRowHandle;
                int                     thisindex = gridView5.FocusedRowHandle;
                string                  C_ID      = gridView7.GetRowCellValue(index, "C_ID").ToString();
                Mod_TSP_PLAN_SMS        mod       = bll_plan_sms.GetModel(C_ID);
                List <Mod_TSP_PLAN_SMS> lstlc     = bll_plan_sms.GetModelListByJcID(mod.C_FK).Where(a => a.C_MATRL_NO == mod.C_MATRL_NO && a.C_STD_CODE == mod.C_STD_CODE && a.N_CREAT_PLAN < 2).OrderByDescending(a => a.N_SORT).ToList();
                if (Convert.ToInt32(this.txt_update_ls.Text) > lstlc.Count)
                {
                    MessageBox.Show("输入的炉数超出可改的炉数!");
                    this.txt_update_ls.Text = lstlc.Count.ToString();
                    return;
                }
                if (lstlc.Count > 0)
                {
                    for (int i = 0; i < Convert.ToInt32(this.txt_update_ls.Text); i++)
                    {
                        if (lstlc[i] != null && lstlc[i].N_CREAT_PLAN < 2)
                        {
                            lstlc[i].C_MATRL_NO    = gridView5.GetRowCellValue(thisindex, "C_ID").ToString();
                            lstlc[i].C_MATRL_NAME  = gridView5.GetRowCellValue(thisindex, "C_MAT_NAME").ToString();
                            lstlc[i].C_SLAB_SIZE   = gridView5.GetRowCellValue(thisindex, "C_SLAB_SIZE").ToString();
                            lstlc[i].C_SLAB_LENGTH = gridView5.GetRowCellValue(thisindex, "N_LTH").ToString();
                            lstlc[i].N_SLAB_PW     = Convert.ToDecimal(gridView5.GetRowCellValue(thisindex, "N_HSL").ToString());

                            DataTable dtdown = bll_plan_sms.GetDownPlan(lstlc[i].C_ID);
                            if (dtdown.Rows.Count == 0)
                            {
                                bll_plan_sms.Update(lstlc[i]);
                            }
                        }
                    }
                }


                dockPanel2.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Hidden;
                btn_query_jc_Click(null, null);
                WaitingFrom.CloseWait();
            }
        }