工序工位存入bas_process_station

This commit is contained in:
2023-04-28 14:38:14 +08:00
parent 0a2bb034cf
commit e16fc6ac4a
9 changed files with 512 additions and 147 deletions

View File

@@ -1,4 +1,5 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Interfaces.System;
@@ -28,62 +29,36 @@ namespace Tnb.BasicData
_dictionaryDataService = dictionaryDataService;
}
// [HttpPost]
// public async Task<Dictionary<string,string>> GetEbomVersionAndRouteName(Dictionary<string,string> parameters)
// {
// string materialId = parameters["materialId"];
// var db = _repository.AsSugarClient();
// var dic = await _dictionaryDataService.GetDicByKey(DicTypeKey.MeasurementUnit);
// // var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == DbName.TNBMON);
// // if (momDbLink != null)
// // {
// // db = _dbManager.ChangeDataBase(momDbLink);
// // }
//
// var ebom = await db.Queryable<BasEbomH>()
// .LeftJoin<BasRouteH>((a,b)=>a.route_id==b.id)
// .Where((a,b) => a.material_id == materialId)
// .Select((a,b)=>new
// {
// a.id,
// a.version,
// b.name,
// }).SingleAsync();
// return new Dictionary<string,string>()
// {
// ["version"] = ebom?.version,
// ["routeName"] = ebom?.name,
// ["routeId"] = ebom?.id
// };
// }
// [HttpPost]
// public async Task<List<ElementSelectDto>> GetMaterialUnits(Dictionary<string,string> parameters)
// {
// string materialId = parameters["materialId"];
// var db = _repository.AsSugarClient();
//
// var type = await db.Queryable<DictionaryTypeEntity>().Where(x => x.EnCode == DictConst.MeasurementUnit)
// .SingleAsync();
// string typeId = type?.Id;
// var queryable1 = db.Queryable<BasMaterial>()
// .LeftJoin<DictionaryDataEntity>((a,b)=>a.unit_id==b.EnCode && b.DictionaryTypeId==typeId)
// .Where((a,b) => a.Id == materialId)
// .Select((a,b)=> new ElementSelectDto
// {
// value = b.EnCode,
// label = b.FullName,
// });
// var queryable2 = db.Queryable<BasMaterial>()
// .LeftJoin<DictionaryDataEntity>((a,b)=>a.pickunit_id==b.EnCode && b.DictionaryTypeId==typeId)
// .Where((a,b) => a.Id == materialId)
// .Select((a,b)=> new ElementSelectDto
// {
// value = b.EnCode,
// label = b.FullName,
// });
// List<ElementSelectDto> data = await db.Union(queryable1, queryable2).ToListAsync();
// return data;
// }
/// <summary>
/// 复制物料
/// </summary>
/// <param name="parameters">物料id id</param>
[HttpPost]
public async Task<string> Copy(Dictionary<string, string> parameters)
{
string id = parameters["id"];
BasMaterial basMaterial = await _repository.GetByIdAsync(id);
List<BasMaterialUnit> materialUnits = await _repository.AsSugarClient().Queryable<BasMaterialUnit>().Where(x => x.material_id == id).ToListAsync();
string newId = SnowflakeIdHelper.NextId();
basMaterial.id = newId;
basMaterial.code += "_复制的请修改";
basMaterial.name += "_复制的请修改";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
await _repository.InsertAsync(basMaterial);
foreach (BasMaterialUnit basMaterialUnit in materialUnits)
{
basMaterialUnit.id = SnowflakeIdHelper.NextId();
basMaterialUnit.material_id = newId;
}
await _repository.AsSugarClient().Insertable<BasMaterialUnit>(materialUnits).ExecuteCommandAsync();
});
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
}
}
}