/// <summary> /// 重置状态数据 /// </summary> /// <returns></returns> public virtual async Task <ApiResult> ReinstantiateState(TState state = default) { try { TState result = (TState)state; if (result == null) { var onReadDbTask = OnReadFromDbAsync(); if (!onReadDbTask.IsCompletedSuccessfully) { await onReadDbTask; } result = onReadDbTask.Result; } if (result != null) { State = result; await WriteStateAsync(); } else { await ClearStateAsync(); } return(ApiResultUtil.IsSuccess()); } catch (Exception ex) { Logger.LogError("刷新状态", ex); return(ApiResultUtil.IsFailed(ex.Message)); } }
public async Task <ApiResult> UpdateAsync(SubmitDTO <XsReceReceivableDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; XsReceReceivableState xsReceReceivableState = this.State; if (dto.IsDel != 1) { } xsReceReceivableState.IsDel = dto.IsDel; xsReceReceivableState.ModityBy = model.UserId; xsReceReceivableState.ModityByName = model.UserName; xsReceReceivableState.ModityDate = System.DateTime.Now; xsReceReceivableState.Version = dto.Version; XsReceReceivableDO xsLadeBaseDO = this.ObjectMapper.Map <XsReceReceivableDO>(xsReceReceivableState); bool bRet = await _xsReceReceivableRepository.SetAsync(xsLadeBaseDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } await this.Persist(ProcessAction.Update, xsReceReceivableState); return(ApiResultUtil.IsSuccess()); }
/// <summary> /// 删除 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResult> DelAsync(SubmitDTO <HyFormulaMaterDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; HyFormulaMaterState hyFormulaMaterState = this.State; hyFormulaMaterState.IsDel = 1; hyFormulaMaterState.ModityBy = model.UserId; hyFormulaMaterState.ModityByName = model.UserName; hyFormulaMaterState.ModityDate = System.DateTime.Now; hyFormulaMaterState.Version = dto.Version; HyFormulaMaterDO xsLadeRimpactDO = this.ObjectMapper.Map <HyFormulaMaterDO>(hyFormulaMaterState); bool bRet = await _hyFormulaMaterRepository.SetAsync(xsLadeRimpactDO);; if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } await this.Persist(ProcessAction.Update, hyFormulaMaterState); return(ApiResultUtil.IsSuccess("处理成功!")); }
public async Task <ApiResult> AddAsync(SubmitDTO <ScheduleTaskDTO> model) { //参数校验 if (!model.Data.IsValid(out string exMsg)) { return(ApiResultUtil.IsFailed(exMsg)); } //转换为数据库实体 ScheduleTaskDO scheduleDO = this.ObjectMapper.Map <ScheduleTaskDO>(model.Data); scheduleDO.CreateBy = model.UserId; scheduleDO.CreateDate = System.DateTime.Now; scheduleDO.ModityBy = model.UserId; scheduleDO.ModityDate = System.DateTime.Now; bool bRet = await _scheduleRepository.AddAsync(scheduleDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据插入失败!")); } //更新服务状态 ScheduleTaskState scheduleTaskState = this.ObjectMapper.Map <ScheduleTaskState>(scheduleDO); await this.Persist(ProcessAction.Create, scheduleTaskState); return(ApiResultUtil.IsSuccess(model.Data.Id.ToString())); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <ScheduleTaskDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } bool bRet = await _scheduleRepository.SetAsync(() => new { task_name = dto.TaskName, line_code = dto.LineCode, version = (dto.Version + 1) }, oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } ScheduleTaskState scheduleTaskState = this.State; scheduleTaskState.TaskName = dto.TaskName; scheduleTaskState.LineCode = dto.LineCode; scheduleTaskState.Version++; ///任务完成 进行系统对接 if (dto.TaskState == TaskState.Complete) { ScheduleTaskVO scheduleTaskVO = this.ObjectMapper.Map <ScheduleTaskVO>(this.State); await PublishAsync(scheduleTaskVO); } await this.Persist(ProcessAction.Update, scheduleTaskState); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> UpdateColumnAsync(ColumnInfoDO model) { var state = this.State; if (state.ColumnInfos.Any(m => m.Id == model.Id)) { var columnInfo = state.ColumnInfos.First(mbox => mbox.Id == model.Id); columnInfo.IsDel = model.IsDel; columnInfo.SelfColumn = string.IsNullOrWhiteSpace(model.SelfColumn) ? columnInfo.SelfColumn : model.SelfColumn; columnInfo.ModelColumn = string.IsNullOrWhiteSpace(model.ModelColumn) ? columnInfo.ModelColumn : model.ModelColumn; columnInfo.Desc = string.IsNullOrWhiteSpace(model.Desc) ? columnInfo.Desc : model.Desc; columnInfo.SortNo = model.SortNo > 0 ? model.SortNo : columnInfo.SortNo; columnInfo.DisplayName = string.IsNullOrWhiteSpace(model.DisplayName) ? columnInfo.DisplayName : model.DisplayName; columnInfo.Version++; columnInfo.ModityDate = DateTime.Now; bool bRet = await _columnInfoRepository.SetAsync(columnInfo); if (!bRet) { return(ApiResultUtil.IsFailed("更新失败!")); } //刷新缓存 var groupCodes = new List <string> { this.State.TableInfos.First(mbox => mbox.Id == columnInfo.TableId).GroupCode }; await RefrshGroupState(groupCodes.ToList()); await this.Persist(Kaneko.Core.Contract.ProcessAction.Update, this.State); } return(ApiResultUtil.IsFailed($"列ID【{model.Id}】不存在!")); }
public async Task <ApiResult> AddAsync(SubmitDTO <XsReceReceivableDTO> model) { var dto = model.Data; //转换为数据库实体 XsReceReceivableDO xsReceReceivableDO = this.ObjectMapper.Map <XsReceReceivableDO>(dto); xsReceReceivableDO.CreateBy = model.UserId; xsReceReceivableDO.CreateByName = model.UserName; xsReceReceivableDO.CreateDate = System.DateTime.Now; xsReceReceivableDO.ModityBy = model.UserId; xsReceReceivableDO.ModityByName = model.UserName; xsReceReceivableDO.ModityDate = System.DateTime.Now; bool bRet = await _xsReceReceivableRepository.AddAsync(xsReceReceivableDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据插入失败!")); } //string sql = _xsLadeRimpactRepository.ExecuteScript; //更新服务状态 XsReceReceivableState xsLadeBaseState = this.ObjectMapper.Map <XsReceReceivableState>(xsReceReceivableDO); await this.Persist(ProcessAction.Create, xsLadeBaseState); return(ApiResultUtil.IsSuccess(dto.Id.ToString())); }
public async Task <ApiResult> UpdateTableAsync(TableInfoDO model) { var state = this.State; if (state.TableInfos.Any(m => m.Id == model.Id)) { var tableInfoDO = state.TableInfos.First(mbox => mbox.Id == model.Id); tableInfoDO.IsDel = model.IsDel; tableInfoDO.TableName = string.IsNullOrWhiteSpace(model.TableName) ? tableInfoDO.TableName : model.TableName; tableInfoDO.GroupCode = string.IsNullOrWhiteSpace(model.GroupCode) ? tableInfoDO.GroupCode : model.GroupCode; tableInfoDO.Desc = string.IsNullOrWhiteSpace(model.Desc) ? tableInfoDO.Desc : model.Desc; tableInfoDO.Version++; tableInfoDO.ModityDate = DateTime.Now; bool bRet = await _tableInfoRepository.SetAsync(tableInfoDO); if (!bRet) { return(ApiResultUtil.IsFailed("更新失败!")); } //刷新缓存 var groupCodes = new List <string> { tableInfoDO.GroupCode }; await RefrshGroupState(groupCodes.ToList()); await this.Persist(Kaneko.Core.Contract.ProcessAction.Update, this.State); } return(ApiResultUtil.IsFailed($"表ID【{model.Id}】不存在!")); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <ScheduleTaskDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } bool bRet = await _scheduleRepository.SetAsync(() => new { task_name = dto.TaskName, line_code = dto.LineCode, version = (dto.Version + 1) }, oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } ScheduleTaskState scheduleTaskState = this.State; scheduleTaskState.TaskName = dto.TaskName; scheduleTaskState.LineCode = dto.LineCode; scheduleTaskState.Version++; ///任务完成 进行系统对接 if (dto.TaskState == TaskState.Complete) { TaskListModel scheduleTaskModel = new TaskListModel() { TaskCode = dto.TaskCode }; await Observer.PublishAsync(EventContract.ComConcrete.TaskListToZK, scheduleTaskModel); } await this.Persist(ProcessAction.Update, scheduleTaskState); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> DeleteAsync(long id) { if (id <= 0) { return(ApiResultUtil.IsFailed("主键ID不能为空!")); } if (!this.State.Balance.Any(m => m.Id == id)) { return(ApiResultUtil.IsFailed("不存在该字典!")); } var currentState = this.State.Balance.First(m => m.Id == id); bool bRet = await _dictRepository.SetAsync(() => new { is_del = 1, version = (currentState.Version + 1), modity_date = System.DateTime.Now }, oo => oo.Id == id); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } currentState.IsDel = 1; currentState.ModityDate = System.DateTime.Now; currentState.Version++; await this.Persist(ProcessAction.Update, this.State); return(ApiResultUtil.IsSuccess()); }
public Task <ApiResult> DeleteAsync(string Id) { if (string.IsNullOrWhiteSpace(Id)) { return(Task.FromResult(ApiResultUtil.IsFailed("Id不能为空!"))); } return(factory.GetGrain <IXsLadeBaseStateGrain>(Id).DeleteAsync()); }
public Task <ApiResult> UpdateAsync([FromForm] SubmitDTO <XsLadeBaseDTO> model) { if (string.IsNullOrWhiteSpace(model.Data.Id)) { return(Task.FromResult(ApiResultUtil.IsFailed("Id不能为空!"))); } return(factory.GetGrain <IXsLadeBaseStateGrain>(model.Data.Id).UpdateAsync(model)); }
public Task <ApiResult> UpdateAsync([FromForm] SubmitDTO <ScheduleTaskDTO> model) { if (model.Data.Id <= 0) { return(Task.FromResult(ApiResultUtil.IsFailed("Id不能为空!"))); } return(factory.GetGrain <IScheduleTaskStateGrain>(model.Data.Id).UpdateAsync(model)); }
public Task <ApiResult> UpdateAsync([FromForm] SubmitDTO <DictDTO> model) { if (string.IsNullOrEmpty(model.Data.DataType)) { return(Task.FromResult(ApiResultUtil.IsFailed("字典类型不能为空!"))); } return(factory.GetGrain <IDictDataTypeStateGrain>(model.Data.DataType).UpdateAsync(model)); }
public Task <ApiResult> DelAsync([FromForm] SubmitDTO <HyFormulaMaterDTO> model) { if (string.IsNullOrWhiteSpace(model.Data.Id)) { return(Task.FromResult(ApiResultUtil.IsFailed("Id不能为空!"))); } return(factory.GetGrain <IHyFormulaMaterStateGrain>(model.Data.Id).DelAsync(model)); }
public Task <ApiResult <DictVO> > GetAsync(string dataType, long id) { if (string.IsNullOrEmpty(dataType)) { return(Task.FromResult(ApiResultUtil.IsFailed <DictVO>("字典类型不能为空!"))); } return(factory.GetGrain <IDictDataTypeStateGrain>(dataType).GetAsync(id)); }
public Task <ApiResult <DictVO> > GetAsync(long id) { if (this.State.Balance.Any(m => m.Id == id)) { var dictDO = this.State.Balance.First(m => m.Id == id); DictVO dictVO = this.ObjectMapper.Map <DictVO>(dictDO); return(Task.FromResult(ApiResultUtil.IsSuccess(dictVO))); } return(Task.FromResult(ApiResultUtil.IsFailed <DictVO>("无数据!"))); }
public Task <ApiResult <XsLadeBaseVO> > GetByLadeIdSync([FromQuery] XsLadeBaseDTO model) { if (string.IsNullOrWhiteSpace(model.XLB_LadeId)) { return(Task.FromResult(ApiResultUtil.IsFailed <XsLadeBaseVO>("发货单编号不允许为空!"))); } if (string.IsNullOrWhiteSpace(model.XLB_Firm)) { return(Task.FromResult(ApiResultUtil.IsFailed <XsLadeBaseVO>("所属企业不允许为空!"))); } return(factory.GetGrain <IXsLadeBaseGrain>(System.Guid.NewGuid().ToString()).GetByLadeIdSync(model)); }
public async Task <ApiResult> AddColumnAsync(List <ColumnInfoDTO> model) { //参数校验 if (!model.IsValid(out string exMsg)) { return(ApiResultUtil.IsFailed(exMsg)); } List <ColumnInfoDO> columnInfos = new List <ColumnInfoDO>(); List <string> groupCodes = new List <string>(); foreach (var column in model) { if (columnInfos.Any(mbox => mbox.SelfColumn == column.SelfColumn)) { return(ApiResultUtil.IsFailed($"列名称【{column.SelfColumn}】重复!")); } if (!this.State.TableInfos.Any(mbox => mbox.Id == column.TableId)) { return(ApiResultUtil.IsFailed($"表ID【{column.TableId}】不存在!")); } groupCodes.Add(this.State.TableInfos.First(mbox => mbox.Id == column.TableId).GroupCode); long columnId = await this.GrainFactory.GetGrain <IUtcUID>(GrainIdKey.UtcUIDGrainKey).NewLongID(); var columnInfo = this.ObjectMapper.Map <ColumnInfoDO>(column); columnInfo.Id = columnId; columnInfo.CreateDate = System.DateTime.Now; columnInfo.ModityDate = System.DateTime.Now; columnInfos.Add(columnInfo); } bool bRet = await _columnInfoRepository.AddAsync(columnInfos.ToArray()); if (!bRet) { return(ApiResultUtil.IsFailed("数据保存失败!")); } var state = this.State; state.ColumnInfos.AddRange(columnInfos); //刷新缓存 await RefrshGroupState(groupCodes.Distinct().ToList()); await this.Persist(Kaneko.Core.Contract.ProcessAction.Create, state); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> DeleteAsync() { if (this.GrainId <= 0) { return(ApiResultUtil.IsFailed("主键ID不能为空!")); } bool bRet = await _scheduleRepository.DeleteAsync(oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据删除失败!")); } await this.Persist(ProcessAction.Delete); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> DeleteAsync() { if (string.IsNullOrEmpty(this.GrainId)) { return(ApiResultUtil.IsFailed("主键ID不能为空!")); } bool bRet = await _xsLadeBaseRepository.DeleteAsync(oo => oo.Id == this.GrainId); if (!bRet) { return(ApiResultUtil.IsFailed("数据删除失败!")); } await this.Persist(ProcessAction.Delete); return(ApiResultUtil.IsSuccess()); }
/// <summary> /// 新增 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResult> AddAsync(SubmitDTO <HyFormulaMaterDTO> model) { var dto = model.Data; HyFormulaMaterDO hyFormulaMaterDO = this.ObjectMapper.Map <HyFormulaMaterDO>(dto); hyFormulaMaterDO.Create(model.UserId, model.UserName); bool bRet = await _hyFormulaMaterRepository.AddAsync(hyFormulaMaterDO);; if (!bRet) { return(ApiResultUtil.IsFailed("数据插入失败!")); } //更新服务状态 HyFormulaMaterState hyFormulaMaterState = this.ObjectMapper.Map <HyFormulaMaterState>(hyFormulaMaterDO); await this.Persist(ProcessAction.Create, hyFormulaMaterState); return(ApiResultUtil.IsSuccess("处理成功!")); }
public async Task <ApiResult> UpdateSystemAsync(SystemInfoDO model) { var state = this.State; if (state.SystemInfos.Any(m => m.Id == model.Id)) { var systemInfoDO = state.SystemInfos.First(mbox => mbox.Id == model.Id); string oldConnection = systemInfoDO.DbConnection; systemInfoDO.IsDel = model.IsDel; systemInfoDO.SystemName = string.IsNullOrWhiteSpace(model.SystemName) ? systemInfoDO.SystemName : model.SystemName; systemInfoDO.DbConnection = string.IsNullOrWhiteSpace(model.DbConnection) ? systemInfoDO.DbConnection : model.DbConnection; systemInfoDO.Desc = string.IsNullOrWhiteSpace(model.Desc) ? systemInfoDO.Desc : model.Desc; systemInfoDO.Version++; systemInfoDO.ModityDate = DateTime.Now; systemInfoDO.Firm = string.IsNullOrWhiteSpace(model.Firm) ? systemInfoDO.Firm : model.Firm; systemInfoDO.Line = string.IsNullOrWhiteSpace(model.Line) ? systemInfoDO.Line : model.Line; bool bRet = await _systemInfoRepository.SetAsync(systemInfoDO); if (!bRet) { return(ApiResultUtil.IsFailed("更新失败!")); } //if (oldConnection != model.DbConnection || oldDbType != model.DbType) { //修改了数据库配置需要刷新缓存 var groupCodes = state.TableInfos.Where(m => m.SystemId == model.Id).Select(mbox => mbox.GroupCode).Distinct(); await RefrshGroupState(groupCodes.ToList()); } await this.Persist(Kaneko.Core.Contract.ProcessAction.Update, this.State); } return(ApiResultUtil.IsFailed($"系统ID【{model.Id}】不存在!")); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <DictDTO> model) { var dto = model.Data; if (dto.Id <= 0) { return(ApiResultUtil.IsFailed("主键ID不能为空!")); } if (!this.State.Balance.Any(m => m.Id == dto.Id)) { return(ApiResultUtil.IsFailed("不存在该字典!")); } var currentState = this.State.Balance.First(m => m.Id == dto.Id); bool bRet = await _dictRepository.SetAsync(() => new { is_del = 1, data_desc = dto.DataDesc, data_value = dto.DataValue, version = (currentState.Version + 1), modity_date = System.DateTime.Now }, oo => oo.Id == dto.Id); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } currentState.DataValue = dto.DataValue; currentState.DataDesc = dto.DataDesc; currentState.IsDel = 1; currentState.ModityDate = System.DateTime.Now; currentState.Version++; await this.Persist(ProcessAction.Update, this.State); return(ApiResultUtil.IsSuccess()); }
/// <summary> /// 修改 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ApiResult> UpdateAsync(SubmitDTO <HyFormulaMaterDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; HyFormulaMaterState xsLadeBaseState = this.State; xsLadeBaseState.HFM_Name = dto.HFM_Name; xsLadeBaseState.HFM_Cement = dto.HFM_Cement; xsLadeBaseState.HFM_Line = dto.HFM_Line; xsLadeBaseState.HFM_Field = dto.HFM_Field; xsLadeBaseState.HFM_FactField = dto.HFM_FactField; xsLadeBaseState.HFM_Firm = dto.HFM_Firm; xsLadeBaseState.HFM_Order = dto.HFM_Order; xsLadeBaseState.ModityBy = model.UserId; xsLadeBaseState.ModityByName = model.UserName; xsLadeBaseState.ModityDate = System.DateTime.Now; xsLadeBaseState.Version = dto.Version; HyFormulaMaterDO xsLadeBaseDO = this.ObjectMapper.Map <HyFormulaMaterDO>(xsLadeBaseState); bool bRet = await _hyFormulaMaterRepository.SetAsync(xsLadeBaseDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } await this.Persist(ProcessAction.Update, xsLadeBaseState); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <XsProductMiddleDataDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; XsProductMiddleDataState xsProductMiddleDataState = this.State; if (dto.IsDel != 1) { xsProductMiddleDataState.XPM_EID = dto.XPM_EID; xsProductMiddleDataState.XPM_Tagalong = dto.XPM_Tagalong; xsProductMiddleDataState.XPM_Matching = dto.XPM_Matching; xsProductMiddleDataState.XPM_CurDate = dto.XPM_CurDate; xsProductMiddleDataState.XPM_JobNo = dto.XPM_JobNo; xsProductMiddleDataState.XPM_PropNo = dto.XPM_PropNo; xsProductMiddleDataState.XPM_Strength = dto.XPM_Strength; xsProductMiddleDataState.XPM_CustNm = dto.XPM_CustNm; xsProductMiddleDataState.XPM_ProjNm = dto.XPM_ProjNm; xsProductMiddleDataState.XPM_Location = dto.XPM_Location; xsProductMiddleDataState.XPM_SiteNo = dto.XPM_SiteNo; xsProductMiddleDataState.XPM_TechReq = dto.XPM_TechReq; xsProductMiddleDataState.XPM_ETel = dto.XPM_ETel; xsProductMiddleDataState.XPM_DeliveryMode = dto.XPM_DeliveryMode; xsProductMiddleDataState.XPM_TTLQntyPlanned = dto.XPM_TTLQntyPlanned; xsProductMiddleDataState.XPM_YSLC = dto.XPM_YSLC; xsProductMiddleDataState.XPM_KangShenLevel = dto.XPM_KangShenLevel; xsProductMiddleDataState.XPM_PBBL = dto.XPM_PBBL; xsProductMiddleDataState.XPM_SNBH = dto.XPM_SNBH; xsProductMiddleDataState.XPM_SZGG = dto.XPM_SZGG; xsProductMiddleDataState.XPM_TaLuoDu = dto.XPM_TaLuoDu; xsProductMiddleDataState.XPM_Remark = dto.XPM_Remark; xsProductMiddleDataState.XPM_LJFL = dto.XPM_LJFL; xsProductMiddleDataState.XPM_FHBH = dto.XPM_FHBH; xsProductMiddleDataState.XPM_Truckvol = dto.XPM_Truckvol; xsProductMiddleDataState.XPM_YSGJ = dto.XPM_YSGJ; xsProductMiddleDataState.XPM_CurTime = dto.XPM_CurTime; xsProductMiddleDataState.XPM_JSY = dto.XPM_JSY; xsProductMiddleDataState.XPM_Operator = dto.XPM_Operator; xsProductMiddleDataState.XPM_FHR = dto.XPM_FHR; xsProductMiddleDataState.XPM_ProduceLine = dto.XPM_ProduceLine; xsProductMiddleDataState.XPM_QYDD = dto.XPM_QYDD; xsProductMiddleDataState.XPM_TruckNo = dto.XPM_TruckNo; xsProductMiddleDataState.XPM_Driver = dto.XPM_Driver; xsProductMiddleDataState.XPM_TBBJ = dto.XPM_TBBJ; xsProductMiddleDataState.XPM_SCBJ = dto.XPM_SCBJ; xsProductMiddleDataState.XPM_YLa = dto.XPM_YLa; xsProductMiddleDataState.XPM_YLb = dto.XPM_YLb; xsProductMiddleDataState.XPM_SCXH = dto.XPM_SCXH; xsProductMiddleDataState.XPM_IsTransMit = dto.XPM_IsTransMit; xsProductMiddleDataState.XPM_Line = dto.XPM_Line; xsProductMiddleDataState.XPM_RepetBill = dto.XPM_RepetBill; } xsProductMiddleDataState.IsDel = dto.IsDel; xsProductMiddleDataState.ModityBy = model.UserId; xsProductMiddleDataState.ModityByName = model.UserName; xsProductMiddleDataState.ModityDate = System.DateTime.Now; xsProductMiddleDataState.Version = dto.Version; XsProductMiddleDataDO xsProductMiddleDataDO = this.ObjectMapper.Map <XsProductMiddleDataDO>(xsProductMiddleDataState); bool bRet = await _xsProductMiddleDataRepository.SetAsync(xsProductMiddleDataDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } await this.Persist(ProcessAction.Update, xsProductMiddleDataState); return(ApiResultUtil.IsSuccess()); }
public async Task <ApiResult> UpdateAsync(SubmitDTO <XsLadeBaseDTO> model) { var dto = model.Data; if (dto.Version != this.State.Version) { return(ApiResultUtil.IsFailed("数据已被修改,请重新再加载!")); } dto.Version++; XsLadeBaseState xsLadeBaseState = this.State; if (dto.IsDel != 1) { xsLadeBaseState.XLB_LadeId = dto.XLB_LadeId; xsLadeBaseState.XLB_SetDate = dto.XLB_SetDate; xsLadeBaseState.XLB_Area = dto.XLB_Area; xsLadeBaseState.XLB_Origin = dto.XLB_Origin; xsLadeBaseState.XLB_Line = dto.XLB_Line; xsLadeBaseState.XLB_Client = dto.XLB_Client; xsLadeBaseState.XLB_Cement = dto.XLB_Cement; xsLadeBaseState.XLB_Number = dto.XLB_Number; xsLadeBaseState.XLB_Price = dto.XLB_Price; xsLadeBaseState.XLB_CardPrice = dto.XLB_CardPrice; xsLadeBaseState.XLB_Total = dto.XLB_Total; xsLadeBaseState.XLB_FactNum = dto.XLB_FactNum; xsLadeBaseState.XLB_TurnNum = dto.XLB_TurnNum; xsLadeBaseState.XLB_ReturnNum = dto.XLB_ReturnNum; xsLadeBaseState.XLB_FactTotal = dto.XLB_FactTotal; xsLadeBaseState.XLB_ScaleDifNum = dto.XLB_ScaleDifNum; xsLadeBaseState.XLB_InvoNum = dto.XLB_InvoNum; xsLadeBaseState.XLB_SendArea = dto.XLB_SendArea; xsLadeBaseState.XLB_ApproveMan = dto.XLB_ApproveMan; xsLadeBaseState.XLB_CarCode = dto.XLB_CarCode; xsLadeBaseState.XLB_Quantity = dto.XLB_Quantity; xsLadeBaseState.XLB_PickMan = dto.XLB_PickMan; xsLadeBaseState.XLB_PrintNum = dto.XLB_PrintNum; xsLadeBaseState.XLB_ScaleDifID = dto.XLB_ScaleDifID; xsLadeBaseState.XLB_IsOut = dto.XLB_IsOut; xsLadeBaseState.XLB_Gather = dto.XLB_Gather; xsLadeBaseState.XLB_IsInvo = dto.XLB_IsInvo; xsLadeBaseState.XLB_Collate = dto.XLB_Collate; xsLadeBaseState.XLB_Firm = dto.XLB_Firm; xsLadeBaseState.XLB_Status = dto.XLB_Status; xsLadeBaseState.XLB_Remark = dto.XLB_Remark; xsLadeBaseState.XLB_ReturnRemark = dto.XLB_ReturnRemark; xsLadeBaseState.XLB_IsAgainPrint = dto.XLB_IsAgainPrint; xsLadeBaseState.XLB_Tranist = dto.XLB_Tranist; xsLadeBaseState.XLB_ColType = dto.XLB_ColType; xsLadeBaseState.XLB_AuditCarryTime = dto.XLB_AuditCarryTime; xsLadeBaseState.XLB_TaskID = dto.XLB_TaskID; xsLadeBaseState.XLB_BackNum = dto.XLB_BackNum; xsLadeBaseState.XLB_IsTransmit = dto.XLB_IsTransmit; xsLadeBaseState.XLB_OptName = dto.XLB_OptName; xsLadeBaseState.XLB_OptID = dto.XLB_OptID; xsLadeBaseState.XLB_CarNo = dto.XLB_CarNo; xsLadeBaseState.XLB_AgiId = dto.XLB_AgiId; xsLadeBaseState.XLB_Mortar = dto.XLB_Mortar; xsLadeBaseState.XLB_Method = dto.XLB_Method; xsLadeBaseState.XLB_ReturnPrice = dto.XLB_ReturnPrice; xsLadeBaseState.XLB_ReturnTotal = dto.XLB_ReturnTotal; xsLadeBaseState.XLB_AgentPrice = dto.XLB_AgentPrice; xsLadeBaseState.XLB_AgentTotal = dto.XLB_AgentTotal; xsLadeBaseState.XLB_RecipeNo = dto.XLB_RecipeNo; xsLadeBaseState.XLB_TurnType = dto.XLB_TurnType; } xsLadeBaseState.IsDel = dto.IsDel; xsLadeBaseState.ModityBy = model.UserId; xsLadeBaseState.ModityByName = model.UserName; xsLadeBaseState.ModityDate = System.DateTime.Now; xsLadeBaseState.Version = dto.Version; XsLadeBaseDO xsLadeBaseDO = this.ObjectMapper.Map <XsLadeBaseDO>(xsLadeBaseState); bool bRet = await _xsLadeBaseRepository.SetAsync(xsLadeBaseDO); if (!bRet) { return(ApiResultUtil.IsFailed("数据更新失败!")); } await this.Persist(ProcessAction.Update, xsLadeBaseState); 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("处理成功!")); }
/// <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 <XsLadeBaseVO> > GetByLadeIdSync(XsLadeBaseDTO model) { var expression = model.GetExpression2(); var entitys = await _xsLadeBaseRepository.GetAllAsync(expression, isMaster : false); if (entitys.AsList().Count == 0) { return(ApiResultUtil.IsFailed <XsLadeBaseVO>("当前企业该发货单编号不存在,请核对!")); } else if (entitys.AsList().Count > 1) { return(ApiResultUtil.IsFailed <XsLadeBaseVO>("当前企业该发货单编号存在多条,请核对!")); } var xsLadeBaseVO = this.ObjectMapper.Map <XsLadeBaseVO>(entitys.FirstOrDefault()); if (xsLadeBaseVO.XLB_Status == "2") { return(ApiResultUtil.IsFailed <XsLadeBaseVO>("该发货单已冲红,请核对!")); } //查客商名称 if (!string.IsNullOrEmpty(xsLadeBaseVO.XLB_Client)) { var xsCompyBaseResult = await _orleansClient.GetGrain <IXsCompyBaseStateGrain>(xsLadeBaseVO.XLB_Firm).GetAllSync(new XsCompyBaseDTO { Ids = new List <string> { xsLadeBaseVO.XLB_Client } }); if (xsCompyBaseResult.Success && xsCompyBaseResult.Data.Count > 0) { xsLadeBaseVO.XLB_ClientName = xsCompyBaseResult.Data[0].XOB_Name; } } //查企业名称 if (!string.IsNullOrEmpty(xsLadeBaseVO.XLB_Firm)) { var pbBasicFirmResult = await _orleansClient.GetGrain <IPbBasicFirmStateGrain>(GrainIdKey.UtcUIDGrainKey.ToString()).GetAllSync(new PbBasicFirmDTO { Ids = new List <string> { xsLadeBaseVO.XLB_Firm } }); if (pbBasicFirmResult.Success && pbBasicFirmResult.Data.Count > 0) { xsLadeBaseVO.XLB_FirmName = pbBasicFirmResult.Data[0].PBF_ShortName; } } //查物料名称 if (!string.IsNullOrEmpty(xsLadeBaseVO.XLB_Cement)) { var pbCodeMaterialResult = await _orleansClient.GetGrain <IPbCodeMaterialStateGrain>(xsLadeBaseVO.XLB_Firm).GetAllSync(new PbCodeMaterialDTO { Ids = new List <string> { xsLadeBaseVO.XLB_Cement } }); if (pbCodeMaterialResult.Success && pbCodeMaterialResult.Data.Count > 0) { xsLadeBaseVO.XLB_CementName = pbCodeMaterialResult.Data[0].PCM_Name; } } return(await Task.FromResult(ApiResultUtil.IsSuccess(xsLadeBaseVO))); }