Merge remote-tracking branch 'origin/master'

master
赵嘉伟 4 years ago
commit cc9831e801

@ -15,4 +15,6 @@ public class IntegrationTypeConstant {
public static final String DIS_ROUTER = "DIS_ROUTER"; public static final String DIS_ROUTER = "DIS_ROUTER";
public static final String SHOP_ORDER = "SHOP_ORDER"; public static final String SHOP_ORDER = "SHOP_ORDER";
public static final String ITEM_BATCH_RECEIVE = "ITEM_BATCH_RECEIVE"; public static final String ITEM_BATCH_RECEIVE = "ITEM_BATCH_RECEIVE";
public static final String REPORT_ORDER = "REPORT_ORDER";
} }

@ -52,10 +52,10 @@ public class CAPPAPIWebServiceImpl implements CAPPAPIWebService {
site = itemSyncRequest.getSITE(); site = itemSyncRequest.getSITE();
String item = itemSyncRequest.getITEM(); String item = itemSyncRequest.getITEM();
if (StringUtil.isBlank(site)) { if (StringUtil.isBlank(site)) {
throw BusinessException.build("参数【SITE】不能为空"); throw BusinessException.build("站点不能为空");
} }
if (StringUtil.isBlank(item)) { if (StringUtil.isBlank(item)) {
throw BusinessException.build("参数【ITEM】不能为空"); throw BusinessException.build("物料编号不能为空");
} }
//调用业务接口 //调用业务接口

@ -79,16 +79,26 @@ public class InterfaceServiceImpl implements InterfaceService {
revision = StringUtil.notBlank(revision) ? revision : "A"; revision = StringUtil.notBlank(revision) ? revision : "A";
//物料描述 //物料描述
String itemDescription = itemSyncRequest.getMAKTX(); String itemDescription = itemSyncRequest.getMAKTX();
//计量单位
String unitOfMeasure = itemSyncRequest.getUNIT_OF_MEASURE();
//状态 //状态
String status = itemSyncRequest.getSTATUS(); String status = itemSyncRequest.getSTATUS();
if (!"201".equals(status) && !"202".equals(status) && !"203".equals(status) && !"204".equals(status) && !"205".equals(status)) {
throw BusinessException.build("物料状态可维护的值为201(可下达)、202(冻结)、203(作废)、204(保留)、205(新建)");
}
String statusBo = HandleEnum.STATUS.getHandle(site, status); String statusBo = HandleEnum.STATUS.getHandle(site, status);
//物料类型(FERT(已完成)/ROH(原始)/HALB(半成品)/KMAT(可配置)/INST(安装)/VERP(包装)/FHMI(生产资源/工具)/CSTM(自定义)) //物料类型(FERT(已完成)/ROH(原始)/HALB(半成品)/KMAT(可配置)/INST(安装)/VERP(包装)/FHMI(生产资源/工具)/CSTM(自定义))
String itemType = itemSyncRequest.getITEM_TYPE(); String itemType = itemSyncRequest.getITEM_TYPE();
if (!"FERT".equals(itemType) && !"ROH".equals(itemType) && !"HALB".equals(itemType)) {
throw BusinessException.build("物料类型可维护的值为FERT(已完成)、ROH(原始)、HALB(半成品)");
}
//采购类型(M(制造)/P(采购)/B(制造/采购)) //采购类型(M(制造)/P(采购)/B(制造/采购))
String procurementType = itemSyncRequest.getPROCUREMENT_TYPE(); String procurementType = itemSyncRequest.getPROCUREMENT_TYPE();
if (!"M".equals(procurementType) && !"P".equals(procurementType) && !"B".equals(procurementType)) { if (!"M".equals(procurementType) && !"P".equals(procurementType) && !"B".equals(procurementType)) {
throw BusinessException.build("参数【PROCUREMENT_TYPE】支持的值为【M、P、B】"); throw BusinessException.build("采购类型可维护的值为M(制造)、P(采购)、B(制造/采购)");
} }
//批次大小 //批次大小
String lotSize = itemSyncRequest.getLOT_SIZE(); String lotSize = itemSyncRequest.getLOT_SIZE();
lotSize = StringUtil.notBlank(lotSize) ? lotSize : "999999"; lotSize = StringUtil.notBlank(lotSize) ? lotSize : "999999";
@ -96,8 +106,6 @@ public class InterfaceServiceImpl implements InterfaceService {
String assyDataType = itemSyncRequest.getASSY_DATA_TYPE(); String assyDataType = itemSyncRequest.getASSY_DATA_TYPE();
//库存接收数据类型 //库存接收数据类型
String invAssyDataType = itemSyncRequest.getINV_ASSY_DATA_TYPE(); String invAssyDataType = itemSyncRequest.getINV_ASSY_DATA_TYPE();
//计量单位
String unitOfMeasure = itemSyncRequest.getUNIT_OF_MEASURE();
//物料标准API //物料标准API
ItemConfigurationServiceInterface itemServiceInterFace = MEServices.create("com.sap.me.productdefinition", "ItemConfigurationService", site); ItemConfigurationServiceInterface itemServiceInterFace = MEServices.create("com.sap.me.productdefinition", "ItemConfigurationService", site);
@ -118,6 +126,8 @@ public class InterfaceServiceImpl implements InterfaceService {
itemConfiguration.setUnitOfMeasurement(unitOfMeasure); itemConfiguration.setUnitOfMeasurement(unitOfMeasure);
itemConfiguration.setMaterialType(MaterialType.fromValue(itemType)); itemConfiguration.setMaterialType(MaterialType.fromValue(itemType));
String dataTypeBo = "DataTypeBO:" +site+ ",ASSEMBLY,INV_NAC";
itemConfiguration.setInventoryAssemblyDataTypeRef(dataTypeBo);
//物料描述赋值 //物料描述赋值
List<ItemTranslation> itemTranslationList = new ArrayList<>(); List<ItemTranslation> itemTranslationList = new ArrayList<>();
ItemTranslation itemTranslation = new ItemTranslation(); ItemTranslation itemTranslation = new ItemTranslation();
@ -521,34 +531,44 @@ public class InterfaceServiceImpl implements InterfaceService {
RouterStepDto routerStepDto = routerStepDtoList.get(i); RouterStepDto routerStepDto = routerStepDtoList.get(i);
String stepId = routerStepDto.getSTEP_ID(); String stepId = routerStepDto.getSTEP_ID();
String erpWorkCenter = routerStepDto.getOPERATION().trim(); String erpWorkCenter = routerStepDto.getOPERATION().trim();
if (StringUtil.isBlank(erpWorkCenter)) {
continue;
}
if (StringUtil.isBlank(entryRouterStep)) {
entryRouterStep = stepId;
}
//上一步骤添加当前步骤为下一步骤
if (i > 0) {
RouterNextStep routerNextStep = new RouterNextStep();
routerNextStep.setNextStepId(stepId);
routerStepList.get(i-1).getRouterNextStepList().add(routerNextStep);
}
String operation = null;
String operationBo = null;
if (StringUtil.isBlank(erpWorkCenter)) {
operation = (i == 0) ? "HJ01_6106GX" : "6106GX";
Operation operationModel = operationService.getCurrentRevisionRef(site, operation);
if (operationModel == null) {
throw BusinessException.build("工序编号【" +operation+ "】不存在");
}
operation = operationModel.getOperation();
operationBo = operationModel.getHandle();
} else {
/** if (StringUtil.isBlank(entryRouterStep)) {
* entryRouterStep = stepId;
* 1.ERP }
* 2.MES=_ERP
* 3.MES=MES //上一步骤添加当前步骤为下一步骤
*/ if (i > 0) {
Operation operationModel = operationService.queryOperationByErpWorkCenter(site, erpWorkCenter); RouterNextStep routerNextStep = new RouterNextStep();
if (operationModel == null) { routerNextStep.setNextStepId(stepId);
throw BusinessException.build("步骤标识【" +stepId+ "】下ERP工作中心【" +erpWorkCenter+"】对应的MES工序未维护"); routerStepList.get(i - 1).getRouterNextStepList().add(routerNextStep);
}
/**
*
* 1.ERP
* 2.MES=_ERP
* 3.MES=MES
*/
Operation operationModel = operationService.queryOperationByErpWorkCenter(site, erpWorkCenter);
if (operationModel == null) {
throw BusinessException.build("步骤标识【" + stepId + "】下ERP工作中心【" + erpWorkCenter + "】对应的MES工序未维护");
}
operation = operationModel.getOperation();
operationBo = operationModel.getHandle();
} }
String operation = operationModel.getOperation();
String operationBo = operationModel.getHandle();
//工艺路线步骤 //工艺路线步骤
RouterStep routerStep = new RouterStep(); RouterStep routerStep = new RouterStep();

@ -1,5 +1,6 @@
package com.foreverwin.mesnac.meapi.controller; package com.foreverwin.mesnac.meapi.controller;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.R; import com.foreverwin.modular.core.util.R;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -48,6 +49,7 @@ public class InventoryController {
public R getInventoryList(Inventory inventory){ public R getInventoryList(Inventory inventory){
List<Inventory> result; List<Inventory> result;
QueryWrapper<Inventory> queryWrapper = new QueryWrapper<>(); QueryWrapper<Inventory> queryWrapper = new QueryWrapper<>();
inventory.setSite(CommonMethods.getSite());
queryWrapper.setEntity(inventory); queryWrapper.setEntity(inventory);
result = inventoryService.list(queryWrapper); result = inventoryService.list(queryWrapper);
return R.ok(result); return R.ok(result);

@ -56,7 +56,7 @@ public class OperationServiceImpl extends ServiceImpl<OperationMapper, Operation
public Operation getCurrentRevisionRef(String site,String operation) { public Operation getCurrentRevisionRef(String site,String operation) {
Operation currentRevisionRef = operationMapper.getCurrentRevisionRef(site, operation); Operation currentRevisionRef = operationMapper.getCurrentRevisionRef(site, operation);
if (currentRevisionRef==null){ if (currentRevisionRef==null){
throw new BaseException("未找到工序的当前版本"); throw new BaseException("工序【" +operation+ "】的当前版本不存在");
} }
return currentRevisionRef; return currentRevisionRef;
} }

@ -223,7 +223,6 @@ public class PodTemplateServiceImpl implements PodTemplateService {
QueryWrapper<InspectionTask> queryWrapper=new QueryWrapper<>(); QueryWrapper<InspectionTask> queryWrapper=new QueryWrapper<>();
queryWrapper.eq(InspectionTask.CATEGORY,Constants.INSPECTION_TYPE_P); queryWrapper.eq(InspectionTask.CATEGORY,Constants.INSPECTION_TYPE_P);
queryWrapper.eq(InspectionTask.SFC,sfc); queryWrapper.eq(InspectionTask.SFC,sfc);
queryWrapper.ne(InspectionTask.STATUS,Constants.INSPECTION_TASK_STATUS_COMPLETE);
queryWrapper.ne(InspectionTask.RESULT,Constants.RSESULT_OK); queryWrapper.ne(InspectionTask.RESULT,Constants.RSESULT_OK);
List<InspectionTask> list = inspectionTaskService.list(queryWrapper); List<InspectionTask> list = inspectionTaskService.list(queryWrapper);
if (!list.isEmpty()) { if (!list.isEmpty()) {
@ -489,7 +488,7 @@ public class PodTemplateServiceImpl implements PodTemplateService {
IntegrationLog log = new IntegrationLog(); IntegrationLog log = new IntegrationLog();
log.setHandle(UUID.randomUUID().toString()); log.setHandle(UUID.randomUUID().toString());
log.setSite(CommonMethods.getSite()); log.setSite(CommonMethods.getSite());
log.setIntegrationType(IntegrationTypeConstant.ROUTER); log.setIntegrationType(IntegrationTypeConstant.REPORT_ORDER);
log.setCategory("REQUEST"); log.setCategory("REQUEST");
log.setIntegrationWay("ERP"); log.setIntegrationWay("ERP");
log.setIntegrationMethod("erpWebService.zmesProdordconf"); log.setIntegrationMethod("erpWebService.zmesProdordconf");

@ -143,7 +143,7 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
save(splitSfc); save(splitSfc);
String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo(); String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo();
Router routerBySfcBo = routerService.getRouterBySfcBo(HandleEnum.SFC.getHandle(site, sfc)); Router routerBySfcBo = routerService.getRouterBySfcBo(HandleEnum.SFC.getHandle(site, sfc));
sfcDispatchCommonService.saveSfcDispatch(site,CommonMethods.getUser(),StringUtil.trimHandle(workCenterBo),sfc, sfcData.getShopOrder(),routerBySfcBo.getHandle()); sfcDispatchCommonService.saveSfcDispatch(site,CommonMethods.getUser(),StringUtil.trimHandle(workCenterBo),newSfc, sfcData.getShopOrder(),routerBySfcBo.getHandle());
return splitSfc; return splitSfc;
} catch (Exception e) { } catch (Exception e) {
ExceptionUtil.throwException(e); ExceptionUtil.throwException(e);
@ -220,7 +220,8 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
dispositionSfcsRequest.setSfcs(sfcs); dispositionSfcsRequest.setSfcs(sfcs);
dispositionSfcsRequest.setBypassStepValidation(true); dispositionSfcsRequest.setBypassStepValidation(true);
DispositionSelection dispositionSelection=new DispositionSelection(); DispositionSelection dispositionSelection=new DispositionSelection();
dispositionSelection.setRouterRef(routerBo); Router maxRevisionRouter = routerService.getMaxRevisionRouter(site, StringUtil.trimHandle(routerBo));
dispositionSelection.setRouterRef(maxRevisionRouter.getHandle());
dispositionSfcsRequest.setDispositionSelection(dispositionSelection); dispositionSfcsRequest.setDispositionSelection(dispositionSelection);
dispositionSfcsRequest.setProdCtx(new ProductionContext()); dispositionSfcsRequest.setProdCtx(new ProductionContext());
ncProductionService.dispositionMultipleSfcs(dispositionSfcsRequest); ncProductionService.dispositionMultipleSfcs(dispositionSfcsRequest);
@ -236,7 +237,7 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
splitSfc.setCreatedDateTime(LocalDateTime.now()); splitSfc.setCreatedDateTime(LocalDateTime.now());
save(splitSfc); save(splitSfc);
String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo(); String workCenterBo = shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, sfcData.getShopOrder())).getPlannedWorkCenterBo();
sfcDispatchCommonService.saveSfcDispatch(site,CommonMethods.getUser(),StringUtil.trimHandle(workCenterBo),sfc, sfcData.getShopOrder(),routerBo); sfcDispatchCommonService.saveSfcDispatch(site,CommonMethods.getUser(),StringUtil.trimHandle(workCenterBo),newSfc, sfcData.getShopOrder(),routerBo);
return splitSfc; return splitSfc;
} catch (Exception e) { } catch (Exception e) {
ExceptionUtil.throwException(e); ExceptionUtil.throwException(e);

Loading…
Cancel
Save