基础主数据bug

tags/yfai-mes-ext-v1.0
微笑着面对明天 12 months ago
parent 64b565fc86
commit 971c719065

@ -0,0 +1,303 @@
package cn.estsh.i3plus.ext.mes.api.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.ProdOrgModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : jack.jia
* @CreateDate : 2019-04-11
* @Modify:
**/
public interface IProdExtOrgService {
/**
* MES
*
* @param organizeCode
* @return
*/
@ApiOperation(value = "查询MES组织模型数据返回树结构")
List queryMesDataTree(String organizeCode);
/**
* mes(线)
*
* @param prodOrgModel
* @return
*/
Object insertMesProdOrg(ProdOrgModel prodOrgModel);
/*************MES区域服务*****start***********/
/**
*
*
* @param mesArea
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询区域信息")
ListPager<MesArea> queryMesAreaByPager(MesArea mesArea, Pager pager);
/**
*
*
* @param mesArea
* @return
*/
@ApiOperation(value = "按条件查询区域所有数据")
List<MesArea> queryMesAreaByProperties(MesArea mesArea);
/**
*
*
* @param mesArea
* @return
*/
@ApiOperation(value = "更新区域", notes = "更新区域")
MesArea updateMesArea(MesArea mesArea);
/**
*
*
* @param id id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新区域状态")
int updateMesAreaStatusById(Long id, int status, String userName);
/*************MES区域服务*****end***********/
/*************MES生产线服务*****start***********/
/**
* 线
*
* @param mesWorkCenter 线
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询生产线信息")
ListPager<MesWorkCenter> queryWorkCenterByPager(MesWorkCenter mesWorkCenter, Pager pager);
/**
* 线
*
* @param workCenter 线
* @return
*/
@ApiOperation(value = "按条件查询生产线所有数据")
List<MesWorkCenter> queryMesWorkCenterByProperties(MesWorkCenter workCenter);
/**
* org线
*
* @param org
* @return 线
*/
@ApiOperation(value = "按org查询生产线所有数据")
List<MesWorkCenter> queryMesWorkCenterByOrg(String org);
/**
* 线
*
* @param workCenter 线
* @return 线
*/
@ApiOperation(value = "更新生产线信息", notes = "更新生产线信息")
MesWorkCenter updateMesWorkCenter(MesWorkCenter workCenter);
/**
* 线
*
* @param id 线id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新生产线状态")
int updateMesCenterStatusById(Long id, int status, String userName);
/*************MES生产线服务*****end***********/
/*************MES工位服务*****start***********/
/**
*
*
* @param mesWorkCell
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询工位信息")
ListPager<MesWorkCell> queryWorkCellByPager(MesWorkCell mesWorkCell, Pager pager);
/**
*
*
* @param workCell
* @return
*/
@ApiOperation(value = "按条件查询工位所有数据")
List<MesWorkCell> queryMesWorkCellByProperties(MesWorkCell workCell);
/**
*
*
* @param workCell
* @return
*/
@ApiOperation(value = "更新工位信息", notes = "更新工位信息")
MesWorkCell updateMesWorkCell(MesWorkCell workCell);
/**
*
*
* @param id id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新工位状态")
int updateMesCellStatusById(Long id, int status, String userName);
/*************MES工位服务*****end***********/
/*************MES工位参数服务*****start***********/
/**
*
*
* @param workCellParam
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询工位参数信息")
ListPager<MesWorkCellParam> queryMesWorkCellParamByPager(MesWorkCellParam workCellParam, Pager pager);
/**
*
*
* @param workCellParam
* @return
*/
@ApiOperation(value = "新增工位参数信息", notes = "新增工位参数信息")
MesWorkCellParam insertMesWorkCellParam(MesWorkCellParam workCellParam);
/**
*
*
* @param workCellParam
* @return
*/
@ApiOperation(value = "更新工位参数信息", notes = "更新工位参数信息")
MesWorkCellParam updateMesWorkCellParam(MesWorkCellParam workCellParam);
/**
* ()
*
* @param id id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新工位参数状态(启用、禁用)")
int updateMesWorkCellParamStatusById(Long id, int status, String userName);
/*************MES工位参数服务*****end***********/
/*************MES工位参数配置服务*****start***********/
/**
*
*
* @param workCellParamCfg
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询工位参数配置信息")
ListPager<MesWorkCellParamCfg> queryMesWorkCellParamCfgByPager(MesWorkCellParamCfg workCellParamCfg, Pager pager);
/**
*
*
* @param workCellParamCfg
* @return
*/
@ApiOperation(value = "新增工位参数配置信息", notes = "新增工位参数配置信息")
MesWorkCellParamCfg insertMesWorkCellParamCfg(MesWorkCellParamCfg workCellParamCfg);
/**
*
*
* @param workCellParamCfg
* @return
*/
@ApiOperation(value = "更新工位参数配置信息", notes = "更新工位参数配置信息")
MesWorkCellParamCfg updateMesWorkCellParamCfg(MesWorkCellParamCfg workCellParamCfg);
/**
* ()
*
* @param id id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新工位参数配置状态(启用、禁用)")
int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName);
/*************MES工位参数配置服务*****end***********/
/*************MES工位队列服务*****start***********/
/**
*
*
* @param workCellPoint
* @param pager
* @return
*/
@ApiOperation(value = "按条件分页查询工位队列信息")
ListPager<MesWorkCellPoint> queryMesWorkCellPointByPager(MesWorkCellPoint workCellPoint, Pager pager);
/**
*
*
* @param workCellPoint
* @return
*/
@ApiOperation(value = "新增工位队列信息", notes = "新增工位队列信息")
MesWorkCellPoint insertMesWorkCellPoint(MesWorkCellPoint workCellPoint);
/**
*
*
* @param workCellPoint
* @return
*/
@ApiOperation(value = "更新工位队列信息", notes = "更新工位队列信息")
MesWorkCellPoint updateMesWorkCellPoint(MesWorkCellPoint workCellPoint);
/**
* ()
*
* @param id id
* @param status
* @param userName
* @return
*/
@ApiOperation(value = "更新工位队列状态(启用、禁用)")
int updateMesWorkCellPointStatusById(Long id, int status, String userName);
/*************MES工位队列服务*****end***********/
}

