commonHql.append(" from MesWorkOrderAssembly orderAssembly left join MesWorkOrder workOrder on orderAssembly.workOrderNo = workOrder.workOrderNo and workOrder.organizeCode = :organizeCode and workOrder.isDeleted=:isDeleted and workOrder.isValid=:isValid");
commonHql.append(" left join MesProductionAssembly assembly on workOrder.custSn = assembly.custSn and orderAssembly.organizeCode=:organizeCode and orderAssembly.isDeleted=:isDeleted and orderAssembly.isValid=:isValid ");
commonHql.append(" left join MesProdRuleSortCfg sortCfg on orderAssembly.pid = sortCfg.id and sortCfg.organizeCode = :organizeCode and sortCfg.isDeleted=:isDeleted and sortCfg.isValid=:isValid");
commonHql.append(" left join MesPartType partType on sortCfg.partTypeCode = partType.partTypeCode and partType.organizeCode = :organizeCode and partType.isDeleted=:isDeleted and partType.isValid=:isValid");
commonHql.append(" from MesWorkOrderAssembly orderAssembly left join MesWorkOrder workOrder on workOrder.organizeCode = :organizeCode and workOrder.isDeleted=:isDeleted and workOrder.isValid=:isValid and orderAssembly.workOrderNo = workOrder.workOrderNo ");
commonHql.append(" left join MesProductionAssembly assembly on assembly.organizeCode=:organizeCode and assembly.isDeleted=:isDeleted and assembly.isValid=:isValid and workOrder.custSn = assembly.custSn and orderAssembly.assemblyPartNo = assembly.assemblyPartNo ");
commonHql.append(" left join MesProdRuleSortCfg sortCfg on sortCfg.organizeCode = :organizeCode and sortCfg.isDeleted=:isDeleted and sortCfg.isValid=:isValid and orderAssembly.pid = sortCfg.id and orderAssembly.assemblyPartNo = sortCfg.assemblyPartNo ");
commonHql.append(" left join MesPartType partType on partType.organizeCode = :organizeCode and partType.isDeleted=:isDeleted and partType.isValid=:isValid and sortCfg.partTypeCode = partType.partTypeCode ");
commonHql.append(" where orderAssembly.organizeCode=:organizeCode and orderAssembly.isDeleted=:isDeleted and orderAssembly.isValid=:isValid and workOrder.organizeCode = :organizeCode");
commonHql.append(" and workOrder.isDeleted=:isDeleted and workOrder.isValid=:isValid and assembly.organizeCode = :organizeCode and assembly.isDeleted=:isDeleted and assembly.isValid=:isValid");
commonHql.append(" and sortCfg.organizeCode = :organizeCode and sortCfg.isDeleted=:isDeleted and sortCfg.isValid=:isValid and partType.organizeCode = :organizeCode and partType.isDeleted=:isDeleted and partType.isValid=:isValid ");
commonHql.append(" and partType.assemblyDescription = '通用追溯' and workOrder.workOrderStatus in (:workOrderStatus) ");
commonHql.append(" and assembly.assemblySn != '' and assembly.assemblySn is not null ");
if(!StringUtils.isEmpty(model.getWorkCenterCode()))commonHql.append(" and workOrder.workCenterCode like '%").append(model.getWorkCenterCode()).append("%' ");
if(!StringUtils.isEmpty(model.getCustSn()))commonHql.append(" and orderAssembly.custSn like '%").append(model.getCustSn()).append("%' ");
if(!StringUtils.isEmpty(model.getAssemblySn()))commonHql.append(" and orderAssembly.assemblySn like '%").append(model.getAssemblySn()).append("%' ");