点检功能优化

tags/yfai-pcn-ext-v1.0
jun 10 months ago
parent a598cafb7a
commit ed557c79ab

@ -1,10 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base; package cn.estsh.i3plus.ext.mes.pcn.api.base;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext;
import cn.estsh.i3plus.pojo.mes.bean.MesCavityGroupDetailCfg; import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentChannel;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariableCfg;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import java.util.List; import java.util.List;
@ -24,4 +21,7 @@ public interface IMesEquipmentExtService {
List<MesEquipmentChannel> getEquipmentChannelList(String organizeCode, String equipmentCode); List<MesEquipmentChannel> getEquipmentChannelList(String organizeCode, String equipmentCode);
List<MesCavityGroupDetailCfg> getMesCavityGroupDetailCfgList(String organizeCode, String equipmentCode); List<MesCavityGroupDetailCfg> getMesCavityGroupDetailCfgList(String organizeCode, String equipmentCode);
@ApiOperation(value = "根据设备代码查询生产设备信息")
MesEquipment getMesEquipment(String organizeCode, String equipmentCode);
} }

@ -98,4 +98,12 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
List<MesCavityGroupDetailCfg> mesCavityGroupDetailCfgs = mesCavityGroupDetailCfgRepository.findByHqlWhere(packBean); List<MesCavityGroupDetailCfg> mesCavityGroupDetailCfgs = mesCavityGroupDetailCfgRepository.findByHqlWhere(packBean);
return mesCavityGroupDetailCfgs; return mesCavityGroupDetailCfgs;
} }
@Override
public MesEquipment getMesEquipment(String organizeCode, String equipmentCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipmentCode)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, MesPcnExtConstWords.EQUIPMENT_CODE, packBean);
return equipmentRepository.getByProperty(packBean);
}
} }