@ -152,7 +152,7 @@ public abstract class BaseMesController<T extends BaseBean> extends BaseControll
@ApiOperation(value = "查询信息带分页", notes = "组合查询,外带分页功能")
public ResultBean<T> queryByPager(T bean, Pager pager) {
try {
bean.setOrganizeCode(AuthUtilExt.getOrganizeCode());
bean.setOrganizeCode("CK01");
ListPager<T> listPager = getBaseService().queryPager(bean, pager);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())

@ -1,8 +1,10 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWcEquipmentService;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCellService;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkCenterService;
import cn.estsh.i3plus.ext.mes.api.busi.IEquipmentExtService;
import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.api.iservice.base.IProdOrgService;
import cn.estsh.i3plus.mes.apiservice.util.MesCommConstWords;
@ -14,10 +16,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
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.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.ProdOrgExtModel;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -50,7 +49,7 @@ public class ExtProdOrgController extends MesBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(ExtProdOrgController.class);
@Autowired
private IProdOrgService prodOrgService;
private IProdExtOrgService prodOrgService;
@Autowired
private IEquipmentExtService mesEquipmentService;
@ -60,6 +59,8 @@ public class ExtProdOrgController extends MesBaseController {
@Autowired
private IMesWorkCellService mesWorkCellService;
@Autowired
private IMesWcEquipmentService mesWcEquipmentService;
@GetMapping(value = "/mes-data-tree/query")
@ApiOperation(value = "查询MES组织模型数据返回树结构")
@ -81,7 +82,7 @@ public class ExtProdOrgController extends MesBaseController {
ListPager listPager = null;
ProdOrgExtModel.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ProdOrgExtModel.setOrganizeCode("CK01");
//工厂
if (MesEnumUtil.PROD_ORG_LEVEL.LEVEL_ONE.getValue() == ProdOrgExtModel.getLevel()) {
@ -109,12 +110,12 @@ public class ExtProdOrgController extends MesBaseController {
//工位下的设备
if (MesEnumUtil.PROD_ORG_LEVEL.LEVEL_FOUR.getValue() <= ProdOrgExtModel.getLevel()) {
MesEquipment equipment = new MesEquipment();
MesWcEquipment equipment = new MesWcEquipment();
//这是用到的参数有id 必须使用org.springframework.beans.BeanUtils
//如果使用org.apache.commons.beanutils.BeanUtils当id为null会默认转化为0
BeanUtils.copyProperties(ProdOrgExtModel, equipment);
listPager = mesEquipmentService.queryMesEquipmentByPagerOrg(equipment, pager);
listPager = mesWcEquipmentService.queryPager(equipment, pager);
}
if (null == listPager) {
@ -194,7 +195,7 @@ public class ExtProdOrgController extends MesBaseController {
.build();
}
prodOrgService.updateMesAreaStatusById(id, status, AuthUtil.getSessionUser().getUserName(), AuthUtil.getOrganize().getOrganizeCode());
prodOrgService.updateMesAreaStatusById(id, status, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -214,7 +215,7 @@ public class ExtProdOrgController extends MesBaseController {
.notNull(MesCommConstWords.AREA_CODE, mesArea.getAreaCode())
.notNull(MesCommConstWords.AREA_NAME, mesArea.getAreaName());
prodOrgService.updateMesArea(mesArea, AuthUtil.getSessionUser().getUserName(), AuthUtil.getOrganize().getOrganizeCode());
prodOrgService.updateMesArea(mesArea);
return ResultBean.success("修改成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -304,7 +305,7 @@ public class ExtProdOrgController extends MesBaseController {
.build();
}
prodOrgService.updateMesCenterStatusById(id, status, AuthUtil.getSessionUser().getUserName(), AuthUtil.getOrganize().getOrganizeCode());
prodOrgService.updateMesCenterStatusById(id, status, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -377,7 +378,7 @@ public class ExtProdOrgController extends MesBaseController {
.build();
}
prodOrgService.updateMesCellStatusById(id, status, AuthUtil.getSessionUser().getUserName(), AuthUtil.getOrganize().getOrganizeCode());
prodOrgService.updateMesCellStatusById(id, status, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {

@ -0,0 +1,78 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.model.MesEquipmentModel;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wangjie
* @CreateDate : 2019-08-27
* @Modify:
**/
public interface IEquipmentExtDao {
/**
*
* @param mesEquipment
* @param pager
* @return
*/
List<MesEquipmentModel> queryMesEquipmentByPager(MesEquipment mesEquipment, Pager pager);
/**
*
* @param mesEquipment
* @return
*/
int queryMesEquipmentByPagerCount(MesEquipment mesEquipment);
/**
* -
* @param mesEquipment
* @param pager
* @return
*/
List<MesEquipmentModel> queryMesEquipmentByPagerOrg(MesEquipment mesEquipment, Pager pager);
/**
* -
* @param mesEquipment
* @return
*/
int queryMesEquipmentByPagerOrgCount(MesEquipment mesEquipment);
/**
* 线
* @param mesEquipment
* @return
*/
List<MesEquipmentModel> findMesEquipmentList(MesEquipment mesEquipment);
/**
* -
* @param mesEquipment
* @return
*/
List<MesEquipmentModel> queryMesEquipmentList(MesEquipment mesEquipment);
/**
* -
* @param mesEquipment
* @return
*/
List<MesEquipmentModel> queryMesEquipmentListByParams(MesEquipment mesEquipment);
/**
* 线
* @param organizeCode
* @param equipmentCode
* @return
*/
List<MesWorkCenter> getEquipmentWorkCenterCode(String organizeCode, String equipmentCode);
}

@ -0,0 +1,432 @@
package cn.estsh.i3plus.ext.mes.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IEquipmentExtDao;
import cn.estsh.i3plus.mes.apiservice.dao.IEquipmentDao;
import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.model.MesEquipmentModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : wangjie
* @CreateDate : 2019-04-12
* @Modify:
**/
@Service
public class EquipmentExtDao implements IEquipmentExtDao {
public static final Logger LOGGER = LoggerFactory.getLogger(EquipmentExtDao.class);
@Autowired
private EntityManager entityManager;
/**
*
* @param mesEquipment
* @param pager
* @return
*/
@Override
public List<MesEquipmentModel> queryMesEquipmentByPager(MesEquipment mesEquipment, Pager pager) {
StringBuffer hql = new StringBuffer();
hql.append(" select distinct new " + MesEquipmentModel.class.getName() + "(equ.id, equ.equipmentCode, equ.equipmentName, " +
" mwe.workCenterCode, mwc.areaCode, equ.equipmentType, " +
" equ.equipmentModel, equ.equipmentSpec, equ.equipmentMaker, equ.releaseDate, equ.receiveDate, equ.enableDate, equ.connectType, " +
" equ.organizeCode, equ.isValid, equ.isDeleted, equ.createUser, equ.createDatetime, equ.modifyUser, equ.modifyDatetime, equ.checkModel, equ.fixedAssetsNo) ");
hql.append(" from MesEquipment as equ ");
hql.append(" left join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid1 and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid1 and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
hql.append(" and equ.equipmentCode like :equipmentCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
hql.append(" and equ.equipmentName like :equipmentName ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
hql.append(" and mwc.areaCode = :areaCode ");
}
hql.append(" group by equ.id, equ.equipmentCode, equ.equipmentName, " +
" mwe.workCenterCode, mwc.areaCode, equ.equipmentType, equ.equipmentCategory, equ.memo, " +
" equ.equipmentModel, equ.equipmentSpec, equ.equipmentMaker, equ.releaseDate, equ.receiveDate, equ.enableDate, equ.connectType, " +
" equ.organizeCode, equ.isValid, equ.isDeleted, equ.createUser, equ.createDatetime, equ.modifyUser, equ.modifyDatetime, equ.checkModel, equ.fixedAssetsNo ");
hql.append(" order by equ.modifyDatetime desc ");
Query query = entityManager.createQuery(hql.toString(), MesEquipmentModel.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, mesEquipment.getIsValid());
query.setParameter("isValid1", CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
query.setParameter("equipmentCode", "%" + mesEquipment.getEquipmentCode() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
query.setParameter("equipmentName", "%" + mesEquipment.getEquipmentName() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
query.setParameter("areaCode", mesEquipment.getAreaCode());
}
query.setMaxResults(pager.getPageSize()); //设置获取的数量
if (pager.getCurrentPage() == 0) {
pager.setCurrentPage(1);
}
query.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
return query.getResultList();
}
/**
*
* @param mesEquipment
* @return
*/
@Override
public int queryMesEquipmentByPagerCount(MesEquipment mesEquipment) {
StringBuffer hql = new StringBuffer();
hql.append(" select count(distinct equ.id) from MesEquipment as equ ");
hql.append(" left join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid1 and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid1 and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
hql.append(" and equ.equipmentCode like :equipmentCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
hql.append(" and equ.equipmentName like :equipmentName ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
hql.append(" and mwc.areaCode = :areaCode ");
}
Query query = entityManager.createQuery(hql.toString(), Long.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, mesEquipment.getIsValid());
query.setParameter("isValid1", CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
query.setParameter("equipmentCode", "%" + mesEquipment.getEquipmentCode() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
query.setParameter("equipmentName", "%" + mesEquipment.getEquipmentName() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
query.setParameter("areaCode", mesEquipment.getAreaCode());
}
return ((Long) query.getSingleResult()).intValue();
}
/**
* -
* @param mesEquipment
* @param pager
* @return
*/
@Override
public List<MesEquipmentModel> queryMesEquipmentByPagerOrg(MesEquipment mesEquipment, Pager pager) {
StringBuffer hql = new StringBuffer();
hql.append(" select new " + MesEquipmentModel.class.getName() + "(mwe.id as wcId, equ.id, equ.equipmentCode, " +
" equ.equipmentName, mwe.workCenterCode, mwe.workCellCode, mwc.areaCode)");
hql.append(" from MesEquipment as equ ");
hql.append(" right join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid1 and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid1 ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
hql.append(" and mwe.equipmentCode like :equipmentCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
hql.append(" and equ.equipmentName like :equipmentName ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
hql.append(" and mwc.areaCode = :areaCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getId())) {
hql.append(" and mwe.id = :id ");
}
hql.append(" order by equ.modifyDatetime desc ");
Query query = entityManager.createQuery(hql.toString(), MesEquipmentModel.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, mesEquipment.getIsValid());
query.setParameter("isValid1", CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
query.setParameter("equipmentCode", "%" + mesEquipment.getEquipmentCode() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
query.setParameter("equipmentName", "%" + mesEquipment.getEquipmentName() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
query.setParameter("areaCode", mesEquipment.getAreaCode());
}
if (!StringUtils.isEmpty(mesEquipment.getId())) {
query.setParameter("id", mesEquipment.getId());
}
query.setMaxResults(pager.getPageSize()); //设置获取的数量
query.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
return query.getResultList();
}
/**
* -
* @param mesEquipment
* @return
*/
@Override
public int queryMesEquipmentByPagerOrgCount(MesEquipment mesEquipment) {
StringBuffer hql = new StringBuffer();
hql.append(" select count(equ.id) ");
hql.append(" from MesEquipment as equ ");
hql.append(" right join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid1 and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid1 ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
hql.append(" and mwe.equipmentCode like :equipmentCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
hql.append(" and equ.equipmentName like :equipmentName ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
hql.append(" and mwc.areaCode = :areaCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getId())) {
hql.append(" and mwe.id = :id ");
}
Query query = entityManager.createQuery(hql.toString(), Long.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, mesEquipment.getIsValid());
query.setParameter("isValid1", CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getEquipmentCode())) {
query.setParameter("equipmentCode", "%" + mesEquipment.getEquipmentCode() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getEquipmentName())) {
query.setParameter("equipmentName", "%" + mesEquipment.getEquipmentName() + "%");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
query.setParameter("areaCode", mesEquipment.getAreaCode());
}
if (!StringUtils.isEmpty(mesEquipment.getId())) {
query.setParameter("id", mesEquipment.getId());
}
return ((Long) query.getSingleResult()).intValue();
}
/**
* 线
* @param mesEquipment
* @return
*/
@Override
public List<MesEquipmentModel> findMesEquipmentList(MesEquipment mesEquipment) {
StringBuffer hql = new StringBuffer();
hql.append(" select new " + MesEquipmentModel.class.getName() + "(mwe.id as wcId, equ.id, equ.equipmentCode, " +
" equ.equipmentName, mwe.workCenterCode, mwe.workCellCode, mwc.areaCode)");
hql.append(" from MesEquipment as equ ");
hql.append(" right join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
hql.append(" order by equ.modifyDatetime desc ");
Query query = entityManager.createQuery(hql.toString(), MesEquipmentModel.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
return query.getResultList();
}
/**
* -
* @param mesEquipment
* @return
*/
@Override
public List<MesEquipmentModel> queryMesEquipmentList(MesEquipment mesEquipment) {
StringBuffer hql = new StringBuffer();
hql.append(" select new " + MesEquipmentModel.class.getName() + "(mwe.id, " +
" concat(equ.equipmentName, '(', mwc1.workCellName, ')') as equipmentNameAndworkCellName, " +
" equ.equipmentCode, equ.equipmentName, mwc.areaCode, mwe.workCenterCode, mwe.workCellCode)" );
hql.append(" from MesEquipment as equ ");
hql.append(" right join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid and mwc.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCell as mwc1 on (mwe.workCellCode = mwc1.workCellCode and mwc1.organizeCode = :organizeCode and " +
" mwc1.isValid = :isValid and mwc1.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
hql.append(" and mwc.areaCode = :areaCode ");
}
hql.append(" order by equ.modifyDatetime desc ");
Query query = entityManager.createQuery(hql.toString(), MesEquipmentModel.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
if (!StringUtils.isEmpty(mesEquipment.getAreaCode())) {
query.setParameter("areaCode", mesEquipment.getAreaCode());
}
return query.getResultList();
}
/**
* -
* @param mesEquipment
* @return
*/
@Override
public List<MesEquipmentModel> queryMesEquipmentListByParams(MesEquipment mesEquipment) {
StringBuffer hql = new StringBuffer();
hql.append(" select distinct new " + MesEquipmentModel.class.getName() + "(equ.id, equ.equipmentCode, equ.equipmentName, " +
" mwe.workCenterCode, equ.equipmentCategory, equ.modifyDatetime)" );
hql.append(" from MesEquipment as equ ");
hql.append(" left join MesWcEquipment as mwe on (equ.equipmentCode = mwe.equipmentCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" left join MesWorkCenter as mwc on (mwe.workCenterCode = mwc.workCenterCode and mwc.organizeCode = :organizeCode and " +
" mwc.isValid = :isValid and mwc.isDeleted = :isDeleted) ");
hql.append(" where equ.organizeCode = :organizeCode ");
hql.append(" and equ.isValid = :isValid ");
hql.append(" and equ.isDeleted = :isDeleted ");
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
hql.append(" and mwe.workCellCode = :workCellCode ");
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
hql.append(" and mwe.workCenterCode = :workCenterCode ");
}
hql.append(" order by equ.modifyDatetime desc ");
Query query = entityManager.createQuery(hql.toString(), MesEquipmentModel.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, mesEquipment.getOrganizeCode());
query.setParameter(MesConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
if (!StringUtils.isEmpty(mesEquipment.getWorkCellCode())) {
query.setParameter("workCellCode", mesEquipment.getWorkCellCode());
}
if (!StringUtils.isEmpty(mesEquipment.getWorkCenterCode())) {
query.setParameter("workCenterCode", mesEquipment.getWorkCenterCode());
}
return query.getResultList();
}
/**
* 线
* @param organizeCode
* @param equipmentCode
* @return
*/
@Override
public List<MesWorkCenter> getEquipmentWorkCenterCode(String organizeCode, String equipmentCode) {
StringBuffer hql = new StringBuffer();
hql.append(" select mwc from MesWorkCenter as mwc ");
hql.append(" left join MesWcEquipment as mwe on (mwc.workCenterCode = mwe.workCenterCode and mwe.organizeCode = :organizeCode and " +
" mwe.isValid = :isValid and mwe.isDeleted = :isDeleted) ");
hql.append(" where mwc.organizeCode = :organizeCode and mwe.equipmentCode = :equipmentCode");
Query query = entityManager.createQuery(hql.toString(), MesWorkCenter.class);
query.setParameter(MesConstWords.ORGANIZE_CODE, organizeCode);
query.setParameter(MesConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
query.setParameter(MesConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
query.setParameter("equipmentCode", equipmentCode);
return query.getResultList();
}
}

@ -115,7 +115,7 @@ public class MesWcEquipmentServiceImpl extends BaseMesService<MesWcEquipment> im
}
}
//校验设备是否已经绑定其他生产线
if (!mesWcEquipment.getWorkCenterCode().equals(wc.getWorkCenterCode())) {
if (wc.getId() !=mesWcEquipment.getId() && !mesWcEquipment.getWorkCenterCode().equals(wc.getWorkCenterCode())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode())

@ -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)});
}
}
Loading…
Cancel
Save