private void btn_Cancel_Click(object sender, EventArgs e)
        {
            int[] rownumber = gv_Item.GetSelectedRows();
            if (rownumber.Length == 0)
            {
                MessageBox.Show("请选择一条订单计划撤回");
                return;
            }
            Mod_TRP_PLAN_ROLL_ITEM model = (Mod_TRP_PLAN_ROLL_ITEM)this.modTRPPLANROLLITEMbindingSource[rownumber[0]];
            string result = bllTrpPlanRollItemInfo.BackPlans(model.C_ID);

            if (result == "1")
            {
                MessageBox.Show("撤回成功!");
                BindPlan();
                BindItemInfo();
                BindItem();
            }
            else
            {
                MessageBox.Show(result);
            }
        }
Beispiel #2
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TRP_PLAN_ROLL_ITEM model)
 {
     return(dal.Update(model));
 }
Beispiel #3
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TRP_PLAN_ROLL_ITEM model)
 {
     return(dal.Add(model));
 }
Beispiel #4
0
        private void AddLog(string stove, string batchNo, string planID, int num, decimal wgt, string grd, string spec, string std, string id, string staID, DateTime start, DateTime end, string shift, string group, Mod_TRC_ROLL_WGD model, Mod_TRP_PLAN_ROLL_ITEM planM, DataTable dt)
        {
            Mod_TRC_ROLL_WGD_LOG modelLog = new Mod_TRC_ROLL_WGD_LOG();

            modelLog.C_ID             = Guid.NewGuid().ToString();
            modelLog.C_STA_ID         = staID;
            modelLog.C_STOVE          = stove;
            modelLog.C_BATCH_NO       = batchNo;
            modelLog.C_PLAN_ID        = planID;
            modelLog.N_QUA_PRODUCE    = num;
            modelLog.N_WGT_PRODUCE    = wgt;
            modelLog.N_STATUS         = 2;
            modelLog.C_STD_CODE       = std;
            modelLog.C_STL_GRD        = grd;
            modelLog.C_SPEC           = spec;
            modelLog.C_MAIN_ID        = id;
            modelLog.D_PRODUCE_DATE_B = start;
            modelLog.D_PRODUCE_DATE_E = end;
            modelLog.C_PRODUCE_SHIFT  = shift;
            modelLog.C_PRODUCE_GROUP  = group;
            modelLog.C_PRODUCE_EMP_ID = RV.UI.UserInfo.userID;
            modelLog.D_MOD_DT         = DateTime.Now;
            modelLog.D_PRODUCE_DATE   = model.D_PRODUCE_DATE_B;
            modelLog.C_FREE_TERM      = planM.C_FREE_TERM;
            modelLog.C_FREE_TERM2     = planM.C_FREE_TERM2;
            modelLog.C_PACK           = planM.C_PACK;
            modelLog.C_AREA           = planM.C_AREA;
            modelLog.C_PCLX           = planM.C_PCLX;
            modelLog.C_MAT_CODE       = planM.C_MAT_CODE;
            modelLog.C_MAT_DESC       = planM.C_MAT_NAME;
            wgdDalLog.Add(modelLog);

            if (dt != null && dt.Rows.Count > 0)
            {
                Mod_TRC_ROLL_WGD_ITEM_LOG itemM = new Mod_TRC_ROLL_WGD_ITEM_LOG();
                itemM.C_MAIN_ID     = model.C_MAIN_ID;
                itemM.C_ROLL_WGD_ID = model.C_ID;
                itemM.C_BATCH_NO    = batchNo;
                itemM.N_STATUS      = 2;
                itemM.C_STL_GRD     = model.C_STL_GRD;
                itemM.C_STD_CODE    = model.C_STD_CODE;
                itemM.C_SPEC        = model.C_SPEC;
                itemM.C_MAT_CODE    = planM.C_MAT_CODE;
                itemM.C_MAT_DESC    = planM.C_MAT_NAME;
                itemM.C_ZYX1        = planM.C_FREE_TERM;
                itemM.C_ZYX2        = planM.C_FREE_TERM2;
                itemM.C_BZYQ        = model.C_PACK;
                itemM.C_SALE_AREA   = model.C_AREA;
                wgdItemDalLog.Add(itemM);

                foreach (DataRow item in dt.Rows)
                {
                    Mod_TRC_ROLL_WGD_ITEM_LOG itemMM = new Mod_TRC_ROLL_WGD_ITEM_LOG();
                    itemMM.C_MAIN_ID     = model.C_MAIN_ID;
                    itemMM.C_ROLL_WGD_ID = model.C_ID;
                    itemMM.C_BATCH_NO    = batchNo;
                    itemMM.N_STATUS      = 2;
                    itemMM.C_STL_GRD     = item["钢种"].ToString();
                    itemMM.C_STD_CODE    = item["执行标准"].ToString();
                    itemMM.C_SPEC        = item["规格"].ToString();
                    itemMM.C_MAT_CODE    = item["物料编码"].ToString();
                    itemMM.C_MAT_DESC    = item["物料名称"].ToString();
                    itemMM.C_ZYX1        = item["自由项1"].ToString();
                    itemMM.C_ZYX2        = item["自由项2"].ToString();
                    itemMM.C_BZYQ        = model.C_PACK;
                    itemMM.C_SALE_AREA   = model.C_AREA;
                    wgdItemDalLog.Add(itemMM);
                }
            }
        }
        /// <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("撤销失败!");
            }
        }
        /// <summary>
        /// 下发轧钢计划(单条)
        /// </summary>
        /// <param name="strPlanID">计划实例</param>
        /// <param name="i_Wgt">重量</param>
        /// <returns></returns>
        public string DownPlans(Mod_TRP_PLAN_ROLL_ITEM_INFO itemInfo)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Dal_TB_STA dalTbSta = new Dal_TB_STA();

                DateTime dtStart;
                DateTime dtEnd;

                Mod_TB_STA modSta = dalTbSta.GetModel(itemInfo.C_STA_ID);


                Mod_TRP_PLAN_ROLL_ITEM modUp = dalTrpPlanRollItem.GetModel_Up(itemInfo.C_STA_ID);
                if (modUp == null)
                {
                    if (string.IsNullOrEmpty(modUp.D_P_START_TIME.ToString()))
                    {
                        TransactionHelper.RollBack();
                        return("系统没有已排的计划,请设置计划初始开始时间!");
                    }
                    else
                    {
                        dtStart = Convert.ToDateTime(modUp.D_P_START_TIME.ToString());
                    }
                }
                else
                {
                    int hggTime = dalChangeTime.Get_Time2(itemInfo.C_STA_ID, modUp.C_SPEC, itemInfo.C_SPEC);//换规格时间

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

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

                #region TRP_PLAN_ROLL_ITEM赋值

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


                #endregion

                if (!dalTrpPlanRollItem.Add_Tran(modItem))
                {
                    TransactionHelper.RollBack();
                    return("下发失败!");
                }

                itemInfo.N_STATUS = 2;
                if (!dal.Update(itemInfo))
                {
                    TransactionHelper.RollBack();
                    return("下发失败!");
                }


                TransactionHelper.Commit();
                return(result);
            }
            catch
            {
                TransactionHelper.RollBack();
                return("下发失败!");
            }
        }
        /// <summary>
        /// 下发轧钢计划(合并)
        /// </summary>
        /// <param name="strPlanID">计划实例</param>
        /// <param name="i_Wgt">重量</param>
        /// <returns></returns>
        public string DownPlans(Mod_TRP_PLAN_ROLL_ITEM_INFO itemInfo, decimal i_Wgt, List <string> ids, string area)
        {
            try
            {
                string result = "1";

                TransactionHelper.BeginTransaction();

                Dal_TB_STA dalTbSta = new Dal_TB_STA();

                DateTime dtStart;
                DateTime dtEnd;

                Mod_TB_STA modSta = dalTbSta.GetModel(itemInfo.C_STA_ID);


                Mod_TRP_PLAN_ROLL_ITEM modUp = dalTrpPlanRollItem.GetModel_Up(itemInfo.C_STA_ID);
                if (modUp == null)
                {
                    if (string.IsNullOrEmpty(modUp.D_P_START_TIME.ToString()))
                    {
                        TransactionHelper.RollBack();
                        return("系统没有已排的计划,请设置计划初始开始时间!");
                    }
                    else
                    {
                        dtStart = Convert.ToDateTime(modUp.D_P_START_TIME.ToString());
                    }
                }
                else
                {
                    int hggTime = dalChangeTime.Get_Time2(itemInfo.C_STA_ID, modUp.C_SPEC, itemInfo.C_SPEC);//换规格时间

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

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

                #region TRP_PLAN_ROLL_ITEM赋值

                Mod_TRP_PLAN_ROLL_ITEM modItem = new Mod_TRP_PLAN_ROLL_ITEM();
                modItem.C_ID = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(0, 1000);
                //modItem.C_PLAN_ROLL_ID = itemInfo.C_ID;//计划主表主键
                modItem.N_STATUS             = 1;//已下发
                modItem.C_INITIALIZE_ITEM_ID = itemInfo.C_INITIALIZE_ITEM_ID;
                modItem.C_ORDER_NO           = modItem.C_ID;
                modItem.N_WGT              = i_Wgt;//下发量
                modItem.C_MAT_CODE         = itemInfo.C_MAT_CODE;
                modItem.C_MAT_NAME         = itemInfo.C_MAT_NAME;
                modItem.C_TECH_PROT        = itemInfo.C_TECH_PROT;
                modItem.C_SPEC             = itemInfo.C_SPEC;
                modItem.C_STL_GRD          = itemInfo.C_STL_GRD;
                modItem.C_STD_CODE         = itemInfo.C_STD_CODE;
                modItem.N_USER_LEV         = itemInfo.N_USER_LEV;
                modItem.N_STL_GRD_LEV      = itemInfo.N_STL_GRD_LEV;
                modItem.N_ORDER_LEV        = itemInfo.N_ORDER_LEV;
                modItem.C_QUALIRY_LEV      = itemInfo.C_QUALIRY_LEV;
                modItem.D_NEED_DT          = itemInfo.D_NEED_DT;
                modItem.D_DELIVERY_DT      = itemInfo.D_DELIVERY_DT;
                modItem.D_DT               = itemInfo.D_DT;
                modItem.C_LINE_DESC        = modSta.C_STA_DESC;
                modItem.C_LINE_CODE        = modSta.C_STA_CODE;
                modItem.D_P_START_TIME     = dtStart; //计划开始时间
                modItem.D_P_END_TIME       = dtEnd;   //计划结束时间
                modItem.N_PROD_TIME        = itemInfo.N_PROD_TIME;
                modItem.N_SORT             = itemInfo.N_SORT;
                modItem.N_ROLL_PROD_WGT    = i_Wgt;//下发量
                modItem.C_ROLL_PROD_EMP_ID = itemInfo.C_ROLL_PROD_EMP_ID;
                modItem.C_STL_ROL_DT       = itemInfo.C_STL_ROL_DT;
                modItem.N_PROD_WGT         = itemInfo.N_PROD_WGT;
                modItem.N_WARE_WGT         = itemInfo.N_WARE_WGT;
                modItem.N_WARE_OUT_WGT     = itemInfo.N_WARE_OUT_WGT;
                modItem.N_FLAG             = itemInfo.N_FLAG;
                modItem.N_ISSUE_WGT        = i_Wgt;//下发量
                //modItem.C_CUST_NO = itemInfo.C_CUST_NO;
                //modItem.C_CUST_NAME = itemInfo.C_CUST_NAME;
                modItem.C_SALE_CHANNEL  = itemInfo.C_SALE_CHANNEL;
                modItem.C_PACK          = itemInfo.C_PACK;
                modItem.C_DESIGN_NO     = itemInfo.C_DESIGN_NO;
                modItem.N_GROUP_WGT     = itemInfo.N_GROUP_WGT;
                modItem.C_STA_ID        = modSta.C_ID;
                modItem.D_START_TIME    = itemInfo.D_START_TIME;
                modItem.D_END_TIME      = itemInfo.D_END_TIME;
                modItem.C_EMP_ID        = itemInfo.C_EMP_ID;
                modItem.D_MOD_DT        = RV.UI.ServerTime.timeNow();
                modItem.N_ROLL_WGT      = itemInfo.N_ROLL_WGT;
                modItem.N_MACH_WGT      = itemInfo.N_MACH_WGT;
                modItem.C_CAST_NO       = itemInfo.C_CAST_NO;
                modItem.C_INITIALIZE_ID = itemInfo.C_INITIALIZE_ID;
                modItem.C_FREE_TERM     = itemInfo.C_FREE_TERM;
                modItem.C_FREE_TERM2    = itemInfo.C_FREE_TERM2;
                if (!string.IsNullOrWhiteSpace(area))
                {
                    modItem.C_AREA = area;
                }
                modItem.C_PCLX            = itemInfo.C_PCLX;
                modItem.C_SFHL            = itemInfo.C_SFHL;
                modItem.D_HL_START_TIME   = itemInfo.D_HL_START_TIME;
                modItem.D_HL_END_TIME     = itemInfo.D_HL_END_TIME;
                modItem.C_SFHL_D          = itemInfo.C_SFHL_D;
                modItem.D_DHL_START_TIME  = itemInfo.D_DHL_START_TIME;
                modItem.D_DHL_END_TIME    = itemInfo.D_DHL_END_TIME;
                modItem.C_SFKP            = itemInfo.C_SFKP;
                modItem.D_KP_START_TIME   = itemInfo.D_KP_START_TIME;
                modItem.D_KP_END_TIME     = itemInfo.D_KP_END_TIME;
                modItem.C_SFXM            = itemInfo.C_SFXM;
                modItem.D_XM_START_TIME   = itemInfo.D_XM_START_TIME;
                modItem.D_XM_END_TIME     = itemInfo.D_XM_END_TIME;
                modItem.N_UPLOADSTATUS    = itemInfo.N_UPLOADSTATUS;
                modItem.C_MATRL_CODE_SLAB = itemInfo.C_MATRL_CODE_SLAB;
                modItem.C_MATRL_NAME_SLAB = itemInfo.C_MATRL_NAME_SLAB;
                modItem.C_SLAB_SIZE       = itemInfo.C_SLAB_SIZE;
                modItem.N_SLAB_LENGTH     = itemInfo.N_SLAB_LENGTH;
                modItem.N_SLAB_PW         = itemInfo.N_SLAB_PW;
                modItem.D_CAN_ROLL_TIME   = itemInfo.D_CAN_ROLL_TIME;
                modItem.C_ROUTE           = itemInfo.C_ROUTE;
                modItem.N_DIAMETER        = itemInfo.N_DIAMETER;
                modItem.C_XM_YQ           = itemInfo.C_XM_YQ;
                modItem.N_JRL_WD          = itemInfo.N_JRL_WD;
                modItem.N_JRL_SJ          = itemInfo.N_JRL_SJ;
                modItem.C_STL_GRD_SLAB    = itemInfo.C_STL_GRD_SLAB;
                modItem.C_STD_CODE_SLAB   = itemInfo.C_STD_CODE_SLAB;
                modItem.C_REMARK          = itemInfo.C_REMARK;//换产线原因
                //modItem.C_REMARK1 = itemInfo.C_REMARK1;
                modItem.C_REMARK2  = itemInfo.C_REMARK2;
                modItem.C_REMARK3  = itemInfo.C_REMARK3;//换规格原因
                modItem.C_REMARK4  = itemInfo.C_REMARK4;
                modItem.C_REMARK5  = itemInfo.C_REMARK5;
                modItem.N_IS_MERGE = 1;

                #endregion

                if (!dalTrpPlanRollItem.Add_Tran(modItem))
                {
                    TransactionHelper.RollBack();
                    return("下发失败!");
                }

                if (ids.Count > 1)
                {
                    foreach (var id in ids)
                    {
                        var m = dal.GetModel(id);
                        m.C_ITEM_ID = modItem.C_ID;
                        m.N_STATUS  = 3;
                        dal.Update(m);
                    }
                }
                //if (!dalTrpPlanRoll.Update_Trans(modelPlan))
                //{
                //    TransactionHelper.RollBack();
                //    return "下发失败!";
                //}

                TransactionHelper.Commit();

                if (ids.Count > 1)
                {
                    Dal_TRP_PLAN_ROLL_ITEM_INFO_LOG dalLog = new Dal_TRP_PLAN_ROLL_ITEM_INFO_LOG();
                    foreach (var id in ids)
                    {
                        {
                            var m = dal.GetModel(id);
                            Mod_TRP_PLAN_ROLL_ITEM_INFO_LOG log = new Mod_TRP_PLAN_ROLL_ITEM_INFO_LOG();
                            log.C_ID              = m.C_ID;
                            log.C_PLAN_ROLL_ID    = m.C_PLAN_ROLL_ID;
                            log.C_MAT_CODE        = m.C_MAT_CODE;
                            log.C_MAT_NAME        = m.C_MAT_NAME;
                            log.C_SPEC            = m.C_SPEC;
                            log.C_STL_GRD         = m.C_STL_GRD;
                            log.C_STD_CODE        = m.C_STD_CODE;
                            log.C_MAT_NAME        = m.C_MATRL_CODE_SLAB;
                            log.C_MATRL_NAME_SLAB = m.C_MATRL_NAME_SLAB;
                            log.C_SLAB_SIZE       = m.C_SLAB_SIZE;
                            log.N_SLAB_LENGTH     = m.N_SLAB_LENGTH;
                            log.N_SLAB_PW         = m.N_SLAB_PW;
                            log.C_LINE_DESC       = m.C_LINE_DESC;
                            log.C_LINE_CODE       = m.C_LINE_CODE;
                            log.N_ISSUE_WGT       = m.N_ISSUE_WGT;
                            log.C_ITEM_ID         = m.C_ITEM_ID;
                            dalLog.Add(log);
                        }
                    }
                }

                return(result);
            }
            catch
            {
                TransactionHelper.RollBack();
                return("下发失败!");
            }
        }
Beispiel #8
0
        private void btn_change_date_Click(object sender, EventArgs e)
        {
            if (this.dtp_d_plan_date.Text.Trim() == "" || this.dtp_d_need_date.Text.Trim() == "")
            {
                MessageBox.Show("请输入要修改的日期!");
                this.dtp_d_plan_date.Focus();
                return;
            }
            string cou = lst.Where(a => a.B_check).ToList().Count.ToString();

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

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

            btn_query_order_Click(null, null);
        }