From 3ac4461f8b669917fc02d81890bd7f5b5d3f8cdb Mon Sep 17 00:00:00 2001 From: Chengliang <1546584672@qq.com> Date: Mon, 30 May 2022 16:21:15 +0800 Subject: [PATCH] =?UTF-8?q?table=E6=93=8D=E4=BD=9C=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../annotation/CheckboxPopedom.java | 21 ++++++++++++++++ .../annotation/OperatePopedom.java | 25 +++++++++++++++++++ .../annotation/OrganizationTable.java | 8 ++++++ .../annotation/OrganizationTableOperate.java | 2 ++ .../component/OrganizationWeaTable.java | 21 +++++++++++----- .../entity/scheme/vo/SchemeTableVO.java | 10 +++++--- .../service/impl/SchemeServiceImpl.java | 8 +++--- .../engine/organization/util/ConfigTrans.java | 16 ++++++++++++ 8 files changed, 96 insertions(+), 15 deletions(-) create mode 100644 src/com/engine/organization/annotation/CheckboxPopedom.java create mode 100644 src/com/engine/organization/annotation/OperatePopedom.java diff --git a/src/com/engine/organization/annotation/CheckboxPopedom.java b/src/com/engine/organization/annotation/CheckboxPopedom.java new file mode 100644 index 00000000..14c8bf08 --- /dev/null +++ b/src/com/engine/organization/annotation/CheckboxPopedom.java @@ -0,0 +1,21 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/5/30 + * @Version V1.0 + **/ +@Target({ElementType.ANNOTATION_TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface CheckboxPopedom { + + String id() default ""; + + String showmethod() default ""; + + String popedompara() default ""; +} diff --git a/src/com/engine/organization/annotation/OperatePopedom.java b/src/com/engine/organization/annotation/OperatePopedom.java new file mode 100644 index 00000000..7822389a --- /dev/null +++ b/src/com/engine/organization/annotation/OperatePopedom.java @@ -0,0 +1,25 @@ +package com.engine.organization.annotation; + +import java.lang.annotation.*; + +/** + * @Author weaver_cl + * @Description: TODO + * @Date 2022/5/30 + * @Version V1.0 + **/ +@Target({ElementType.ANNOTATION_TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface OperatePopedom { + + boolean async() default true; + + String transmethod() default ""; + + String otherpara() default ""; + + String otherpara2() default ""; + + String column() default ""; +} diff --git a/src/com/engine/organization/annotation/OrganizationTable.java b/src/com/engine/organization/annotation/OrganizationTable.java index 0217da51..f6cec4a3 100644 --- a/src/com/engine/organization/annotation/OrganizationTable.java +++ b/src/com/engine/organization/annotation/OrganizationTable.java @@ -2,6 +2,7 @@ package com.engine.organization.annotation; import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.enums.DeleteTypeEnum; import java.lang.annotation.*; @@ -59,9 +60,16 @@ public @interface OrganizationTable { */ OrganizationTableOperate[] operates() default {}; + /** + * 操作按钮权限控制 + * @return + */ + OperatePopedom operatePopedom() default @OperatePopedom; + /** * 列表选择框 */ WeaTableType tableType() default WeaTableType.NONE; + CheckboxPopedom checkboxPopedom() default @CheckboxPopedom; } diff --git a/src/com/engine/organization/annotation/OrganizationTableOperate.java b/src/com/engine/organization/annotation/OrganizationTableOperate.java index 3df682bd..89f3f63e 100644 --- a/src/com/engine/organization/annotation/OrganizationTableOperate.java +++ b/src/com/engine/organization/annotation/OrganizationTableOperate.java @@ -22,4 +22,6 @@ public @interface OrganizationTableOperate { String index() default "0"; + + } diff --git a/src/com/engine/organization/component/OrganizationWeaTable.java b/src/com/engine/organization/component/OrganizationWeaTable.java index 8bb0121d..35369fbf 100644 --- a/src/com/engine/organization/component/OrganizationWeaTable.java +++ b/src/com/engine/organization/component/OrganizationWeaTable.java @@ -2,9 +2,7 @@ package com.engine.organization.component; import com.cloudstore.eccom.constant.WeaBoolAttr; import com.cloudstore.eccom.pc.table.*; -import com.engine.organization.annotation.OrganizationTable; -import com.engine.organization.annotation.OrganizationTableColumn; -import com.engine.organization.annotation.OrganizationTableOperate; +import com.engine.organization.annotation.*; import org.apache.commons.lang3.StringUtils; import weaver.general.PageIdConst; import weaver.hrm.User; @@ -64,6 +62,13 @@ public class OrganizationWeaTable extends WeaTable { operateList.add(weaTableOperate); }); WeaTableOperates weaTableOperates = new WeaTableOperates(); + OperatePopedom popedoms = table.operatePopedom(); + WeaTablePopedom popedom = new WeaTablePopedom(); + if (popedoms != null && !"".equals(popedoms.transmethod())) { + popedom.setTransmethod(popedoms.transmethod()); + popedom.setOtherpara(popedoms.otherpara()); + weaTableOperates.setPopedom(popedom); + } weaTableOperates.setOperate(operateList); super.setOperates(weaTableOperates); } @@ -72,9 +77,13 @@ public class OrganizationWeaTable extends WeaTable { //设置check是否可用 if (weaTableTypeEnum == WeaTableType.CHECKBOX) { super.setTableType(weaTableTypeEnum); -// WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom(); -// checkboxpopedom.setShowmethod("true"); -// super.setCheckboxpopedom(checkboxpopedom); + CheckboxPopedom checkPopedom = table.checkboxPopedom(); + WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom(); + if (checkPopedom != null && !"".equals(checkPopedom.showmethod())){ + checkboxpopedom.setShowmethod(checkPopedom.showmethod()); + checkboxpopedom.setPopedompara(checkPopedom.popedompara()); + } + super.setCheckboxpopedom(checkboxpopedom); } } diff --git a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java index 9dd69157..060bb66d 100644 --- a/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java +++ b/src/com/engine/organization/entity/scheme/vo/SchemeTableVO.java @@ -1,8 +1,7 @@ package com.engine.organization.entity.scheme.vo; -import com.engine.organization.annotation.OrganizationTable; -import com.engine.organization.annotation.OrganizationTableColumn; -import com.engine.organization.annotation.OrganizationTableOperate; +import com.cloudstore.eccom.pc.table.WeaTableType; +import com.engine.organization.annotation.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -29,7 +28,10 @@ import lombok.NoArgsConstructor; operates = { @OrganizationTableOperate(index = "0", text = "编辑"), @OrganizationTableOperate(index = "1", text = "删除") - } + }, + tableType = WeaTableType.CHECKBOX, + operatePopedom = @OperatePopedom(transmethod = "com.engine.organization.util.ConfigTrans.formatSourceOperates",otherpara = "column:forbidden_tag"), + checkboxPopedom = @CheckboxPopedom(showmethod = "com.engine.organization.util.ConfigTrans.getCheckBoxPopedom",popedompara = "column:forbidden_tag") ) public class SchemeTableVO { /** diff --git a/src/com/engine/organization/service/impl/SchemeServiceImpl.java b/src/com/engine/organization/service/impl/SchemeServiceImpl.java index 1927ab41..b626502f 100644 --- a/src/com/engine/organization/service/impl/SchemeServiceImpl.java +++ b/src/com/engine/organization/service/impl/SchemeServiceImpl.java @@ -3,6 +3,8 @@ package com.engine.organization.service.impl; import com.api.browser.bean.SearchConditionGroup; import com.api.browser.bean.SearchConditionItem; import com.cloudstore.eccom.pc.table.WeaTableCheckboxpopedom; +import com.cloudstore.eccom.pc.table.WeaTableOperate; +import com.cloudstore.eccom.pc.table.WeaTableOperates; import com.cloudstore.eccom.pc.table.WeaTablePopedom; import com.cloudstore.eccom.result.WeaResultMsg; import com.engine.core.impl.Service; @@ -22,6 +24,7 @@ import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.StringUtil; import weaver.general.Util; +import weaver.systeminfo.SystemEnv; import java.util.*; @@ -43,11 +46,6 @@ public class SchemeServiceImpl extends Service implements SchemeService { String sqlWhere = buildSqlWhere(params); table.setSqlwhere(sqlWhere); - - WeaTableCheckboxpopedom checkboxpopedom = new WeaTableCheckboxpopedom(); - checkboxpopedom.setShowmethod("com.engine.organization.util.ConfigTrans.getCheckBoxPopedom"); - checkboxpopedom.setPopedompara("column:forbidden_tag"); - table.setCheckboxpopedom(checkboxpopedom); WeaResultMsg result = new WeaResultMsg(false); result.putAll(table.makeDataResult()); result.success(); diff --git a/src/com/engine/organization/util/ConfigTrans.java b/src/com/engine/organization/util/ConfigTrans.java index e1152be0..b54e82d2 100644 --- a/src/com/engine/organization/util/ConfigTrans.java +++ b/src/com/engine/organization/util/ConfigTrans.java @@ -1,5 +1,9 @@ package com.engine.organization.util; +import com.google.common.collect.Lists; + +import java.util.List; + /** * @Author weaver_cl * @Description: TODO @@ -14,4 +18,16 @@ public class ConfigTrans { else return "false"; } + + public static List formatSourceOperates(String id,String isDefault) { + List list = Lists.newArrayList(); + list.add(true); + if ("0".equals(isDefault)) { + list.add(true); + } else { + list.add(false); + } + return list; + } + }