|
|
|
@ -301,6 +301,18 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
//打散bom使用生产零件号
|
|
|
|
|
workOrderPartList = dismantleBom(mesPartProdGroupDetail.getProductPartNo(), mesWorkOrder.getQty(), sortInfo.getMatchTime(), bom.getBomCode(), sortInfo.getOrganizeCode(), mesPartProdGroupDetail.getWorkCellCode(), mesWorkOrder.getWorkOrderNo());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 工单号修改
|
|
|
|
|
* {ORG}{dynamicRule}{dynamicRule}{dynamicrule}{serialNo}
|
|
|
|
|
* 工厂代码+工单类型 +客户工厂代码+班次+流水号
|
|
|
|
|
*/
|
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_NO_WU_HAN");
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(organizeCode), "edi", mesPartProdGroupDetail.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", "");
|
|
|
|
|
String orderNoWuHan = organizeCode + mesWorkOrder.getOrderFlag() + sortInfo.getCustOrderCode() + mesWorkOrder.getShiftCode() + serialNo;
|
|
|
|
|
mesWorkOrder.setWorkOrderNo(orderNoWuHan);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 总成拆bom,变成子零件
|
|
|
|
|
* 替换子零件,通过替换后的零件,去找排序工艺
|
|
|
|
@ -313,7 +325,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
* isCustomerSendPrtInfo 1是客户发送ptr
|
|
|
|
|
* isInterPrt 1是内部ptr
|
|
|
|
|
*/
|
|
|
|
|
Map<String,String> ptrRuleListMap = new HashMap<>();
|
|
|
|
|
// Map<String, String> ptrRuleListMap = new HashMap<>();
|
|
|
|
|
//是否修改为P单
|
|
|
|
|
boolean isModifyPOrder = false;
|
|
|
|
|
boolean isFOrder = false;
|
|
|
|
@ -324,100 +336,112 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
* 2.有开始时间无结束时间 和 需要数量 达到需要的数量结束
|
|
|
|
|
* 3.有开始时间无结束时间,无结束数量 一直替换
|
|
|
|
|
*/
|
|
|
|
|
if (!workOrderPartList.isEmpty()){
|
|
|
|
|
Map<String, MesWorkOrderPart> orderPartMap = workOrderPartList.stream().collect(Collectors.toMap(MesWorkOrderPart::getPartNo, Function.identity()));
|
|
|
|
|
//先替换客户的ptr信息
|
|
|
|
|
/**
|
|
|
|
|
* 2024/11/16
|
|
|
|
|
* PTR 分三种场景 --- mes_part_ptr
|
|
|
|
|
* 1.基于排序加工规则 mes_part_ptr 中 create_by_assembly_setting 1 true --暂时没有使用
|
|
|
|
|
* 替换零件及替换装配工位
|
|
|
|
|
*
|
|
|
|
|
* 2.不基于排序加工规则 2 false
|
|
|
|
|
* 替换的零件装配工位不变,只改变零件信息
|
|
|
|
|
*
|
|
|
|
|
* 3.是否客户发送 is_cust_send_info is_customer_send_prt_info = 1 true
|
|
|
|
|
* 遇到就替换,不用管ptrPart的总成
|
|
|
|
|
*/
|
|
|
|
|
//是否基于排序加工规则
|
|
|
|
|
// boolean isCreateByAssemblySetting=false;
|
|
|
|
|
|
|
|
|
|
//客户ptr信息
|
|
|
|
|
StringBuilder ptrInfos = new StringBuilder();
|
|
|
|
|
String ptrInfo = mesWorkOrder.getPtrInfo();
|
|
|
|
|
if (StringUtils.isNotBlank(ptrInfo)) {
|
|
|
|
|
List<String> ptrInfoList = Arrays.asList(ptrInfo.replaceAll("_", "").split("\\|"));
|
|
|
|
|
if (!ptrInfoList.isEmpty()){
|
|
|
|
|
List<MesPartPtr> custPartPtrList = getCustPartPtrList(ptrInfoList, organizeCode);
|
|
|
|
|
long count = custPartPtrList.stream().filter(item -> item.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).count();
|
|
|
|
|
if (count > 0){
|
|
|
|
|
for (MesPartPtr mesPartPtr : custPartPtrList) {
|
|
|
|
|
//根据mesPartPtr的目标零件号,找到零件信息
|
|
|
|
|
String destPartNo = mesPartPtr.getDestPartNo();
|
|
|
|
|
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(destPartNo, organizeCode);
|
|
|
|
|
//更新物料清单
|
|
|
|
|
MesWorkOrderPart orderPart = orderPartMap.get(destPartNo);
|
|
|
|
|
if (orderPart != null) {
|
|
|
|
|
orderPart.setPartNo(mesPartSap.getPartNo());
|
|
|
|
|
orderPart.setPartName(mesPartSap.getPartName());
|
|
|
|
|
orderPart.setShippingPartNo(mesPartSap.getPartNo());
|
|
|
|
|
if (!isModifyPOrder){
|
|
|
|
|
isModifyPOrder = true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<String> custPtrPartList = Arrays.asList(ptrInfo.split("\\|"));
|
|
|
|
|
boolean ptrFlag = false;
|
|
|
|
|
boolean fOrderFlag = false;
|
|
|
|
|
if (!workOrderPartList.isEmpty()) {
|
|
|
|
|
//是否基于排序加工规则--待定
|
|
|
|
|
//查询装配目视项
|
|
|
|
|
List<MesWorkOrderAssembly> assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup);
|
|
|
|
|
//ptr信息
|
|
|
|
|
List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList());
|
|
|
|
|
List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList);
|
|
|
|
|
//遍历workOrderPartList
|
|
|
|
|
for (MesWorkOrderPart orderPart : workOrderPartList) {
|
|
|
|
|
List<MesPartPtr> ptr = partPtrList.stream().filter(item -> item.getSrcPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList());
|
|
|
|
|
if (ptr.isEmpty()) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
//判断是否是客户替换
|
|
|
|
|
boolean isCust = false;
|
|
|
|
|
for (MesPartPtr mesPartPtr : ptr) {
|
|
|
|
|
if (custPtrPartList.contains(mesPartPtr.getSrcPartNo())) {
|
|
|
|
|
isCust = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
MesPartPtr mesPartPtr = null;
|
|
|
|
|
MesPartPtrDetail mesPartPtrDetail = null;
|
|
|
|
|
if (isCust) {
|
|
|
|
|
//查找客户发送的ptr信息
|
|
|
|
|
List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && custPtrPartList.contains(item.getSrcPartNo())).collect(Collectors.toList());
|
|
|
|
|
if (!custPartPtrList.isEmpty()) {
|
|
|
|
|
mesPartPtr = custPartPtrList.get(0);
|
|
|
|
|
}
|
|
|
|
|
List<String> partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList());
|
|
|
|
|
List<MesPartPtr> partPtrList = getPartPtrList(organizeCode, mesWorkOrder.getWorkCenterCode(), partNoList);
|
|
|
|
|
//装配件规则如果进行了零件替换 则使用ptr的规则 key 零件号,value 是规则
|
|
|
|
|
List<String> fPartPtrPartList = partPtrList.stream().filter(item -> item.getIsInterPrt() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).map(MesPartPtr::getSrcPartNo).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
for (MesPartPtr mesPartPtr : partPtrList) {
|
|
|
|
|
} else {
|
|
|
|
|
//获取相同总成的ptrId 在ptr详情中
|
|
|
|
|
List<MesPartPtr> custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == null || item.getIsCustomerSendPrtInfo() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).collect(Collectors.toList());
|
|
|
|
|
if (!custPtrPartList.isEmpty()) {
|
|
|
|
|
mesPartPtr = custPartPtrList.get(0);
|
|
|
|
|
//查询ptr总成--只有特定总成才会替换
|
|
|
|
|
DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(mesPartPtr.getId(), "ptrId", detailPartPtr);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "totalPartNo", detailPartPtr);
|
|
|
|
|
List<MesPartPtrDetail> ptrDetailList = partPtrDetailRao.findByHqlWhere(detailPartPtr);
|
|
|
|
|
if (!ptrDetailList.isEmpty()) {
|
|
|
|
|
//根据mesPartPtr的目标零件号,找到零件信息
|
|
|
|
|
String destPartNo = mesPartPtr.getDestPartNo();
|
|
|
|
|
String srcPartNo = mesPartPtr.getSrcPartNo();
|
|
|
|
|
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(destPartNo, organizeCode);
|
|
|
|
|
//更新物料清单
|
|
|
|
|
MesWorkOrderPart orderPart = orderPartMap.get(srcPartNo);
|
|
|
|
|
if (orderPart != null) {
|
|
|
|
|
MesPartPtrDetail mesPartPtrDetail = ptrDetailList.get(0);
|
|
|
|
|
orderPart.setPartNo(mesPartSap.getPartNo());
|
|
|
|
|
orderPart.setPartName(mesPartSap.getPartName());
|
|
|
|
|
orderPart.setShippingPartNo(mesPartSap.getPartNo());
|
|
|
|
|
ptrRuleListMap.put(mesPartSap.getPartNo(), mesPartPtr.getReplacePartSnRule());
|
|
|
|
|
if (!isModifyPOrder){
|
|
|
|
|
isModifyPOrder = true;
|
|
|
|
|
mesPartPtrDetail = ptrDetailList.get(0);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!isCust && mesPartPtrDetail == null) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
if (fPartPtrPartList.contains(mesPartPtr.getSrcPartNo())){
|
|
|
|
|
isFOrder = true;
|
|
|
|
|
|
|
|
|
|
ptrFlag = true;
|
|
|
|
|
if (!isCust && mesPartPtr.getIsInterPrt()==CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
|
|
|
|
|
fOrderFlag = true;
|
|
|
|
|
}
|
|
|
|
|
mesWorkOrder.setRemark(mesPartPtr.getRemark());
|
|
|
|
|
String ptrInfoStr = "INFO"+mesPartPtr.getId()+"|PART"+mesPartPtrDetail.getId();
|
|
|
|
|
mesWorkOrder.setPtrInfo(ptrInfoStr);
|
|
|
|
|
//将工单类零件表替换位PTR条件中维护的替换零件
|
|
|
|
|
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(mesPartPtr.getDestPartNo(), organizeCode);
|
|
|
|
|
orderPart.setPartNo(mesPartSap.getPartNo());
|
|
|
|
|
orderPart.setPartName(mesPartSap.getPartName());
|
|
|
|
|
//更新mes_part_ptr的实际数量 + 1
|
|
|
|
|
mesPartPtr.setPrtVehicleActualCount(mesPartPtr.getPrtVehicleActualCount() + 1);
|
|
|
|
|
ConvertBean.saveOrUpdate(mesPartPtr, "JOB");
|
|
|
|
|
partPtrRao.update(mesPartPtr);
|
|
|
|
|
if (mesPartPtrDetail != null) {
|
|
|
|
|
mesPartPtrDetail.setQty(mesPartPtrDetail.getQty() + 1);
|
|
|
|
|
ConvertBean.saveOrUpdate(mesPartPtrDetail, "JOB");
|
|
|
|
|
partPtrDetailRao.update(mesPartPtrDetail);
|
|
|
|
|
//更新mes_part_ptr_detail 的workOrder.partNo 数量加 1 ;替换了几次还是什么
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<MesWorkOrderAssembly> orderAssemblyList = assemblyList.stream().filter(item -> item.getAssemblyPartNo().equals(orderPart.getPartNo())).collect(Collectors.toList());
|
|
|
|
|
MesWorkOrderAssembly orderAssembly = orderAssemblyList.get(0);
|
|
|
|
|
orderAssembly.setAssemblyPartNo(mesPartSap.getPartNo());
|
|
|
|
|
orderAssembly.setAssemblyPartName(mesPartSap.getPartName());
|
|
|
|
|
orderAssembly.setMatchRule(mesPartPtr.getReplacePartSnRule());
|
|
|
|
|
ptrInfos.append("INFO|").append(mesPartPtr.getId());
|
|
|
|
|
if (mesPartPtrDetail != null) {
|
|
|
|
|
ptrInfos.append("PART|").append(mesPartPtrDetail.getId());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 生成装配件清单
|
|
|
|
|
if (!isFOrder){
|
|
|
|
|
if (isModifyPOrder){
|
|
|
|
|
}
|
|
|
|
|
if (ptrFlag && !fOrderFlag){
|
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.PTR.getValue());
|
|
|
|
|
}else if (ptrFlag){
|
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.F.getValue());
|
|
|
|
|
}else {
|
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue());
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
mesWorkOrder.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.F.getValue());
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* 工单号修改
|
|
|
|
|
* {ORG}{dynamicRule}{dynamicRule}{dynamicrule}{serialNo}
|
|
|
|
|
* 工厂代码+工单类型 +客户工厂代码+班次+流水号
|
|
|
|
|
*/
|
|
|
|
|
GenSerialNoModel genSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_NO_WU_HAN");
|
|
|
|
|
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(organizeCode), "edi", mesPartProdGroupDetail.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", "");
|
|
|
|
|
String orderNoWuHan=organizeCode+mesWorkOrder.getOrderFlag()+sortInfo.getCustOrderCode()+mesWorkOrder.getShiftCode() + serialNo;
|
|
|
|
|
mesWorkOrder.setWorkOrderNo(orderNoWuHan);
|
|
|
|
|
List<MesWorkOrderAssembly> assemblyList = new ArrayList<>();
|
|
|
|
|
if (!workOrderPartList.isEmpty()) {
|
|
|
|
|
for (MesWorkOrderPart orderPart : workOrderPartList) {
|
|
|
|
@ -426,31 +450,16 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
ConvertBean.saveOrUpdate(orderPart, "MES-JOB");
|
|
|
|
|
}
|
|
|
|
|
workOrderPartRao.saveAll(workOrderPartList);
|
|
|
|
|
assemblyList = getAssemblyList(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getCarModelCode(), workOrderPartList, partProdGroup);
|
|
|
|
|
}
|
|
|
|
|
// /**
|
|
|
|
|
// * 生产序号
|
|
|
|
|
// * 工厂-产线-9位流水号,跳号10
|
|
|
|
|
// */
|
|
|
|
|
// GenSerialNoModel prodSeqSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_SEQ_WU_HAN");
|
|
|
|
|
// prodSeqSerialNoModel.setProdLocation(mesWorkOrder.getWorkCenterCode());
|
|
|
|
|
// List<String> proSeqResultList = syncFuncService.syncSerialNo(prodSeqSerialNoModel.organizeCode(organizeCode), "edi", mesPartProdGroupDetail.getOrganizeCode(), 1).getResultList();
|
|
|
|
|
// String proSeqStr = proSeqResultList.get(0);
|
|
|
|
|
mesWorkOrder.setProductSeq(productSeq);
|
|
|
|
|
|
|
|
|
|
mesWorkOrder.setPartProdGroupName(partProdGroup.getPartProdGroupName());
|
|
|
|
|
ConvertBean.saveOrUpdate(mesWorkOrder, "MES-JOB");
|
|
|
|
|
mesWorkOrderRao.insert(mesWorkOrder);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 插入工单打印队列数据
|
|
|
|
|
*/
|
|
|
|
|
mesWorkOrderService.doSaveWorkOrderPrintQueue(mesWorkOrder);
|
|
|
|
|
if (!assemblyList.isEmpty()) {
|
|
|
|
|
for (MesWorkOrderAssembly orderAssembly : assemblyList) {
|
|
|
|
|
if (ptrRuleListMap.get(orderAssembly.getPartNo()) != null){
|
|
|
|
|
orderAssembly.setMatchRule(ptrRuleListMap.get(orderAssembly.getPartNo()));
|
|
|
|
|
}
|
|
|
|
|
orderAssembly.setPartNo(mesWorkOrder.getPartNo());
|
|
|
|
|
orderAssembly.setPartName(mesWorkOrder.getPartName());
|
|
|
|
|
orderAssembly.setWorkOrderNo(mesWorkOrder.getWorkOrderNo());
|
|
|
|
@ -516,11 +525,8 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
mesProduceSn.setAreaCode(mesWorkOrder.getAreaCode());
|
|
|
|
|
ConvertBean.saveOrUpdate(mesProduceSn, "MES-JOB");
|
|
|
|
|
mesProduceSnRao.insert(mesProduceSn);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
private List<MesWorkOrderAssembly> getAssemblyList(String workCenterCode, String vehicleNo, List<MesWorkOrderPart> workOrderPartList, MesPartProdGroup mesPartProdGroup) {
|
|
|
|
|
//TM_BAS_WORK_ORDER_ASSEMBLY_SETTING 对应 mes_prod_rule_sort_cfg 排序生产规则
|
|
|
|
|
|
|
|
|
@ -569,7 +575,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
// orderAssembly.setPartNo(orderPart.getPartNo());
|
|
|
|
|
// orderAssembly.setPartName(orderPart.getPartName());
|
|
|
|
|
orderAssembly.setWorkCellCode(sortCfg.getWorkCellCode());
|
|
|
|
|
orderAssembly.setOrderPartId(orderPart.getId().toString());
|
|
|
|
|
// orderAssembly.setOrderPartId(orderPart.getId().toString());
|
|
|
|
|
orderAssembly.setEquipmentCode(sortCfg.getEquipmentCode());
|
|
|
|
|
orderAssembly.setReportType(sortCfg.getReportType());
|
|
|
|
|
if (sortCfg.getReportType() != null && sortCfg.getReportType() == MesExtEnumUtil.MES_REPORT_TYPE.REPORT.getValue()){
|
|
|
|
@ -671,6 +677,19 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
return workOrderAssemblyList;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesProdRuleSortCfg getSortRuleCfg (String organizeCode,String workCenterCode,String partNo ){
|
|
|
|
|
DdlPackBean prodRuleSortPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
// DdlPreparedPack.getStringEqualPack(mesPartProdGroup.getPartProdGroupCode(),"productGroupCode",prodRuleSortPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", prodRuleSortPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partNo, "assemblyPartNo", prodRuleSortPackBean);
|
|
|
|
|
//查询当前产线的所有排序生产规则--分为当前工单清单的装配件
|
|
|
|
|
List<MesProdRuleSortCfg> sortCfgList = mesProdRuleSortCfgRao.findByHqlTopWhere(prodRuleSortPackBean,1);
|
|
|
|
|
|
|
|
|
|
if (sortCfgList != null && !sortCfgList.isEmpty()){
|
|
|
|
|
return sortCfgList.get(0);
|
|
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
private List<MesWorkOrderPart> dismantleBom(String partNo, double qty, String productTime, String bomCode, String organizeCode, String workCellCode, String workOrderNo) {
|
|
|
|
|
List<MesWorkOrderPart> orderPartList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
@ -764,6 +783,7 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
return mesProductVersionList.isEmpty() ? null : mesProductVersionList.get(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<MesPartPtr> getPartPtrList(String organizeCode,String workCenterCode, List<String> partNoList) {
|
|
|
|
|
/**
|
|
|
|
|
* 2024/11/16
|
|
|
|
@ -777,10 +797,6 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder {
|
|
|
|
|
DdlPreparedPack.getInPackList(partNoList, "srcPartNo", partPtrPackBean);
|
|
|
|
|
DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime("yyyy-MM-dd HH:mm:ss"), "startTime", partPtrPackBean);
|
|
|
|
|
List<MesPartPtr> partPtrList = partPtrRao.findByHqlWhere(partPtrPackBean);
|
|
|
|
|
DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime("yyyy-MM-dd HH:mm:ss"), "endTime", partPtrPackBean);
|
|
|
|
|
DdlPreparedPack.getIsNotNull("prtVehicleCount", partPtrPackBean);
|
|
|
|
|
DdlPreparedPack.getIsNotNull("endTime", partPtrPackBean);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 有开始时间 和 无结束时间 和 需要的数量,只有达到数量才结束
|
|
|
|
|
*/
|
|
|
|
|