diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesWorkCellScanMonitorLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesWorkCellScanMonitorLogDao.java index 349be76..219503c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesWorkCellScanMonitorLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesWorkCellScanMonitorLogDao.java @@ -1,12 +1,21 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.dao; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesScanMonitorContext; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import io.swagger.annotations.ApiOperation; +import java.util.List; + public interface IMesWorkCellScanMonitorLogDao { @ApiOperation(value = "写入工位扫描监控信息") void insertWorkCellScanMonitorLog(StationResultBean resultBean, MesScanMonitorContext scanMonitorContext); + @ApiOperation(value = "修改工位扫描监控信息") + Integer updateWorkCellScanMonitorLog(String organizeCode, String workCenterCode, String workCellCode, Long mouldRecordId); + + @ApiOperation(value = "修改工位扫描监控信息") + Integer updateWorkCellScanMonitorLog(String organizeCode, String workCenterCode, String userInfo, Long mouldRecordId, List productionPsOutContextList); + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesWorkCellScanMonitorLogDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesWorkCellScanMonitorLogDao.java index 9fb31a1..ed78dea 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesWorkCellScanMonitorLogDao.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesWorkCellScanMonitorLogDao.java @@ -2,9 +2,15 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl; import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesWorkCellScanMonitorLogDao; +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.util.MesPcnExtConstWords; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -12,7 +18,9 @@ import org.springframework.util.StringUtils; import javax.persistence.EntityManager; import javax.persistence.Query; -import java.util.Map; +import java.util.List; +import java.util.StringJoiner; +import java.util.stream.Collectors; @Service public class MesWorkCellScanMonitorLogDao implements IMesWorkCellScanMonitorLogDao { @@ -20,6 +28,9 @@ public class MesWorkCellScanMonitorLogDao implements IMesWorkCellScanMonitorLogD @Autowired private EntityManager entityManager; + @Autowired + private SnowflakeIdMaker snowflakeIdMaker; + @Override public void insertWorkCellScanMonitorLog(StationResultBean resultBean, MesScanMonitorContext scanMonitorContext) { @@ -42,47 +53,115 @@ public class MesWorkCellScanMonitorLogDao implements IMesWorkCellScanMonitorLogD 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(); } @Override - public void updateEquipVariableStatus(String organizeCode, Integer equipId, Map equipmentLogIdMap, Integer equipVariableStatus) { + public Integer updateWorkCellScanMonitorLog(String organizeCode, String workCenterCode, String workCellCode, Long mouldRecordId) { - if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipmentLogIdMap) || StringUtils.isEmpty(equipVariableStatus)) return; + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(workCellCode)) return MesPcnExtConstWords.ZERO; StringBuffer builder = new StringBuffer(); - for (int i = 0; i < equipmentLogIdMap.size(); i ++) { - - builder.append(" update mes_equipment_log_"); - builder.append(equipId); - builder.append(" set equip_variable_status = :equipVariableStatus_"); - builder.append(i); - builder.append(" where id = :id_"); - builder.append(i); - builder.append(" and modify_date_time = :modifyDatetime_"); - builder.append(i); - builder.append(" ;"); - - } + builder.append(" update mes_work_cell_scan_monitor_"); + builder.append(workCenterCode.toLowerCase()); + builder.append(" set system_sync_status = :systemSyncStatus , deal_status = :dealStatus1 "); + builder.append(" where organize_code = :organizeCode and deal_status = :dealStatus2 and work_cell_code = :workCellCode "); + if (!StringUtils.isEmpty(mouldRecordId)) builder.append(" and mould_record_id != :mouldRecordId "); Query update = entityManager.createNativeQuery(builder.toString()); - Integer index = 0; - for (Map.Entry entry : equipmentLogIdMap.entrySet()) { - if (null == entry) continue; - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, index), equipVariableStatus); - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.ID, index), entry.getKey()); - update.setParameter(String.format("%s_%s", MesPcnExtConstWords.MODIFY_DATE_TIME, index), entry.getValue()); - index ++; - } + update.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + update.setParameter("dealStatus1", MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()); - update.executeUpdate(); + update.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + update.setParameter("dealStatus2", MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue()); + update.setParameter(MesPcnExtConstWords.WORK_CELL_CODE, workCellCode); + if (!StringUtils.isEmpty(mouldRecordId)) update.setParameter(MesPcnExtConstWords.MOULD_RECORD_ID, mouldRecordId); + return update.executeUpdate(); } + @Override + public Integer updateWorkCellScanMonitorLog(String organizeCode, String workCenterCode, String userInfo, Long mouldRecordId, List productionPsOutContextList) { + + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(mouldRecordId) || CollectionUtils.isEmpty(productionPsOutContextList)) return MesPcnExtConstWords.ZERO; + String workOrderNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).map(MesProductionPsOutContext::getWorkOrderNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String serialNumber = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getSerialNumber()))).map(MesProductionPsOutContext::getSerialNumber).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String productSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProductSn()))).map(MesProductionPsOutContext::getProductSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String custSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getCustSn()))).map(MesProductionPsOutContext::getCustSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String partNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsOutContext::getPartNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + String partName = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartName()))).map(MesProductionPsOutContext::getPartName).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); + + StringBuffer builder = new StringBuffer(); + + builder.append(" update mes_work_cell_scan_monitor_"); + builder.append(workCenterCode.toLowerCase()); + builder.append(" set work_order_no = :workOrderNo , serial_number = :serialNumber , product_sn = :productSn , cust_sn = :custSn , part_no = :partNo , part_name = :partName ,"); + builder.append(" modify_user = :modifyUser , modify_date_time = :modifyDatetime , system_sync_status = :systemSyncStatus , deal_status = :dealStatus1 "); + builder.append(" where organize_code = :organizeCode and mould_record_id = :mouldRecordId "); + + Query update = entityManager.createNativeQuery(builder.toString()); + + update.setParameter(MesPcnExtConstWords.WORK_ORDER_NO, workOrderNo); + update.setParameter(MesPcnExtConstWords.SERIAL_NUMBER, serialNumber); + update.setParameter(MesPcnExtConstWords.PRODUCT_SN, productSn); + update.setParameter(MesPcnExtConstWords.CUST_SN, custSn); + update.setParameter(MesPcnExtConstWords.PART_NO, partNo); + update.setParameter(MesPcnExtConstWords.PART_NAME, partName); + update.setParameter(MesPcnExtConstWords.MODIFY_USER, userInfo); + update.setParameter(MesPcnExtConstWords.MODIFY_DATE_TIME, TimeTool.getNowTime(true)); + update.setParameter(MesPcnExtConstWords.SYSTEM_SYNC_STATUS, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + update.setParameter(MesPcnExtConstWords.DEAL_STATUS, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()); + + update.setParameter(MesPcnExtConstWords.ORGANIZE_CODE, organizeCode); + update.setParameter(MesPcnExtConstWords.MOULD_RECORD_ID, mouldRecordId); + + return update.executeUpdate(); + + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java index 67e8229..d348667 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/equiplog/MesWorkCellScanMonitorLogExtService.java @@ -2,23 +2,15 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesWorkCellScanMonitorLogDao; 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.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.swslog.ISwsWriteDbLogService; -import cn.estsh.i3plus.platform.common.convert.ConvertBean; -import cn.estsh.i3plus.platform.common.tool.TimeTool; -import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellScanMonitorLog; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; -import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellScanMonitorLogRepository; -import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -26,10 +18,8 @@ import org.springframework.util.StringUtils; import java.util.List; import java.util.Map; -import java.util.StringJoiner; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; -import java.util.stream.Collectors; @Slf4j @Service @@ -42,7 +32,7 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic private IMesEquipmentExtService equipmentExtService; @Autowired - private MesWorkCellScanMonitorLogRepository workCellScanMonitorLogRepository; + private IMesWorkCellScanMonitorLogDao workCellScanMonitorLogDao; private final static Map> cellMsg2RepeatMap = new ConcurrentHashMap(); @@ -62,30 +52,10 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic scanMonitorContext.setEquipmentName(null != wcEquipment ? wcEquipment.getEquipmentName() : null); } - MesWorkCellScanMonitorLog workCellScanMonitorLog = new MesWorkCellScanMonitorLog(); + if (null == scanMonitorContext) + log.info("工厂{}生产线{}工位{}: MesWorkCellScanMonitorLogExtService --- 上下文当前不存在工位扫描监控信息 --- {}", resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode(), resultBean.toWriteDbString()); - if (null != scanMonitorContext) BeanUtils.copyProperties(scanMonitorContext, workCellScanMonitorLog); - else log.info("工厂{}生产线{}工位{}: MesWorkCellScanMonitorLogExtService --- 上下文当前不存在工位扫描监控信息 --- {}", resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode(), resultBean.toWriteDbString()); - - BeanUtils.copyProperties(resultBean, workCellScanMonitorLog); - - workCellScanMonitorLog.setMessageType(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_MESSAGE_TYPE.codeOfValue(resultBean.getDataType())); - - workCellScanMonitorLog.setOrgWorkCode(new StringJoiner(MesPcnExtConstWords.E_UNDERLINE).add(workCellScanMonitorLog.getOrganizeCode()).add(workCellScanMonitorLog.getWorkCenterCode()).toString()); - - ConvertBean.serviceModelInitialize(workCellScanMonitorLog, resultBean.getUserInfo()); - workCellScanMonitorLog.setCreateDatetime(resultBean.getCreateDatetime()); - - //存在开模ID的记录延迟同步 - if (!StringUtils.isEmpty(workCellScanMonitorLog.getMouldRecordId())) { - workCellScanMonitorLog.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); - workCellScanMonitorLog.setDealStatus(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue()); - } else { - workCellScanMonitorLog.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - workCellScanMonitorLog.setDealStatus(MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()); - } - - workCellScanMonitorLogRepository.insert(workCellScanMonitorLog); + workCellScanMonitorLogDao.insertWorkCellScanMonitorLog(resultBean, scanMonitorContext); } @@ -100,15 +70,8 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic cellMsg2RepeatMap.get(resultBean.getClientInfo()).clear(); cellMsg2RepeatMap.get(resultBean.getClientInfo()).add(0, mouldRecordIdStr); - //补偿数据 - DdlPackBean packBean = DdlPackBean.getDdlPackBean(resultBean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(resultBean.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean); - DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue(), MesPcnExtConstWords.DEAL_STATUS, packBean); - if (!StringUtils.isEmpty(mouldRecordId)) DdlPreparedPack.getNumNOEqualPack(mouldRecordId, MesPcnExtConstWords.MOULD_RECORD_ID, packBean); - int count = workCellScanMonitorLogRepository.updateByPropertiesNoSync( - new String[]{MesPcnExtConstWords.SYSTEM_SYNC_STATUS, MesPcnExtConstWords.DEAL_STATUS}, - new Object[]{CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()}, - packBean); + //补偿数据: 将工位排除当前开模ID的未处理的的数据改成已处理,未同步 + Integer count = workCellScanMonitorLogDao.updateWorkCellScanMonitorLog(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode(), mouldRecordId); log.info("工厂{}生产线{}工位{}: MesWorkCellScanMonitorLogExtService --- 补偿同步条数:{} ---", resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode(), count); @@ -157,23 +120,7 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic List productionPsOutContextList = resultBean.getResultList(); - String workOrderNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).map(MesProductionPsOutContext::getWorkOrderNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - String serialNumber = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getSerialNumber()))).map(MesProductionPsOutContext::getSerialNumber).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - String productSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getProductSn()))).map(MesProductionPsOutContext::getProductSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - String custSn = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getCustSn()))).map(MesProductionPsOutContext::getCustSn).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - String partNo = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsOutContext::getPartNo).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - String partName = productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartName()))).map(MesProductionPsOutContext::getPartName).collect(Collectors.joining(MesPcnExtConstWords.SEMICOLON)); - - DdlPackBean packBean = DdlPackBean.getDdlPackBean(resultBean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(resultBean.getWorkCenterCode(), MesPcnExtConstWords.WORK_CENTER_CODE, packBean); - DdlPreparedPack.getNumEqualPack(Long.valueOf(resultBean.getScanInfo()), MesPcnExtConstWords.MOULD_RECORD_ID, packBean); - - workCellScanMonitorLogRepository.updateByProperties( - new String[]{MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.SERIAL_NUMBER, MesPcnExtConstWords.PRODUCT_SN, MesPcnExtConstWords.CUST_SN, - MesPcnExtConstWords.PART_NO, MesPcnExtConstWords.PART_NAME, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.DEAL_STATUS}, - new Object[]{workOrderNo, serialNumber, productSn, custSn, - partNo, partName, TimeTool.getNowTime(true), resultBean.getUserInfo(), MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue()}, - packBean); + workCellScanMonitorLogDao.updateWorkCellScanMonitorLog(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getUserInfo(), Long.valueOf(resultBean.getScanInfo()), productionPsOutContextList); } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index 54fb717..5ac9c41 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -61,16 +61,24 @@ public class MesPcnExtConstWords { public static final String USER_NAME = "userName"; // 修改人 public static final String MODIFY_USER = "modifyUser"; + // 描述 + public static final String DESCRIPTION = "description"; + // 备注 + public static final String REMARK = "remark"; // 修改人 public static final String USER_INFO = "userInfo"; // 同步标志 public static final String SYSTEM_SYNC_STATUS = "systemSyncStatus"; + // 同步时间 + public static final String SYSTEM_SYNC_DATE_TIME = "systemSyncDatetime"; // 零件编码 public static final String PART_NO = "partNo"; // 零件名称 public static final String PART_NAME = "partName"; // 设备代码 public static final String EQUIPMENT_CODE = "equipmentCode"; + // 设备名称 + public static final String EQUIPMENT_NAME = "equipmentName"; // 设备数据变量ID public static final String EQUIP_VARIABLE_ID = "equipVariableId"; // 设备ID @@ -99,8 +107,12 @@ public class MesPcnExtConstWords { public static final String SHIFT_GROUP_NAME = "shiftGroupName"; // 工序代码 public static final String PROCESS_CODE = "processCode"; + // 工序名称 + public static final String PROCESS_NAME = "processName"; // 工艺代码 public static final String CRAFT_CODE = "craftCode"; + // 工艺名称 + public static final String CRAFT_NAME = "craftName"; // 生产工单号 public static final String WORK_ORDER_NO = "workOrderNo"; // 数据来源 @@ -177,6 +189,12 @@ public class MesPcnExtConstWords { public static final String COLOR = "color"; // 设备计数点位固定二级变量 public static final String SHOT_COUNTER = "shot_counter"; + // 日志类型 + public static final String LOG_TYPE = "logType"; + // 信息类型 + public static final String MESSAGE_TYPE = "messageType"; + // 工厂_工作中心 + public static final String ORG_WORK_CODE = "orgWorkCode"; // 时间格式 public static final String DATE_FORMAT_SSS = "yyyy-MM-dd HH:mm:ss.SSS";