tags/yfai-pcn-ext-v1.0
王杰 12 months ago
parent d1da64585a
commit 64547892d0

@ -32,6 +32,7 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
@Autowired
private MesProductionAssemblyRepository productionAssemblyRepository;
//【排序线】获取生产工单装配件绑定记录
@Override
public List<MesProductionAssemblyContext> getProductionAssemblySortContextList(MesProductionAssemblySortContext productionAssemblySortContext, List<String> workOrderNoList) {
@ -56,6 +57,7 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
return productionAssemblyContextList;
}
//【排序线】获取生产工单装配件清单
@Override
public List<MesWorkOrderAssembly> getWorkOrderAssemblyList(MesProductionAssemblySortContext productionAssemblySortContext, List<String> workOrderNoList) {
@ -75,6 +77,7 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
}
//获取装配件绑定记录
@Override
public List<MesProductionAssembly> getProductionAssemblyList(MesProductionAssemblyContext productionAssemblyContext, List<Long> sourceIdList) {
@ -92,14 +95,17 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
}
//剔除解绑的数据
private List<MesProductionAssembly> filterProductionAssemblyList(List<MesProductionAssembly> productionAssemblyList) {
return CollectionUtils.isEmpty(productionAssemblyList) ? null : productionAssemblyList.stream().filter(o -> (null != o && MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_20.getValue() != o.getAssemblyStatus())).collect(Collectors.toList());
}
//根据生产工单装配件清单ID分组
private Map<Long, MesProductionAssembly> groupProductionAssembly(List<MesProductionAssembly> productionAssemblyList) {
return CollectionUtils.isEmpty(productionAssemblyList) ? null : productionAssemblyList.stream().filter(o -> null != o).collect(Collectors.toMap(MesProductionAssembly::getSourceId, o -> o));
}
//根据生产工单装配件清单ID获取装配件绑定记录
private MesProductionAssembly getProductionAssembly(Map<Long, MesProductionAssembly> productionAssemblyMap, Long id) {
return CollectionUtils.isEmpty(productionAssemblyMap) ? null : productionAssemblyMap.get(id);
}

@ -0,0 +1,73 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesAssemblyExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProdRuleCfgExtService;
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.MesProductionAssemblyContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
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;
/**
* @Description :
* @Author : wangjie
**/
@Slf4j
@Service("mesAssemblyShowNosortStepService")
public class MesAssemblyShowNosortStepService extends BaseStepService {
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@Autowired
private IMesProductionDispatchContextStepService productionDispatchContextStepService;
@Autowired
private IMesProdRuleCfgExtService prodRuleCfgExtService;
@Autowired
private IMesAssemblyExtService assemblyExtService;
@Override
public StepResult execute(StationRequestBean reqBean) {
StationResultBean resultBean = new StationResultBean();
StepResult stepResult = StepResult.getSuccessComplete();
//获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean);
//配置错误 抛出异常
if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//从上下文中取出生产线对象
MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
//获取上下文装配件数据信息集合
List<MesProductionAssemblyContext> productionAssemblyContextList = productionDispatchContextStepService.getAssemblyDataContext(reqBean, workCenter);
return stepResult;
}
}

