
14 changed files with 307 additions and 12 deletions
@ -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; |
|||
} |
@ -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); |
|||
} |
@ -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 { |
|||
} |
@ -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); |
|||
} |
@ -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> |
@ -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); |
|||
} |
|||
} |
@ -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); |
|||
} |
|||
} |
@ -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); |
|||
} |
@ -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> |
@ -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…
Reference in new issue