Example #1
0
        /// <summary>
        /// 采购商扫一扫成客户
        /// tim
        /// 2015-7-22
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        ///
        // [HttpPost]
        public ActionResult Scan(string obj)
        {
            BaseResult br = new BaseResult();

            try
            {
                var id_des    = Base64Encrypt.DecodeBase64(obj);
                var id_master = DESEncrypt.DecryptDES(id_des);
                if (!string.IsNullOrWhiteSpace(obj))
                {
                    //获取供应商信息
                    var ht = new Hashtable();
                    ht.Add("id_user_master", id_master);
                    br = BusinessFactory.Supplier.Get(ht);
                    if (!br.Success || br.Data == null)
                    {
                        br.Success = false;
                        br.Message.Add("您所扫描的供应商不存在.");
                        br.Level = ErrorLevel.Warning;
                        return(Json(br));
                    }

                    var gys = br.Data as Tb_Gys_Edit;

                    if (gys.id_user_master.Equals(GetLoginInfo <long>("id_user_master")))
                    {
                        br.Success = false;
                        br.Message.Add("自己不能扫描关注自己.");
                        br.Level = ErrorLevel.Warning;
                        return(Json(br));
                    }
                    //采购关系对象
                    Tb_Gys_Cgs_Check model = new Tb_Gys_Cgs_Check()
                    {
                        flag_form  = GetLoginInfo <string>("flag_from"),
                        flag_state = Gys_Cgs_Status.Apply,
                        id_cgs     = GetLoginInfo <long>("id_buyer"),
                        id_gys     = gys.id,
                        rq_sq      = DateTime.Now,
                        id_user    = GetLoginInfo <long>("id_user"),
                    };

                    //删除关注关系
                    ht.Clear();
                    ht.Add("id_gys", model.id_gys);
                    ht.Add("id_cgs", model.id_cgs);
                    ht.Add("id_user", model.id_user);
                    ht.Add("flag_from", model.flag_form);
                    BusinessFactory.SupplierAttention.Delete(ht);

                    //申请关注
                    br = BusinessFactory.BuyerAttention.Add(model);
                    if (br.Success)
                    {
                        WriteDBLog(LogFlag.Base, br.Message);

                        //获取采购商级别
                        ht.Clear();
                        ht.Add("id_gys", gys.id);
                        ht.Add("flag_sys", 1);
                        br = BusinessFactory.CustomerType.Get(ht);
                        if (br.Success && br.Data != null)
                        {
                            var cgs_level = br.Data as Tb_Cgs_Level;

                            //通过关注申请,直接成为客户
                            var gysmodel = new Tb_Cgs_Edit()
                            {
                                id           = model.id_cgs,
                                companyname  = GetLoginInfo <string>("companyname"),
                                id_cgs_level = cgs_level.id,
                                flag_pay     = 0,
                                id_create    = GetLoginInfo <long>("id_user"),
                                id_edit      = GetLoginInfo <long>("id_user")
                            };
                            ht.Clear();
                            ht.Add("model", gysmodel);
                            ht.Add("flag_from", model.flag_form);
                            ht.Add("id_supplier", gys.id);
                            br = BusinessFactory.SupplierAttention.Add(ht);
                            if (br.Success)
                            {
                                WriteDBLog(LogFlag.Base, br.Message);
                            }
                        }
                        else
                        {
                            br.Message.Clear();
                            br.Message.Add("供应商没有设置默认客户级别,无法扫描自动关注,请登录网站手动设置。");
                            br.Success = false;
                            br.Level   = ErrorLevel.Warning;
                        }
                    }
                }
                else
                {
                    br.Message.Clear();
                    br.Message.Add("扫描的二维码不正确。");
                    br.Success = false;
                    br.Level   = ErrorLevel.Warning;
                }
            }
            catch (CySoftException ex)
            {
                br.Message.Clear();
                br.Message.Add(ex.Message);
                br.Success = false;
                br.Level   = ErrorLevel.Warning;
            }
            catch (Exception ex)
            {
                br.Message.Clear();
                br.Message.Add(ex.Message);
                br.Success = false;
                br.Level   = ErrorLevel.Warning;
            }
            return(Json(br));
        }
