sql1.append("SELECT a.cashRebate,a.PriceDate,p.communePrice,p.communeMinus,a.ProductId,IFNULL(pcp.Name,a.resourceName) AS productName,pr.used AS totalUsed");
// sql1.append(",pr.used AS totalUsed,pr.Size AS totalSize,pr.Size-pr.used as size");
sql1.append(" FROM asm_courseresource a ");
sql1.append(" LEFT JOIN prd_courseresource pc ON pc.ID = a.ResourceId");
sql1.append(" LEFT JOIN prd_courseproduct pcp ON a.ProductId = pcp.ID");
sql1.append(" INNER JOIN prd_resourceprice p ON a.ResourceId = p.ResourceID AND a.PriceDate = p.priceDate ");
sql1.append(" JOIN prd_resourceinventory pr ON pr.ResourceID = a.ResourceId AND pr.TheDate = a.PriceDate");
sql1.append(" WHERE 1=1 ");
sql1.append(" and a.productType = ").append(ProductTypeEnum.EVENT_ACTIVITY.getValue());
sql1.append(" and a.productStatus = ").append(CourseProductStatusEnum.VALID.getValue());
sql1.append(" and a.resourceStatus = ").append(CourseResourceStatusEnum.VALID.getValue());
sql1.append(" and a.priceStatus in (").append(StringUtils.collectionToDelimitedString(list,",")).append(")");
sql1.append(" and a.courseStatus <> ").append(CourseStatusEnum.INVALID.getValue());
sql1.append(" and a.publishDate < a.priceDate");
sql1.append(" and a.offlineDate >= a.priceDate ");
sql1.append(" and a.realTimeTeeTimeType= ").append(ResourceRealTimeTeeTimeTypeEnum.NORMAL.getValue());
sql1.append(" and p.communePrice IS NOT NULL ");
StringBuildersql2=newStringBuilder();
// 实时TeeTime资源列表 同一天只显示一个资源在列表页
sql2.append("SELECT b.cashRebate,b.PriceDate,q.communePrice,q.communeMinus,b.ProductId,IFNULL(pcp.Name,b.resourceName) AS productName,SUM(pri.used) AS totalUsed");
sql2.append(" FROM asm_courseresource b");
sql2.append(" LEFT JOIN prd_courseresource pc ON pc.ID = b.ResourceId");
sql2.append(" LEFT JOIN prd_courseproduct pcp ON b.ProductId = pcp.ID");
sql2.append(" INNER JOIN prd_resourceprice q ON b.ResourceId = q.ResourceID AND b.PriceDate = q.priceDate ");
sql2.append(" JOIN prd_resourceinventory pri ON pri.ResourceID = b.ResourceId AND pri.TheDate = b.PriceDate");
sql2.append(" WHERE 1=1 ");
sql2.append("");
sql2.append(" and b.productType = ").append(ProductTypeEnum.EVENT_ACTIVITY.getValue());
sql2.append(" and b.productStatus = ").append(CourseProductStatusEnum.VALID.getValue());
sql2.append(" and b.resourceStatus = ").append(CourseResourceStatusEnum.VALID.getValue());
sql2.append(" and b.priceStatus in (").append(StringUtils.collectionToDelimitedString(list,",")).append(")");
sql2.append(" and b.courseStatus <> ").append(CourseStatusEnum.INVALID.getValue());
sql2.append(" and b.publishDate < b.priceDate");
sql2.append(" and b.offlineDate >= b.priceDate ");
sql2.append(" and b.realTimeTeeTimeType= ").append(ResourceRealTimeTeeTimeTypeEnum.REALTIME.getValue());
Stringhql1="select pcp.`Name` as productName, pr.priceDate, pr.CashRebate as cashRebate, pr.communePrice, pr.communeMinus from prd_resourceprice pr join prd_courseresource pcr on pr.ResourceID=pcr.ID"
+" AND pcr.`Status`=:resourceStatus AND pr.`Status` IN (:priceStatus) AND pcr.realTimeTeeTimeType =:realTimeTeeTimeType1 AND pcr.ResourceType=:resourceType"
Stringhql1="select pcp.`Name` as productName, pr.priceDate, pr.CashRebate as cashRebate, pr.communePrice, pr.communeMinus, pri.used as totalUsed from prd_resourceprice pr"
+" join prd_resourceinventory pri on pr.ResourceID=pri.ResourceID AND pri.TheDate=pr.priceDate"
+" join prd_courseresource pcr on pr.ResourceID=pcr.ID AND pcr.`Status`=:resourceStatus AND pr.`Status` IN (:priceStatus) AND pcr.realTimeTeeTimeType =:realTimeTeeTimeType1 AND pcr.ResourceType=:resourceType"
+" join prd_courseproduct pcp on pcp.ID = pcr.ProductID AND pcp.OfflineDate >= pr.priceDate AND pcp.PublishDate < pr.priceDate AND pcp.`Status` =:productStatus AND pcp.Type=:productType"
+" join prd_course pc ON pc.ID = pcp.CourseID AND pc.`Status`<> :courseStatus AND (pc.DistrictID=:districtId OR pc.DistrictID2=:districtId)"
+" WHERE pr.priceDate >= :startDate AND pr.priceDate < :endDate AND pr.communePrice IS NOT NULL";
Stringhql2="select pcp.`Name`as productName, pr.priceDate, pr.CashRebate as cashRebate, pr.communePrice, pr.communeMinus from prd_resourceprice pr join prd_courseresource pcr on pr.ResourceID=pcr.ID"
+" AND pcr.`Status`=:resourceStatus AND pr.`Status` IN (:priceStatus) AND pcr.realTimeTeeTimeType =:realTimeTeeTimeType2 AND pcr.ResourceType=:resourceType"
Stringhql2="select pcp.`Name`as productName, pr.priceDate, pr.CashRebate as cashRebate, pr.communePrice, pr.communeMinus,SUM(pri.used) AS totalUsed from prd_resourceprice pr"
+" join prd_resourceinventory pri on pr.ResourceID=pri.ResourceID AND pri.TheDate=pr.priceDate"
+" join prd_courseresource pcr on pr.ResourceID=pcr.ID AND pcr.`Status`=:resourceStatus AND pr.`Status` IN (:priceStatus) AND pcr.realTimeTeeTimeType =:realTimeTeeTimeType2 AND pcr.ResourceType=:resourceType"
+" join prd_courseproduct pcp on pcp.ID = pcr.ProductID AND pcp.OfflineDate >= pr.priceDate AND pcp.PublishDate < pr.priceDate AND pcp.`Status` =:productStatus AND pcp.Type=:productType"
+" join prd_course pc ON pc.ID = pcp.CourseID AND pc.`Status`<> :courseStatus AND (pc.DistrictID=:districtId OR pc.DistrictID2=:districtId)"
+" WHERE pr.priceDate >= :startDate AND pr.priceDate < :endDate AND pr.communePrice IS NOT NULL"