tags/yfai-pcn-ext-v1.0
gsz 11 months ago
commit eaa7534ff7

@ -14,11 +14,11 @@ public interface IMesEquipmentLogExtService {
@ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据") @ApiOperation(value = "根据设备ID 查询设备ID分表所有采集数据")
List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId); List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId);
@ApiOperation(value = "根据设备ID,是否常变值状态,OPC注册ID集合 查询设备ID分表采集数据") @ApiOperation(value = "根据设备ID,是否常变值状态,设备数据变量ID集合 查询设备ID分表采集数据")
List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List<Long> clientHandleList); List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List<Long> equipVariableIdList);
@ApiOperation(value = "根据设备ID,OPC注册ID集合 修改设备ID分表采集数据的状态") @ApiOperation(value = "根据设备ID,设备数据变量ID集合 修改设备ID分表采集数据的状态")
void updateEquipmentLogList(String organizeCode, Integer equipId, List<Long> clientHandleList); void updateEquipmentLogList(String organizeCode, Integer equipId, List<Long> equipVariableIdList);
@ApiOperation(value = "获取设备数据变量对应的采集数据") @ApiOperation(value = "获取设备数据变量对应的采集数据")
MesEquipLogDispatchContext doHandleEquipmentLogList(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList); MesEquipLogDispatchContext doHandleEquipmentLogList(MesCellEquipContext cellEquipContext, List<MesEquipmentVariable> equipmentVariableList, List<MesEquipmentVariableCfg> equipmentVariableCfgList);

@ -14,12 +14,20 @@
<packaging>jar</packaging> <packaging>jar</packaging>
<dependencies> <dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
</dependency>
<dependency> <dependency>
<groupId>impp.framework</groupId> <groupId>impp.framework</groupId>
<artifactId>impp-framework-boot</artifactId> <artifactId>impp-framework-boot</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.4.5</version>
</dependency>
<dependency> <dependency>
<groupId>i3plus.ext.mes.pcn</groupId> <groupId>i3plus.ext.mes.pcn</groupId>
<artifactId>i3plus-ext-mes-pcn-api</artifactId> <artifactId>i3plus-ext-mes-pcn-api</artifactId>

