统计完成

This commit is contained in:
YY
2025-06-19 15:43:52 +08:00
parent 846737c8d2
commit af60c12959
16 changed files with 531 additions and 5 deletions

View File

@ -1,14 +1,14 @@
package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao; package com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.entity.CoscoAnnualreviewTask;
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.entity.CoscoAnnualreviewTaskSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.entity.CoscoAnnualreviewTaskSupplier;
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualreviewTaskSupplierListVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.AnnualreviewTaskSupplierListVo;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTemplateVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTemplateVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierAnnualReviewStatisticsVo;
import io.lettuce.core.dynamic.annotation.Param; import io.lettuce.core.dynamic.annotation.Param;
import java.util.List;
/** /**
* 供应商评价_年审任务关联供应商Mapper接口 * 供应商评价_年审任务关联供应商Mapper接口
* *
@ -76,5 +76,19 @@ public interface CoscoAnnualreviewTaskSupplierMapper {
*/ */
void deleteByTaskId(String id); void deleteByTaskId(String id);
/**
* 分页查询
* @param p
* @param vo
* @return
*/
IPage<AnnualreviewTaskSupplierListVo> selectMyPage(IPage<CoscoEvaluateTemplateVo> p, @Param("vo") AnnualreviewTaskSupplierListVo vo); IPage<AnnualreviewTaskSupplierListVo> selectMyPage(IPage<CoscoEvaluateTemplateVo> p, @Param("vo") AnnualreviewTaskSupplierListVo vo);
/**
* 获取年审统计
* @param p
* @param vo
* @return
*/
IPage<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatistics(IPage<SupplierAnnualReviewStatisticsVo> p, SupplierAnnualReviewStatisticsVo vo);
} }

View File

@ -173,4 +173,40 @@
<update id="deleteByTaskId" parameterType="string"> <update id="deleteByTaskId" parameterType="string">
update cosco_annualreview_task_supplier set del_flag = 'deleted' where annualreview_task_id = #{taskId} update cosco_annualreview_task_supplier set del_flag = 'deleted' where annualreview_task_id = #{taskId}
</update> </update>
<select id="getSupplierAnnualReviewStatistics" parameterType="map"
resultType="com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierAnnualReviewStatisticsVo">
select
csb.name supplierName,
case when csb.supplier_type = 'ovs' then '境外'
when csb.supplier_type = 'ovs' then '境内'
else '境内' end as area ,
csb.id,
'准入单位' as accessUnit,
'准入部门' as accessDept,
case when cats.review_result = 1 then '合格'
else '不合格' end as annualStatisticsResult,
(select GROUP_CONCAT( DISTINCT cc.category_name SEPARATOR ', ' )
from cosco_access_supplier_category casc
join cosco_category cc
ON cc.id = casc.category_id
where casc.del_flag = 'normal' and casc.supplier_id=csb.id) as categoryName,
cat.annualreview_year
from
cosco_annualreview_task_supplier cats
join cosco_supplier_base csb on cats.supplier_id=csb.id
join cosco_annualreview_task cat on cat.id = cats.annualreview_task_id
<where>
cats.del_flag = 'normal'
<if test="vo.supplierName!=null and vo.supplierName!=''">
and csb.name like concat('%',#{vo.supplierName},'%')
</if>
<if test="vo.annualreviewYear!=null and vo.annualreviewYear!=''">
and cat.annualreview_year = #{vo.annualreviewYear}
</if>
and review_result is not null
</where>
order by cats.create_time desc
</select>
</mapper> </mapper>

View File

@ -4,7 +4,9 @@ import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskSupplier; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.entity.CoscoEvaluateTaskSupplier;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTaskListVo;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.SupplierDimensionVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.SupplierDimensionVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierEvaluateStatisticsVo;
import io.lettuce.core.dynamic.annotation.Param; import io.lettuce.core.dynamic.annotation.Param;
/** /**
@ -89,4 +91,12 @@ public interface CoscoEvaluateTaskSupplierMapper {
* @param id * @param id
*/ */
void deleteByTaskId(String id); void deleteByTaskId(String id);
/**
* 统计列表查询
* @param p
* @param vo
* @return
*/
IPage<SupplierEvaluateStatisticsVo> getSupplierEvaluateStatistics(IPage<CoscoEvaluateTaskListVo> p,@Param("vo") SupplierEvaluateStatisticsVo vo);
} }

View File

