工艺参数完成 动态sql写入

tags/yfai-pcn-ext-v2.3
王杰 7 months ago
parent fdf8c283e8
commit 5ab9d9098b

@ -4,6 +4,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao; import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesEquipmentLogDao;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesEquipVariableCollectContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord;
@ -20,6 +21,7 @@ import javax.persistence.Query;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.StringJoiner;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@ -31,6 +33,17 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao {
@Autowired @Autowired
private EntityManager entityManager; private EntityManager entityManager;
private final static String TWO_S_APPEND = "%s_%s";
private final static String[] equipmentLogDetailFields = {MesPcnExtConstWords.ID, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
MesPcnExtConstWords.CREATE_USER, MesPcnExtConstWords.CREATE_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME,
MesPcnExtConstWords.DESCRIPTION, MesPcnExtConstWords.REMARK, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS,
MesPcnExtConstWords.AREA_CODE, MesPcnExtConstWords.WORK_CENTER_CODE, MesPcnExtConstWords.WORK_CELL_CODE, MesPcnExtConstWords.EQUIPMENT_CODE,
MesPcnExtConstWords.PROCESS_CODE, MesPcnExtConstWords.CRAFT_CODE, MesPcnExtConstWords.MOULD_RECORD_ID, MesPcnExtConstWords.EXTEND,
MesPcnExtConstWords.ORG_EQUIP_ID, MesPcnExtConstWords.EQUIP_ID, MesPcnExtConstWords.EQUIP_VARIABLE_ID, MesPcnExtConstWords.EQUIP_VARIABLE_NAME,
MesPcnExtConstWords.EQUIP_VARIABLE_DESC, MesPcnExtConstWords.READ_WRITE_FLAG, MesPcnExtConstWords.DATA_TYPE, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE,
MesPcnExtConstWords.VARIABLE_TYPE, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, MesPcnExtConstWords.QUALITY};
@Override @Override
public List<MesEquipVariableCollectContext> queryMesEquipmentLog(List<MesEquipmentVariable> equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) { public List<MesEquipVariableCollectContext> queryMesEquipmentLog(List<MesEquipmentVariable> equipmentVariableList, String organizeCode, Integer equipId, Integer variableType) {
@ -97,9 +110,9 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao {
Integer index = 0; Integer index = 0;
for (Map.Entry<Long, String> entry : equipmentLogIdMap.entrySet()) { for (Map.Entry<Long, String> entry : equipmentLogIdMap.entrySet()) {
if (null == entry) continue; if (null == entry) continue;
update.setParameter(String.format("%s_%s", MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus);
update.setParameter(String.format("%s_%s", MesPcnExtConstWords.ID, index), entry.getKey()); update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), entry.getKey());
update.setParameter(String.format("%s_%s", MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); update.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue());
index ++; index ++;
} }
@ -189,104 +202,85 @@ public class MesEquipmentLogDao implements IMesEquipmentLogDao {
} }
@Override @Override
public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord mesEquipmentRecord, List<MesEquipmentLog> equipmentLogList) { public void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, MesEquipmentRecord equipmentRecord, List<MesEquipmentLog> equipmentLogList) {
StringBuffer builder = new StringBuffer(); StringBuffer builder = new StringBuffer();
Integer index = 0;
for (MesEquipmentLog equipmentLog : equipmentLogList) { for (MesEquipmentLog equipmentLog : equipmentLogList) {
if (null == equipmentLog) continue; if (null == equipmentLog) continue;
builder.append(" insert into mes_equipment_log_");
if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(organizeCode.toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE);
builder.append(equipId);
builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,");
builder.append(" description, remark, system_sync_date_time, system_sync_status,");
builder.append(" area_code, work_center_code, work_cell_code, equipment_code, process_code, craft_code,");
builder.append(" mould_record_id, extend, org_equip_id, equip_id, equip_variable_id, equip_variable_name, equip_variable_desc,");
builder.append(" read_write_flag, data_type, equip_variable_value, variable_type, category_level_two, quality)");
builder.append(" values ( ");
for (int i = 0; i < equipmentLogDetailFields.length; i ++) {
if (StringUtils.isEmpty(equipmentLogDetailFields[i])) continue;
builder.append(MesPcnExtConstWords.COLON);
builder.append(equipmentLogDetailFields[i]);
builder.append(MesPcnExtConstWords.E_UNDERLINE);
builder.append(index);
if (i != equipmentLogDetailFields.length - 1) builder.append(" , ");
} }
builder.append(" );");
index ++;
}
Query insert = entityManager.createNativeQuery(builder.toString());
String nowTime = TimeTool.getNowTime(true);
String orgEquipId = new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(organizeCode).add(equipId.toString()).toString();
index = 0;
for (MesEquipmentLog equipmentLog : equipmentLogList) {
if (null == equipmentLog) continue;
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ID, index), equipmentLog.getId());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORGANIZE_CODE, index), organizeCode);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_VALID, index), CommonEnumUtil.IS_VAILD.VAILD.getValue());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.IS_DELETED, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_USER, index), userInfo);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CREATE_DATE_TIME, index), nowTime);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_USER, index), userInfo);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MODIFY_DATE_TIME, index), nowTime);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DESCRIPTION, index), null);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.REMARK, index), null);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, index), null);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.SYSTEM_SYNC_STATUS, index), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.AREA_CODE, index), equipmentRecord.getAreaCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CENTER_CODE, index), equipmentRecord.getWorkCenterCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.WORK_CELL_CODE, index), equipmentRecord.getWorkCellCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIPMENT_CODE, index), equipmentRecord.getEquipmentCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.PROCESS_CODE, index), equipmentRecord.getProcessCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CRAFT_CODE, index), equipmentRecord.getCraftCode());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.MOULD_RECORD_ID, index), equipmentRecord.getId());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EXTEND, index), equipmentRecord.getProduceSnJson());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.ORG_EQUIP_ID, index), orgEquipId);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_ID, index), equipId);
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_ID, index), equipmentLog.getEquipVariableId());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_NAME, index), equipmentLog.getEquipVariableName());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_DESC, index), equipmentLog.getEquipVariableDesc());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.READ_WRITE_FLAG, index), equipmentLog.getReadWriteFlag());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.DATA_TYPE, index), equipmentLog.getDataType());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.EQUIP_VARIABLE_VALUE, index), equipmentLog.getEquipVariableValue());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.VARIABLE_TYPE, index), equipmentLog.getVariableType());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.CATEGORY_LEVEL_TWO, index), equipmentLog.getCategoryLevelTwo());
insert.setParameter(String.format(TWO_S_APPEND, MesPcnExtConstWords.QUALITY, index), equipmentLog.getQuality());
index ++;
}
insert.executeUpdate();
// StringBuffer builder = new StringBuffer();
//
// builder.append(" insert into mes_work_cell_scan_monitor_log_");
// if (!StringUtils.isEmpty(mesShardingAppendOrg) && mesShardingAppendOrg.toUpperCase().equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.name())) builder.append(resultBean.getOrganizeCode().toLowerCase()).append(MesPcnExtConstWords.E_UNDERLINE);
// builder.append(resultBean.getWorkCenterCode().toLowerCase());
// builder.append("( id, organize_code, is_valid, is_deleted, create_user, create_date_time, modify_user, modify_date_time,");
// builder.append(" description, remark, system_sync_date_time, system_sync_status,");
// builder.append(" area_code, work_center_code, work_cell_code, equipment_code, equipment_name, process_code, process_name, craft_code, craft_name,");
// builder.append(" mould_record_id, scan_info, work_order_no, serial_number, product_sn, cust_sn, part_no, part_name,");
// builder.append(" step_code, log_type, message, message_type, deal_status, org_work_code)");
// builder.append(" values ( :id , :organizeCode , :isValid , :isDeleted , :createUser , :createDatetime , :modifyUser , :modifyDatetime ,");
// builder.append(" :description , :remark , :systemSyncDatetime , :systemSyncStatus ,");
// builder.append(" :areaCode , :workCenterCode , :workCellCode , :equipmentCode , :equipmentName , :processCode , :processName , :craftCode , :craftName ,");
// builder.append(" :mouldRecordId , :scanInfo , :workOrderNo , :serialNumber , :productSn , :custSn , :partNo , :partName ,");
// builder.append(" :stepCode , :logType , :message , :messageType , :dealStatus , :orgWorkCode )");
//
// Query insert = entityManager.createNativeQuery(builder.toString());
//
// insert.setParameter(MesPcnExtConstWords.ID, snowflakeIdMaker.nextId());
// insert.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, resultBean.getOrganizeCode());
// insert.setParameter(MesPcnExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue());
// insert.setParameter(MesPcnExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
// insert.setParameter(MesPcnExtConstWords.CREATE_USER, resultBean.getUserInfo());
// insert.setParameter(MesPcnExtConstWords.CREATE_DATE_TIME, TimeTool.getNowTime(true));
// insert.setParameter(MesPcnExtConstWords.MODIFY_USER, resultBean.getUserInfo());
// insert.setParameter(MesPcnExtConstWords.MODIFY_DATE_TIME, TimeTool.getNowTime(true));
// insert.setParameter(MesPcnExtConstWords.DESCRIPTION, null);
// insert.setParameter(MesPcnExtConstWords.REMARK, null);
// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_DATE_TIME, null);
// insert.setParameter(MesPcnExtConstWords.AREA_CODE, resultBean.getAreaCode());
// insert.setParameter(MesPcnExtConstWords.WORK_CENTER_CODE, resultBean.getWorkCenterCode());
// insert.setParameter(MesPcnExtConstWords.WORK_CELL_CODE, resultBean.getWorkCellCode());
// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_CODE, scanMonitorContext.getEquipmentCode());
// insert.setParameter(MesPcnExtConstWords.EQUIPMENT_NAME, scanMonitorContext.getEquipmentName());
// insert.setParameter(MesPcnExtConstWords.PROCESS_CODE, scanMonitorContext.getProcessCode());
// insert.setParameter(MesPcnExtConstWords.PROCESS_NAME, scanMonitorContext.getProcessName());
// insert.setParameter(MesPcnExtConstWords.CRAFT_CODE, scanMonitorContext.getCraftCode());
// insert.setParameter(MesPcnExtConstWords.CRAFT_NAME, scanMonitorContext.getCraftName());
// insert.setParameter(MesPcnExtConstWords.MOULD_RECORD_ID, scanMonitorContext.getMouldRecordId());
// insert.setParameter(MesPcnExtConstWords.SCAN_INFO, resultBean.getScanInfo());
// insert.setParameter(MesPcnExtConstWords.WORK_ORDER_NO, null);
// insert.setParameter(MesPcnExtConstWords.SERIAL_NUMBER, null);
// insert.setParameter(MesPcnExtConstWords.PRODUCT_SN, null);
// insert.setParameter(MesPcnExtConstWords.CUST_SN, null);
// insert.setParameter(MesPcnExtConstWords.PART_NO, null);
// insert.setParameter(MesPcnExtConstWords.PART_NAME, null);
// insert.setParameter(MesPcnExtConstWords.STEP_CODE, resultBean.getStepCode());
// insert.setParameter(MesPcnExtConstWords.LOG_TYPE, resultBean.getLogType());
// insert.setParameter(MesPcnExtConstWords.MESSAGE, resultBean.getMessage());
// insert.setParameter(MesPcnExtConstWords.MESSAGE_TYPE, MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_MESSAGE_TYPE.codeOfValue(resultBean.getDataType()));
// insert.setParameter(MesPcnExtConstWords.ORG_WORK_CODE, new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(resultBean.getOrganizeCode()).add(resultBean.getWorkCenterCode()).toString());
// //存在开模ID的记录延迟同步
// if (!StringUtils.isEmpty(scanMonitorContext.getMouldRecordId())) {
// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue());
// } else {
// insert.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
// insert.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue());
// }
//
// insert.executeUpdate();
} }