@ -33,7 +33,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@ComponentScan(basePackages = { @ComponentScan(basePackages = {
// 扩展包 // 扩展包
"${impp.app.ext.base-packages:}.**" "${impp.app.ext.base-packages:}.**","org.apache.shardingsphere.shardingjdbc.spring.boot","cn.estsh.impp.framework.**"
}) })
//cn.estsh.i3plus.app.ext //cn.estsh.i3plus.app.ext
public class ScanExtPackageConfiguration { public class ScanExtPackageConfiguration {

@ -0,0 +1,40 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesEquipmentLogExtService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentLog;
import cn.estsh.i3plus.pojo.mes.bean.rework.MesReworkTask;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/test")
public class TestController {
@Autowired
private IMesEquipmentLogExtService mesEquipmentLogExtService;
@GetMapping("/equipment/log/query")
@ApiOperation(value = "查询设备交互")
public ResultBean queryReworkTaskByPager(String organizeCode, Integer equipId) {
try {
List<MesEquipmentLog> equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(organizeCode, equipId);
return ResultBean.success("查询成功").setResultList(equipmentLogList);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -57,12 +57,12 @@ public class MesEquipmentLogService implements IMesEquipmentLogService {
public void saveEquipmentLogToRedis(ActorMessage actorMessage) { public void saveEquipmentLogToRedis(ActorMessage actorMessage) {
// 获取设备变量属性 // 获取设备变量属性
List<MesEquipmentVariable> equipmentVariableList = mesEquipmentExtService.getEquipmentVariableList(actorMessage.getOrganizeCode(), actorMessage.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue()); List<MesEquipmentVariable> equipmentVariableList = mesEquipmentExtService.getEquipmentVariableList(actorMessage.getOrganizeCode(), actorMessage.getEquipmentCode(), MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PROCESS_FINISH.getValue());
// 获取变量属性中的clientHandle 列表 // 获取变量ID集合
List<Long> clientHandleList = equipmentVariableList.stream().filter(o -> o.getClientHandle() != null).map( o -> Long.valueOf(o.getClientHandle().longValue())).collect(Collectors.toList()); List<Long> equipVariableIdList = equipmentVariableList.stream().filter(o -> null != o).map(MesEquipmentVariable::getId).collect(Collectors.toList());
// 获取设备数据采集信息 // 获取设备数据采集信息
List<MesEquipmentLog> equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(actorMessage.getOrganizeCode(), actorMessage.getEquipId()); List<MesEquipmentLog> equipmentLogList = mesEquipmentLogExtService.getEquipmentLogList(actorMessage.getOrganizeCode(), actorMessage.getEquipId());
// 筛选出该设备中设备变量属性对应的数据采集信息 // 筛选出该设备中设备变量属性对应的数据采集信息
equipmentLogList = equipmentLogList.stream().filter(mesEquipmentLog -> clientHandleList.contains(mesEquipmentLog.getId()) ).collect(Collectors.toList()); equipmentLogList = equipmentLogList.stream().filter(mesEquipmentLog -> equipVariableIdList.contains(mesEquipmentLog.getEquipVariableId())).collect(Collectors.toList());
Long recordId = snowflakeIdMaker.nextId(); Long recordId = snowflakeIdMaker.nextId();

@ -42,23 +42,23 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
} }
@Override @Override
public List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List<Long> clientHandleList) { public List<MesEquipmentLog> getEquipmentLogList(String organizeCode, Integer equipId, Integer needNewValue, List<Long> equipVariableIdList) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(clientHandleList)) return null; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipVariableIdList)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean);
if (!CollectionUtils.isEmpty(clientHandleList) && clientHandleList.size() == 1) DdlPreparedPack.getNumEqualPack(clientHandleList.get(0), MesPcnExtConstWords.ID, packBean); if (!CollectionUtils.isEmpty(equipVariableIdList) && equipVariableIdList.size() == 1) DdlPreparedPack.getNumEqualPack(equipVariableIdList.get(0), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean);
else DdlPreparedPack.getInPackList(clientHandleList, MesPcnExtConstWords.ID, packBean); else DdlPreparedPack.getInPackList(equipVariableIdList, MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean);
if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) DdlPreparedPack.getNegativeNumEqualPack(MesPcnExtConstWords.ZERO, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, packBean); if (!StringUtils.isEmpty(needNewValue) && MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue() == needNewValue) DdlPreparedPack.getNegativeNumEqualPack(MesPcnExtConstWords.ZERO, MesPcnExtConstWords.EQUIP_VARIABLE_STATUS, packBean);
return equipmentLogRepository.findByHqlWhere(packBean); return equipmentLogRepository.findByHqlWhere(packBean);
} }
@Override @Override
public void updateEquipmentLogList(String organizeCode, Integer equipId, List<Long> clientHandleList) { public void updateEquipmentLogList(String organizeCode, Integer equipId, List<Long> equipVariableIdList) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(clientHandleList)) return; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipId) || CollectionUtils.isEmpty(equipVariableIdList)) return;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean); DdlPreparedPack.getNumEqualPack(equipId, MesPcnExtConstWords.EQUIP_ID, packBean);
if (!CollectionUtils.isEmpty(clientHandleList) && clientHandleList.size() == 1) DdlPreparedPack.getNumEqualPack(clientHandleList.get(0), MesPcnExtConstWords.ID, packBean); if (!CollectionUtils.isEmpty(equipVariableIdList) && equipVariableIdList.size() == 1) DdlPreparedPack.getNumEqualPack(equipVariableIdList.get(0), MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean);
else DdlPreparedPack.getInPackList(clientHandleList, MesPcnExtConstWords.ID, packBean); else DdlPreparedPack.getInPackList(equipVariableIdList, MesPcnExtConstWords.EQUIP_VARIABLE_ID, packBean);
equipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()}, packBean); equipmentLogRepository.updateByProperties(new String[]{MesPcnExtConstWords.EQUIP_VARIABLE_STATUS}, new Object[]{MesExtEnumUtil.EQUIP_VARIABLE_NEED_NEW_VALUE.TRUE.getValue()}, packBean);
} }
@ -135,7 +135,7 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
private Map<Long, MesEquipmentLog> getEquipmentLog(MesEquipLogDispatchContext equipLogDispatchContext, MesCellEquipContext cellEquipContext, List<MesEquipVariableCfgCollectContext> equipVariableCollectContextList, Integer needNewValue) { private Map<Long, MesEquipmentLog> getEquipmentLog(MesEquipLogDispatchContext equipLogDispatchContext, MesCellEquipContext cellEquipContext, List<MesEquipVariableCfgCollectContext> equipVariableCollectContextList, Integer needNewValue) {
List<MesEquipVariableCfgCollectContext> filterList = equipVariableCollectContextList.stream().filter(o -> (null != o && o.getNeedNewValue().compareTo(needNewValue) == 0)).collect(Collectors.toList()); List<MesEquipVariableCfgCollectContext> filterList = equipVariableCollectContextList.stream().filter(o -> (null != o && o.getNeedNewValue().compareTo(needNewValue) == 0)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(filterList)) return null; if (CollectionUtils.isEmpty(filterList)) return null;
List<MesEquipmentLog> equipmentLogList = getEquipmentLogList(cellEquipContext.getOrganizeCode(), cellEquipContext.getEquipId(), needNewValue, collectClientHandleList(filterList)); List<MesEquipmentLog> equipmentLogList = getEquipmentLogList(cellEquipContext.getOrganizeCode(), cellEquipContext.getEquipId(), needNewValue, collectEquipVariableIdList(filterList));
Optional<MesEquipmentLog> optional = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> (null != o && !checkEquipQuality(o.getQuality()))).findFirst(); Optional<MesEquipmentLog> optional = CollectionUtils.isEmpty(equipmentLogList) ? null : equipmentLogList.stream().filter(o -> (null != o && !checkEquipQuality(o.getQuality()))).findFirst();
if (null != optional && optional.isPresent()) cellEquipContext.setQuality(optional.get().getQuality()); if (null != optional && optional.isPresent()) cellEquipContext.setQuality(optional.get().getQuality());
@ -150,14 +150,14 @@ public class MesEquipmentLogExtService implements IMesEquipmentLogExtService {
return null != optional && optional.isPresent() ? true : false; return null != optional && optional.isPresent() ? true : false;
} }
private List<Long> collectClientHandleList(List<MesEquipVariableCfgCollectContext> equipVariableCollectContextList) { private List<Long> collectEquipVariableIdList(List<MesEquipVariableCfgCollectContext> equipVariableCollectContextList) {
List<Long> clientHandleList = null; List<Long> equipVariableIdList = null;
for (MesEquipVariableCfgCollectContext equipVariableCfgCollectContext : equipVariableCollectContextList) { for (MesEquipVariableCfgCollectContext equipVariableCfgCollectContext : equipVariableCollectContextList) {
if (null == equipVariableCfgCollectContext || CollectionUtils.isEmpty(equipVariableCfgCollectContext.getClientHandleList())) continue; if (null == equipVariableCfgCollectContext || CollectionUtils.isEmpty(equipVariableCfgCollectContext.getEquipVariableIdList())) continue;
if (CollectionUtils.isEmpty(clientHandleList)) clientHandleList = new ArrayList<>(); if (CollectionUtils.isEmpty(equipVariableIdList)) equipVariableIdList = new ArrayList<>();
clientHandleList.addAll(equipVariableCfgCollectContext.getClientHandleList()); equipVariableIdList.addAll(equipVariableCfgCollectContext.getEquipVariableIdList());
} }
return CollectionUtils.isEmpty(clientHandleList) ? null : clientHandleList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); return CollectionUtils.isEmpty(equipVariableIdList) ? null : equipVariableIdList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
} }
} }

