装配目视单打印

tags/yfai-mes-ext-v2.3
yxw 8 months ago
parent edb6dea585
commit 7c82801377

@ -14,4 +14,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
public interface IMesLabelTemplateService extends IBaseMesService<MesLabelTemplate> {
ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager);
MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode);
}

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail;
import java.util.List;
import java.util.Map;
/**
* @Description:
@ -28,4 +29,6 @@ public interface IMesPartProdGroupService extends IBaseMesService<MesPartProdGro
* @return
*/
List<MesPartProdGroupDetail> findDetailByCode(String partGroupCode,String organizeCode);
Map<String, MesPartProdGroup> getMesPartProdGroupMap(String organizeCode, List<String> partProdGroupCodeList);
}

@ -4,6 +4,8 @@ import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description:
* @CreateDate 2024/04/16
@ -17,4 +19,7 @@ public interface IMesWorkCenterService extends IBaseMesService<MesWorkCenter> {
@ApiOperation(value = "根据生产线代码查询生产线信息的ERP生产线代码")
String getErpWorkCenterCode(String organizeCode, String workCenterCode);
@ApiOperation(value = "根据产线代码集合查询产线信息集合")
List<MesWorkCenter> queryMesWorkCenterList(List<String> workCenterCodeList, String organizeCode);
}

@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.model.wms.WmsProductModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* @Description:
@ -45,6 +46,9 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
@ApiOperation("新增工单打印队列")
void doSaveWorkOrderPrintQueue(MesWorkOrder workOrder);
@ApiOperation("装配目视单补打")
List<Map<String, Object>> doReprintWorkOrder(Long[] ids, String organizeCode, String userName);
List<MesProductionRecord> getPreDayReportMesProductionRecord(String organizeCode , List<MesShift> mesShiftList, String workCenterCode);
List<MesProduceSn> getPreDayReportMesProduceSn(String organizeCode ,List<MesProductionRecord> mesProductionRecordList );

@ -198,6 +198,22 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
}
}
@PostMapping(value = "/work-order-reprint")
@ApiOperation(value = "装配目视单补打")
public ResultBean doSaveWorkOrderPrintQueue(@RequestBody Long[] ids) {
try {
ValidatorBean.checkNotNull(ids,"工单不能为空");
mesWorkOrderService.doReprintWorkOrder(ids, AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName());
return ResultBean.success("装配目视单补打成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/reopen")
@ApiOperation(value = "重新打开")
public ResultBean doReopen(Long[] ids) {

@ -63,4 +63,19 @@ public class MesLabelTemplateServiceImpl extends BaseMesService<MesLabelTemplate
}
return new ListPager<>(resultList, pager);
}
@Override
public MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode) {
DdlPackBean templatePackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(templateCode, MesExtConstWords.TEMPLATE_CODE, templatePackBean);
MesLabelTemplate mesLabelTemplate = baseRDao.getByProperty(templatePackBean);
if (mesLabelTemplate != null) {
//级联获取labelTemplateParam
DdlPackBean templateParamPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mesLabelTemplate.getId(), "templateId", templateParamPackBean);
List<MesLabelTemplateParam> params = mesLabelTemplateParamRDao.findByHqlWhere(templateParamPackBean);
mesLabelTemplate.setLabelTemplateParamList(params);
}
return mesLabelTemplate;
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
@ -9,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesPrintQueue;
import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupDetailRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
@ -17,10 +19,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
@ -58,6 +58,14 @@ public class MesPartProdGroupService extends BaseMesService<MesPartProdGroup> im
return mesPartProdGroupDetailRDao.findByHqlWhere(ddlPackBean);
}
@Override
public Map<String, MesPartProdGroup> getMesPartProdGroupMap(String organizeCode, List<String> partProdGroupCodeList) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(partProdGroupCodeList, MesExtConstWords.PART_PROD_GROUP_CODE, packBean);
List<MesPartProdGroup> partProdGroupList = baseRDao.findByHqlWhere(packBean);
return partProdGroupList.stream().collect(Collectors.toMap(MesPartProdGroup::getPartProdGroupCode, Function.identity(), (x, y) -> y));
}
protected void setPackQueryBean(MesPartProdGroup bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean);

@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.List;
@Service
@Slf4j
public class MesWorkCenterService extends BaseMesService<MesWorkCenter> implements IMesWorkCenterService {
@ -41,4 +43,13 @@ public class MesWorkCenterService extends BaseMesService<MesWorkCenter> implemen
return null != workCenterDb ? workCenterDb.getErpWorkCenter() : null;
}
@Override
public List<MesWorkCenter> queryMesWorkCenterList(List<String> workCenterCodeList, String organizeCode) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(workCenterCodeList, MesExtConstWords.WORK_CENTER_CODE, packBean);
return workCenterRepository.findByHqlWhere(packBean);
}
}