@ -16,8 +16,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLogDetail; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLogDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentRecord;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentLogRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRecordRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRecordRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
@ -36,7 +34,10 @@ import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.Query; import javax.persistence.Query;
import java.util.*; import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.StringJoiner;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -94,12 +95,13 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
MesEquipmentRecord mesEquipmentRecord =new MesEquipmentRecord(); MesEquipmentRecord mesEquipmentRecord =new MesEquipmentRecord();
BeanUtils.copyProperties(actorMessage, mesEquipmentRecord); BeanUtils.copyProperties(actorMessage, mesEquipmentRecord);
mesEquipmentRecord.setRecordStatus(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_10.getValue()); mesEquipmentRecord.setRecordStatus(MesExtEnumUtil.RECORD_STATUS.RECORD_STATUS_10.getValue());
mesEquipmentRecord.setId(snowflakeIdMaker.nextId()); mesEquipmentRecord.setId(!StringUtils.isEmpty(actorMessage.getMouldRecordId()) ? actorMessage.getMouldRecordId() : snowflakeIdMaker.nextId());
ConvertBean.serviceModelInitialize(mesEquipmentRecord, actorMessage.getUserName()); ConvertBean.serviceModelInitialize(mesEquipmentRecord, actorMessage.getUserName());
String key = getKey(mesEquipmentRecord); String key = getKey(mesEquipmentRecord);
equipmentLogList.forEach(equipLog -> redisMesPcn.putList(key, equipLog)); equipmentLogList.forEach(equipLog -> redisMesPcn.putList(key, equipLog));
//不能使用insert, 防止id偶发重复问题
mesEquipmentRecordRepository.save(mesEquipmentRecord); mesEquipmentRecordRepository.save(mesEquipmentRecord);
log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- KEY:{} --- 工艺参数:{}", log.info("工厂{}生产线{}工位{}:FSM STATE DISPATCHER --- DO STEP --- {} EXEC --- KEY:{} --- 工艺参数:{}",
@ -154,25 +156,6 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
insertBatchEquipmentLogDetail(organizeCode, optional.get().getEquipId(), userInfo, qty, mesEquipmentRecord, equipmentLogList); insertBatchEquipmentLogDetail(organizeCode, optional.get().getEquipId(), userInfo, qty, mesEquipmentRecord, equipmentLogList);
for (MesEquipmentLog mesEquipmentLog : equipmentLogList) {
MesEquipmentLogDetail mesEquipmentLogDetail = new MesEquipmentLogDetail();
BeanUtils.copyProperties(mesEquipmentLog, mesEquipmentLogDetail);
mesEquipmentLogDetail.setAreaCode(mesEquipmentRecord.getAreaCode());
mesEquipmentLogDetail.setCraftCode(mesEquipmentRecord.getCraftCode());
mesEquipmentLogDetail.setProcessCode(mesEquipmentRecord.getProcessCode());
mesEquipmentLogDetail.setWorkCenterCode(mesEquipmentRecord.getWorkCenterCode());
mesEquipmentLogDetail.setId(null);
mesEquipmentLogDetail.setCreateDatetime(null);
mesEquipmentLogDetail.setCreateUser(null);
mesEquipmentLogDetail.setOrgEquipId(mesEquipmentLogDetail.getOrganizeCode()+"_"+mesEquipmentLogDetail.getEquipId());
if (!StringUtils.isEmpty(mesEquipmentRecord.getProduceSnJson())) mesEquipmentLogDetail.setExtend(mesEquipmentRecord.getProduceSnJson());
ConvertBean.serviceModelInitialize(mesEquipmentLogDetail, "job");
mesEquipmentLogDetails.add(mesEquipmentLogDetail);
}
} }
private void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord, List<MesEquipmentLog> equipmentLogList) { private void insertBatchEquipmentLogDetail(String organizeCode, Integer equipId, String userInfo, Integer qty, MesEquipmentRecord mesEquipmentRecord, List<MesEquipmentLog> equipmentLogList) {
@ -181,15 +164,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
if (qty.compareTo(equipmentLogList.size()) >= 0) { if (qty.compareTo(equipmentLogList.size()) >= 0) {
equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, equipmentLogList); equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, equipmentLogList);
equipmentLogList = null; return;
} else { } else {
List<MesEquipmentLog> handleList = equipmentLogList.subList(0, qty); List<MesEquipmentLog> handleList = equipmentLogList.subList(0, qty);
equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, handleList); equipmentLogExtService.insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, mesEquipmentRecord, handleList);
equipmentLogList = equipmentLogList.subList(qty, equipmentLogList.size()); insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, qty, mesEquipmentRecord, equipmentLogList.subList(qty, equipmentLogList.size()));
} }
insertBatchEquipmentLogDetail(organizeCode, equipId, userInfo, qty, mesEquipmentRecord, equipmentLogList);
} }
@Override @Override

