Ejemplo n.º 1
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Mod_TMC_ROLL_DEPLOY_LOG model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update TMC_ROLL_DEPLOY_LOG set ");
            strSql.Append("C_BATCH_NO=:C_BATCH_NO,");
            strSql.Append("C_MAT_CODE=:C_MAT_CODE,");
            strSql.Append("C_STL_GRD=:C_STL_GRD,");
            strSql.Append("C_SPEC=:C_SPEC,");
            strSql.Append("C_OLDAREA=:C_OLDAREA,");
            strSql.Append("C_NEWAREA=:C_NEWAREA,");
            strSql.Append("C_EMPID=:C_EMPID,");
            strSql.Append("C_EMPNAME=:C_EMPNAME,");
            strSql.Append("D_MOD=:D_MOD");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_BATCH_NO", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_CODE", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STL_GRD",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SPEC",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_OLDAREA",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_NEWAREA",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMPID",    OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMPNAME",  OracleDbType.Varchar2, 100),
                new OracleParameter(":D_MOD",      OracleDbType.Date),
                new OracleParameter(":C_ID",       OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = model.C_BATCH_NO;
            parameters[1].Value = model.C_MAT_CODE;
            parameters[2].Value = model.C_STL_GRD;
            parameters[3].Value = model.C_SPEC;
            parameters[4].Value = model.C_OLDAREA;
            parameters[5].Value = model.C_NEWAREA;
            parameters[6].Value = model.C_EMPID;
            parameters[7].Value = model.C_EMPNAME;
            parameters[8].Value = model.D_MOD;
            parameters[9].Value = model.C_ID;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMC_ROLL_DEPLOY_LOG DataRowToModel(DataRow row)
        {
            Mod_TMC_ROLL_DEPLOY_LOG model = new Mod_TMC_ROLL_DEPLOY_LOG();

            if (row != null)
            {
                if (row["C_ID"] != null)
                {
                    model.C_ID = row["C_ID"].ToString();
                }
                if (row["C_BATCH_NO"] != null)
                {
                    model.C_BATCH_NO = row["C_BATCH_NO"].ToString();
                }
                if (row["C_MAT_CODE"] != null)
                {
                    model.C_MAT_CODE = row["C_MAT_CODE"].ToString();
                }
                if (row["C_STL_GRD"] != null)
                {
                    model.C_STL_GRD = row["C_STL_GRD"].ToString();
                }
                if (row["C_SPEC"] != null)
                {
                    model.C_SPEC = row["C_SPEC"].ToString();
                }
                if (row["C_OLDAREA"] != null)
                {
                    model.C_OLDAREA = row["C_OLDAREA"].ToString();
                }
                if (row["C_NEWAREA"] != null)
                {
                    model.C_NEWAREA = row["C_NEWAREA"].ToString();
                }
                if (row["C_EMPID"] != null)
                {
                    model.C_EMPID = row["C_EMPID"].ToString();
                }
                if (row["C_EMPNAME"] != null)
                {
                    model.C_EMPNAME = row["C_EMPNAME"].ToString();
                }
                if (row["D_MOD"] != null && row["D_MOD"].ToString() != "")
                {
                    model.D_MOD = DateTime.Parse(row["D_MOD"].ToString());
                }
            }
            return(model);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Mod_TMC_ROLL_DEPLOY_LOG model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into TMC_ROLL_DEPLOY_LOG(");
            strSql.Append("C_ID,C_BATCH_NO,C_MAT_CODE,C_STL_GRD,C_SPEC,C_OLDAREA,C_NEWAREA,C_EMPID,C_EMPNAME,D_MOD)");
            strSql.Append(" values (");
            strSql.Append(":C_ID,:C_BATCH_NO,:C_MAT_CODE,:C_STL_GRD,:C_SPEC,:C_OLDAREA,:C_NEWAREA,:C_EMPID,:C_EMPNAME,:D_MOD)");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_BATCH_NO", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_MAT_CODE", OracleDbType.Varchar2, 100),
                new OracleParameter(":C_STL_GRD",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_SPEC",     OracleDbType.Varchar2, 100),
                new OracleParameter(":C_OLDAREA",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_NEWAREA",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMPID",    OracleDbType.Varchar2, 100),
                new OracleParameter(":C_EMPNAME",  OracleDbType.Varchar2, 100),
                new OracleParameter(":D_MOD",      OracleDbType.Date)
            };
            parameters[0].Value = model.C_ID;
            parameters[1].Value = model.C_BATCH_NO;
            parameters[2].Value = model.C_MAT_CODE;
            parameters[3].Value = model.C_STL_GRD;
            parameters[4].Value = model.C_SPEC;
            parameters[5].Value = model.C_OLDAREA;
            parameters[6].Value = model.C_NEWAREA;
            parameters[7].Value = model.C_EMPID;
            parameters[8].Value = model.C_EMPNAME;
            parameters[9].Value = model.D_MOD;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMC_ROLL_DEPLOY_LOG GetModel(string C_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select C_ID,C_BATCH_NO,C_MAT_CODE,C_STL_GRD,C_SPEC,C_OLDAREA,C_NEWAREA,C_EMPID,C_EMPNAME,D_MOD from TMC_ROLL_DEPLOY_LOG ");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID", OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = C_ID;

            Mod_TMC_ROLL_DEPLOY_LOG model = new Mod_TMC_ROLL_DEPLOY_LOG();
            DataSet ds = DbHelperOra.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 5
0
        protected void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                string nextStep = hidNextSetpID.Value;//下一步骤

                if (nextStep == "0")
                {
                    #region               //先判定是否资源调配成功

                    bool   result = true; //判断当前发运数量已超出可发运量
                    string stlgrd = string.Empty;

                    #region                                     //初始化DataTable
                    DataTable dt = new DataTable();
                    dt.Columns.Add("matCode", typeof(string));  //物料编码
                    dt.Columns.Add("stdCode", typeof(string));  //执行标准
                    dt.Columns.Add("area", typeof(string));     //区域
                    dt.Columns.Add("pack", typeof(string));     //包装
                    dt.Columns.Add("lev", typeof(string));      //等级
                    dt.Columns.Add("custname", typeof(string)); //客户名称
                    dt.Columns.Add("conno", typeof(string));    //合同号
                    dt.Columns.Add("stlgrd", typeof(string));   //钢种
                    dt.Columns.Add("wgt", typeof(string));      //重量
                    #endregion



                    List <Mod_TMC_ROLL_DEPLOY_LOG> list = new List <Mod_TMC_ROLL_DEPLOY_LOG>();
                    for (int i = 0; i < rptList.Items.Count; i++)
                    {
                        HtmlInputCheckBox cbxselect   = (HtmlInputCheckBox)rptList.Items[i].FindControl("cbxselect");
                        Literal           ltlbatch    = (Literal)rptList.Items[i].FindControl("ltlbatch");    //批次号
                        Literal           ltlmatcode  = (Literal)rptList.Items[i].FindControl("ltlmatcode");  //物料编码
                        Literal           ltlstlgrd   = (Literal)rptList.Items[i].FindControl("ltlstlgrd");   //钢种
                        Literal           ltlspec     = (Literal)rptList.Items[i].FindControl("ltlspec");     //规格
                        Literal           ltlsalearea = (Literal)rptList.Items[i].FindControl("ltlsalearea"); //销售区域
                        Literal           ltlstdcode  = (Literal)rptList.Items[i].FindControl("ltlstdcode");  //执行标准
                        Literal           ltlpack     = (Literal)rptList.Items[i].FindControl("ltlpack");     //包装要求
                        Literal           ltllev      = (Literal)rptList.Items[i].FindControl("ltllev");      //质量等级
                        Literal           ltlN_WGT    = (Literal)rptList.Items[i].FindControl("ltlN_WGT");    //重量
                        Literal           ltlneedarea = (Literal)rptList.Items[i].FindControl("ltlneedarea"); //需求区域
                        Literal           ltlneedcust = (Literal)rptList.Items[i].FindControl("ltlneedcust"); //需求客户
                        Literal           ltlneedcon  = (Literal)rptList.Items[i].FindControl("ltlneedcon");  //需求合同
                        Literal           ltlzycust   = (Literal)rptList.Items[i].FindControl("ltlzycust");   //原资源客户
                        Literal           ltlzycon    = (Literal)rptList.Items[i].FindControl("ltlzycon");    //原资源合同

                        #region                                                                               //插入值
                        if (ts_dic.GetAreaFlag(ltlsalearea.Text) == "N")                                      //获取区域是否按客户发运Y/N
                        {
                            DataRow[] dr2 = dt.Select("matCode='" + ltlmatcode.Text + "' and stdCode='" + ltlstdcode.Text + "' and area='" + ltlsalearea.Text + "' and pack='" + ltlpack.Text + "' and lev='" + ltllev.Text + "'");
                            if (dr2.Length <= 0)
                            {
                                dt.Rows.Add(new object[] { ltlmatcode.Text, ltlstdcode.Text, ltlsalearea.Text, ltlpack.Text, ltllev.Text, "", "", ltlstlgrd.Text, ltlN_WGT.Text });
                            }
                            else
                            {
                                foreach (var item in dr2)
                                {
                                    item["wgt"] = Convert.ToString(Convert.ToDecimal(item["wgt"]) + Convert.ToDecimal(ltlN_WGT.Text));
                                }
                            }
                        }
                        else
                        {
                            DataRow[] dr2 = dt.Select("matCode='" + ltlmatcode.Text + "' and stdCode='" + ltlstdcode.Text + "' and area='" + ltlsalearea.Text + "' and pack='" + ltlpack.Text + "' and lev='" + ltllev.Text + "' and custname='" + ltlzycust.Text + "' and conno='" + ltlzycon.Text + "'");
                            if (dr2.Length <= 0)
                            {
                                dt.Rows.Add(new object[] { ltlmatcode.Text, ltlstdcode.Text, ltlsalearea.Text, ltlpack.Text, ltllev.Text, ltlzycust.Text, ltlzycon.Text, ltlstlgrd.Text, ltlN_WGT.Text });
                            }
                            else
                            {
                                foreach (var item in dr2)
                                {
                                    item["wgt"] = Convert.ToString(Convert.ToDecimal(item["wgt"]) + Convert.ToDecimal(ltlN_WGT.Text));
                                }
                            }
                        }
                        #endregion

                        #region //参数
                        Mod_TMC_ROLL_DEPLOY_LOG modLog = new Mod_TMC_ROLL_DEPLOY_LOG();
                        modLog.C_ROLL_PROCID = cbxselect.Value;
                        modLog.C_BATCH_NO    = ltlbatch.Text;
                        modLog.C_MAT_CODE    = ltlmatcode.Text;
                        modLog.C_STL_GRD     = ltlstlgrd.Text;
                        modLog.C_SPEC        = ltlspec.Text;
                        modLog.C_OLDAREA     = ltlsalearea.Text; //原资源区域
                        modLog.C_NEWAREA     = ltlneedarea.Text; //需求区域

                        modLog.C_OLDCUST = ltlzycust.Text;       //原资源客户
                        modLog.C_NEWCUST = ltlneedcust.Text;     //需求客户信息

                        modLog.C_OLDCON = ltlzycon.Text;         //原资源合同
                        modLog.C_NEWCON = ltlneedcon.Text;       //需求合同

                        modLog.C_EMPID     = ltlUserID.Text;
                        modLog.C_EMPNAME   = ltlUserName.Text;
                        modLog.C_STD_CODE  = ltlstdcode.Text;
                        modLog.C_JUDGE_LEV = ltllev.Text;
                        modLog.C_PACK      = ltlpack.Text;
                        list.Add(modLog);
                        #endregion
                    }

                    #region //在途量/库存量


                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        if (ts_dic.GetAreaFlag(dt.Rows[i]["area"].ToString()) == "N")//获取区域是否按客户发运Y/N
                        {
                            //判断当前发运数量已超出可发运量
                            if (!tmo_order.IsFy(Convert.ToDecimal(dt.Rows[i]["wgt"].ToString()), dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString()))
                            {
                                stlgrd = dt.Rows[i]["stlgrd"].ToString();
                                result = false;
                                break;
                            }
                        }
                        else
                        {
                            //判断当前发运数量已超出可发运量
                            if (!tmo_order.IsFy(Convert.ToDecimal(dt.Rows[i]["wgt"].ToString()), dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString(), dt.Rows[i]["custname"].ToString(), dt.Rows[i]["conno"].ToString()))
                            {
                                stlgrd = dt.Rows[i]["stlgrd"].ToString();
                                result = false;
                                break;
                            }
                        }
                    }

                    //if (dt.Rows.Count > 0)
                    //{
                    //    for (int i = 0; i < dt.Rows.Count; i++)
                    //    {
                    //        DataTable dtfyzt = tmo_order.ZTWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString()).Tables[0];
                    //        if (dtfyzt.Rows.Count > 0)//在途量
                    //        {
                    //            ztwgt += Convert.ToDecimal(dtfyzt.Compute("sum(N_FYWGT)", "true"));//合计在途量
                    //        }
                    //        DataTable dtkc = tmo_order.KCWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString()).Tables[0];
                    //        if (dtkc.Rows.Count > 0)//库存量
                    //        {
                    //            if (!string.IsNullOrEmpty(dtkc.Rows[0]["N_WGT"].ToString()))
                    //            {
                    //                kcwgt += Convert.ToDecimal(dtkc.Rows[0]["N_WGT"]);//合计在途量
                    //            }
                    //        }
                    //    }
                    //}
                    #endregion

                    if (result)
                    {
                        if (tmc_roll_deploy_log.InsertRoll_Proc3(list)) //执行调配资源
                        {
                            #region                                     //最后步骤操作

                            Mod_ApproveCon mod = new Mod_ApproveCon();

                            mod.C_EMP_ID    = ltlUserID.Text; //当前审批人
                            mod.NEXTSTEPID  = nextStep;       //下一步骤
                            mod.FILE_STATUS = "1";            // 办结
                            mod.FILEID      = ltlFileID.Text;
                            mod.CON_STATUS  = "2";            //审核通过
                            mod.CON_NO      = ltlTaskID.Text;
                            mod.STEPID      = ltlStepID.Text; //当前步骤

                            if (fileinfo.UpdateLastStep_ROLL(mod))
                            {
                                ProAdd("批准");
                            }
                            #endregion
                        }
                    }
                    else
                    {
                        string msg = stlgrd + ",存在发运单占用该资源";
                        txtContent.Text = msg;
                        WebMsg.MessageBox(stlgrd + ",存在发运单占用该资源,请点击驳回!");
                    }



                    #endregion
                }
                else
                {
                    #region //下一步骤操作

                    if (tmb_file_next_emp.UpdateNextSetp(ltlFileID.Text, ltlStepID.Text, nextStep, hidEmpID.Value, ltlUserID.Text))
                    {
                        ProAdd("批准");
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                WebMsg.MessageBox(ex.Message);
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TMC_ROLL_DEPLOY_LOG model)
 {
     return(dal.Update(model));
 }
Ejemplo n.º 7
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TMC_ROLL_DEPLOY_LOG model)
 {
     return(dal.Add(model));
 }
Ejemplo n.º 8
0
        //修改资源区域
        protected void btnedit_Click(object sender, EventArgs e)
        {
            try
            {
                #region                                    //初始化DataTable
                DataTable dt = new DataTable();
                dt.Columns.Add("matCode", typeof(string)); //物料编码
                dt.Columns.Add("stdCode", typeof(string)); //执行标准
                dt.Columns.Add("area", typeof(string));    //区域
                dt.Columns.Add("pack", typeof(string));    //包装
                dt.Columns.Add("lev", typeof(string));     //等级
                #endregion

                decimal ztwgt = 0; //在途量
                decimal kcwgt = 0; //库存量
                decimal tpwgt = 0; //调配量
                decimal kfwgt = 0; //可发量

                List <Mod_TMC_ROLL_DEPLOY_LOG> list = new List <Mod_TMC_ROLL_DEPLOY_LOG>();
                for (int i = 0; i < rptList.Items.Count; i++)
                {
                    HtmlInputCheckBox cbxselect   = (HtmlInputCheckBox)rptList.Items[i].FindControl("cbxselect");
                    Literal           ltlbatch    = (Literal)rptList.Items[i].FindControl("ltlbatch");    //批次号
                    Literal           ltlmatcode  = (Literal)rptList.Items[i].FindControl("ltlmatcode");  //物料编码
                    Literal           ltlstlgrd   = (Literal)rptList.Items[i].FindControl("ltlstlgrd");   //钢种
                    Literal           ltlspec     = (Literal)rptList.Items[i].FindControl("ltlspec");     //规格
                    Literal           ltlsalearea = (Literal)rptList.Items[i].FindControl("ltlsalearea"); //销售区域
                    Literal           ltlstdcode  = (Literal)rptList.Items[i].FindControl("ltlstdcode");  //执行标准
                    Literal           ltlpack     = (Literal)rptList.Items[i].FindControl("ltlpack");     //包装要求
                    Literal           ltllev      = (Literal)rptList.Items[i].FindControl("ltllev");      //质量等级
                    Literal           ltlN_WGT    = (Literal)rptList.Items[i].FindControl("ltlN_WGT");    //重量
                    if (cbxselect.Checked)
                    {
                        if (!string.IsNullOrEmpty(ltlN_WGT.Text))
                        {
                            tpwgt += Convert.ToDecimal(ltlN_WGT.Text);//合计调配量
                        }

                        DataRow[] dr = dt.Select("matCode='" + ltlmatcode.Text + "' and stdCode='" + ltlstdcode.Text + "' and area='" + ltlsalearea.Text + "' and pack='" + ltlpack.Text + "' and lev='" + ltllev.Text + "'");
                        if (dr.Length <= 0)
                        {
                            dt.Rows.Add(new object[] { ltlmatcode.Text, ltlstdcode.Text, ltlsalearea.Text, ltlpack.Text, ltllev.Text });
                        }

                        #region//参数
                        Mod_TMC_ROLL_DEPLOY_LOG mod = new Mod_TMC_ROLL_DEPLOY_LOG();
                        mod.C_ROLL_PROCID = cbxselect.Value;
                        mod.C_BATCH_NO    = ltlbatch.Text;
                        mod.C_MAT_CODE    = ltlmatcode.Text;
                        mod.C_STL_GRD     = ltlstlgrd.Text;
                        mod.C_SPEC        = ltlspec.Text;
                        mod.C_OLDAREA     = ltlsalearea.Text;
                        mod.C_NEWAREA     = dropneedarea.SelectedItem.Value;
                        mod.C_EMPID       = ltlempid.Text;
                        mod.C_EMPNAME     = ltlempname.Text;
                        mod.C_STD_CODE    = ltlstdcode.Text;
                        mod.C_JUDGE_LEV   = ltllev.Text;
                        mod.C_PACK        = ltlpack.Text;
                        list.Add(mod);
                        #endregion
                    }
                }

                #region //在途量/库存量
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        DataTable dtfyzt = tmo_order.ZTWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString()).Tables[0];
                        if (dtfyzt.Rows.Count > 0)                                              //在途量
                        {
                            ztwgt += Convert.ToDecimal(dtfyzt.Compute("sum(N_FYWGT)", "true")); //合计在途量
                        }
                        DataTable dtkc = tmo_order.KCWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString()).Tables[0];
                        if (dtkc.Rows.Count > 0)//库存量
                        {
                            if (!string.IsNullOrEmpty(dtkc.Rows[0]["N_WGT"].ToString()))
                            {
                                kcwgt += Convert.ToDecimal(dtkc.Rows[0]["N_WGT"]);//合计在途量
                            }
                        }
                    }
                }
                #endregion

                #region //执行调配资源
                kfwgt = kcwgt - ztwgt;

                if (tpwgt <= kfwgt)
                {
                    if (list.Count > 0)
                    {
                        if (tmc_roll_deploy_log.InsertRoll_Proc2(list))
                        {
                            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配成功');</script>", false);
                            BindList();
                        }
                        else
                        {
                            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配失败');</script>", false);
                        }
                    }
                    else
                    {
                        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> close();</script>", false);
                    }
                }
                else
                {
                    this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配资源,存在发运单占用其中资源');</script>", false);
                }
                #endregion
            }
            catch (Exception ex)
            {
                this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('" + ex.Message + "');</script>", false);
            }
        }
