Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
yunhao.wang 6 years ago
commit cb6b06cb6a

@ -0,0 +1,114 @@
package cn.estsh.i3plus.pojo.base.bean;
import javafx.scene.text.Font;
import java.util.HashMap;
/**
* @Description : hql
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-03-29 15:57
* @Modify:
**/
public class DdlPackBean {
/**
* String
* example and name = :name
* and num > :num or .....
* Object
* example:
*
* daomaphqlkeyvalue
*/
private HashMap<String,Object> hqlPreparedMap;
//是否是hql
private boolean isHql;
//排序内容
private String orderByStr;
//where后跟着的hql/sql
private String whereAppend;
//需要拼接的hql
private StringBuilder sb = null;
public DdlPackBean(){
this.isHql = true;
sb = new StringBuilder();
}
public DdlPackBean(boolean isHql){
this.isHql = isHql;
sb = new StringBuilder();
}
public boolean isHql() {
return isHql;
}
public void setHql(boolean hql) {
isHql = hql;
}
public String getOrderByStr() {
return orderByStr;
}
public void setOrderByStr(String orderByStr) {
this.orderByStr = orderByStr;
}
public String getWhereAppend() {
return whereAppend;
}
public void setWhereAppend(String whereAppend) {
this.whereAppend = whereAppend;
}
public HashMap<String, Object> getHqlPreparedMap() {
return hqlPreparedMap;
}
/**
*
* @param hql
* @param val
*/
public void addColumnQuery(String column,String hql,Object val){
if(hqlPreparedMap == null){
hqlPreparedMap = new HashMap<>();
}
if(column != null && val != null) {
hqlPreparedMap.put(column, val);
}
sb.append(hql);
}
/**
*
* @return
*/
public int getColumnSize(){
return hqlPreparedMap.size();
}
/**
* ddl
* @return
*/
public String getPackedHql(){
if(whereAppend != null){
sb.append(whereAppend);
}
if(orderByStr != null){
sb.append(orderByStr);
}
return sb.toString();
}
}

