统计 消息

This commit is contained in:
TL
2025-07-22 14:29:09 +08:00
parent 0134ede2d1
commit de1d80f36e
8 changed files with 138 additions and 15 deletions

View File

@ -3,7 +3,9 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.controller;
import com.alibaba.excel.EasyExcelFactory; import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.chinaunicom.mall.ebtp.common.base.controller.BaseController; import com.chinaunicom.mall.ebtp.common.base.controller.BaseController;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil;
import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessSupplierService; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.service.ICoscoAccessSupplierService;
@ -35,20 +37,18 @@ public class CoscoAccessSupplierController extends BaseController {
@ApiOperation("查询分页数据") @ApiOperation("查询分页数据")
@PostMapping("/getPage") @PostMapping("/getPage")
public BaseResponse getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoAccessSupplier coscoAccessSupplier) { public BaseResponse getPage(@ApiParam(value = "对象数据", required = true) @RequestBody CoscoAccessSupplier coscoAccessSupplier) {
BaseCacheUser currentUser = TokenUtil.getCurrentUser();
coscoAccessSupplier.setOrgId(currentUser.getOrganizationId());
coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR);
List<String> deptIdList = new ArrayList<>();
deptIdList.add("100");
coscoAccessSupplier.setDeptIdList(deptIdList);
return BaseResponse.success(coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkPageList(coscoAccessSupplier)); return BaseResponse.success(coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkPageList(coscoAccessSupplier));
} }
@GetMapping("/getPageExport") @GetMapping("/getPageExport")
public void getPageExport(HttpServletResponse response, CoscoAccessSupplier coscoAccessSupplier){ public void getPageExport(HttpServletResponse response, CoscoAccessSupplier coscoAccessSupplier){
try{ try{
BaseCacheUser currentUser = TokenUtil.getCurrentUser();
coscoAccessSupplier.setOrgId(currentUser.getOrganizationId());
coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR); coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR);
List<String> deptIdList = new ArrayList<>();
deptIdList.add("100");
coscoAccessSupplier.setDeptIdList(deptIdList);
List<CoscoAccessSupplier> list = coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkExecList(coscoAccessSupplier); List<CoscoAccessSupplier> list = coscoAccessSupplierService.selectCoscoAccessSupplierAndWorkExecList(coscoAccessSupplier);
// 动态设置导出字段(忽略未标注字段) // 动态设置导出字段(忽略未标注字段)

View File

@ -0,0 +1,56 @@
package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.controller;
import com.chinaunicom.mall.ebtp.common.base.controller.BaseController;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseCacheUser;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoAccessSupplierMapper;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoAccessWorkMapper;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 首页统计
*/
@RestController
@RequestMapping("/homeStatistics")
public class HomeStatisticsController extends BaseController {
@Autowired
private CoscoAccessSupplierMapper coscoAccessSupplierMapper;
@Autowired
private CoscoAccessWorkMapper coscoAccessWorkMapper;
@Autowired
private CoscoSupplierBaseMapper coscoSupplierBaseMapper;
/**
* 统计每年注册的供应商数量
* @return
*/
@GetMapping(value = "/getYearcountNum")
public BaseResponse selectUpdateYearcountNum() {
return BaseResponse.success(coscoAccessSupplierMapper.selectUpdateYearcountNum());
}
/**
* 统计准入类别数量
* @return
*/
@GetMapping(value = "/getAccessTypeCountNum")
public BaseResponse selectAccessTypeCountNum() {
return BaseResponse.success(coscoAccessWorkMapper.selectAccessTypeCountNum());
}
/**
* 统计供应商身份类别数量
* @return
*/
@GetMapping(value = "/getSupplierTypeCountNum")
public BaseResponse selectSupplierTypeCountNum() {
return BaseResponse.success(coscoSupplierBaseMapper.selectSupplierTypeCountNum());
}
}

View File

@ -22,6 +22,12 @@ public interface CoscoAccessSupplierMapper {
*/ */
public CoscoAccessSupplier selectCoscoAccessSupplierByAccessWorkId(String accessWorkId); public CoscoAccessSupplier selectCoscoAccessSupplierByAccessWorkId(String accessWorkId);
/**
* 年度统计准入数量
* @return
*/
public CoscoAccessSupplier selectUpdateYearcountNum();
/** /**

View File

@ -42,6 +42,14 @@ public interface CoscoAccessWorkMapper {
*/ */
public CoscoAccessWork selectCoscoAccessWorkById(String id); public CoscoAccessWork selectCoscoAccessWorkById(String id);
/**
* 统计准入类别数量
* @return
*/
public CoscoAccessWork selectAccessTypeCountNum();
/** /**
* 查询供应商准入_准入申请工作主列表 * 查询供应商准入_准入申请工作主列表
* *

View File

@ -33,6 +33,12 @@ public interface CoscoSupplierBaseMapper extends IBaseMapper<CoscoSupplierBase>
*/ */
public List<CoscoSupplierBase> selectCoscoSupplierBaseList(CoscoSupplierBase coscoSupplierBase); public List<CoscoSupplierBase> selectCoscoSupplierBaseList(CoscoSupplierBase coscoSupplierBase);
/**
* 统计供应商身份列表数量
* @return
*/
public CoscoSupplierBase selectSupplierTypeCountNum();
IPage<CoscoSupplierBase> selectWzrPageList(IPage<CoscoSupplierBase> page, @Param("vo") CoscoSupplierBase vo); IPage<CoscoSupplierBase> selectWzrPageList(IPage<CoscoSupplierBase> page, @Param("vo") CoscoSupplierBase vo);

View File

@ -117,10 +117,9 @@
<select id="selectCoscoAccessSupplierAndWorkPageList" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier" resultMap="CoscoAccessSupplierResult"> <select id="selectCoscoAccessSupplierAndWorkPageList" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier" resultMap="CoscoAccessSupplierResult">
<include refid="selectCoscoAccessSupplierAndWorkVo"/> <include refid="selectCoscoAccessSupplierAndWorkVo"/>
<where> <where>
and a.dept_id in <if test="vo.orgId != null">
<foreach collection="vo.deptIdList" item="item" open="(" separator="," close=")"> and a.org_id = #{orgId}
#{item} </if>
</foreach>
<if test="vo.accessStatus != null"> <if test="vo.accessStatus != null">
and a.access_status = #{vo.accessStatus} and a.access_status = #{vo.accessStatus}
</if> </if>
@ -143,10 +142,9 @@
<select id="selectCoscoAccessSupplierAndWorkExecList" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier" resultMap="CoscoAccessSupplierResult"> <select id="selectCoscoAccessSupplierAndWorkExecList" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier" resultMap="CoscoAccessSupplierResult">
<include refid="selectCoscoAccessSupplierAndWorkVo"/> <include refid="selectCoscoAccessSupplierAndWorkVo"/>
<where> <where>
and a.dept_id in <if test="orgId != null">
<foreach collection="deptIdList" item="item" open="(" separator="," close=")"> and a.org_id = #{orgId}
#{item} </if>
</foreach>
<if test="accessStatus != null"> <if test="accessStatus != null">
and a.access_status = #{accessStatus} and a.access_status = #{accessStatus}
</if> </if>
@ -177,7 +175,15 @@
where a.access_work_id = #{accessWorkId} where a.access_work_id = #{accessWorkId}
</select> </select>
<select id="selectUpdateYearcountNum" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier" resultMap="CoscoAccessSupplierResult">
SELECT
YEAR(caw.update_time) AS updateYear,
COUNT(0) as countNum
FROM
cosco_access_supplier a
left join cosco_access_work caw on caw.id = a.access_work_id and caw.del_flag = 'normal'
GROUP BY updateYear
</select>
<insert id="insertCoscoAccessSupplier" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier"> <insert id="insertCoscoAccessSupplier" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplier">
insert into cosco_access_supplier insert into cosco_access_supplier

View File

@ -327,6 +327,25 @@
</select> </select>
<select id="selectAccessTypeCountNum" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork" resultMap="CoscoAccessWorkResult">
SELECT
CASE
WHEN
access_type = 'online' THEN
'线上准入'
WHEN access_type = 'offline' THEN
'线下准入'
WHEN access_type = 'scattered' THEN
'零星采购/应急采购/个人供应商' ELSE access_type
END AS access_type_text,
count(0) as countNum
FROM
cosco_access_work
where del_flag = 'normal'
GROUP BY access_type
</select>
<select id="selectCoscoAccessWorkById" parameterType="String" <select id="selectCoscoAccessWorkById" parameterType="String"
resultMap="CoscoAccessWorkResult"> resultMap="CoscoAccessWorkResult">
<include refid="selectCoscoAccessWorkVo"/> <include refid="selectCoscoAccessWorkVo"/>

View File

@ -669,6 +669,28 @@
order by csb.create_time desc order by csb.create_time desc
</select> </select>
<!-- 统计注册供应商的供应商身份类型数量 -->
<select id="selectSupplierTypeCountNum" parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase" resultMap="CoscoSupplierBaseResult">
SELECT
CASE
supplier_type
WHEN 'dvs' THEN
'境内企业'
WHEN 'ovs' THEN
'境外企业'
WHEN 'pe' THEN
'个人'
END AS supplier_type_cn,
COUNT(0) as countNum
FROM
cosco_supplier_base
where del_flag = 'normal'
GROUP BY supplier_type
</select>
<select id="selectCoscoSupplierBaseById" parameterType="String" <select id="selectCoscoSupplierBaseById" parameterType="String"
resultMap="CoscoSupplierBaseResult"> resultMap="CoscoSupplierBaseResult">
<include refid="selectCoscoSupplierBaseVo"/> <include refid="selectCoscoSupplierBaseVo"/>