|
|
@ -1,5 +1,6 @@
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesProductOffLineService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesProductOffLineService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService;
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService;
|
|
|
@ -61,6 +62,10 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
private MesShiftRepository mesShiftRDao;
|
|
|
|
private MesShiftRepository mesShiftRDao;
|
|
|
|
@Autowired
|
|
|
|
@Autowired
|
|
|
|
private MesProductPlanRepository mesProductPlanRDao;
|
|
|
|
private MesProductPlanRepository mesProductPlanRDao;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private IMesPartProdGroupService mesPartProdGroupService;
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
|
|
private MesCustomerPartRepository mesCustomerPartRDao;
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public MesWorkOrder insert(MesWorkOrder bean) {
|
|
|
|
public MesWorkOrder insert(MesWorkOrder bean) {
|
|
|
@ -84,15 +89,14 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//生成工单号
|
|
|
|
//生成工单号
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_SORT);
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
|
|
|
|
genSerialNoModel.setPartNo(bean.getPartNo());
|
|
|
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrder copyMesWorkOrder = new MesWorkOrder();
|
|
|
|
MesWorkOrder copyMesWorkOrder = new MesWorkOrder();
|
|
|
|
BeanUtils.copyProperties(bean, copyMesWorkOrder);
|
|
|
|
BeanUtils.copyProperties(bean, copyMesWorkOrder);
|
|
|
|
copyMesWorkOrder.setProduceSeq(produceSeq + 1);
|
|
|
|
copyMesWorkOrder.setProduceSeq(produceSeq + 1);
|
|
|
|
copyMesWorkOrder.setQty(1D);
|
|
|
|
copyMesWorkOrder.setQty(1D);
|
|
|
|
copyMesWorkOrder.setWorkOrderNo(resultList.get(0) + "_" + copyMesWorkOrder.getOrganizeCode());
|
|
|
|
copyMesWorkOrder.setWorkOrderNo(resultList.get(0));
|
|
|
|
ConvertBean.serviceModelInitialize(copyMesWorkOrder, bean.getCreateUser());
|
|
|
|
ConvertBean.serviceModelInitialize(copyMesWorkOrder, bean.getCreateUser());
|
|
|
|
|
|
|
|
|
|
|
|
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
|
|
|
|
MesWorkOrderLog workOrderLog = new MesWorkOrderLog();
|
|
|
@ -105,24 +109,22 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
return bean;
|
|
|
|
return bean;
|
|
|
|
} else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
|
|
|
|
} else if (bean.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
|
|
|
|
//生成工单号
|
|
|
|
//生成工单号
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_JIS_UN_SORT);
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
//生成工单号
|
|
|
|
//生成工单号
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO);
|
|
|
|
genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_ORDER_NO);
|
|
|
|
Integer produceSeq = 0;
|
|
|
|
Integer produceSeq = 0;
|
|
|
|
if (null != result && result.getProduceSeq() != null) {
|
|
|
|
if (null != result && result.getProduceSeq() != null) {
|
|
|
|
produceSeq = result.getProduceSeq();
|
|
|
|
produceSeq = result.getProduceSeq();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
bean.setProduceSeq(produceSeq + 1);
|
|
|
|
bean.setProduceSeq(produceSeq + 1);
|
|
|
|
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO_SEQ);
|
|
|
|
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO_SEQ);
|
|
|
|
orderSeqSerialNoModel.setPartNo(bean.getPartNo());
|
|
|
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
bean.setWorkOrderSeq(resultList.get(0));
|
|
|
|
bean.setWorkOrderSeq(resultList.get(0));
|
|
|
|
// bean.setOrderSeq(Integer.parseInt(resultList.get(0)));
|
|
|
|
// bean.setOrderSeq(Integer.parseInt(resultList.get(0)));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
genSerialNoModel.setPartNo(bean.getPartNo());
|
|
|
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel, bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList();
|
|
|
|
bean.setWorkOrderNo(resultList.get(0) + "_" + bean.getOrganizeCode());
|
|
|
|
bean.setWorkOrderNo(resultList.get(0));
|
|
|
|
bean.setQty(bean.getQty());
|
|
|
|
bean.setQty(bean.getQty());
|
|
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelInitialize(bean, bean.getCreateUser());
|
|
|
|
ConvertBean.serviceModelInitialize(bean, bean.getCreateUser());
|
|
|
@ -327,8 +329,17 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
MesException.throwMesBusiException("vin号【%s】重复", item.getVinCode());
|
|
|
|
MesException.throwMesBusiException("vin号【%s】重复", item.getVinCode());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//校验零件生产组信息
|
|
|
|
|
|
|
|
// MesPartProdGroupDetail mesPartProdGroupDetail = new MesPartProdGroupDetail();
|
|
|
|
|
|
|
|
// mesPartProdGroupDetail.setWorkCenterCode(item.getWorkCenterCode());
|
|
|
|
|
|
|
|
// mesPartProdGroupDetail.setPartNo(item.getPartNo());
|
|
|
|
|
|
|
|
// mesPartProdGroupDetail.setOrganizeCode(item.getOrganizeCode());
|
|
|
|
|
|
|
|
// List<MesPartProdGroup> mesPartProdGroup = mesPartProdGroupService.findMesPartProdGroup(mesPartProdGroupDetail);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//排序工单数量为1
|
|
|
|
//排序工单数量为1
|
|
|
|
item.setQty(1d);
|
|
|
|
item.setQty(1d);
|
|
|
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
|
|
|
|
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
|
|
|
|
} else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()) {
|
|
|
|
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getOrderFlag(), "标识不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getProductVersion(), "生产版本不能为空");
|
|
|
@ -345,9 +356,12 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
|
|
|
|
if (StringUtil.isEmpty(item.getPlanStartTime()) || StringUtil.isEmpty(item.getPlanEndTime())) {
|
|
|
|
packPlanTime(item);
|
|
|
|
packPlanTime(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(StringUtil.isEmpty(item.getCustomerPartNo())){
|
|
|
|
|
|
|
|
getCustomerPart(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
//校验物料生产版本是否存在
|
|
|
|
checkMesProductVersion(item, mesWorkCenter);
|
|
|
|
checkMesProductVersion(item, mesWorkCenter);
|
|
|
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanStartTime(), "计划开始时间不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
|
|
|
|
ValidatorBean.checkNotNull(item.getPlanEndTime(), "计划结束时间不能为空");
|
|
|
@ -356,16 +370,30 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(item, mesWorkCenter);
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
item.setProductVersion(mesProductVersion.getProductVersion());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(StringUtil.isEmpty(item.getCustomerPartNo())){
|
|
|
|
|
|
|
|
getCustomerPart(item);
|
|
|
|
|
|
|
|
}
|
|
|
|
//拼接
|
|
|
|
//拼接
|
|
|
|
// item.setPlanStartTime(item.getPlanStartTime() + " " + "00:00:00");
|
|
|
|
// item.setPlanStartTime(item.getPlanStartTime() + " " + "00:00:00");
|
|
|
|
// item.setPlanEndTime(item.getPlanEndTime() + " " + "23:59:59");
|
|
|
|
// item.setPlanEndTime(item.getPlanEndTime() + " " + "23:59:59");
|
|
|
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//物料名称不存在,从物料信息中获取
|
|
|
|
//物料名称不存在,从物料信息中获取
|
|
|
|
MesPart mesPart = iMesPartService.getPartByPartNo(item.getPartNo(), item.getOrganizeCode());
|
|
|
|
MesPart mesPart = iMesPartService.getPartByPartNo(item.getPartNo(), item.getOrganizeCode());
|
|
|
|
item.setPartNameRdd(mesPart.getPartName());
|
|
|
|
item.setPartNameRdd(mesPart.getPartName());
|
|
|
|
item.setUnit(mesPart.getUnit());
|
|
|
|
item.setUnit(mesPart.getUnit());
|
|
|
|
|
|
|
|
|
|
|
|
item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue());
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void getCustomerPart(MesWorkOrder item) {
|
|
|
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "erpPartNo", ddlPackBean);
|
|
|
|
|
|
|
|
MesCustomerPart customerPart = mesCustomerPartRDao.getByProperty(ddlPackBean);
|
|
|
|
|
|
|
|
if(!Objects.isNull(customerPart)){
|
|
|
|
|
|
|
|
item.setCustomerPartNo(customerPart.getCustomerPartNo());
|
|
|
|
|
|
|
|
item.setCustomerPartName(customerPart.getCustomerPartName());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void checkMesProductVersion(MesWorkOrder item, MesWorkCenter mesWorkCenter) {
|
|
|
|
private void checkMesProductVersion(MesWorkOrder item, MesWorkCenter mesWorkCenter) {
|
|
|
|