@ -322,6 +322,7 @@ public class MesWorkOrderCutService extends BaseMesService<MesWorkOrderCut> impl
MesException.throwMesBusiException("裁片工单【%s】已打印过标签无法再次打印", o.getCutWorkOrderNo());
});
// 返回结果
List<Map<String, Object>> resultMapList = new ArrayList<>();
List<String> cutCodeList = workOrderCutDbList.stream().map(MesWorkOrderCut::getCutCode)

@ -3,9 +3,11 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.*;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
@ -29,17 +31,20 @@ import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.i3plus.pojo.model.wms.WmsProductModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.CaseInsensitiveMap;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -125,6 +130,18 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
@Autowired
private MesPrintQueueRepository printQueueRepository;
@Autowired
private MesCustomerCarModelRepository customerCarModelRepository;
@Autowired
private MesWorkOrderAssemblyRepository workOrderAssemblyRepository;
@Autowired
private IMesLabelTemplateService labelTemplateService;
@Autowired
private IMesPartProdGroupService partProdGroupService;
@Override
public MesWorkOrder insert(MesWorkOrder bean) {
//校验产线与工位的关系
@ -1160,6 +1177,118 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
@Override
public List<Map<String, Object>> doReprintWorkOrder(Long[] ids, String organizeCode, String userName) {
List<MesWorkOrder> mesWorkOrderList = getMesWorkOrderList(ids, organizeCode);
// 根据工单号对工单分组
Map<String, MesWorkOrder> workOrderMapByWorkOrderNo = mesWorkOrderList.stream().collect(Collectors.toMap(MesWorkOrder::getWorkOrderNo, Function.identity(), (x, y) -> y));
// 产线代码集合
List<String> workCenterCodeList = mesWorkOrderList.stream().map(MesWorkOrder::getWorkCenterCode).distinct().collect(Collectors.toList());
// 根据产线代码节后获取产线信息集合
List<MesWorkCenter> mesWorkCenters = workCenterService.queryMesWorkCenterList(workCenterCodeList, organizeCode);
// 产线名称集合
Map<String, String> workCenterNameMap = mesWorkCenters.stream().collect(Collectors.toMap(MesWorkCenter::getWorkCenterCode, MesWorkCenter::getWorkCenterName, (x, y) -> y));
// 生产零件号
List<String> partProdGroupCodeList = mesWorkOrderList.stream().map(MesWorkOrder::getPartProdGroupCode).distinct().collect(Collectors.toList());
// 根据零件生产组代码分组
Map<String, MesPartProdGroup> partProdGroupMap = partProdGroupService.getMesPartProdGroupMap(organizeCode, partProdGroupCodeList);
// 客户车型配置名称MAP
Map<String, MesCustomerCarModel> carModelMapByCode = getMesCustomerCarModelMap(organizeCode, mesWorkOrderList);
// 工单装配件
Map<String, List<MesWorkOrderAssembly>> workOrderAssemblyMapByWorkOrderNo = getWorkOrderAssemblyMapByWorkOrderNo(organizeCode, workOrderMapByWorkOrderNo);
// 返回结果
List<Map<String, Object>> resultMapList = new ArrayList<>();
for (MesWorkOrder mesWorkOrder : mesWorkOrderList) {
if (mesWorkOrder == null) {
log.info("doReprintWorkOrder --- 工单为空 暂不输出打印");
continue;
}
mesWorkOrder.setWorkCenterName(workCenterNameMap.get(mesWorkOrder.getWorkCenterCode()));
MesPartProdGroup mesPartProdGroup = partProdGroupMap.get(mesWorkOrder.getPartProdGroupCode());
String printTemplate = mesPartProdGroup.getPrintTemplate();
if (StringUtils.isEmpty(printTemplate)) {
MesException.throwMesBusiException("工单【%s】关联零件生产组【%s】打印模板为空", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getPartProdGroupCode());
}
MesLabelTemplate labelTemplate = labelTemplateService.getLabelTemplate(printTemplate, organizeCode);
//根据反射获取策略类--封装打印数据
String methodCode = labelTemplate.getMethodCode();
//模板信息丢失抛出异常
if (StringUtils.isEmpty(labelTemplate.getMethodCode())) {
MesException.throwMesBusiException("工单【%s】关联零件生产组【%s】打印模板【%s】为空", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getPartProdGroupCode(), labelTemplate.getTemplateCode());
}
Map<String, Object> modelMap = new HashMap<>();
modelMap.put("mesWorkOrder", mesWorkOrder);
modelMap.put("mesPartProdGroup", mesPartProdGroup);
MesCustomerCarModel customerCarModel = carModelMapByCode.get(mesWorkOrder.getCarModelCode());
if (customerCarModel != null) {
modelMap.put("mesCustomerCarModel", customerCarModel);
}
List<MesWorkOrderAssembly> workOrderAssemblyListByWorkOrderNo = workOrderAssemblyMapByWorkOrderNo.get(mesWorkOrder.getWorkOrderNo());
if (!CollectionUtils.isEmpty(workOrderAssemblyListByWorkOrderNo)) {
modelMap.put("mesWorkOrderAssemblyList", workOrderAssemblyListByWorkOrderNo);
}
MesProduceSnPrintModel mesProduceSnPrintModel = new MesProduceSnPrintModel();
mesProduceSnPrintModel.setMesLabelTemplate(labelTemplate);
mesProduceSnPrintModel.setSourceData(modelMap);
mesProduceSnPrintModel.setPrinter(mesPartProdGroup.getPrinter());
MesProduceSnPrintModel snPrintModel = null;
try {
IPrintTemplateStrategyService strategyService = (IPrintTemplateStrategyService) SpringContextsUtil.getBean(methodCode);
snPrintModel = strategyService.execute(null, mesProduceSnPrintModel, null);
} catch (BeansException e) {
MesException.throwMesBusiException("工单【%s】关联零件生产组【%s】打印模板【%s】策略类【%s】执行异常", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getPartProdGroupCode(), labelTemplate.getTemplateCode(), labelTemplate.getMethodCode());
}
resultMapList.addAll(snPrintModel.getPrintContextList());
}
return resultMapList;
}
private Map<String, MesCustomerCarModel> getMesCustomerCarModelMap(String organizeCode, List<MesWorkOrder> workOrderList) {
List<String> carModelCodeList = workOrderList.stream().map(MesWorkOrder::getCarModelCode).distinct().collect(Collectors.toList());
// 客户车型配置
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(carModelCodeList, MesExtConstWords.CAR_MODEL_CODE, packBean);
List<MesCustomerCarModel> customerCarModelList = customerCarModelRepository.findByHqlWhere(packBean);
return customerCarModelList.stream().collect(Collectors.toMap(MesCustomerCarModel::getCarModelCode, Function.identity(), (x, y) -> y));
}
private Map<String, List<MesWorkOrderAssembly>> getWorkOrderAssemblyMapByWorkOrderNo(String organizeCode, Map<String, MesWorkOrder> workOrderMapByWorkOrderNo) {
List<String> workOrderNoList = workOrderMapByWorkOrderNo.keySet().stream().collect(Collectors.toList());
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(workOrderNoList, MesExtConstWords.WORK_ORDER_NO, packBean);
List<MesWorkOrderAssembly> workOrderAssemblyList = workOrderAssemblyRepository.findByHqlWhere(packBean);
Map<String, List<MesWorkOrderAssembly>> workOrderAssemblyMapByWorkOrderNo = workOrderAssemblyList.stream().collect(Collectors.groupingBy(MesWorkOrderAssembly::getWorkOrderNo));
return workOrderAssemblyMapByWorkOrderNo;
}
private List<MesProductOffLine> getMesProductOffLineList(WmsProductModel model, String nowTime) {
//查询报工数据
List<MesProductOffLine> oldProductOffLineList = mesProductOffLineService.findMesProductOffLineByProductSn(model.getSn(), model.getOrganizeCode());

@ -0,0 +1,104 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.strategy;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description :
* @Reference :
* @Author : Castle
* @CreateDate : 2024/6/17 16:43
* @Modify:
**/
@Component
@Slf4j
public class AssemblyVisualListPrintStrategy implements IPrintTemplateStrategyService {
@Override
public MesProduceSnPrintModel execute(GenSerialNoModel genSerialNoModel, MesProduceSnPrintModel model, MesNumberRule numberRule) {
Map<String, Object> modelMap = (Map<String, Object>) model.getSourceData();
// 工单信息
MesWorkOrder workOrder = (MesWorkOrder) modelMap.get("mesWorkOrder");
// 零件生产组信息
MesPartProdGroup partProdGroup = (MesPartProdGroup) modelMap.get("mesPartProdGroup");
// 客户车型配置信息
MesCustomerCarModel customerCarModel = modelMap.containsKey("mesCustomerCarModel") ? (MesCustomerCarModel) modelMap.get("mesCustomerCarModel") : null;
// 工单装配件信息
List<MesWorkOrderAssembly> workOrderAssemblyList = modelMap.containsKey("mesWorkOrderAssemblyList") ? (List<MesWorkOrderAssembly>) modelMap.get("mesWorkOrderAssemblyList") : null;
workOrderAssemblyList = workOrderAssemblyList.stream().filter(o -> o.getDisplaySeq() != null && o.getDisplaySeq() != 0).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(workOrderAssemblyList)) workOrderAssemblyList.sort(Comparator.comparing(MesWorkOrderAssembly::getDisplaySeq));
// 返回的结果集合
List<Map<String, Object>> printDataMapList = new ArrayList<>();
// 单个标签参数值
Map<String, Object> resultMap = new HashMap<>();
// 工单号
resultMap.put(MesExtConstWords.WORK_ORDER_NO, workOrder.getWorkOrderNo());
// 产线名称
resultMap.put(MesExtConstWords.WORK_CENTER_NAME, workOrder.getWorkCenterName());
// 车型名称
resultMap.put(MesExtConstWords.CAR_MODEL_NAME, customerCarModel == null ? "" : customerCarModel.getCarModelName());
// vinCode
resultMap.put(MesExtConstWords.VIN_CODE, workOrder.getVinCode());
// vinCode 后四位
resultMap.put(MesExtConstWords.VIN_CODE_AFTER_FOUR, workOrder.getVinCode());
// 总成零件号
resultMap.put(MesExtConstWords.PART_NO, workOrder.getPartNo());
// 工单标识
resultMap.put(MesExtConstWords.ORDER_FLAG, workOrder.getOrderFlag());
// 客户订单号
resultMap.put(MesExtConstWords.CUST_ORDER_NO, workOrder.getCustOrderNo());
// 客户零件号
resultMap.put(MesExtConstWords.CUST_PART_NO, workOrder.getPartNo());
// 客户条码
resultMap.put(MesExtConstWords.SN, workOrder.getSn());
// 备注
resultMap.put(MesExtConstWords.REMARK, customerCarModel == null ? "" : customerCarModel.getRemark());
// 重打印
resultMap.put(MesExtConstWords.REPRINT, "重打印");
// 打印时间
resultMap.put(MesExtConstWords.PRINT_TIME, TimeTool.getNowTime("yyyyMMdd HH:mm:ss"));
// EDI接口时间 取工单plan_start_time
resultMap.put(MesExtConstWords.EDI_REC_TIME, workOrder.getPlanStartTime());
// 总个数
Integer totalCount = partProdGroup.getTotalCount();
// 为空时显示内容
String isNullViewContent = StringUtils.isEmpty(partProdGroup.getIsNullViewContent()) ? "" : partProdGroup.getIsNullViewContent();
for (Integer index = 0; index < totalCount; index++) {
String displayValue = workOrderAssemblyList.size() -1 < index ? isNullViewContent : workOrderAssemblyList.get(0).getDisplayValue();
resultMap.put(MesExtConstWords.ASSEMBLY_PARAM + (index+1), StringUtils.isEmpty(displayValue) ? "" : displayValue);
}
printDataMapList.add(resultMap);
model.setPrintContextList(packResultMapList(model, printDataMapList));
return model;
}
private List<Map<String, Object>> packResultMapList(MesProduceSnPrintModel printModel, List<Map<String, Object>> printTemplateDateList) {
List<Map<String, Object>> resultMapList = new ArrayList<>();
Map<String, Object> resultMap = new HashMap<>();
resultMap.put(MesExtConstWords.LABEL_TEMPLATE, printModel.getMesLabelTemplate());
resultMap.put(MesExtConstWords.TEMPLATE_DATA, printTemplateDateList);
resultMap.put(MesExtConstWords.TEMPLATE_CODE, printModel.getMesLabelTemplate().getTemplateCode());
resultMap.put(MesExtConstWords.PRINTER, printModel.getPrinter());
resultMapList.add(resultMap);
return resultMapList;
}
}

@ -299,5 +299,28 @@ public class MesExtConstWords {
// 打印时间
public static final String PRINT_TIME = "printTime";
// 车型名称
public static final String CAR_MODEL_NAME = "carModelName";
// VIN_CODE
public static final String VIN_CODE = "vinCode";
// VIN_CODE 后四位
public static final String VIN_CODE_AFTER_FOUR = "vinCodeAfterFour";
// 工单标识
public static final String ORDER_FLAG = "orderFlag";
// 重打印
public static final String REPRINT = "reprint";
// EDI接收时间
public static final String EDI_REC_TIME = "ediRecTime";
// 装配件参数
public static final String ASSEMBLY_PARAM = "assemblyParam";
// 客户订单号
public static final String CUST_ORDER_NO = "custOrderNo";
//客户零件号
public static final String CUST_PART_NO = "custPartNo";
// 车型大类
public static final String CAR_MODEL_CODE = "carModelCode";
//零件生产组代码
public static final String PART_PROD_GROUP_CODE = "partProdGroupCode";
}

Loading…
Cancel
Save