forked from I3-YF/i3plus-mes-pcn-yfai
Merge remote-tracking branch 'origin/dev' into dev
commit
8727fe218e
@ -0,0 +1,17 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.base;
|
||||
|
||||
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesOrg;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 责任人库区关系
|
||||
* @Author: gsz
|
||||
* @Date: 2024/5/25 18:16
|
||||
* @Modify:
|
||||
*/
|
||||
public interface IMesOrgService {
|
||||
|
||||
List<MesOrg> queryMesOrg(MesOrg mesOrg);
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.api.busi;
|
||||
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IMesNumberRuleMatchDispatchService {
|
||||
|
||||
@ApiOperation(value = "编码规则匹配")
|
||||
default List<?> matchNumberRule(String organizeCode, String sn, List<?> numberRuleList) { return numberRuleList; }
|
||||
|
||||
@ApiOperation(value = "编码规则匹配")
|
||||
default Boolean matchNumberRule(String organizeCode, String sn, Object... params) { return true; }
|
||||
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesOrgService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesOrg;
|
||||
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
|
||||
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.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 责任人库区关系
|
||||
* @Author: gsz
|
||||
* @Date: 2024/6/5 10:16
|
||||
* @Modify:
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesOrg")
|
||||
public class MesOrgController {
|
||||
@Autowired
|
||||
private IMesOrgService mesOrgService;
|
||||
|
||||
|
||||
@GetMapping(value = "/query")
|
||||
@ApiOperation(value = "查询责任人区域关系")
|
||||
public ResultBean queryMesProdShiftRecord(MesOrg mesOrg) {
|
||||
try {
|
||||
|
||||
List<MesOrg> mesOrgList= mesOrgService.queryMesOrg(mesOrg);
|
||||
return ResultBean.success("查询成功")
|
||||
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(mesOrgList);
|
||||
} catch (ImppBusiException e) {
|
||||
return ResultBean.fail(e).build();
|
||||
} catch (Exception e) {
|
||||
return ResultBean.fail(e);
|
||||
}
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesOrgService;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.base.util.StringUtil;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesOrg;
|
||||
import cn.estsh.i3plus.pojo.mes.repository.MesOrgRepository;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 责任人区域关系
|
||||
* @Author: gsz
|
||||
* @Date: 2024/6/5 10:16
|
||||
* @Modify:
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class MesOrgServiceImpl implements IMesOrgService {
|
||||
|
||||
@Autowired
|
||||
private MesOrgRepository mesOrgRDao;
|
||||
|
||||
@Override
|
||||
public List<MesOrg> queryMesOrg(MesOrg bean) {
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode());
|
||||
DdlPreparedPack.getStringEqualPack(bean.getInventoryLocationCode(), "inventoryLocationCode", packBean);
|
||||
if(StringUtil.isEmpty(bean.getResponsibleParty())){
|
||||
DdlPreparedPack.getIsNotNull( "responsibleParty", packBean);
|
||||
}else {
|
||||
DdlPreparedPack.getStringEqualPack(bean.getResponsibleParty(), "responsibleParty", packBean);
|
||||
}
|
||||
packBean.setOrderByStr(bean.orderBy());
|
||||
|
||||
return mesOrgRDao.findByHqlWhere(packBean);
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.rulematch;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNumberRuleMatchDispatchService;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleNosortCfg;
|
||||
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Primary
|
||||
@Service
|
||||
public class MesNumberRuleMatchDispatchService implements IMesNumberRuleMatchDispatchService {
|
||||
|
||||
@Override
|
||||
public List<?> matchNumberRule(String organizeCode, String sn, List<?> numberRuleList) {
|
||||
|
||||
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(sn) || CollectionUtils.isEmpty(numberRuleList)) return null;
|
||||
|
||||
List<Object> resultList = new ArrayList<>();
|
||||
|
||||
if (numberRuleList.get(0) instanceof MesProdRuleNosortCfg) numberRuleList.forEach(o -> matchNumberRule(organizeCode, sn, resultList, o, "mesNumberRuleMatchRegularExpressionService", ((MesProdRuleNosortCfg) o).getInPartNoRule()));
|
||||
|
||||
return resultList;
|
||||
|
||||
}
|
||||
|
||||
private void matchNumberRule(String organizeCode, String sn, List<Object> resultList, Object o, String strategyClass, Object... params) {
|
||||
|
||||
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(sn) || StringUtils.isEmpty(strategyClass) || null == o) return;
|
||||
|
||||
Boolean result = ((IMesNumberRuleMatchDispatchService) SpringContextsUtil.getBean(strategyClass)).matchNumberRule(organizeCode, sn, o, params);
|
||||
|
||||
if (result) resultList.add(o);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.rulematch;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNumberRuleMatchDispatchService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 正则表达式匹配
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MesNumberRuleMatchRegularExpressionService implements IMesNumberRuleMatchDispatchService {
|
||||
|
||||
@Override
|
||||
public Boolean matchNumberRule(String organizeCode, String sn, Object... params) {
|
||||
|
||||
String matchRule = (String) params[0];
|
||||
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,87 @@
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,37 +1,218 @@
|
||||
//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.mes.pcn.serviceimpl.fsm.BaseStepService;
|
||||
//import cn.estsh.i3plus.pojo.mes.model.StationRequestBean;
|
||||
//import cn.estsh.i3plus.pojo.mes.model.StepResult;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
///**
|
||||
// * @Description : 扫描主条码工步
|
||||
// * @Author : wangjie
|
||||
// **/
|
||||
//@Slf4j
|
||||
//@Service("mesProductSnScanStepService")
|
||||
//public class MesProductSnScanStepService extends BaseStepService {
|
||||
//
|
||||
// @Autowired
|
||||
// private IMesProductionProcessContextStepService productionProcessContextStepService;
|
||||
//
|
||||
// @Autowired
|
||||
// private IMesProductionDispatchContextStepService productionDispatchContextStepService;
|
||||
//
|
||||
//
|
||||
//
|
||||
// @Override
|
||||
// public StepResult execute(StationRequestBean reqBean) {
|
||||
//
|
||||
// return null;
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//}
|
||||
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("mesProductSnScanStepService")
|
||||
public class MesProductSnScanStepService extends BaseStepService {
|
||||
|
||||
@Autowired
|
||||
private IMesProductionProcessContextStepService productionProcessContextStepService;
|
||||
|
||||
@Autowired
|
||||
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
|
||||
|
||||
@Autowired
|
||||
private IFsmCommonService fsmCommonService;
|
||||
|
||||
@Override
|
||||
public StepResult guide(StationRequestBean reqBean) {
|
||||
|
||||
productionDispatchContextStepService.doSendStepContextMessage(reqBean);
|
||||
|
||||
return execSuccessCompleteAndSendGuideReturn(reqBean, new StationResultBean().writeDbLog(), "请扫描主条码!");
|
||||
|
||||
}
|
||||
|
||||
@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);
|
||||
|
||||
//扫描信息置空
|
||||
String scanInfo = reqBean.resetScanInfo(reqBean.getScanInfo());
|
||||
|
||||
//当前工位使用的设备
|
||||
MesCellEquipContext cellEquipmentContext = productionProcessContext.getCurCellEquip();
|
||||
|
||||
//获取上下文产出零件信息
|
||||
List<MesProductionPartContext> productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean);
|
||||
|
||||
//获取上下文扫/读信息:主条码
|
||||
List<MesEquipVariableCollectContext> equipVariableCollectContextList = productionDispatchContextStepService.getScanProductSnContext(reqBean);
|
||||
|
||||
//获取进料主条码数据信息
|
||||
List<MesProductionPsInContext> productionPsInContextList = productionDispatchContextStepService.getProductionPsInContext(reqBean);
|
||||
|
||||
//验证扫描信息是否属于工艺跳过码
|
||||
Boolean isCraftJumpCode = checkScanInfoMatchCraftJumpCode(reqBean, scanInfo);
|
||||
|
||||
//不属于工艺跳过码时,剔除此前已标记工艺防错结果错误的数据,如有数据变更则标记 stepResult.obj 为true
|
||||
if (!isCraftJumpCode && !CollectionUtils.isEmpty(productionPsInContextList)) productionPsInContextList = removeCraftCheckFailureData(stepResult, productionPsInContextList);
|
||||
|
||||
//验证扫描信息属于工艺跳过码的情况下是否支持跳过
|
||||
Boolean isAllowJump = checkIsAllowJump(reqBean, productionPsInContextList, isCraftJumpCode, scanInfo);
|
||||
|
||||
//封装待验证的主条码信息
|
||||
if (!isCraftJumpCode && !StringUtils.isEmpty(scanInfo)) equipVariableCollectContextList = doHandleScanProductSnContext(reqBean, stepResult, equipVariableCollectContextList, scanInfo);
|
||||
|
||||
//先判断前期扫描数量
|
||||
Integer scanedQty = (CollectionUtils.isEmpty(equipVariableCollectContextList) ? MesPcnExtConstWords.ZERO : equipVariableCollectContextList.size()) + (CollectionUtils.isEmpty(productionPsInContextList) ? MesPcnExtConstWords.ZERO : productionPsInContextList.size());
|
||||
|
||||
//根据产出零件或者腔数拿到需要的扫描数量, 优先使用产出零件数量
|
||||
Integer needQty = !CollectionUtils.isEmpty(productionPartContextList) ? productionPartContextList.size() : cellEquipmentContext.getCavity();
|
||||
|
||||
//扫描信息为空
|
||||
if (scanedQty.compareTo(needQty) < 0 && StringUtils.isEmpty(scanInfo)) execSendGuideAndThrowEx(reqBean, resultBean.writeDbLog(), "请扫描主条码!");
|
||||
|
||||
//发送工步内容
|
||||
productionDispatchContextStepService.doSendStepContextMessage(reqBean, scanInfo, MesExtEnumUtil.CELL_MESSAGE_SOURCE.READ);
|
||||
|
||||
//验证前期扫描数量是否已超过匹配腔数
|
||||
checkIsAboveNeedQty(reqBean, resultBean, stepResult, scanedQty, needQty, equipVariableCollectContextList, productionPsInContextList, productionPartContextList, cellEquipmentContext);
|
||||
|
||||
//扫描信息匹配跳过码, 判断是否允许跳过
|
||||
if (isCraftJumpCode && !isAllowJump) return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息工艺跳过码[%s],上下文中目前没有可以跳过的主条码信息!", scanInfo));
|
||||
|
||||
//验证是否存在重复主条码
|
||||
if (checkIsExistRepeatScan(productionProcessContext, equipVariableCollectContextList, productionPsInContextList)) return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息主条码[%s],上下文中存在重复扫描的主条码!", scanInfo));
|
||||
|
||||
//允许跳过码 或者 存在 stepResult.obj 则保存进料主条码数据到上下文中
|
||||
if (isAllowJump || null != stepResult.getObj()) productionDispatchContextStepService.saveProductionPsInContext(reqBean, productionPsInContextList);
|
||||
//不属于工艺跳过码时, 则保存上下文扫/读信息:主条码
|
||||
if (!isCraftJumpCode) productionDispatchContextStepService.saveScanProductSnContext(reqBean, equipVariableCollectContextList);
|
||||
|
||||
//属于工艺跳过码时并且允许跳过时,直接返回成功
|
||||
if (isCraftJumpCode && isAllowJump) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息工艺跳过码[%s]!", scanInfo));
|
||||
|
||||
//前期扫描数量已等于腔数
|
||||
if (scanedQty.compareTo(needQty) == 0)
|
||||
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息主条码[%s],上下文中的主条码个数[%s]已满足腔数!", scanInfo, scanedQty));
|
||||
|
||||
//是否支持混腔扫描[工位参数]
|
||||
String cavityNosortCfg = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean).get(MesPcnExtConstWords.CAVITY_NOSORT_CFG);
|
||||
if (StringUtils.isEmpty(cavityNosortCfg)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("当前扫描信息主条码[%s]!", scanInfo));
|
||||
|
||||
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()));
|
||||
|
||||
}
|
||||
|
||||
//剔除此前已标记工艺防错结果错误的数据,如有数据变更则标记 stepResult.obj
|
||||
private List<MesProductionPsInContext> removeCraftCheckFailureData(StepResult stepResult, List<MesProductionPsInContext> productionPsInContextList) {
|
||||
Integer sourceSize = productionPsInContextList.size();
|
||||
productionPsInContextList = productionPsInContextList.stream().filter(o -> (null != o && o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0 && o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0)).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(productionPsInContextList) || productionPsInContextList.size() < sourceSize) stepResult.obj(true);
|
||||
return productionPsInContextList;
|
||||
}
|
||||
|
||||
//验证扫描信息属于工艺跳过码的情况下是否支持跳过
|
||||
private Boolean checkIsAllowJump(StationRequestBean reqBean, List<MesProductionPsInContext> productionPsInContextList, Boolean isCraftJumpCode, String scanInfo) {
|
||||
AtomicReference<Boolean> isAllowJump = new AtomicReference<>(false);
|
||||
if (CollectionUtils.isEmpty(productionPsInContextList)) return isAllowJump.get();
|
||||
//修改此前已标记工艺防错结果错误的数据, 标记跳过码
|
||||
productionPsInContextList.forEach(o -> {
|
||||
if (o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 || o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) {
|
||||
o.setCraftJumpCode(scanInfo);
|
||||
isAllowJump.set(true);
|
||||
}
|
||||
});
|
||||
//不存在错误的数据则返回false
|
||||
return isAllowJump.get();
|
||||
}
|
||||
|
||||
//验证扫描信息是否属于工艺跳过码
|
||||
private Boolean checkScanInfoMatchCraftJumpCode(StationRequestBean reqBean, String scanInfo) {
|
||||
if (StringUtils.isEmpty(scanInfo)) return false;
|
||||
String craftJumpCode = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean).get(MesPcnExtConstWords.CRAFT_JUMP_CODE);
|
||||
if (StringUtils.isEmpty(craftJumpCode)) return false;
|
||||
return scanInfo.equals(craftJumpCode) ? true : false;
|
||||
}
|
||||
|
||||
//验证前期扫描数量是否已超过匹配腔数
|
||||
private void checkIsAboveNeedQty(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, Integer scanedQty, Integer needQty,
|
||||
List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPsInContext> productionPsInContextList, List<MesProductionPartContext> productionPartContextList, MesCellEquipContext cellEquipmentContext) {
|
||||
if (scanedQty.compareTo(needQty) <= 0) return;
|
||||
String message = String.format("请检查相关数据,上下文中的主条码个数[%s]已满足腔数[%s],可重置工位解决!", scanedQty, needQty);
|
||||
this.sendMessage(reqBean, resultBean, message +
|
||||
" --- List<MesEquipVariableCollectContext> --- [" + getJsonMessage(equipVariableCollectContextList) + "]" +
|
||||
" --- List<MesProductionPsInContext> --- [" + getJsonMessage(productionPsInContextList) + "]" +
|
||||
" --- List<MesProductionPartContext> --- [" + getJsonMessage(productionPartContextList) + "]" +
|
||||
" --- MesCellEquipContext --- [" + JSONObject.toJSONString(cellEquipmentContext) + "] ---", MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT);
|
||||
execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), message);
|
||||
}
|
||||
|
||||
//集合判空转JSON
|
||||
private String getJsonMessage(List list) {
|
||||
return CollectionUtils.isEmpty(list) ? MesPcnExtConstWords.EMPTY : JSONObject.toJSONString(list);
|
||||
}
|
||||
|
||||
//封装扫/读信息:主条码信息
|
||||
private List<MesEquipVariableCollectContext> doHandleScanProductSnContext(StationRequestBean reqBean, StepResult stepResult, List<MesEquipVariableCollectContext> equipVariableCollectContextList, String scanInfo) {
|
||||
|
||||
if (CollectionUtils.isEmpty(equipVariableCollectContextList)) equipVariableCollectContextList = new ArrayList<>();
|
||||
|
||||
equipVariableCollectContextList.add(new MesEquipVariableCollectContext(reqBean.getOrganizeCode(), scanInfo, TimeTool.getNowTime(true)));
|
||||
|
||||
return equipVariableCollectContextList;
|
||||
|
||||
}
|
||||
|
||||
//验证是否存在重复主条码
|
||||
private Boolean checkIsExistRepeatScan(MesProductionProcessContext productionProcessContext, List<MesEquipVariableCollectContext> equipVariableCollectContextList, List<MesProductionPsInContext> productionPsInContextList) {
|
||||
|
||||
//剔除finishCode信息
|
||||
List<String> filterList1 = equipVariableCollectContextList.stream().filter(o -> (null != o && !o.getEquipVariableValue().equals(productionProcessContext.getFinishCode()))).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList());
|
||||
//剔除finishCode信息
|
||||
List<String> filterList2 = productionPsInContextList.stream().filter(o -> (null != o && !o.getProductSn().equals(productionProcessContext.getFinishCode()))).map(MesProductionPsInContext::getProductSn).collect(Collectors.toList());
|
||||
|
||||
List<String> filterList = new ArrayList<>();
|
||||
if (CollectionUtils.isEmpty(filterList1)) filterList.addAll(filterList1);
|
||||
if (CollectionUtils.isEmpty(filterList2)) filterList.addAll(filterList2);
|
||||
|
||||
//验证是否存在重复条码
|
||||
if (!CollectionUtils.isEmpty(filterList) && filterList.size() != filterList.stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()).size()) return true;
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,52 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
|
||||
|
||||
import akka.actor.ActorRef;
|
||||
import akka.actor.ActorSystem;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService;
|
||||
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
|
||||
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
* @Description : 生产汇报工步
|
||||
* @Author : zxw
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MesReportGenerateStepService extends BaseStepService {
|
||||
|
||||
@Autowired
|
||||
private IMesProductionDispatchContextStepService mesProductionDispatchContextStepService;
|
||||
|
||||
@Autowired
|
||||
private IMesWorkOrderService mesWorkOrderService;
|
||||
|
||||
|
||||
|
||||
public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT";
|
||||
|
||||
private static final Map<String, ActorRef> refMap = new ConcurrentHashMap<>(200);
|
||||
|
||||
@Override
|
||||
public StepResult execute(StationRequestBean reqBean) {
|
||||
StationResultBean resultBean = new StationResultBean();
|
||||
|
||||
StepResult stepResult = StepResult.getSuccessComplete();
|
||||
List<MesProduceSn> mesProduceSns = mesProductionDispatchContextStepService.getOutProduceSnDataContext(reqBean);
|
||||
|
||||
mesWorkOrderService.doProductReport(mesProduceSns, reqBean.getOrganizeCode(), reqBean.getUserInfo());
|
||||
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "保存加工结果成功");
|
||||
}
|
||||
}
|
@ -0,0 +1,102 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
|
||||
|
||||
import akka.actor.ActorRef;
|
||||
import akka.actor.ActorSystem;
|
||||
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.MesCellEquipContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ActorMessage;
|
||||
import cn.estsh.i3plus.mes.pcn.config.SpringExtProvider;
|
||||
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
|
||||
import cn.estsh.i3plus.pojo.base.codemaker.SnowflakeIdMaker;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
||||
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 java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
/**
|
||||
* @Description : 加工异常处理工步
|
||||
* @Author : zxw
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MesSaveProcessResultStepService extends BaseStepService {
|
||||
@Autowired
|
||||
private SnowflakeIdMaker snowflakeIdMaker;
|
||||
|
||||
@Autowired
|
||||
private ActorSystem actorSystem;
|
||||
|
||||
@Autowired
|
||||
private IMesProductionProcessContextStepService productionProcessContextStepService;
|
||||
|
||||
@Autowired
|
||||
private MesVariableWhenFinishedReadStepService mesVariableWhenFinishedReadStepService;
|
||||
|
||||
@Autowired
|
||||
private MesMouldRecordGenerateStepService mesMouldRecordGenerateStepService;
|
||||
|
||||
@Autowired
|
||||
private MesProductSnSaveStepService MesProductSnSaveStepService;
|
||||
|
||||
@Autowired
|
||||
private MesProductionReocrdGenerateStepService mesProductionReocrdGenerateStepService;
|
||||
|
||||
@Autowired
|
||||
private IMesProductionDispatchContextStepService mesProductionDispatchContextStepService;
|
||||
|
||||
@Autowired
|
||||
private MesProductResultErrorHandleStepService mesProductResultErrorHandleStepService;
|
||||
|
||||
@Autowired
|
||||
private MesReportGenerateStepService mesReportGenerateStepService;
|
||||
|
||||
public static final String ORDER_NO_JIS_SORT = "ORDER_NO_JIS_SORT";
|
||||
|
||||
private static final Map<String, ActorRef> refMap = new ConcurrentHashMap<>(200);
|
||||
|
||||
@Override
|
||||
public StepResult execute(StationRequestBean reqBean) {
|
||||
StationResultBean resultBean = new StationResultBean();
|
||||
|
||||
StepResult stepResult = StepResult.getSuccessComplete();
|
||||
/**
|
||||
* 生成开模记录
|
||||
*/
|
||||
mesMouldRecordGenerateStepService.execute(reqBean);
|
||||
/**
|
||||
* 保存零件条码信息工步
|
||||
*/
|
||||
MesProductSnSaveStepService.execute(reqBean);
|
||||
/**
|
||||
* 生成加工记录工步
|
||||
*/
|
||||
mesProductionReocrdGenerateStepService.execute(reqBean);
|
||||
/**
|
||||
* 加工异常处理工步
|
||||
*/
|
||||
mesProductResultErrorHandleStepService.execute(reqBean);
|
||||
/**
|
||||
* 报工
|
||||
*/
|
||||
mesReportGenerateStepService.execute(reqBean);
|
||||
|
||||
mesProductionDispatchContextStepService.deleteFirstMouldNoContext(reqBean);
|
||||
mesProductionDispatchContextStepService.deleteMouldNoContext(reqBean);
|
||||
mesProductionDispatchContextStepService.deleteProductResultContext(reqBean);
|
||||
mesProductionDispatchContextStepService.deleteReadySignalContext(reqBean);
|
||||
|
||||
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "保存加工结果成功");
|
||||
}
|
||||
}
|
@ -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
|
@ -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
|
@ -0,0 +1,67 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.pojo.context;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
||||
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 生产过程上下文对象-零件条码(非排序进料零件条码/排序工单号)
|
||||
*/
|
||||
@Data
|
||||
public class MesProductionPsInContext implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4337949265011880288L;
|
||||
|
||||
@ApiParam(name = "数据关联键 排序:生产工单号 非排序:snowflakeId")
|
||||
private Integer 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;
|
||||
|
||||
@ApiParam("工艺跳过码")
|
||||
private String craftJumpCode;
|
||||
|
||||
//默认否
|
||||
@ApiParam("是否顺序防错")
|
||||
private Integer isCheckSeq = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue();
|
||||
|
||||
//默认否
|
||||
@ApiParam(name = "是否前道工艺防错")
|
||||
private Integer isCheckCraft = CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue();
|
||||
|
||||
//默认未验证
|
||||
@ApiParam("顺序防错结果")
|
||||
private Integer checkSeqResult = MesPcnExtConstWords.ZERO;
|
||||
|
||||
//默认未验证
|
||||
@ApiParam(name = "前道工艺防错结果")
|
||||
private Integer checkCraftResult = MesPcnExtConstWords.ZERO;
|
||||
|
||||
public MesProductionPsInContext foreignKey(Integer foreignKey) {
|
||||
this.foreignKey = foreignKey;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package cn.estsh.i3plus.ext.mes.pcn.pojo.context;
|
||||
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 生产过程上下文对象-零件条码(非排序产出零件条码)
|
||||
*/
|
||||
@Data
|
||||
public class MesProductionPsOutContext extends MesProduceSn implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 5562937531822977296L;
|
||||
|
||||
@ApiParam(name = "数据关联键 非排序:snowflakeId")
|
||||
private String foreignKey;
|
||||
|
||||
}
|
Loading…
Reference in New Issue