/// <summary> /// 获取列表数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResultList <XsReceReceivableDO> > GetAllSync(XsReceReceivableDTO model) { var expression = model.GetExpression(); var orders = model.GetOrder(); var entities = await _xsReceReceivableRepository.GetAllAsync(expression, isMaster : false, orderByFields : orders); return(ApiResultUtil.IsSuccess <XsReceReceivableDO>(entities?.ToList())); }
/// <summary> /// 删除发货单作废 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResult> DelAsync(SubmitDTO <XsLadeRimpactDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; #region 除发货单作废 //查对应发货单 var xsLadeBaseResult = await this.GrainFactory.GetGrain <IXsLadeBaseStateGrain>(this.State.XLR_Lade).GetAsync(); XsLadeBaseDTO xsLadeBaseDTO = xsLadeBaseResult.Success ? this.ObjectMapper.Map <XsLadeBaseDTO>(xsLadeBaseResult.Data) : null; //删除发货单作废 XsLadeRimpactState xsLadeRimpactState = this.State; xsLadeRimpactState.IsDel = 1; xsLadeRimpactState.ModityBy = model.UserId; xsLadeRimpactState.ModityByName = model.UserName; xsLadeRimpactState.ModityDate = System.DateTime.Now; xsLadeRimpactState.Version = dto.Version; XsLadeRimpactDO xsLadeRimpactDO = this.ObjectMapper.Map <XsLadeRimpactDO>(xsLadeRimpactState); bool bRet = await _xsLadeRimpactRepository.SetAsync(xsLadeRimpactDO);; if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } #endregion //查对应应收款 IList <XsReceReceivableDO> xsReceReceivableDOs = new List <XsReceReceivableDO>(); if (xsLadeRimpactState.XLR_Type == "101")//本月 { #region 更新发货单状态 xsLadeBaseDTO.XLB_Status = "1"; await this.GrainFactory.GetGrain <IXsLadeBaseStateGrain>(xsLadeBaseDTO.Id).UpdateAsync(new SubmitDTO <XsLadeBaseDTO> { Data = xsLadeBaseDTO, UserId = model.UserId, UserName = model.UserName }); #endregion #region 还原应收款 var xsReceReceivableResult = await this.GrainFactory.GetGrain <IXsReceReceivableGrain>(this.GrainId).GetAllSync(new XsReceReceivableDTO { XRC_BillID = dto.XLR_Lade, XRC_Origins = { "102", "103", "104" } }); if (xsReceReceivableResult.Success && xsReceReceivableResult.Data.Count > 0) { foreach (XsReceReceivableDO xsReceReceivableDO in xsReceReceivableResult.Data) { xsReceReceivableDO.IsDel = 0; XsReceReceivableDTO xsReceReceivableDTO = this.ObjectMapper.Map <XsReceReceivableDTO>(xsReceReceivableDO); await this.GrainFactory.GetGrain <IXsReceReceivableStateGrain>(xsReceReceivableDTO.Id).UpdateAsync(new SubmitDTO <XsReceReceivableDTO> { Data = xsReceReceivableDTO, UserId = model.UserId, UserName = model.UserName }); } } #endregion } else if (xsLadeRimpactState.XLR_Type == "102")//跨月 { #region 除调整应收款 var xsReceReceivableResult = await this.GrainFactory.GetGrain <IXsReceReceivableGrain>(this.GrainId).GetAllSync(new XsReceReceivableDTO { XRC_BillID = dto.Id, XRC_Origins = { "4102", "4103", "4104" } }); if (xsReceReceivableResult.Success && xsReceReceivableResult.Data.Count > 0) { foreach (XsReceReceivableDO xsReceReceivableDO in xsReceReceivableResult.Data) { xsReceReceivableDO.IsDel = 1; XsReceReceivableDTO xsReceReceivableDTO = this.ObjectMapper.Map <XsReceReceivableDTO>(xsReceReceivableDO); await this.GrainFactory.GetGrain <IXsReceReceivableStateGrain>(xsReceReceivableDTO.Id).UpdateAsync(new SubmitDTO <XsReceReceivableDTO> { Data = xsReceReceivableDTO, UserId = model.UserId, UserName = model.UserName }); } } #endregion } await this.Persist(ProcessAction.Update, xsLadeRimpactState); return(ApiResultUtil.IsSuccess("处理成功!")); }
/// <summary> /// 新增发货单作废 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResult> AddAsync(SubmitDTO <XsLadeRimpactDTO> model) { var dto = model.Data; #region 插入发货单作废 //查对应发货单 ApiResult <XsLadeBaseVO> xsLadeBaseResult = await this.GrainFactory.GetGrain <IXsLadeBaseStateGrain>(dto.XLR_Lade).GetAsync(); XsLadeBaseDTO xsLadeBaseDTO = xsLadeBaseResult.Success ? this.ObjectMapper.Map <XsLadeBaseDTO>(xsLadeBaseResult.Data) : null; //插入发货单作废 XsLadeRimpactDO xsLadeRimpactDO = this.ObjectMapper.Map <XsLadeRimpactDO>(dto); xsLadeRimpactDO.XLR_Total = xsLadeBaseDTO.XLB_FactTotal; xsLadeRimpactDO.CreateBy = model.UserId; xsLadeRimpactDO.CreateByName = model.UserName; xsLadeRimpactDO.CreateDate = System.DateTime.Now; xsLadeRimpactDO.ModityBy = model.UserId; xsLadeRimpactDO.ModityByName = model.UserName; xsLadeRimpactDO.ModityDate = System.DateTime.Now; bool bRet = await _xsLadeRimpactRepository.AddAsync(xsLadeRimpactDO);; if (!bRet) { return(ApiResultUtil.IsFailed("数据插入失败!")); } #endregion if (dto.XLR_Type == "101")//本月 { #region 更新发货单状态 xsLadeBaseDTO.XLB_Status = "2"; await this.GrainFactory.GetGrain <IXsLadeBaseStateGrain>(xsLadeBaseDTO.Id).UpdateAsync(new SubmitDTO <XsLadeBaseDTO> { Data = xsLadeBaseDTO, UserId = model.UserId, UserName = model.UserName }); #endregion #region 除应收款 var xsReceReceivableResult = await this.GrainFactory.GetGrain <IXsReceReceivableGrain>(this.GrainId).GetAllSync(new XsReceReceivableDTO { XRC_BillID = dto.XLR_Lade, XRC_Origins = { "102", "103", "104" } }); if (xsReceReceivableResult.Success && xsReceReceivableResult.Data.Count > 0) { foreach (XsReceReceivableDO xsReceReceivableDO in xsReceReceivableResult.Data) { xsReceReceivableDO.IsDel = 1; XsReceReceivableDTO xsReceReceivableDTO = this.ObjectMapper.Map <XsReceReceivableDTO>(xsReceReceivableDO); await this.GrainFactory.GetGrain <IXsReceReceivableStateGrain>(xsReceReceivableDTO.Id).UpdateAsync(new SubmitDTO <XsReceReceivableDTO> { Data = xsReceReceivableDTO, UserId = model.UserId, UserName = model.UserName }); } } #endregion } else if (dto.XLR_Type == "102")//跨月 { #region 插入调整应收款 var xsReceReceivableResult = await this.GrainFactory.GetGrain <IXsReceReceivableGrain>(this.GrainId).GetAllSync(new XsReceReceivableDTO { XRC_BillID = dto.XLR_Lade, XRC_Origins = { "102", "103", "104" } }); if (xsReceReceivableResult.Success && xsReceReceivableResult.Data.Count > 0) { foreach (XsReceReceivableDO xsReceReceivableDO in xsReceReceivableResult.Data) { XsReceReceivableDTO xsReceReceivableDTO = new XsReceReceivableDTO { Id = await this.GrainFactory.GetGrain <IUtcUID>(GrainIdKey.UtcUIDGrainKey).NewID(), XRC_SetDate = xsLadeRimpactDO.XLR_SetDate, XRC_BillID = xsLadeRimpactDO.Id,//作废主键 XRC_Origin = "4" + xsReceReceivableDO.XRC_Origin, XRC_Total = -xsReceReceivableDO.XRC_Total, XRC_Firm = xsLadeRimpactDO.XLR_Firm }; await this.GrainFactory.GetGrain <IXsReceReceivableStateGrain>(xsReceReceivableDTO.Id).AddAsync(new SubmitDTO <XsReceReceivableDTO> { Data = xsReceReceivableDTO, UserId = model.UserId, UserName = model.UserName }); } } #endregion } //更新服务状态 XsLadeRimpactState xsLadeRimpactState = this.ObjectMapper.Map <XsLadeRimpactState>(xsLadeRimpactDO); await this.Persist(ProcessAction.Create, xsLadeRimpactState); return(ApiResultUtil.IsSuccess("处理成功!")); }