Example #2
0
        public override BaseResult Add(dynamic entity)
        {
            BaseResult  br          = new BaseResult();
            Hashtable   param       = (Hashtable)entity;
            Tb_Cgs_Edit model       = (Tb_Cgs_Edit)param["model"];
            long        id_supplier = TypeConvert.ToInt64(param["id_supplier"], 0);
            string      flag_from   = param.ContainsKey("flag_from") ? param["flag_from"].ToString() : "PC";

            if (model == null || !model.id.HasValue || !(model.id > 0) || id_supplier.Equals(0))
            {
                br.Success = false;
                br.Message.Add("关注参数错误.");
                br.Level = ErrorLevel.Warning;
                br.Data  = "companyName";
                return(br);
            }


            Hashtable ht = new Hashtable();

            ht.Add("id_gys", id_supplier);
            ht.Add("id_cgs", model.id);
            var gcgx = DAL.GetItem <Tb_Gys_Cgs_Check>(typeof(Tb_Gys_Cgs_Check), ht);

            if (gcgx == null)
            {
                br.Success = false;
                br.Message.Add("客户的申请已处理过了.");
                br.Level = ErrorLevel.Warning;
                return(br);
            }
            if (gcgx.flag_form.Equals(Gys_Cgs_Status.Refuse))
            {
                br.Success = false;
                br.Message.Add("客户的申请已被拒绝过了.");
                br.Level = ErrorLevel.Warning;
                return(br);
            }

            //采购商
            param.Clear();
            param["id"] = model.id;
            var cgs = (Tb_Cgs)DAL.GetItem <Tb_Cgs>(typeof(Tb_Cgs), param);

            if (cgs == null || !cgs.id.HasValue || !(cgs.id > 0))
            {
                //成功后删除申请记录
                DAL.Delete(typeof(Tb_Gys_Cgs_Check), ht);
                br.Success = false;
                br.Message.Add("客户不存在.");
                br.Level = ErrorLevel.Warning;
                br.Data  = "cgs";
                return(br);
            }
            param.Clear();
            param["id"] = id_supplier;
            var gys = (Tb_Gys)DAL.GetItem <Tb_Gys>(typeof(Tb_Gys), param);

            if (gys == null || !gys.id.HasValue || !(gys.id > 0))
            {
                //成功后删除申请记录
                DAL.Delete(typeof(Tb_Gys_Cgs_Check), ht);
                br.Success = false;
                br.Message.Add("供应商不存在.");
                br.Level = ErrorLevel.Warning;
                br.Data  = "gys";
                return(br);
            }

            string name_gys = gys.companyname;

            param.Clear();
            param.Add("alias_cgs", model.companyname);
            param.Add("id_user_master_gys", gys.id_user_master);
            param.Add("not_id_user_master_cgs", cgs.id_user_master);
            if (DAL.GetCount(typeof(Tb_Gys_Cgs), param) > 0)
            {
                br.Success = false;
                br.Message.Add("客户名已被使用");
                br.Level = ErrorLevel.Warning;
                br.Data  = "companyName";
                return(br);
            }
            if (!model.bm_gys_Interface.IsEmpty())
            {
                param.Clear();
                param.Add("bm_gys_Interface", model.bm_gys_Interface);
                param.Add("id_user_master_gys", gys.id_user_master);
                param.Add("not_id_user_master_cgs", cgs.id_user_master);
                if (DAL.GetCount(typeof(Tb_Gys_Cgs), param) > 0)
                {
                    br.Success = false;
                    br.Message.Add("客户编码已被使用");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "bm_gys_Interface";
                    return(br);
                }
            }

            //获取供应商的公司名称
            param.Clear();
            param.Add("id", gys.id_user_master);
            var    TbUser          = DAL.GetItem <Tb_User>(typeof(Tb_User), param);
            string gys_companyname = string.Empty;

            if (TbUser != null)
            {
                gys_companyname = TbUser.companyname;
            }


            param.Clear();
            param["id_user_master_gys"] = gys.id_user_master;
            param["id_user_master_cgs"] = cgs.id_user_master;
            if (DAL.GetCount(typeof(Tb_Gys_Cgs), param) > 0)
            {
                if (gys_companyname != string.Empty)
                {
                    param.Add("new_alias_gys", gys_companyname);
                }
                param.Add("new_alias_cgs", model.companyname);
                param.Add("new_id_cgs_level", model.id_cgs_level);
                param.Add("new_bm_gys_Interface", model.bm_gys_Interface);
                param.Add("new_rq_treaty_end", model.rq_treaty_end);
                param.Add("new_rq_treaty_start", model.rq_treaty_start);
                param.Add("new_flag_stop", YesNoFlag.No);
                param.Add("new_rq_edit", model.rq_edit);
                param.Add("new_id_edit", model.id_edit);
                DAL.UpdatePart(typeof(Tb_Gys_Cgs), param);
            }
            else
            {
                Tb_Gys_Cgs gysCgs = new Tb_Gys_Cgs();
                gysCgs.id_gys             = id_supplier;
                gysCgs.id_cgs             = cgs.id;
                gysCgs.alias_cgs          = model.companyname;
                gysCgs.alias_gys          = name_gys;
                gysCgs.flag_from          = flag_from;
                gysCgs.flag_pay           = model.flag_pay;
                gysCgs.flag_stop          = YesNoFlag.No;
                gysCgs.id_cgs_level       = model.id_cgs_level;
                gysCgs.id_create          = model.id_create;
                gysCgs.id_edit            = model.id_edit;
                gysCgs.id_user_cgs        = cgs.id_user_master;
                gysCgs.id_user_gys        = gys.id_user_master;
                gysCgs.id_user_master_cgs = cgs.id_user_master;
                gysCgs.id_user_master_gys = gys.id_user_master;
                gysCgs.rq_treaty_end      = model.rq_treaty_end;
                gysCgs.rq_treaty_start    = model.rq_treaty_start;
                gysCgs.bm_gys_Interface   = model.bm_gys_Interface;
                gysCgs.rq_create          = DateTime.Now;
                DAL.Add(gysCgs);
            }

            //成功后删除申请记录
            DAL.Delete(typeof(Tb_Gys_Cgs_Check), ht);

            //记录供采关系日志
            var Loggcgx = new Tb_Gys_Cgs_Log();

            Loggcgx.id_cgs     = cgs.id.Value;
            Loggcgx.id_gys     = gys.id.Value;
            Loggcgx.id_user    = model.id_create.Value;
            Loggcgx.flag_state = Gys_Cgs_Status.Accept;
            Loggcgx.flag_form  = flag_from;
            Loggcgx.contents   = string.Format("[{0}]接受[{1}]成为客户.", gys.companyname, cgs.companyname);
            DAL.Add(Loggcgx);

            br.Message.Add(string.Format("[{0}]接受[{1}]成为客户.", gys.companyname, cgs.companyname));
            br.Success = true;
            return(br);
        }
