diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomListOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomListOutput.cs
index 0a0c08a5..d87f9e8c 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomListOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomListOutput.cs
@@ -19,6 +19,10 @@ namespace Tnb.BasicData.Entities.Dto
public string? unit_id { get; set; }
public string? version { get; set; }
///
+ /// 数量
+ ///
+ public int quantity { get; set; }
+ ///
/// 工艺路线名称
///
public string? route_id { get; set; }
diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
index 1c494894..bbd8639b 100644
--- a/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
+++ b/BasicData/Tnb.BasicData.Entities/Dto/BasEbom/EbomTreeOutput.cs
@@ -45,12 +45,11 @@ namespace Tnb.BasicData.Entities.Dto
///
public string? loss_rate {get;set;}
- ///
- /// Desc:数量
- /// Default:NULL::character varying
- /// Nullable:True
///
- public string? quantity {get;set;}
+ ///
+ /// 数量
+ ///
+ public int quantity { get; set; }
///
/// Desc:需要称量
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs
index eb68464a..8ab72cc4 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomD.cs
@@ -37,7 +37,7 @@ public partial class BasEbomD : BaseEntity
///
/// 数量
///
- public string? quantity { get; set; }
+ public int quantity { get; set; }
///
/// 损耗率
diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomH.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomH.cs
index 75de569c..f480d120 100644
--- a/BasicData/Tnb.BasicData.Entities/Entity/BasEbomH.cs
+++ b/BasicData/Tnb.BasicData.Entities/Entity/BasEbomH.cs
@@ -32,7 +32,7 @@ public partial class BasEbomH : BaseEntity
///
/// 数量
///
- public string? quantity { get; set; }
+ public int quantity { get; set; }
///
/// 单位id
diff --git a/BasicData/Tnb.BasicData/BasEbomService.cs b/BasicData/Tnb.BasicData/BasEbomService.cs
index 363c5878..01679ee6 100644
--- a/BasicData/Tnb.BasicData/BasEbomService.cs
+++ b/BasicData/Tnb.BasicData/BasEbomService.cs
@@ -63,6 +63,7 @@ namespace Tnb.BasicData
material_id_id = b.id,
status = SqlFunc.IIF(a.status == "0", "禁用", "启用"),
descrip = a.descrip,
+ quantity = a.quantity,
version = a.version,
route_id = c.name,
route_id_id = c.id,
diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs
index e080b375..0c36460f 100644
--- a/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs
+++ b/ProductionMgr/Tnb.ProductionMgr/PrdMoService.cs
@@ -179,6 +179,56 @@ namespace Tnb.ProductionMgr
.ExecuteCommandAsync();
return (row > 0);
}
+ // ///
+ // /// 关联同组工单
+ // ///
+ // /// 关联同组工单输入参数
+ // ///
+ // [HttpPost]
+ // public async Task RelevancySameGroupMo(MoCrInput input)
+ // {
+ // (bool executeRes, string errMsg) multi = (true, "");
+ // var list = await _repository.AsSugarClient().Queryable()
+ // .InnerJoin((a, b) => a.material_id == b.material_id)
+ // .Where((a, b) => input.WorkOrderIds.Contains(a.id))
+ // .Select((a, b) => new
+ // {
+ // planDate = a.plan_start_date,
+ // mold_code = b.mold_code,
+ // }).ToListAsync();
+ // var planDateAll = true;
+ // var moldIdAll = true;
+ // if (list?.Count > 0)
+ // {
+ // var planDate = list.FirstOrDefault()?.planDate;
+ // var moldCode = list.FirstOrDefault()?.mold_code;
+ //
+ // planDateAll = list.Skip(1).All(x => x.planDate == planDate);
+ // moldIdAll = list.Skip(1).All(x => x.mold_code == moldCode);
+ // if (planDateAll && moldIdAll)
+ // {
+ // var groupId = SnowflakeIdHelper.NextId();
+ // multi.executeRes = await _repository.AsSugarClient().Updateable()
+ // .SetColumns(c => new PrdMo { combine_mo_code = groupId })
+ // .Where(it => input.WorkOrderIds.Contains(it.id))
+ // .ExecuteCommandHasChangeAsync();
+ // }
+ // else
+ // {
+ // multi.executeRes = false;
+ // if (!planDateAll)
+ // {
+ // throw new AppFriendlyException("计划开始日期不一致", null);
+ // }
+ // if (!moldIdAll)
+ // {
+ // throw new AppFriendlyException("未关联到同一模具下", null);
+ // }
+ // }
+ // }
+ // return multi;
+ // }
+
///
/// 关联同组工单
///
@@ -189,12 +239,13 @@ namespace Tnb.ProductionMgr
{
(bool executeRes, string errMsg) multi = (true, "");
var list = await _repository.AsSugarClient().Queryable()
- .InnerJoin((a, b) => a.material_id == b.material_id)
- .Where((a, b) => input.WorkOrderIds.Contains(a.id))
- .Select((a, b) => new
+ .LeftJoin((a, b) => a.material_id == b.material_id)
+ .LeftJoin((a,b,c)=>b.mold_id==c.id)
+ .Where((a, b,c) => input.WorkOrderIds.Contains(a.id))
+ .Select((a, b,c) => new
{
planDate = a.plan_start_date,
- mold_code = b.mold_code,
+ mold_code = c.mold_code,
}).ToListAsync();
var planDateAll = true;
var moldIdAll = true;
@@ -203,8 +254,8 @@ namespace Tnb.ProductionMgr
var planDate = list.FirstOrDefault()?.planDate;
var moldCode = list.FirstOrDefault()?.mold_code;
- planDateAll = list.Skip(1).All(x => x.planDate == planDate);
- moldIdAll = list.Skip(1).All(x => x.mold_code == moldCode);
+ planDateAll = list.All(x => x.planDate == planDate);
+ moldIdAll = moldCode != null && list.All(x => x.mold_code == moldCode);
if (planDateAll && moldIdAll)
{
var groupId = SnowflakeIdHelper.NextId();
@@ -218,11 +269,11 @@ namespace Tnb.ProductionMgr
multi.executeRes = false;
if (!planDateAll)
{
- throw new AppFriendlyException("计划开始日期不一致", null);
+ throw Oops.Bah("计划开始日期不一致");
}
if (!moldIdAll)
{
- throw new AppFriendlyException("未关联到同一模具下", null);
+ throw Oops.Bah("未关联到同一模具下");
}
}
}