tags/yfai-pcn-ext-v1.0
王杰 11 months ago
parent 1d6bd87867
commit dc2da6c5ba

@ -35,6 +35,9 @@ public interface IMesProductionRecordService {
@ApiOperation(value = "根据零件条码,物料编码,工序代码,工艺代码查询加工记录信息") @ApiOperation(value = "根据零件条码,物料编码,工序代码,工艺代码查询加工记录信息")
List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String processCode, String craftCode); List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String processCode, String craftCode);
@ApiOperation(value = "根据零件条码,物料编码,工序代码,工艺代码查询加工记录信息")
List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String craftCode);
void updateProductionRecord(String organizeCode, String userName, String sn); void updateProductionRecord(String organizeCode, String userName, String sn);
void updateProductionRecord(String organizeCode, String userName, String sn, String errorMsg); void updateProductionRecord(String organizeCode, String userName, String sn, String errorMsg);

@ -177,6 +177,15 @@ public class MesProductionRecordService implements IMesProductionRecordService {
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, processCode, craftCode}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, processCode, craftCode});
} }
@Override
public List<MesProductionRecord> findProductionRecordList(String organizeCode, String productSn, String partNo, String craftCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(productSn) || StringUtils.isEmpty(partNo) || StringUtils.isEmpty(craftCode)) return null;
return productionRecordRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.CRAFT_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), productSn, partNo, craftCode});
}
@Override @Override
public void updateProductionRecord(String organizeCode, String userName, String sn) { public void updateProductionRecord(String organizeCode, String userName, String sn) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);

@ -193,6 +193,15 @@ public class MesAssemblyGeneratePartNoStepService extends BaseStepService {
//匹配失败 //匹配失败
if (CollectionUtils.isEmpty(filterList)) continue; if (CollectionUtils.isEmpty(filterList)) continue;
//前道防错
if (!StringUtils.isEmpty(filterList.get(0).getProductSnId()) && !StringUtils.isEmpty(productionAssemblyNosortContext.getPreCraftCode())) {
if (CollectionUtils.isEmpty(productionRecordService.findProductionRecordList(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), productionAssemblyNosortContext.getPartNo(), productionAssemblyNosortContext.getPreCraftCode()))) {
stepResult.msg(String.format("%s%s", StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg(),
String.format("零件条码[%s]前道防错零件号[%s]工艺[%s]验证失败,未查询到加工记录信息!", equipVariableCollectContext.getEquipVariableValue(), productionAssemblyNosortContext.getPartNo(), productionAssemblyNosortContext.getPreCraftCode())));
continue;
}
}
//时效性验证 //时效性验证
if (!StringUtils.isEmpty(filterList.get(0).getProductSnId())) { if (!StringUtils.isEmpty(filterList.get(0).getProductSnId())) {
Map<String, Object> result = productionRecordService.checkSnTimeliness(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), filterList.get(0).getSourceId(), MesExtEnumUtil.TIME_DATA_SOURCE.DATA_SOURCE30.getValue()); Map<String, Object> result = productionRecordService.checkSnTimeliness(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), filterList.get(0).getSourceId(), MesExtEnumUtil.TIME_DATA_SOURCE.DATA_SOURCE30.getValue());

@ -185,6 +185,15 @@ public class MesAssemblyMatchNosortStepService extends BaseStepService {
//匹配失败 //匹配失败
if (CollectionUtils.isEmpty(filterList)) continue; if (CollectionUtils.isEmpty(filterList)) continue;
//前道防错
if (!StringUtils.isEmpty(filterList.get(0).getProductSnId()) && !StringUtils.isEmpty(productionAssemblyNosortContext.getPreCraftCode())) {
if (CollectionUtils.isEmpty(productionRecordService.findProductionRecordList(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), productionAssemblyNosortContext.getPartNo(), productionAssemblyNosortContext.getPreCraftCode()))) {
stepResult.msg(String.format("%s%s", StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg(),
String.format("零件条码[%s]前道防错零件号[%s]工艺[%s]验证失败,未查询到加工记录信息!", equipVariableCollectContext.getEquipVariableValue(), productionAssemblyNosortContext.getPartNo(), productionAssemblyNosortContext.getPreCraftCode())));
continue;
}
}
//时效性验证 //时效性验证
if (!StringUtils.isEmpty(filterList.get(0).getProductSnId())) { if (!StringUtils.isEmpty(filterList.get(0).getProductSnId())) {
Map<String, Object> result = productionRecordService.checkSnTimeliness(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), filterList.get(0).getSourceId(), MesExtEnumUtil.TIME_DATA_SOURCE.DATA_SOURCE30.getValue()); Map<String, Object> result = productionRecordService.checkSnTimeliness(reqBean.getOrganizeCode(), equipVariableCollectContext.getEquipVariableValue(), filterList.get(0).getSourceId(), MesExtEnumUtil.TIME_DATA_SOURCE.DATA_SOURCE30.getValue());

@ -12,7 +12,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesProductionAssembly;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult; import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesProductionAssemblyRepository; import cn.estsh.i3plus.pojo.mes.repository.MesProductionAssemblyRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -133,8 +132,8 @@ public class MesAssemblySaveNosortStepService extends BaseStepService {
productionAssembly.setCustSn(productionPsOutContext.getCustSn()); productionAssembly.setCustSn(productionPsOutContext.getCustSn());
} }
//TODO 赋开模记录ID MesScanMonitorContext scanMonitorContext = productionProcessContextStepService.doHandleScanMonitorContext(reqBean, true);
//productionAssembly.setMouldRecordId(); if (null != scanMonitorContext) productionAssembly.setMouldRecordId(scanMonitorContext.getMouldRecordId());
productionAssembly.setOrganizeCode(reqBean.getOrganizeCode()); productionAssembly.setOrganizeCode(reqBean.getOrganizeCode());
ConvertBean.serviceModelInitialize(productionAssembly, reqBean.getUserInfo()); ConvertBean.serviceModelInitialize(productionAssembly, reqBean.getUserInfo());