@ -1,9 +1,6 @@
package cn.estsh.i3plus.pojo.base.enumutil;
import com.fasterxml.jackson.annotation.JsonFormat;
import javafx.scene.chart.Chart;
import java.util.Date;
/**
* @Description :
@ -1572,9 +1569,9 @@ public class BlockFormEnumUtil {
*
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum TRIGGER_EFFECT {
public enum BUTTON_TRIGGER_EFFECT {
DIALOG(10, "DIALOG", "弹出窗口"),
WINDOW_NEW(20, "NEW_WINDOW", "新开窗口"),
NEW_WINDOW(20, "NEW_WINDOW", "新开窗口"),
SQL(30, "SQL", "执行SQL"),
CLASS_METHOD(40, "CLASS_METHOD", "执行类方法");
@ -1582,7 +1579,7 @@ public class BlockFormEnumUtil {
private String name;
private String description;
TRIGGER_EFFECT(int value, String name, String description) {
BUTTON_TRIGGER_EFFECT(int value, String name, String description) {
this.value = value;
this.name = name;
this.description = description;
@ -1600,7 +1597,7 @@ public class BlockFormEnumUtil {
return name;
}
public static TRIGGER_EFFECT valueOf(int val) {
public static BUTTON_TRIGGER_EFFECT valueOf(int val) {
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
return values()[i];

@ -22,7 +22,8 @@ public class ResourceEnumUtil {
NUM_NOT_EQUAL("10007", "字符值不相同"),
STRING_NOT_EQUAL("10008", "数字值不相同"),
OVER_SIZE("10009", "长度超出"),
NOT_ZERO("10010", "不能为0");
NOT_ZERO("10010", "不能为0"),
CLOUD_CRAP("10011", "无法使用服务");
private String code;
private String description;

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.base.jpa.dao;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.common.Pager;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;
@ -39,6 +40,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
/**
* ql
* hqlupdate obj set name = list
* @param qlString jpaql
* @param values qlT,
* @return
@ -47,6 +49,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
/**
* ql
* hqlupdate obj set name = :name
* @param qlString jpaql
* @param params keyqlvalue
* @return
@ -55,6 +58,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
/**
* ql
* hqlupdate obj set name = list
* @param qlString jpaql
* @param values qlT
* @return
@ -65,11 +69,11 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
/**
*
*/
public void deleteById(ID id);
public int deleteByProperty(String propName, Object propValue);
public int deleteByPropertyIn(String propName, Object[] propValues);
public int deleteByIds(ID[] ids);
public int deleteByProperties(String[] propNames, Object[] objValues);
void deleteById(ID id);
int deleteByProperty(String propName, Object propValue);
int deleteByPropertyIn(String propName, Object[] propValues);
int deleteByIds(ID[] ids);
int deleteByProperties(String[] propNames, Object[] objValues);
/**
*
@ -78,7 +82,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyName
* @param propertyValue
*/
public int updateByProperties(String conditionName, Object conditionValue, String propertyName, Object propertyValue);
int updateByProperties(String conditionName, Object conditionValue, String propertyName, Object propertyValue);
/**
*
@ -87,7 +91,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyName
* @param propertyValue
*/
public int updateByProperties(String conditionName, Object conditionValue, String[] propertyName, Object[] propertyValue);
int updateByProperties(String conditionName, Object conditionValue, String[] propertyName, Object[] propertyValue);
/**
*
@ -96,7 +100,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyName
* @param propertyValue
*/
public int updateByProperties(String[] conditionName, Object[] conditionValue, String propertyName, Object propertyValue);
int updateByProperties(String[] conditionName, Object[] conditionValue, String propertyName, Object propertyValue);
/**
*
@ -105,7 +109,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyName
* @param propertyValue
*/
public int updateByProperties(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue);
int updateByProperties(String[] conditionName, Object[] conditionValue, String[] propertyName, Object[] propertyValue);
/**
* hqlWhere
@ -114,7 +118,7 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyValue
* @return
*/
public int updateByHqlWhere(String hqlWhere,String propertyName, Object propertyValue);
int updateByHqlWhere(String hqlWhere,String propertyName, Object propertyValue);
/**
*
@ -123,98 +127,135 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
* @param propertyValue
* @return
*/
public int updateByHqlWhere(String hqlWhere,String[] propertyName, Object[] propertyValue);
int updateByHqlWhere(String hqlWhere,String[] propertyName, Object[] propertyValue);
public T getById(long id);
T getById(long id);
public List<T> list();
List<T> list();
public List<T> list(final String hql);
List<T> list(final String hql);
public List<T> listPager(Pager pager);
List<T> listPager(Pager pager);
public List<T> findByPage(final String hql, final int offset,final int pageSize);
List<T> findByPage(final DdlPackBean packBean, final int offset, final int pageSize);
public List<T> findByPage(final String hql, final Object[] values, final int offset, final int pageSize);
/**
* @param hql hql
* @param values
* @param offset
* @param pageSize
* @return
*/
List<T> findByPage(final String hql, final Object[] values, final int offset, final int pageSize);
List<T> findByProperty(String propertyName, Object value);
List<T> findByProperty(String[] propertyNames, Object[] values);
List<T> findByProperty(String propertyName, Object value,String orderByStuff);
public List<T> findByProperty(String propertyName, Object value);
List<T> findByProperty(String[] propertyNames, Object[] values,String orderByStuff);
public List<T> findByProperty(String[] propertyNames, Object[] values);
T getByProperty(String propertyName, Object value);
public List<T> findByProperty(String propertyName, Object value,String orderByStuff);
T getByProperty(String[] propertyNames, Object[] values);
public List<T> findByProperty(String[] propertyNames, Object[] values,String orderByStuff);
int listCount();
public T getByProperty(String propertyName, Object value);
int findByPropertyCount(String propertyName, Object value);
public T getByProperty(String[] propertyNames, Object[] values);
int findByPropertyCount(String[] propertyNames, Object[] values);
public int listCount();
List<T> findByPropertyPage(String propertyName, Object value,String orderByStuff,Pager pager);
public int findByPropertyCount(String propertyName, Object value);
List<T> findByPropertyPage(String[] propertyNames, Object[] values,String orderByStuff,Pager pager);
public int findByPropertyCount(String[] propertyNames, Object[] values);
@Deprecated
List<T> findByHql(String hql);
public List<T> findByPropertyPage(String propertyName, Object value,String orderByStuff,Pager pager);
@Deprecated
List<T> findByHqlWhere(String hqlWhere);
public List<T> findByPropertyPage(String[] propertyNames, Object[] values,String orderByStuff,Pager pager);
List<T> findByHqlWhere(DdlPackBean packBean);
public List<T> findByHql(String hql);
List<T> findByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values,String orderByStuff);
public List<T> findByHqlWhere(String hqlWhere);
int findByHqlWhereCount(String hqlWhere,String[] propertyNames, Object[] values);
public List<T> findByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values,String orderByStuff);
List<T> findByHqlWherePage(String hqlWhere, Pager pager,String[] propertyNames, Object[] values,String orderByStuff);
public int findByHqlWhereCount(String hqlWhere,String[] propertyNames, Object[] values);
@Deprecated
List<T> findByHqlWherePage(String hqlWhere, Pager pager);
public List<T> findByHqlWherePage(String hqlWhere, Pager pager,String[] propertyNames, Object[] values,String orderByStuff);
List<T> findByHqlWherePage(DdlPackBean packBean, Pager pager);
public List<T> findByHqlWherePage(String hqlWhere, Pager pager);
@Deprecated
int findByHqlWhereCount(String hqlWhere);
public int findByHqlWhereCount(String hqlWhere);
int findByHqlWhereCount(DdlPackBean packBean);
public int findByHqlCount(String hql);
int findByHqlCount(String hql);
public int findByHqlCount(String hql,String[] paramName,Object[] paramValue);
int findByHqlCount(String hql,String[] paramName,Object[] paramValue);
public List<T> findByHqlPage(String hql, Pager pager);
@Deprecated
List<T> findByHqlPage(String hql, Pager pager);
public List<T> findByHqlPage(String hql, Pager pager,String[] paramName,Object[] paramValue);
List<T> findByHqlPage(DdlPackBean packBean, Pager pager);
public List findBySql(String sql);
List<T> findByHqlPage(String hql, Pager pager,String[] paramName,Object[] paramValue);
public List<?> findBySql(String sql,Class entity);
@Deprecated
List findBySql(String sql);
public List findBySqlPage(String sql,Pager pager);
@Deprecated
List<?> findBySql(String sql,Class entity);
public List<?> findBySqlPage(String sql,Class entity,Pager pager);
@Deprecated
List findBySqlPage(String sql,Pager pager);
public int executeSql(String sql);
@Deprecated
List<?> findBySqlPage(String sql,Class entity,Pager pager);
public int findBySqlCount(String sql);
@Deprecated
int executeSql(String sql);
public double findBySqlSumDouble(String sql,String columnName);
@Deprecated
int findBySqlCount(String sql);
public double findByHqlDouble(String hql);
@Deprecated
double findBySqlSumDouble(String sql,String columnName);
public long findByHqlLong(String hql);
@Deprecated
double findByHqlDouble(String hql);
public List<T> findByHqlTopWhere(String hqlWhere,int topNum);
double findByHqlDouble(DdlPackBean packBean);
public List<T> findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager);
@Deprecated
long findByHqlLong(String hql);
long findByHqlLong(DdlPackBean packBean);
@Deprecated
List<T> findByHqlTopWhere(String hqlWhere,int topNum);
List<T> findByHqlTopWhere(DdlPackBean packBean,int topNum);
@Deprecated
List<T> findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager);
/********************** 多表联查返回Object[]数组根据hql查询翻页信息 开始 ****************************/
public List<Object[]> findByHqlObjects(String hql);
List<Object[]> findByHqlObjects(String hql);
public List<Object[]> findByHqlObjects(String hql,String[] paramName,Object[] paramValue);
List<Object[]> findByHqlObjects(String hql,String[] paramName,Object[] paramValue);
public List<Object[]> findByHqlPageObjects(String hql, Pager pager);
List<Object[]> findByHqlPageObjects(String hql, Pager pager);
public List<Object[]> findByHqlPageObjects(String hql, Pager pager,String[] paramName,Object[] paramValue);
List<Object[]> findByHqlPageObjects(String hql, Pager pager,String[] paramName,Object[] paramValue);
public List<Object[]> findBySqlObjList(String sql);
List<Object[]> findBySqlObjList(String sql);
public List<Object[]> findBySqlObjListByPager(String sql,Pager pager);
List<Object[]> findBySqlObjListByPager(String sql,Pager pager);
/****************** 部分业务处理 *******************/
@ -222,49 +263,52 @@ public interface BaseRepository <T, ID extends Serializable> extends JpaReposito
*
* @return count
*/
public int deleteWeaklyById(ID id,String username);
public int deleteWeaklyByIds(Long[] ids,String username) ;
public int deleteWeaklyByProperty(String propName, Object propValue,String username);
public int deleteWeaklyByPropertyIn(String propName, Object[] propValues,String username);
public int deleteWeaklyByProperties(String[] propNames, Object[] objValues,String username);
int deleteWeaklyById(ID id,String username);
int deleteWeaklyByIds(Long[] ids,String username) ;
int deleteWeaklyByProperty(String propName, Object propValue,String username);
int deleteWeaklyByPropertyIn(String propName, Object[] propValues,String username);
int deleteWeaklyByProperties(String[] propNames, Object[] objValues,String username);
/**
*
* @return count
*/
public int updateValidStatusById(ID id,int status,String username);
public int updateValidStatusByIds(Long[] ids,int status,String username) ;
public int updateValidStatusByProperty(String propName, Object propValue,int status,String username);
public int updateValidStatusByPropertyIn(String propName, Object[] propValues,int status,String username);
public int updateValidStatusByProperties(String[] propNames, Object[] objValues,int status,String username);
int updateValidStatusById(ID id,int status,String username);
int updateValidStatusByIds(Long[] ids,int status,String username) ;
int updateValidStatusByProperty(String propName, Object propValue,int status,String username);
int updateValidStatusByPropertyIn(String propName, Object[] propValues,int status,String username);
int updateValidStatusByProperties(String[] propNames, Object[] objValues,int status,String username);
boolean isExitByProperty(String propertyName, Object value);
public boolean isExitByProperty(String propertyName, Object value);
boolean isExitByProperty(String[] propertyNames, Object[] values);
public boolean isExitByProperty(String[] propertyNames, Object[] values);
boolean isExitByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values);
public boolean isExitByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values);
boolean isExitByHqlWhere(String hqlWhere);
public boolean isExitByHqlWhere(String hqlWhere);
@Deprecated
boolean isExitByHql(String hql);
public boolean isExitByHql(String hql);
boolean isExitByHql(DdlPackBean packBean);
public boolean isExitByHql(String hql,String[] paramName,Object[] paramValue);
boolean isExitByHql(String hql,String[] paramName,Object[] paramValue);
public boolean isExitBySql(String sql);
boolean isExitBySql(String sql);
public double findSumByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
double findSumByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
public double findSumByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
double findSumByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
public double findAvgByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
double findAvgByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
public double findAvgByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
double findAvgByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
public double findMaxByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
double findMaxByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
public double findMaxByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
double findMaxByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
public double findMinByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
double findMinByProperty(String sumPropertyName,String groupByName,String propertyName, Object value);
public double findMinByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
double findMinByProperties(String sumPropertyName,String groupByName,String[] paramName,Object[] paramValue);
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.base.jpa.daoimpl;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository;
@ -277,11 +278,23 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public List<T> findByPage(String hql, int offset, int pageSize) {
return entityManager.createQuery("from " + persistentClass.getName())
.setFirstResult(offset)
.setMaxResults(pageSize)
.getResultList();
public List<T> findByPage(DdlPackBean packBean, int offset, int pageSize) {
Query query = null;
String ddl = "from " + persistentClass.getName() + " where 1=1 " +packBean.getPackedHql();
if(packBean.isHql()){
query = entityManager.createQuery(ddl);
}else{
query = entityManager.createNativeQuery(ddl);
}
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter(key,packBean.getHqlPreparedMap().get(key));
}
return query.setFirstResult(offset)
.setMaxResults(pageSize)
.getResultList();
}
@Override
@ -523,11 +536,13 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
}
@Deprecated
@Override
public List<T> findByHql(String hql) {
return entityManager.createQuery(hql).getResultList();
}
@Deprecated
@Override
public List<T> findByHqlWhere(String hqlWhere) {
StringBuffer queryString = new StringBuffer();
@ -541,9 +556,22 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public List<T> findByHqlWhere(DdlPackBean packBean) {
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql());
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter(key,packBean.getHqlPreparedMap().get(key));
}
return query.getResultList();
}
@Override
public List<T> findByHqlWhere(String hqlWhere, String[] propertyNames, Object[] values, String orderByStuff) {
if(propertyNames.length != values.length){
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:" + propertyNames.length + ",values:" + values.length);
throw new IllegalArgumentException("参数名的数量和参数值不匹配!propertyNames:"
+ propertyNames.length + ",values:" + values.length);
}
StringBuffer queryString = new StringBuffer();
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
@ -638,6 +666,7 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
}
@Deprecated
@Override
public List<T> findByHqlWherePage(String hqlWhere, Pager pager) {
if(pager.getTotalRows() > 0) {
@ -658,6 +687,25 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public List<T> findByHqlWherePage(DdlPackBean packBean, Pager pager) {
if(pager.getTotalRows() > 0) {
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql());
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
return query.setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize())
.getResultList();
}else{
return new ArrayList<T>();
}
}
@Deprecated
@Override
public int findByHqlWhereCount(String hqlWhere) {
StringBuffer queryString = new StringBuffer();
queryString.append("select count(distinct model) from " + persistentClass.getSimpleName() + " as model where 1=1 ");
@ -674,6 +722,24 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public int findByHqlWhereCount(DdlPackBean packBean) {
StringBuffer queryString = new StringBuffer();
queryString.append("select count(distinct model) from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql());
Query query = entityManager.createQuery(queryString.toString(), Long.class);
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
try{
Long count = (Long) query.getSingleResult();
return count == null ? 0 : count.intValue();
}catch(NoResultException e){
return 0;
}
}
@Override
public int findByHqlCount(String hql) {
try{
Long count = entityManager.createQuery(hql,Long.class).getSingleResult();
@ -709,9 +775,27 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
return entityManager.createQuery(queryString.toString())
.setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize())
.getResultList();
.setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize())
.getResultList();
}else{
return new ArrayList<T>();
}
}
@Override
public List<T> findByHqlPage(DdlPackBean packBean, Pager pager) {
if(pager.getTotalRows() > 0){
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql());
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
return query.setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize())
.getResultList();
}else{
return new ArrayList<T>();
}
@ -808,6 +892,23 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public double findByHqlDouble(DdlPackBean packBean) {
try{
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql(),Double.class);
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
Double result = (Double) query.getSingleResult();
return result == null ? 0 : result;
}catch(NoResultException e){
return 0;
}
}
@Override
public long findByHqlLong(String hql) {
try{
return entityManager.createQuery(hql,Long.class).getSingleResult();
@ -817,6 +918,22 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public long findByHqlLong(DdlPackBean packBean) {
try{
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql(),Long.class);
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
return (long) query.getSingleResult();
}catch(NoResultException e){
return 0;
}
}
@Override
public List<T> findByHqlTopWhere(String hqlWhere, int topNum) {
StringBuffer queryString = new StringBuffer();
queryString.append("from " + persistentClass.getSimpleName() + " as model where 1=1 ");
@ -828,6 +945,17 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public List<T> findByHqlTopWhere(DdlPackBean packBean, int topNum) {
Query query = entityManager.createQuery("from " + persistentClass.getSimpleName()
+ " as model where 1=1 " + packBean.getPackedHql());
for (String key : packBean.getHqlPreparedMap().keySet()) {
query.setParameter("m_" + key,packBean.getHqlPreparedMap().get(key));
}
return query.setFirstResult(0).setMaxResults(topNum).getResultList();
}
@Override
public List<T> findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) {
if(pager.getTotalRows() > 0) {
StringBuffer queryString = new StringBuffer();
@ -840,7 +968,10 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
queryString.append(" " + orderByStuff);
return entityManager.createQuery(queryString.toString()).setFirstResult(pager.getStartRow()).setMaxResults(pager.getPageSize()).getResultList();
return entityManager.createQuery(queryString.toString())
.setFirstResult(pager.getStartRow())
.setMaxResults(pager.getPageSize())
.getResultList();
}else{
return new ArrayList<T>();
}
@ -1119,6 +1250,11 @@ public class BaseRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRep
}
@Override
public boolean isExitByHql(DdlPackBean packBean) {
return findByHqlWhereCount(packBean) > 0;
}
@Override
public boolean isExitByHql(String hql, String[] paramName, Object[] paramValue) {
return findByHqlCount(hql) > 0;
}

@ -0,0 +1,449 @@
package cn.estsh.i3plus.pojo.base.tool;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Description : hqlHqlPacksql
* example name = :name
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2019-03-29
* @Modify:
**/
public class DdlPreparedPack {
/**
*
*
* @param startDate
* @param endDate
* @param columnName HQL
* @param packBean HQL
* @param isShowTime
*/
public static void timeBuilder(String startDate, String endDate, String columnName,
DdlPackBean packBean, boolean isShowTime) {
if (startDate == null || startDate.trim().length() == 0) {
startDate = "1900-01-01";
} else {
startDate = startDate.trim();
}
if (isShowTime && startDate.trim().length() <= 11) {
startDate += " 00:00:00";
}
if (endDate == null || endDate.trim().length() == 0) {
endDate = "2100-01-01";
} else {
endDate = endDate.trim();
}
if (isShowTime && endDate.trim().length() <= 11) {
endDate += " 23:59:59";
}
packBean.addColumnQuery(columnName,"and model." + columnName + " >= :m_" + columnName, startDate);
packBean.addColumnQuery(columnName,"and model." + columnName + " <= :m_" + columnName, endDate);
}
/**
*
*
* @param date
* @param columnName HQL
* @param packBean HQL
* @param showTaday true:false:
* @param isShowTime
*/
public static void timeBuilder(String date, String columnName, DdlPackBean packBean, Boolean showTaday, boolean isShowTime) {
if (date != null && date.trim().length() > 0) {
String today = (new SimpleDateFormat("yyyy-MM-dd")).format(new Date());
if (date != null && date.trim().length() > 0 && (date.length() == 1 || ",".equals(date))) {
//只有一个逗号
date = "";
}
String[] time = date.split(",");
if (time.length == 1) {
//只有开始日期,没有结束日期
packBean.addColumnQuery(columnName,"and model." + columnName + " like :m_" + columnName, "%" + time[0] + "%");
} else if (time.length == 2 && ((time[0] != null && time[0].trim().length() > 0)
|| (time[1] != null & time[1].trim().length() > 0))) {
if (time[0] == null || time[0].trim().length() == 0) {
time[0] = "1900-01-01";
} else {
time[0] = time[0].trim();
}
if (isShowTime && time[0].trim().length() <= 11) {
time[0] += " 00:00:00";
}
if (time[1] == null || time[1].trim().length() == 0) {
time[1] = "2100-01-01";
} else {
time[1] = time[1].trim();
}
if (isShowTime && time[1].trim().length() <= 11) {
time[1] += " 23:59:59";
}
packBean.addColumnQuery(columnName,"and model." + columnName + " >= :m_" + columnName, time[0]);
packBean.addColumnQuery(columnName,"and model." + columnName + " <= :m_" + columnName, time[1]);
} else {
if (showTaday) {
if (isShowTime) {
packBean.addColumnQuery(columnName,"and model." + columnName + " >= :m_" + columnName, today + " 00:00:00");
packBean.addColumnQuery(columnName,"and model." + columnName + " <= :m_" + columnName, today + " 23:59:59");
} else {
packBean.addColumnQuery(columnName,"and model." + columnName + " >= :m_" + columnName, today);
packBean.addColumnQuery(columnName,"and model." + columnName + " <= :m_" + columnName, today);
}
}
}
}
}
/**
*
*
* @param date
* @param startColumnName HQL
* @param endColumnName HQL
* @param packBean HQL
* @param isShowTime
*/
public static void getTimeBetweenCol(String date, String startColumnName, String endColumnName,
DdlPackBean packBean, boolean isShowTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (date == null || date.trim().length() == 0) {
date = sdf.format(new Date());
}
if (!isShowTime) {
date = date.substring(0, 10);
packBean.addColumnQuery(null," and '" + date + "' between substring(model." + startColumnName
+ ",1,10) and substring(model." + endColumnName + ",1,10)", null);
return;
} else if (date.trim().length() <= 11) {
date += " 00:00:00";
}
packBean.addColumnQuery(null," and '" + date + "' between model." + startColumnName
+ " and model." + endColumnName, null);
}
/**
* Stringorder by
*
* @param columnName
* @param packBean
*/
public static void getOrderByPack(Object order[], String[] columnName, DdlPackBean packBean) {
String sqlStr = "";
String orderByStr = "";
for (int i = 0; i < order.length; i++) {
if (order[i] != null && order[i].toString().trim().length() > 0) {
if (Integer.parseInt(order[i].toString()) == 1) {
order[i] = "asc";
} else {
order[i] = "desc";
}
sqlStr += " model." + columnName[i] + " " + order[i].toString() + ",";
}
}
if (sqlStr.length() > 0 && sqlStr.lastIndexOf(",") == sqlStr.length() - 1) {
sqlStr = sqlStr.substring(0, sqlStr.length() - 1);
orderByStr = " order by " + sqlStr;
}
packBean.setOrderByStr(orderByStr);
}
/**
*
*/
public static void getOrderDefault(BaseBean bean) {
if (bean != null && StringUtils.isBlank(bean.getOrderByParam())) {
bean.setOrderByParam("modifyDatetime");
bean.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
}
}
/**
* Stringlike
*
* @param val
* @param columnName
* @param packBean
*/
public static void getStringLikerPack(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " like :m_" + columnName, "%" + val + "%");
}
}
/**
* Stringlike
*
* @param val
* @param columnName
* @param packBean
*/
public static void getStringLikerPackOr(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," or model." + columnName + " like :m_" + columnName, "%" + val + "%");
}
}
/**
* Stringlike()
*
* @param val
* @param columnName
* @param packBean
*/
public static void getStringRightLikerPack(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " like :m_" + columnName, val + "%");
}
}
/**
* Stringlike()
*
* @param val
* @param columnName
* @param packBean
*/
public static void getStringLeftLikerPack(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " like :m_" + columnName, "%" + val);
}
}
/**
* Stringequal
*
* @param columnName
* @param packBean
*/
public static void getStringEqualPack(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " = :m_" + columnName, val);
}
}
/**
* Stringequal
*
* @param columnName
* @param packBean
*/
public static void getStringEqualPackOr(String val, String columnName, DdlPackBean packBean) {
if (val != null && val.trim().length() > 0) {
packBean.addColumnQuery(columnName," or model." + columnName + " = :m_" + columnName, val);
}
}
/**
* longintequal
*
* @param columnName
* @param packBean
*/
public static void getNumEqualPack(Object data, String columnName, DdlPackBean packBean) {
if (data != null) {
packBean.addColumnQuery(columnName," and model." + columnName + " = :m_" + columnName, data);
}
}
/**
* longintequal
*
* @param columnName
* @param packBean
*/
public static void getNumEqualPackOr(Object data, String columnName, DdlPackBean packBean) {
if (data != null && Long.parseLong(data.toString()) > 0) {
packBean.addColumnQuery(columnName," or model." + columnName + " = :m_" + columnName, data);
}
}
/**
* longintequal
*
* @param columnName
* @param packBean
*/
public static void getNumEqualPackOverZero(Object data, String columnName, DdlPackBean packBean) {
if (data != null && Double.parseDouble(data.toString()) > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " = :m_" + columnName, data);
}
}
/**
* longintequal
*
* @param columnName
* @param packBean
*/
public static void getNumWithZeroEqualPack(Object data, String columnName, DdlPackBean packBean) {
if (data != null && Double.parseDouble(data.toString()) >= 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " = :m_" + columnName, data);
}
}
/**
* double
*
* @param columnName
* @param packBean
*/
public static void getNumberBiggerPack(Object data, String columnName, DdlPackBean packBean) {
if (data != null && Double.parseDouble(data.toString()) > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " > :m_" + columnName, data);
}
}
/**
* double
*
* @param columnName
* @param packBean
*/
public static void getNumberSmallerPack(Object data, String columnName, DdlPackBean packBean) {
if (data != null && Double.parseDouble(data.toString()) > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " < :m_" + columnName, data);
}
}
/**
* longintequal()
*
* @param columnName
* @param packBean
*/
public static void getNumNOEqualPack(Object data, String columnName, DdlPackBean packBean) {
if (data != null) {
packBean.addColumnQuery(columnName," and model." + columnName + " <> :m_" + columnName, data);
}
}
/**
* in
*
* @param data
* @param columnName
* @param packBean
*/
public static void getInPack(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
packBean.addColumnQuery(columnName," and model." + columnName + " in (:m_" + columnName + ")", data);
}
}
/**
* in
*
* @param data
* @param columnName
* @param packBean
*/
public static void getOrInPack(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
packBean.addColumnQuery(columnName," or model." + columnName + " in (:m_" + columnName + ")", data);
}
}
/**
* in String
*
* @param data
* @param columnName
* @param packBean
*/
public static void getInPackString(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
//判断最后一位是不是逗号
if (data.lastIndexOf(",") != (data.length() - 1)) {
data += ",";
}
String[] dataArray = data.substring(0, data.length() - 1).split(",");
data = "";
for (int i = 0; i < dataArray.length; i++) {
if (i == dataArray.length - 1) {
data += "'" + dataArray[i] + "'";
} else {
data += "'" + dataArray[i] + "',";
}
}
packBean.addColumnQuery(columnName," and model." + columnName + " in (:m_" + columnName + ")", data);
}
}
/**
* in String
*
* @param data
* @param columnName
* @param packBean
*/
public static void getInOrPackString(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
//判断最后一位是不是逗号
if (data.lastIndexOf(",") != (data.length() - 1)) {
data += ",";
}
String[] dataArray = data.substring(0, data.length() - 1).split(",");
data = "";
for (int i = 0; i < dataArray.length; i++) {
if (i == dataArray.length - 1) {
data += "'" + dataArray[i] + "'";
} else {
data += "'" + dataArray[i] + "',";
}
}
packBean.addColumnQuery(columnName," or model." + columnName + " in (:m_" + columnName + ")", data);
}
}
/**
* in String
*
* @param data
* @param columnName
* @param packBean
*/
public static void getNotInPackString(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
//判断最后一位是不是逗号
if (data.lastIndexOf(",") != (data.length() - 1)) {
data += ",";
}
String[] dataArray = data.substring(0, data.length() - 1).split(",");
data = "";
for (int i = 0; i < dataArray.length; i++) {
if (i == dataArray.length - 1) {
data += "'" + dataArray[i] + "'";
} else {
data += "'" + dataArray[i] + "',";
}
}
packBean.addColumnQuery(columnName," and." + columnName + " not in (:m_" + columnName + ")", data);
}
}
/**
* not in
*
* @param data
* @param columnName
* @param packBean
*/
public static void getNotInPack(String data, String columnName, DdlPackBean packBean) {
if (data != null && data.trim().length() > 0) {
packBean.addColumnQuery(columnName," and." + columnName + " not in (:m_" + columnName + ")", data);
}
}
}

