Merge branch 'mes-uat-temp-47040' into mes-test

tags/yfai-pcn-ext-v4.0
王杰 2 months ago
commit 352221cceb

@ -39,4 +39,7 @@ public interface IMesProdRuleCfgExtService {
MesProdRuleContext getProdRuleSortPreCraftContext(MesProdRuleContext prodRuleContext, Map<String, MesWorkCell> workCellMap,
Map<String, List<MesProdRuleIgnoreCfg>> prodRuleIgnoreCfgMap, Boolean isFilterParallel, Boolean isFilterAfterCraft);
@ApiOperation(value = "根据设备代码查询非排序加工规则")
List<MesProdRuleNosortCfg> getProdRuleNosortCfgListByEquipCode(String organizeCode, String equipmentCode);
}

@ -141,4 +141,11 @@ public class MesProdRuleCfgExtService implements IMesProdRuleCfgExtService {
return prodRuleContext.assemblyDataJson(assemblyExtService.getProductionAssemblySortPreCraftContextList(prodRuleContext, workCellMap, prodRuleIgnoreCfgMap, isFilterParallel, isFilterAfterCraft));
}
@Override
public List<MesProdRuleNosortCfg> getProdRuleNosortCfgListByEquipCode(String organizeCode, String equipmentCode) {
return prodRuleNoSortCfgRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.EQUIPMENT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode});
}
}

@ -1,15 +1,19 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProdRuleCfgExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.api.iservice.base.IPartService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService;
import cn.estsh.i3plus.mes.pcn.util.StationKvBeanUtil;
import cn.estsh.i3plus.platform.common.util.MesPcnConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleNosortCfg;
import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel;
import cn.estsh.i3plus.pojo.mes.model.StationKvBean;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
@ -20,9 +24,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -37,6 +39,12 @@ public class MesFunctionChooseCavityPartService extends BaseSwsService implement
@Autowired
private IShippingDispatchService shippingDispatchService;
@Autowired
private IMesProdRuleCfgExtService prodRuleCfgExtService;
@Autowired
private IPartService partService;
@Override
public Boolean doFunction(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) {
@ -110,16 +118,34 @@ public class MesFunctionChooseCavityPartService extends BaseSwsService implement
@Override
public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) {
//获取生产过程上下文对象
Map<String, Object> resultMap = new HashMap<>();
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getProductionProcessContext(reqBean);
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
if (!productionProcessContext.getSuccess()) return MesPcnExtConstWords.ONE;
if (!productionProcessContext.getSuccess()) resultMap.put(MesPcnExtConstWords.CAVITY, MesPcnExtConstWords.ONE);
else {
if (null == cellEquipContext) resultMap.put(MesPcnExtConstWords.CAVITY, MesPcnExtConstWords.ONE);
else resultMap.put(MesPcnExtConstWords.CAVITY, cellEquipContext.getCavity());
}
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
if (null == cellEquipContext) return resultMap;
List<MesProdRuleNosortCfg> prodRuleNosortCfgList = prodRuleCfgExtService.getProdRuleNosortCfgListByEquipCode(reqBean.getOrganizeCode(), cellEquipContext.getEquipmentCode());
if (CollectionUtils.isEmpty(prodRuleNosortCfgList)) return resultMap;
List<String> outPartNoList = prodRuleNosortCfgList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getOutPartNo()))).map(MesProdRuleNosortCfg::getOutPartNo).collect(Collectors.toList());
if (CollectionUtils.isEmpty(outPartNoList)) return resultMap;
List<MesPart> partList = partService.getPartList(reqBean.getOrganizeCode(), outPartNoList);
if (CollectionUtils.isEmpty(partList)) return resultMap;
partList = partList.stream().distinct().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MesPart::getPartNo))), ArrayList::new));
resultMap.put(MesPcnExtConstWords.OUT_PART_NO, partList.stream().filter(o -> null != o).collect(Collectors.toMap(MesPart::getPartNo, MesPart::getPartName)));
if (null == cellEquipContext) return MesPcnExtConstWords.ONE;
return resultMap;
return cellEquipContext.getCavity();
}
}

Loading…
Cancel
Save