@ -220,4 +220,42 @@
<update id="deleteByTaskId" parameterType="string"> <update id="deleteByTaskId" parameterType="string">
update cosco_evaluate_task_supplier_user set del_flag = 'deleted' where evaluate_task_id = #{taskId} update cosco_evaluate_task_supplier_user set del_flag = 'deleted' where evaluate_task_id = #{taskId}
</update> </update>
<select id="getSupplierEvaluateStatistics"
resultType="com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierEvaluateStatisticsVo"
parameterType="map">
select
csb.name supplierName,
case when csb.supplier_type = 'ovs' then '境外'
when csb.supplier_type = 'ovs' then '境内'
else '境内' end as area ,
csb.id,
(select GROUP_CONCAT( DISTINCT cc.category_name SEPARATOR ', ' )
from cosco_access_supplier_category casc
join cosco_category cc
ON cc.id = casc.category_id
where casc.del_flag = 'normal' and casc.supplier_id=csb.id) as categoryName,
'准入单位' as accessUnit,
'准入部门' as accessDept,
cets.review_result evaluateResult,
cet.evaluate_year evaluateYear
from
cosco_evaluate_task_supplier cets
join cosco_supplier_base csb on cets.supplier_id=csb.id
join cosco_evaluate_task cet on cet.id = cets.evaluate_task_id
<where>
cets.del_flag = 'normal'
and cets.review_result is not null
<if test="vo.supplierName!=null and vo.supplierName!=''">
and csb.name like concat('%',#{vo.supplierName},'%')
</if>
<if test="vo.evaluateYear!=null and vo.evaluateYear!=''">
and cet.evaluate_year = #{vo.evaluateYear}
</if>
<if test="vo.evaluateResult!=null and vo.evaluateResult!=''">
and cets.review_result = #{vo.evaluateResult}
</if>
</where>
order by cets.create_time desc
</select>
</mapper> </mapper>

View File

@ -73,7 +73,7 @@ public class ScheduledTasksServiceImpl implements ScheduledTasksService {
private String getReviewResult(int totalScore, List<CoscoEvaluateLevel> coscoEvaluateLevels) { private String getReviewResult(int totalScore, List<CoscoEvaluateLevel> coscoEvaluateLevels) {
return coscoEvaluateLevels.stream() return coscoEvaluateLevels.stream()
.filter(coscoEvaluateLevel -> totalScore >= coscoEvaluateLevel.getBeginValue() && totalScore <= coscoEvaluateLevel.getEndValue()) .filter(coscoEvaluateLevel -> totalScore >= coscoEvaluateLevel.getBeginValue() && totalScore <= coscoEvaluateLevel.getEndValue())
.map(CoscoEvaluateLevel::getId) .map(CoscoEvaluateLevel::getLevelName)
.findFirst() .findFirst()
.orElse(null); .orElse(null);
} }

View File

@ -1,6 +1,9 @@
package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierQualifications; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierQualifications;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo;
import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
@ -58,4 +61,12 @@ public interface CoscoSupplierQualificationsMapper {
* @return 结果 * @return 结果
*/ */
public int deleteCoscoSupplierQualificationsByIds(String[] ids); public int deleteCoscoSupplierQualificationsByIds(String[] ids);
/**
* 资质过期提醒
* @param p
* @param vo
* @return
*/
IPage<SupplierQualificationExpireVo> getSupplierExitStatistics(IPage<SupplierQualificationExpireVo> p,@Param("vo") SupplierQualificationExpireVo vo);
} }

View File

@ -1,8 +1,8 @@
package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierexit; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierexit;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisticsVo;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import java.util.List; import java.util.List;
@ -65,4 +65,12 @@ public interface CoscoSupplierexitMapper {
* @return 结果 * @return 结果
*/ */
public int deleteCoscoSupplierexitByIds(String[] ids); public int deleteCoscoSupplierexitByIds(String[] ids);
/**
* 查询供应商退出统计
* @param p
* @param vo
* @return
*/
IPage<SupplierExitStatisticsVo> getSupplierExitStatistics(IPage<SupplierExitStatisticsVo> p, @Param("vo") SupplierExitStatisticsVo vo);
} }

View File