@ -7,6 +7,13 @@ import org.apache.commons.lang3.StringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Description :
* @Reference :
* @Author : alwaysfrin
* @CreateDate : 2018-10-13 18:17
* @Modify:
**/
public class HqlPack {
/**
@ -165,11 +172,9 @@ public class HqlPack {
*
*/
public static void getOrderDefault(BaseBean bean) {
if(bean != null){
if(StringUtils.isBlank(bean.getOrderByParam())){
bean.setOrderByParam("modifyDatetime");
bean.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
}
if(bean != null && StringUtils.isBlank(bean.getOrderByParam())){
bean.setOrderByParam("modifyDatetime");
bean.setAscOrDesc(CommonEnumUtil.ASC_OR_DESC.DESC.getValue());
}
}
@ -279,7 +284,7 @@ public class HqlPack {
* @param result
*/
public static void getNumEqualPackForZero(Object data,String columnName, StringBuffer result) {
if (data != null && Long.parseLong(data.toString()) >= 0) {
if (data != null && Long.parseLong(data.toString()) > 0) {
data = getSafeParam(data);
result.append(" and model."+columnName+" = " + data + "");
}

@ -9,7 +9,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -26,31 +25,39 @@ import javax.persistence.Table;
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode(callSuper = true)
@Table(name="BF_BUTTON")
@Api(value="表单按钮",description = "表单按钮")
@Table(name = "BF_BUTTON")
@Api(value = "表单按钮", description = "表单按钮")
public class BfButton extends BaseBean {
@Column(name="BUTTON_NAME")
@ApiParam(value ="按钮名称")
@Column(name = "BUTTON_NAME")
@ApiParam(value = "按钮名称")
private String buttonName;
// 枚举:BlockFormEnumUtil.TRIGGER_EFFECT
@Column(name="TRIGGER_MODE")
@ApiParam(value ="触发方式")
// 枚举:BlockFormEnumUtil.BUTTON_TRIGGER_EFFECT
@Column(name = "TRIGGER_MODE")
@ApiParam(value = "触发方式")
private Integer triggerMode;
public Integer getTriggerMode() {
if (triggerMode == null) {
return null;
} else {
return triggerMode.intValue();
}
}
// 关联表单功能表id
@Column(name="METHOD_ID")
@ApiParam(value ="表单功能id")
@Column(name = "METHOD_ID")
@ApiParam(value = "表单功能id")
@JsonSerialize(using = ToStringSerializer.class)
private Long methodId;
@Column(name="METHOD_NAME_RDD")
@ApiParam(value ="表单功能名称")
@Column(name = "METHOD_NAME_RDD")
@ApiParam(value = "表单功能名称")
private String methodNameRdd;
// 执行类方法,sql,脚本
@Column(name="METHOD_CONTENT")
@ApiParam(value ="执行内容")
@Column(name = "METHOD_CONTENT")
@ApiParam(value = "执行内容")
private String methodContent;
}

@ -164,4 +164,19 @@ public final class FormHqlPack {
return result.toString();
}
/**
*
* @param bfButton
*/
public static String packHqlBfButton(BfButton bfButton){
StringBuffer result = new StringBuffer();
HqlPack.getStringLikerPack(bfButton.getButtonName(), "buttonName", result);
HqlPack.getNumEqualPack(bfButton.getTriggerMode(), "triggerMode", result);
HqlPack.getNumEqualPack(bfButton.getIsDeleted(), "isDeleted", result);
result.append(bfButton.orderBy());
return result.toString();
}
}

Loading…
Cancel
Save