username@email.com
2022-01-06 cd0277d99c49babe5c2de292ef4d54ac4a720f13
zhengcaioa/zhengcaioa/Controllers/Finance/FiOrderrecievemoneyController.cs
@@ -34,11 +34,13 @@
        private readonly ICooperatecustomCustomerService _cooperatecustomCustomerService;
        private readonly IProjectService _projectService;
        private readonly IUserService _userService;
        private readonly IFiCustomerrecievemoneyService _fiCustomerrecievemoneyService;
        public FiOrderrecievemoneyController(ILogger<FiOrderrecievemoneyController> logger, ILiaotianService liaotianService, IFiOrderrecievemoneyService fiOrderrecievemoneyService, ICooperOrderService cooperOrderService, IFiSubjectService ifiSubjectService
            , IFiAccountService fiAccountService, IFiAccountRecordService iFiAccountRecordService, ICooperatecustomCustomerService cooperatecustomCustomerService
            , IProjectService projectService
            , IUserService userService)
            , IUserService userService
            , IFiCustomerrecievemoneyService fiCustomerrecievemoneyService)
        {
            _logger = logger;
            _liaotianService = liaotianService;
@@ -50,6 +52,7 @@
            _cooperatecustomCustomerService = cooperatecustomCustomerService;
            _projectService = projectService;
            _userService = userService;
            _fiCustomerrecievemoneyService = fiCustomerrecievemoneyService;
        }
        public IActionResult Index()
@@ -255,5 +258,145 @@
            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())
            {
                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.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));
        }
    }
}