Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -90,10 +90,6 @@ public static class DictConst
|
|||||||
/// 模具保养状态-待保养编码
|
/// 模具保养状态-待保养编码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MoldMaintainStatusDBYCode = "UnMaintain";
|
public const string MoldMaintainStatusDBYCode = "UnMaintain";
|
||||||
/// <summary>
|
|
||||||
/// 模具保养状态TypeId
|
|
||||||
/// </summary>
|
|
||||||
public const string MoldMaintainStatusTypeId = "26171564065301";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -114,6 +110,10 @@ public static class DictConst
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public const string MaintainStatusTypeId = "26171564065301";
|
public const string MaintainStatusTypeId = "26171564065301";
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// 模具保养状态TypeId
|
||||||
|
/// </summary>
|
||||||
|
public const string MoldMaintainStatusTypeId = "26149299883285";
|
||||||
|
/// <summary>
|
||||||
/// 保养状态待保养Code
|
/// 保养状态待保养Code
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string UnMaintainStatusCode = "UnMaintain";
|
public const string UnMaintainStatusCode = "UnMaintain";
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Tnb.EquipMgr.Entities.Dto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 模具保养计划执行查询输出参数
|
||||||
|
/// </summary>
|
||||||
|
public class MoldMaintainPlanRunQueryOutput
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 保养开始时间
|
||||||
|
/// </summary>
|
||||||
|
public string? start_time { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 模具编码
|
||||||
|
/// </summary>
|
||||||
|
public string mold_code { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 模具名称
|
||||||
|
/// </summary>
|
||||||
|
public string mold_name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养完成打磨次
|
||||||
|
/// </summary>
|
||||||
|
public int? maintain_qty { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 模具状态
|
||||||
|
/// </summary>
|
||||||
|
public string mold_status { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 设备编码
|
||||||
|
/// </summary>
|
||||||
|
public string eqp_code { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 设备名称
|
||||||
|
/// </summary>
|
||||||
|
public string eqp_name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养人
|
||||||
|
/// </summary>
|
||||||
|
public string operator_name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项信息
|
||||||
|
/// </summary>
|
||||||
|
public List<CheckItemInfo> check_items { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CheckItemInfo
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 项目组id
|
||||||
|
/// </summary>
|
||||||
|
public string item_group_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 项目组名称
|
||||||
|
/// </summary>
|
||||||
|
public string item_group_name { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项id
|
||||||
|
/// </summary>
|
||||||
|
public string item_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项名称
|
||||||
|
/// </summary>
|
||||||
|
public string item_name { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,5 +15,13 @@ namespace Tnb.EquipMgr.Entities.Dto
|
|||||||
/// 执行计划id
|
/// 执行计划id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string plan_id { get; set; }
|
public string plan_id { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项Ids
|
||||||
|
/// </summary>
|
||||||
|
public List<string>itemIds { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项状态 0,未完成 1,已完成
|
||||||
|
/// </summary>
|
||||||
|
public int? status { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,5 +63,9 @@ public partial class ToolMoldMaintainItem : BaseEntity<string>
|
|||||||
/// 修改时间
|
/// 修改时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? modify_time { get; set; }
|
public DateTime? modify_time { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 保养项完成状态 0,未完成,1,已完成
|
||||||
|
/// </summary>
|
||||||
|
public int? status { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ namespace Tnb.EquipMgr
|
|||||||
|
|
||||||
var maintainRules = await _db.Queryable<ToolMoldMaintainRule>().Where(it => input.ruleIds.Contains(it.id)).ToListAsync();
|
var maintainRules = await _db.Queryable<ToolMoldMaintainRule>().Where(it => input.ruleIds.Contains(it.id)).ToListAsync();
|
||||||
var ruleMoldRelations = await _db.Queryable<ToolMoldMaintainRuleRelation>().Where(it=>input.ruleIds.Contains(it.rule_id)).ToListAsync();
|
var ruleMoldRelations = await _db.Queryable<ToolMoldMaintainRuleRelation>().Where(it=>input.ruleIds.Contains(it.rule_id)).ToListAsync();
|
||||||
if (maintainRules?.Count > 0)
|
if (ruleMoldRelations?.Count > 0)
|
||||||
{
|
{
|
||||||
List<ToolMoldMaintainPlan> maintainPlans = new();
|
List<ToolMoldMaintainPlan> maintainPlans = new();
|
||||||
List<ToolMoldMaintainPlanRelation> maintainPlanRelations = new();
|
List<ToolMoldMaintainPlanRelation> maintainPlanRelations = new();
|
||||||
|
|||||||
@@ -21,6 +21,9 @@ using Tnb.EquipMgr.Interfaces;
|
|||||||
|
|
||||||
namespace Tnb.EquipMgr
|
namespace Tnb.EquipMgr
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 模具维修任务执行
|
||||||
|
/// </summary>
|
||||||
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
|
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
|
||||||
[Route("api/[area]/[controller]/[action]")]
|
[Route("api/[area]/[controller]/[action]")]
|
||||||
|
|
||||||
@@ -55,6 +58,8 @@ namespace Tnb.EquipMgr
|
|||||||
{
|
{
|
||||||
info.mold_code = mold.mold_code;
|
info.mold_code = mold.mold_code;
|
||||||
info.mold_name = mold.mold_name;
|
info.mold_name = mold.mold_name;
|
||||||
|
info.mold_status = (await _dictionaryDataService.GetInfo(mold.mold_status))?.FullName;
|
||||||
|
info.maintain_qty = mold.maintain_qty;
|
||||||
var moldEqpRelation = await _db.Queryable<ToolMoldsEquipment>().FirstAsync(it => it.mold_id == mold.id);
|
var moldEqpRelation = await _db.Queryable<ToolMoldsEquipment>().FirstAsync(it => it.mold_id == mold.id);
|
||||||
if (moldEqpRelation != null)
|
if (moldEqpRelation != null)
|
||||||
{
|
{
|
||||||
@@ -65,19 +70,22 @@ namespace Tnb.EquipMgr
|
|||||||
var itemGroupRelation = await _db.Queryable<ToolMoldMaintainGroupRelation>().FirstAsync(it => it.mold_id == mold.id);
|
var itemGroupRelation = await _db.Queryable<ToolMoldMaintainGroupRelation>().FirstAsync(it => it.mold_id == mold.id);
|
||||||
if (itemGroupRelation != null)
|
if (itemGroupRelation != null)
|
||||||
{
|
{
|
||||||
var itemGroup = await _db.Queryable<ToolMoldMaintainGroup>().FirstAsync(it => it.id == itemGroupRelation.item_group_id);
|
var checkItems = await _db.Queryable<ToolMoldMaintainGroup, ToolMoldMaintainGroupItem, ToolMoldMaintainItem>((a, b, c) => new JoinQueryInfos
|
||||||
if (itemGroup != null)
|
(
|
||||||
|
JoinType.Left, a.id == b.item_group_id,
|
||||||
|
JoinType.Left, b.item_id == c.id
|
||||||
|
))
|
||||||
|
.Where(a => a.id == itemGroupRelation.item_group_id)
|
||||||
|
.Select((a, b, c) => new
|
||||||
|
{
|
||||||
|
item_group_id = a.id,
|
||||||
|
item_group_name = a.name,
|
||||||
|
item_id = c.id,
|
||||||
|
item_name = c.name,
|
||||||
|
}).ToListAsync();
|
||||||
|
if (checkItems?.Count > 0)
|
||||||
{
|
{
|
||||||
info.item_group_name = itemGroup.name;
|
info.check_items = checkItems;
|
||||||
}
|
|
||||||
var itemRelation = await _db.Queryable<ToolMoldMaintainGroupItem>().FirstAsync(it => it.item_group_id == itemGroupRelation.item_group_id);
|
|
||||||
if (itemRelation != null)
|
|
||||||
{
|
|
||||||
var checkItem = await _db.Queryable<ToolMoldMaintainItem>().FirstAsync(it => it.id == itemRelation.item_id);
|
|
||||||
if (checkItem != null)
|
|
||||||
{
|
|
||||||
info.item_name = checkItem.name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -148,6 +156,14 @@ namespace Tnb.EquipMgr
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task MaintainItemFinish(MoldMaintainRunUpInput input)
|
||||||
|
{
|
||||||
|
if (input == null) throw new ArgumentNullException("input");
|
||||||
|
if (input.itemIds == null || input.itemIds.Count == 0) throw new ArgumentException($"parameter {nameof(input.itemIds)} not be null or empty");
|
||||||
|
var row = await _db.Updateable<ToolMoldMaintainItem>().SetColumns(it => new ToolMoldMaintainItem { status = input.status }).Where(it => input.itemIds.Contains(it.id)).ExecuteCommandAsync();
|
||||||
|
if (row < 1) throw Oops.Oh(ErrorCode.COM1001);
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模具保养计划执行-保养完成
|
/// 模具保养计划执行-保养完成
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -156,7 +172,9 @@ namespace Tnb.EquipMgr
|
|||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task MaintainFinish(MoldMaintainRunUpInput input)
|
public async Task MaintainFinish(MoldMaintainRunUpInput input)
|
||||||
{
|
{
|
||||||
|
if (input == null) throw new ArgumentNullException("input");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -804,8 +804,8 @@ namespace Tnb.ProductionMgr
|
|||||||
{
|
{
|
||||||
throw new ArgumentException($"{nameof(input.Behavior)} not be null or empty");
|
throw new ArgumentException($"{nameof(input.Behavior)} not be null or empty");
|
||||||
}
|
}
|
||||||
var taskList = await _db.Queryable<PrdMoTask>().Where(it => input.TaskIds.Contains(it.id) && it.mo_task_status == DictConst.ToBeScheduledEncode).ToListAsync();
|
//var taskList = await _db.Queryable<PrdMoTask>().Where(it => input.TaskIds.Contains(it.id) && it.mo_task_status == DictConst.ToBeScheduledEncode).ToListAsync();
|
||||||
if (taskList?.Count > 0)
|
//if (taskList?.Count > 0)
|
||||||
{
|
{
|
||||||
string SetTaskStatus(PrdTaskBehavior behavior) => behavior switch
|
string SetTaskStatus(PrdTaskBehavior behavior) => behavior switch
|
||||||
{
|
{
|
||||||
@@ -912,7 +912,10 @@ namespace Tnb.ProductionMgr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
row = await db.Insertable(taskLogEntities).ExecuteCommandAsync();
|
if (taskLogEntities?.Count > 0)
|
||||||
|
{
|
||||||
|
row = await db.Insertable(taskLogEntities).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
|
||||||
List<PrdReportRecord> prdReportLogs = new();
|
List<PrdReportRecord> prdReportLogs = new();
|
||||||
List<PrdMoTaskDefectRecord> prdTaskDefectLogs = new();
|
List<PrdMoTaskDefectRecord> prdTaskDefectLogs = new();
|
||||||
@@ -924,6 +927,7 @@ namespace Tnb.ProductionMgr
|
|||||||
var material = (await db.Queryable<BasMaterial>().FirstAsync(it => it.id == taskInfo.material_id));
|
var material = (await db.Queryable<BasMaterial>().FirstAsync(it => it.id == taskInfo.material_id));
|
||||||
var mo = await db.Queryable<PrdMo>().FirstAsync(it => it.id == taskInfo.mo_id);
|
var mo = await db.Queryable<PrdMo>().FirstAsync(it => it.id == taskInfo.mo_id);
|
||||||
var record = taskInfo.Adapt<PrdReportRecord>();
|
var record = taskInfo.Adapt<PrdReportRecord>();
|
||||||
|
record.id = SnowflakeIdHelper.NextId();
|
||||||
record.masterial_code = material?.code;
|
record.masterial_code = material?.code;
|
||||||
record.masterial_name = material?.name;
|
record.masterial_name = material?.name;
|
||||||
record.plan_start_date = taskInfo.estimated_start_date;
|
record.plan_start_date = taskInfo.estimated_start_date;
|
||||||
@@ -938,6 +942,7 @@ namespace Tnb.ProductionMgr
|
|||||||
|
|
||||||
//组装自检报废对象
|
//组装自检报废对象
|
||||||
var sacipRecord = new PrdMoTaskDefectRecord();
|
var sacipRecord = new PrdMoTaskDefectRecord();
|
||||||
|
sacipRecord.id = SnowflakeIdHelper.NextId();
|
||||||
sacipRecord.material_code = material?.code!;
|
sacipRecord.material_code = material?.code!;
|
||||||
sacipRecord.material_name = material?.name!;
|
sacipRecord.material_name = material?.name!;
|
||||||
sacipRecord.eqp_code = (await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == taskInfo.eqp_id))?.code!;
|
sacipRecord.eqp_code = (await db.Queryable<EqpEquipment>().FirstAsync(it => it.id == taskInfo.eqp_id))?.code!;
|
||||||
@@ -956,12 +961,28 @@ namespace Tnb.ProductionMgr
|
|||||||
prdTaskDefectLogs.Add(sacipRecord);
|
prdTaskDefectLogs.Add(sacipRecord);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
row = await db.Insertable(prdReportLogs).ExecuteCommandAsync();
|
var reportTaskIds = prdReportLogs.Select(it => it.mo_task_id).ToList();
|
||||||
row = await db.Insertable(prdTaskDefectLogs).ExecuteCommandAsync();
|
if (reportTaskIds?.Count > 0)
|
||||||
|
{
|
||||||
|
var items = await db.Queryable<PrdReportRecord>().Where(it => reportTaskIds.Contains(it.mo_task_id)).ToListAsync();
|
||||||
|
if (items == null || items.Count < 1)
|
||||||
|
{
|
||||||
|
row = await db.Insertable(prdReportLogs).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var defectTaskIds = prdTaskDefectLogs.Select(it => it.mo_task_id).ToList();
|
||||||
|
if (defectTaskIds?.Count > 0)
|
||||||
|
{
|
||||||
|
var items = await db.Queryable<PrdMoTaskDefectRecord>().Where(it => defectTaskIds.Contains(it.mo_task_id)).ToListAsync();
|
||||||
|
if (items == null || items.Count < 1)
|
||||||
|
{
|
||||||
|
row = await db.Insertable(prdTaskDefectLogs).ExecuteCommandAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
//else
|
||||||
throw new AppFriendlyException("只有待下发状态的任务才可下发", 500);
|
// throw new AppFriendlyException("只有待下发状态的任务才可下发", 500);
|
||||||
return (row > 0);
|
return (row > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user