@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepServ
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesCellEquipContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesScanMonitorContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ActorMessage; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ActorMessage;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesOrderModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesOrderModel;
import cn.estsh.i3plus.mes.pcn.config.SpringExtProvider; import cn.estsh.i3plus.mes.pcn.config.SpringExtProvider;
@ -63,8 +64,12 @@ public class MesVariableWhenFinishedReadStepService extends BaseStepService {
// 获取上下文信息 // 获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.dispatchCurCellEquipment(reqBean); MesProductionProcessContext productionProcessContext = productionProcessContextStepService.dispatchCurCellEquipment(reqBean);
//获取上下文工位扫描监控信息
MesScanMonitorContext scanMonitorContext = productionProcessContextStepService.dispatchScanMonitorContext(reqBean, true);
// 获取条码信息 // 获取条码信息
List<MesProductionPsOutContext> mesProduceSnContexts = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean); List<MesProductionPsOutContext> mesProduceSnContexts = mesProductionDispatchContextStepService.getProductionPsOutContext(reqBean);
// 通过上下文获取工位设备信息 // 通过上下文获取工位设备信息
MesCellEquipContext curCellEquip = productionProcessContext.getCurCellEquip(); MesCellEquipContext curCellEquip = productionProcessContext.getCurCellEquip();
@ -85,6 +90,7 @@ public class MesVariableWhenFinishedReadStepService extends BaseStepService {
.processCode(reqBean.getProcessCode()) .processCode(reqBean.getProcessCode())
.produceSnJson(mesProduceSnsStr) .produceSnJson(mesProduceSnsStr)
.userName(reqBean.getUserInfo()) .userName(reqBean.getUserInfo())
.mouldRecordId(scanMonitorContext.getMouldRecordId())
.build(); .build();
// 数据采集信息需要存放到 redis中 // 数据采集信息需要存放到 redis中

@ -10,24 +10,38 @@ public class ActorMessage {
@ApiParam("用户名称") @ApiParam("用户名称")
private String userName; private String userName;
@ApiParam("组织代码") @ApiParam("组织代码")
private String organizeCode; private String organizeCode;
@ApiParam("组织名称") @ApiParam("组织名称")
private String organizeName; private String organizeName;
@ApiParam("工作中心代码") @ApiParam("工作中心代码")
private String workCenterCode; private String workCenterCode;
@ApiParam("工作单元代码")
@ApiParam("工位代码")
private String workCellCode; private String workCellCode;
@ApiParam("区域代码")
private String areaCode; private String areaCode;
@ApiParam("工艺代码")
private String craftCode; private String craftCode;
@ApiParam("工序代码")
private String processCode; private String processCode;
@ApiParam("条码信息JOSN")
private String produceSnJson; private String produceSnJson;
@ApiParam("设备代码")
private String equipmentCode; private String equipmentCode;
@ApiParam("设备ID")
private Integer equipId; private Integer equipId;
@ApiParam("开模记录ID")
private Long mouldRecordId;
} }

