|  |  |  | @ -295,8 +295,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |         // 递归展开 BOM
 | 
		
	
		
			
				|  |  |  |  |         expendBomChild(organizeCode, mesPart.getPartNo(), bomVersion, bomData); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |         if (bomData.size() == 0) { | 
		
	
		
			
				|  |  |  |  |             MesPcnException.throwMesBusiException("零件号 %s 没找找到 ERP 同步的原始 BOM 数据,请检查接口是否正常!", mesPart.getPartNo()); | 
		
	
		
			
				|  |  |  |  |         if (bomData.isEmpty()) { | 
		
	
		
			
				|  |  |  |  |             throw new ImppBusiException(String.format("零件号 %s 没找找到 ERP 同步的原始 BOM 数据,请检查接口是否正常!",mesPart.getPartNo())); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |         Iterator<MesBom> iterator = bomData.iterator(); | 
		
	
	
		
			
				
					|  |  |  | @ -426,8 +426,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |             if (e instanceof ImppBusiException) { | 
		
	
		
			
				|  |  |  |  |                 msg = ((ImppBusiException) e).getErrorMsg(); | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |             e.printStackTrace(); | 
		
	
		
			
				|  |  |  |  |             LOGGER.error("条码:{}报工失败", productionRecord.getProductSn(), e); | 
		
	
		
			
				|  |  |  |  |             LOGGER.error("条码:{}报工失败,{}", productionRecord.getProductSn(), e.getMessage()); | 
		
	
		
			
				|  |  |  |  |             productionRecordService.updateProductionRecord(organizeCode, userName, productionRecord.getId(), msg); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
	
		
			
				
					|  |  |  | @ -460,8 +459,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |             if (e instanceof ImppBusiException) { | 
		
	
		
			
				|  |  |  |  |                 msg = ((ImppBusiException) e).getErrorMsg(); | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |             e.printStackTrace(); | 
		
	
		
			
				|  |  |  |  |             LOGGER.error("条码:{}报工失败", productionRecord.getProductSn(), e); | 
		
	
		
			
				|  |  |  |  |             LOGGER.error(String.format("条码:【%s】报工失败,原因:[%s]", productionRecord.getProductSn(), e.getMessage())); | 
		
	
		
			
				|  |  |  |  |             productionRecordService.updateProductionRecord(organizeCode, userName, productionRecord.getId(), msg); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -526,7 +524,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |         DdlPreparedPack.getStringEqualPack(productionRecord.getPartNo(), "partNo", ddlPackBeanPart); | 
		
	
		
			
				|  |  |  |  |         MesPart mesPart = mesPartRDao.getByProperty(ddlPackBeanPart); | 
		
	
		
			
				|  |  |  |  |         if (null == mesPart) { | 
		
	
		
			
				|  |  |  |  |             MesPcnException.throwMesBusiException("物料【%s】信息不存在", productionRecord.getPartNo()); | 
		
	
		
			
				|  |  |  |  |             throw new ImppBusiException(String.format("物料【%s】信息不存在", productionRecord.getPartNo())); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |         List<MesBom> mesBoms = findBomList(organizeCode, mesPart, mesProductVersion.getAlternativePartList()); | 
		
	
	
		
			
				
					|  |  |  | @ -697,13 +695,13 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |         DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); | 
		
	
		
			
				|  |  |  |  |         MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); | 
		
	
		
			
				|  |  |  |  |         if (Objects.isNull(mesWorkCenter)) { | 
		
	
		
			
				|  |  |  |  |             MesPcnException.throwMesBusiException("产线【%s】不存在", workCenterCode); | 
		
	
		
			
				|  |  |  |  |             throw new ImppBusiException(String.format("产线【%s】不存在",workCenterCode)); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |         List<MesShift> shiftList = mesShiftService.queryMesShift(organizeCode, workCenterCode); | 
		
	
		
			
				|  |  |  |  |         // 如果当前班次是早班
 | 
		
	
		
			
				|  |  |  |  |         if (CollectionUtils.isEmpty(shiftList)) { | 
		
	
		
			
				|  |  |  |  |             MesPcnException.throwFlowException(String.format("班次信息未维护,产线=%s"), workCenterCode); | 
		
	
		
			
				|  |  |  |  |             throw new ImppBusiException(String.format("班次信息未维护,产线=%s",workCenterCode)); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         List<MesShift> shifts = shiftList.stream().filter(mesShift -> Objects.equals(mesShift.getWorkCenterCode(), workCenterCode)).collect(Collectors.toList()); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
	
		
			
				
					|  |  |  | @ -1132,7 +1130,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { | 
		
	
		
			
				|  |  |  |  |     private MesProductVersion getProductVersion(String organizeCode,String partNo,String productVersion) { | 
		
	
		
			
				|  |  |  |  |         MesProductVersion mesProductVersion = mesProductVersionService.getMesProductVersion(organizeCode,partNo,productVersion); | 
		
	
		
			
				|  |  |  |  |         if (null == mesProductVersion) { | 
		
	
		
			
				|  |  |  |  |             MesPcnException.throwMesBusiException("物料【%s】生产版本【%s】信息不存在", partNo, productVersion); | 
		
	
		
			
				|  |  |  |  |             throw new ImppBusiException(String.format("物料【%s】生产版本【%s】信息不存在", partNo, productVersion)); | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         return mesProductVersion; | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
	
		
			
				
					|  |  |  | 
 |