Example #3
0
        public ActionResult Update(string obj)
        {
            BaseResult br = new BaseResult();

            try
            {
                Tb_Cgs_Edit model = JSON.Deserialize <Tb_Cgs_Edit>(obj);
                if (model.id < 1 || model.id_user_master < 1)
                {
                    br.Success = false;
                    br.Message.Add("提交的数据不完整,请刷新后再试");
                    br.Level = ErrorLevel.Warning;
                    return(Json(br));
                }
                if (model.companyname.IsEmpty())
                {
                    br.Success = false;
                    br.Message.Add("客户名称不能为空");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "companyName";
                    return(Json(br));
                }
                if (model.id_cgs_level < 1)
                {
                    br.Success = false;
                    br.Message.Add("请选择客户级别");
                    br.Level = ErrorLevel.Warning;
                    br.Data  = "customerLevel";
                    return(Json(br));
                }

                if (model.rq_treaty_start > new DateTime(1900, 1, 1) && model.rq_treaty_end > new DateTime(1900, 1, 1) && model.rq_treaty_start > model.rq_treaty_end)
                {
                    br.Success = false;
                    br.Message.Add("合约有效期有误");
                    br.Level = ErrorLevel.Warning;
                    return(Json(br));
                }
                if (model.flag_activeed == YesNoFlag.No && model.flag_active == YesNoFlag.Yes)
                {
                    if (model.id_province < 1 || model.id_city < 1)
                    {
                        br.Success = false;
                        br.Message.Add("至少选择省份和城市");
                        br.Level = ErrorLevel.Warning;
                        br.Data  = "area";
                        return(Json(br));
                    }
                    if (model.name.IsEmpty())
                    {
                        br.Success = false;
                        br.Message.Add("姓名不能为空");
                        br.Level = ErrorLevel.Warning;
                        br.Data  = "name";
                        return(Json(br));
                    }
                    if (model.phone.IsEmpty())
                    {
                        br.Success = false;
                        br.Message.Add("手机号不能为空");
                        br.Level = ErrorLevel.Warning;
                        br.Data  = "phone";
                        return(Json(br));
                    }
                    br = CyVerify.CheckUserName(model.username);
                    if (!br.Success)
                    {
                        return(Json(br));
                    }
                    if (model.password.IsEmpty())
                    {
                        br.Success = false;
                        br.Message.Add("密码不能为空");
                        br.Level = ErrorLevel.Warning;
                        br.Data  = "username";
                        return(Json(br));
                    }
                }
                model.id_edit     = GetLoginInfo <long>("id_user");
                model.id_cgs_shdz = BusinessFactory.Utilety.GetNextKey(typeof(Tb_Cgs_Shdz));
                Hashtable param = new Hashtable();
                param.Add("model", model);
                param.Add("id_user_master_gys", GetLoginInfo <long>("id_user_master"));
                param.Add("name_gys", GetLoginInfo <string>("companyname"));
                param.Add("id_user", GetLoginInfo <long>("id_user"));
                param.Add("flag_from", model.flag_from);
                br = BusinessFactory.Customer.Update(param);
                if (br.Success)
                {
                    WriteDBLog(LogFlag.Base, br.Message);
                }
            }
            catch (CySoftException ex)
            {
                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(Json(br));
        }