@ -1,5 +1,7 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipmentLogExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.spot.IMesSpotCheckOrderService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.spot.IMesSpotCheckOrderService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesEquipmentSpotCheckModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesEquipmentSpotCheckModel;
@ -73,6 +75,12 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
@Autowired @Autowired
private ICoreUtilCloud sysOrderNoRuleCloud; private ICoreUtilCloud sysOrderNoRuleCloud;
@Autowired
private IMesEquipmentLogExtService mesEquipmentLogExtService;
@Autowired
private IMesEquipmentExtService mesEquipmentExtService;
@Override @Override
public ListPager<MesSpotCheckOrder> querySpotCheckOrder(MesSpotCheckOrder spotCheckOrder, Pager pager) { public ListPager<MesSpotCheckOrder> querySpotCheckOrder(MesSpotCheckOrder spotCheckOrder, Pager pager) {
@ -171,35 +179,36 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
throw new ImppBusiException(String.format("剩余物料号【%s】对应的条码未扫描请扫描完成后再完成质检", partNoList)); throw new ImppBusiException(String.format("剩余物料号【%s】对应的条码未扫描请扫描完成后再完成质检", partNoList));
} }
} }
//根据设备代码获取EQUIP_ID
MesEquipment mesEquipment = mesEquipmentExtService.getMesEquipment(org, model.getSpotCheckOrder().getEquipCode());
Map<Long, List<MesEquipmentLog>> setMap = null;
//实际值地址数据Map
Map<Long, List<MesEquipmentLog>> realMap = null;
//获取实际值值设备数据
List<MesEquipmentLog> realEquipmentLogList = new ArrayList<>();
if(!Objects.isNull(mesEquipment) && StringUtils.isEmpty(mesEquipment.getEquipId())){
//获取设定值设备变量ID //获取设定值设备变量ID
List<Long> setEquipVariableIdList = List<Long> setEquipVariableIdList =
model.getOrderResultList().stream().filter(k -> k.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()).map(k -> k.getSetEquipVariableId()).collect(Collectors.toList()); model.getOrderResultList().stream().filter(k -> k.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()).map(MesSpotCheckOrderResult::getSetEquipVariableId).collect(Collectors.toList());
//获取实际值设备变量ID //获取实际值设备变量ID
List<Long> realEquipVariableIdList = List<Long> realEquipVariableIdList =
model.getOrderResultList().stream().filter(k -> k.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()).map(k -> k.getSetEquipVariableId()).collect(Collectors.toList()); model.getOrderResultList().stream().filter(k -> k.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()).map(MesSpotCheckOrderResult::getSetEquipVariableId).collect(Collectors.toList());
//获取设定值设备数据 //获取设定值设备数据
List<MesEquipmentLog> setEquipmentLogList = new ArrayList<>(); List<MesEquipmentLog> setEquipmentLogList = new ArrayList<>();
for (List<Long> tmp : ListUtils.partition(setEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) { for (List<Long> tmp : ListUtils.partition(setEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); setEquipmentLogList.addAll(mesEquipmentLogExtService.getEquipmentLogList(org,mesEquipment.getEquipId(),MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(),tmp));
DdlPreparedPack.getInPackList(tmp, "equipVariableId", packBean);
DdlPreparedPack.getNumEqualPack(model.getSpotCheckOrder().getEquipId().intValue(), "equipId", packBean);
setEquipmentLogList.addAll(equipmentLogRepository.findByHqlWhere(packBean));
} }
//设定值地址数据Map //设定值地址数据Map
Map<Long, List<MesEquipmentLog>> setMap = setEquipmentLogList.stream().collect(Collectors.groupingBy(k -> k.getEquipVariableId())); setMap = setEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipmentLog::getEquipVariableId));
//获取实际值值设备数据
List<MesEquipmentLog> realEquipmentLogList = new ArrayList<>();
for (List<Long> tmp : ListUtils.partition(realEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) { for (List<Long> tmp : ListUtils.partition(realEquipVariableIdList, MesCommonConstant.MAX_PAGER_SIZE)) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); realEquipmentLogList.addAll(mesEquipmentLogExtService.getEquipmentLogList(org,mesEquipment.getEquipId(),MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue(),tmp));
DdlPreparedPack.getInPackList(tmp, "equipVariableId", packBean);
DdlPreparedPack.getNumEqualPack(model.getSpotCheckOrder().getEquipId().intValue(), "equipId", packBean);
realEquipmentLogList.addAll(equipmentLogRepository.findByHqlWhere(packBean));
} }
//实际值地址数据Map //实际值地址数据Map
Map<Long, List<MesEquipmentLog>> realMap = realEquipmentLogList.stream().collect(Collectors.groupingBy(k -> k.getEquipVariableId())); realMap = realEquipmentLogList.stream().collect(Collectors.groupingBy(MesEquipmentLog::getEquipVariableId));
}
for (MesSpotCheckOrderResult result : model.getOrderResultList()) { for (MesSpotCheckOrderResult result : model.getOrderResultList()) {
@ -207,7 +216,7 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
if (result.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()) { if (result.getSpotCheckItemType() == MesExtEnumUtil.SPOT_CHECK_ITEM_TYPE.AUTO.getValue()) {
//获取设定值地址数据 //获取设定值地址数据
if (setMap.containsKey(result.getSetEquipVariableId())) { if (!Objects.isNull(setMap) && setMap.containsKey(result.getSetEquipVariableId())) {
String value = setMap.get(result.getSetEquipVariableId()).get(0).getEquipVariableValue(); String value = setMap.get(result.getSetEquipVariableId()).get(0).getEquipVariableValue();
result.setSpotCheckSetValue(value); result.setSpotCheckSetValue(value);
result.setSetValueRecordType(MesExtEnumUtil.SPOT_VALUE_RECORD_TYPE.EQUIPMENT_INPUT.getValue()); result.setSetValueRecordType(MesExtEnumUtil.SPOT_VALUE_RECORD_TYPE.EQUIPMENT_INPUT.getValue());
@ -217,7 +226,7 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
// result.setSetValueRecordType(MesExtEnumUtil.SPOT_VALUE_RECORD_TYPE.ARTIFICIAL_INPUT.getValue()); // result.setSetValueRecordType(MesExtEnumUtil.SPOT_VALUE_RECORD_TYPE.ARTIFICIAL_INPUT.getValue());
// } // }
//获取实际值地址数据 //获取实际值地址数据
if (realMap.containsKey(result.getRealEquipVariableId())) { if (!Objects.isNull(realMap) && realMap.containsKey(result.getRealEquipVariableId())) {
String value = realMap.get(result.getRealEquipVariableId()).get(0).getEquipVariableValue(); String value = realMap.get(result.getRealEquipVariableId()).get(0).getEquipVariableValue();
result.setSpotCheckRealValue(value); result.setSpotCheckRealValue(value);
//根据获取的值判断是否是设备自定义参数 或者认为录入参数 //根据获取的值判断是否是设备自定义参数 或者认为录入参数

Loading…
Cancel
Save