diff --git a/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/CommonMethod.java b/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/CommonMethod.java new file mode 100644 index 0000000..fe168ae --- /dev/null +++ b/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/CommonMethod.java @@ -0,0 +1,54 @@ +package com.yxt.wms.biz.func.commonmethod; + +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; +import com.yxt.wms.feign.portal.sysuser.SysUserFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @author wangpengfei + * @date 2024/7/11 10:35 + */ +@Service +public class CommonMethod { + @Autowired + SysUserFeign sysUserFeign; + + /** + * 根据参数组装新的数据权限参数 + * @param orgPath + * @param menuUrl + * @param userSid + * @return + */ + public ResultBean dataRule (String orgPath,String menuUrl,String userSid){ + ResultBean rb=new ResultBean().fail(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(orgPath); + privilegeQuery.setMenuUrl(menuUrl); + privilegeQuery.setUserSid(userSid); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + DataRule dataRule=new DataRule(); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1全部、2、本部门及子部门 3子部门、4本人数据) + String orgSidPath = orgPath; + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); +// int i3 = orgSidPath.indexOf("/", i2 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + dataRule.setDataRuleId(orgLevelKey); + if ("1".equals(orgLevelKey)) { + dataRule.setIndex(i1); + } else if ("2".equals(orgLevelKey)) { + dataRule.setIndex(i2); + } else if ("3".equals(orgLevelKey)) { + dataRule.setIndex(i2); + } + } + return rb.success().setData(dataRule); + } +} diff --git a/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/DataRule.java b/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/DataRule.java new file mode 100644 index 0000000..5022ae0 --- /dev/null +++ b/wms/src/main/java/com/yxt/wms/biz/func/commonmethod/DataRule.java @@ -0,0 +1,13 @@ +package com.yxt.wms.biz.func.commonmethod; + +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/7/11 10:54 + */ +@Data +public class DataRule { + private String dataRuleId; + private int index; +} diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaQuery.java b/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaQuery.java index 540ec06..a808c29 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaQuery.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaQuery.java @@ -16,7 +16,8 @@ public class WarehouseAreaQuery implements Query { private String code;//编码 private String warehouseSid;//仓库 private String areaTypeSid;//库区类型 - private String orgLevelKey;// + private String orgLevelKey;//数据权限 + private int index;//下标 @ApiModelProperty("菜单路由") private String menuUrl; diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaService.java b/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaService.java index f4e5015..e34bca8 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaService.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehousearea/WarehouseAreaService.java @@ -8,6 +8,8 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.func.commonmethod.CommonMethod; +import com.yxt.wms.biz.func.commonmethod.DataRule; import com.yxt.wms.biz.func.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; @@ -35,15 +37,16 @@ public class WarehouseAreaService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); WarehouseAreaQuery query = pq.getParams(); PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - pq.getParams().setOrgLevelKey(defaultIdReltBean.getData()); + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); PagerVo p = warehouseAreaFeign.listPage(pq).getData(); return rb.success().setData(p); } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeQuery.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeQuery.java index fe51c71..98523b2 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeQuery.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeQuery.java @@ -13,11 +13,12 @@ import lombok.Data; @Data public class WarehouseAreaTypeQuery implements Query { private String name; - private String orgLevelKey;// + private String orgLevelKey;//权限等级 @ApiModelProperty("菜单路由") private String menuUrl; @ApiModelProperty("组织全路径sid") private String orgPath; @ApiModelProperty("用户sid") private String userSid; + private int index;//下标 } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeService.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeService.java index 6845d29..fdfcbf1 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeService.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouseareatype/WarehouseAreaTypeService.java @@ -8,6 +8,8 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.func.commonmethod.CommonMethod; +import com.yxt.wms.biz.func.commonmethod.DataRule; import com.yxt.wms.biz.func.sysorganization.SysOrganizationVo; import com.yxt.wms.biz.func.warehouseinfo.WarehouseInfo; import com.yxt.wms.biz.func.warehouseinfo.WarehouseInfoQuery; @@ -39,15 +41,15 @@ public class WarehouseAreaTypeService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); WarehouseAreaTypeQuery query = pq.getParams(); - PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - pq.getParams().setOrgLevelKey(defaultIdReltBean.getData()); + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); PagerVo p = warehouseAreaTypeFeign.listPage(pq).getData(); return rb.success().setData(p); } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoQuery.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoQuery.java index f8a4db4..de69bd4 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoQuery.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoQuery.java @@ -16,12 +16,13 @@ public class WarehouseInfoQuery implements Query { private String name; private String code; private String address; - private String orgLevelKey;// + private String orgLevelKey;//权限等级 @ApiModelProperty("菜单路由") private String menuUrl; @ApiModelProperty("组织全路径sid") private String orgPath; @ApiModelProperty("用户sid") private String userSid; + private int index; } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoService.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoService.java index 755f25c..b637071 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoService.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouseinfo/WarehouseInfoService.java @@ -8,6 +8,8 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.func.commonmethod.CommonMethod; +import com.yxt.wms.biz.func.commonmethod.DataRule; import com.yxt.wms.biz.func.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; @@ -36,16 +38,16 @@ public class WarehouseInfoService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); WarehouseInfoQuery query = pq.getParams(); - PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - pq.getParams().setOrgLevelKey(defaultIdReltBean.getData()); + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); PagerVo p = WarehouseFeign.listPage(pq).getData(); return rb.success().setData(p); } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackQuery.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackQuery.java index 44a678c..be0916e 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackQuery.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackQuery.java @@ -22,5 +22,6 @@ public class WarehouseRackQuery implements Query { private String orgPath; @ApiModelProperty("用户sid") private String userSid; - private String orgLevelKey;// + private String orgLevelKey;//权限等级 + private int index;//下标 } diff --git a/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackService.java b/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackService.java index d6b1b5c..2f8e131 100644 --- a/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackService.java +++ b/wms/src/main/java/com/yxt/wms/biz/func/warehouserack/WarehouseRackService.java @@ -8,6 +8,8 @@ import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.wms.biz.func.commonmethod.CommonMethod; +import com.yxt.wms.biz.func.commonmethod.DataRule; import com.yxt.wms.biz.func.sysorganization.SysOrganizationVo; import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; @@ -35,21 +37,20 @@ public class WarehouseRackService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); WarehouseRackQuery query = pq.getParams(); - PrivilegeQuery privilegeQuery = new PrivilegeQuery(); - privilegeQuery.setOrgPath(query.getOrgPath()); - privilegeQuery.setMenuUrl(query.getMenuUrl()); - privilegeQuery.setUserSid(query.getUserSid()); - ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); - pq.getParams().setOrgLevelKey(defaultIdReltBean.getData()); + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); PagerVo p = warehouseRackFeign.listPage(pq).getData(); return rb.success().setData(p); } public ResultBean getAllType() { - return warehouseRackFeign.getAllType(); }