Ejemplo n.º 9
0
        //客户调配
        protected void btneditCust_Click(object sender, EventArgs e)
        {
            var vUser = (NF.Framework.CurrentUser)HttpContext.Current.Session["CurrentUser"];

            string dept = ts_user.GetDept(vUser.Account);



            bool result = true;  //判断当前发运数量已超出可发运量

            bool result2 = true; //调配区域是否一致

            string stlgrd = string.Empty;

            #region                                     //初始化DataTable
            DataTable dt = new DataTable();
            dt.Columns.Add("matCode", typeof(string));  //物料编码
            dt.Columns.Add("stdCode", typeof(string));  //执行标准
            dt.Columns.Add("area", typeof(string));     //区域
            dt.Columns.Add("pack", typeof(string));     //包装
            dt.Columns.Add("lev", typeof(string));      //等级
            dt.Columns.Add("custname", typeof(string)); //客户
            dt.Columns.Add("conno", typeof(string));    //合同号
            dt.Columns.Add("stlgrd", typeof(string));   //钢种
            dt.Columns.Add("wgt", typeof(string));      //重量
            #endregion

            decimal ztwgt = 0; //在途量
            decimal kcwgt = 0; //库存量
            decimal tpwgt = 0; //调配量
            decimal kfwgt = 0; //可发量

            List <Mod_TMC_ROLL_DEPLOY_LOG> list = new List <Mod_TMC_ROLL_DEPLOY_LOG>();
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                HtmlInputCheckBox cbxselect      = (HtmlInputCheckBox)rptList.Items[i].FindControl("cbxselect");
                Literal           ltlbatch       = (Literal)rptList.Items[i].FindControl("ltlbatch");       //批次号
                Literal           ltlmatcode     = (Literal)rptList.Items[i].FindControl("ltlmatcode");     //物料编码
                Literal           ltlstlgrd      = (Literal)rptList.Items[i].FindControl("ltlstlgrd");      //钢种
                Literal           ltlspec        = (Literal)rptList.Items[i].FindControl("ltlspec");        //规格
                Literal           ltlsalearea    = (Literal)rptList.Items[i].FindControl("ltlsalearea");    //销售区域
                Literal           ltlstdcode     = (Literal)rptList.Items[i].FindControl("ltlstdcode");     //执行标准
                Literal           ltlpack        = (Literal)rptList.Items[i].FindControl("ltlpack");        //包装要求
                Literal           ltllev         = (Literal)rptList.Items[i].FindControl("ltllev");         //质量等级
                Literal           ltlN_WGT       = (Literal)rptList.Items[i].FindControl("ltlN_WGT");       //重量
                Literal           ltlC_CUST_NAME = (Literal)rptList.Items[i].FindControl("ltlC_CUST_NAME"); //客户信息
                Literal           ltlC_CON_NO    = (Literal)rptList.Items[i].FindControl("ltlC_CON_NO");    //合同号
                if (cbxselect.Checked)
                {
                    //if (ltlsalearea.Text != dept)
                    //{
                    //    result = false;
                    //    break;
                    //}

                    DataRow[] dr = dt.Select("matCode='" + ltlmatcode.Text + "' and stdCode='" + ltlstdcode.Text + "' and area='" + ltlsalearea.Text + "' and pack='" + ltlpack.Text + "' and lev='" + ltllev.Text + "' and custname='" + ltlC_CUST_NAME.Text + "' and conno='" + ltlC_CON_NO.Text + "'");
                    if (dr.Length <= 0)
                    {
                        dt.Rows.Add(new object[] { ltlmatcode.Text, ltlstdcode.Text, ltlsalearea.Text, ltlpack.Text, ltllev.Text, ltlC_CUST_NAME.Text, ltlC_CON_NO.Text, ltlstlgrd.Text, ltlN_WGT.Text });
                    }
                    else
                    {
                        foreach (var item in dr)
                        {
                            item["wgt"] = Convert.ToString(Convert.ToDecimal(item["wgt"]) + Convert.ToDecimal(ltlN_WGT.Text));
                        }
                    }

                    #region //参数
                    Mod_TMC_ROLL_DEPLOY_LOG mod = new Mod_TMC_ROLL_DEPLOY_LOG();
                    mod.C_ROLL_PROCID = cbxselect.Value;
                    mod.C_BATCH_NO    = ltlbatch.Text;
                    mod.C_MAT_CODE    = ltlmatcode.Text;
                    mod.C_STL_GRD     = ltlstlgrd.Text;
                    mod.C_SPEC        = ltlspec.Text;
                    mod.C_OLDAREA     = ltlsalearea.Text;
                    mod.C_NEWAREA     = dropneedarea.SelectedValue;
                    mod.C_OLDCUST     = ltlC_CUST_NAME.Text;
                    mod.C_NEWCUST     = txtC_CGC.Value.Trim();

                    mod.C_OLDCON = ltlC_CON_NO.Text;                                                         //原资源合同
                    mod.C_NEWCON = txtNeedCon.Text.Trim() == "" ? ltlC_CON_NO.Text : txtNeedCon.Text.Trim(); //需求合同

                    mod.C_EMPID     = ltlempid.Text;
                    mod.C_EMPNAME   = ltlempname.Text;
                    mod.C_STD_CODE  = ltlstdcode.Text;
                    mod.C_JUDGE_LEV = ltllev.Text;
                    mod.C_PACK      = ltlpack.Text;
                    list.Add(mod);
                    #endregion
                }
            }

            if (result2)
            {
                #region //在途量/库存量
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        tpwgt = Convert.ToDecimal(dt.Rows[i]["wgt"]);

                        DataTable dtfyzt = tmo_order.ZTWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString(), dt.Rows[i]["custname"].ToString(), dt.Rows[i]["conno"].ToString()).Tables[0];
                        if (dtfyzt.Rows.Count > 0)                                             //在途量
                        {
                            ztwgt = Convert.ToDecimal(dtfyzt.Compute("sum(N_FYWGT)", "true")); //合计在途量
                        }
                        DataTable dtkc = tmo_order.KCWGT(dt.Rows[i]["matCode"].ToString(), dt.Rows[i]["stdCode"].ToString(), dt.Rows[i]["area"].ToString(), dt.Rows[i]["pack"].ToString(), dt.Rows[i]["lev"].ToString(), dt.Rows[i]["custname"].ToString(), dt.Rows[i]["conno"].ToString()).Tables[0];
                        if (dtkc.Rows.Count > 0)//库存量
                        {
                            if (!string.IsNullOrEmpty(dtkc.Rows[0]["N_WGT"].ToString()))
                            {
                                kcwgt = Convert.ToDecimal(dtkc.Rows[0]["N_WGT"]);//合计在途量
                            }
                        }
                        kfwgt = kcwgt - ztwgt;
                        if (tpwgt > kfwgt)
                        {
                            result = false;
                            break;
                        }
                    }
                }
                #endregion

                #region                            //执行调配资源

                if (dropflag.SelectedValue == "Y") //已判执行
                {
                    if (result)                    //判断当前发运数量已超出可发运量
                    {
                        if (list.Count > 0)
                        {
                            if (tmc_roll_deploy_log.InsertRoll_Proc3(list))
                            {
                                this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配成功');</script>", false);
                                BindList();
                            }
                        }
                        else
                        {
                            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> close();</script>", false);
                        }
                    }
                    else
                    {
                        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配资源,存在发运单占用其中客户资源');</script>", false);
                    }
                }
                else
                {
                    #region//待判执行
                    if (list.Count > 0)
                    {
                        if (tmc_roll_deploy_log.InsertRoll_Proc3(list))
                        {
                            this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('调配成功');</script>", false);
                            BindList();
                        }
                    }
                    else
                    {
                        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> close();</script>", false);
                    }
                    #endregion
                }
                #endregion
            }
            else
            {
                this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "<script language='javascript'> _closemsg('其中资源涉及跨区调配,请重新选择!');</script>", false);
            }
        }