dataHql.append(" select new ").append(MesGeneralExportReportModel.class.getName()).append("(workOrder.organizeCode,workOrder.workCenterCode,workOrder.id,workOrder.workOrderNo,workOrder.custSn,partType.partTypeName,assembly.assemblySn,orderAssembly.createDatetime,workOrder.shippingTime)");
returnorderBy.append(" order by d.").append(model.getOrderByParam()).append(" ").append(CommonEnumUtil.ASC_OR_DESC.DESC.getValue()==model.getAscOrDesc()?"desc":"asc").toString();
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(" 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) ");
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("%' ");
if(!StringUtils.isEmpty(model.getWorkOrderNo()))commonHql.append(" and workOrder.workOrderNo like '%").append(model.getWorkOrderNo()).append("%' ");
if(!StringUtils.isEmpty(model.getShippingTimeStart()))commonHql.append(" and workOrder.shippingTime >= :shippingTimeStart ");
if(!StringUtils.isEmpty(model.getShippingTimeEnd()))commonHql.append(" and workOrder.shippingTime <= :shippingTimeEnd ");