|
|
|
@ -1,11 +1,11 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IBaseMesService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentSpotCheckService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.busi.IMesSpotCheckOrderPartService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.busi.IMesSpotCheckOrderResultService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.busi.IMesSpotCheckOrderService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base.BaseMesService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
@ -62,6 +62,8 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
public MesSpotCheckOrder insert(MesSpotCheckOrder bean) {
|
|
|
|
|
onInsertBean(bean);
|
|
|
|
|
|
|
|
|
|
bean.setTaskResource(MesCommonConstant.SPOT_CHECK_ORDER_TASK_RESOURCE);
|
|
|
|
|
bean.setStatus(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue());
|
|
|
|
|
//查询点检方案 点检单点检方案 spotCheckId-id关联
|
|
|
|
|
MesEquipmentSpotCheck equipmentSpotCheck = equipmentSpotCheckService.get(bean.getSpotCheckId());
|
|
|
|
|
|
|
|
|
@ -73,9 +75,17 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (equipmentSpotCheck.getTriggerMode() == MesExtEnumUtil.EQUIPMENT_SPOT_CHECK_TRIGGER_MODE.TIME.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("【%s】点检方案触发方式为【%s】,请勿手动创建", bean.getSpotCheckId(), MesExtEnumUtil.EQUIPMENT_SPOT_CHECK_TRIGGER_MODE.TIME.getDescription())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查询点检明细 主表明细表 spotCheckId-pid关联
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumberBiggerEqualPack(bean.getSpotCheckId(), "pid", packBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(bean.getSpotCheckId(), "pid", packBean);
|
|
|
|
|
List<MesEquipmentSpotCheckDetail> detailList = equipmentSpotCheckDetailRepository.findByHqlWhere(packBean);
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(detailList)) {
|
|
|
|
@ -99,13 +109,13 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//生成单据号
|
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel();
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
// GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.SPOT_CHECK_ORDER_NO_RULE);
|
|
|
|
|
// List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
|
|
|
|
|
//保存单据
|
|
|
|
|
BeanUtils.copyProperties(equipmentSpotCheck, bean, "id");
|
|
|
|
|
bean.setSpotCheckOrderNo(resultList.get(0));
|
|
|
|
|
// ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
bean.setSpotCheckOrderNo("SPOT_CHECK_ORDER_NO_0002");
|
|
|
|
|
ConvertBean.serviceModelInitialize(bean, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
bean = baseRDao.insert(bean);
|
|
|
|
|
|
|
|
|
|
//保存单据明细
|
|
|
|
@ -115,6 +125,9 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
MesSpotCheckOrderResult result = new MesSpotCheckOrderResult();
|
|
|
|
|
BeanUtils.copyProperties(k, result, "id");
|
|
|
|
|
result.setPid(finalBean.getId());
|
|
|
|
|
result.setSpotCheckItemId(k.getId());
|
|
|
|
|
result.setTaskItemName(k.getSpotCheckItemName());
|
|
|
|
|
result.setSpotCheckStandardValue(k.getStandardValue());
|
|
|
|
|
ConvertBean.serviceModelInitialize(result, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
// ConvertBean.serviceModelInitialize(result, "LML");
|
|
|
|
|
spotCheckOrderResults.add(result);
|
|
|
|
@ -128,8 +141,8 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
MesSpotCheckOrderPart spotCheckOrderPart = new MesSpotCheckOrderPart();
|
|
|
|
|
spotCheckOrderPart.setSpotCheckOrderId(finalBean.getId());
|
|
|
|
|
BeanUtils.copyProperties(k, spotCheckOrderPart, "id");
|
|
|
|
|
// ConvertBean.serviceModelInitialize(spotCheckOrderPart, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
ConvertBean.serviceModelInitialize(spotCheckOrderPart, "LML");
|
|
|
|
|
ConvertBean.serviceModelInitialize(spotCheckOrderPart, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
// ConvertBean.serviceModelInitialize(spotCheckOrderPart, "LML");
|
|
|
|
|
spotCheckOrderPartList.add(spotCheckOrderPart);
|
|
|
|
|
});
|
|
|
|
|
spotCheckOrderPartService.insertBatch(spotCheckOrderPartList);
|
|
|
|
@ -146,6 +159,22 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
//获取点检单
|
|
|
|
|
MesSpotCheckOrder originBean = baseRDao.getById(bean.getId());
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(originBean)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("【%s】点检单不存在,请检查数据", bean.getId())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (originBean.getStatus() != MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("【%s】点检单状态为【%s】不允许修改,请检查数据", bean.getSpotCheckId(), MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.valueOfDescription(originBean.getStatus()))
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取点检单明细
|
|
|
|
|
DdlPackBean orderResultPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(bean.getId(), "pid", orderResultPackBean);
|
|
|
|
@ -159,7 +188,9 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
spotCheckOrderResultRepository.saveAll(oldOrderResultList);
|
|
|
|
|
|
|
|
|
|
//获取点检单零件号
|
|
|
|
|
List<MesSpotCheckOrderPart> oldOrderPartList = spotCheckOrderPartRepository.findByHqlWhere(orderResultPackBean);
|
|
|
|
|
DdlPackBean orderPartPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(bean.getId(), "spotCheckOrderId", orderPartPackBean);
|
|
|
|
|
List<MesSpotCheckOrderPart> oldOrderPartList = spotCheckOrderPartRepository.findByHqlWhere(orderPartPackBean);
|
|
|
|
|
|
|
|
|
|
//软删点检单零件号及条码
|
|
|
|
|
oldOrderPartList.forEach(k -> {
|
|
|
|
@ -179,6 +210,14 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (equipmentSpotCheck.getTriggerMode() == MesExtEnumUtil.EQUIPMENT_SPOT_CHECK_TRIGGER_MODE.TIME.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("【%s】点检方案触发方式为【%s】,请勿手动创建", bean.getSpotCheckId(), MesExtEnumUtil.EQUIPMENT_SPOT_CHECK_TRIGGER_MODE.TIME.getDescription())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取点检方案明细 主表明细表 spotCheckId-pid关联
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumberBiggerEqualPack(bean.getSpotCheckId(), "pid", packBean);
|
|
|
|
@ -240,6 +279,15 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
for (Long id : ids) {
|
|
|
|
|
MesSpotCheckOrder bean = baseRDao.getById(id);
|
|
|
|
|
if (StringUtils.isEmpty(bean)) continue;
|
|
|
|
|
|
|
|
|
|
if (bean.getStatus() != MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("【%s】点检单状态为【%s】不允许修改,请检查数据", bean.getSpotCheckId(), MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.valueOfDescription(bean.getStatus()))
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取点检方案明细
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumberBiggerEqualPack(bean.getSpotCheckId(), "pid", packBean);
|
|
|
|
@ -277,7 +325,7 @@ public class MesSpotCheckOrderService extends BaseMesService<MesSpotCheckOrder>
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("存在相同配置状态为【%s】 id:【%s】的点检单,请检查数据", MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getDescription(), bean.getSpotCheckId())
|
|
|
|
|
.setErrorDetail("存在相同配置状态为【%s】的点检单 id:【%s】,请检查数据", MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getDescription(), bean.getSpotCheckId())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|