|
|
@@ -221,13 +221,51 @@ namespace Business.ResourceExamineManagement
|
|
|
/// </summary>
|
|
|
private readonly ISqlRepository<RoutingOpDetail> _routingOpDetail;
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 生产线明细
|
|
|
+ /// </summary>
|
|
|
+ private readonly ISqlRepository<ProdLineDetail> _prodLineDetail;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 排产记录表
|
|
|
+ /// </summary>
|
|
|
+ private readonly ISqlRepository<PeriodSequenceDet> _periodSequenceDet;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 工作日历
|
|
|
+ /// </summary>
|
|
|
+ private readonly ISqlRepository<ShopCalendarWorkCtr> _shopCalendarWorkCtr;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 休息时间段
|
|
|
+ /// </summary>
|
|
|
+ private readonly ISqlRepository<QualityLineWorkDetail> _qualityLineWorkDetail;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 节假日
|
|
|
+ /// </summary>
|
|
|
+ private readonly ISqlRepository<HolidayMaster> _holidayMaster;
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 标准BOM表
|
|
|
/// </summary>
|
|
|
private readonly ISqlRepository<ProductStructureMaster> _productStructureMaster;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 工单工序表
|
|
|
+ /// </summary>
|
|
|
private readonly ISqlRepository<WorkOrdRouting> _workOrdRouting;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 工单主表
|
|
|
+ /// </summary>
|
|
|
private readonly ISqlRepository<WorkOrdMaster> _workOrdMaster;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 工单物料明细
|
|
|
+ /// </summary>
|
|
|
private readonly ISqlRepository<WorkOrdDetail> _workOrdDetail;
|
|
|
+
|
|
|
private readonly ISqlRepository<rf_serialnumber> _rf_serialnumber;
|
|
|
/// <summary>
|
|
|
/// 资源检查入参
|
|
|
@@ -1847,29 +1885,23 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
List<long> itemIds = pretreatments.Select(p => p.item_id.GetValueOrDefault()).ToList();
|
|
|
icitemlist.AddRange(_ic_item.GetManyByCondition(p => itemIds.Contains(p.mysql_id) && !p.IsDeleted).Result);
|
|
|
- #region 1、数据准备
|
|
|
- //1.1、获取工艺路径数据
|
|
|
- List<mo_ic_bom> bomlist = _ic_bom.GetManyByCondition(p => itemIds.Contains(p.icitem_id) && p.use_status == 1 && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result.ToList();
|
|
|
- List<mo_mes_technique> techs = GetMesTechniques(bomlist);
|
|
|
- if (techs.Count == 0)
|
|
|
- {
|
|
|
- //throw new NotImplementedException("请先配置工艺路径!");
|
|
|
- }
|
|
|
-
|
|
|
- //1.2、获取工艺路径关联工序数据
|
|
|
- List<mo_mes_tech_process> tech_Processes = _mes_tech_process.GetManyByCondition(p => techs.Select(m => m.mysql_id).Contains(p.tech_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result;
|
|
|
- if (tech_Processes.Count == 0)
|
|
|
- {
|
|
|
- //throw new NotImplementedException("请先配置工序!");
|
|
|
- }
|
|
|
|
|
|
- //1.3、获取当前工艺路径下的工序数据
|
|
|
- List<long> procIds = tech_Processes.Select(m => m.proc_id).ToList();
|
|
|
- List<mo_mes_process> process = _mes_process.GetManyByCondition(p => procIds.Contains(p.mysql_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result;
|
|
|
+ #region 1、数据准备
|
|
|
+ //1.1、获取产能检查相关数据
|
|
|
+ //产品物料编码
|
|
|
+ List<string> itemnums = pretreatments.Where(p => p.level == 1).Select(p => p.item_number).Distinct().ToList();
|
|
|
+ //产线明细
|
|
|
+ List<ProdLineDetail> prodLines = _prodLineDetail.Select(p=> itemnums.Contains(p.Part)).ToList();
|
|
|
+ //标注工序
|
|
|
+ List<RoutingOpDetail> routingOps = _routingOpDetail.Select(p => itemnums.Contains(p.RoutingCode)).ToList();
|
|
|
+ List<string> lines = prodLines.Select(p=>p.Line).Distinct().ToList();
|
|
|
+ //工作日历
|
|
|
+ List<ShopCalendarWorkCtr> calendarWorks = _shopCalendarWorkCtr.Select(p=>lines.Contains(p.ProdLine)).ToList();
|
|
|
+ //休息日
|
|
|
+ List<QualityLineWorkDetail> qualityLineWorks = _qualityLineWorkDetail.Select(p => lines.Contains(p.ProdLine)).ToList();
|
|
|
+ //节假日
|
|
|
+ List<HolidayMaster> holidays = _holidayMaster.Select(p => p.Dated.GetValueOrDefault().Year == DateTime.Now.Year);
|
|
|
|
|
|
- //1.3、获取工艺工序关联工位信息
|
|
|
- List<long> techProcIds = tech_Processes.Select(m => m.mysql_id).ToList();
|
|
|
- List<mo_mes_tech_proc_workshop> tech_Proc_Workshops = _mes_tech_proc_workshop.GetManyByCondition(p => techProcIds.Contains(p.tech_proc_id) && p.tenant_id == param.tenantId && p.factory_id == param.factoryId && !p.IsDeleted).Result;
|
|
|
//主工单
|
|
|
List<mo_mes_morder> mo_Mes_Morders = _mes_morder.GetManyByCondition(x => boms.Select(p => p.bom_number).Contains(x.bom_number) && (x.morder_state != MorderEnum.Accomplish_state || x.morder_state != MorderEnum.Close_state
|
|
|
&& x.morder_icitem_type != MorderEnum.XgwyMorder) && x.tenant_id == param.tenantId && x.bang_id == bangid).Result;
|
|
|
@@ -1897,11 +1929,14 @@ namespace Business.ResourceExamineManagement
|
|
|
_CalcBomViewAppService.planList = planList;
|
|
|
_CalcBomViewAppService.leadTimeList = leadTimeList;
|
|
|
_CalcBomViewAppService.supplierList = supplierList;
|
|
|
- //资源检查添加工艺路径数据
|
|
|
- _CalcBomViewAppService.techs = techs;//工艺路径
|
|
|
- _CalcBomViewAppService.tech_Processes = tech_Processes;//工艺关联工序
|
|
|
- _CalcBomViewAppService.process = process;//工序
|
|
|
- _CalcBomViewAppService.tech_Proc_Workshops = tech_Proc_Workshops;//工艺工序关联工位
|
|
|
+
|
|
|
+ //资源检查添加产线工序等数据
|
|
|
+ _CalcBomViewAppService.prodLines = prodLines;
|
|
|
+ _CalcBomViewAppService.routingOps = routingOps;
|
|
|
+ _CalcBomViewAppService.calendarWorks = calendarWorks;
|
|
|
+ _CalcBomViewAppService.qualityLineWorks = qualityLineWorks;
|
|
|
+ _CalcBomViewAppService.holidays = holidays;
|
|
|
+
|
|
|
_CalcBomViewAppService.mordersList = mo_Mes_Morders;//工单
|
|
|
_CalcBomViewAppService.moentriesList = mo_Mes_Moentry;//工单子表
|
|
|
_CalcBomViewAppService.mooccupyAllList = mes_mooccupyList;//工单占用表
|