@ -5,26 +5,36 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProdRuleCfgExtService;
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.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.mes.pcn.util.LocaleUtil;
import cn.estsh.i3plus.mes.pcn.util.PojoAttrUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.model.AttrBean;
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description :
* @Description :
* @Author : wangjie
**/
@Slf4j
@Service("mesAssemblyShowStepService")
@Service("mesAssemblyShowSortStepService")
public class MesAssemblyShowSortStepService extends BaseStepService {
@Autowired
@ -61,30 +71,90 @@ public class MesAssemblyShowSortStepService extends BaseStepService {
//获取上下文装配件数据信息集合
List<MesProductionAssemblyContext> productionAssemblyContextList = productionDispatchContextStepService.getAssemblyDataContext(reqBean, workCenter);
//存在装配件数据信息, 直接展示
// if (!CollectionUtils.isEmpty(productionAssemblyContextList)) return showProductionAssembly();
//搜集当前设备对应的装配件数据信息
productionAssemblyContextList = filterProductionAssemblyContextList(cellEquipContext, productionAssemblyContextList);
//不存在装配件数据信息则进行查询
if (CollectionUtils.isEmpty(productionAssemblyContextList)) productionAssemblyContextList = doHandleAssemblyData(reqBean, resultBean, stepResult, cellEquipContext);
if (!stepResult.isCompleted()) return stepResult;
if (CollectionUtils.isEmpty(productionAssemblyContextList)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前未查询到相关的装配件清单");
//显示装配件信息
showProductionAssembly(reqBean, resultBean, getAssemblyShowContextList(productionAssemblyContextList));
return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "显示装配件扫描项成功!");
}
private List<MesProductionAssemblyContext> doHandleAssemblyData(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesCellEquipContext cellEquipContext) {
//从上下文中取出生产工单数据信息集合
List<MesWorkOrderContext> workOrderContextList = productionDispatchContextStepService.getWorkOrderDataContext(reqBean);
//上下文中不存在生产工单数据信息集合
if (CollectionUtils.isEmpty(workOrderContextList)) return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]的上下文中已不存在生产工单数据信息,请重新扫描加工单!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
if (CollectionUtils.isEmpty(workOrderContextList)) execNonCompleteAndSendMsg(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]的上下文中已不存在生产工单数据信息,请重新扫描加工单!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//获取排序线的装配件清单
productionAssemblyContextList = assemblyExtService.getProductionAssemblySortContextList(
List<MesProductionAssemblyContext> productionAssemblyContextList = assemblyExtService.getProductionAssemblySortContextList(
new MesProductionAssemblySortContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), reqBean.getProcessCode()), workOrderContextList.stream().filter(o -> null != o).map(MesWorkOrderContext::getWorkOrderNo).collect(Collectors.toList()));
if (CollectionUtils.isEmpty(productionAssemblyContextList)) return execSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "");
//保存设备当前一轮工序的装配件清单信息
if (!CollectionUtils.isEmpty(productionAssemblyContextList)) productionDispatchContextStepService.saveAssemblyDataContext(reqBean, productionAssemblyContextList);
return filterProductionAssemblyContextList(cellEquipContext, productionAssemblyContextList);
}
return stepResult;
private List<MesProductionAssemblyContext> filterProductionAssemblyContextList(MesCellEquipContext cellEquipContext, List<MesProductionAssemblyContext> productionAssemblyContextList) {
return CollectionUtils.isEmpty(productionAssemblyContextList) ? null :
productionAssemblyContextList.stream().filter(o -> (null != o && o.getEquipmentCode().equals(cellEquipContext.getEquipmentCode()))).collect(Collectors.toList());
}
private List<MesAssemblyShowContext> getAssemblyShowContextList(List<MesProductionAssemblyContext> productionAssemblyContextList) {
List<MesAssemblyShowContext> assemblyShowContextList = new ArrayList<>();
Map<String, List<MesProductionAssemblyContext>> assemblyMap = productionAssemblyContextList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesProductionAssemblyContext::getWorkOrderNo));
for (Map.Entry<String, List<MesProductionAssemblyContext>> entry : assemblyMap.entrySet()) {
if (null == entry) continue;
List<MesAssemblyShowContext> itemList = new ArrayList<>();
for (MesProductionAssemblyContext item : entry.getValue()) {
if (null == item) continue;
itemList.add(assemblyShowContext(item));
}
itemList = itemList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesAssemblyShowContext::getRouteSeq)).collect(Collectors.toList());
assemblyShowContextList.addAll(itemList);
}
return assemblyShowContextList;
}
private void showProductionAssembly(StationRequestBean reqBean, StationResultBean resultBean, List<MesAssemblyShowContext> assemblyShowContextList) {
List<AttrBean> attrBeanList = new ArrayList<>();
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.INDEX, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "序号"));
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.PART_NO, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "零件编码"));
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.ASSEMBLY_PART_NO, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "原料编码"));
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.ASSEMBLY_PART_NAME, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "原料名称"));
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.ASSEMBLY_SN, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "原料条码"));
PojoAttrUtil.loadPojoAttrs(attrBeanList, MesPcnExtConstWords.ASSEMBLY_STATUS_NAME, LocaleUtil.transferLanguage(reqBean.getUserInfo(), "是否装配"));
resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.STEP_CUSTOM_CONTENT.getValue());
resultBean.setDataType(MesPcnEnumUtil.STATION_DATA_TYPE.TABLE.getValue());
resultBean.setResultList(assemblyShowContextList);
resultBean.setDataAttrList(attrBeanList);
this.sendMessage(reqBean, resultBean);
}
private MesAssemblyShowContext assemblyShowContext(MesProductionAssemblyContext o) {
MesAssemblyShowContext assemblyShowContext = new MesAssemblyShowContext();
BeanUtils.copyProperties(o, assemblyShowContext);
if (StringUtils.isEmpty(assemblyShowContext.getRouteSeq())) assemblyShowContext.setRouteSeq(MesPcnExtConstWords.ZERO);
if (MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_30.getValue() == assemblyShowContext.getAssemblyStatus() && (MesExtEnumUtil.ASSEMBLY_MATCH_TYPE.MATCH_TYPE_50.getValue() == assemblyShowContext.getMatchType() ||
MesExtEnumUtil.ASSEMBLY_MATCH_TYPE.MATCH_TYPE_60.getValue() == assemblyShowContext.getMatchType())) assemblyShowContext.setAssemblyStatus(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_10.getValue());
assemblyShowContext.setAssemblyStatusName(MesExtEnumUtil.ASSEMBLY_STATUS.valueOfDescription(o.getAssemblyStatus()));
if (MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_30.getValue() != assemblyShowContext.getAssemblyStatus())
assemblyShowContext.setColor(StringUtils.isEmpty(assemblyShowContext.getShowColor()) ? MesExtEnumUtil.COLOR.GREEN.getValue() : assemblyShowContext.getShowColor());
return assemblyShowContext;
}
}

