| | |
| | | using CommonToolsCore; |
| | | using Services; |
| | | using System.Transactions; |
| | | using System.Net.Http.Headers; |
| | | using Newtonsoft.Json.Linq; |
| | | using Microsoft.Extensions.Configuration; |
| | | |
| | | namespace zhengcaioa.Controllers.Finance |
| | | { |
| | |
| | | private readonly IFiAccountService _fiAccountService; |
| | | private readonly IFiAccountRecordService _iFiAccountRecordService; |
| | | private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService; |
| | | private readonly IProjectService _projectService; |
| | | private readonly IUserService _userService; |
| | | private readonly IFiCustomerrecievemoneyService _fiCustomerrecievemoneyService; |
| | | private readonly IConfiguration _configuration; |
| | | private readonly IHttpClientFactory _clientFactory; |
| | | private readonly IFiMemberService _iMemberService; |
| | | private readonly IPltPageService _pltPageService; |
| | | private readonly IFiBookService _fiBookService; |
| | | private readonly IFiMemberService _fiMemberService; |
| | | |
| | | public FiOrderrecievemoneyController(ILogger<FiOrderrecievemoneyController> logger, ILiaotianService liaotianService, IFiOrderrecievemoneyService fiOrderrecievemoneyService, ICooperOrderService cooperOrderService, IFiSubjectService ifiSubjectService |
| | | , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService) |
| | | , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService |
| | | , IProjectService projectService |
| | | , IUserService userService |
| | | , IFiCustomerrecievemoneyService fiCustomerrecievemoneyService |
| | | , IConfiguration configuration |
| | | , IHttpClientFactory clientFactory |
| | | , IFiMemberService iMemberService |
| | | , IPltPageService pltPageService |
| | | , IFiBookService fiBookService |
| | | , IFiMemberService fiMemberService) |
| | | { |
| | | _logger = logger; |
| | | _liaotianService = liaotianService; |
| | |
| | | _fiAccountService = fiAccountService; |
| | | _iFiAccountRecordService = iFiAccountRecordService; |
| | | _cooperatecustomCustomerService = cooperatecustomCustomerService; |
| | | |
| | | |
| | | _projectService = projectService; |
| | | _userService = userService; |
| | | _fiCustomerrecievemoneyService = fiCustomerrecievemoneyService; |
| | | _configuration = configuration; |
| | | _clientFactory = clientFactory; |
| | | _iMemberService = iMemberService; |
| | | _pltPageService = pltPageService; |
| | | _fiBookService = fiBookService; |
| | | _fiMemberService = fiMemberService; |
| | | } |
| | | |
| | | public IActionResult Index() |
| | |
| | | actionlist.Add(actionEntity); |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | |
| | | var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/FiOrderrecievemoney/Index/"); |
| | | var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); |
| | | ViewData["ActionInfo2"] = pageEntities2; |
| | | |
| | | ViewBag.OrderType = _liaotianService.GetSYScode("CooperVisit", "jtype").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | |
| | |
| | | ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype"); |
| | | ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "01").ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | ViewBag.cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(cooperOrderDTO.Khdw); |
| | | |
| | | ViewData.Model = dto; |
| | | return View(); |
| | |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, |
| | | new TransactionOptions |
| | | { |
| | | IsolationLevel = IsolationLevel.ReadCommitted, |
| | | Timeout = TransactionManager.MaximumTimeout |
| | | } |
| | | )) |
| | | { |
| | | data.RecStatus = "A"; |
| | | if (String.IsNullOrEmpty(data.Id)) |
| | |
| | | } |
| | | data.Modifier = curentuser.Id; |
| | | data.Modifytime = DateTime.Now; |
| | | |
| | | resultEntity = _fiOrderrecievemoneyService.save(data); |
| | | CooperOrderDTO cooperOrderDTO = _cooperOrderService.Get(data.OrderId); |
| | | CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(cooperOrderDTO.Khdw); |
| | | FiAccountRecordDTO data1 = new FiAccountRecordDTO(); |
| | | data1.RecStatus = "A"; |
| | | data1.Creater = curentuser.Id; |
| | | data1.Createtime = DateTime.Now; |
| | | data1.Modifier = curentuser.Id; |
| | | data1.Modifytime = DateTime.Now; |
| | | data1.SubjectId = data.SubjectId; |
| | | if (data.PayType == "03") |
| | | { |
| | | if(data.Recievemoney>((cooperatecustomCustomerDTO.Yufukuan ?? 0)+ (cooperatecustomCustomerDTO.Shouxinedu ?? 0) - (cooperatecustomCustomerDTO.Shenyushouxin ?? 0))) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "剩余预付款和剩余授信不足!"; |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | else |
| | | { |
| | | if (data.Recievemoney > (cooperatecustomCustomerDTO.Yufukuan??0)) |
| | | { |
| | | cooperatecustomCustomerDTO.Shenyushouxin = data.Recievemoney - (cooperatecustomCustomerDTO.Yufukuan??0); |
| | | if (cooperatecustomCustomerDTO.Shenyushouxin> (cooperatecustomCustomerDTO.Shouxinedu??0)) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "剩余授信不足!"; |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | cooperatecustomCustomerDTO.Yufukuan = 0; |
| | | |
| | | } |
| | | else |
| | | { |
| | | cooperatecustomCustomerDTO.Yufukuan = cooperatecustomCustomerDTO.Yufukuan - data.Recievemoney; |
| | | } |
| | | resultEntity = _cooperatecustomCustomerService.saveyufukuan(cooperatecustomCustomerDTO); |
| | | } |
| | | } |
| | | |
| | | |
| | | data1.AccountId = data.AccountId; |
| | | data1.Money = data.Recievemoney; |
| | | data1.PaymentUnit = cooperatecustomCustomerDTO.Name; |
| | | data1.OperationalMatters = "订单收款"+ cooperOrderDTO.OrderNo; |
| | | resultEntity = _fiOrderrecievemoneyService.save(data); |
| | | |
| | | if (data.WeishouMoney <= data.Recievemoney && cooperOrderDTO.OrderType == "05" ) |
| | | { |
| | | //开通会员 |
| | | var fiMemberDTO = _iMemberService.Get(cooperOrderDTO.OrderType1); |
| | | //开通会员 |
| | | string huiyuanurl = _configuration.GetSection("huiyuanurl").Value; |
| | | string OAWriteChangeAsync = _configuration.GetSection("OAWriteChangeAsync").Value; |
| | | |
| | | Uri postUrl2 = new Uri(huiyuanurl + OAWriteChangeAsync); |
| | | JObject questions2 = new JObject(); |
| | | questions2.Add("UserID", cooperatecustomCustomerDTO.HuiyuanId); |
| | | questions2.Add("PhoneNumber", cooperatecustomCustomerDTO.Tel); |
| | | questions2.Add("VIPName", fiMemberDTO.MemberType); |
| | | questions2.Add("UserName", cooperatecustomCustomerDTO.Name); |
| | | questions2.Add("FromName", "OA"); |
| | | |
| | | |
| | | |
| | | FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); |
| | | string requestJson2 = questions2.ToString(); |
| | | string result2 = string.Empty; |
| | | |
| | | using (HttpContent httpContent = new StringContent(requestJson2)) |
| | | { |
| | | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); |
| | | |
| | | |
| | | data1.RecordTypeId = "1";//收入 |
| | | data1.Department = ""; |
| | | using (HttpClient httpClient = new HttpClient()) |
| | | { |
| | | httpClient.Timeout = new TimeSpan(0, 0, 10); |
| | | HttpResponseMessage responseMessage = httpClient.PostAsync(postUrl2, httpContent).Result; |
| | | result2 = responseMessage.Content.ReadAsStringAsync().Result; |
| | | } |
| | | } |
| | | |
| | | |
| | | _logger.LogInformation("result2:" + result2); |
| | | JObject jobjectresult = (JObject)JsonConvert.DeserializeObject(result2); |
| | | |
| | | firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money; |
| | | firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money; |
| | | if (jobjectresult["code"] != null && jobjectresult["code"].ToString() == "1") |
| | | { |
| | | cooperatecustomCustomerDTO.HuiyuanId = jobjectresult["UserID"].ToString(); |
| | | _cooperatecustomCustomerService.save(cooperatecustomCustomerDTO); |
| | | resultEntity.Result = true; |
| | | } |
| | | else |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "写入会员权限失败"; |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | data1.AccountMoney = firmAccount.Balance; |
| | | resultEntity = _iFiAccountRecordService.save(data1); |
| | | resultEntity = _fiAccountService.save(firmAccount); |
| | | |
| | | |
| | | } |
| | | if (data.PayType != "03") |
| | | { |
| | | var sysCodeDtls = _liaotianService.GetSYScode("CooperVisit", "jtype"); |
| | | var book = _fiBookService.Get(cooperOrderDTO.OrderType1); |
| | | var member = _fiMemberService.Get(cooperOrderDTO.OrderType1); |
| | | FiAccountRecordDTO data1 = new FiAccountRecordDTO(); |
| | | data1.RecStatus = "A"; |
| | | data1.Creater = curentuser.Id; |
| | | data1.Createtime = DateTime.Now; |
| | | data1.Modifier = curentuser.Id; |
| | | data1.Modifytime = DateTime.Now; |
| | | data1.SubjectId = data.SubjectId; |
| | | |
| | | data1.AccountId = data.AccountId; |
| | | data1.Money = data.Recievemoney; |
| | | data1.PaymentUnit = cooperatecustomCustomerDTO.Name; |
| | | var ssss = sysCodeDtls.Where(x => x.CodeSn == cooperOrderDTO.OrderType).FirstOrDefault(); |
| | | if (ssss != null) |
| | | { |
| | | cooperOrderDTO.OrderTypeName = ssss.Comments; |
| | | } |
| | | if (book != null) |
| | | { |
| | | cooperOrderDTO.OrderType1 = book.BookName; |
| | | } |
| | | if (member != null) |
| | | { |
| | | cooperOrderDTO.OrderType1 = member.MemberType; |
| | | } |
| | | |
| | | //data1.OperationalMatters = "订单收款" + cooperOrderDTO.OrderNo; |
| | | |
| | | data1.OperationalMatters = cooperOrderDTO.OrderTypeName + cooperOrderDTO.OrderType1 + cooperOrderDTO.OrderType2 + " 订单收款"; |
| | | data1.Remark = cooperOrderDTO.OrderNo; |
| | | |
| | | FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); |
| | | |
| | | |
| | | data1.RecordTypeId = "1";//收入 |
| | | data1.Department = ""; |
| | | |
| | | |
| | | |
| | | firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money; |
| | | firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money; |
| | | |
| | | data1.AccountMoney = firmAccount.Balance; |
| | | resultEntity = _iFiAccountRecordService.save(data1); |
| | | resultEntity = _fiAccountService.save(firmAccount); |
| | | } |
| | | |
| | | |
| | | scope.Complete(); |
| | | } |
| | | |
| | |
| | | ViewData["curentuser"] = curentuser; |
| | | return new JsonResult(_fiOrderrecievemoneyService.ModifyStatus(Id, curentuser.Id)); |
| | | } |
| | | |
| | | |
| | | public IActionResult IndexCustomer() |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | List<ActionEntity> actionlist = new List<ActionEntity>(); |
| | | ActionEntity actionEntity = new ActionEntity(); |
| | | actionEntity.OpenType = 0; |
| | | actionEntity.ActionUrl = ""; |
| | | actionEntity.ActionFun = "Search"; |
| | | actionEntity.PageIco = "fa fa-search"; |
| | | actionEntity.ActionName = "查询"; |
| | | actionlist.Add(actionEntity); |
| | | var pageEntities = _pltPageService.GetUserPage(curentuser.Id, "/FiOrderrecievemoney/IndexCustomer/"); |
| | | var pageEntities2 = pageEntities.Where(x => x.PageMethod == "02").ToList(); |
| | | ViewData["ActionInfo2"] = pageEntities2; |
| | | |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | |
| | | ViewBag.khlx = _liaotianService.GetSYScode("CooperatecustomCustomer", "khlx").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | ViewBag.khly = _liaotianService.GetSYScode("CooperatecustomCustomer", "khly").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | ViewBag.hyfl = _liaotianService.GetSYScode("CooperatecustomCustomer", "hyfl").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | ViewBag.users = _userService.GetList().Where(x => x.IsYwjl == "A").Select(x => new { code = x.Id, label = x.UserName }).ToList(); |
| | | |
| | | var areaDTOs = _projectService.Getsheng().ToList(); |
| | | foreach (var areaDTO in areaDTOs) |
| | | { |
| | | if (areaDTO.CodeId == "510000") |
| | | { |
| | | areaDTOs.Remove(areaDTO); |
| | | break; |
| | | } |
| | | } |
| | | var areaDTOsic = new Area(); |
| | | areaDTOsic.CodeId = "510000"; |
| | | areaDTOsic.Name = "四川省"; |
| | | areaDTOsic.ParentId = "0 "; |
| | | areaDTOs.Insert(1, areaDTOsic); |
| | | ViewBag.ShengDropDown = areaDTOs.Select(x => new { code = x.CodeId, label = x.Name }).ToList(); |
| | | |
| | | return View(); |
| | | |
| | | } |
| | | |
| | | |
| | | public IActionResult EditCustomer(string id = null, string CustomerId = null) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | |
| | | FiCustomerrecievemoneyDTO dto = new FiCustomerrecievemoneyDTO(); |
| | | if (!String.IsNullOrEmpty(id)) |
| | | { |
| | | dto = _fiCustomerrecievemoneyService.Get(id); |
| | | } |
| | | else |
| | | { |
| | | dto.PayTime = DateTime.Now; |
| | | dto.CustomerId = CustomerId; |
| | | } |
| | | |
| | | var cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(CustomerId); |
| | | |
| | | dto.CustomerName = cooperatecustomCustomerDTO.Name; |
| | | dto.Yufukuan = cooperatecustomCustomerDTO.Yufukuan??0; |
| | | |
| | | |
| | | |
| | | ViewBag.PayType = _liaotianService.GetSYScode("fi_account", "accounttype"); |
| | | ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype"); |
| | | ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "01").ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | ViewData.Model = dto; |
| | | return View(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 保存 |
| | | /// </summary> |
| | | /// <param name="data">岗位实体类对象</param> |
| | | /// <returns></returns> |
| | | /// |
| | | [HttpPost] |
| | | public IActionResult SaveCustomer(FiCustomerrecievemoneyDTO data) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, |
| | | new TransactionOptions |
| | | { |
| | | IsolationLevel = IsolationLevel.ReadCommitted, |
| | | Timeout = TransactionManager.MaximumTimeout |
| | | } |
| | | )) |
| | | { |
| | | data.RecStatus = "A"; |
| | | if (String.IsNullOrEmpty(data.Id)) |
| | | { |
| | | data.Creater = curentuser.Id; |
| | | data.Createtime = DateTime.Now; |
| | | } |
| | | data.Modifier = curentuser.Id; |
| | | data.Modifytime = DateTime.Now; |
| | | |
| | | resultEntity = _fiCustomerrecievemoneyService.save(data); |
| | | CooperatecustomCustomerDTO cooperatecustomCustomerDTO = _cooperatecustomCustomerService.Get(data.CustomerId); |
| | | if (cooperatecustomCustomerDTO.Shenyushouxin.HasValue) |
| | | { |
| | | if(data.Recievemoney.Value> cooperatecustomCustomerDTO.Shenyushouxin.Value) |
| | | { |
| | | data.Recievemoney = data.Recievemoney.Value - cooperatecustomCustomerDTO.Shenyushouxin.Value; |
| | | cooperatecustomCustomerDTO.Shenyushouxin = 0; |
| | | } |
| | | else |
| | | { |
| | | cooperatecustomCustomerDTO.Shenyushouxin = cooperatecustomCustomerDTO.Shenyushouxin.Value - data.Recievemoney.Value; |
| | | data.Recievemoney = 0; |
| | | } |
| | | } |
| | | |
| | | if(cooperatecustomCustomerDTO.Yufukuan.HasValue) |
| | | cooperatecustomCustomerDTO.Yufukuan = cooperatecustomCustomerDTO.Yufukuan.Value + data.Recievemoney.Value; |
| | | else |
| | | cooperatecustomCustomerDTO.Yufukuan = data.Recievemoney.Value; |
| | | resultEntity = _cooperatecustomCustomerService.saveyufukuan(cooperatecustomCustomerDTO); |
| | | FiAccountRecordDTO data1 = new FiAccountRecordDTO(); |
| | | data1.RecStatus = "A"; |
| | | data1.Creater = curentuser.Id; |
| | | data1.Createtime = DateTime.Now; |
| | | data1.Modifier = curentuser.Id; |
| | | data1.Modifytime = DateTime.Now; |
| | | data1.SubjectId = data.SubjectId; |
| | | |
| | | data1.AccountId = data.AccountId; |
| | | data1.Money = data.Recievemoney; |
| | | data1.PaymentUnit = cooperatecustomCustomerDTO.Name; |
| | | data1.OperationalMatters ="客户预付款:" + data.Remark; |
| | | |
| | | |
| | | |
| | | FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); |
| | | |
| | | |
| | | data1.RecordTypeId = "1";//收入 |
| | | data1.Department = ""; |
| | | |
| | | |
| | | |
| | | firmAccount.AllIncome = (firmAccount.AllIncome ?? 0) + data1.Money; |
| | | firmAccount.Balance = (firmAccount.Balance ?? 0) + data1.Money; |
| | | |
| | | data1.AccountMoney = firmAccount.Balance; |
| | | resultEntity = _iFiAccountRecordService.save(data1); |
| | | resultEntity = _fiAccountService.save(firmAccount); |
| | | scope.Complete(); |
| | | } |
| | | |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | |
| | | |
| | | public IActionResult IndexCustomerdtl(string CustomerId) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | List<ActionEntity> actionlist = new List<ActionEntity>(); |
| | | ActionEntity actionEntity = new ActionEntity(); |
| | | actionEntity.OpenType = 0; |
| | | actionEntity.ActionUrl = ""; |
| | | actionEntity.ActionFun = "Search"; |
| | | actionEntity.PageIco = "fa fa-search"; |
| | | actionEntity.ActionName = "查询"; |
| | | actionlist.Add(actionEntity); |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | ViewBag.CustomerId = CustomerId; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | return View(); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | public IActionResult GetListCustomerdel(FiCustomerrecievemoneyDTOSearch search) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | //JsonResult jsonResult = new JsonResult(_liaotianService.SearchByPaging(search), new Newtonsoft.Json.Serialization.DefaultContractResolver()); |
| | | return new JsonResult(_fiCustomerrecievemoneyService.SearchByPaging(search)); |
| | | } |
| | | |
| | | } |
| | | } |