41525 设备+缺陷+点检模块新增导入功能

tags/yfai-mes-ext-v1.0
gsz 11 months ago
parent 524ba1060b
commit 6e1a17e253

@ -11,6 +11,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesDefectTypeService extends BaseMesService<MesDefectType> implements IMesDefectTypeService {
@ -57,5 +59,24 @@ public class MesDefectTypeService extends BaseMesService<MesDefectType> implemen
.build();
}
}
@Override
public void validateImport(List<MesDefectType> beanList) {
for (MesDefectType item : beanList) {
// 数据校验
ValidatorBean.checkNotNull(item.getDefectTypeCode(), "缺陷类型代码不能为空");
ValidatorBean.checkNotNull(item.getDefectTypeName(), "缺陷类型名称不能为空");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", packBean);
boolean flg = baseRDao.isExitByHql(packBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】缺陷类型代码已经存在请检查数据", item.getDefectTypeCode())
.build();
}
}
}
}

@ -1,18 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquitmentChannelService;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquitmentService;
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.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentChannel;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesEquipmentChannelService extends BaseMesService<MesEquipmentChannel> implements IMesEquitmentChannelService {
@ -86,4 +86,27 @@ public class MesEquipmentChannelService extends BaseMesService<MesEquipmentChann
.build();
}
}
// 校验导入数据
@Override
public void validateImport(List<MesEquipmentChannel> beanList) {
for (MesEquipmentChannel item : beanList) {
ValidatorBean.checkNotNull(item.getEquipmentCode(), "设备代码不能为空");
ValidatorBean.checkNotNull(item.getChannel(), "设备通道不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", seriesPackBean);
DdlPreparedPack.getStringEqualPack(item.getChannel(), "channel", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】设备代码和【%s】通道已经存在请检查数据", item.getEquipmentCode(), item.getChannel())
.build();
}
}
}
}

@ -103,4 +103,22 @@ public class MesEquipmentService extends BaseMesService<MesEquipment> implements
.build();
}
}
@Override
public void validateImport(List<MesEquipment> beanList) {
for (MesEquipment item : beanList) {
ValidatorBean.checkNotNull(item.getEquipmentCode(), "设备代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】设备代码已经存在请检查数据", item.getEquipmentCode())
.build();
}
}
}
}

@ -5,13 +5,14 @@ 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.mes.bean.MesCraftRoute;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckDetail;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesEquipmentSpotCheckDetailService extends BaseMesService<MesEquipmentSpotCheckDetail> implements IMesEquipmentSpotCheckDetailService {
@ -61,6 +62,25 @@ public class MesEquipmentSpotCheckDetailService extends BaseMesService<MesEquipm
.build();
}
}
@Override
public void validateImport(List<MesEquipmentSpotCheckDetail> beanList) {
for (MesEquipmentSpotCheckDetail item : beanList) {
// 数据校验
ValidatorBean.checkNotNull(item.getSpotCheckItemCode(), "点检项代码不能为空");
DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(item.getPid(), "pid", roadPackBean);
DdlPreparedPack.getStringEqualPack(item.getSpotCheckItemCode(), "spotCheckItemCode", roadPackBean);
boolean flg = baseRDao.isExitByHql(roadPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("点检项代码【%s】已经存在请检查数据", item.getSpotCheckItemCode())
.build();
}
}
}
}

@ -1,12 +1,19 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentSpotCheckPartService;
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.MesEquipmentSpotCheckPart;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesEquipmentSpotCheckPartService extends BaseMesService<MesEquipmentSpotCheckPart> implements IMesEquipmentSpotCheckPartService {
@ -16,5 +23,39 @@ public class MesEquipmentSpotCheckPartService extends BaseMesService<MesEquipmen
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
}
@Override
public void validateImport(List<MesEquipmentSpotCheckPart> beanList) {
for (MesEquipmentSpotCheckPart item : beanList) {
// 数据校验
if(StringUtil.isEmpty(item.getPid())){
ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean);
MesEquipmentSpotCheckPart itemFlg = baseRDao.getByProperty(seriesPackBean);
if (StringUtil.isEmpty(itemFlg)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目代码不存在请检查数据", item.getSpotCheckCode())
.build();
}
item.setPid(itemFlg.getPid());
}else {
ValidatorBean.checkNotNull(item.getId(), "点检项目id不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", seriesPackBean);
if (!baseRDao.isExitByHql(seriesPackBean)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目id不存在请检查数据", item.getPid())
.build();
}
}
}
}
}

@ -11,6 +11,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesEquipmentSpotCheckService extends BaseMesService<MesEquipmentSpotCheck> implements IMesEquipmentSpotCheckService {
@ -57,5 +59,24 @@ public class MesEquipmentSpotCheckService extends BaseMesService<MesEquipmentSpo
.build();
}
}
@Override
public void validateImport(List<MesEquipmentSpotCheck> beanList) {
for (MesEquipmentSpotCheck item : beanList) {
// 数据校验
ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目代码已经存在请检查数据", item.getSpotCheckCode())
.build();
}
}
}
}

@ -1,13 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentVariableService;
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.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable;
import cn.estsh.i3plus.pojo.mes.bean.MesErpWorkCenter;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description :SAP
* @Reference :
@ -23,4 +30,22 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
DdlPreparedPack.getStringLikerPack(bean.getEquipmentCode(), "equipmentCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCode(), "code", packBean);
}
@Override
public void validateImport(List<MesEquipmentVariable> beanList) {
for (MesEquipmentVariable item : beanList) {
ValidatorBean.checkNotNull(item.getEquipmentCode(), "设备代码不能为空");
// DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
// DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", seriesPackBean);
// boolean flg = baseRDao.isExitByHql(seriesPackBean);
// if (flg) {
// throw ImppExceptionBuilder.newInstance()
// .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
// .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
// .setErrorDetail("【%s】设备代码已经存在请检查数据", item.getEquipmentCode())
// .build();
// }
}
}
}

@ -11,6 +11,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesPartTypeDefectService extends BaseMesService<MesPartTypeDefect> implements IBaseMesService<MesPartTypeDefect> {
@ -63,5 +65,26 @@ public class MesPartTypeDefectService extends BaseMesService<MesPartTypeDefect>
.build();
}
}
@Override
public void validateImport(List<MesPartTypeDefect> beanList) {
for (MesPartTypeDefect item : beanList) {
// 数据校验
ValidatorBean.checkNotNull(item.getDefectTypeCode(), "缺陷类型不能为空");
ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空");
DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", roadPackBean);
DdlPreparedPack.getStringEqualPack(item.getPartTypeCode(), "partTypeCode", roadPackBean);
boolean flg = baseRDao.isExitByHql(roadPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("缺陷类型【%s】零件类型【%s】已经存在请检查数据", item.getDefectTypeCode(), item.getPartTypeCode())
.build();
}
}
}
}

@ -11,6 +11,8 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@Slf4j
public class MesPartTypeService extends BaseMesService<MesPartType> implements IMesPartTypeService {
@ -56,4 +58,24 @@ public class MesPartTypeService extends BaseMesService<MesPartType> implements I
.build();
}
}
@Override
public void validateImport(List<MesPartType> beanList) {
for (MesPartType item : beanList) {
// 数据校验
ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型代码不能为空");
ValidatorBean.checkNotNull(item.getPartTypeName(), "零件类型名称不能为空");
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getPartTypeCode(), "partTypeCode", packBean);
boolean flg = baseRDao.isExitByHql(packBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】零件类型代码已经存在请检查数据", item.getPartTypeCode())
.build();
}
}
}
}

@ -4,15 +4,20 @@ import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellExtendCfgService;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellExtendCfg;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository;
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;
@Service
@Slf4j
public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExtendCfg> implements IMesWorkCellExtendCfgService {
@Autowired
private MesWorkCellRepository workCellRepository;
@Override
protected void setPackQueryBean(MesWorkCellExtendCfg bean, DdlPackBean packBean) {
@ -36,16 +41,18 @@ public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExten
MesException.throwMesBusiException("主子关系时产线【%s】与子产线【%s】需一致请检查数据",
item.getWorkCenterCode(),item.getWorkCenterCodeBak());
}
//2.主工位和子工位各自唯一
DdlPackBean mainPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", mainPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", mainPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCodeBak(), "workCenterCodeBak", mainPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCodeBak(), "workCellCodeBak", mainPackBean);
if (baseRDao.isExitByHql(mainPackBean)) {
MesException.throwMesBusiException("工作中心【%s】子工位【%s】数据界已经存在请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
}
//1.子产线 子工位表里面唯一(无论类型)
DdlPackBean mainPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", mainPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", mainPackBean);
if (baseRDao.isExitByHql(mainPackBean)) {
MesException.throwMesBusiException("工作中心【%s】主工位【%s】数据已经存在请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
//2.主工位和子工位各自唯一
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCodeBak(), "workCenterCodeBak", partPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCodeBak(), "workCellCodeBak", partPackBean);
@ -53,8 +60,20 @@ public class MesWorkCellExtendCfgService extends BaseMesService<MesWorkCellExten
MesException.throwMesBusiException("工作中心【%s】子工位【%s】数据界已经存在请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
//3.子工位 是 30 工位 在 父子里面 都全局唯一
DdlPackBean wcPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCodeBak(), "workCenterCodeBak", wcPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCodeBak(), "workCellCodeBak", wcPackBean);
MesWorkCell mesWorkCell = workCellRepository.getByProperty(wcPackBean);
if(!StringUtil.isEmpty(mesWorkCell)&&mesWorkCell.getGrade()==30){
DdlPackBean cellBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", cellBean);
if (baseRDao.isExitByHql(cellBean)) {
MesException.throwMesBusiException("工作中心【%s】子工位是30【%s】工位全局唯一请检查数据",
item.getWorkCenterCode(),item.getWorkCellCode(),item.getWorkCellCodeBak());
}
}
}
protected void onUpdateBean(MesWorkCellExtendCfg item) {

Loading…
Cancel
Save