|
|
|
@ -8,6 +8,7 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesProdRuleSortCfgDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesProductionRecordDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderExtModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderSortReportModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
|
|
|
|
@ -135,6 +136,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesProdRuleSortCfgDao mesProdRuleSortCfgDao;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesPartProdGroupRepository mesPartProdGroupRao;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesWorkOrder queryMesWorkOrder(MesWorkOrder workOrder) {
|
|
|
|
|
|
|
|
|
@ -220,9 +224,26 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
MesPcnException.throwMesBusiException("产线【%s】不存在", mesWorkOrderDb.getWorkCenterCode());
|
|
|
|
|
}
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(mesWorkOrderDb);
|
|
|
|
|
MesProductVersion mesProductVersion = getProductVersion(mesWorkOrderDb.getOrganizeCode(), mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getProductVersion());
|
|
|
|
|
String bomVersion = mesProductVersion.getAlternativePartList();
|
|
|
|
|
String partProdGroupCode = mesWorkOrderDb.getPartProdGroupCode();
|
|
|
|
|
// partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom
|
|
|
|
|
if (!StringUtil.isEmpty(partProdGroupCode)) {
|
|
|
|
|
DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean);
|
|
|
|
|
List<MesPartProdGroup> mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1);
|
|
|
|
|
|
|
|
|
|
// 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找
|
|
|
|
|
if (!mesPartProdGroupList.isEmpty()) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0);
|
|
|
|
|
if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) {
|
|
|
|
|
log.info("基于默认BOM获取BOM");
|
|
|
|
|
bomVersion = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//物料+生产版本获取bom信息
|
|
|
|
|
List<MesBom> mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList());
|
|
|
|
|
List<MesBom> mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion);
|
|
|
|
|
|
|
|
|
|
LOGGER.info("产线:{} 零件:{}更新工单", mesWorkOrderDb.getWorkCenterCode(), mesWorkOrderDb.getPartNo());
|
|
|
|
|
//更新工单
|
|
|
|
@ -387,8 +408,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
List<MesBom> mesBoms = mesBomRDao.findByHqlWhere(ddlPackBean);
|
|
|
|
|
if (org.springframework.util.CollectionUtils.isEmpty(mesBoms)) {
|
|
|
|
|
LOGGER.info("物料{}生产版本{}对应bom信息不存在", partNo, bomVersion );
|
|
|
|
|
return mesBoms;
|
|
|
|
|
// MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion);
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion);
|
|
|
|
|
}
|
|
|
|
|
MesBom next = mesBoms.iterator().next();
|
|
|
|
|
//如果存在多个bomCode取最新的一个
|
|
|
|
@ -535,9 +555,26 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
return;
|
|
|
|
|
//throw new ImppBusiException(String.format("未找到匹配的加工单"));
|
|
|
|
|
}
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getProductVersion(organizeCode, productionRecord.getPartNo(), oldMesWorkOrder.getProductVersion());
|
|
|
|
|
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getProductVersion(oldMesWorkOrder.getOrganizeCode(), oldMesWorkOrder.getPartNo(), oldMesWorkOrder.getProductVersion());
|
|
|
|
|
String bomVersion = mesProductVersion.getAlternativePartList();
|
|
|
|
|
String partProdGroupCode = oldMesWorkOrder.getPartProdGroupCode();
|
|
|
|
|
// partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom
|
|
|
|
|
if (!StringUtil.isEmpty(partProdGroupCode)) {
|
|
|
|
|
DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(oldMesWorkOrder.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean);
|
|
|
|
|
List<MesPartProdGroup> mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1);
|
|
|
|
|
|
|
|
|
|
// 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找
|
|
|
|
|
if (!mesPartProdGroupList.isEmpty()) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0);
|
|
|
|
|
if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) {
|
|
|
|
|
log.info("基于默认BOM获取BOM");
|
|
|
|
|
bomVersion = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//查询物料信息
|
|
|
|
|
DdlPackBean ddlPackBeanPart = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(productionRecord.getPartNo(), "partNo", ddlPackBeanPart);
|
|
|
|
@ -546,7 +583,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
throw new ImppBusiException(String.format("物料【%s】信息不存在", productionRecord.getPartNo()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<MesBom> mesBoms = findBomList(organizeCode, mesPart, mesProductVersion.getAlternativePartList());
|
|
|
|
|
List<MesBom> mesBoms = findBomList(organizeCode, mesPart, bomVersion);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtils.isEmpty(mesBoms)) {
|
|
|
|
@ -572,7 +609,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
|
|
|
|
|
if (StringUtil.isEmpty(productionRecord.getWorkOrderNo())) {
|
|
|
|
|
//更新工单状态
|
|
|
|
|
if (oldMesWorkOrder.getReportedQty() >= oldMesWorkOrder.getQty()) {
|
|
|
|
|
if (reportQty >= oldMesWorkOrder.getQty()) {
|
|
|
|
|
propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
@ -1007,48 +1044,74 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doProductReport(MesWorkOrder mesWorkOrder, String userName) {
|
|
|
|
|
public void doProductReport(MesWorkOrderExtModel mesWorkOrder, String userName) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(mesWorkOrder.getId(),"id",packBean);
|
|
|
|
|
MesWorkOrder mesWorkOrderDb = mesWorkOrderRDao.getByProperty(packBean);
|
|
|
|
|
if (Objects.isNull(mesWorkOrderDb)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("工单id为【%s】工单信息不存在", mesWorkOrder.getId());
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrderDb.setDescription(mesWorkOrder.getDescription());
|
|
|
|
|
|
|
|
|
|
//查询物料信息
|
|
|
|
|
MesPart mesPart = iMesPartService.getMesPartByPartNo(mesWorkOrderDb.getPartNo(), mesWorkOrderDb.getOrganizeCode());
|
|
|
|
|
//查询产线信息
|
|
|
|
|
MesWorkCenter mesWorkCenter = getMesWorkCenter(mesWorkOrderDb);
|
|
|
|
|
//获取生产版本
|
|
|
|
|
MesProductVersion mesProductVersion = getProductVersion(mesWorkOrderDb.getOrganizeCode(),mesWorkOrderDb.getPartNo(),mesWorkOrderDb.getProductVersion());
|
|
|
|
|
String bomVersion = mesProductVersion.getAlternativePartList();
|
|
|
|
|
String partProdGroupCode = mesWorkOrderDb.getPartProdGroupCode();
|
|
|
|
|
// partProdGroupCode 不为空,查询的数据不为空,查询数据中的获取bom方式不为空且枚举是 基于默认BOM ,才bomversion = null 否则都是通过生产版本找bom
|
|
|
|
|
if (!StringUtil.isEmpty(partProdGroupCode)) {
|
|
|
|
|
DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", partProdBean);
|
|
|
|
|
List<MesPartProdGroup> mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1);
|
|
|
|
|
|
|
|
|
|
// 没有零件生产组用默认找生产版本、有的话找获取bom方式枚举,枚举是基于默认BOM 则直接找
|
|
|
|
|
if (!mesPartProdGroupList.isEmpty()) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = mesPartProdGroupList.get(0);
|
|
|
|
|
if (mesPartProdGroup.getEnableBomVersion() != null && mesPartProdGroup.getEnableBomVersion() == MesExtEnumUtil.ENABLE_BOM_VERSION.ENABLE_BOM_VERSION_2.getValue()) {
|
|
|
|
|
log.info("基于默认BOM获取BOM");
|
|
|
|
|
bomVersion = "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//物料+生产版本获取bom信息
|
|
|
|
|
List<MesBom> mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, mesProductVersion.getAlternativePartList());
|
|
|
|
|
mesWorkOrderDb.setReportedQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrderDb.getReportedQty()));
|
|
|
|
|
//更新工单状态
|
|
|
|
|
List<MesBom> mesBoms = findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion);
|
|
|
|
|
|
|
|
|
|
//汇报数量与未完成数量的修改 先给入参对象赋值, 下面没有报错的情况下再赋给工单DB对象
|
|
|
|
|
mesWorkOrder.setReportedQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrderDb.getReportedQty()));
|
|
|
|
|
double unCompleteQty = MathOperation.sub(mesWorkOrderDb.getQty(), mesWorkOrderDb.getReportedQty());
|
|
|
|
|
mesWorkOrderDb.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
|
|
|
|
|
if (mesWorkOrderDb.getReportedQty() > mesWorkOrderDb.getQty()) {
|
|
|
|
|
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
|
|
|
|
|
|
|
|
|
|
//更新工单状态
|
|
|
|
|
if (mesWorkOrder.getReportedQty() > mesWorkOrderDb.getQty()) {
|
|
|
|
|
// 以下则是超工单逻辑
|
|
|
|
|
// 如果产线中没有配置超工单,则直接阻断
|
|
|
|
|
if (!Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), mesWorkCenter.getIsCheckOrderQty())) {
|
|
|
|
|
MesPcnException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],且未配置超工单!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
|
|
|
|
|
MesPcnException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],且未配置超工单!", mesWorkOrderDb.getWorkOrderNo(), mesWorkOrderDb.getQty(), mesWorkOrderDb.getReportedQty());
|
|
|
|
|
}
|
|
|
|
|
// 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断
|
|
|
|
|
double rate = MathOperation.div((mesWorkOrderDb.getReportedQty() - mesWorkOrderDb.getQty()), mesWorkOrderDb.getQty());
|
|
|
|
|
double rate = MathOperation.div((mesWorkOrder.getReportedQty() - mesWorkOrderDb.getQty()), mesWorkOrderDb.getQty());
|
|
|
|
|
if (rate > MathOperation.div(mesWorkCenter.getOrderRate(), 100)) {
|
|
|
|
|
MesPcnException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), mesWorkCenter.getOrderRate());
|
|
|
|
|
MesPcnException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrderDb.getWorkOrderNo(), mesWorkOrderDb.getQty(), mesWorkOrderDb.getReportedQty(), mesWorkCenter.getOrderRate());
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
} else if (Objects.equals(mesWorkOrderDb.getReportedQty(), mesWorkOrderDb.getQty())) {
|
|
|
|
|
mesWorkOrderDb.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
} else if (Objects.equals(mesWorkOrder.getReportedQty(), mesWorkOrderDb.getQty())) {
|
|
|
|
|
mesWorkOrderDb.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
|
|
|
|
|
} else {
|
|
|
|
|
mesWorkOrderDb.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue());
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrderDb.setCompleteQty(mesWorkOrderDb.getReportedQty());
|
|
|
|
|
|
|
|
|
|
mesWorkOrderDb.setDescription(mesWorkOrder.getDescription());
|
|
|
|
|
mesWorkOrderDb.setReportedQty(mesWorkOrder.getReportedQty());
|
|
|
|
|
mesWorkOrderDb.setUnCompleteQty(mesWorkOrder.getUnCompleteQty());
|
|
|
|
|
mesWorkOrderDb.setRemark(mesWorkOrder.getRemark());
|
|
|
|
|
|
|
|
|
|
mesWorkOrderDb.setCompleteQty(mesWorkOrderDb.getReportedQty());
|
|
|
|
|
|
|
|
|
|
String sn = getReportSn(mesWorkOrder.getOrganizeCode(), userName, mesPart);
|
|
|
|
|
//更新工单
|
|
|
|
|
updateMesWorkOrder(mesWorkOrderDb, userName,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT,mesWorkOrder.getNum());
|
|
|
|
|
updateMesWorkOrder(mesWorkOrderDb, userName, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT, mesWorkOrder.getNum());
|
|
|
|
|
//记录条码表&加工记录表
|
|
|
|
|
//insertMesProductionRecord(insertMesProduceSn(mesPart, sn, userName, mesWorkOrder),mesWorkOrderDb);
|
|
|
|
|
insertMesProduceSn(mesPart, sn, userName, mesWorkOrder);
|
|
|
|
@ -1056,9 +1119,9 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
if (Objects.isNull(mesWorkOrderDb.getOrderFlag()) || !MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue().equals(mesWorkOrderDb.getOrderFlag())) {
|
|
|
|
|
//保存数据
|
|
|
|
|
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
|
|
|
|
|
String nowTime = StringUtil.isEmpty(mesWorkOrder.getDescription())?TimeTool.getNowTime(true):mesWorkOrder.getDescription();
|
|
|
|
|
String nowTime = StringUtil.isEmpty(mesWorkOrder.getDescription()) ? TimeTool.getNowTime(true) : mesWorkOrder.getDescription();
|
|
|
|
|
for (MesBom mesBom : mesBoms) {
|
|
|
|
|
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, nowTime,mesBoms.size()));
|
|
|
|
|
mesProductOffLineList.add(creatMesProductOffLine(userName, mesWorkOrder, mesProductVersion, sn, mesBom, nowTime, mesBoms.size()));
|
|
|
|
|
}
|
|
|
|
|
mesProductOffLineRDao.saveAll(mesProductOffLineList);
|
|
|
|
|
}
|
|
|
|
@ -1085,7 +1148,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
|
|
|
|
|
String nowTime = TimeTool.getNowTime(true);
|
|
|
|
|
for (MesBom mesBom : mesBomList) {
|
|
|
|
|
mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, nowTime, mesBomList.size()));
|
|
|
|
|
mesProductOffLineList.add(creatMesProductOffLine(userName, mesWorkOrder, mesProductVersion, sn, mesBom, nowTime, mesBomList.size()));
|
|
|
|
|
}
|
|
|
|
|
mesProductOffLineRDao.saveAll(mesProductOffLineList);
|
|
|
|
|
}
|
|
|
|
@ -1241,8 +1304,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(mesWorkCenter)) {
|
|
|
|
|
LOGGER.info("产线【%s】不存在:{}", workCenterCode );
|
|
|
|
|
continue;
|
|
|
|
|
// MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode);
|
|
|
|
|
MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode);
|
|
|
|
|
}
|
|
|
|
|
MesWorkOrder item = new MesWorkOrder();
|
|
|
|
|
item.setOrganizeCode(organizeCode);
|
|
|
|
@ -1271,7 +1333,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean);
|
|
|
|
|
if (mesWorkOrderRDao.isExitByHql(orderPackBean)) {
|
|
|
|
|
LOGGER.info("产线【%s】单号流水码生成重复:{}", workCenterCode );
|
|
|
|
|
continue;
|
|
|
|
|
MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode);
|
|
|
|
|
}
|
|
|
|
|
item.setWorkOrderNo(orderNo);
|
|
|
|
|
item.setPartName(mesProductionRecord.getPartName());
|
|
|
|
@ -1325,7 +1387,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean);
|
|
|
|
|
if (Objects.isNull(mesProductVersion)) {
|
|
|
|
|
LOGGER.info("物料{}产线{}生产版本{}信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion() );
|
|
|
|
|
// MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
|
MesPcnException.throwMesBusiException("物料【%s】产线【%s】生产版本【%s】信息不存在", item.getPartNo(), item.getWorkCenterCode(), item.getProductVersion());
|
|
|
|
|
}
|
|
|
|
|
return mesProductVersion;
|
|
|
|
|
}
|
|
|
|
@ -1338,7 +1400,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
return syncFuncService.syncSerialNo(new GenSerialNoModel(MesCommonConstant.REPORT_SN).partSnParam(part.getPartSnParam()).organizeCode(organizeCode),userName, organizeCode, 1).getResultList().iterator().next().toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesProductOffLine creatMesProductOffLine(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion,
|
|
|
|
|
private MesProductOffLine creatMesProductOffLine(String userName, MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion,
|
|
|
|
|
String sn, MesBom mesBom, String nowTime,Integer bomTotalSize) {
|
|
|
|
|
MesProductOffLine newMesProductOffLine;
|
|
|
|
|
newMesProductOffLine = new MesProductOffLine();
|
|
|
|
@ -1365,7 +1427,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
|
|
|
|
|
newMesProductOffLine.setDescription(nowTime);
|
|
|
|
|
newMesProductOffLine.setBomTotalSize(bomTotalSize);
|
|
|
|
|
newMesProductOffLine.setBomCode(mesBom.getBomCode());
|
|
|
|
|
ConvertBean.serviceModelInitialize(newMesProductOffLine, mesWorkOrder.getCreateUser());
|
|
|
|
|
ConvertBean.serviceModelInitialize(newMesProductOffLine, userName);
|
|
|
|
|
return newMesProductOffLine;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|