@ -81,6 +81,16 @@ public class MesPcnExtConstWords {
public static final String EQUIPMENT_NAME = "equipmentName"; public static final String EQUIPMENT_NAME = "equipmentName";
// 设备数据变量ID // 设备数据变量ID
public static final String EQUIP_VARIABLE_ID = "equipVariableId"; public static final String EQUIP_VARIABLE_ID = "equipVariableId";
// 设备数据变量名称
public static final String EQUIP_VARIABLE_NAME = "equipVariableName";
// 设备数据变量描述
public static final String EQUIP_VARIABLE_DESC = "equipVariableDesc";
// 读写标志
public static final String READ_WRITE_FLAG = "readWriteFlag";
// 数据类型
public static final String DATA_TYPE = "dataType";
// 设备质量
public static final String QUALITY = "quality";
// 设备ID // 设备ID
public static final String EQUIP_ID = "equipId"; public static final String EQUIP_ID = "equipId";
// 变量类型 // 变量类型
@ -195,10 +205,14 @@ public class MesPcnExtConstWords {
public static final String MESSAGE_TYPE = "messageType"; public static final String MESSAGE_TYPE = "messageType";
// 工厂_工作中心 // 工厂_工作中心
public static final String ORG_WORK_CODE = "orgWorkCode"; public static final String ORG_WORK_CODE = "orgWorkCode";
// 工厂_设备ID
public static final String ORG_EQUIP_ID = "orgEquipId";
// JOB // JOB
public static final String JOB = "JOB"; public static final String JOB = "JOB";
// 记录状态 // 记录状态
public static final String RECORD_STATUS = "recordStatus"; public static final String RECORD_STATUS = "recordStatus";
// 扩展字段
public static final String EXTEND = "extend";
// 时间格式 // 时间格式
public static final String DATE_FORMAT_SSS = "yyyy-MM-dd HH:mm:ss.SSS"; public static final String DATE_FORMAT_SSS = "yyyy-MM-dd HH:mm:ss.SSS";

Loading…
Cancel
Save