合并
This commit is contained in:
@@ -6,13 +6,10 @@ using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.FriendlyException;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.Systems.Entitys.System;
|
||||
using JNPF.Systems.Interfaces.System;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Newtonsoft.Json;
|
||||
using SQLitePCL;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData.Entities;
|
||||
using Tnb.BasicData.Entities.Dto;
|
||||
@@ -278,185 +275,5 @@ namespace Tnb.BasicData
|
||||
|
||||
return ids;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 物料新增修改接口
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public async Task<dynamic> CreateCreateOrUpdateMaterial(ErpBasMaterialInput input)
|
||||
{
|
||||
var db = _repository.AsSugarClient();
|
||||
if (input == null)
|
||||
{
|
||||
throw Oops.Bah("参数为空");
|
||||
}
|
||||
if (input.bas_material == null)
|
||||
{
|
||||
throw Oops.Bah("物料信息为空");
|
||||
}
|
||||
if (!string.IsNullOrEmpty(input.bas_material.code))
|
||||
{
|
||||
throw Oops.Bah("物料编号为空");
|
||||
}
|
||||
if (!string.IsNullOrEmpty(input.bas_material.name))
|
||||
{
|
||||
throw Oops.Bah("物料名称为空");
|
||||
}
|
||||
DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
|
||||
{
|
||||
BasMaterial basMaterial = input.bas_material.Adapt<BasMaterial>();
|
||||
if (!await db.Queryable<BasMaterial>().AnyAsync(x => x.code == input.bas_material.code))
|
||||
{
|
||||
basMaterial.id = SnowflakeIdHelper.NextId();
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(input.bas_material.create_count))
|
||||
{
|
||||
UserEntity userEntity = await db.Queryable<UserEntity>().FirstAsync(x=>x.Account==input.bas_material.create_count);
|
||||
if (userEntity == null)
|
||||
{
|
||||
throw Oops.Bah($"未找到用户{input.bas_material.create_count}");
|
||||
}
|
||||
basMaterial.create_id = userEntity?.Id;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(input.bas_material.modify_count))
|
||||
{
|
||||
UserEntity userEntity = await db.Queryable<UserEntity>().FirstAsync(x=>x.Account==input.bas_material.modify_count);
|
||||
if (userEntity == null)
|
||||
{
|
||||
throw Oops.Bah($"未找到用户{input.bas_material.modify_count}");
|
||||
}
|
||||
basMaterial.modify_id = userEntity?.Id;
|
||||
}
|
||||
|
||||
List<BasMaterialUnit> basMaterialUnits = new List<BasMaterialUnit>();
|
||||
// List<BasMaterialIntoFactorySpecifications> basMaterialIntoFactorySpecificationsList = new List<BasMaterialIntoFactorySpecifications>();
|
||||
// List<BasSubstitutionMaterial> basSubstitutionMaterials = new List<BasSubstitutionMaterial>();
|
||||
// List<BasMaterialSendWarehouse> basMaterialSendWarehouses = new List<BasMaterialSendWarehouse>();
|
||||
// List<BasMaterialInboundWh> basMaterialInboundWhs = new List<BasMaterialInboundWh>();
|
||||
|
||||
if (input.bas_material_units != null && input.bas_material_units.Count > 0)
|
||||
{
|
||||
foreach(var item in input.bas_material_units)
|
||||
{
|
||||
BasMaterialUnit basMaterialUnit = item.Adapt<BasMaterialUnit>();
|
||||
basMaterialUnit.id = SnowflakeIdHelper.NextId();
|
||||
basMaterialUnit.material_id = basMaterial.id;
|
||||
basMaterialUnits.Add(basMaterialUnit);
|
||||
}
|
||||
}
|
||||
|
||||
// if (input.bas_material_into_factory_specificationses != null && input.bas_material_into_factory_specificationses.Count > 0)
|
||||
// {
|
||||
// foreach(var item in input.bas_material_into_factory_specificationses)
|
||||
// {
|
||||
// BasMaterialIntoFactorySpecifications basMaterialIntoFactorySpecifications = item.Adapt<BasMaterialIntoFactorySpecifications>();
|
||||
// basMaterialIntoFactorySpecifications.id = SnowflakeIdHelper.NextId();
|
||||
// basMaterialIntoFactorySpecifications.material_id = basMaterial.id;
|
||||
// basMaterialIntoFactorySpecificationsList.Add(basMaterialIntoFactorySpecifications);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (input.bas_substitution_materials != null && input.bas_substitution_materials.Count > 0)
|
||||
// {
|
||||
// foreach(var item in input.bas_substitution_materials)
|
||||
// {
|
||||
// BasSubstitutionMaterial basSubstitutionMaterial = item.Adapt<BasSubstitutionMaterial>();
|
||||
// basSubstitutionMaterial.id = SnowflakeIdHelper.NextId();
|
||||
// basSubstitutionMaterial.material_id = basMaterial.id;
|
||||
// BasMaterial subBasMaterial = await db.Queryable<BasMaterial>().FirstAsync(x=>x.code==item.sub_material_code);
|
||||
// if (subBasMaterial == null)
|
||||
// {
|
||||
// throw Oops.Bah($"未找到替代物料{item.sub_material_code}");
|
||||
// }
|
||||
// basSubstitutionMaterial.sub_material_id = subBasMaterial?.id ?? item.sub_material_code;
|
||||
// basSubstitutionMaterials.Add(basSubstitutionMaterial);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (input.bas_material_send_warehouses != null && input.bas_material_send_warehouses.Count > 0)
|
||||
// {
|
||||
// foreach(var item in input.bas_material_send_warehouses)
|
||||
// {
|
||||
// BasMaterialSendWarehouse basMaterialSendWarehouse = item.Adapt<BasMaterialSendWarehouse>();
|
||||
// basMaterialSendWarehouse.id = SnowflakeIdHelper.NextId();
|
||||
// basMaterialSendWarehouse.material_id = basMaterial.id;
|
||||
// BasWarehouse basWarehouse = await db.Queryable<BasWarehouse>().FirstAsync(x=>x.whcode==item.wh_code);
|
||||
// if (basWarehouse == null)
|
||||
// {
|
||||
// throw Oops.Bah($"发料仓库未找到仓库{item.wh_code}");
|
||||
// }
|
||||
// basMaterialSendWarehouse.wh_id = basWarehouse?.id ?? item.wh_code;
|
||||
// basMaterialSendWarehouses.Add(basMaterialSendWarehouse);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (input.bas_material_inbound_whs != null && input.bas_material_inbound_whs.Count > 0)
|
||||
// {
|
||||
// foreach(var item in input.bas_material_inbound_whs)
|
||||
// {
|
||||
// BasMaterialInboundWh basMaterialInboundWh = item.Adapt<BasMaterialInboundWh>();
|
||||
// basMaterialInboundWh.id = SnowflakeIdHelper.NextId();
|
||||
// basMaterialInboundWh.material_id = basMaterial.id;
|
||||
// BasWarehouse basWarehouse = await db.Queryable<BasWarehouse>().FirstAsync(x=>x.whcode==item.wh_code);
|
||||
// if (basWarehouse == null)
|
||||
// {
|
||||
// throw Oops.Bah($"入库仓库未找到仓库{item.wh_code}");
|
||||
// }
|
||||
// basMaterialInboundWh.wh_id = basWarehouse?.id ?? item.wh_code;
|
||||
// basMaterialInboundWhs.Add(basMaterialInboundWh);
|
||||
// }
|
||||
// }
|
||||
|
||||
if (!await db.Queryable<BasMaterial>().AnyAsync(x => x.code == input.bas_material.code))
|
||||
{
|
||||
await db.Insertable<BasMaterial>(basMaterial).ExecuteCommandAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
await db.Updateable<BasMaterial>(basMaterial).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
// var x= await db.Storageable(basMaterial).ToStorageAsync();
|
||||
// await x.AsInsertable.ExecuteCommandAsync();//不存在插入
|
||||
// await x.AsUpdateable.ExecuteCommandAsync();//存在更新
|
||||
|
||||
if (basMaterialUnits.Count > 0)
|
||||
{
|
||||
await db.Deleteable<BasMaterialUnit>().Where(x=>x.material_id==basMaterial.id).ExecuteCommandAsync();
|
||||
await db.Insertable<BasMaterialUnit>(basMaterialUnits).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
// if (basMaterialIntoFactorySpecificationsList.Count > 0)
|
||||
// {
|
||||
// await db.Deleteable<BasMaterialIntoFactorySpecifications>().Where(x=>x.material_id==basMaterial.id).ExecuteCommandAsync();
|
||||
// await db.Insertable<BasMaterialIntoFactorySpecifications>(basMaterialIntoFactorySpecificationsList).ExecuteCommandAsync();
|
||||
// }
|
||||
//
|
||||
// if (basSubstitutionMaterials.Count > 0)
|
||||
// {
|
||||
// await db.Deleteable<BasSubstitutionMaterial>().Where(x=>x.material_id==basMaterial.id).ExecuteCommandAsync();
|
||||
// await db.Insertable<BasSubstitutionMaterial>(basSubstitutionMaterials).ExecuteCommandAsync();
|
||||
// }
|
||||
//
|
||||
// if (basMaterialSendWarehouses.Count > 0)
|
||||
// {
|
||||
// await db.Deleteable<BasMaterialSendWarehouse>().Where(x=>x.material_id==basMaterial.id).ExecuteCommandAsync();
|
||||
// await db.Insertable<BasMaterialSendWarehouse>(basMaterialSendWarehouses).ExecuteCommandAsync();
|
||||
// }
|
||||
//
|
||||
// if (basMaterialInboundWhs.Count > 0)
|
||||
// {
|
||||
// await db.Deleteable<BasMaterialInboundWh>().Where(x=>x.material_id==basMaterial.id).ExecuteCommandAsync();
|
||||
// await db.Insertable<BasMaterialInboundWh>(basMaterialInboundWhs).ExecuteCommandAsync();
|
||||
// }
|
||||
|
||||
});
|
||||
return !result.IsSuccess ? throw Oops.Oh(result.ErrorMessage) : "保存成功";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user