public HttpResponseMessage cardopr(requestCardOpr requestdata) { APIResultBase apiresult = new APIResultBase(); string message = ""; int result = new ConsumeBaseBLL().CardOpr(requestdata, out message); if (result != 0) { apiresult.code = "1"; if (string.IsNullOrWhiteSpace(message)) { message = "卡操作失败"; } apiresult.msg = message; } return(Request.CreateResponse(apiresult)); }
/// <summary> /// 卡操作 /// </summary> /// <param name="requestData"></param> /// <param name="message"></param> /// <returns></returns> public int CardOpr(requestCardOpr requestData, out string message) { message = ""; int result = 0; if (string.IsNullOrWhiteSpace(requestData.CardNo)) { result = 1; message = "参数CardNo不能为空"; return(result); } if (string.IsNullOrWhiteSpace(requestData.PersonId)) { //result = 1; //message = "参数PersonId不能为空"; requestData.PersonId = requestData.CardNo.Trim(); LogHelper.Info("卡操作:传递的参数PersonID为空。使用CardNo进行人事登记"); //return result; } string deptId = "00000000-0000-0000-0000-000000000000"; if (!string.IsNullOrWhiteSpace(requestData.DeptId)) { deptId = requestData.DeptId.Trim(); } DepartmentModel depart = null; PersonBLL bll = new PersonBLL(); PersonModel person = bll.GetPersonByPersonId(requestData.PersonId); if (person == null) { //创建部门和人事资料 PersonModel requestPerson = new PersonModel(); requestPerson.PersonName = string.IsNullOrWhiteSpace(requestData.PersonName) ? requestData.PersonId : requestData.PersonName; requestPerson.PersonId = requestData.PersonId; requestPerson.DeptId = deptId; DepartmentModel requestDetp = new DepartmentModel(); requestDetp.DeptId = deptId; depart = new DepartmentBLL().GetDepartmentByDeptId(requestDetp.DeptId); if (depart == null) { requestDetp.DeptName = string.IsNullOrWhiteSpace(requestData.DeptName) ? "默认部门" : requestData.DeptName; requestDetp.DeptNo = deptId; result = DeptOpr(requestDetp, out message); if (result != 0) { return(result); } depart = requestDetp; } result = PersonOpr(requestPerson, out message); if (result != 0) { return(result); } person = requestPerson; } if (depart == null) { depart = new DepartmentBLL().GetDepartmentByDeptId(person.DeptId); } int OprType = 0;//1:新增发行, 2:退卡, 3:挂失,4,更新 if (requestData.Status == 1) { OprType = 2;//退卡 } else if (requestData.Status == 2) { OprType = 3;//挂失 } CardModel cardModel = new CardBLL().GetCardByCardNo(requestData.CardNo); if (OprType == 2) { if (cardModel == null) { result = 0; return(result); } } if (OprType == 3) { if (cardModel == null) { result = 1; message = "CardNo[" + requestData.CardNo + "]不存在或已删除"; return(result); } } if (cardModel == null) { OprType = OprType == 0 ? 1 : OprType; cardModel = new CardModel();//发行 cardModel.BackMoney = ""; cardModel.Balance = "0"; cardModel.BeginTime = requestData.BeginTime; cardModel.CardCost = requestData.CardCost; cardModel.CardNo = requestData.CardNo; cardModel.EndTime = requestData.EndTime; cardModel.PersonId = requestData.PersonId; cardModel.Status = requestData.Status; } else { OprType = OprType == 0 ? 4 : OprType;//更新 if (((DateTime)requestData.BeginTime).Year > 2000) { cardModel.BeginTime = requestData.BeginTime; } if (((DateTime)requestData.EndTime).Year > 2000) { cardModel.EndTime = requestData.EndTime; } cardModel.PersonId = requestData.PersonId; cardModel.Status = requestData.Status; cardModel.CardCost = requestData.CardCost; } if (OprType != 1) { if (cardModel == null) { result = 1; message = "CardNo[" + requestData.CardNo + "]不存在或已删除"; return(result); } } IThirdApp thirdApp = ThirdAppFactory.Create(Common.CommonSettings.ThirdApp); if (thirdApp != null) { thirdApp.CardOpr(cardModel, person, depart, OprType, out message); } switch (OprType) { case 1: //新增 new CardBLL().Insert(cardModel); break; case 2: //退卡 //float balance = 0; //float backmoney = 0; //float.TryParse(cardModel.Balance, out balance); //float.TryParse(cardModel.BackMoney, out backmoney); cardModel.Balance = "0"; new CardBLL().Delete(cardModel); CardChargeModel chargeModel = new CardChargeModel(); chargeModel.CardNo = cardModel.CardNo; chargeModel.AfterMoney = "0"; chargeModel.OprMoney = cardModel.Balance; chargeModel.OprType = 2; chargeModel.PreMoney = cardModel.Balance; chargeModel.Remark = "退卡注销金额清为0,注销金额" + cardModel.Balance; new CardChargeBLL().Insert(chargeModel);; break; case 3: //挂失 requestData.Status = 2; new CardBLL().Update(cardModel); break; case 4: //更新 new CardBLL().Update(cardModel); break; default: break; } return(result); }