@ -1,102 +1,52 @@
//package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
//
//import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesAssemblyExtService;
//import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProdRuleCfgExtService;
//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.mes.pcn.serviceimpl.fsm.BaseStepService;
//import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
//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 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.stream.Collectors;
//
///**
// * @Description : 显示装配件扫描项工步
// * @Author : wangjie
// **/
//@Slf4j
//@Service("mesAssemblyShowStepService")
//public class MesAssemblyShowStepService extends BaseStepService {
//
// @Autowired
// private IMesProductionProcessContextStepService productionProcessContextStepService;
//
// @Autowired
// private IMesProductionDispatchContextStepService productionDispatchContextStepService;
//
// @Autowired
// private IMesProdRuleCfgExtService prodRuleCfgExtService;
//
// @Autowired
// private IMesAssemblyExtService assemblyExtService;
//
// @Override
// public StepResult execute(StationRequestBean reqBean) {
//
// StationResultBean resultBean = new StationResultBean();
//
// StepResult stepResult = StepResult.getSuccessComplete();
//
// //获取上下文信息
// MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean);
//
// //配置错误 抛出异常
// if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
//
// //从上下文中取出生产线对象
// MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//
// //从上下文中取出生产线对象
// MesCellEquipContext cellEquipContext = productionProcessContext.getCurCellEquip();
//
// //获取排序线的装配件清单
// if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == workCenter.getCenterType()) return doAssemblyShow2Sort(reqBean, resultBean, stepResult, productionProcessContext, workCenter, cellEquipContext);
//
// //验证上下文是否存在装配件数据信息集合
// List<MesProductionAssemblyContext> productionAssemblyContextList = productionDispatchContextStepService.getAssemblyDataList(workCenter);
//
//
//
//
//
//
//
//
// //获取非排序线的装配件清单
// return doAssemblyShow2Nosort(reqBean, resultBean, stepResult, productionProcessContext, workCenter, cellEquipContext);
//
// }
//
// //获取排序线的装配件清单
// private StepResult doAssemblyShow2Sort(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesWorkCenter workCenter, MesCellEquipContext cellEquipContext) {
//
// //从上下文中取出生产工单数据信息集合
// List<MesWorkOrderContext> workOrderContextList =
//
// //上下文中不存在生产工单数据信息集合
// if (CollectionUtils.isEmpty(workOrderContextList)) return execNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]的上下文中已不存在生产工单数据信息,请重新扫描加工单!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode()));
//
// List<MesProductionAssemblyContext> productionAssemblyContextList = assemblyExtService.getProductionAssemblySortContextList(
// new MesProductionAssemblySortContext(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), reqBean.getProcessCode()), workOrderContextList.stream().filter(o -> null != o).map(MesWorkOrderContext::getWorkOrderNo).collect(Collectors.toList()));
//
// if (CollectionUtils.isEmpty(productionAssemblyContextList)) return stepResult;
//
// //设备
//
//
// return stepResult;
//
// }
//
//
//
//}
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService;
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IStepService;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
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 cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Description :
* @Author : wangjie
**/
@Slf4j
@Service("mesAssemblyShowStepService")
public class MesAssemblyShowStepService extends BaseStepService {
@Autowired
private IMesProductionProcessContextStepService productionProcessContextStepService;
@Override
public StepResult execute(StationRequestBean reqBean) {
StationResultBean resultBean = new StationResultBean();
StepResult stepResult = StepResult.getSuccessComplete();
//获取上下文信息
MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getCurCellEquipment(reqBean);
//配置错误 抛出异常
if (!productionProcessContext.getSuccess()) execExpSendMsgAndThrowEx(reqBean, resultBean.writeDbLog(), productionProcessContext.getMessage());
//从上下文中取出生产线对象
MesWorkCenter workCenter = productionProcessContext.getWorkCenter();
//获取排序线的装配件清单
if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == workCenter.getCenterType()) return ((IStepService) SpringContextsUtil.getBean("mesAssemblyShowSortStepService")).execute(reqBean);
//获取非排序线的装配件清单
return ((IStepService) SpringContextsUtil.getBean("mesAssemblyShowNosortStepService")).execute(reqBean);
}
}

