显示前道所有装配件

tags/yfai-pcn-ext-v2.3
王杰 7 months ago
parent f3b4e08a10
commit 5f604adc9d

@ -15,10 +15,10 @@ public interface IMesAssemblyExtService {
List<MesProductionAssemblySortContext> getProductionAssemblySortContextList(MesProdRuleContext prodRuleContext);
@ApiOperation(value = "【排序线】获取生产工单装配件绑定记录 [前道所有装配件]")
List<MesProductionAssemblySortContext> getProductionAssemblySortPreCraftContextList(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap);
List<MesProductionAssemblySortContext> getProductionAssemblySortPreCraftContextList(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap, String workCellCode);
@ApiOperation(value = "【排序线】获取生产工单装配件清单")
List<MesWorkOrderAssembly> getWorkOrderAssemblyList(MesProdRuleContext prodRuleContext);
List<MesWorkOrderAssembly> getWorkOrderAssemblyList(MesProdRuleContext prodRuleContext, Boolean isShowAll);
@ApiOperation(value = "获取装配件绑定记录【排序】")
List<MesProductionAssembly> getProductionAssemblySortList(String organizeCode, String productSn);

@ -26,7 +26,7 @@ public interface IMesProdRuleCfgExtService {
MesProdRuleContext getProdRuleSortContext(MesProdRuleContext prodRuleContext);
@ApiOperation(value = "【排序线】获取产品加工规则 [前道所有装配件]")
MesProdRuleContext getProdRuleSortPreCraftContext(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap);
MesProdRuleContext getProdRuleSortPreCraftContext(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap, String workCellCode);
@ApiOperation(value = "【非排序线】获取产品加工规则 【根据PID获取】")
MesProdRuleNosortCfg getProdRuleNosortCfg(String organizeCode, Long id);

@ -59,7 +59,9 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
StringUtils.isEmpty(prodRuleContext.getWorkCellCode()) || StringUtils.isEmpty(prodRuleContext.getProcessCode()) || StringUtils.isEmpty(prodRuleContext.getProductSn())) return null;
//【排序线】获取生产工单装配件清单
List<MesWorkOrderAssembly> workOrderAssemblyList = filterWorkOrderAssemblyList(getWorkOrderAssemblyList(prodRuleContext), prodRuleContext.getEquipmentCode());
List<MesWorkOrderAssembly> workOrderAssemblyList = getWorkOrderAssemblyList(prodRuleContext, false);
//搜集匹配当前设备的装配件信息
workOrderAssemblyList = CollectionUtils.isEmpty(workOrderAssemblyList) ? null : workOrderAssemblyList.stream().filter(o -> (null != o && o.getEquipmentCode().equals(prodRuleContext.getEquipmentCode()))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(workOrderAssemblyList)) return null;
@ -75,18 +77,20 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
//【排序线】获取生产工单装配件绑定记录 [前道所有装配件,无爆炸图与音频文件逻辑]
@Override
public List<MesProductionAssemblySortContext> getProductionAssemblySortPreCraftContextList(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap) {
public List<MesProductionAssemblySortContext> getProductionAssemblySortPreCraftContextList(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap, String workCellCode) {
if (null == prodRuleContext) return null;
if (StringUtils.isEmpty(prodRuleContext.getOrganizeCode()) || StringUtils.isEmpty(prodRuleContext.getWorkCenterCode()) ||
StringUtils.isEmpty(prodRuleContext.getWorkCellCode()) || StringUtils.isEmpty(prodRuleContext.getProcessCode()) || StringUtils.isEmpty(prodRuleContext.getProductSn())) return null;
if (StringUtils.isEmpty(prodRuleContext.getOrganizeCode()) || StringUtils.isEmpty(prodRuleContext.getWorkCenterCode()) || StringUtils.isEmpty(prodRuleContext.getProductSn())) return null;
//【排序线】获取生产工单装配件清单
List<MesWorkOrderAssembly> workOrderAssemblyList = filterWorkOrderAssemblyList(getWorkOrderAssemblyList(prodRuleContext), prodRuleContext.getEquipmentCode());
List<MesWorkOrderAssembly> workOrderAssemblyList = getWorkOrderAssemblyList(prodRuleContext, true);
//搜集匹配当前工位设备及其他工位的的装配件信息
workOrderAssemblyList = CollectionUtils.isEmpty(workOrderAssemblyList) ? null : workOrderAssemblyList.stream().filter(o -> (null != o && (!o.getWorkCellCode().equals(workCellCode) || (o.getWorkCellCode().equals(workCellCode) && o.getEquipmentCode().equals(prodRuleContext.getEquipmentCode()))))).collect(Collectors.toList());
// 搜集非已装配的数据
workOrderAssemblyList = workOrderAssemblyList.stream().filter(o -> (null != o && o.getAssemblyStatus().compareTo(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_10.getValue()) != 0)).collect(Collectors.toList());
workOrderAssemblyList = CollectionUtils.isEmpty(workOrderAssemblyList) ? null : workOrderAssemblyList.stream().filter(o -> (null != o && o.getAssemblyStatus().compareTo(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_10.getValue()) != 0)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(workOrderAssemblyList)) return null;
@ -100,20 +104,15 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
return productionAssemblySortContextList;
}
//搜集匹配当前设备的装配件信息
private List<MesWorkOrderAssembly> filterWorkOrderAssemblyList(List<MesWorkOrderAssembly> workOrderAssemblyList, String equipmentCode) {
return CollectionUtils.isEmpty(workOrderAssemblyList) ? null :
workOrderAssemblyList.stream().filter(o -> (null != o && o.getEquipmentCode().equals(equipmentCode))).collect(Collectors.toList());
}
//【排序线】获取生产工单装配件清单
@Override
public List<MesWorkOrderAssembly> getWorkOrderAssemblyList(MesProdRuleContext prodRuleContext) {
public List<MesWorkOrderAssembly> getWorkOrderAssemblyList(MesProdRuleContext prodRuleContext, Boolean isShowAll) {
if (null == prodRuleContext) return null;
if (StringUtils.isEmpty(prodRuleContext.getOrganizeCode()) || StringUtils.isEmpty(prodRuleContext.getWorkCenterCode()) ||
StringUtils.isEmpty(prodRuleContext.getWorkCellCode()) || StringUtils.isEmpty(prodRuleContext.getProcessCode()) || StringUtils.isEmpty(prodRuleContext.getProductSn())) return null;
if (StringUtils.isEmpty(prodRuleContext.getOrganizeCode()) || StringUtils.isEmpty(prodRuleContext.getWorkCenterCode()) || StringUtils.isEmpty(prodRuleContext.getProductSn())) return null;
if (!isShowAll && (StringUtils.isEmpty(prodRuleContext.getWorkCellCode()) || StringUtils.isEmpty(prodRuleContext.getProcessCode()))) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(prodRuleContext.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(prodRuleContext.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean);

@ -117,8 +117,8 @@ public class MesProdRuleCfgExtService implements IMesProdRuleCfgExtService {
//【排序线】获取产品加工规则 [前道所有装配件]
@Override
public MesProdRuleContext getProdRuleSortPreCraftContext(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap) {
return prodRuleContext.assemblyDataJson(assemblyExtService.getProductionAssemblySortPreCraftContextList(prodRuleContext, workCellMap));
public MesProdRuleContext getProdRuleSortPreCraftContext(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap, String workCellCode) {
return prodRuleContext.assemblyDataJson(assemblyExtService.getProductionAssemblySortPreCraftContextList(prodRuleContext, workCellMap, workCellCode));
}

@ -34,7 +34,7 @@ public class MesAssemblyShowSortPreCraftStepService extends MesAssemblyShowSortS
//不携带工位工序条件
MesProdRuleContext prodRuleContext = new MesProdRuleContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode())
.equipmentCode(cellEquipContext.getEquipmentCode()).workOrderNo(productionPsInContext.getWorkOrderNo()).productSn(productionPsInContext.getProductSn()).foreignKey(productionPsInContext.getForeignKey());
return prodRuleCfgExtService.getProdRuleSortPreCraftContext(prodRuleContext, workCellMap);
return prodRuleCfgExtService.getProdRuleSortPreCraftContext(prodRuleContext, workCellMap, reqBean.getWorkCellCode());
}
//装配件清单列表标题

@ -143,7 +143,7 @@ public class MesProductionAssemblySortContext extends MesProductionAssemblyConte
this.sourceId = workOrderAssembly.getId();
}
if (null != workOrderAssembly) {
if (null != productionAssembly) {
this.id = productionAssembly.getId();
this.createDatetime = productionAssembly.getCreateDatetime();
this.createUser = productionAssembly.getCreateUser();

Loading…
Cancel
Save