@ -0,0 +1,60 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTaskListVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.service.DataStatisticeService;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierAnnualReviewStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierEvaluateStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 数据统计查询
*/
@RestController
@RequestMapping("/dataStatistics")
public class DataStatisticeController {
@Autowired
private DataStatisticeService dataStatisticeService;
/**
* 查询供应商评价情况统计
*/
@PostMapping("/getSupplierEvaluateStatistics")
public BaseResponse<IPage<SupplierEvaluateStatisticsVo>> getSupplierEvaluateStatistics(@RequestBody SupplierEvaluateStatisticsVo vo) {
return BaseResponse.success(dataStatisticeService.getSupplierEvaluateStatistics(vo));
}
/**
* 供应商年审情况统计
*/
@PostMapping("/getSupplierAnnualReviewStatistics")
public BaseResponse<IPage<SupplierAnnualReviewStatisticsVo>> getSupplierAnnualReviewStatistics(@RequestBody SupplierAnnualReviewStatisticsVo vo) {
return BaseResponse.success(dataStatisticeService.getSupplierAnnualReviewStatistics(vo));
}
/**
* 退出情况统计
*/
@PostMapping("/getSupplierExitStatistics")
public BaseResponse<IPage<SupplierExitStatisticsVo>> getSupplierExitStatistics(@RequestBody SupplierExitStatisticsVo vo) {
return BaseResponse.success(dataStatisticeService.getSupplierExitStatistics(vo));
}
/**
* 资质过期提醒
*/
@PostMapping("/getSupplierQualificationExpire")
public BaseResponse<IPage<SupplierQualificationExpireVo>> getSupplierQualificationExpire(@RequestBody SupplierQualificationExpireVo vo) {
return BaseResponse.success(dataStatisticeService.getSupplierQualificationExpire(vo));
}
}

View File

@ -0,0 +1,37 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierAnnualReviewStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierEvaluateStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo;
public interface DataStatisticeService {
/**
* 供应商评价统计
* @param vo
* @return
*/
IPage<SupplierEvaluateStatisticsVo> getSupplierEvaluateStatistics(SupplierEvaluateStatisticsVo vo);
/**
* 供应商年审统计
* @param vo
* @return
*/
IPage<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatistics(SupplierAnnualReviewStatisticsVo vo);
/**
* 退出情况统计列表
* @param vo
* @return
*/
IPage<SupplierExitStatisticsVo> getSupplierExitStatistics(SupplierExitStatisticsVo vo);
/**
* 资质过期提醒
* @param vo
* @return
*/
IPage<SupplierQualificationExpireVo> getSupplierQualificationExpire(SupplierQualificationExpireVo vo);
}

View File

@ -0,0 +1,58 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao.CoscoAnnualreviewTaskSupplierMapper;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.dao.CoscoEvaluateTaskSupplierMapper;
import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.CoscoEvaluateTaskListVo;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierQualificationsMapper;
import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierexitMapper;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.service.DataStatisticeService;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierAnnualReviewStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierEvaluateStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisticsVo;
import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DataStatisticeServiceImpl implements DataStatisticeService {
@Autowired
private CoscoEvaluateTaskSupplierMapper coscoEvaluateTaskMapper;
@Autowired
private CoscoAnnualreviewTaskSupplierMapper coscoAnnualreviewTaskMapper;
@Autowired
private CoscoSupplierexitMapper coscoSupplierexitMapper;
@Autowired
private CoscoSupplierQualificationsMapper coscoSupplierQualificationsMapper;
@Override
public IPage<SupplierEvaluateStatisticsVo> getSupplierEvaluateStatistics(SupplierEvaluateStatisticsVo vo) {
IPage<CoscoEvaluateTaskListVo> p = new Page<>(vo.getBasePageRequest().getPageNo(),
vo.getBasePageRequest().getPageSize());
return coscoEvaluateTaskMapper.getSupplierEvaluateStatistics(p, vo);
}
@Override
public IPage<SupplierAnnualReviewStatisticsVo> getSupplierAnnualReviewStatistics(SupplierAnnualReviewStatisticsVo vo) {
IPage<SupplierAnnualReviewStatisticsVo> p = new Page<>(vo.getBasePageRequest().getPageNo(),
vo.getBasePageRequest().getPageSize());
return coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatistics(p, vo);
}
@Override
public IPage<SupplierExitStatisticsVo> getSupplierExitStatistics(SupplierExitStatisticsVo vo) {
IPage<SupplierExitStatisticsVo> p = new Page<>(vo.getBasePageRequest().getPageNo(),
vo.getBasePageRequest().getPageSize());
return coscoSupplierexitMapper.getSupplierExitStatistics(p, vo);
}
@Override
public IPage<SupplierQualificationExpireVo> getSupplierQualificationExpire(SupplierQualificationExpireVo vo) {
IPage<SupplierQualificationExpireVo> p = new Page<>(vo.getBasePageRequest().getPageNo(),
vo.getBasePageRequest().getPageSize());
return coscoSupplierQualificationsMapper.getSupplierExitStatistics(p, vo);
}
}

View File

