|
@@ -4,8 +4,12 @@ import me.zhengjie.modules.dm.statement.domain.DmHaveDinner;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.domain.Pageable;
|
|
import org.springframework.data.jpa.repository.*;
|
|
import org.springframework.data.jpa.repository.*;
|
|
|
|
+import org.springframework.data.repository.query.Param;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
public interface DmHaveDinnerRepository extends JpaRepository<DmHaveDinner,Integer>, JpaSpecificationExecutor<DmHaveDinner> {
|
|
public interface DmHaveDinnerRepository extends JpaRepository<DmHaveDinner,Integer>, JpaSpecificationExecutor<DmHaveDinner> {
|
|
/**
|
|
/**
|
|
* todo 是否存在视图
|
|
* todo 是否存在视图
|
|
@@ -199,4 +203,35 @@ public interface DmHaveDinnerRepository extends JpaRepository<DmHaveDinner,Integ
|
|
"WHERE 1> (SELECT COUNT(*) from zdweek b WHERE a.time = b.time and a.zd_num > b.zd_num)" +
|
|
"WHERE 1> (SELECT COUNT(*) from zdweek b WHERE a.time = b.time and a.zd_num > b.zd_num)" +
|
|
")a ",nativeQuery = true)
|
|
")a ",nativeQuery = true)
|
|
Page<DmHaveDinner> selectByZdWeek(Pageable pageable);
|
|
Page<DmHaveDinner> selectByZdWeek(Pageable pageable);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 判断视图是否存在
|
|
|
|
+ * @param viewName
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Query(nativeQuery = true,value = "select information_schema.VIEWS.TABLE_NAME from information_schema.VIEWS where (information_schema.VIEWS.TABLE_SCHEMA='dm_restaurant') and information_schema.VIEWS.TABLE_NAME = :viewName")
|
|
|
|
+ String judgeView(@Param("viewName") String viewName);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 删除视图
|
|
|
|
+ * @param viewName
|
|
|
|
+ */
|
|
|
|
+ @Modifying
|
|
|
|
+ @Transactional
|
|
|
|
+ @Query(nativeQuery = true,value = "drop view `DAY_DINING_STATEMENTS`")
|
|
|
|
+ void dropDayView(@Param("viewName") String viewName);
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 创建视图
|
|
|
|
+ * @param startTime //开始时间
|
|
|
|
+ * @param nowTime //当前时间
|
|
|
|
+ * @param viewName //视图名称
|
|
|
|
+ */
|
|
|
|
+ @Modifying
|
|
|
|
+ @Transactional
|
|
|
|
+ @Query(nativeQuery = true,value = "create view DAY_DINING_STATEMENTS as SELECT item.pid,item.name,COUNT(item.pid) as countPid,item.price,rec.create_date,item.seq FROM dm_order_record rec LEFT JOIN dm_order_item item on rec.seq = item.seq WHERE rec.create_date BETWEEN ?1 AND ?2 GROUP BY item.pid ")
|
|
|
|
+ void createDayView(@Param("startTime") String startTime,@Param("nowTime") String nowTime,@Param("viewName") String viewName);
|
|
|
|
+
|
|
|
|
+ @Query(nativeQuery = true,value = "SELECT * FROM `DAY_DINING_STATEMENTS`")
|
|
|
|
+ List<Map<String,Object>> selectDayView();
|
|
}
|
|
}
|