/*
|
*所有关于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;
|
}
|
}
|
}
|