Browse Source

统计参数代码构建

master
dimengzhe 1 year ago
parent
commit
8a62f5d8eb
  1. 20
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/ParameterVo.java
  2. 29
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeign.java
  3. 12
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparameter/SysReportParameterFeignFallback.java
  4. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainFeign.java
  5. 7
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainQuery.java
  6. 10
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysreportparametermain/SysReportParameterMainVo.java
  7. 19
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.java
  8. 10
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml
  9. 30
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterRest.java
  10. 30
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterService.java
  11. 25
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.java
  12. 32
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml
  13. 11
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainRest.java
  14. 80
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainService.java

20
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;
}

29
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<List<ParameterVo>> selectList(@RequestParam("tableKey") String tableKey);
}

12
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 {
}

4
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<PagerVo<SysReportParameterMainVo>> listPage(@RequestBody PagerQuery<SysReportParameterMainQuery> pagerQuery);
}

7
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;
}

10
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;
}

19
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<SysReportParameter> {
List<ParameterVo> selectListOne(@Param("table_schema") String table_schema, @Param("table_name") String table_name);
}

10
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparameter/SysReportParameterMapper.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.portal.biz.sysreportparameter.SysReportParameterMapper">
<select id="selectListOne" resultType="com.yxt.anrui.portal.api.sysreportparameter.ParameterVo">
SELECT COLUMN_NAME colName, column_comment colText
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_schema = #{table_schema}
and TABLE_NAME = #{table_name}
</select>
</mapper>

30
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<List<ParameterVo>> selectList(String tableKey) {
return sysReportParameterService.selectList(tableKey);
}
}

30
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<SysReportParameterMapper, SysReportParameter> {
public ResultBean<List<ParameterVo>> selectList(String tableKey) {
ResultBean<List<ParameterVo>> 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<ParameterVo> parameterVoList = baseMapper.selectListOne(table_schema, table_name);
return rb.success().setData(parameterVoList);
}
}

25
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<SysReportParameterMain> {
IPage<SysReportParameterMainVo> selectPageVo(IPage<SysReportParameterMain> page, @Param(Constants.WRAPPER) QueryWrapper<SysReportParameterMain> qw);
SysReportParameterMain selectByUseOrgSid(String sid);
}

32
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysreportparametermain/SysReportParameterMainMapper.xml

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.portal.biz.sysreportparametermain.SysReportParameterMainMapper">
<select id="selectPageVo" resultType="com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMainVo">
select spm.sid,
spm.useOrgName,
b.parameterValue
from sys_report_parameter_main spm
LEFT JOIN (
SELECT GROUP_CONCAT(a.parameterValue) AS parameterValue,
a.mainSid
FROM (
SELECT concat(
tableNameValue,
':',
group_concat(colText SEPARATOR ',')) AS parameterValue,
mainSid
FROM sys_report_parameter
GROUP BY tableNameKey, id
ORDER BY id ASC
) a) b ON b.mainSid = spm.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByUseOrgSid" resultType="com.yxt.anrui.portal.api.sysreportparametermain.SysReportParameterMain">
select *
from sys_report_parameter_main
where useOrgSid = #{sid}
</select>
</mapper>

11
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<PagerVo<SysReportParameterMainVo>> listPage(PagerQuery<SysReportParameterMainQuery> pagerQuery) {
return null;
ResultBean rb = ResultBean.fireFail();
PagerVo<SysReportParameterMainVo> pv = sysReportParameterMainService.listPageVo(pagerQuery);
return rb.success().setData(pv);
}
}

80
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<SysReportParameterMainMapper, SysReportParameterMain> {
@Autowired
private SysOrganizationService sysOrganizationService;
@Autowired
private SysStaffOrgService sysStaffOrgService;
public PagerVo<SysReportParameterMainVo> listPageVo(PagerQuery<SysReportParameterMainQuery> pagerQuery) {
SysReportParameterMainQuery query = pagerQuery.getParams();
String orgPath = query.getOrgPath();
List<String> stringList = Arrays.asList(orgPath.split("/"));
String sybOrgSid = orgPath.substring(37, 73);
QueryWrapper<SysReportParameterMain> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getUseOrgName())) {//分公司
qw.like("spm.useOrgName",query.getUseOrgName());
}
}
if (stringList.size() <= 2) {
List<SysOrganizationVo> 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<SysReportParameterMain> page = PagerUtil.queryToPage(pagerQuery);
IPage<SysReportParameterMainVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<SysReportParameterMainVo> 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<String> stringList = Arrays.asList(orgPath.split("/"));
System.out.println(stringList);
String sybOrgSid = orgPath.substring(37, 73);
System.out.println(sybOrgSid);
}
}
Loading…
Cancel
Save