using Ninject; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Web.Mvc; using WX.CRM.BLL; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.Soft; using WX.CRM.IBLL.Util; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; using WX.CRM.Model.Enum; using WX.CRM.Model.MAP; using WX.CRM.Model.QueryMap; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.WeiXin { public class TDOrderController : BaseController { private IWX_SZZYORDER wx_SzzyOrder_BL; private IWX_SZZYPRODUCT wx_SzzyProduct_BL; private IWX_SZZYSUBPRODUCT wx_SzzySubProduct_BL; private IRES_CUSTOMERDETAIL res_CustomerDetail_BL; private IRES_CUSTOMER_Q res_Customer_Q_BL; private IRES_CUSTOMER res_Customer_BL; [Inject] public CACHE_BL cache_BL { get; set; } [Inject] public IWX_RCONTACT wx_Rcontact_BL { get; set; } [Inject] public IWX_COMMISSIONRULE wx_CommissionRule_BL { get; set; } [Inject] public IWX_ARRIVALPAYLOG wx_ArrivalPayLog_BL { get; set; } [Inject] public IWX_TDORDER wx_TDorder_BL { get; set; } [Inject] public IWX_ORDEREXT wx_OrderExt_BL { get; set; } [Inject] public ISecurityHelper sHelper { get; set; } [Inject] public ISOFT_USER_Q soft_User_BL { get; set; } [Inject] public IRES_RESOURCEMOBILE_Q res_ResourceMobile_BL { get; set; } [Inject] public IRES_CUSTOMERUSER_Q _customerUser_Q { get; set; } private ValidationErrors errors = new ValidationErrors(); public TDOrderController(IWX_SZZYORDER wx_SzzyOrder_BL, IWX_SZZYPRODUCT wx_SzzyProduct_BL, IWX_SZZYSUBPRODUCT wx_SzzySubProduct_BL, IRES_CUSTOMERDETAIL res_CustomerDetail_BL, IRES_CUSTOMER_Q res_Customer_Q_BL, IRES_CUSTOMER res_Customer_BL) { this.wx_SzzyOrder_BL = wx_SzzyOrder_BL; this.wx_SzzyProduct_BL = wx_SzzyProduct_BL; this.wx_SzzySubProduct_BL = wx_SzzySubProduct_BL; this.res_CustomerDetail_BL = res_CustomerDetail_BL; this.res_Customer_Q_BL = res_Customer_Q_BL; this.res_Customer_BL = res_Customer_BL; } #region 我的订单 [AuthorizeRedirect(Roles = InitRights.CONST_我的订单)] public ActionResult Index() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.我的订单, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "更新订单数据", "icon-detail", "UpdateOrder_Click", true); ViewBag.ToolBar = tool; //table Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("ORDERID", "编号"); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("SUBPRODUCTNAME", "", "产品"); tab.AddHeadCol("NEEDPAY", "", "应付金额"); tab.AddHeadCol("FINALPAY", "", "实付金额"); tab.AddHeadCol("ARRIVALPAY", "", "到账金额"); tab.AddHeadCol("ARRIVALPAY", "", "到账时间"); tab.AddHeadCol("SZZYORDERID", "", "订单ID"); tab.AddHeadCol("ORDERTYPE", "", "订单类型"); tab.AddHeadCol("ORDERSTATUS", "", "订单状态"); tab.AddHeadCol("CTIME", "", "下单时间"); tab.AddHeadCol("OTIME", "", "开通时间"); //tab.AddHeadCol("", "", ""); tab.AddHeadCol("CUSTOMERUSERNAME", "", "客户微信"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20"); ViewBag.productList = getProductList(); ViewBag.inneruserid = UserId; ViewBag.userGroupId = userGroupId; ViewBag.saleDeptId = saleDeptId; ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_我的订单)] public JsonResult GetHtmlList(Pager pager, string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string columns) { var groupId = Request["groupId"]; decimal userId = Request["userId"].GetDecimal(0); if (string.IsNullOrEmpty(groupId) && userId <= 0) userId = UserId; List list = wx_TDorder_BL.GetList(ref pager, resId, contractCode, szzyOrderId, productId, subProductId, orderType, stime, etime, groupId, userId, orderStatus, ostime, oetime, null); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddHiddenCol(model.ORDERID); var linkUrl = string.Format("{2}" , "客户详细" , "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.RESID , model.RESID); table.AddCol(linkUrl); table.AddCol(model.SUBPRODUCTNAME); table.AddCol(model.NEEDPAY); table.AddCol(model.FINALPAY); table.AddCol(model.ARRIVALPAY); table.AddCol(model.ARRIVALTIME); table.AddCol(model.SZZYORDERID); table.AddCol(getOrderTypeStr(model.ORDERTYPE.Value)); table.AddCol(getOrderStatusStr(model.ORDERSTATUS)); table.AddCol(model.CTIME); table.AddCol(model.OTIME); table.AddCol(model.CUSTOMERUSERNAME); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 添加订单 //[HttpGet] //[AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Add)] //public ActionResult Add() //{ // var userNameRequired = cache_BL.GetValue_Parameter(Model.Enum.Parameter.WeiXin_OrderUserNameRequired); // if (string.IsNullOrWhiteSpace(userNameRequired) || userNameRequired == "1") // { // ViewBag.userNameRequired = 1; // } // else // { // ViewBag.userNameRequired = 0; // } // ViewBag.productList = getProductList(); // return View(new WX_SZZYORDER_Extend()); //} //[HttpPost] //[AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Add)] //public JsonResult Add(WX_SZZYORDER_Extend model, decimal productId, decimal subProductId, string mobile, decimal? needPay, string source) //{ // if (!ModelState.IsValid) // { // return JsonHandler.ValidateFailMessage(); // } // if (!Utility.ChekMobile(mobile)) // { // errors.Add("请填写正确的手机号!"); // return JsonHandler.UpdateMessage(errors, false); // } // if (subProductId <= 0 || productId <= 0) // { // errors.Add("请选择产品分类"); // return JsonHandler.UpdateMessage(errors, false); // } // if (!needPay.HasValue || needPay.Value < 0) // { // errors.Add("请填写应付金额"); // return JsonHandler.UpdateMessage(errors, false); // } // if (string.IsNullOrWhiteSpace(source)) // { // errors.Add("请选择客户来源"); // return JsonHandler.UpdateMessage(errors, false); // } // var required = cache_BL.GetValue_Parameter(Model.Enum.Parameter.WeiXin_OrderUserNameRequired); // if (string.IsNullOrWhiteSpace(required) || required == "1") // { // if (string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // else // { // if (source == "1" && string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // if (soft_User_BL.GetUser_userName(model.SoftUserName) == null) // { // errors.Add("用户名不存在!"); // return JsonHandler.UpdateMessage(errors, false); // } // if (!model.OpenDays.HasValue || model.OpenDays.Value < 1) // { // errors.Add("开通天数必须大于0"); // return JsonHandler.UpdateMessage(errors, false); // } // string resid = WX.CRM.Common.ResUtil.CreateResId(mobile); // if (res_Customer_Q_BL.getResCustomerByResId(resid) == null) // { // res_Customer_BL.ResgisterCustomer(mobile, resid, "orderres"); // } // model.wx_SzzyOrder.ORDERID = new SEQUENCES_BL().Seq_base_get(); // model.wx_SzzyOrder.OPERATETIME = DateTime.Now; // model.wx_SzzyOrder.INNERUSERID = UserId; // model.wx_SzzyOrder.RESID = resid; // model.wx_SzzyOrder.ISFINANCEPAY = 0; // model.wx_SzzyOrder.OPENORDER = 0; // model.wx_SzzyOrder.ISOPEN = 0; // model.wx_SzzyOrder.ORDERTYPE = 1; // model.wx_SzzyOrder.ORDERSTATUS = "1"; // model.wx_SzzyOrder.ORDERSTATUSNAME = "未开通"; // model.wx_SzzyOrder.PRODUCTNAME = wx_SzzyProduct_BL.Get(m => m.PRODUCTID == productId).PRODUCTNAME; // model.wx_SzzyOrder.NEEDPAY = needPay; // model.wx_SzzyOrder.RETURNNEEDPAY = needPay; // model.wx_SzzyOrder.SOURCE = source; // model.wx_SzzyOrder.PRODUCTID = productId; // model.wx_SzzyOrder.SUBPRODUCTID = subProductId; // model.wx_SzzyOrder.CTIME = DateTime.Now; // var subProduct = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId); // model.wx_SzzyOrder.SUBPRODUCTNAME = subProduct.SUBPRODUCTNAME; // model.wx_SzzyOrder.OPENDAYS = model.OpenDays; // model.wx_SzzyOrder.CNAME = model.Name; // if (!model.wx_SzzyOrder.TOTALUPGRADEVALUE.HasValue) // { // model.wx_SzzyOrder.TOTALUPGRADEVALUE = 0; // } // model.wx_SzzyOrder.REQUESTSTATUS = 1; // var result = wx_SzzyOrder_BL.Add(model.wx_SzzyOrder) > 0; // //本地订单库写入成功,然后调用上证综研订单接口 // if (result) // { // if (!string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // wx_SzzyOrder_BL.UpdateResIdByWxUserName(resid, model.wx_SzzyOrder.CUSTOMERUSERNAME); // } // WX_ORDEREXT orderExt = new WX_ORDEREXT(); // orderExt.ORDERID = model.wx_SzzyOrder.ORDERID; // orderExt.PAYNO = model.PayNo; // orderExt.ISPAYED = 0; // orderExt.OPENDAYS = model.OpenDays; // orderExt.NAME = model.Name; // orderExt.SOFTUSERNAME = model.SoftUserName; // orderExt.PAYTYPE = model.PayType; // wx_OrderExt_BL.Add(orderExt); // } // return JsonHandler.ManageMessage(errors.Error, result, model.wx_SzzyOrder.ORDERID.ToString()); //} #endregion #region 客户资源页面添加订单 //[HttpGet] //[AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Add)] //public ActionResult AddByRes(string CustomerId) //{ // var model = new WX_SZZYORDER_Extend(); // List lists = new List(); // try // { // if (!string.IsNullOrEmpty(CustomerId)) // { // lists = _customerUser_Q.GetListByCustomerId(CustomerId); // } // if (!string.IsNullOrWhiteSpace(CustomerId)) // { // var customerDetail = res_CustomerDetail_BL.Get(m => m.RESID == CustomerId); // if (customerDetail != null) // { // model.Name = customerDetail.CNAME; // } // } // } // catch (Exception ex) // { // LogHelper.Error(ex.Message); // } // var UserNameItems = lists.Select(item => new SelectListItem() { Text = PhoneHelper.FormatPhoneUserName(item.USERNAME), Value = Utility.EncryptUrlEncode(item.USERNAME) }).ToList(); // ViewBag.CustomerId = CustomerId; // ViewBag.UserNameItems = UserNameItems; // ViewBag.productList = getProductList(); // return View(model); //} //[HttpPost] //[AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Add)] //public JsonResult AddByRes(WX_SZZYORDER_Extend model, decimal productId, decimal subProductId, string mobile, decimal? needPay, string source) //{ // if (!ModelState.IsValid) // { // return JsonHandler.ValidateFailMessage(); // } // if (!Utility.ChekMobile(mobile)) // { // errors.Add("请填写正确的手机号!"); // return JsonHandler.UpdateMessage(errors, false); // } // if (subProductId <= 0 || productId <= 0) // { // errors.Add("请选择产品分类"); // return JsonHandler.UpdateMessage(errors, false); // } // if (!needPay.HasValue || needPay.Value < 0) // { // errors.Add("请填写应付金额"); // return JsonHandler.UpdateMessage(errors, false); // } // if (string.IsNullOrWhiteSpace(source)) // { // errors.Add("请选择客户来源"); // return JsonHandler.UpdateMessage(errors, false); // } // var required = cache_BL.GetValue_Parameter(Model.Enum.Parameter.WeiXin_OrderUserNameRequired); // if (string.IsNullOrWhiteSpace(required) || required == "1") // { // if (string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // else // { // if (source == "1" && string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // if (!model.OpenDays.HasValue || model.OpenDays.Value < 1) // { // errors.Add("开通天数必须大于0"); // return JsonHandler.UpdateMessage(errors, false); // } // model.SoftUserName = Utility.DecryptUrlDecode(model.SoftUserName); // string resid = WX.CRM.Common.ResUtil.CreateResId(mobile); // if (res_Customer_Q_BL.getResCustomerByResId(resid) == null) // { // res_Customer_BL.ResgisterCustomer(mobile, resid, "orderres"); // } // model.wx_SzzyOrder.ORDERID = new SEQUENCES_BL().Seq_base_get(); // model.wx_SzzyOrder.OPERATETIME = DateTime.Now; // model.wx_SzzyOrder.INNERUSERID = UserId; // model.wx_SzzyOrder.RESID = resid; // model.wx_SzzyOrder.ISFINANCEPAY = 0; // model.wx_SzzyOrder.OPENORDER = 0; // model.wx_SzzyOrder.ISOPEN = 0; // model.wx_SzzyOrder.ORDERTYPE = 1; // model.wx_SzzyOrder.ORDERSTATUS = "1"; // model.wx_SzzyOrder.ORDERSTATUSNAME = "未开通"; // model.wx_SzzyOrder.PRODUCTNAME = wx_SzzyProduct_BL.Get(m => m.PRODUCTID == productId).PRODUCTNAME; // model.wx_SzzyOrder.NEEDPAY = needPay; // model.wx_SzzyOrder.RETURNNEEDPAY = needPay; // model.wx_SzzyOrder.SOURCE = source; // model.wx_SzzyOrder.PRODUCTID = productId; // model.wx_SzzyOrder.SUBPRODUCTID = subProductId; // model.wx_SzzyOrder.CTIME = DateTime.Now; // model.wx_SzzyOrder.SUBPRODUCTNAME = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId).SUBPRODUCTNAME; // model.wx_SzzyOrder.OPENDAYS = model.OpenDays; // model.wx_SzzyOrder.CNAME = model.Name; // if (!model.wx_SzzyOrder.TOTALUPGRADEVALUE.HasValue) // { // model.wx_SzzyOrder.TOTALUPGRADEVALUE = 0; // } // model.wx_SzzyOrder.REQUESTSTATUS = 1; // var result = wx_SzzyOrder_BL.Add(model.wx_SzzyOrder) > 0; // //本地订单库写入成功,然后调用上证综研订单接口 // if (result) // { // if (!string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // wx_SzzyOrder_BL.UpdateResIdByWxUserName(resid, model.wx_SzzyOrder.CUSTOMERUSERNAME); // } // WX_ORDEREXT orderExt = new WX_ORDEREXT(); // orderExt.ORDERID = model.wx_SzzyOrder.ORDERID; // orderExt.PAYNO = model.PayNo; // orderExt.ISPAYED = 0; // orderExt.OPENDAYS = model.OpenDays; // orderExt.NAME = model.Name; // orderExt.SOFTUSERNAME = model.SoftUserName; // orderExt.PAYTYPE = model.PayType; // wx_OrderExt_BL.Add(orderExt); // } // return JsonHandler.ManageMessage(errors.Error, result, model.wx_SzzyOrder.ORDERID.ToString()); //} #endregion #region 订单来源统计 [AuthorizeRedirect(Roles = InitRights.CONST_订单来源统计)] public ActionResult CountOrderBySource() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单来源统计, userRightId); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("SOURCE", "", "来源"); tab.AddHeadCol("COUNTNUM", "", "开通单数"); tab.AddHeadCol("COUNTNUM", "", "成交金额(元)"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); return View(); } [AuthorizeRedirect(Roles = InitRights.CONST_订单来源统计)] public JsonResult GetCountOrderBySourceHtml(string stime, string etime, string columns) { DataSet ds = wx_SzzyOrder_BL.CountSzzyOrderBySource(stime, etime); DataTable dt = new DataTable(); if (ds != null && ds.Tables[0].Rows.Count > 0) { dt = ds.Tables[0]; } Table table = new Table(columns, true); for (int i = 0; i < dt.Rows.Count; i++) { var model = dt.Rows[i]; table.AddCol(Utility.getSourceText(model["source"].ToString())); table.AddCol(model["countnum"]); table.AddCol(model["countmoney"]); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 编辑 [HttpGet] [AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Edit)] public ActionResult Edit(string orderId) { var oId = Convert.ToDecimal(orderId); var model = wx_SzzyOrder_BL.Get(m => m.ORDERID == oId); ViewBag.productList = getProductList(); return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Edit)] public JsonResult Edit(WX_SZZYORDER model, decimal? productId, decimal? subProductId) { if (!ModelState.IsValid) { return JsonHandler.ValidateFailMessage(); } var modifyModel = wx_SzzyOrder_BL.Get(m => m.ORDERID == model.ORDERID); if (modifyModel == null) { errors.Add("更新对象不能为空"); return JsonHandler.UpdateMessage(errors, true); } //if (subProductId <= 0 || productId <= 0) //{ // errors.Add("请选择产品分类"); // return JsonHandler.UpdateMessage(errors, false); //} //if (!model.NEEDPAY.HasValue || model.NEEDPAY.Value < 0) //{ // errors.Add("请填写应付金额"); // return JsonHandler.UpdateMessage(errors, false); //} if (model.ORDERTYPE == 3) { if (string.IsNullOrWhiteSpace(model.UPGRADEORDERIDS) || !model.TOTALUPGRADEVALUE.HasValue || model.TOTALUPGRADEVALUE <= 0) { errors.Add("升级订单,请输入源订单号和源订单剩余金额!"); return JsonHandler.UpdateMessage(errors, false); } if (!ValidateHelper.IsNumber(model.UPGRADEORDERIDS.Replace(",", ""))) { errors.Add("输入源订单号格式有误,只能输入数字订单号!"); return JsonHandler.UpdateMessage(errors, false); } var upgradeOrderList = model.UPGRADEORDERIDS.Split(',').Select(m => Convert.ToDecimal(m)).ToList(); foreach (var orderid in upgradeOrderList) { if (wx_SzzyOrder_BL.Get(m => m.ORDERID == orderid) == null) { errors.Add(string.Format("升级订单,原CRM订单:{0}不存在,请确认后再输入!", orderid.ToString())); return JsonHandler.UpdateMessage(errors, false); } } } if (string.IsNullOrWhiteSpace(model.REMARK)) { errors.Add("修改备注不能为空"); return JsonHandler.UpdateMessage(errors, false); } if (string.IsNullOrWhiteSpace(model.SOURCE)) { errors.Add("请选择客户来源"); return JsonHandler.UpdateMessage(errors, false); } if (model.SOURCE == "1" && string.IsNullOrWhiteSpace(model.CUSTOMERUSERNAME)) { errors.Add("请填写客户微信"); return JsonHandler.UpdateMessage(errors, false); } modifyModel.REMARK = model.REMARK; //modifyModel.PRODUCTID = productId; //modifyModel.SUBPRODUCTID = subProductId; //modifyModel.PRODUCTNAME = wx_SzzyProduct_BL.Get(m => m.PRODUCTID == productId).PRODUCTNAME; //modifyModel.SUBPRODUCTNAME = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId).SUBPRODUCTNAME; //modifyModel.ORDERTYPE = model.ORDERTYPE; //modifyModel.NEEDPAY = model.NEEDPAY; modifyModel.UPGRADEORDERIDS = model.UPGRADEORDERIDS; modifyModel.TOTALUPGRADEVALUE = model.TOTALUPGRADEVALUE.HasValue ? model.TOTALUPGRADEVALUE : 0; modifyModel.CUSTOMERUSERNAME = model.CUSTOMERUSERNAME; modifyModel.SOURCE = model.SOURCE; var result = wx_SzzyOrder_BL.Update(modifyModel); if (!result) { errors.Add("更新订单错误"); } else { if (!string.IsNullOrWhiteSpace(modifyModel.CUSTOMERUSERNAME)) { wx_SzzyOrder_BL.UpdateResIdByWxUserName(modifyModel.RESID, modifyModel.CUSTOMERUSERNAME); } } return JsonHandler.ManageMessage(errors.Error, result, model.ORDERID.ToString()); } [HttpGet] [AuthorizeToolBar(InitRights.CONST_我的订单, InitToolBar.CONST_Details)] public ActionResult Detail(string orderId) { var oId = Convert.ToDecimal(orderId); var model = wx_TDorder_BL.GetTDOrderDetail(oId); model.AuditUserName = InnerUserHelper.Instance.GetEidAndTrueName(model.AuditUser); model.SoftUserName = PhoneHelper.FormatPhoneUserName(model.SoftUserName); var ruleList = wx_CommissionRule_BL.GetList(m => m.ORDERID == oId); List list = new List(); foreach (var item in ruleList) { list.Add(new WX_COMMISSIONRULE_ITEM() { EID = InnerUserHelper.Instance.GetEidByUserId(item.SALEUSERID), COMMISSIONRATIO = item.COMMISSIONRATIO }); } ViewBag.commissionRules = list; return View(model); } #endregion #region 删除 [HttpPost] [AuthorizeToolBar(InitRights.CONST_订单列表, InitToolBar.CONST_Delete)] public JsonResult Delete(decimal orderId) { var result = wx_TDorder_BL.Delete(ref errors, orderId); return JsonHandler.ManageMessage(errors.Error, result); } #endregion #region 订单列表 [AuthorizeRedirect(Roles = InitRights.CONST_订单列表)] public ActionResult OrderList() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单列表, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other1", "银行转账下单并开通", "icon-add", "SupplementOrder_Click", true); tool.AddOtherButton("Other2", "修改订单分成", "icon-edit", "UpdateCommission_Click", true); tool.AddOtherButton("Other3", "导出", "icon-export", "export_Click", true); tool.AddOtherButton("Other4", "上传到账信息", "icon-export", "upload_Click", true); tool.AddOtherButton("Other5", "审核", "icon-export", "audit_Click", true); ViewBag.ToolBar = tool; //table Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("ORDERID", "编号"); tab.AddHeadCol("RESID", "", "客户ID"); tab.AddHeadCol("INNERUSERID", "", "工号"); tab.AddHeadCol("SUBPRODUCTNAME", "", "产品"); //tab.AddHeadCol("NEEDPAY", "", "应付金额"); //tab.AddHeadCol("FINALPAY", "", "实付金额"); //tab.AddHeadCol("ARRIVALPAY", "", "到账金额"); tab.AddHeadCol("ARRIVALTIME", "", "到账时间"); tab.AddHeadCol("SZZYORDERID", "", "订单ID"); tab.AddHeadCol("ORDERTYPE", "", "订单类型"); tab.AddHeadCol("ORDERSTATUS", "", "订单状态"); tab.AddHeadCol("CTIME", "", "下单时间"); tab.AddHeadCol("OTIME", "", "开通时间"); //tab.AddHeadCol("OPENDAYS", "", "天数"); //tab.AddHeadCol("FCTEXT", "", "订单分成"); //tab.AddHeadCol("SOURCE", "", "客户来源"); //tab.AddHeadCol("CUSTOMERUSERNAME", "", "客户微信用户名"); //tab.AddHeadCol("ISOPEN", "", "参与分成"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20"); ViewBag.productList = getAllProductList(); return View(); } //[HttpPost] //[AuthorizeRedirect(Roles = InitRights.CONST_订单列表)] //public JsonResult GetOrderList(Pager pager, string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, string columns, QueryUserComboDto usercomboDto) //{ // List list = wx_SzzyOrder_BL.GetList(ref pager, resId, contractCode, szzyOrderId, productId, subProductId, orderType, stime, etime, usercomboDto, orderStatus, ostime, oetime, fcText, null); // Table table = new Table(columns, true); // table.gridPager = pager; // foreach (var model in list) // { // table.AddHiddenCol(model.ORDERID); // //var linkUrl = string.Format("{2}" // // , "客户详细" // // , "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.RESID // // , model.RESID); // table.AddCol(model.RESID); // table.AddCol(InnerUserHelper.Instance.GetEid(model.INNERUSERID)); // table.AddCol(model.SUBPRODUCTNAME); // //table.AddCol(model.NEEDPAY); // //table.AddCol(model.FINALPAY); // //table.AddCol(model.ARRIVALPAY); // table.AddCol(model.ARRIVALTIME); // table.AddCol(model.SZZYORDERID); // table.AddCol(getOrderTypeStr(model.ORDERTYPE.Value)); // table.AddCol(getOrderStatusStr(model.ORDERSTATUS)); // table.AddCol(model.CTIME); // table.AddCol(model.OTIME); // //table.AddCol(model.OPENDAYS); // //table.AddCol(model.FCTEXT); // //table.AddCol(getSourceText(model.SOURCE)); // //table.AddCol(model.CUSTOMERUSERNAME); // //table.AddCol(model.ISOPEN == 1 ? "是" : ""); // table.AddRow(); // } // var json = new // { // totalPages = pager.totalPages, // totalRows = pager.totalRows, // rowsList = table.GetRows() // }; // return Json(json, JsonRequestBehavior.AllowGet); //} #endregion #region 导出 //public FileResult Export(string resId, string contractCode, string szzyOrderId, decimal productId, decimal subProductId, decimal orderType, string stime, string etime, string orderStatus, string ostime, string oetime, string fcText, QueryUserComboDto usercomboDto) //{ // string checkedFilds = PageRequest.GetQueryString("checkedFilds"); // checkedFilds = checkedFilds.Replace("[]", ""); // string checkedTitles = PageRequest.GetQueryString("checkedTitles"); // Pager pager = new Pager() { page = 1, rows = int.MaxValue }; // List list = wx_SzzyOrder_BL.GetList(ref pager, resId, contractCode, szzyOrderId, productId, subProductId, orderType, stime, etime, usercomboDto, orderStatus, ostime, oetime, fcText, null); // return File(ExcelHelper.ExportListModelToExcel(list, "订单列表", 10000, checkedFilds, checkedTitles, DataFormart), "application/ms-excel", PageRequest.GetDlownLoadName("订单列表.xls")); //} ////用作委托传递 //public string DataFormart(string key, object value) //{ // string formartValue = string.Empty; // switch (key) // { // case "SOURCE": // formartValue = value != null ? Utility.getSourceText(value.ToString()) : ""; break; // case "INNERUSERID": // formartValue = InnerUserHelper.Instance.GetEidByUserId(Convert.ToDecimal(value)).ToString(); break; // case "ORDERTYPE": // formartValue = getOrderTypeStr(Convert.ToDecimal((value ?? "0").ToString())); break; // case "ORDERSTATUS": // formartValue = getOrderStatusStr((value ?? "0").ToString()).Replace("", "").Replace("", ""); break; // default: formartValue = string.Format("{0}", value); break; // } // return formartValue; //} #endregion #region 补单并开通 //[HttpGet] //[AuthorizeToolBar(InitRights.CONST_订单列表, InitToolBar.CONST_Other1)] //public ActionResult SupplementOrder() //{ // ViewBag.productList = getProductList(); // return View(new WX_SZZYORDER_Extend()); //} //[HttpPost] //[AuthorizeToolBar(InitRights.CONST_订单列表, InitToolBar.CONST_Other1)] //public JsonResult SupplementOrder(WX_SZZYORDER_Extend model, string eid, decimal productId, decimal subProductId, string mobile, decimal? needPay, string source) //{ // if (!Utility.ChekMobile(mobile)) // { // errors.Add("请填写正确的手机号!"); // return JsonHandler.UpdateMessage(errors, false); // } // decimal convertEid = 0; // if (!Decimal.TryParse(eid, out convertEid)) // { // errors.Add("请填写正确的员工编号!"); // return JsonHandler.UpdateMessage(errors, false); // } // var userId = InnerUserHelper.Instance.GetUserIdByEid(convertEid); // if (userId < 2) // { // errors.Add("员工编号不存在"); // return JsonHandler.UpdateMessage(errors, false); // } // if (subProductId <= 0 || productId <= 0) // { // errors.Add("请选择产品分类"); // return JsonHandler.UpdateMessage(errors, false); // } // if (!needPay.HasValue || needPay.Value < 0) // { // errors.Add("请填写应付金额"); // return JsonHandler.UpdateMessage(errors, false); // } // if (string.IsNullOrWhiteSpace(source)) // { // errors.Add("请选择客户来源"); // return JsonHandler.UpdateMessage(errors, false); // } // var required = cache_BL.GetValue_Parameter(Model.Enum.Parameter.WeiXin_OrderUserNameRequired); // if (string.IsNullOrWhiteSpace(required) || required == "1") // { // if (string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // else // { // if (source == "1" && string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // errors.Add("请填写客户微信"); // return JsonHandler.UpdateMessage(errors, false); // } // } // if (soft_User_BL.GetUser_userName(model.SoftUserName) == null) // { // errors.Add("用户名不存在!"); // return JsonHandler.UpdateMessage(errors, false); // } // if (!model.OpenDays.HasValue || model.OpenDays.Value < 1) // { // errors.Add("开通天数必须大于0"); // } // string resid = WX.CRM.Common.ResUtil.CreateResId(mobile); // if (res_Customer_Q_BL.getResCustomerByResId(resid) == null) // { // res_Customer_BL.ResgisterCustomer(mobile, resid, "orderres"); // } // model.wx_SzzyOrder.ORDERID = new SEQUENCES_BL().Seq_base_get(); // model.wx_SzzyOrder.OPERATETIME = DateTime.Now; // model.wx_SzzyOrder.INNERUSERID = userId; // model.wx_SzzyOrder.RESID = resid; // model.wx_SzzyOrder.ISFINANCEPAY = 0; // model.wx_SzzyOrder.OPENORDER = 0; // model.wx_SzzyOrder.ISOPEN = 0; // model.wx_SzzyOrder.ORDERTYPE = 1; // model.wx_SzzyOrder.ORDERSTATUS = "1"; // model.wx_SzzyOrder.ORDERSTATUSNAME = "未开通"; // model.wx_SzzyOrder.PRODUCTNAME = wx_SzzyProduct_BL.Get(m => m.PRODUCTID == productId).PRODUCTNAME; // model.wx_SzzyOrder.NEEDPAY = needPay; // model.wx_SzzyOrder.RETURNNEEDPAY = needPay; // model.wx_SzzyOrder.SOURCE = source; // model.wx_SzzyOrder.PRODUCTID = productId; // model.wx_SzzyOrder.SUBPRODUCTID = subProductId; // model.wx_SzzyOrder.CTIME = DateTime.Now; // model.wx_SzzyOrder.SUBPRODUCTNAME = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId).SUBPRODUCTNAME; // model.wx_SzzyOrder.OPENDAYS = model.OpenDays; // model.wx_SzzyOrder.CNAME = model.Name; // if (!model.wx_SzzyOrder.TOTALUPGRADEVALUE.HasValue) // { // model.wx_SzzyOrder.TOTALUPGRADEVALUE = 0; // } // model.wx_SzzyOrder.REQUESTSTATUS = 1; // var result = wx_SzzyOrder_BL.Add(model.wx_SzzyOrder) > 0; // //本地订单库写入成功,然后调用上证综研订单接口 // if (result) // { // if (!string.IsNullOrWhiteSpace(model.wx_SzzyOrder.CUSTOMERUSERNAME)) // { // wx_SzzyOrder_BL.UpdateResIdByWxUserName(resid, model.wx_SzzyOrder.CUSTOMERUSERNAME); // } // WX_ORDEREXT orderExt = new WX_ORDEREXT(); // orderExt.ORDERID = model.wx_SzzyOrder.ORDERID; // orderExt.PAYNO = model.PayNo; // orderExt.ISPAYED = 0; // orderExt.OPENDAYS = model.OpenDays; // orderExt.NAME = model.Name; // orderExt.SOFTUSERNAME = model.SoftUserName; // orderExt.PAYTYPE = model.PayType; // var flag = wx_OrderExt_BL.Add(orderExt); // if (flag == 1) // { // string AdminPassword = cache_BL.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); // string AdminAgentId = cache_BL.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); // string url = ""; // string json = ""; // AddOrderOpen theModel = new AddOrderOpen(); // theModel.productCode = getProductCode(model.wx_SzzyOrder.SUBPRODUCTID); // theModel.userName = model.SoftUserName; // if (model.wx_SzzyOrder.NEEDPAY != null) // theModel.PayPrice = model.wx_SzzyOrder.NEEDPAY.Value; // theModel.Days = model.OpenDays.Value; // //theModel.resPhone = model.wx_SzzyOrder.RESID; // theModel.CreateUser = model.wx_SzzyOrder.INNERUSERID.ToString(); // theModel.PayMark = string.IsNullOrEmpty(model.wx_SzzyOrder.REMARK) ? "坐席申请开通" : model.wx_SzzyOrder.REMARK; // theModel.Orderid = model.wx_SzzyOrder.SZZYORDERID.HasValue ? model.wx_SzzyOrder.SZZYORDERID.ToString() : ""; // theModel.PayType = model.PayType.ToString(); // theModel.mobile = res_ResourceMobile_BL.GetNumberByResId(model.wx_SzzyOrder.RESID).TrimStart('0'); // url = cache_BL.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpen);//内部接口··调用RiaSerivice // json = Utility.ConvertToJSON(theModel); // json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); // //LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json); // string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); // retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); // retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); // if (retmessage.result) // { // model.wx_SzzyOrder.ISOPEN = 1; // model.wx_SzzyOrder.ORDERSTATUS = "4"; // model.wx_SzzyOrder.ORDERSTATUSNAME = "已开通"; // model.wx_SzzyOrder.FINALPAY = model.wx_SzzyOrder.NEEDPAY; // model.wx_SzzyOrder.ARRIVALPAY = model.wx_SzzyOrder.NEEDPAY; // model.wx_SzzyOrder.OTIME = DateTime.Now; // model.wx_SzzyOrder.ARRIVALTIME = model.wx_SzzyOrder.OTIME; // model.wx_SzzyOrder.SZZYORDERID = Convert.ToDecimal(retmessage.orderId); // model.IsPayed = 1; // wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); // updateOrderExt(model); // return JsonHandler.ManageMessage(errors.Error, true, model.wx_SzzyOrder.ORDERID.ToString()); // } // else // { // if (retmessage.retcode == (int)EnumInterfaceErrcode.订单已开通) // { // model.wx_SzzyOrder.ORDERSTATUS = "4"; // model.wx_SzzyOrder.ORDERSTATUSNAME = "已开通"; // model.wx_SzzyOrder.OTIME = DateTime.Now; // model.wx_SzzyOrder.ARRIVALTIME = model.wx_SzzyOrder.OTIME; // model.IsPayed = 1; // wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); // updateOrderExt(model); // return JsonHandler.ManageMessage("开通成功", true, model.wx_SzzyOrder.ORDERID.ToString()); // } // else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.系统错误) && !string.IsNullOrWhiteSpace(retmessage.orderId)) // { // // 将接口订单写入表中(情况属于订单建立成功,但未开通成功) // model.wx_SzzyOrder.SZZYORDERID = Convert.ToDecimal(retmessage.orderId); // wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); // return JsonHandler.ManageMessage("系统正忙,请稍后再试", false); // } // else // { // return JsonHandler.ManageMessage("系统错误" + retmessage.retcode.ToString(), false); // } // } // } // } // return JsonHandler.ManageMessage(errors.Error, result, model.wx_SzzyOrder.ORDERID.ToString()); //} #endregion #region 审核 [HttpPost] [AuthorizeToolBar(InitRights.CONST_订单列表, InitToolBar.CONST_Other5)] public JsonResult Audit(string id, string reson) { decimal orderId = 0; if (!string.IsNullOrEmpty(id)) { decimal.TryParse(id, out orderId); } string AdminPassword = cache_BL.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentPwd); string AdminAgentId = cache_BL.GetValue_Parameter(Parameter.ISVR_CN_JMDAgentId); string url = ""; string json = ""; var model = wx_TDorder_BL.GetTDOrderDetail(orderId); if (model == null) { errors.Add("所选择的订单不存在!"); return JsonHandler.ManageMessage(errors.Error, false, id); } AddOrderOpen theModel = new AddOrderOpen(); theModel.productCode = getProductCode(model.wx_SzzyOrder.SUBPRODUCTID); theModel.userName = model.SoftUserName; if (model.wx_SzzyOrder.NEEDPAY != null) theModel.PayPrice = model.wx_SzzyOrder.NEEDPAY.Value; theModel.Days = model.OpenDays.Value; //theModel.resPhone = model.wx_SzzyOrder.RESID; theModel.CreateUser = model.wx_SzzyOrder.INNERUSERID.ToString(); theModel.PayMark = string.IsNullOrEmpty(reson) ? "坐席申请开通" : reson; theModel.Orderid = model.wx_SzzyOrder.SZZYORDERID.HasValue ? model.wx_SzzyOrder.SZZYORDERID.ToString() : ""; theModel.PayType = model.PayType.ToString(); theModel.mobile = res_ResourceMobile_BL.GetNumberByResId(model.wx_SzzyOrder.RESID).TrimStart('0'); url = cache_BL.GetValue_Parameter(Parameter.UserCenter_RiaService_AddOrderOpen);//内部接口··调用RiaSerivice json = Utility.ConvertToJSON(theModel); json = sHelper.createSignEncodingStr(json, SecurityHelper.OrderClientIdKey); //LogHelper.Info("投顾订单" + model.ORDERID + (string.IsNullOrEmpty(model.WEBORDERID) ? "" : string.Format("({0})", model.WEBORDERID)) + "审核:" + url + "?" + json); string retmsg = Utility.PostData(url + "?" + json, Encoding.UTF8); retmsg = sHelper.decyptData(SecurityHelper.OrderClientIdKey, retmsg); retClass retmessage = JsonHelper.JsonDivertToObj(retmsg); if (retmessage.result) { model.wx_SzzyOrder.ISOPEN = 1; model.wx_SzzyOrder.ORDERSTATUS = "4"; model.wx_SzzyOrder.ORDERSTATUSNAME = "已开通"; model.wx_SzzyOrder.FINALPAY = model.wx_SzzyOrder.NEEDPAY; model.wx_SzzyOrder.ARRIVALPAY = model.wx_SzzyOrder.NEEDPAY; model.wx_SzzyOrder.OTIME = DateTime.Now; model.wx_SzzyOrder.ARRIVALTIME = model.wx_SzzyOrder.OTIME; model.wx_SzzyOrder.SZZYORDERID = Convert.ToDecimal(retmessage.orderId); model.IsPayed = 1; wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); updateOrderExt(model); return JsonHandler.ManageMessage(errors.Error, true, id); } else { if (retmessage.retcode == (int)EnumInterfaceErrcode.订单已开通) { model.wx_SzzyOrder.ORDERSTATUS = "4"; model.wx_SzzyOrder.ORDERSTATUSNAME = "已开通"; model.wx_SzzyOrder.OTIME = DateTime.Now; model.wx_SzzyOrder.ARRIVALTIME = model.wx_SzzyOrder.OTIME; model.IsPayed = 1; wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); updateOrderExt(model); return JsonHandler.ManageMessage("开通成功", true, id); } else if (retmessage.retcode == Convert.ToInt32(EnumInterfaceErrcode.系统错误) && !string.IsNullOrWhiteSpace(retmessage.orderId)) { // 将接口订单写入表中(情况属于订单建立成功,但未开通成功) model.wx_SzzyOrder.SZZYORDERID = Convert.ToDecimal(retmessage.orderId); wx_SzzyOrder_BL.Update(model.wx_SzzyOrder); return JsonHandler.ManageMessage("系统正忙,请稍后再试", false); } else { return JsonHandler.ManageMessage("系统错误" + Utility.GetCheckEnumNameByValue(retmessage.retcode), false); } } } #endregion private bool updateOrderExt(WX_SZZYORDER_Extend model) { WX_ORDEREXT orderExt = new WX_ORDEREXT(); orderExt.ORDERID = model.wx_SzzyOrder.ORDERID; orderExt.NAME = model.Name; orderExt.SOFTUSERNAME = model.SoftUserName; orderExt.ISPAYED = model.IsPayed; orderExt.PAYTYPE = model.PayType; orderExt.PAYNO = model.PayNo; orderExt.OPENDAYS = model.OpenDays; orderExt.AUDITUSER = UserId; orderExt.AUDITTIME = DateTime.Now; return wx_OrderExt_BL.Update(orderExt); } private List getProductList() { List selectList = new List(); var where = PredicateExtensionses.True(); where = where.And(m => m.ISVALID == 1); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzyProduct_BL.GetList(where, m => m.PRODUCTID, pager, SortOrder.Ascending); foreach (var szzyProduct in list) { selectList.Add(new SelectListItem() { Text = szzyProduct.PRODUCTNAME, Value = szzyProduct.PRODUCTID.ToString() }); } return selectList; } private List getAllProductList() { List selectList = new List(); var where = PredicateExtensionses.True(); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzyProduct_BL.GetList(where, m => m.PRODUCTID, pager, SortOrder.Ascending); foreach (var szzyProduct in list) { selectList.Add(new SelectListItem() { Text = szzyProduct.PRODUCTNAME, Value = szzyProduct.PRODUCTID.ToString() }); } return selectList; } private List getSubProductListByProductId(int productId) { List selectList = new List(); var where = PredicateExtensionses.True(); if (productId > 0) { where = where.And(m => m.PRODUCTID == productId); } where = where.And(m => m.ISVALID == 1); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzySubProduct_BL.GetList(where, m => m.SUBPRODUCTID, pager, SortOrder.Ascending); foreach (var szzySubProduct in list) { selectList.Add(new SelectListItem() { Text = szzySubProduct.SUBPRODUCTNAME, Value = szzySubProduct.SUBPRODUCTID.ToString() }); } return selectList; } private string getOrderTypeStr(decimal orderType) { if (orderType == 1) { return "普通订单"; } else if (orderType == 2) { return "续费订单"; } else if (orderType == 3) { return "升级订单"; } else { return ""; } } private string getOrderStatusStr(string orderStatus) { if (orderStatus == "0") { return string.Format("下单失败"); } else if (orderStatus == "1") { return "未开通"; } else if (orderStatus == "2") { return "部分支付"; } else if (orderStatus == "3") { return "已支付"; } else if (orderStatus == "4") { return "已开通"; } else if (orderStatus == "5") { return "已到期"; } else if (orderStatus == "6") { return "已升级"; } else if (orderStatus == "7") { return "已退款"; } else if (orderStatus == "8") { return "已取消"; } else if (orderStatus == "9") { return "已关闭"; } else if (orderStatus == "10") { return "隐藏"; } else { return ""; } } public JsonResult GetSubProductList(int productId) { return Json(this.getSubProductListByProductId(productId), JsonRequestBehavior.AllowGet); } public JsonResult GetSubProductPriceById(int subProductId) { var subProduct = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId); if (subProduct != null) { return Json(new { result = true, price = subProduct.PRICE }, JsonRequestBehavior.AllowGet); } else { return Json(new { result = false, price = 0 }, JsonRequestBehavior.AllowGet); } } private string getProductCode(decimal? subProductId) { var model = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId); if (model != null && !string.IsNullOrWhiteSpace(model.PRODUCTCODE)) { return model.PRODUCTCODE; } else { return ""; } } } }