@ -27,7 +27,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
public class MesEquipmentRwExtServiceImpl implements IMesEquipVariableRwExtService { public class MesEquipmentRwExtService implements IMesEquipVariableRwExtService {
@Autowired @Autowired
private IConfigService configService; private IConfigService configService;

@ -108,7 +108,7 @@ public class MesProductResultErrorHandleStepService extends BaseStepService {
partInspection.setWorkCenterCode(reqBean.getWorkCenterCode()); partInspection.setWorkCenterCode(reqBean.getWorkCenterCode());
partInspection.setSourceType(MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue()); partInspection.setSourceType(MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.SINGLE.getValue());
partInspection.setPartNo(mesProduceSn.getPartNo()); partInspection.setPartNo(mesProduceSn.getPartNo());
partInspection.setPartName(mesProduceSn.getPartNameRdd()); partInspection.setPartName(mesProduceSn.getPartName());
partInspection.setDefectTypeCode(mesDefectType.getDefectTypeCode()); partInspection.setDefectTypeCode(mesDefectType.getDefectTypeCode());
partInspection.setInspectionDate(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMATTER)); partInspection.setInspectionDate(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMATTER));
partInspection.setLotNo(mesProduceSn.getLotNo()); partInspection.setLotNo(mesProduceSn.getLotNo());

@ -0,0 +1,79 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
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.pojo.context.*;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmCommonService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
import cn.estsh.i3plus.pojo.mes.model.StepResult;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
* @Description :
* @Author : wangjie
**/
@Slf4j
@Service("mesProductSnCheckStepService")
public class MesProductSnCheckStepService extends BaseStepService {
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@Autowired
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private IFsmCommonService fsmCommonService;
@Override
public StepResult execute(StationRequestBean reqBean) {
StationResultBean resultBean = new StationResultBean();
StepResult stepResult = StepResult.getSuccessComplete();
//获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean);
//获取生产过程上下文对象有异常信息 抛出异常
if (!productionProcessContext.getSuccess()) return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, productionProcessContext.getMessage());
//存储生产过程上下文对象
productionProcessContextStepService.saveProductionProcessContext(reqBean, productionProcessContext);
return stepResult;
}
}

@ -136,7 +136,7 @@ public class MesProductSnGenerateStepService extends BaseStepService {
mesProduceSn.setProductSn(sn); mesProduceSn.setProductSn(sn);
mesProduceSn.setCustSn(sn); mesProduceSn.setCustSn(sn);
mesProduceSn.setPartNo(mesPart.getPartNo()); mesProduceSn.setPartNo(mesPart.getPartNo());
mesProduceSn.setPartNameRdd(mesPart.getPartName()); mesProduceSn.setPartName(mesPart.getPartName());
mesProduceSn.setAreaCode(mesWorkCell.getAreaCode()); mesProduceSn.setAreaCode(mesWorkCell.getAreaCode());
mesProduceSn.setWorkCenterCode(mesWorkCell.getWorkCenterCode()); mesProduceSn.setWorkCenterCode(mesWorkCell.getWorkCenterCode());
mesProduceSn.setWorkCellCode(mesWorkCell.getWorkCellCode()); mesProduceSn.setWorkCellCode(mesWorkCell.getWorkCellCode());

@ -130,7 +130,8 @@ public class MesProductSnScanStepService extends BaseStepService {
//是否支持混腔扫描[工位参数] //是否支持混腔扫描[工位参数]
String cavityNosortCfg = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean).get(MesPcnExtConstWords.CAVITY_NOSORT_CFG); String cavityNosortCfg = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean).get(MesPcnExtConstWords.CAVITY_NOSORT_CFG);
if (StringUtils.isEmpty(cavityNosortCfg)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息主条码[%s]!", scanInfo)); if (StringUtils.isEmpty(cavityNosortCfg)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息主条码[%s]!", scanInfo));
else return execDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, false,
return execDynamicsCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, false,
MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT, String.format("当前扫描信息主条码[%s],已知腔数[%s],还需要再连续扫描[%s]次主条码!", scanInfo, needQty, needQty - equipVariableCollectContextList.size())); MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT, String.format("当前扫描信息主条码[%s],已知腔数[%s],还需要再连续扫描[%s]次主条码!", scanInfo, needQty, needQty - equipVariableCollectContextList.size()));
} }

