diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/DdlPackBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/DdlPackBean.java new file mode 100644 index 0000000..05c06fd --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/DdlPackBean.java @@ -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: 值 + * + * dao层将map进行解封,hql部分直接添加key值,然后再进行value赋值 + */ + private HashMap 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 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(); + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java index 672767d..11363f8 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockFormEnumUtil.java @@ -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]; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ResourceEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ResourceEnumUtil.java index 1a7d0cd..f6481e7 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ResourceEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/ResourceEnumUtil.java @@ -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; diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java index afc39d4..a7bf29d 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/WmsEnumUtil.java @@ -80,7 +80,6 @@ public class WmsEnumUtil { } - /** * 主表信息 单据类型 */ @@ -584,60 +583,37 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum LINK_ORDER_TYPE { - ASN(10, "ASN", "ASN"), - PO(20, "PO", "PO"), - SO(30, "SO", "SO"), - MOVE(40, "MOVE", "MOVE"), - IN_STOCK(50, "IN_STOCK", "IN_STOCK"), - SHIPPING(60, "SHIPPING", "SHIPPING"), - QC(70, "QC", "QC"), - CS(80, "CS", "CS"); - private int value; - private String code; + ASN("ASN", "ASN"), + PO("PO", "PO"), + SO("SO", "SO"), + MOVE("MOVE", "MOVE"), + IN_STOCK("IN_STOCK", "IN_STOCK"), + SHIPPING("SHIPPING", "SHIPPING"), + QC("QC", "QC"), + CS("CS", "CS"); + private String value; private String description; - LINK_ORDER_TYPE(int value, String code, String description) { + LINK_ORDER_TYPE(String value, String description) { this.value = value; - this.code = code; this.description = description; } - public int getValue() { - return value; - } - public String getDescription() { return description; } public String getCode() { - return code; - } - - public static String valueOf(int val) { - String tmp = null; - for (int i = 0; i < values().length; i++) { - if (values()[i].value == val) { - tmp = values()[i].description; - } - } - return tmp; + return value; } - public static int descOf(String desc) { - int tmp = 1; - for (int i = 0; i < values().length; i++) { - if (values()[i].description.equals(desc)) { - tmp = values()[i].value; - } - } - return tmp; + public String getValue() { + return value; } - public static LINK_ORDER_TYPE codeOf(String code) { - int tmp = 1; + public static LINK_ORDER_TYPE codeOf(String value) { for (int i = 0; i < values().length; i++) { - if (values()[i].code.equals(code)) { + if (values()[i].value.equals(value)) { return values()[i]; } } @@ -720,7 +696,7 @@ public class WmsEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum STOCK_SN_STATUS { - CREATE(10,"创建"), + CREATE(10, "创建"), QUALITY_CONTROL(20, "质检中"), PRE_INSTOCK(30, "待入库"), INSTOCKED(40, "入库"), diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java index cbedf52..8ac9fdc 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/dao/BaseRepository.java @@ -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 extends JpaReposito /** * 执行ql语句 + * hql写法:update obj set name = ?,问号舒徐需要和list顺序一致 * @param qlString 基于jpa标准的ql语句 * @param values ql中的T参数值,单个参数值或者多个参数值 * @return 返回执行后受影响的数据个数 @@ -47,6 +49,7 @@ public interface BaseRepository extends JpaReposito /** * 执行ql语句 + * hql写法:update obj set name = :name * @param qlString 基于jpa标准的ql语句 * @param params key表示ql中参数变量名,value表示该参数变量值 * @return 返回执行后受影响的数据个数 @@ -55,6 +58,7 @@ public interface BaseRepository extends JpaReposito /** * 执行ql语句,可以是更新或者删除操作 + * hql写法:update obj set name = ?,问号舒徐需要和list顺序一致 * @param qlString 基于jpa标准的ql语句 * @param values ql中的T参数值 * @return 返回执行后受影响的数据个数 @@ -65,11 +69,11 @@ public interface BaseRepository 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 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 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 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 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 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 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 list(); + List list(); - public List list(final String hql); + List list(final String hql); - public List listPager(Pager pager); + List listPager(Pager pager); - public List findByPage(final String hql, final int offset,final int pageSize); + List findByPage(final DdlPackBean packBean, final int offset, final int pageSize); - public List findByPage(final String hql, final Object[] values, final int offset, final int pageSize); + /** + * @param hql hql入参需要用问号代替 + * @param values 按照入参问号的顺序进行赋值 + * @param offset + * @param pageSize + * @return + */ + List findByPage(final String hql, final Object[] values, final int offset, final int pageSize); + + List findByProperty(String propertyName, Object value); + + List findByProperty(String[] propertyNames, Object[] values); + + List findByProperty(String propertyName, Object value,String orderByStuff); - public List findByProperty(String propertyName, Object value); + List findByProperty(String[] propertyNames, Object[] values,String orderByStuff); - public List findByProperty(String[] propertyNames, Object[] values); + T getByProperty(String propertyName, Object value); - public List findByProperty(String propertyName, Object value,String orderByStuff); + T getByProperty(String[] propertyNames, Object[] values); - public List 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 findByPropertyPage(String propertyName, Object value,String orderByStuff,Pager pager); - public int findByPropertyCount(String propertyName, Object value); + List findByPropertyPage(String[] propertyNames, Object[] values,String orderByStuff,Pager pager); - public int findByPropertyCount(String[] propertyNames, Object[] values); + @Deprecated + List findByHql(String hql); - public List findByPropertyPage(String propertyName, Object value,String orderByStuff,Pager pager); + @Deprecated + List findByHqlWhere(String hqlWhere); - public List findByPropertyPage(String[] propertyNames, Object[] values,String orderByStuff,Pager pager); + List findByHqlWhere(DdlPackBean packBean); - public List findByHql(String hql); + List findByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values,String orderByStuff); - public List findByHqlWhere(String hqlWhere); + int findByHqlWhereCount(String hqlWhere,String[] propertyNames, Object[] values); - public List findByHqlWhere(String hqlWhere,String[] propertyNames, Object[] values,String orderByStuff); + List findByHqlWherePage(String hqlWhere, Pager pager,String[] propertyNames, Object[] values,String orderByStuff); - public int findByHqlWhereCount(String hqlWhere,String[] propertyNames, Object[] values); + @Deprecated + List findByHqlWherePage(String hqlWhere, Pager pager); - public List findByHqlWherePage(String hqlWhere, Pager pager,String[] propertyNames, Object[] values,String orderByStuff); + List findByHqlWherePage(DdlPackBean packBean, Pager pager); - public List 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 findByHqlPage(String hql, Pager pager); + @Deprecated + List findByHqlPage(String hql, Pager pager); - public List findByHqlPage(String hql, Pager pager,String[] paramName,Object[] paramValue); + List findByHqlPage(DdlPackBean packBean, Pager pager); - public List findBySql(String sql); + List 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 findByHqlTopWhere(String hqlWhere,int topNum); + double findByHqlDouble(DdlPackBean packBean); - public List findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager); + @Deprecated + long findByHqlLong(String hql); + + long findByHqlLong(DdlPackBean packBean); + + @Deprecated + List findByHqlTopWhere(String hqlWhere,int topNum); + + List findByHqlTopWhere(DdlPackBean packBean,int topNum); + + @Deprecated + List findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager); /********************** 多表联查,返回Object[]数组根据hql查询翻页信息 开始 ****************************/ - public List findByHqlObjects(String hql); + List findByHqlObjects(String hql); - public List findByHqlObjects(String hql,String[] paramName,Object[] paramValue); + List findByHqlObjects(String hql,String[] paramName,Object[] paramValue); - public List findByHqlPageObjects(String hql, Pager pager); + List findByHqlPageObjects(String hql, Pager pager); - public List findByHqlPageObjects(String hql, Pager pager,String[] paramName,Object[] paramValue); + List findByHqlPageObjects(String hql, Pager pager,String[] paramName,Object[] paramValue); - public List findBySqlObjList(String sql); + List findBySqlObjList(String sql); - public List findBySqlObjListByPager(String sql,Pager pager); + List findBySqlObjListByPager(String sql,Pager pager); /****************** 部分业务处理 *******************/ @@ -222,49 +263,52 @@ public interface BaseRepository 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); } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java index 5509994..86cae1c 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/jpa/daoimpl/BaseRepositoryImpl.java @@ -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 extends SimpleJpaRep } @Override - public List findByPage(String hql, int offset, int pageSize) { - return entityManager.createQuery("from " + persistentClass.getName()) - .setFirstResult(offset) - .setMaxResults(pageSize) - .getResultList(); + public List 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 extends SimpleJpaRep } } + @Deprecated @Override public List findByHql(String hql) { return entityManager.createQuery(hql).getResultList(); } + @Deprecated @Override public List findByHqlWhere(String hqlWhere) { StringBuffer queryString = new StringBuffer(); @@ -541,9 +556,22 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override + public List 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 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 extends SimpleJpaRep } } + @Deprecated @Override public List findByHqlWherePage(String hqlWhere, Pager pager) { if(pager.getTotalRows() > 0) { @@ -658,6 +687,25 @@ public class BaseRepositoryImpl extends SimpleJpaRep } @Override + public List 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(); + } + } + + @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 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 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(); + } + } + + @Override + public List 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(); } @@ -808,6 +892,23 @@ public class BaseRepositoryImpl 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 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 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 extends SimpleJpaRep } @Override + public List 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 findColumnsByHql(String hql, String hqlWhere, String orderByStuff, Pager pager) { if(pager.getTotalRows() > 0) { StringBuffer queryString = new StringBuffer(); @@ -840,7 +968,10 @@ public class BaseRepositoryImpl 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(); } @@ -1119,6 +1250,11 @@ public class BaseRepositoryImpl 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; } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java new file mode 100644 index 0000000..4dd2b98 --- /dev/null +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/DdlPreparedPack.java @@ -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 : 数据库脚本封装方法,封装成预加载hql,HqlPack仅限用于一些特定的sql,可能造成性能低下 + * 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); + } + + /** + * 封装String对象成order 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()); + } + } + + /** + * 封装String对象成like语句 + * + * @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 + "%"); + } + } + + /** + * 封装String对象成like语句 + * + * @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 + "%"); + } + } + + /** + * 封装String对象成like语句(右侧模糊) + * + * @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 + "%"); + } + } + + /** + * 封装String对象成like语句(左侧模糊) + * + * @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); + } + } + + /** + * 封装String对象成equal语句 + * + * @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); + } + } + + /** + * 封装String对象成equal语句 + * + * @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); + } + } + + /** + * 封装long或者int的整数对象成equal语句 + * + * @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); + } + } + + /** + * 封装long或者int的整数对象成equal语句 + * + * @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); + } + } + + /** + * 封装long或者int的整数对象成equal语句 + * + * @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); + } + } + + /** + * 封装long或者int的整数对象成equal语句 + * + * @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); + } + } + + /** + * 封装long或者int的整数对象成equal语句(不等于) + * + * @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); + } + } +} diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/HqlPack.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/HqlPack.java index 802e693..0e8af5f 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/HqlPack.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/tool/HqlPack.java @@ -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 + ""); } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java index 7b20d71..bc8a73b 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/bean/BfButton.java @@ -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; } diff --git a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java index 428758e..c03a7c4 100644 --- a/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java +++ b/modules/i3plus-pojo-form/src/main/java/cn/estsh/i3plus/pojo/form/sqlpack/FormHqlPack.java @@ -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(); + } } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/MachineFactory.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/MachineFactory.java deleted file mode 100644 index efc83a4..0000000 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/MachineFactory.java +++ /dev/null @@ -1,66 +0,0 @@ -package cn.estsh.i3plus.pojo.mes; - - -import cn.estsh.i3plus.pojo.base.bean.BaseBean; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiParam; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; - -/** - * @Description : - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-09-04 15:58 - * @Modify: - **/ -@Entity -@Table(name="machine_factory") -@Api("工厂") -public class MachineFactory extends BaseBean { - - @Column(name="factory_code") - @ApiParam("工厂代码") - private String factoryCode; - - @Column(name="factory_name") - @ApiParam("工厂名称") - private String factoryName; - - public MachineFactory() { - } - - public MachineFactory(String factoryCode, String factoryName) { - this.factoryCode = factoryCode; - this.factoryName = factoryName; - } - - public String getFactoryCode() { - return factoryCode; - } - - public void setFactoryCode(String factoryCode) { - this.factoryCode = factoryCode; - } - - public String getFactoryName() { - return factoryName; - } - - public void setFactoryName(String factoryName) { - this.factoryName = factoryName; - } - - @Override - public String toString() { - return "MachineFactory{" + - "factoryCode='" + factoryCode + '\'' + - ", factoryName='" + factoryName + '\'' + - ", id=" + id + - ", createDate='" + createDatetime + '\'' + - ", modifyDate='" + modifyDatetime + '\'' + - '}'; - } -} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/WorkPlan.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/WorkPlan.java deleted file mode 100644 index a2e02f2..0000000 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/WorkPlan.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.estsh.i3plus.pojo.mes; - -/** - * @Description : - * @Reference : - * @Author : alwaysfrin - * @CreateDate : 2018-09-04 15:58 - * @Modify:: - **/ -public class WorkPlan { - private String desc; - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } -} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/BfElement.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/BfElement.java new file mode 100644 index 0000000..02bd079 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/BfElement.java @@ -0,0 +1,73 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +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; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-03-21 13:14 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "BF_ELEMENT") +@Api(value = "对象元素基础", description = "元素基础表") +public class BfElement extends BaseBean { + + //外键关联数据对象主键 + @Column(name = "ELEMENT_INFO_ID") + @ApiParam(value = "对象元素明细ID", example = "-1") + @JsonSerialize(using = ToStringSerializer.class) + private Long elementInfoId; + + //外键关联数据对象主键 + @Column(name = "DATA_OBJECT_ID") + @ApiParam(value = "数据对象ID", example = "-1") + @JsonSerialize(using = ToStringSerializer.class) + private Long dataObjectId; + + @Column(name="ELEMENT_TYPE") + @ApiParam(value ="元素类型") + private Integer elementType; + + @Column(name="ELEMENT_NAME") + @ApiParam(value ="元素名称") + private String elementName; + + @Column(name="ELEMENT_CODE") + @ApiParam(value ="元素编码") + private String elementCode; + + @Column(name="ELEMENT_ATTR_ID") + @ApiParam(value ="默认排序属性") + private String elementAttrId; + + @Column(name="ELEMENT_SORT_TYPE") + @ApiParam(value ="默认排序规则") + private String elementSortType; + + @Column(name="ELEMENT_CSS_STYLE") + @ApiParam(value ="元素样式") + private String elementCssStyle; + + @Column(name="ELEMENT_DESCRIPTION") + @ApiParam(value ="元素描述") + private String elementDescription; + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesArea.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesArea.java new file mode 100644 index 0000000..8f2288b --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesArea.java @@ -0,0 +1,38 @@ +package cn.estsh.i3plus.pojo.mes.bean; + + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +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; + +/** + * @Description :生产区域 + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 15:58 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name="MES_AREA") +@Api("生产区域") +public class MesArea extends BaseBean { + @Column(name="AREA_CODE") + @ApiParam("区域代码") + private String areaCode; + + @Column(name="AREA_NAME") + @ApiParam("区域名称") + private String areaName; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCell.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCell.java new file mode 100644 index 0000000..4ec6e23 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCell.java @@ -0,0 +1,45 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +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; + +/** + * @Description :工作单元 + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 15:58 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_WORK_CELL") +@Api("工作单元") +public class MesWorkCell extends BaseBean { + @Column(name = "WORK_CELL_CODE") + @ApiParam("工作单元代码") + private String workCellCode; + + @Column(name = "WORK_CELL_NAME") + @ApiParam("工作单元名称") + private String workCellName; + + @Column(name = "WORK_CENTER_CODE") + @ApiParam("工作中心") + private String workCenterCode; + + @Column(name = "AREA_CODE") + @ApiParam("生产区域代码") + private String areaCode; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java new file mode 100644 index 0000000..bc33bca --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkCenter.java @@ -0,0 +1,49 @@ +package cn.estsh.i3plus.pojo.mes.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +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; + +/** + * @Description :工作中心 + * @Reference : + * @Author : jack.jia + * @CreateDate : 2019-04-02 15:58 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "MES_WORK_CENTER") +@Api("工作中心") +public class MesWorkCenter extends BaseBean { + @Column(name = "WORK_CENTER_CODE") + @ApiParam("工作中心代码") + private String workCenterCode; + + @Column(name = "WORK_CENTER_NAME") + @ApiParam("工作中心名称") + private String workCenterName; + + @Column(name = "ERP_WORK_CENTER") + @ApiParam("ERP工作中心") + private String erpWorkCenter; + + @Column(name = "WORK_VER") + @ApiParam("工作版本") + private String workVer; + + @Column(name = "AREA_CODE") + @ApiParam("生产区域代码") + private String areaCode; +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BfElementRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BfElementRepository.java new file mode 100644 index 0000000..0132694 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/BfElementRepository.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.BfElement; + +/** + * @Description : + * @Reference : + * @Author : Adair Peng + * @CreateDate : 2019-03-21 15:24 + * @Modify: + **/ +public interface BfElementRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesAreaRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesAreaRepository.java new file mode 100644 index 0000000..b1237f5 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesAreaRepository.java @@ -0,0 +1,16 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesArea; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2018-11-07 14:49 + * @Modify: + **/ +@Repository +public interface MesAreaRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCellRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCellRepository.java new file mode 100644 index 0000000..f97c4db --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCellRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesArea; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2018-11-07 14:49 + * @Modify: + **/ +@Repository +public interface MesWorkCellRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterRepository.java new file mode 100644 index 0000000..5598e1e --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesWorkCenterRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter; +import org.springframework.stereotype.Repository; + +/** + * @Description : + * @Reference : + * @Author : jack.jia + * @CreateDate : 2018-11-07 14:49 + * @Modify: + **/ +@Repository +public interface MesWorkCenterRepository extends BaseRepository { +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java index 036230c..1c3e91f 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java @@ -71,4 +71,20 @@ public class WmsDocMovementSn extends BaseBean { @Transient @ApiParam("前端表格编辑使用") private Boolean isSet = false; + + @Transient + @ApiParam("目标库位代码") + public String destLocateNo; + + @Transient + @ApiParam("源库位代码") + public String srcLocateNo; + + @Transient + @ApiParam("生产日期") + public String dateCode; + + @ApiParam(value = "散件移库输入移库数量") + @Transient + public Double inputMoveQty; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java index bb0d888..1225c80 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsLocatePart.java @@ -56,6 +56,10 @@ public class WmsLocatePart extends BaseBean{ @ApiParam(value = "是否生成领料单", example = "2") private Integer isGeneratePicklist; + public Double getMix() { + return this.min == null ? 0 : this.min; + } + public Integer getIsGeneratePicklist() { return this.isGeneratePicklist == null ? 0 : this.isGeneratePicklist; } diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java index 4e5bc8c..32a91fa 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsMoveDetails.java @@ -57,10 +57,18 @@ public class WmsMoveDetails extends BaseBean { @ApiParam(value = "处理数量", example = "0") public Double transQty; + public Double getTransQty(){ + return this.transQty == null ? 0 : this.transQty.doubleValue(); + } + @Column(name="REJECT_QTY") @ApiParam(value = "不合格处理数量", example = "0") public Double rejectQty; + public Double getRejectQty(){ + return this.rejectQty == null ? 0 : this.rejectQty.doubleValue(); + } + @Column(name="UNIT") @ApiParam("单位") public String unit;