@ -0,0 +1,46 @@
package cn.estsh.i3plus.ext.mes.pcn.pojo.context;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.io.Serializable;
/**
* -
*/
@Data
public class MesAssemblyShowContext implements Serializable {
private static final long serialVersionUID = -3650546953572889323L;
@ApiParam("零件编码")
private String partNo;
@ApiParam("装配件零件编码")
private String assemblyPartNo;
@ApiParam("装配件零件名称")
private String assemblyPartName;
@ApiParam("装配件条码")
private String assemblySn;
@ApiParam(value = "装备序号")
private Integer routeSeq;
@ApiParam("显示颜色")
private String color;
@ApiParam(value = "显示颜色(配置)")
private String showColor;
@ApiParam("装配零件状态")
private Integer assemblyStatus;
@ApiParam("装配件条码确认方式")
private String matchType;
@ApiParam("装配零件状态")
private String assemblyStatusName;
}

@ -16,7 +16,7 @@ public class MesProductionAssemblyContext implements Serializable {
@ApiParam("加工记录ID")
public Long productionRecordId;
@ApiParam("装配件零件")
@ApiParam("装配件零件编码")
public String assemblyPartNo;
@ApiParam("装配件零件名称")

@ -48,6 +48,10 @@ public class MesPcnExtConstWords {
public static final String MODIFY_USER = "modifyUser";
// 修改人
public static final String USER_INFO = "userInfo";
// 零件编码
public static final String PART_NO = "partNo";
// 零件名称
public static final String PART_NAME = "partName";
// 设备代码
public static final String EQUIPMENT_CODE = "equipmentCode";
// 设备ID
@ -72,6 +76,18 @@ public class MesPcnExtConstWords {
public static final String SOURCE_ID = "sourceId";
// 装配件绑定状态
public static final String ASSEMBLY_STATUS = "assemblyStatus";
// 装配件绑定状态
public static final String ASSEMBLY_STATUS_NAME = "assemblyStatusName";
// 装配件零件编码
public static final String ASSEMBLY_PART_NO = "assemblyPartNo";
// 装配件零件名称
public static final String ASSEMBLY_PART_NAME = "assemblyPartName";
// 装配件条码
public static final String ASSEMBLY_SN = "assemblySn";
// 装备序号
public static final String ROUTE_SEQ = "routeSeq";
// 序号
public static final String INDEX = "index";

Loading…
Cancel
Save