@ -84,11 +84,10 @@ public class MesProductionReocrdGenerateStepService extends BaseStepService {
mesProductionRecord.setEquipmentCode(productionProcessContext.getCurCellEquip().getEquipmentCode()); mesProductionRecord.setEquipmentCode(productionProcessContext.getCurCellEquip().getEquipmentCode());
mesProductionRecord.setEquipmentName(productionProcessContext.getCurCellEquip().getEquipmentName()); mesProductionRecord.setEquipmentName(productionProcessContext.getCurCellEquip().getEquipmentName());
mesProductionRecord.setPartNo(mesProduceSn.getPartNo()); mesProductionRecord.setPartNo(mesProduceSn.getPartNo());
mesProductionRecord.setPartName(mesProduceSn.getPartNameRdd()); mesProductionRecord.setPartName(mesProduceSn.getPartName());
mesProductionRecord.setIsComplete(MesEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); mesProductionRecord.setIsComplete(MesEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
mesProductionRecord.setCompleteDateTime(DateUtil.formatDateTime(new Date())); mesProductionRecord.setCompleteDateTime(DateUtil.formatDateTime(new Date()));
mesProductionRecord.setLotNo(mesProduceSn.getLotNo()); mesProductionRecord.setLotNo(mesProduceSn.getLotNo());
mesProductionRecord.setEquipmentName(mesProduceSn.getEquipmentName());
//mesProductionRecord.setShiftGroup(); //mesProductionRecord.setShiftGroup();
//mesProductionRecord.setWorkOrderNo(productionProcessContext.get); //mesProductionRecord.setWorkOrderNo(productionProcessContext.get);
@ -107,7 +106,6 @@ public class MesProductionReocrdGenerateStepService extends BaseStepService {
mesProductionRecord.setProcessCode(mesProduceSn.getProcessCode()); mesProductionRecord.setProcessCode(mesProduceSn.getProcessCode());
mesProductionRecord.setReportPartNo(mesProduceSn.getPartNo()); mesProductionRecord.setReportPartNo(mesProduceSn.getPartNo());
mesProductionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); mesProductionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue());
mesProductionRecord.setReportType(mesProduceSn.getReportType() + "");
mesProductionRecord.setShiftCode(mesProduceSn.getShiftCode()); mesProductionRecord.setShiftCode(mesProduceSn.getShiftCode());
mesProductionRecord.setShiftGroup(mesProduceSn.getShiftGroup()); mesProductionRecord.setShiftGroup(mesProduceSn.getShiftGroup());
mesProductionRecord.setWorkOrderNo(mesProduceSn.getWorkOrderNo()); mesProductionRecord.setWorkOrderNo(mesProduceSn.getWorkOrderNo());

@ -1,7 +1,7 @@
#\u9879\u76EE\u7AEF\u53E3 #\u9879\u76EE\u7AEF\u53E3
server.port=8350 server.port=8350
#\u672C\u673Aip #\u672C\u673Aip
impp.server.ip=10.196.76.180 impp.server.ip=10.196.74.30
#impp.server.ip=192.168.0.105 #impp.server.ip=192.168.0.105
#andon ip #andon ip
impp.andon.url=http://10.195.88.71:8750 impp.andon.url=http://10.195.88.71:8750
@ -24,7 +24,7 @@ impp.cluster.regist.center=http://10.195.88.71:8000/eureka/
logging.config=classpath:log4j2-spring.xml logging.config=classpath:log4j2-spring.xml
mes.ws=ws://10.197.190.121:8300/ws/pcn-regist/ mes.ws=ws://10.197.190.121:8300/ws/pcn-regist/
#mes-pcn.ws.path=ws://10.197.176.77:8350 #mes-pcn.ws.path=ws://10.197.176.77:8350
mes-pcn.ws.path=ws://10.196.76.180:8350 mes-pcn.ws.path=ws://10.196.74.30:8350
pcn.code=PCN-U7 pcn.code=PCN-U7
########\u5E73\u53F0\u76F8\u5173\u53C2\u6570########## ########\u5E73\u53F0\u76F8\u5173\u53C2\u6570##########
#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58 #\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58
@ -132,21 +132,72 @@ spring.zipkin.base-url=${impp.console.ip}
spring.sleuth.sampler.probability=1.0 spring.sleuth.sampler.probability=1.0
# mysql # mysql
impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource #impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver #impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.write.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8 #impp.write.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.write.datasource.username=root #impp.write.datasource.username=root
impp.write.datasource.password=estsh123 #impp.write.datasource.password=estsh123
impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource #impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver #impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.read.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8 #impp.read.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.read.datasource.username=root #impp.read.datasource.username=root
impp.read.datasource.password=estsh123 #impp.read.datasource.password=estsh123
#
###########################\u8BFB\u5199\u5206\u79BB#######################################
spring.shardingsphere.datasource.names=master,slave
##\u5199\u5E93
spring.shardingsphere.datasource.master.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.master.driver-class-name= com.mysql.jdbc.Driver
spring.shardingsphere.datasource.master.JdbcUrl=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
spring.shardingsphere.datasource.master.username=root
spring.shardingsphere.datasource.master.password=estsh123
spring.shardingsphere.datasource.master.maximum-pool-size=400
spring.shardingsphere.datasource.master.minimum-idle=200
spring.shardingsphere.datasource.master.idle-timeout=500000
spring.shardingsphere.datasource.master.connection-timeout=600000
spring.shardingsphere.datasource.master.max-lifetime=7000000
spring.shardingsphere.datasource.master.connection-test-query=select 1
spring.shardingsphere.datasource.master.keep-alive-time=3500000
##\u8BFB\u5E93
spring.shardingsphere.datasource.slave.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave.driver-class-name= com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave.JdbcUrl=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
spring.shardingsphere.datasource.slave.username=root
spring.shardingsphere.datasource.slave.password=estsh123
spring.shardingsphere.datasource.slave.maximum-pool-size=200
spring.shardingsphere.datasource.slave.minimum-idle=200
spring.shardingsphere.datasource.slave.idle-timeout=500000
spring.shardingsphere.datasource.slave.connection-timeout=600000
spring.shardingsphere.datasource.slave.max-lifetime=7000000
spring.shardingsphere.datasource.slave.connection-test-query=select 1
spring.shardingsphere.datasource.slave.keep-alive-time=3500000
##\u8BFB\u5199\u5206\u79BB\u914D\u7F6E
spring.shardingsphere.sharding.master-slave-rules.ds0.master-data-source-name=master
spring.shardingsphere.sharding.master-slave-rules.ds0.slave-data-source-names=slave
#\u9ED8\u8BA4datasource \u9ED8\u8BA4\u6570\u636E\u6E90\uFF0C\u672A\u5206\u7247\u7684\u8868\u9ED8\u8BA4\u6267\u884C\u5E93
#spring.shardingsphere.sharding.default-data-source-name=ds0
#\u7CFB\u7EDF\u5C5E\u6027\uFF0C\u663E\u793A\u6B63\u5E38\u7684sql\u8BED\u53E5
spring.shardingsphere.props.sql.show=false
spring.shardingsphere.sharding.tables.mes_equipment_log.actual-data-nodes=ds0.mes_equipment_log_$->{1..100}
spring.shardingsphere.sharding.tables.mes_equipment_log.table-strategy.inline.sharding-column=equip_id
spring.shardingsphere.sharding.tables.mes_equipment_log.table-strategy.inline.algorithm-expression=mes_equipment_log_$->{equip_id}
#\u7ED1\u5B9A\u8868
spring.shardingsphere.sharding.binding-tables[0]=mes_equipment_log
#\u4E2D\u822A\u6570\u636E\u6E90 #\u4E2D\u822A\u6570\u636E\u6E90
##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316############## ##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316##############
impp.schedule.open=true impp.schedule.open=true
impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.schedule.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8 impp.schedule.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.schedule.datasource.username=root impp.schedule.datasource.username=root
impp.schedule.datasource.password=estsh123 impp.schedule.datasource.password=estsh123
impp.schedule.datasource.max-connections=20 impp.schedule.datasource.max-connections=20
@ -194,7 +245,8 @@ slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2
slm.app.id=20190513 slm.app.id=20190513
# \u811A\u672C\u5728\u7EBF\u8C03\u8BD5\u751F\u6210\u7684\u65E5\u5FD7\u6587\u4EF6\u76F8\u5BF9\u8DEF\u5F84\uFF0Cclasspath:xx # \u811A\u672C\u5728\u7EBF\u8C03\u8BD5\u751F\u6210\u7684\u65E5\u5FD7\u6587\u4EF6\u76F8\u5BF9\u8DEF\u5F84\uFF0Cclasspath:xx
pcn.script.logger.path=pluginlogs pcn.script.logger.path=pluginlogs
pcn.schedule.job=false pcn.schedule.job=true
server.tomcat.max-threads=300 server.tomcat.max-threads=300
server.tomcat.max-connections=300 server.tomcat.max-connections=300
plugin.mainPackage=cn.estsh.i3plus

@ -0,0 +1,252 @@
#\u9879\u76EE\u7AEF\u53E3
server.port=8350
#\u672C\u673Aip
impp.server.ip=10.196.74.30
#impp.server.ip=192.168.0.105
#andon ip
impp.andon.url=http://10.195.88.71:8750
#ptl-pcn ip
impp.ptl-pcn.url=http://10.195.88.71:8750
#pcn plc\u5168\u5C40\u4E1A\u52A1\u5F00\u5173 1.yfai-hnc
mes.plc.callback.open=123
#console\u63A7\u5236\u53F0\u670D\u52A1\uFF08zipkin\u8FFD\u8E2A\u5168\u8DEF\u5F84\uFF09
impp.console.ip=http://10.195.88.71:8010
################ \u529F\u80FD\u914D\u7F6E1 ################
#\u5DE5\u4F5C\u533AID,\u4E0D\u540C\u670D\u52A1\u5668\u4E0D\u540CID 0 - 31
impp.snowflake.work.id=22
#\u6570\u636E\u4ED3\u533AID 0 - 31 \u6709\u9ED8\u8BA4\u56FA\u5B9AID
impp.snowflake.database.id=22
#\u82E5\u65E0\u6CD5\u8FDE\u63A5\u6CE8\u518C\u4E2D\u5FC3\uFF0C\u662F\u5426\u9700\u8981\u4E00\u76F4\u68C0\u6D4B\u52A0\u5165
impp.cluster.fetch=false
#\u670D\u52A1\u6CE8\u518C\u4E2D\u5FC3
impp.cluster.regist.center=http://10.195.88.71:8000/eureka/
#\u65E5\u5FD7\u9ED8\u8BA4\u4F7F\u7528log4j2
logging.config=classpath:log4j2-spring.xml
mes.ws=ws://10.197.190.121:8300/ws/pcn-regist/
#mes-pcn.ws.path=ws://10.197.176.77:8350
mes-pcn.ws.path=ws://10.196.74.30:8350
pcn.code=PCN-U7
########\u5E73\u53F0\u76F8\u5173\u53C2\u6570##########
#\u662F\u5426\u5F00\u542Fredis\u7F13\u5B58
impp.config.redis=true
#\u662F\u5426\u5F00\u542FrabbitMQ
impp.config.rabbitmq=false
#\u662F\u5426\u5F00\u542Fswagger
impp.config.swagger=true
#\u662F\u5426\u5F00\u542Fwebsocket
impp.config.websocket=true
#\u662F\u5426\u5F00\u542F\u6587\u4EF6\u670D\u52A1
impp.config.fileserver=false
#\u662F\u5426\u5BF9\u53D1\u5E03\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.controller=true
#\u662F\u5426\u5BF9\u8C03\u7528\u670D\u52A1\u8FDB\u884C\u8BE6\u7EC6\u65E5\u5FD7\u5206\u6790
impp.log.detail.service=true
################ \u961F\u5217\u5904\u7406 ################
#\u7AD9\u5185\u4FE1
impp.mq.queue.letter=true
#\u90AE\u4EF6
impp.mq.queue.mail=true
#\u5B9A\u65F6\u4EFB\u52A1
impp.mq.queue.schedule=true
#SWEB\u901A\u77E5\u5904\u7406\u961F\u5217
impp.mq.queue.sweb.notice=true
################################ \u5176\u4ED6\u529F\u80FD\u8BBE\u7F6E ################################
#redisIP
redis.hostName=10.195.88.71
#\u7AEF\u53E3\u53F7
redis.port=6379
#\u5982\u679C\u6709\u5BC6\u7801
redis.password=Admin123!
##\u5176\u4ED6redis\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
################## rabbitMQ\u914D\u7F6E ####################
spring.rabbitmq.vhost=/
spring.rabbitmq.host=10.195.88.71
spring.rabbitmq.port=5672
spring.rabbitmq.username=estsh
spring.rabbitmq.password=estsh123
##\u5176\u4ED6rabbitMq\u914D\u7F6E\u9700\u8981\u8C03\u6574\u7684\u52A0\u5728\u6B64\u5904
################ \u529F\u80FD\u914D\u7F6E2 ################
#\u662F\u5426\u5F00\u542Fredis
mes.pcn.redis.open=true
#\u662F\u5426\u5141\u8BB8\u524D\u7AEF\u8DE8\u57DF\u63D0\u4EA4
impp.web.cross=true
################ \u6388\u6743\u8FC7\u6EE4\u914D\u7F6E ################
#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84
filter.shiro.user.filteruri=/mes-pcn/operate/*
#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84
filter.shiro.admin.filteruri=/mes-pcn/adoperate/*
#\u7528\u6237\u6388\u6743\u8FC7\u6EE4\u8DEF\u5F84
filter.shiro.saadmin.filteruri=/mes-pcn/saoperate/*
################ \u4E91\u914D\u7F6E \uFF08\u4EE5projectName\u4F5C\u4E3A\u5E94\u7528\u540D\uFF09 ################
#\u662F\u5426\u5F00\u542F\u5FAE\u670D
eureka.client.enabled=false
#\uFF08\u53C2\u6570\u914D\u7F6E\uFF09\u6CE8\u518C\u4E2D\u5FC3\u5730\u5740 -\u300B i3plus-ics\uFF0C\u591A\u4E2A\u7528\u9017\u53F7\u5206\u9694
eureka.client.service-url.defaultZone=${impp.cluster.regist.center}
#\u533A\u57DF\uFF08\u6E90\u7801\u4E2D\u5305\u542BdefaultZone\uFF0C\u6241\u4EE5\u9ED8\u8BA4\u4F7F\u7528defaultZone\uFF09
#eureka.client.region=estsh
#eureka.client.service-url.estsh:http://192.168.1.20:8000/eureka/,http://192.168.1.20:8001/eureka/
################ \u672C\u673A\u5FAE\u670D\u914D\u7F6E ################
#\u672C\u670D\u52A1\u4E3B\u673Aip\uFF08\u82E5\u591A\u4E2A\u7F51\u5361\uFF0C\u5219\u9700\u8981\u8BBE\u7F6E\u672C\u670D\u52A1ip\uFF09
eureka.instance.ip-address=${impp.server.ip}
#\u672C\u670D\u52A1\u5B9E\u4F8BID
eureka.instance.instance-id=${impp.server.ip}:${server.port}
#\u672C\u670D\u52A1\u4E3B\u673A\u540D
eureka.instance.hostname=${impp.server.ip}
#\u672C\u670D\u52A1\u72B6\u6001\u9875\u9762
eureka.instance.status-page-url=http://${impp.server.ip}:${server.port}/swagger-ui.html
#\u5C06\u81EA\u5DF1\u7684IP\u6CE8\u518C\u5230Eureka Server\u3002\u82E5\u4E0D\u914D\u7F6E\u6216\u8BBE\u7F6E\u4E3Afalse\uFF0C\u8868\u793A\u6CE8\u518C\u5FAE\u670D\u52A1\u6241\u5728\u64CD\u4F5C\u7CFB\u7EDF\u7684hostname\u5230Eureka Server
eureka.instance.prefer-ip-address=false
#\u662F\u5426\u8FDB\u884C\u5065\u5EB7\u68C0\u67E5
eureka.client.healthcheck.enabled=true
################ \u68C0\u6D4B\u673A\u5236 ################
#\u5FC3\u8DF3\u95F4\u9694\u5468\u671F\uFF0C\u5B95\u673A\u9650\u5236\uFF08\u79D2\uFF09\uFF0C30\u79D2\u6CA1\u53CD\u5E94\u89C6\u4E3A\u5B95\u673A
eureka.instance.lease-expiration-duration-in-seconds=30
#\u5FC3\u8DF3\u5468\u671F
eureka.instance.lease-renewal-interval-in-seconds=20
#client\u8FDE\u63A5Eureka\u670D\u52A1\u7AEF\u540E\u7684\u7A7A\u95F2\u7B49\u5F85\u65F6\u95F4\uFF0C\u9ED8\u8BA4\u4E3A30 \u79D2
eureka.client.eureka-connection-idle-timeout-seconds=1
#\u6700\u521D\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\u6241\u9700\u7684\u65F6\u95F4\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A40\u79D2
eureka.client.initial-instance-info-replication-interval-seconds=1
#\u95F4\u9694\u591A\u957F\u65F6\u95F4\u518D\u6B21\u590D\u5236\u5B9E\u4F8B\u4FE1\u606F\u5230eureka\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.instance-info-replication-interval-seconds=1
#\u4ECEeureka\u670D\u52A1\u5668\u6CE8\u518C\u8868\u4E2D\u83B7\u53D6\u6CE8\u518C\u4FE1\u606F\u7684\u65F6\u95F4\u95F4\u9694\uFF08s\uFF09\uFF0C\u9ED8\u8BA4\u4E3A30\u79D2
eureka.client.registry-fetch-interval-seconds=1
################ \u6253\u5F00feign\u7684\u7194\u65AD ################
feign.hystrix.enabled=true
#\u8BFB\u53D6\u6570\u636E\u65F6\u957F
ribbon.ReadTimeout=10000
#\u8FDE\u63A5\u65F6\u957F
ribbon.ConnectTimeout=10000
#\u91CD\u8BD5
ribbon.maxAutoRetries=2
#\u54CD\u5E94\u8D85\u8FC7\u65F6\u957F\uFF0C\u8FDB\u884C\u7194\u65AD\uFF08\u7194\u65AD\u8D85\u65F6\u9700\u8981\u5927\u4E8E\u8BFB\u53D6\u65F6\u957F\u53CA\u8FDE\u63A5\u65F6\u957F\uFF09
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=15000
#\u96C6\u7FA4\u540D
eureka.instance.metadata-map.cluster=impp_cluster
################ \u94FE\u8DEF\u8FFD\u8E2A ################
#\u4F7F\u7528web\u65B9\u5F0F\u4F20\u8F93\u4FE1\u606F
spring.zipkin.sender.type=web
#\u94FE\u8DEF\u8FFD\u8E2A\u670D\u52A1\u7684\u5730\u5740
spring.zipkin.base-url=${impp.console.ip}
#\u8FFD\u8E2A\u6DF1\u5EA6\uFF0C\u767E\u5206\u6BD4\uFF0C1\u662F\u5168\u90E8
spring.sleuth.sampler.probability=1.0
# mysql
#impp.write.datasource.type=com.zaxxer.hikari.HikariDataSource
#impp.write.datasource.driver-class-name=com.mysql.jdbc.Driver
#impp.write.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
#impp.write.datasource.username=root
#impp.write.datasource.password=estsh123
#impp.read.datasource.type=com.zaxxer.hikari.HikariDataSource
#impp.read.datasource.driver-class-name=com.mysql.jdbc.Driver
#impp.read.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
#impp.read.datasource.username=root
#impp.read.datasource.password=estsh123
#
###########################\u8BFB\u5199\u5206\u79BB#######################################
spring.shardingsphere.datasource.names=master,slave
##\u5199\u5E93
spring.shardingsphere.datasource.master.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.master.driver-class-name= com.mysql.jdbc.Driver
spring.shardingsphere.datasource.master.JdbcUrl=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
spring.shardingsphere.datasource.master.username=root
spring.shardingsphere.datasource.master.password=estsh123
spring.shardingsphere.datasource.master.maximum-pool-size=400
spring.shardingsphere.datasource.master.minimum-idle=200
spring.shardingsphere.datasource.master.idle-timeout=500000
spring.shardingsphere.datasource.master.connection-timeout=600000
spring.shardingsphere.datasource.master.max-lifetime=7000000
spring.shardingsphere.datasource.master.connection-test-query=select 1
spring.shardingsphere.datasource.master.keep-alive-time=3500000
##\u8BFB\u5E93
spring.shardingsphere.datasource.slave.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.slave.driver-class-name= com.mysql.jdbc.Driver
spring.shardingsphere.datasource.slave.JdbcUrl=jdbc:mysql://10.195.88.71:3316/impp_i3_mes?autoReconnect=true&useSSL=false&characterEncoding=utf-8
spring.shardingsphere.datasource.slave.username=root
spring.shardingsphere.datasource.slave.password=estsh123
spring.shardingsphere.datasource.slave.maximum-pool-size=200
spring.shardingsphere.datasource.slave.minimum-idle=200
spring.shardingsphere.datasource.slave.idle-timeout=500000
spring.shardingsphere.datasource.slave.connection-timeout=600000
spring.shardingsphere.datasource.slave.max-lifetime=7000000
spring.shardingsphere.datasource.slave.connection-test-query=select 1
spring.shardingsphere.datasource.slave.keep-alive-time=3500000
##\u8BFB\u5199\u5206\u79BB\u914D\u7F6E
spring.shardingsphere.sharding.master-slave-rules.ds0.master-data-source-name=master
spring.shardingsphere.sharding.master-slave-rules.ds0.slave-data-source-names=slave
#\u9ED8\u8BA4datasource \u9ED8\u8BA4\u6570\u636E\u6E90\uFF0C\u672A\u5206\u7247\u7684\u8868\u9ED8\u8BA4\u6267\u884C\u5E93
#spring.shardingsphere.sharding.default-data-source-name=ds0
#\u7CFB\u7EDF\u5C5E\u6027\uFF0C\u663E\u793A\u6B63\u5E38\u7684sql\u8BED\u53E5
spring.shardingsphere.props.sql.show=false
spring.shardingsphere.sharding.tables.mes_equipment_log.actual-data-nodes=ds0.mes_equipment_log_$->{1..100}
spring.shardingsphere.sharding.tables.mes_equipment_log.table-strategy.inline.sharding-column=equip_id
spring.shardingsphere.sharding.tables.mes_equipment_log.table-strategy.inline.algorithm-expression=mes_equipment_log_$->{equip_id}
#\u7ED1\u5B9A\u8868
spring.shardingsphere.sharding.binding-tables[0]=mes_equipment_log
#\u4E2D\u822A\u6570\u636E\u6E90
##############\u5B9A\u65F6\u4EFB\u52A1\u6301\u4E45\u5316##############
impp.schedule.open=true
impp.schedule.datasource.driver-class-name=com.mysql.jdbc.Driver
impp.schedule.datasource.jdbc-url=jdbc:mysql://10.195.88.71:3306/impp_i3_schedule?autoReconnect=true&useSSL=false&characterEncoding=utf-8
impp.schedule.datasource.username=root
impp.schedule.datasource.password=estsh123
impp.schedule.datasource.max-connections=20
#\u5B9A\u65F6\u4EFB\u52A1\u5728\u670D\u52A1\u542F\u52A8\u540E\u591A\u5C11\u79D2\u6267\u884C
impp.schedule.start.after-second=20
#\u662F\u5426\u96C6\u7FA4\u90E8\u7F72
impp.schedule.datasource.is-clustered=true
#\u6267\u884C\u68C0\u6D4B\uFF08\u6BEB\u79D2\uFF09\uFF0C\u82E5\u5B95\u673A\u7531\u5176\u4ED6\u5B9A\u65F6\u5668\u6267\u884C
impp.schedule.datasource.cluster-checkin-interval=30000
#\u7EBF\u7A0B\u6570
impp.schedule.thread-count=10
#\u7EBF\u7A0B\u4F18\u5148\u7EA7\uFF081-10\uFF09\u9ED8\u8BA4\u4E3A5
impp.schedule.thread-priority=5
################ \u6570\u636E\u6C60\u8BBE\u7F6E ################
## \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF0C\u9ED8\u8BA4\u662F10
spring.datasource.maximum-pool-size=100
## \u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570\u91CF
spring.datasource.min-idle=10
################ JPA\u8BBE\u7F6E\u8BBE\u7F6E ################
# mysql
spring.jpa.database=MYSQL
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
##Sql-server##
#spring.jpa.database=sql_server
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect
##oracle##
#spring.jpa.database=oracle
#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
# mysql
#spring.datasource.validationQuery=SELECT 1
##Sql-server##
spring.datasource.validationQuery=SELECT 1
##oracle##
# spring.datasource.validationQuery=SELECT 1 FROM DUAL
#ImprovedNamingStrategy / physical_naming_strategy java\u5C5E\u6027\u6620\u5C04\u5230\u6570\u636E\u5E93\u5B57\u6BB5\u65F6\u547D\u540D\u89C4\u5219
# spring.jpa.properties.hibernate.physical_naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy/org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
#\u8868\u5173\u7CFBcreate,create-drop,update,validate
spring.jpa.properties.hibernate.hbm2ddl.auto=update
#spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
#spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
#\u662F\u5426\u663E\u793Asql
spring.jpa.show-sql=true
################ \u6388\u6743\u914D\u7F6E ################
slm.api.password=4C9479EBEFA6FA6E232EF25EFA49C4D2
slm.app.id=20190513
# \u811A\u672C\u5728\u7EBF\u8C03\u8BD5\u751F\u6210\u7684\u65E5\u5FD7\u6587\u4EF6\u76F8\u5BF9\u8DEF\u5F84\uFF0Cclasspath:xx
pcn.script.logger.path=pluginlogs
pcn.schedule.job=true
server.tomcat.max-threads=300
server.tomcat.max-connections=300
plugin.mainPackage=cn.estsh.i3plus

@ -1,5 +1,5 @@
#\u4F7F\u7528\u914D\u7F6E #\u4F7F\u7528\u914D\u7F6E
spring.profiles.active=71 spring.profiles.active=72
#\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C\u7801 #\u9879\u76EE\u63CF\u8FF0\u4FE1\u606F\uFF08swagger\u4E2D\u663E\u5F0F\uFF09\uFF0C\u4E2D\u6587\u4F7F\u7528uncode\u8F6C\u7801
desc.application.name=\u751F\u4EA7\u4E2D\u5FC3\u8282\u70B9 desc.application.name=\u751F\u4EA7\u4E2D\u5FC3\u8282\u70B9
######### \u81EA\u5B9A\u4E49\u53C2\u6570 ######### ######### \u81EA\u5B9A\u4E49\u53C2\u6570 #########

@ -42,19 +42,19 @@ public class MesEquipVariableCfgCollectContext implements Serializable {
@ApiParam("数据变量集合") @ApiParam("数据变量集合")
private List<MesEquipVariableCollectContext> equipVariableCollectContextList; private List<MesEquipVariableCollectContext> equipVariableCollectContextList;
@ApiParam("数据变量OPC注册ID集合") @ApiParam("设备变量ID集合")
private List<Long> clientHandleList; private List<Long> equipVariableIdList;
public MesEquipVariableCfgCollectContext equipVariableCollectContextList(List<MesEquipmentVariable> equipVariableList) { public MesEquipVariableCfgCollectContext equipVariableCollectContextList(List<MesEquipmentVariable> equipVariableList) {
if (CollectionUtils.isEmpty(equipVariableList)) return this; if (CollectionUtils.isEmpty(equipVariableList)) return this;
this.equipVariableCollectContextList = new ArrayList<>(); this.equipVariableCollectContextList = new ArrayList<>();
this.clientHandleList = new ArrayList<>(); this.equipVariableIdList = new ArrayList<>();
for (MesEquipmentVariable equipmentVariable : equipVariableList) { for (MesEquipmentVariable equipmentVariable : equipVariableList) {
if (null == equipmentVariable) continue; if (null == equipmentVariable) continue;
MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(equipmentVariable.getId()); MesEquipVariableCollectContext equipVariableCollectContext = new MesEquipVariableCollectContext(equipmentVariable.getId());
BeanUtils.copyProperties(equipmentVariable, equipVariableCollectContext); BeanUtils.copyProperties(equipmentVariable, equipVariableCollectContext);
equipVariableCollectContextList.add(equipVariableCollectContext); equipVariableCollectContextList.add(equipVariableCollectContext);
clientHandleList.add(Long.valueOf(equipmentVariable.getClientHandle().toString())); equipVariableIdList.add(equipmentVariable.getId());
} }
return this; return this;
} }

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.context; package cn.estsh.i3plus.ext.mes.pcn.pojo.context;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -9,32 +10,11 @@ import java.io.Serializable;
* -() * -()
*/ */
@Data @Data
public class MesProductionPsOutContext implements Serializable { public class MesProductionPsOutContext extends MesProduceSn implements Serializable {
private static final long serialVersionUID = 5562937531822977296L; private static final long serialVersionUID = 5562937531822977296L;
@ApiParam(name = "数据关联键 非排序:snowflakeId") @ApiParam(name = "数据关联键 非排序:snowflakeId")
private String foreignKey; private String foreignKey;
@ApiParam("组织代码")
private String organizeCode;
@ApiParam("零件条码ID")
private Long id;
@ApiParam("非排序产出零件条码")
private String productSn;
@ApiParam("非排序产出零件过程条码")
private String serialNumber;
@ApiParam("非排序产出客户条码")
private String custSn;
@ApiParam("零件号")
private String partNo;
@ApiParam("零件名称")
private String partName;
} }

@ -54,6 +54,8 @@ public class MesPcnExtConstWords {
public static final String PART_NAME = "partName"; public static final String PART_NAME = "partName";
// 设备代码 // 设备代码
public static final String EQUIPMENT_CODE = "equipmentCode"; public static final String EQUIPMENT_CODE = "equipmentCode";
// 设备数据变量ID
public static final String EQUIP_VARIABLE_ID = "equipVariableId";
// 设备ID // 设备ID
public static final String EQUIP_ID = "equipId"; public static final String EQUIP_ID = "equipId";
// 变量类型 // 变量类型

@ -30,7 +30,7 @@
<skipTests>true</skipTests> <skipTests>true</skipTests>
<app.charset>UTF-8</app.charset> <app.charset>UTF-8</app.charset>
<impp.framework.version>1.0.0.4-patch</impp.framework.version> <impp.framework.version>1.0.1-YZ</impp.framework.version>
<i3plus.pojo.version>1.0.0-yfai</i3plus.pojo.version> <i3plus.pojo.version>1.0.0-yfai</i3plus.pojo.version>
<i3plus.platform.version>1.0.0.1-patch</i3plus.platform.version> <i3plus.platform.version>1.0.0.1-patch</i3plus.platform.version>
<i3plus.mes.pcn.version>1.0.0-yfai</i3plus.mes.pcn.version> <i3plus.mes.pcn.version>1.0.0-yfai</i3plus.mes.pcn.version>

Loading…
Cancel
Save