diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentService.java index f516c04..d6e0e62 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentService.java @@ -5,22 +5,38 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.base.util.StringUtil; +import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.MesEquipment; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentProdParamCfg; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipment; +import cn.estsh.i3plus.pojo.mes.repository.MesWcEquipmentRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service @Slf4j public class MesEquipmentService extends BaseMesService implements IMesEquitmentService { - + + @Autowired + private MesWcEquipmentRepository mesWcEquipmentRepository; + @Override protected void setPackQueryBean(MesEquipment bean, DdlPackBean packBean) { - DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(),"equipmentCode",packBean); - DdlPreparedPack.getStringEqualPack(bean.getEquipmentName(),"equipmentName",packBean); + if (!StringUtil.isEmpty(bean.getFilterWorkCell())) { + //过滤已绑定工位 + DdlPackBean packBean1 = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); + DdlPreparedPack.getIsNotNull("equipmentCode", packBean); + DdlPreparedPack.getIsNotNull( "workCellCode", packBean); + + List workCells = mesWcEquipmentRepository.findByHqlWhere(packBean); + DdlPreparedPack.getNotInPack(workCells.stream().map(MesWcEquipment::getEquipmentCode), "equipmentCode", packBean); + } + DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(), "equipmentCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getEquipmentName(), "equipmentName", packBean); } @@ -29,7 +45,7 @@ public class MesEquipmentService extends BaseMesService implements //插入前构造并校验数据 onInsertBean(bean); Integer equipId = 1; - DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(); packBean.setOrderByStr(" order by equipId desc"); MesEquipment mesEquipment = baseRDao.getByProperty(packBean); if (mesEquipment != null && mesEquipment.getEquipId() != null) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java index a38c8b2..48e7d3f 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesOrgServiceImpl.java @@ -24,7 +24,7 @@ public class MesOrgServiceImpl extends BaseMesService implements IMesOrg @Override protected void setPackQueryBean(MesOrg bean, DdlPackBean packBean) { - DdlPreparedPack.getStringEqualPack(bean.getAreaCode(), "areaCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getInventoryLocationCode(), "inventoryLocationCode", packBean); if(StringUtil.isEmpty(bean.getResponsibleParty())){ DdlPreparedPack.getIsNotNull( "responsibleParty", packBean); }else { @@ -37,20 +37,20 @@ public class MesOrgServiceImpl extends BaseMesService implements IMesOrg protected void onInsertBean(MesOrg item) { // 数据校验 ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); - ValidatorBean.checkNotNull(item.getAreaCode(), "areaCode 不能为空"); + ValidatorBean.checkNotNull(item.getInventoryLocationCode(), "inventoryLocationCode 不能为空"); ValidatorBean.checkNotNull(item.getResponsibleParty(), "responsibleParty 不能为空"); //唯一性校验 DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", packBean); + DdlPreparedPack.getStringEqualPack(item.getInventoryLocationCode(), "inventoryLocationCode", packBean); DdlPreparedPack.getStringEqualPack(item.getResponsibleParty(), "responsibleParty", packBean); boolean flg = baseRDao.isExitByHql(packBean); if (flg) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("区域代码【%s】【%s】已经存在,请检查数据", - item.getAreaCode(), item.getResponsibleParty() ) + .setErrorDetail("区域代码【%s】责任方【%s】已经存在,请检查数据", + item.getInventoryLocationCode(), item.getResponsibleParty() ) .build(); } }