@ -0,0 +1,50 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 供应商年度评价统计
*/
@Data
public class SupplierAnnualReviewStatisticsVo {
/**
* id
*/
private String id;
/**
* 境内/境外
*/
private String area;
/**
* 品类
*/
private String categoryName;
/**
* 供应商名称
*/
private String supplierName;
/**
* 准入单位
*/
private String accessUnit;
/**
* 准入部门
*/
private String accessDept;
/**
* 评价年度
*/
private String annualreviewYear;
/**
* 评价结果
*/
private String annualStatisticsResult;
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;
}

View File

@ -0,0 +1,45 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SupplierEvaluateStatisticsVo {
/**
* id
*/
private String id;
/**
* 境内/境外
*/
private String area;
/**
* 品类
*/
private String categoryName;
/**
* 供应商名称
*/
private String supplierName;
/**
* 准入单位
*/
private String accessUnit;
/**
* 准入部门
*/
private String accessDept;
/**
* 评价年度
*/
private String evaluateYear;
/**
* 评价结果
*/
private String evaluateResult;
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;
}

View File

@ -0,0 +1,40 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SupplierExitStatisticsVo {
/**
* 境内/境外
*/
private String area;
/**
* 退出品类
*/
private String categoryName;
/**
* 供应商名称
*/
private String supplierName;
/**
* 退出单位
*/
private String accessUnit;
/**
* 退出部门
*/
private String accessDept;
/**
* 退出申请人
*/
private String applyUser;
/**
* 退出时间
*/
private String applyTime;
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;
}

View File

@ -0,0 +1,55 @@
package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo;
import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* 供应商资质到期提醒视图对象
*/
@Data
public class SupplierQualificationExpireVo {
/**
* 发证机构
*/
private String authority;
/**
* 有效期截止日
*/
private Date termOfValidity;
/**
* 供应商名称
*/
private String supplierName;
/**
* 地区(境内/境外)
*/
private String area;
/**
* 供应商ID
*/
private String id;
/**
* 准入单位(固定值)
*/
private String accessUnit;
/**
* 准入部门(固定值)
*/
private String accessDept;
/**
* 分类名称(多个分类逗号分隔)
*/
private String categoryName;
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;
}

View File

@ -182,4 +182,42 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<select id="getSupplierExitStatistics" parameterType="map" resultType="com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo">
SELECT
csq.authority,
csq.term_of_validity,
csb.NAME supplierName,
CASE
WHEN csb.supplier_type = 'ovs' THEN
'境外'
WHEN csb.supplier_type = 'ovs' THEN
'境内' ELSE '境内'
END AS area,
csb.id,
'准入单位' AS accessUnit,
'准入部门' AS accessDept,
(
SELECT
GROUP_CONCAT( DISTINCT cc.category_name SEPARATOR ', ' )
FROM
cosco_access_supplier_category casc
JOIN cosco_category cc ON cc.id = casc.category_id
WHERE
casc.del_flag = 'normal'
AND casc.supplier_id = csb.id
) AS categoryName
FROM
cosco_supplier_qualifications csq
JOIN cosco_supplier_base csb ON csq.supplier_id = csb.id
WHERE
csq.del_flag = 'normal'
AND ( csq.term_of_validity &lt; CURDATE() OR csq.term_of_validity
BETWEEN CURDATE() AND DATE_ADD( CURDATE(), INTERVAL 30 DAY ) )
<if test="vo.supplierName!=null and vo.supplierName!=''">
and csb.name like concat('%',#{vo.supplierName},'%')
</if>
ORDER BY
csq.term_of_validity ASC
</select>
</mapper> </mapper>

View File

@ -188,4 +188,30 @@
#{id} #{id}
</foreach> </foreach>
</update> </update>
<select id="getSupplierExitStatistics" resultType="com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisticsVo" parameterType="map">
select
csb.name supplierName,
case when csb.supplier_type = 'ovs' then '境外'
when csb.supplier_type = 'ovs' then '境内'
else '境内' end as area ,
csb.id,
'退出单位' as accessUnit,
'退出部门' as accessDept,
cse.create_by as applyUser,
cse.update_time as applyTime,
(select GROUP_CONCAT( DISTINCT cc.category_name SEPARATOR ', ' )
from cosco_supplierexit_supplier_category cssc
join cosco_category cc
ON cc.id = cssc.category_id
where cssc.supplier_id=csb.id and cssc.supplierexit_id=cse.id) as categoryName
from cosco_supplierexit cse
join cosco_supplierexit_supplier css
on cse.id= css.supplierexit_id
join cosco_supplier_base csb on csb.id=css.supplier_id
where cse.approve_status=1
<if test="vo.supplierName!=null and vo.supplierName!=''">
and csb.name like concat('%',#{vo.supplierName},'%')
</if>
</select>
</mapper> </mapper>