@ -3,7 +3,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob.BaseMesScheduleJob;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -111,16 +110,12 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
private void saveProductionRecordData(StationRequestBean reqBean, String mouldNo, List<MesProdRuleContext> prodRuleContextList, private void saveProductionRecordData(StationRequestBean reqBean, String mouldNo, List<MesProdRuleContext> prodRuleContextList,
MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<Integer, MesProdRuleContext> prMap, MesCellEquipContext cellEquipContext) { MesProductionProcessContext productionProcessContext, MesProductionPsOutContext productionPsOutContext, Map<Integer, MesProdRuleContext> prMap, MesCellEquipContext cellEquipContext) {
MesScanMonitorContext mesScanMonitorContext = productionProcessContextStepService.doHandleScanMonitorContext(reqBean, true);
MesProdRuleContext prodRuleContext = CollectionUtils.isEmpty(prMap) ? null : prMap.get(productionPsOutContext.getForeignKey()); MesProdRuleContext prodRuleContext = CollectionUtils.isEmpty(prMap) ? null : prMap.get(productionPsOutContext.getForeignKey());
MesProductionRecord productionRecord = new MesProductionRecord(); MesProductionRecord productionRecord = new MesProductionRecord();
BeanUtils.copyProperties(productionPsOutContext, productionRecord); BeanUtils.copyProperties(productionPsOutContext, productionRecord);
productionRecord.setMouldRecordId(mesScanMonitorContext.getMouldRecordId());
productionRecord.setStartDateTime(mesScanMonitorContext.getStartDateTime());
productionRecord.setMouldNo(mouldNo); productionRecord.setMouldNo(mouldNo);
productionRecord.setEquipmentCode(cellEquipContext.getEquipmentCode()); productionRecord.setEquipmentCode(cellEquipContext.getEquipmentCode());
productionRecord.setEquipmentName(cellEquipContext.getEquipmentName()); productionRecord.setEquipmentName(cellEquipContext.getEquipmentName());
@ -137,10 +132,11 @@ public class MesProductionRecordGenerateStepService extends BaseStepService {
productionRecord.setProcessCode(reqBean.getProcessCode()); productionRecord.setProcessCode(reqBean.getProcessCode());
productionRecord.setCraftCode(productionProcessContext.getCraftCode()); productionRecord.setCraftCode(productionProcessContext.getCraftCode());
//TODO 赋开模记录ID MesScanMonitorContext scanMonitorContext = productionProcessContextStepService.doHandleScanMonitorContext(reqBean, true);
//productionRecord.setMouldRecordId(); if (null != scanMonitorContext) {
//TODO 工序开始时间 productionRecord.setMouldRecordId(scanMonitorContext.getMouldRecordId());
//productionRecord.setStartDateTime(); productionRecord.setStartDateTime(scanMonitorContext.getStartDateTime());
}
productionRecord.setIsComplete(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); productionRecord.setIsComplete(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());

@ -67,6 +67,9 @@ public class MesProductionAssemblyContext implements Serializable {
@ApiParam(value = "音频文件") @ApiParam(value = "音频文件")
private Long audioFileId; private Long audioFileId;
@ApiParam("前道工艺代码")
private String preCraftCode;
@ApiParam("组织代码") @ApiParam("组织代码")
public String organizeCode; public String organizeCode;

@ -19,8 +19,8 @@ public class MesProductionAssemblySortContext extends MesProductionAssemblyConte
private static final long serialVersionUID = -1492128619505737538L; private static final long serialVersionUID = -1492128619505737538L;
@ApiParam(value = "生产工单号") @ApiParam(value = "零件条码")
public String workOrderNo; private String productSn;
@ApiParam(value = "工艺顺序号") @ApiParam(value = "工艺顺序号")
private Integer processSeq; private Integer processSeq;

Loading…
Cancel
Save