forked from I3-YF/i3plus-mes-pcn-yfai
Merge branch 'test-temp-wj-250117-pack' into dev
commit
ebdb79e7bc
63
modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/WuhuPackageNumberRuleStrategyService.java → modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/YfaiPackageNumberRuleStrategyService.java
63
modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/WuhuPackageNumberRuleStrategyService.java → modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/numberrule/YfaiPackageNumberRuleStrategyService.java
15
modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhuPackageNoPrintStrategy.java → modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/YfaiPackageNoPrintStrategy.java
15
modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/WuhuPackageNoPrintStrategy.java → modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/YfaiPackageNoPrintStrategy.java
@ -0,0 +1,247 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function;
|
||||
|
||||
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.apiservice.serviceimpl.step.method.IMesPackageNoGenerateStepService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPackageDataContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPackageRuleContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdRuleContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmRouteDataService;
|
||||
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService;
|
||||
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService;
|
||||
import cn.estsh.i3plus.mes.pcn.util.PojoAttrUtil;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesPackage;
|
||||
import cn.estsh.i3plus.pojo.mes.model.*;
|
||||
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
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.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description : 工位参数按钮事件接口实现【零件打包】
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MesFunctionPackagePartService extends BaseSwsService implements IFsmModuleFunctionService {
|
||||
|
||||
@Autowired
|
||||
private IMesProductionProcessContextStepService productionProcessContextStepService;
|
||||
|
||||
@Autowired
|
||||
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
|
||||
|
||||
@Autowired
|
||||
private IMesPackageNoGenerateStepService packageNoGenerateStepService;
|
||||
|
||||
@Autowired
|
||||
private IFsmRouteDataService fsmRouteDataService;
|
||||
|
||||
@Override
|
||||
@Transactional(propagation = Propagation.NOT_SUPPORTED)
|
||||
public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) {
|
||||
|
||||
//页面渲染数据集
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
|
||||
//工步结果,用于信息传递的对象
|
||||
StepResult stepResult;
|
||||
|
||||
//前端传递的参数
|
||||
MesPackageDataContext packageDataContext = StringUtils.isEmpty(buttonDynamicModel.getFunctionValue()) ? null : JSONObject.parseObject(buttonDynamicModel.getFunctionValue(), MesPackageDataContext.class);
|
||||
|
||||
//初始化界面
|
||||
if (null == packageDataContext || StringUtils.isEmpty(packageDataContext.getBusiType())) {
|
||||
|
||||
//前端拿到接口返回数据的时候如果存在 IS_COVER_DATA=1 则覆盖之前渲染的数据
|
||||
resultMap.put(MesPcnExtConstWords.IS_COVER_DATA, CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
|
||||
|
||||
//获取上下文产出零件信息
|
||||
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
|
||||
|
||||
//验证是否存在加工单
|
||||
Boolean isExistOrder = checkIsExistOrder(productionPartContextList);
|
||||
|
||||
//列名称
|
||||
List<AttrBean> attrBeanList = dataAttrList(isExistOrder);
|
||||
|
||||
resultMap.put(MesPcnExtConstWords.ATTR_BEAN_LIST, attrBeanList);
|
||||
|
||||
//获取上下文产品加工规则数据信息
|
||||
List<MesProdRuleContext> prodRuleContextList = null;
|
||||
if (CollectionUtils.isEmpty(productionPartContextList)) prodRuleContextList = productionDispatchContextStepService.getProdRuleDataContext(reqBean);
|
||||
|
||||
if (CollectionUtils.isEmpty(productionPartContextList) && CollectionUtils.isEmpty(prodRuleContextList) && (null == packageDataContext || StringUtils.isEmpty(packageDataContext.getPartNo()))) {
|
||||
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue());
|
||||
return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]零件打包:请选择打包零件编码!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
|
||||
}
|
||||
|
||||
//获取包装规则信息
|
||||
Map<String, MesPackageRuleContext> packageRuleContextMap = productionProcessContextStepService.getPackageRuleContext(reqBean);
|
||||
if (CollectionUtils.isEmpty(packageRuleContextMap)) packageRuleContextMap = new HashMap<>();
|
||||
Integer initQty = packageRuleContextMap.size();
|
||||
|
||||
//列表数据
|
||||
List<MesPackageDataContext> resultList = new ArrayList<>();
|
||||
|
||||
stepResult = StepResult.getSuccessComplete();
|
||||
|
||||
//根据上下文产出零件信息封装列表数据
|
||||
if (!CollectionUtils.isEmpty(productionPartContextList)) packResultList2Ppc(reqBean, stepResult, productionPartContextList, isExistOrder, packageRuleContextMap, resultList);
|
||||
//根据上下文产品加工规则数据信息封装列表数据
|
||||
else if (!CollectionUtils.isEmpty(prodRuleContextList)) packResultList2Prc(reqBean, stepResult, prodRuleContextList, packageRuleContextMap, resultList);
|
||||
//根据用户选择的零件信息封装列表数据
|
||||
else packResultList2PartNo(reqBean, stepResult, packageDataContext.getPartNo(), packageRuleContextMap, resultList);
|
||||
|
||||
//保存包装规则信息
|
||||
if (initQty != packageRuleContextMap.size()) productionProcessContextStepService.dispatchPackageRuleContext(reqBean, packageRuleContextMap);
|
||||
|
||||
if (!StringUtils.isEmpty(stepResult.getMsg())) {
|
||||
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue());
|
||||
packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]零件打包:%s!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg()));
|
||||
}
|
||||
|
||||
resultMap.put(MesPcnExtConstWords.DATA, resultList);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(String.format("零件号[%s]数量[%s]包装规格数量[%s]", packageDataContext.getPartNo(), packageDataContext.getQty(), packageDataContext.getPackSpecQty()));
|
||||
|
||||
//业务操作: 零件打包 ----- 当前端调用传了 busiType 时, 前端拿到接口返回数据的时候如果存在 IS_COVER_DATA=2 则不覆盖之前渲染的数据, 只判断是否提示信息 -----
|
||||
resultMap.put(MesPcnExtConstWords.IS_COVER_DATA, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
|
||||
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT.getValue());
|
||||
if (StringUtils.isEmpty(packageDataContext.getPartNo()) || StringUtils.isEmpty(packageDataContext.getQty()) || StringUtils.isEmpty(packageDataContext.getPackageCode())) {
|
||||
return packResultMap(reqBean, resultBean, resultMap, String.format("生产线[%s]工位[%s]零件打包:零件编码[%s]缺少必要主数据!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), packageDataContext.getPartNo()));
|
||||
}
|
||||
|
||||
stepResult = StepResult.getSuccessComplete();
|
||||
//零件打包不写包装明细数据, 默认赋值[仅统计包装], 生成虚拟条码
|
||||
packageDataContext.setGenerateType(MesExtEnumUtil.PACKING_RULE_GENERATE_TYPE.PACKAGE.getValue());
|
||||
try {
|
||||
//零件打包业务处理
|
||||
packageNoGenerateStepService.doHandlePackagePart(reqBean, resultBean, stepResult, packageDataContext);
|
||||
} catch (ImppBusiException e) {
|
||||
stepResult.msg(e.getErrorDetail());
|
||||
} catch (Exception e) {
|
||||
String error = String.format("生产线[%s]工位[%s]零件打包%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), fsmRouteDataService.handleFsmCfgOrDefault(reqBean, MesPcnEnumUtil.FSM_CFG.FSM_EXCEPTION_MSG.getCode()));
|
||||
this.cacheException(reqBean, reqBean.getStepName(), error, e, false);
|
||||
stepResult.msg(error);
|
||||
}
|
||||
//判断强制打包的执行结果
|
||||
if (!StringUtils.isEmpty(stepResult.getMsg())) {
|
||||
return packResultMap(reqBean, resultBean, resultMap,
|
||||
String.format("生产线[%s]工位[%s]零件打包失败,%s", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), stepResult.getMsg()));
|
||||
}
|
||||
|
||||
resultMap.put(MesPcnExtConstWords.DATA_TYPE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue());
|
||||
return packResultMap(reqBean, resultBean, resultMap, String.format("零件号[%s]零件打包成功!包装条码%s打印成功!",
|
||||
packageDataContext.getPartNo(), ((List<MesPackage>) stepResult.getDataCollection()).stream().filter(o -> null != o).map(MesPackage::getPackageNo).collect(Collectors.toList()).toString()));
|
||||
|
||||
}
|
||||
|
||||
//返回提示信息
|
||||
private Object packResultMap(StationRequestBean reqBean, StationResultBean resultBean, Map<String, Object> resultMap, String message) {
|
||||
this.sendMessage(reqBean, resultBean, message, MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT);
|
||||
resultMap.put(MesPcnExtConstWords.MESSAGE, message);
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
//验证是否存在加工单
|
||||
private Boolean checkIsExistOrder(List<MesProductionPartContext> productionPartContextList) {
|
||||
Optional<MesProductionPartContext> optional = CollectionUtils.isEmpty(productionPartContextList) ? null :
|
||||
productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getWorkOrderNo()))).findFirst();
|
||||
return (null != optional && optional.isPresent()) ? true : false;
|
||||
}
|
||||
|
||||
//列名称
|
||||
public List<AttrBean> dataAttrList(Boolean isExistOrder) {
|
||||
List<AttrBean> attrBeanList = new ArrayList<>();
|
||||
if (isExistOrder) PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.WORK_ORDER_NO, "加工单号");
|
||||
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.PART_NO, "零件编码");
|
||||
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.PART_NAME, "零件名称");
|
||||
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.QTY, "装箱个数");
|
||||
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.PACK_SPEC_QTY, "包装规格数量");
|
||||
return attrBeanList;
|
||||
}
|
||||
|
||||
//根据上下文产出零件信息封装列表数据
|
||||
private void packResultList2Ppc(StationRequestBean reqBean, StepResult stepResult, List<MesProductionPartContext> productionPartContextList, Boolean isExistOrder,
|
||||
Map<String, MesPackageRuleContext> packageRuleContextMap, List<MesPackageDataContext> resultList) {
|
||||
List<MesProductionPartContext> filterList;
|
||||
if (isExistOrder) {
|
||||
filterList = productionPartContextList.stream().filter(o -> (null != o && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0))
|
||||
.distinct().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MesProductionPartContext::getWorkOrderNo))), ArrayList::new));
|
||||
} else {
|
||||
filterList = productionPartContextList.stream().filter(o -> (null != o && o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0))
|
||||
.distinct().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MesProductionPartContext::getPartNo))), ArrayList::new));
|
||||
}
|
||||
|
||||
for (MesProductionPartContext productionPartContext : filterList) {
|
||||
if (null == productionPartContext) continue;
|
||||
MesPackageDataContext packageDataContext = new MesPackageDataContext();
|
||||
|
||||
MesPackageRuleContext packageRuleContext = packageRuleContextMap.get(productionPartContext.getPartNo());
|
||||
if (null == packageRuleContext) {
|
||||
packageRuleContext = packageNoGenerateStepService.getPackageRuleContext(reqBean, stepResult, productionPartContext.getPartNo(), false);
|
||||
if (null != packageRuleContext) packageRuleContextMap.put(productionPartContext.getPartNo(), packageRuleContext);
|
||||
}
|
||||
if (null != packageRuleContext) BeanUtils.copyProperties(packageRuleContext, packageDataContext);
|
||||
|
||||
packageDataContext.setWorkOrderNo(productionPartContext.getWorkOrderNo());
|
||||
packageDataContext.setQty(isExistOrder ? productionPartContext.getQty() : packageDataContext.getPackSpecQty());
|
||||
resultList.add(packageDataContext);
|
||||
}
|
||||
}
|
||||
|
||||
//根据上下文产品加工规则数据信息封装列表数据
|
||||
private void packResultList2Prc(StationRequestBean reqBean, StepResult stepResult, List<MesProdRuleContext> prodRuleContextList,
|
||||
Map<String, MesPackageRuleContext> packageRuleContextMap, List<MesPackageDataContext> resultList) {
|
||||
List<MesProdRuleContext> filterList = prodRuleContextList.stream().filter(o -> null != o)
|
||||
.distinct().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(MesProdRuleContext::getOutPartNo))), ArrayList::new));
|
||||
|
||||
for (MesProdRuleContext prodRuleContext : filterList) {
|
||||
if (null == prodRuleContext) continue;
|
||||
MesPackageDataContext packageDataContext = new MesPackageDataContext();
|
||||
|
||||
MesPackageRuleContext packageRuleContext = packageRuleContextMap.get(prodRuleContext.getOutPartNo());
|
||||
if (null == packageRuleContext) {
|
||||
packageRuleContext = packageNoGenerateStepService.getPackageRuleContext(reqBean, stepResult, prodRuleContext.getOutPartNo(), false);
|
||||
if (null != packageRuleContext) packageRuleContextMap.put(prodRuleContext.getOutPartNo(), packageRuleContext);
|
||||
}
|
||||
if (null != packageRuleContext) BeanUtils.copyProperties(packageRuleContext, packageDataContext);
|
||||
|
||||
packageDataContext.setQty(packageDataContext.getPackSpecQty());
|
||||
resultList.add(packageDataContext);
|
||||
}
|
||||
}
|
||||
|
||||
//根据用户选择的零件信息封装列表数据
|
||||
private void packResultList2PartNo(StationRequestBean reqBean, StepResult stepResult, String partNo,
|
||||
Map<String, MesPackageRuleContext> packageRuleContextMap, List<MesPackageDataContext> resultList) {
|
||||
MesPackageDataContext packageDataContext = new MesPackageDataContext();
|
||||
|
||||
MesPackageRuleContext packageRuleContext = packageRuleContextMap.get(partNo);
|
||||
if (null == packageRuleContext) {
|
||||
packageRuleContext = packageNoGenerateStepService.getPackageRuleContext(reqBean, stepResult, partNo, false);
|
||||
if (null != packageRuleContext) packageRuleContextMap.put(partNo, packageRuleContext);
|
||||
}
|
||||
if (null != packageRuleContext) BeanUtils.copyProperties(packageRuleContext, packageDataContext);
|
||||
|
||||
packageDataContext.setQty(packageDataContext.getPackSpecQty());
|
||||
resultList.add(packageDataContext);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,292 @@
|
||||
#\u9879\u76EE\u7AEF\u53E3
|
||||
server.port=8350
|
||||
#\u672C\u673Aip
|
||||
impp.server.ip=localhost
|
||||
#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://localhost:8350
|
||||
pcn.code=PCN-U7
|
||||
########\u5E73\u53F0\u76F8\u5173\u53C2\u6570##########
|
||||
#\u662F\u5426\u5F00\u5x42Fredis\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_$->{[152,156,300]}
|
||||
spring.shardingsphere.sharding.tables.mes_equipment_log.actual-data-nodes=ds0.mes_equipment_log_$->{1..300}
|
||||
|
||||
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}
|
||||
|
||||
#spring.shardingsphere.sharding.tables.mes_equipment_log_detail.actual-data-nodes=ds0.mes_equipment_log_detail_$->{[152,156,300]}
|
||||
spring.shardingsphere.sharding.tables.mes_equipment_log_detail.actual-data-nodes=ds0.mes_equipment_log_detail_$->{1..500}
|
||||
spring.shardingsphere.sharding.tables.mes_equipment_log_detail.table-strategy.inline.sharding-column=equip_id
|
||||
spring.shardingsphere.sharding.tables.mes_equipment_log_detail.table-strategy.inline.algorithm-expression=mes_equipment_log_detail_$->{equip_id}
|
||||
|
||||
#\u7ED1\u5B9A\u8868
|
||||
spring.shardingsphere.sharding.binding-tables[0]=mes_equipment_log,mes_equipment_log_detail
|
||||
|
||||
#\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=false
|
||||
|
||||
server.tomcat.max-threads=300
|
||||
server.tomcat.max-connections=300
|
||||
plugin.mainPackage=cn.estsh.i3plus
|
||||
|
||||
impp.xxlJob.admin.enable=true
|
||||
impp.schedule.scheduleType=xxljob
|
||||
xxl.job.admin.addresses=http://10.195.88.71:10010/xxl-job-admin
|
||||
### xxl-job, access token
|
||||
xxl.job.accessToken=
|
||||
### xxl-job executor appname
|
||||
#xxl.job.executor.appname=${project.name}
|
||||
xxl.job.executor.appname=i3mes-pcn
|
||||
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
|
||||
xxl.job.executor.address=
|
||||
### xxl-job executor server-info
|
||||
xxl.job.executor.ip=10.195.88.71
|
||||
#xxl.job.executor.ip=
|
||||
xxl.job.executor.port=12345
|
||||
### xxl-job executor log-path
|
||||
xxl.job.executor.logpath=
|
||||
### xxl-job executor log-retention-days
|
||||
xxl.job.executor.logretentiondays=10
|
||||
xxl.job.basePackage=cn.estsh.i3plus.lac.scheduler.schedulejob
|
||||
|
||||
|
||||
mqtt.host=tcp://10.195.88.71:1883
|
||||
mqtt.userName=estsh
|
||||
mqtt.passWord=estsh123
|
||||
mqtt.qos=1
|
||||
mqtt.clientId=pcn
|
||||
mqtt.timeout=10
|
||||
mqtt.keepalive=30
|
||||
mqtt.clearSession=true
|
||||
pcn.mqtt.flag = true
|
||||
mqtt.topic.list=ABC,ABD,ADE
|
||||
xxl.job.execute.methodName=executeImppJob,execute
|
Loading…
Reference in New Issue