Ejemplo n.º 1
0
        public JsonResult UpdateRecord(CallRecordRequest request)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };

            if (string.IsNullOrEmpty(request.ObjectId))
            {
                rtn.code    = 0;
                rtn.message = "更新参数错误";
                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            if (!string.IsNullOrEmpty(request.QuestionTypeStr))
            {
                request.QuestionType = JsonConvert.DeserializeObject <List <QuestionType> >(request.QuestionTypeStr);
            }

            try
            {
                UpdateCallRecordInfo(request);

                if (request.QuestionType != null && request.QuestionType.Any())
                {
                    UpdateCallQuestionType(request.ObjectId, request.UniqueId, request.QuestionType);
                }
            }
            catch (Exception ex)
            {
                rtn.code    = 0;
                rtn.message = ex.ToString();
            }
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
        public JsonResult GetOrderNumber()
        {
            rtn_data rtn = new rtn_data();

            try
            {
                AllocationOrder.AllocationOrderRule rule = allocationOrder.UserRule(this.UserValidator.UserID);
                if (rule != null)
                {
                    //条件
                    string condtions = "";

                    #region  道类型
                    if (rule.ChannelType == "内网")
                    {
                        condtions += " and app.createdbyparentid ='28a0ba01-4f58-4097-96cb-77c2b09e8253'";
                    }
                    else if (rule.ChannelType == "外网")
                    {
                        condtions += " and app.createdbyparentid ='9b8eb0fb-31c2-4577-bea7-9e453812f863'";
                    }
                    #endregion

                    #region 资产类型
                    if (!string.IsNullOrEmpty(rule.AssetCondition))
                    {
                        condtions += " and vehicle.condition='" + rule.AssetCondition + "'";
                    }
                    #endregion

                    #region 审核额度
                    condtions += " and contract.amount_financed>=" + rule.LoanAmountFrom;
                    condtions += " and contract.amount_financed<=" + rule.LoanAmountTo;
                    #endregion

                    #region SQL
                    string sql = allocationOrder.GetQueryTaskSql(condtions);
                    #endregion

                    int filterNumber = AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable(sql).Rows.Count;

                    int totalNumber = allocationOrder.GetTaskTotalNumber();

                    rtn.code = 1;
                    rtn.data = "满足[" + filterNumber + "]/总[" + totalNumber + "]";
                }
                else
                {
                    rtn.code    = -1;
                    rtn.message = "无分单规则";
                }
                return(Json(rtn));
            }
            catch (Exception ex)
            {
                rtn.code    = -1;
                rtn.message = "查询异常";
                return(Json(rtn));
            }
        }
        public System.Web.Mvc.ActionResult ProductQueryExport(string ProductName, string StartTime, string EndTime)
        {
            var totalNumber = 0;

            var dt = GetProductQuery(new ProductQueryRequest {
                ProductName = ProductName, StartTime = StartTime, EndTime = EndTime
            }, ref totalNumber);

            if (dt.Rows.Count > 10000)
            {
                rtn_data rtn = new rtn_data();
                return(Json(new rtn_data {
                    code = 0, message = "无法导出超过1万条数据"
                }, JsonRequestBehavior.AllowGet));
            }

            var headers = new List <string>()
            {
                "序号", "产品ID", "产品名称", "产品组", "产品组ID", "产品有效期始", "产品有效期至", "更新日期", "客户类型", "最小融资额", "最大融资额", "最小租期", "最大租期", "最大融资比例", "尾款", "最小残值比例", "最大残值比例", "最小贷款期数", "最大贷款期数", "残值百分比", "应用残值", "客户利率", "实际利率", "补贴率", "能否编辑残值", "提前终止罚金比例", "提前结清", "还款方式", "补贴经销商", "补贴制造商"
            };

            var book = NPOIHelper.Export(dt, string.Empty, headers);

            NpoiMemoryStream ms = new NpoiMemoryStream();

            ms.AllowClose = false;
            book.Write(ms);
            ms.Flush();
            ms.Seek(0, SeekOrigin.Begin);
            ms.AllowClose = true;

            return(File(ms, "application/vnd.ms-excel", "产品" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx"));
        }
        public System.Web.Mvc.ActionResult ProductDealerQueryExport(string ProductName, string DealerName)
        {
            var totalNumber = 0;

            var dt = GetProductDealerQuery(new ProductDealerQueryRequest {
                ProductName = ProductName, DealerName = DealerName
            }, ref totalNumber);

            if (dt.Rows.Count > 10000)
            {
                rtn_data rtn = new rtn_data();
                return(Json(new rtn_data {
                    code = 0, message = "无法导出超过1万条数据"
                }, JsonRequestBehavior.AllowGet));
            }

            var headers = new List <string>()
            {
                "序号", "产品组", "产品组ID", "产品名称", "产品ID", "公司名称", "公司ID"
            };

            var book = NPOIHelper.Export(dt, string.Empty, headers);

            NpoiMemoryStream ms = new NpoiMemoryStream();

            ms.AllowClose = false;
            book.Write(ms);
            ms.Flush();
            ms.Seek(0, SeekOrigin.Begin);
            ms.AllowClose = true;

            return(File(ms, "application/vnd.ms-excel", "产品-经销商" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx"));
        }
Ejemplo n.º 5
0
        public JsonResult SaveRecord(CallRecordRequest request)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };

            var objectId = string.Empty;

            try
            {
                if (!string.IsNullOrEmpty(request.QuestionTypeStr))
                {
                    request.QuestionType = JsonConvert.DeserializeObject <List <QuestionType> >(request.QuestionTypeStr);
                }

                InsertCallRecord(request, ref objectId);

                if (request.QuestionType != null && request.QuestionType.Any())
                {
                    InsertCallQuestionType(objectId, request.UniqueId, request.QuestionType);
                }
                rtn.data = objectId;
            }
            catch (Exception ex)
            {
                rtn.code    = 0;
                rtn.message = ex.ToString();
            }
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// 分单
        /// </summary>
        /// <param name="rule"></param>
        /// <param name="bizschemacode"></param>
        /// <param name="bizobjectid"></param>
        /// <param name="participant"></param>
        /// <param name="workitemid"></param>
        /// <returns></returns>
        public rtn_data SendOrder(AllocationOrderRule rule, string bizschemacode, string bizobjectid, string participant, string workitemid, string loanAmount)
        {
            rtn_data rtn = new rtn_data();

            #region 分单
            string zsPerson = rule.FinalCreditPerson;
            double amount;
            if (double.TryParse(loanAmount, out amount))
            {
                //贷款金额大于终审的审核额度
                if (amount > rule.FinalLoanAmountTo)
                {
                    zsPerson = GetSpecialAudit(amount);
                }
            }

            Dictionary <string, object> values = new Dictionary <string, object>();
            values.Add("cyzXSCS", rule.FirstCreditPerson);
            values.Add("cyzXSZS", zsPerson);
            values.Add("allocation_available", 0);//不可再分单;
            var setResult = AppUtility.Engine.BizObjectManager.SetPropertyValues(bizschemacode, bizobjectid, participant, values);
            if (setResult)
            {
                BPM.SubmitItem(workitemid, BoolMatchValue.True, "", participant);
                rtn.code    = 1;
                rtn.message = "分单成功";
            }
            else
            {
                rtn.code    = -1;
                rtn.message = "分单失败";
            }
            #endregion
            return(rtn);
        }
Ejemplo n.º 7
0
        public ActionResult UpdateAttachmentBizId(string NewBizObjectId, List <BPM.ImgFile> imgFiles)
        {
            rtn_data rtn = new rtn_data();

            if (string.IsNullOrEmpty(NewBizObjectId))
            {
                rtn.code    = -1;
                rtn.message = "BizObjectId参数为空";
                return(Json(rtn));
            }
            if (imgFiles == null)
            {
                rtn.code    = -1;
                rtn.message = "imgFiles参数为空";
                return(Json(rtn));
            }
            string sql = "Update ot_attachment set bizobjectid='" + NewBizObjectId + "' where objectid='{0}'";

            foreach (var file in imgFiles)
            {
                this.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteNonQuery(string.Format(sql, file.id));
            }
            rtn.code    = 1;
            rtn.message = "成功";
            this.Engine.LogWriter.Write("UpdateAttachmentBizId-->" + Newtonsoft.Json.JsonConvert.SerializeObject(rtn));
            return(Json(rtn));
        }
Ejemplo n.º 8
0
        public JsonResult XSSHQueryRecords(string Applicationnumber, string Calledpartyname, string Calledpartytype, string Calledpartynumber)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };
            var phoneExtensions = GetCallRecords(Applicationnumber, Calledpartyname, Calledpartytype, Calledpartynumber);

            rtn.data = phoneExtensions;
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 9
0
        public JsonResult CallCenterUpdate(string ObjectId)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };
            var officePhone = Modifystate(ObjectId);

            rtn.data = officePhone;
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 10
0
        public JsonResult SelectCalledpartynumber(string Calledpartynumber)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };
            var phoneExtensions = InquiryCalledpartynumber(Calledpartynumber);

            rtn.data = phoneExtensions;
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 11
0
        public JsonResult SelectApplicationnumber(string Applicationnumber)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };
            var phoneExtensions = InquiryTelephone(Applicationnumber);

            rtn.data = phoneExtensions;
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 12
0
        public JsonResult UpdateState(string InstanceId, string Code, string Message)
        {
            rtn_data rtn     = new rtn_data();
            var      context = AppUtility.Engine.InstanceManager.GetInstanceContext(InstanceId);

            if (context == null)
            {
                rtn.code    = -1;
                rtn.message = "instanceid错误或不存在";
                return(Json(rtn));
            }
            string type = "";

            if (context.BizObjectSchemaCode == "TQHK")
            {
                type = "2";
            }
            else if (context.BizObjectSchemaCode == "HKKBG")
            {
                type = "3";
            }
            else if (context.BizObjectSchemaCode == "LPHHQ")
            {
                type = "4";
            }
            else if (context.BizObjectSchemaCode == "XGSJH")
            {
                type = "1";
            }
            else
            {
                rtn.code    = -1;
                rtn.message = "流程错误";
                return(Json(rtn));
            }
            InstanceData instanceData = new InstanceData(AppUtility.Engine, InstanceId, "");
            var          msg          = new
            {
                id      = instanceData["id"].Value + string.Empty,
                code    = Code,
                message = Message,
                time    = DateTime.Now.ToString(),
                type    = type
            };
            string str_msg = JsonConvert.SerializeObject(msg);

            AppUtility.Engine.LogWriter.Write($"【MQ】【h3_to_wxapp_changeState】开始发送消息:{str_msg}");
            rabbitMQHelper.SendMsg(str_msg, "h3_to_wxapp_changeState");
            AppUtility.Engine.LogWriter.Write($"【MQ】【h3_to_wxapp_changeState】结束发送消息:{str_msg}");
            rtn.code    = 1;
            rtn.message = "发送成功";
            rtn.data    = InstanceId;
            return(Json(rtn));
        }
