/* *所有关于bill_pda_groupdisk类的业务代码应在此处编写 *可使用repository.调用常用方法,获取EF/Dapper等信息 *如果需要事务请使用repository.DbContextBeginTransaction *也可使用DBServerProvider.手动获取数据库相关信息 *用户信息、权限、角色等使用UserContext.Current操作 *Bill_pda_groupdiskService对增、删、改查、导入、导出、审核业务代码扩展参照ServiceFunFilter */ using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Http; using WIDESEA_Services.IRepositories; using WIDESEA_Core.Utilities; using WIDESEA_Entity.DomainModels; using System; using WIDESEA_Services.Repositories; using WIDESEA_Common; namespace WIDESEA_Services.Services { public partial class bill_pda_groupdiskService { private readonly IHttpContextAccessor _httpContextAccessor; private readonly Ibill_pda_groupdiskRepository _repository;//访问数据库 [ActivatorUtilitiesConstructor] public bill_pda_groupdiskService( Ibill_pda_groupdiskRepository dbRepository, IHttpContextAccessor httpContextAccessor ) : base(dbRepository) { _httpContextAccessor = httpContextAccessor; _repository = dbRepository; //多租户会用到这init代码,其他情况可以不用 //base.Init(dbRepository); } public MESback GroupStock(PDAGroupRequest saveModel) { MESback result = new MESback(); try { var oldstock = _repository.FindFirst(v=>v.Devid==saveModel.CacheNumber && v.ishandle==1); if (oldstock != null) throw new Exception(string.Format("当前货架{0}存在未执行的绑定数据,请稍后",saveModel.CacheNumber)); base_ware_location location = base_ware_locationRepository.Instance.FindFirst(f => f.upper_code == saveModel.CacheNumber); if (location.location_state!= LocationStateEnum.LocationState_Empty.ToString()) { throw new Exception(string.Format("当前货架{0}存储状态不为空,请稍后", saveModel.CacheNumber)); } location.location_state = LocationStateEnum.LocationState_Lock.ToString(); base_ware_locationRepository.Instance.Update(location, true); bill_pda_groupdisk grostock = new bill_pda_groupdisk(); grostock.group_id = Guid.NewGuid(); grostock.Devid = saveModel.CacheNumber; grostock.MaterialType = saveModel.WorkNumber; grostock.BarCode = saveModel.BarCode; grostock.MaterialStatus = "OK"; grostock.ishandle = 1; grostock.group_creator = "WCS"; grostock.group_createtime = DateTime.Now; grostock.Remark1 = saveModel.Type; grostock.Remark2 = saveModel.UM; grostock.Remark3 = saveModel.MM; _repository.Add(grostock,true); result.Code = 0; } catch (Exception ex) { result.Code = 1; result.Message = ex.Message; } return result; } } }