| | |
| | | using zhengcaioa.IService; |
| | | using System.IO; |
| | | using Microsoft.Extensions.Configuration; |
| | | using System.Transactions; |
| | | |
| | | namespace zhengcaioa.Controllers.Expert |
| | | { |
| | |
| | | private readonly ILiaotianService _liaotianService; |
| | | private readonly IProjectService _projectService; |
| | | private readonly IUserService _userService; |
| | | public ExpertController(ILogger<ExpertController> logger, IExpertService expertService, IProjectService projectService, ILiaotianService liaotianService, IUserService userService) |
| | | private readonly IFiSubjectService _ifiSubjectService; |
| | | private readonly ICooperOrderService _cooperOrderService; |
| | | private readonly IFiAccountService _fiAccountService; |
| | | private readonly IFiAccountRecordService _iFiAccountRecordService; |
| | | public ExpertController(ILogger<ExpertController> logger, IExpertService expertService, IProjectService projectService, ILiaotianService liaotianService, IUserService userService |
| | | , IFiSubjectService ifiSubjectService, ICooperOrderService cooperOrderService, IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService) |
| | | { |
| | | _logger = logger; |
| | | _expertService = expertService; |
| | | _projectService = projectService; |
| | | _liaotianService = liaotianService; |
| | | _userService = userService; |
| | | _ifiSubjectService = ifiSubjectService; |
| | | _cooperOrderService = cooperOrderService; |
| | | _fiAccountService = fiAccountService; |
| | | _iFiAccountRecordService = iFiAccountRecordService; |
| | | } |
| | | [CheckLogin] |
| | | public IActionResult Index() |
| | |
| | | ViewBag.HuifangStatus = _liaotianService.GetSYScode("CooperOrder", "huifang_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | |
| | | ViewBag.PingjiaStatus = _liaotianService.GetSYScode("CooperOrder", "pingjia_status").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | |
| | | ViewBag.Expert = _expertService.GetList().Select(x => new { code = x.Id, label = x.Name }).ToList(); |
| | | return View(); |
| | | } |
| | | [CheckLogin] |
| | |
| | | { |
| | | data.Creater = curentuser.Id; |
| | | data.Createtime = DateTime.Now; |
| | | data.sort = "D"; |
| | | } |
| | | data.Modifier = curentuser.Id; |
| | | data.Modifytime = DateTime.Now; |
| | |
| | | |
| | | |
| | | |
| | | #region 专家费用结算 |
| | | [CheckLogin] |
| | | public IActionResult ExpertFeiyong() |
| | | { |
| | | 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); |
| | | |
| | | ActionEntity actionEntity1 = new ActionEntity(); |
| | | actionEntity1.OpenType = 0; |
| | | actionEntity1.ActionUrl = ""; |
| | | actionEntity1.ActionFun = "Jiesuan"; |
| | | actionEntity1.PageIco = "fa fa-plus-square"; |
| | | actionEntity1.ActionName = "结算"; |
| | | actionlist.Add(actionEntity1); |
| | | |
| | | |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | |
| | | ViewBag.Expert = _expertService.GetList().Select(x => new { code = x.Id, label = x.Name }).ToList(); |
| | | ViewBag.shifou = _liaotianService.GetSYScode("system", "shifou").Select(x => new { code = x.CodeSn, label = x.Comments }).ToList(); |
| | | return View(); |
| | | } |
| | | |
| | | [CheckLogin] |
| | | public string GetJiesuanList(ExpertOrderDipatchDTOSearch search) |
| | | { |
| | | return JsonConvert.SerializeObject(_expertService.SearchJiesuan(search)); |
| | | } |
| | | |
| | | |
| | | public IActionResult EditJiesuan(string id) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | decimal Money = 0; |
| | | FiOrderrecievemoneyDTO dto = new FiOrderrecievemoneyDTO(); |
| | | if (!String.IsNullOrEmpty(id)) |
| | | { |
| | | string[] ids = id.Split(','); |
| | | foreach(var iddd in ids) |
| | | { |
| | | var expertOrderDipatchDTO = _expertService.GetDispatch(iddd); |
| | | if(expertOrderDipatchDTO.sort != "A") |
| | | { |
| | | Money += expertOrderDipatchDTO.Money.Value; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | dto.PayTime = DateTime.Now; |
| | | dto.Id = id; |
| | | |
| | | dto.Money = Money; |
| | | |
| | | |
| | | ViewData.Model = dto; |
| | | |
| | | ViewBag.PayType = _liaotianService.GetSYScode("fi_account", "accounttype"); |
| | | ViewBag.accounttype = _liaotianService.GetSYScode("fi_account", "accounttype"); |
| | | ViewBag.FiSubject = _ifiSubjectService.GetList().Where(x => x.Subjecttype == "02").ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | ViewData.Model = dto; |
| | | return View(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 保存 |
| | | /// </summary> |
| | | /// <param name="data">岗位实体类对象</param> |
| | | /// <returns></returns> |
| | | /// |
| | | [HttpPost] |
| | | public IActionResult SaveJiesuan(FiOrderrecievemoneyDTO data) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewData["curentuser"] = curentuser; |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | string[] ids = data.Id.Split(','); |
| | | foreach (var iddd in ids) |
| | | { |
| | | var expertOrderDipatchDTO = _expertService.GetDispatch(iddd); |
| | | if(expertOrderDipatchDTO.sort == "A") |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "存在已经结算的订单"; |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | expertOrderDipatchDTO.sort = "A"; |
| | | expertOrderDipatchDTO.Modifier = curentuser.Id; |
| | | expertOrderDipatchDTO.Modifytime = DateTime.Now; |
| | | resultEntity = _expertService.SaveDispatch(expertOrderDipatchDTO); |
| | | if (!resultEntity.Result) |
| | | { |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | var expertDTO = _expertService.Get(expertOrderDipatchDTO.ExpertId); |
| | | var orderDTO = _cooperOrderService.Get(expertOrderDipatchDTO.OrderId); |
| | | //插入支出记录 |
| | | FiAccountRecordDTO data1 = new FiAccountRecordDTO(); |
| | | data1.RecStatus = "A"; |
| | | data1.Creater = curentuser.Id; |
| | | data1.Createtime = data.PayTime; |
| | | data1.Modifier = curentuser.Id; |
| | | data1.Modifytime = data.PayTime; |
| | | data1.SubjectId = data.SubjectId; |
| | | data1.AccountId = data.AccountId; |
| | | data1.Money = expertOrderDipatchDTO.Money; |
| | | data1.PaymentUnit = expertDTO.Name; |
| | | data1.OperationalMatters = expertDTO.Name +" " +orderDTO.OrderNo+ "结算费用" ; |
| | | |
| | | |
| | | |
| | | FiAccountDTO firmAccount = _fiAccountService.Get(data1.AccountId); |
| | | |
| | | |
| | | data1.RecordTypeId = "2";//收入 |
| | | data1.Department = ""; |
| | | |
| | | |
| | | firmAccount.AllExpenses = (firmAccount.AllExpenses ?? 0) + data1.Money; |
| | | firmAccount.Balance = (firmAccount.Balance ?? 0) - data1.Money; |
| | | |
| | | |
| | | |
| | | data1.AccountMoney = firmAccount.Balance; |
| | | resultEntity = _iFiAccountRecordService.save(data1); |
| | | if (!resultEntity.Result) |
| | | { |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | |
| | | resultEntity = _fiAccountService.save(firmAccount); |
| | | if (!resultEntity.Result) |
| | | { |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | } |
| | | scope.Complete(); |
| | | } |
| | | |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | } |