|
|
|
@ -0,0 +1,675 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.dao.IEquipmentExtDao;
|
|
|
|
|
import cn.estsh.i3plus.mes.api.iservice.base.IEnumService;
|
|
|
|
|
import cn.estsh.i3plus.mes.apiservice.dao.IEquipmentDao;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.util.MesConstWords;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.util.StringUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesArea;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellParam;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellParamCfg;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellPoint;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.MesEquipmentModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.ProdOrgModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.SysOrganizeModel;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesAreaRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellParamCfgRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellParamRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellPointRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.sqlpack.MesHqlPack;
|
|
|
|
|
import cn.estsh.i3plus.pojo.platform.bean.SysUserInfo;
|
|
|
|
|
import cn.estsh.impp.framework.boot.auth.AuthUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.LocaleUtils;
|
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Description : 与PCN数据交互方法调度类
|
|
|
|
|
* @Reference :
|
|
|
|
|
* @Author : yiming.gu
|
|
|
|
|
* @CreateDate : 2019-04-23
|
|
|
|
|
* @Modify:
|
|
|
|
|
**/
|
|
|
|
|
@Service
|
|
|
|
|
public class ProdExtOrgService implements IProdExtOrgService {
|
|
|
|
|
public static final Logger LOGGER = LoggerFactory.getLogger(ProdExtOrgService.class);
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesAreaRepository areaRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCenterRepository workCenterRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCellRepository workCellRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IEquipmentExtDao equipmentDao;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCellParamCfgRepository workCellParamCfgRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCellParamRepository workCellParamRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCellPointRepository workCellPointRepository;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IEnumService enumService;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List queryMesDataTree(String organizeCode) {
|
|
|
|
|
List resultList = new ArrayList();
|
|
|
|
|
SysUserInfo userInfo = AuthUtil.getSessionUser().getUserInfo();
|
|
|
|
|
if (null != userInfo) {
|
|
|
|
|
SysOrganizeModel organize = new SysOrganizeModel();
|
|
|
|
|
|
|
|
|
|
organize.setParentId(CommonEnumUtil.PARENT.DEFAULT.getValue());
|
|
|
|
|
organize.setName(AuthUtil.getOrganize().getName());
|
|
|
|
|
|
|
|
|
|
List<MesArea> areaList = areaRepository.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE},
|
|
|
|
|
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), organizeCode});
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(areaList)) {
|
|
|
|
|
for (MesArea mesArea : areaList) {
|
|
|
|
|
List<MesWorkCenter> workCenterList = workCenterRepository.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE, "areaCode"},
|
|
|
|
|
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), organizeCode, mesArea.getAreaCode()});
|
|
|
|
|
if (!CollectionUtils.isEmpty(workCenterList)) {
|
|
|
|
|
for (MesWorkCenter mesWorkCenter : workCenterList) {
|
|
|
|
|
List<MesWorkCell> workCellList = workCellRepository.findByProperty(new String[]{MesConstWords.IS_VALID, MesConstWords.IS_DELETED, MesConstWords.ORGANIZE_CODE, "areaCode", "workCenterCode"},
|
|
|
|
|
new Object[]{CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.IS_DEAL.NO.getValue(), organizeCode, mesWorkCenter.getAreaCode(), mesWorkCenter.getWorkCenterCode()});
|
|
|
|
|
if (!CollectionUtils.isEmpty(workCellList)) {
|
|
|
|
|
for (MesWorkCell workCell : workCellList) {
|
|
|
|
|
MesEquipment mesEquipmentParam = new MesEquipment();
|
|
|
|
|
mesEquipmentParam.setOrganizeCode(organizeCode);
|
|
|
|
|
mesEquipmentParam.setWorkCenterCode(mesWorkCenter.getWorkCenterCode());
|
|
|
|
|
mesEquipmentParam.setWorkCellCode(workCell.getWorkCellCode());
|
|
|
|
|
List<MesEquipmentModel> equipmentModelList = equipmentDao.findMesEquipmentList(mesEquipmentParam);
|
|
|
|
|
List<MesEquipment> equipmentList = new ArrayList<>();
|
|
|
|
|
if (!CollectionUtils.isEmpty(equipmentModelList)) {
|
|
|
|
|
for (MesEquipmentModel equipmentModel : equipmentModelList) {
|
|
|
|
|
MesEquipment equipment = new MesEquipment();
|
|
|
|
|
equipment.setName(equipmentModel.getEquipmentName());
|
|
|
|
|
equipment.setParentId(workCell.getId());
|
|
|
|
|
//因为树的id必须唯一,而设备跟工位是一对多,所以这里id设为设备跟工位的关联id
|
|
|
|
|
equipment.setId(equipmentModel.getWcId());
|
|
|
|
|
equipment.setEquipmentCode(equipmentModel.getEquipmentCode());
|
|
|
|
|
equipment.setEquipmentName(equipmentModel.getEquipmentName());
|
|
|
|
|
equipment.setWorkCenterCode(equipmentModel.getWorkCenterCode());
|
|
|
|
|
equipment.setWorkCellCode(equipmentModel.getWorkCellCode());
|
|
|
|
|
equipment.setAreaCode(equipmentModel.getAreaCode());
|
|
|
|
|
equipmentList.add(equipment);
|
|
|
|
|
}
|
|
|
|
|
workCell.setChildTreeList(equipmentList);
|
|
|
|
|
}
|
|
|
|
|
//2019-12-10 树结构中要求工位显示代码,其他的显示名称
|
|
|
|
|
//workCell.setName(workCell.getWorkCellCode());
|
|
|
|
|
//2020-07-28 树结构中要求工位名称,如果要展示工位代码 直接名称维护成'代码-名称'
|
|
|
|
|
workCell.setName(workCell.getWorkCellName());
|
|
|
|
|
workCell.setParentId(mesWorkCenter.getId());
|
|
|
|
|
}
|
|
|
|
|
mesWorkCenter.setChildTreeList(workCellList);
|
|
|
|
|
}
|
|
|
|
|
mesWorkCenter.setName(mesWorkCenter.getWorkCenterName());
|
|
|
|
|
mesWorkCenter.setParentId(mesArea.getId());
|
|
|
|
|
}
|
|
|
|
|
mesArea.setChildTreeList(workCenterList);
|
|
|
|
|
}
|
|
|
|
|
mesArea.setName(mesArea.getAreaName());
|
|
|
|
|
mesArea.setParentId(AuthUtil.getOrganize().getId());
|
|
|
|
|
}
|
|
|
|
|
organize.setChildTreeList(areaList);
|
|
|
|
|
resultList.add(organize);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resultList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Object insertMesProdOrg(ProdOrgModel prodOrgModel) {
|
|
|
|
|
if (MesEnumUtil.PROD_ORG_LEVEL.LEVEL_ONE.getValue() == prodOrgModel.getLevel()) {
|
|
|
|
|
MesArea mesArea = new MesArea();
|
|
|
|
|
BeanUtils.copyProperties(prodOrgModel, mesArea);
|
|
|
|
|
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesArea mesAreaDb = areaRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, "areaCode", MesConstWords.IS_DELETED},
|
|
|
|
|
new Object[]{mesArea.getOrganizeCode(), mesArea.getAreaCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()});
|
|
|
|
|
|
|
|
|
|
if (null != mesAreaDb) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("区域代码为【%s】的记录已存在", mesArea.getAreaCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
return areaRepository.insert(mesArea);
|
|
|
|
|
}
|
|
|
|
|
if (MesEnumUtil.PROD_ORG_LEVEL.LEVEL_TWO.getValue() == prodOrgModel.getLevel()) {
|
|
|
|
|
MesWorkCenter mesWorkCenter = new MesWorkCenter();
|
|
|
|
|
BeanUtils.copyProperties(prodOrgModel, mesWorkCenter);
|
|
|
|
|
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesWorkCenter workCenter = workCenterRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, "workCenterCode"},
|
|
|
|
|
new Object[]{mesWorkCenter.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), mesWorkCenter.getWorkCenterCode()});
|
|
|
|
|
|
|
|
|
|
if (null != workCenter) {
|
|
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码为【%s】的记录已存在", workCenter.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
return workCenterRepository.insert(mesWorkCenter);
|
|
|
|
|
}
|
|
|
|
|
if (MesEnumUtil.PROD_ORG_LEVEL.LEVEL_THREE.getValue() == prodOrgModel.getLevel()) {
|
|
|
|
|
MesWorkCell workCell = new MesWorkCell();
|
|
|
|
|
BeanUtils.copyProperties(prodOrgModel, workCell);
|
|
|
|
|
//checkWorkCell(workCell);
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesWorkCell mesWorkCell = workCellRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, "workCellCode", "workCenterCode"},
|
|
|
|
|
new Object[]{workCell.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCell.getWorkCellCode(), workCell.getWorkCenterCode()});
|
|
|
|
|
|
|
|
|
|
if (null != mesWorkCell) {
|
|
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码为【%s】工位代码为【%s】的记录已存在", workCell.getWorkCenterCode(), mesWorkCell.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
workCell.setGrade(prodOrgModel.getGrade());
|
|
|
|
|
return workCellRepository.insert(workCell);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesArea> queryMesAreaByPager(MesArea mesArea, Pager pager) {
|
|
|
|
|
|
|
|
|
|
if (mesArea == null) {
|
|
|
|
|
pager = PagerHelper.getPager(pager, areaRepository.listCount());
|
|
|
|
|
return new ListPager(areaRepository.listPager(pager), pager);
|
|
|
|
|
} else {
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesArea(mesArea, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, areaRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
hqlPack.setOrderByStr(mesArea.orderBy());
|
|
|
|
|
return new ListPager(areaRepository.findByHqlWherePage(hqlPack, pager), pager);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MesArea> queryMesAreaByProperties(MesArea mesArea) {
|
|
|
|
|
|
|
|
|
|
return areaRepository.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID},
|
|
|
|
|
new Object[]{mesArea.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue()});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesArea updateMesArea(MesArea mesArea) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesArea mesAreaDb = areaRepository.getById(mesArea.getId());
|
|
|
|
|
if (mesAreaDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("区域代码为【%s】的记录不存在", mesArea.getAreaCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mesAreaDb.setAreaName(mesArea.getAreaName());
|
|
|
|
|
ConvertBean.serviceModelUpdate(mesAreaDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return areaRepository.save(mesAreaDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesAreaStatusById(Long id, int status, String userName) {
|
|
|
|
|
MesArea mesArea = areaRepository.getById(id);
|
|
|
|
|
if (null == mesArea || (null != mesArea && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesArea.getIsDeleted())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("区域不存在")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
//禁用区域时,校验生产线是否全部禁用
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.INVAILD.getValue() == status) {
|
|
|
|
|
List<MesWorkCenter> mesWorkCenterList = workCenterRepository.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "areaCode"},
|
|
|
|
|
new Object[]{mesArea.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), mesArea.getAreaCode()});
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesWorkCenterList)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("区域代码【%s】下存在未禁用的生产线,该区域不能禁用", mesArea.getAreaCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return areaRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesWorkCenter> queryWorkCenterByPager(MesWorkCenter mesWorkCenter, Pager pager) {
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesWorkCenter(mesWorkCenter, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCenterRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
hqlPack.setOrderByStr(mesWorkCenter.orderBy());
|
|
|
|
|
return new ListPager(workCenterRepository.findByHqlWherePage(hqlPack, pager), pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MesWorkCenter> queryMesWorkCenterByProperties(MesWorkCenter workCenter) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCenter.getOrganizeCode());
|
|
|
|
|
packBean.setOrderByStr(workCenter.orderBy());
|
|
|
|
|
if (!StringUtils.isEmpty(workCenter.getWorkCenterCode())) {
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(workCenter.getWorkCenterCode(), "workCenterCode", packBean);
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(workCenter.getWorkCenterName())) {
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(workCenter.getWorkCenterName(), "workCenterName", packBean);
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtils.isEmpty(workCenter.getAreaCode())) {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenter.getAreaCode(), "areaCode", packBean);
|
|
|
|
|
}
|
|
|
|
|
return workCenterRepository.findByHqlWhere(packBean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MesWorkCenter> queryMesWorkCenterByOrg(String org) {
|
|
|
|
|
return workCenterRepository.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID},
|
|
|
|
|
new Object[]{org, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue()});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCenter updateMesWorkCenter(MesWorkCenter workCenter) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesWorkCenter workCenterDb = workCenterRepository.getById(workCenter.getId());
|
|
|
|
|
if (workCenterDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("区域代码为【%s】,生产线代码为【%s】的记录不存在", workCenter.getAreaCode(), workCenter.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workCenterDb.setWorkCenterName(workCenter.getWorkCenterName());
|
|
|
|
|
workCenterDb.setErpWorkCenter(workCenter.getErpWorkCenter());
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelUpdate(workCenterDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return workCenterRepository.save(workCenterDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesCenterStatusById(Long id, int status, String userName) {
|
|
|
|
|
MesWorkCenter mesWorkCenter = workCenterRepository.getById(id);
|
|
|
|
|
if (null == mesWorkCenter || (null != mesWorkCenter && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesWorkCenter.getIsDeleted())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线不存在")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
//启用生产线时,校验区域是否有效
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.VAILD.getValue() == status) {
|
|
|
|
|
MesArea mesArea = areaRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, "areaCode"},
|
|
|
|
|
new Object[]{mesWorkCenter.getOrganizeCode(), mesWorkCenter.getAreaCode()});
|
|
|
|
|
if (null == mesArea || (null != mesArea && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesArea.getIsDeleted())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码【%s】所属区域不存在,该生产线不能启用", mesWorkCenter.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.INVAILD.getValue() == mesArea.getIsValid()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码【%s】所属区域已禁用,该生产线不能启用", mesWorkCenter.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//禁用生产线时,校验工位是否全部禁用
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.INVAILD.getValue() == status) {
|
|
|
|
|
List<MesWorkCell> mesWorkCellList = workCellRepository.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "workCenterCode"},
|
|
|
|
|
new Object[]{mesWorkCenter.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), mesWorkCenter.getWorkCenterCode()});
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesWorkCellList)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码【%s】下存在未禁用的工位,该生产线不能禁用", mesWorkCenter.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workCenterRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesWorkCell> queryWorkCellByPager(MesWorkCell mesWorkCell, Pager pager) {
|
|
|
|
|
//Map<String, String> workCellTypeEnumMap = enumService.getEnumLangeuageKeyByClazzEnum(MesEnumUtil.MES_WORK_CELL_TYPE.class);
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesWorkCell(mesWorkCell, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
//hqlPack.setOrderByStr(mesWorkCell.orderBy());
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{"1"}, new String[]{"seq", "workCellCode"}, hqlPack);
|
|
|
|
|
List<MesWorkCell> workCells = workCellRepository.findByHqlWherePage(hqlPack, pager);
|
|
|
|
|
|
|
|
|
|
return new ListPager(workCells, pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public List<MesWorkCell> queryMesWorkCellByProperties(MesWorkCell workCell) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workCell.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCell.getWorkCenterCode(), "workCenterCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(workCell.getWorkCellCode(), "workCellCode", packBean);
|
|
|
|
|
DdlPreparedPack.getStringLikerPack(workCell.getWorkCellName(), "workCellName", packBean);
|
|
|
|
|
packBean.setOrderByStr(workCell.orderBy());
|
|
|
|
|
List<MesWorkCell> workCells = workCellRepository.findByHqlWhere(packBean);
|
|
|
|
|
|
|
|
|
|
return workCells;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCell updateMesWorkCell(MesWorkCell workCell) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesWorkCell workCellDb = workCellRepository.getById(workCell.getId());
|
|
|
|
|
if (workCellDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("区域代码为【%s】,生产线代码为【%s】,工位代码为【%s】的记录不存在",
|
|
|
|
|
workCell.getAreaCode(), workCell.getWorkCenterCode(), workCell.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
/*if (MesEnumUtil.MES_WORK_CELL_TYPE.REWORK.getValue() == workCell.getWorkCellType()) {
|
|
|
|
|
MesWorkCell mesWorkCell = workCellRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "workCenterCode", "workCellType"},
|
|
|
|
|
new Object[]{workCell.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCell.getWorkCenterCode(), workCell.getWorkCellType()});
|
|
|
|
|
if (mesWorkCell != null && !mesWorkCell.getId().equals(workCellDb.getId())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("工位代码为【%s】,工位类型为【%s】的记录已存在", mesWorkCell.getWorkCellCode(), MesEnumUtil.MES_WORK_CELL_TYPE.valueOfDescription(workCell.getWorkCellType()))
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
workCellDb.setSeq(workCell.getSeq());
|
|
|
|
|
workCellDb.setWorkCellName(workCell.getWorkCellName());
|
|
|
|
|
workCellDb.setGrade(workCell.getGrade());
|
|
|
|
|
ConvertBean.serviceModelUpdate(workCellDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return workCellRepository.save(workCellDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesCellStatusById(Long id, int status, String userName) {
|
|
|
|
|
MesWorkCell mesWorkCell = workCellRepository.getById(id);
|
|
|
|
|
if (null == mesWorkCell || (null != mesWorkCell && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesWorkCell.getIsDeleted())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("工位不存在")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
//启用工位时,校验生产线是否有效
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.VAILD.getValue() == status) {
|
|
|
|
|
MesWorkCenter mesWorkCenter = workCenterRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, "workCenterCode"},
|
|
|
|
|
new Object[]{mesWorkCell.getOrganizeCode(), mesWorkCell.getWorkCenterCode()});
|
|
|
|
|
if (null == mesWorkCenter || (null != mesWorkCenter && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == mesWorkCenter.getIsDeleted())) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工位代码【%s】所属生产线不存在,该工位不能启用", mesWorkCell.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (CommonEnumUtil.IS_VAILD.INVAILD.getValue() == mesWorkCenter.getIsValid()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工位代码【%s】所属生产线已禁用,该工位不能启用", mesWorkCell.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workCellRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesWorkCellParam> queryMesWorkCellParamByPager(MesWorkCellParam workCellParam, Pager pager) {
|
|
|
|
|
|
|
|
|
|
if (workCellParam == null) {
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellParamRepository.listCount());
|
|
|
|
|
return new ListPager(workCellParamRepository.listPager(pager), pager);
|
|
|
|
|
} else {
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesWorkCellParam(workCellParam, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellParamRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
hqlPack.setOrderByStr(workCellParam.orderBy());
|
|
|
|
|
List<MesWorkCellParam> workCellParams = workCellParamRepository.findByHqlWherePage(hqlPack, pager);
|
|
|
|
|
workCellParams = this.transferCodeToName(workCellParams);
|
|
|
|
|
return new ListPager(workCellParams, pager);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 冗余字段赋值用于导出
|
|
|
|
|
*
|
|
|
|
|
* @param workCellParams
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private List<MesWorkCellParam> transferCodeToName(List<MesWorkCellParam> workCellParams) {
|
|
|
|
|
for (MesWorkCellParam workCellParam : workCellParams) {
|
|
|
|
|
if (!StringUtils.isEmpty(workCellParam.getParamType())) {
|
|
|
|
|
workCellParam.setParamTypeName(MesEnumUtil.MES_WORK_CELL_PARAM_TYPE.valueOfDescription(workCellParam.getParamType()));
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtil.isEmpty(workCellParam.getParamModel())) {
|
|
|
|
|
workCellParam.setParamModelName(MesEnumUtil.MES_WORK_CELL_PARAM_MODEL.valueOfDescription(workCellParam.getParamModel()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return workCellParams;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellParam insertMesWorkCellParam(MesWorkCellParam workCellParam) {
|
|
|
|
|
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesWorkCellParam workCellParamDb = workCellParamRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, "paramCode"},
|
|
|
|
|
new Object[]{workCellParam.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), workCellParam.getParamCode()});
|
|
|
|
|
|
|
|
|
|
if (null != workCellParamDb) {
|
|
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("参数代码为【%s】的记录已存在", workCellParam.getParamCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workCellParamRepository.insert(workCellParam);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellParam updateMesWorkCellParam(MesWorkCellParam workCellParam) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesWorkCellParam workCellParamDb = workCellParamRepository.getById(workCellParam.getId());
|
|
|
|
|
if (workCellParamDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("参数代码为【%s】的记录不存在", workCellParam.getParamCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workCellParamDb.setParamName(workCellParam.getParamName());
|
|
|
|
|
workCellParamDb.setParamType(workCellParam.getParamType());
|
|
|
|
|
workCellParamDb.setParamModel(workCellParam.getParamModel());
|
|
|
|
|
ConvertBean.serviceModelUpdate(workCellParamDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return workCellParamRepository.save(workCellParamDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesWorkCellParamStatusById(Long id, int status, String userName) {
|
|
|
|
|
|
|
|
|
|
return workCellParamRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesWorkCellParamCfg> queryMesWorkCellParamCfgByPager(MesWorkCellParamCfg workCellParamCfg, Pager pager) {
|
|
|
|
|
Map<String, String> workCellParamCfgIsCheckEnumMap = enumService.getEnumLangeuageKeyByClazzEnum(MesEnumUtil.MES_WORK_CELL_PARAM_CFG_IS_CHECK.class);
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesWorkCellParamCfg(workCellParamCfg, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellParamCfgRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
hqlPack.setOrderByStr(workCellParamCfg.orderBy());
|
|
|
|
|
List<MesWorkCellParamCfg> workCellParamCfgs = workCellParamCfgRepository.findByHqlWherePage(hqlPack, pager);
|
|
|
|
|
for (MesWorkCellParamCfg cellParamCfg : workCellParamCfgs) {
|
|
|
|
|
if (cellParamCfg.getIsCheck() != null && cellParamCfg.getIsCheck() != 0 && workCellParamCfgIsCheckEnumMap.containsKey(cellParamCfg.getIsCheck().toString())) {
|
|
|
|
|
cellParamCfg.setIsCheckName(LocaleUtils.getLocaleRes(workCellParamCfgIsCheckEnumMap.get(cellParamCfg.getIsCheck().toString())));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return new ListPager(workCellParamCfgs, pager);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellParamCfg insertMesWorkCellParamCfg(MesWorkCellParamCfg workCellParamCfg) {
|
|
|
|
|
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesWorkCellParamCfg workCellParamCfgDb = workCellParamCfgRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, "workCellCode", MesConstWords.IS_DELETED, "workCenterCode", "paramCode"},
|
|
|
|
|
new Object[]{workCellParamCfg.getOrganizeCode()
|
|
|
|
|
, workCellParamCfg.getWorkCellCode()
|
|
|
|
|
, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()
|
|
|
|
|
, workCellParamCfg.getWorkCenterCode()
|
|
|
|
|
, workCellParamCfg.getParamCode()});
|
|
|
|
|
|
|
|
|
|
if (null != workCellParamCfgDb) {
|
|
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("工位代码为【%s】,参数代码为【%s】的记录已存在", workCellParamCfg.getWorkCellCode(), workCellParamCfg.getParamCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workCellParamCfgRepository.insert(workCellParamCfg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellParamCfg updateMesWorkCellParamCfg(MesWorkCellParamCfg workCellParamCfg) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesWorkCellParamCfg workCellParamCfgDb = workCellParamCfgRepository.getById(workCellParamCfg.getId());
|
|
|
|
|
if (workCellParamCfgDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("工位代码为【%s】,参数代码为【%s】的记录不存在", workCellParamCfg.getWorkCellCode(), workCellParamCfg.getParamCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workCellParamCfgDb.setIsCheck(workCellParamCfg.getIsCheck());
|
|
|
|
|
workCellParamCfgDb.setParamName(workCellParamCfg.getParamName());
|
|
|
|
|
workCellParamCfgDb.setParamValue(workCellParamCfg.getParamValue());
|
|
|
|
|
ConvertBean.serviceModelUpdate(workCellParamCfgDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return workCellParamCfgRepository.save(workCellParamCfgDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName) {
|
|
|
|
|
|
|
|
|
|
return workCellParamCfgRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ListPager<MesWorkCellPoint> queryMesWorkCellPointByPager(MesWorkCellPoint workCellPoint, Pager pager) {
|
|
|
|
|
|
|
|
|
|
if (workCellPoint == null) {
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellPointRepository.listCount());
|
|
|
|
|
return new ListPager(workCellPointRepository.listPager(pager), pager);
|
|
|
|
|
} else {
|
|
|
|
|
DdlPackBean hqlPack = MesHqlPack.getMesWorkCellPoint(workCellPoint, AuthUtil.getOrganize().getOrganizeCode());
|
|
|
|
|
pager = PagerHelper.getPager(pager, workCellPointRepository.findByHqlWhereCount(hqlPack));
|
|
|
|
|
hqlPack.setOrderByStr(workCellPoint.orderBy());
|
|
|
|
|
return new ListPager(workCellPointRepository.findByHqlWherePage(hqlPack, pager), pager);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellPoint insertMesWorkCellPoint(MesWorkCellPoint workCellPoint) {
|
|
|
|
|
|
|
|
|
|
//唯一性校验
|
|
|
|
|
MesWorkCellPoint workCellPointDb = workCellPointRepository.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, "workCenterCode", "workCellCode", MesConstWords.IS_DELETED},
|
|
|
|
|
new Object[]{workCellPoint.getOrganizeCode(), workCellPoint.getWorkCenterCode(), workCellPoint.getWorkCellCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()});
|
|
|
|
|
|
|
|
|
|
if (null != workCellPointDb) {
|
|
|
|
|
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("产线代码为【%s】,工位代码为【%s】的记录已存在", workCellPoint.getWorkCenterCode(), workCellPoint.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workCellPointRepository.insert(workCellPoint);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkCellPoint updateMesWorkCellPoint(MesWorkCellPoint workCellPoint) {
|
|
|
|
|
|
|
|
|
|
//对id做有效性校验
|
|
|
|
|
MesWorkCellPoint workCellPointDb = workCellPointRepository.getById(workCellPoint.getId());
|
|
|
|
|
if (workCellPointDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("产线代码为【%s】,工位代码为【%s】的记录不存在", workCellPoint.getWorkCenterCode(), workCellPoint.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workCellPointDb.setQueueSeq(workCellPoint.getQueueSeq());
|
|
|
|
|
workCellPointDb.setQueueDetailSeq(workCellPoint.getQueueDetailSeq());
|
|
|
|
|
ConvertBean.serviceModelUpdate(workCellPointDb, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
|
|
|
|
|
return workCellPointRepository.save(workCellPointDb);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int updateMesWorkCellPointStatusById(Long id, int status, String userName) {
|
|
|
|
|
|
|
|
|
|
return workCellPointRepository.updateByProperties(new String[]{"id"}, new Object[]{id},
|
|
|
|
|
new String[]{MesConstWords.IS_VALID, "modifyUser", "modifyDatetime"},
|
|
|
|
|
new Object[]{status, userName, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
}
|