创建子工单
This commit is contained in:
@@ -249,4 +249,9 @@ public partial class BasMaterial : BaseEntity<string>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int? is_contain_into_num { get; set; }
|
public int? is_contain_into_num { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否创建子工单
|
||||||
|
/// </summary>
|
||||||
|
public string? is_create_sub_work_order { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,19 @@ namespace Tnb.BasicData.Interfaces
|
|||||||
{
|
{
|
||||||
public interface IBasMaterialService
|
public interface IBasMaterialService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取本物料清单及其所有子集物料信息
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="queryInput"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput);
|
public Task<dynamic> GetMaterialSelectInfo(MaterialSelectQueryInput queryInput);
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取可创建子工单的物料
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="queryInput"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public Task<dynamic> GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -128,6 +128,38 @@ namespace Tnb.BasicData
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<dynamic> GetCanCreateSubWorkOrderMaterial(MaterialSelectQueryInput queryInput)
|
||||||
|
{
|
||||||
|
var db = _repository.AsSugarClient();
|
||||||
|
if (!string.IsNullOrEmpty(queryInput.ebom_id))
|
||||||
|
{
|
||||||
|
List<string> ids = await GetAllChildrenMaterialId(queryInput.ebom_id,0);
|
||||||
|
var result = await db.Queryable<BasMaterial>()
|
||||||
|
.LeftJoin<DictionaryTypeEntity>((a, b) => b.EnCode == DictConst.MeasurementUnit && b.DeleteMark == null)
|
||||||
|
.LeftJoin<DictionaryDataEntity>((a, b, c) => c.DictionaryTypeId == b.Id && a.unit_id == c.EnCode)
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(queryInput.material_info), (a, b, c) => a.code.Contains(queryInput.material_info) || a.name.Contains(queryInput.material_info))
|
||||||
|
.WhereIF(!string.IsNullOrEmpty(queryInput.ebom_id), (a, b, c) => ids.Contains(a.id))
|
||||||
|
.Where((a,b,c)=>a.is_create_sub_work_order=="1")
|
||||||
|
.Select((a, b, c) => new MaterialSelectOutput()
|
||||||
|
{
|
||||||
|
id = a.id,
|
||||||
|
code = a.code,
|
||||||
|
name = a.name,
|
||||||
|
descrip = a.descrip,
|
||||||
|
unit_id = a.unit_id,
|
||||||
|
unit_name = c.FullName,
|
||||||
|
}).ToPagedListAsync(queryInput.currentPage, queryInput.pageSize);
|
||||||
|
|
||||||
|
return PageResult<MaterialSelectOutput>.SqlSugarPageResult(result);
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return PageResult<MaterialSelectOutput>.SqlSugarPageResult(new SqlSugarPagedList<MaterialSelectOutput>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取物料清单下所子集物料id
|
/// 获取物料清单下所子集物料id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user