Ejemplo n.º 13
0
        public JsonResult SelectPhone(string code)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };
            var dic = GetPhoeNumber(code);

            if (dic.Any())
            {
                rtn.data = dic;
            }
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 14
0
        public JsonResult CallCenterInsert(PhoneExtensionRequest p)
        {
            p.Status      = 1;
            p.ObjectId    = Guid.NewGuid().ToString();
            p.Createdtime = DateTime.Now.ToString();

            rtn_data rtn = new rtn_data {
                code = 1
            };
            var officePhone = PhoneExtensionRequest(p);

            rtn.data = officePhone;
            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 15
0
        public JsonResult AddCancleComment(string WorkitemId, string DataField, string Comment)
        {
            rtn_data rtn = new rtn_data();

            if (string.IsNullOrEmpty(WorkitemId) || string.IsNullOrEmpty(DataField) || string.IsNullOrEmpty(Comment))
            {
                rtn.code    = -1;
                rtn.message = "参数为空";
                return(Json(rtn));
            }
            var item = AppUtility.Engine.WorkItemManager.GetWorkItem(WorkitemId);

            if (item == null)
            {
                rtn.code    = -1;
                rtn.message = "WorkitemId错误";
                return(Json(rtn));
            }
            string  id      = Guid.NewGuid() + string.Empty;
            var     context = AppUtility.Engine.InstanceManager.GetInstanceContext(item.InstanceId);
            Comment comment = new Comment();

            comment.ObjectID            = id;
            comment.BizObjectSchemaCode = context.BizObjectSchemaCode;
            comment.BizObjectId         = context.BizObjectId;
            comment.InstanceId          = item.InstanceId;
            comment.Activity            = item.ActivityCode;
            comment.UserID       = this.UserValidator.UserID;
            comment.UserName     = this.UserValidator.UserName;
            comment.OUName       = this.UserValidator.DepartmentName;
            comment.TokenId      = item.TokenId;
            comment.DataField    = DataField;
            comment.Text         = Comment;
            comment.Approval     = OThinker.Data.BoolMatchValue.False;
            comment.CreatedTime  = DateTime.Now;
            comment.ModifiedTime = DateTime.Now;
            comment.ItemType     = 0;
            AppUtility.Engine.BizObjectManager.AddComment(comment);
            rtn.code    = 1;
            rtn.message = "Success";
            rtn.data    = id;
            return(Json(rtn));
        }
Ejemplo n.º 16
0
        public JsonResult InstanceState(string InstanceId)
        {
            rtn_data rtn     = new rtn_data();
            var      context = AppUtility.Engine.InstanceManager.GetInstanceContext(InstanceId);

            if (context == null)
            {
                rtn.code    = -1;
                rtn.message = "InstanceId错误或不存在";
                rtn.data    = InstanceId;
            }
            else
            {
                rtn.code    = 1;
                rtn.message = "Success";
                rtn.data    = (int)context.State + string.Empty;
            }
            return(Json(rtn));
        }
Ejemplo n.º 17
0
        public JsonResult QueryPersonContractInfo(string PhoneNumber)
        {
            rtn_data rtn = new rtn_data {
                code = 1
            };

            try
            {
                var callIns = GetPersonContractInfo(PhoneNumber);
                rtn.data = callIns;
            }
            catch (Exception ex)
            {
                rtn.code = 0;
                AppUtility.Engine.LogWriter.Write($"查询人员合同信息错误-->PhoneNumber:{PhoneNumber}-->>{ex.ToString()}");
            }

            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
        public JsonResult RemoveRelation(ProductDealerRelationRequest request)
        {
            rtn_data rtn = new rtn_data();

            try
            {
                request.Dealers.ForEach(dealer =>
                {
                    request.Products.ForEach(product =>
                    {
                        ProductDealerRemoveRelation(dealer.DealerName, product.ProductName);
                    });
                });
                rtn.code = 1;
            }
            catch (Exception ex)
            {
                AppUtility.Engine.LogWriter.Write("解除关联错误:" + ex.ToString());
            }

            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 19
0
        public JsonResult QueryFKState(string workflowCode, string[] workitemIds)
        {
            rtn_data rtn = new rtn_data();

            if (workitemIds == null || workitemIds.Length == 0 || string.IsNullOrEmpty(workflowCode))
            {
                rtn.code    = -1;
                rtn.message = "参数为空";
            }
            try
            {
                string sql        = @"
select wi.objectid,app.allocation_available from i_{0} app 
left join ot_instancecontext con on app.objectid=con.bizobjectid
left join ot_workitem wi on con.objectid=wi.instanceid where 1=1 {1}";
                string conditions = "";

                foreach (var id in workitemIds)
                {
                    conditions += "'" + id + "',";
                }
                conditions = " and wi.objectid in (" + conditions.Substring(0, conditions.Length - 1) + ")";
                sql        = string.Format(sql, workflowCode, conditions);
                DataTable dt = AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable(sql);
                Dictionary <string, bool> data = new Dictionary <string, bool>();
                foreach (DataRow r in dt.Rows)
                {
                    data.Add(r["objectid"] + string.Empty, r["allocation_available"] + string.Empty == "1" ? true : false);
                }
                rtn.code = 1;
                rtn.data = data;
            }
            catch (Exception ex)
            {
                rtn.code    = -1;
                rtn.message = "异常";
            }
            return(Json(rtn));
        }
Ejemplo n.º 20
0
        public JsonResult UploadFilesNotify(GFUploadNotifyRequest request)
        {
            AppUtility.Engine.LogWriter.Write($"联贷SFTP上传请求已接受{JsonConvert.SerializeObject(request)}");

            var rtn = new rtn_data {
                code = 1, message = "接收成功"
            };

            GFUploadResultCache uploadState = null;

            var uploadStateCache = Cache.GetCache("GFUploadFailNumber") + string.Empty;

            if (!string.IsNullOrEmpty(uploadStateCache))
            {
                uploadState = JsonConvert.DeserializeObject <GFUploadResultCache>(uploadStateCache);

                if (uploadState.Equals("Ing"))
                {
                    AppUtility.Engine.LogWriter.Write($"联贷SFTP正在上传中,请耐心等待");
                    rtn.code    = -10002;
                    rtn.message = "联贷SFTP正在上传中,请耐心等待";
                    return(Json(rtn, JsonRequestBehavior.AllowGet));
                }
            }

            if (!request.ContractNumbers.Any())
            {
                AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP无ContractNumbers-->" + JsonConvert.SerializeObject(request));

                rtn.code    = -10001;
                rtn.message = "无ContractNumbers";

                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            var contractAppRelations = GetApplicationNumbersByContractNumbers(request.ContractNumbers);

            if (contractAppRelations == null || !contractAppRelations.Any())
            {
                AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP,未查询到相关合同信息-->" + JsonConvert.SerializeObject(request));

                rtn.code    = -10001;
                rtn.message = "未查询到相关合同信息";

                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            var exceptContractNumbers = request.ContractNumbers.Except(contractAppRelations.Select(p => p.ContractNumber)).ToList();

            if (exceptContractNumbers == null || exceptContractNumbers.Any())
            {
                AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP ContractNumbers不存在-->" + JsonConvert.SerializeObject(exceptContractNumbers));

                rtn.code    = -10001;
                rtn.message = "ContractNumbers不存在" + JsonConvert.SerializeObject(exceptContractNumbers);

                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            var applicationNumbers = contractAppRelations.Select(p => p.ApplicationNumber).ToList();

            var datatable = GetApplicationByAppNumber(applicationNumbers);

            if (datatable == null)
            {
                AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP 为查询到零售申请单-->" + JsonConvert.SerializeObject(applicationNumbers));

                rtn.code    = -10001;
                rtn.message = "为查询到零售申请单" + JsonConvert.SerializeObject(applicationNumbers);

                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            var relations = new List <AppNumberUnionIdRelation>();

            foreach (DataRow row in datatable.Rows)
            {
                var relation = new AppNumberUnionIdRelation();

                if (!string.IsNullOrEmpty(row["AppUnionId"] + string.Empty))
                {
                    relation.UnionId = row["AppUnionId"] + string.Empty;
                }

                if (!string.IsNullOrEmpty(row["application_number"] + string.Empty))
                {
                    relation.ApplicationNumber = row["application_number"] + string.Empty;

                    var contractAppRelation = contractAppRelations.Where(p => p.ApplicationNumber == relation.ApplicationNumber).FirstOrDefault();

                    relation.ContractNumber = contractAppRelation.ContractNumber;
                }

                if (!string.IsNullOrEmpty(row["objectid"] + string.Empty))
                {
                    relation.InstanceId = row["objectid"] + string.Empty;
                }
                relations.Add(relation);
            }

            //检查对应application_number是否都有
            var appNumbers = relations.Select(p => p.ApplicationNumber).ToList();

            var exceptNumbers = applicationNumbers.Except(appNumbers);

            if (exceptNumbers.Any())
            {
                AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP AppNumber不存在-->" + JsonConvert.SerializeObject(exceptNumbers));
                rtn.code    = -10001;
                rtn.message = "ApplicationNumbers" + JsonConvert.SerializeObject(exceptNumbers) + "不存在";
                return(Json(rtn, JsonRequestBehavior.AllowGet));
            }

            #region 过时

            //检查每个application_number是否都有unionId
            //var checkUnionIds = relations.Where(p => string.IsNullOrEmpty(p.UnionId));

            //if (checkUnionIds.Any())
            //{
            //    AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP App无关联Id-->" + JsonConvert.SerializeObject(checkUnionIds));
            //    rtn.code = -10001;
            //    rtn.message = "无关联Id" + JsonConvert.SerializeObject(checkUnionIds.Select(p => p.ApplicationNumber)) + "不存在";
            //    return Json(rtn, JsonRequestBehavior.AllowGet);
            //}

            //var appUnionIds = relations.Select(p => p.UnionId).ToList();

            //var paras = new { orderIds = appUnionIds };

            //AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP:查询文件地址参数-->" + JsonConvert.SerializeObject(paras));

            //var result = HttpHelper.PostWebRequest(getAppFileUrl, "application/json", JsonConvert.SerializeObject(paras));

            //AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP:查询文件地址返回-->" + result);

            //if (string.IsNullOrEmpty(result))
            //{
            //    rtn.code = -10000;
            //    return Json(rtn, JsonRequestBehavior.AllowGet);
            //}

            //var jObject = JObject.Parse(result);

            //if (jObject["code"].ToString() != "10001")
            //{
            //    AppUtility.Engine.LogWriter.Write("联贷平台通知上传文件至SFTP:查询文件地址错误-->" + result);
            //    rtn.code = -10000;
            //    return Json(rtn, JsonRequestBehavior.AllowGet);
            //}

            //Task.Run(() =>
            //{
            //    UploadToGFSftp(jObject["data"].ToString(), relations);
            //});

            #endregion

            Task.Run(() =>
            {
                UploadToGFSftp(relations, 0);
            });

            //Func<List<string>> func = ()=> UploadToGFSftp(jObject["data"].ToString(), relations);

            //Task.Run(func)
            //.ContinueWith(_ =>
            //{
            //    var failIds = _.Result;
            //    if (failIds.Any())
            //    {
            //        HttpHelper.PostWebRequest(getAppFileUrl, "application/json", JsonConvert.SerializeObject(_));
            //    }
            //});

            return(Json(rtn, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 21
0
        public static rtn_data GenerateProposalTask(string UserCode, string CustomerName, string IdCardNumber, string Mobile, string AppOrderId)
        {
            rtn_data rtn            = new rtn_data();
            var      para_get_bp_id = new Dictionary <string, object>();

            para_get_bp_id.Add("login_nme", UserCode);

            var bp_id_result = BizService.ExecuteBizNonQuery("DropdownListDataSource", "get_bp_id", para_get_bp_id);

            if (bp_id_result == null || bp_id_result.Count == 0)
            {
                AppUtility.Engine.LogWriter.Write("后台获取bp_id失败,login_nme-->" + UserCode);
                rtn.code    = -1;
                rtn.message = "获取bp_id失败,login_nme-->" + UserCode;
            }
            else
            {
                #region 自动发起流程的参数
                #region 人员关系表参数
                var app_type = new List <object>();
                app_type.Add(new
                {
                    IDENTIFICATION_CODE1 = 1,
                    APPLICANT_TYPE       = "I",
                    MAIN_APPLICANT       = "Y",
                    NAME1 = CustomerName
                });
                #endregion

                #region 申请人信息表参数
                var app_detail = new List <object>();
                app_detail.Add(new
                {
                    IDENTIFICATION_CODE2 = 1,
                    FIRST_THI_NME        = CustomerName,
                    ID_CARD_NBR          = IdCardNumber
                });
                #endregion

                #region 地址信息表参数
                var app_ads = new List <object>();
                app_ads.Add(new
                {
                    ADDRESS_CODE         = 1,
                    IDENTIFICATION_CODE4 = 1
                });
                #endregion

                #region 电话信息表参数
                var app_tel = new List <object>();
                app_tel.Add(new
                {
                    PHONE_SEQ_ID         = 1,
                    IDENTIFICATION_CODE5 = 1,
                    ADDRESS_CODE5        = 1,
                    PHONE_NUMBER         = Mobile
                });
                #endregion

                #region 工作信息表参数
                var app_work = new List <object>();
                app_work.Add(new
                {
                    EMPLOYEE_LINE_ID     = 1,
                    IDENTIFICATION_CODE6 = 1
                });
                #endregion

                var para = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    USER_NAME             = UserCode,     //FI账号
                    APPLICATION_NAME      = CustomerName, //主贷人的名称
                    APPLICANT_TYPE        = app_type,
                    APPLICATION_TYPE_NAME = "个人Individual",
                    BP_ID               = bp_id_result["BP_PRIMARY_ID"] + string.Empty,
                    AppUnionId          = AppOrderId,
                    APPLICANT_DETAIL    = app_detail,
                    ADDRESS             = app_ads,
                    APPLICANT_PHONE_FAX = app_tel,
                    EMPLOYER            = app_work
                });
                #endregion

                var r = new BPM().StartWorkflow_Base(UserCode, "APPLICATION", false, "", para);
                AppUtility.Engine.LogWriter.Write(Newtonsoft.Json.JsonConvert.SerializeObject(r));
                if (r.STATUS == "2")
                {
                    rtn.code    = 1;
                    rtn.message = r.MESSAGE;
                    rtn.data    = r.INSTANCE_ID;
                }
                else
                {
                    rtn.code    = -1;
                    rtn.message = r.MESSAGE;
                }
            }
            return(rtn);
        }
        public JsonResult GetOrder()
        {
            rtn_data rtn = new rtn_data();

            AllocationOrder.AllocationOrderRule rule = allocationOrder.UserRule(this.UserValidator.UserID);
            if (rule != null)
            {
                //现有订单数量
                int num = allocationOrder.GetProposalOrderNumber(this.UserValidator.UserID);
                allocationOrder.AddLog(LogFileName, DateTime.Now.ToString("yyyy-MM-dd"), this.UserValidator.UserName + "[" + this.UserValidator.UserCode + "]" + "现有订单数量:" + num);
                if (num < rule.LimitNumber)
                {
                    //条件
                    string condtions = "";

                    #region  道类型
                    if (rule.ChannelType == "内网")
                    {
                        condtions += " and app.createdbyparentid ='28a0ba01-4f58-4097-96cb-77c2b09e8253'";
                    }
                    else if (rule.ChannelType == "外网")
                    {
                        condtions += " and app.createdbyparentid ='9b8eb0fb-31c2-4577-bea7-9e453812f863'";
                    }
                    #endregion

                    #region 资产类型
                    if (!string.IsNullOrEmpty(rule.AssetCondition))
                    {
                        condtions += " and vehicle.condition='" + rule.AssetCondition + "'";
                    }
                    #endregion

                    #region 审核额度
                    condtions += " and contract.amount_financed>=" + rule.LoanAmountFrom;
                    condtions += " and contract.amount_financed<=" + rule.LoanAmountTo;
                    #endregion

                    #region SQL
                    string sql = allocationOrder.GetQueryTaskSql(condtions);
                    #endregion

                    DataTable dt = AppUtility.Engine.EngineConfig.CommandFactory.CreateCommand().ExecuteDataTable(sql);
                    if (dt.Rows.Count > 0)
                    {
                        DataRow row = dt.Rows[0];
                        allocationOrder.AddLog(LogFileName, DateTime.Now.ToString("yyyy-MM-dd"), string.Format("任务[{0}]分配给{1}[{2}]", row["objectid"], rule.UserName, rule.UserCode));
                        //插入到分单历史表中;
                        allocationOrder.SaveToOrderHis(rule, row["instanceid"] + string.Empty, row["objectid"] + string.Empty, row["application_number"] + string.Empty, row["amount_financed"] + string.Empty, row["createdbyparentid"] + string.Empty, num);
                        //分单;
                        rtn = allocationOrder.SendOrder(rule, row["bizobjectschemacode"] + string.Empty, row["bizobjectid"] + string.Empty, row["participant"] + string.Empty, row["objectid"] + string.Empty, row["amount_financed"] + string.Empty);
                    }
                    else
                    {
                        rtn.code    = -1;
                        rtn.message = "暂时没有可分配的申请,请稍后再试";
                    }
                }
                else
                {
                    rtn.code    = -1;
                    rtn.message = string.Format("主动获单数量上限为{0},当前为{1}", rule.LimitNumber, num);
                }
            }
            else
            {
                rtn.code    = -1;
                rtn.message = "您没有配置分单规则,请联系管理员添加";
            }
            return(Json(rtn));
        }