/// <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)); }
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); }
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)); }