From 8a62f5d8eb9b9ff5bb57e8e4b52efc225ec27d9e Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 6 Nov 2023 13:46:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=8F=82=E6=95=B0=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/sysreportparameter/ParameterVo.java | 20 +++++ .../SysReportParameterFeign.java | 29 +++++++ .../SysReportParameterFeignFallback.java | 12 +++ .../SysReportParameterMainFeign.java | 4 +- .../SysReportParameterMainQuery.java | 7 ++ .../SysReportParameterMainVo.java | 10 +-- .../SysReportParameterMapper.java | 19 +++++ .../SysReportParameterMapper.xml | 10 +++ .../SysReportParameterRest.java | 30 +++++++ .../SysReportParameterService.java | 30 +++++++ .../SysReportParameterMainMapper.java | 25 ++++++ .../SysReportParameterMainMapper.xml | 32 ++++++++ .../SysReportParameterMainRest.java | 11 ++- .../SysReportParameterMainService.java | 80 +++++++++++++++++++ 14 files changed, 307 insertions(+), 12 deletions(-) create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/ParameterVo.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeign.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeignFallback.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterRest.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterService.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainService.java diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/ParameterVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/ParameterVo.java new file mode 100644 index 0000000000..cac4cc10ce --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/ParameterVo.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.portal.api.sysreportparameter; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Data +public class ParameterVo implements Vo { + private static final long serialVersionUID = -2632852485270066096L; + + @ApiModelProperty("列名") + private String colName; + @ApiModelProperty("注释") + private String colText; +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeign.java new file mode 100644 index 0000000000..9b1a556052 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeign.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.portal.api.sysreportparameter; + +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMainFeignFallback; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Api(tags = "统计参数") +@FeignClient( + contextId = "anrui-portal-SysReportParameter", + name = "anrui-portal", + path = "v1/SysReportParameter", + fallback = SysReportParameterFeignFallback.class) +public interface SysReportParameterFeign { + + @ApiOperation("根据表名查询表里的列及注释") + @PostMapping("/selectList") + ResultBean> selectList(@RequestParam("tableKey") String tableKey); +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeignFallback.java new file mode 100644 index 0000000000..2bc94ca29a --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.portal.api.sysreportparameter; + +import org.springframework.stereotype.Component; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Component +public class SysReportParameterFeignFallback { +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainFeign.java index 50757ee035..b0b95ae264 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainFeign.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; * @date: 2023/11/6 **/ -@Api(tags = "统计参数设置") +@Api(tags = "统计参数主表") @FeignClient( contextId = "anrui-portal-SysReportParameterMain", name = "anrui-portal", @@ -23,7 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody; fallback = SysReportParameterMainFeignFallback.class) public interface SysReportParameterMainFeign { - @ApiOperation("根据条件分页查询数据的列表 ") + @ApiOperation("根据条件分页查询数据的列表") @PostMapping("/listPage") ResultBean> listPage(@RequestBody PagerQuery pagerQuery); } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainQuery.java index 0bbddad40c..75a210dc98 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainQuery.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainQuery.java @@ -1,6 +1,7 @@ package com.yxt.anrui.portal.api.sysreportparametermain; import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,4 +12,10 @@ import lombok.Data; @Data public class SysReportParameterMainQuery implements Query { private static final long serialVersionUID = 8109733209988872255L; + @ApiModelProperty("登录人orgPath") + private String orgPath; + @ApiModelProperty("分公司名称") + private String useOrgName; + + } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainVo.java index 93a89b2093..8d86f795b5 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainVo.java @@ -12,14 +12,8 @@ import lombok.Data; public class SysReportParameterMainVo { private String sid; - @ApiModelProperty("表名key") - private String tableNameKey; - @ApiModelProperty("表名value") - private String tableNameValue; - @ApiModelProperty("列名") - private String columnName; - @ApiModelProperty("注释") - private String columnComment; + @ApiModelProperty("参数") + private String parameterValue; @ApiModelProperty("分公司名称") private String useOrgName; } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.java new file mode 100644 index 0000000000..41a4a9e356 --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.portal.biz.sysreportparameter; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.portal.api.sysreportparameter.ParameterVo; +import com.yxt.anrui.portal.api.sysreportparameter.SysReportParameter; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Mapper +public interface SysReportParameterMapper extends BaseMapper { + List selectListOne(@Param("table_schema") String table_schema, @Param("table_name") String table_name); +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml new file mode 100644 index 0000000000..41109e9ccd --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterRest.java new file mode 100644 index 0000000000..17029a660b --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterRest.java @@ -0,0 +1,30 @@ +package com.yxt.anrui.portal.biz.sysreportparameter; + +import com.yxt.anrui.portal.api.sysreportparameter.ParameterVo; +import com.yxt.anrui.portal.api.sysreportparameter.SysReportParameterFeign; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Api(tags = "统计参数") +@RestController +@RequestMapping("v1/SysReportParameter") +public class SysReportParameterRest implements SysReportParameterFeign { + + @Autowired + private SysReportParameterService sysReportParameterService; + + @Override + public ResultBean> selectList(String tableKey) { + return sysReportParameterService.selectList(tableKey); + } +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterService.java new file mode 100644 index 0000000000..908325088b --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterService.java @@ -0,0 +1,30 @@ +package com.yxt.anrui.portal.biz.sysreportparameter; + +import com.yxt.anrui.portal.api.sysreportparameter.ParameterVo; +import com.yxt.anrui.portal.api.sysreportparameter.SysReportParameter; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Service +public class SysReportParameterService extends MybatisBaseService { + public ResultBean> selectList(String tableKey) { + ResultBean> rb = ResultBean.fireFail(); + if (StringUtils.isBlank(tableKey)) { + return rb.setMsg("请选择表"); + } + String table_schema = Arrays.asList(tableKey.split(".")).get(0); + String table_name = Arrays.asList(tableKey.split(".")).get(1); + List parameterVoList = baseMapper.selectListOne(table_schema, table_name); + return rb.success().setData(parameterVoList); + } +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.java new file mode 100644 index 0000000000..f74d64fd5e --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.portal.biz.sysreportparametermain; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMain; +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMainVo; +import com.yxt.anrui.portal.api.sysuser.SysUser; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Mapper +public interface SysReportParameterMainMapper extends BaseMapper { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + SysReportParameterMain selectByUseOrgSid(String sid); +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml new file mode 100644 index 0000000000..d67b8d126a --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml @@ -0,0 +1,32 @@ + + + + + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainRest.java index 16e76ac688..028afa4407 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainRest.java @@ -7,6 +7,7 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -15,12 +16,18 @@ import org.springframework.web.bind.annotation.RestController; * @author: dimengzhe * @date: 2023/11/3 **/ -@Api(tags = "统计参数设置") +@Api(tags = "统计参数主表") @RestController @RequestMapping("v1/SysReportParameterMain") public class SysReportParameterMainRest implements SysReportParameterMainFeign { + + @Autowired + private SysReportParameterMainService sysReportParameterMainService; + @Override public ResultBean> listPage(PagerQuery pagerQuery) { - return null; + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = sysReportParameterMainService.listPageVo(pagerQuery); + return rb.success().setData(pv); } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainService.java new file mode 100644 index 0000000000..9278d6b864 --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainService.java @@ -0,0 +1,80 @@ +package com.yxt.anrui.portal.biz.sysreportparametermain; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMain; +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMainQuery; +import com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMainVo; +import com.yxt.anrui.portal.biz.sysorganization.SysOrganizationService; +import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/11/6 + **/ +@Service +public class SysReportParameterMainService extends MybatisBaseService { + + @Autowired + private SysOrganizationService sysOrganizationService; + @Autowired + private SysStaffOrgService sysStaffOrgService; + + public PagerVo listPageVo(PagerQuery pagerQuery) { + SysReportParameterMainQuery query = pagerQuery.getParams(); + String orgPath = query.getOrgPath(); + List stringList = Arrays.asList(orgPath.split("/")); + String sybOrgSid = orgPath.substring(37, 73); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + if (StringUtils.isNotBlank(query.getUseOrgName())) {//分公司 + qw.like("spm.useOrgName",query.getUseOrgName()); + } + } + if (stringList.size() <= 2) { + List sysOrganizationVos = sysOrganizationService.selectOrgByPSid(sybOrgSid).getData(); + if (!sysOrganizationVos.isEmpty()) { + for (SysOrganizationVo sysOrganizationVo : sysOrganizationVos) { + SysReportParameterMain sysReportParameterMain = baseMapper.selectByUseOrgSid(sysOrganizationVo.getSid()); + if (sysReportParameterMain == null) { + sysReportParameterMain = new SysReportParameterMain(); + sysReportParameterMain.setOrgSidPath(sysOrganizationVo.getOrgSidPath()); + sysReportParameterMain.setCreateOrgSid(sybOrgSid); + sysReportParameterMain.setUseOrgName(sysOrganizationVo.getName()); + sysReportParameterMain.setUseOrgSid(sysOrganizationVo.getSid()); + baseMapper.insert(sysReportParameterMain); + } + } + } + qw.eq("spm.createOrgSid",sybOrgSid); + }else{ + String useOrgSid = sysStaffOrgService.getOrgSidByPath(orgPath).getData(); + qw.eq("spm.useOrgSid",useOrgSid); + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public static void main(String[] args) { + String orgPath = "fd6435f2-0005-11ec-a033-48452053aa33/78593187-75af-4ea1-94e6-62b7cc11bfcb/843db298-33ef-42fb-82dd-f6f3d455348c/1f6d2215-f591-40ea-b447-69cc9d7c1751"; + List stringList = Arrays.asList(orgPath.split("/")); + System.out.println(stringList); + String sybOrgSid = orgPath.substring(37, 73); + System.out.println(sybOrgSid); + + } +}