diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/OrgNameVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/OrgNameVo.java new file mode 100644 index 0000000..fae797b --- /dev/null +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/vo/OrgNameVo.java @@ -0,0 +1,27 @@ +package com.chinaunicom.zyhy.ebtp.supplier.base.vo; + +import lombok.Data; + +@Data +public class OrgNameVo { + /** + * 部门id + */ + private String deptId; + /** + * 公司id + */ + private String orgId; + /** + * 部门名称 + */ + private String deptName; + /** + * 公司名称 + */ + private String orgName; + /** + * 供应商id + */ + private String supplierId; +} diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/entity/CoscoAnnualreviewTask.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/entity/CoscoAnnualreviewTask.java index 4d7cf78..04d58dd 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/entity/CoscoAnnualreviewTask.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/entity/CoscoAnnualreviewTask.java @@ -13,36 +13,54 @@ import java.util.Date; * @date 2025-06-18 */ @Data -public class CoscoAnnualreviewTask extends BaseEntity{ +public class CoscoAnnualreviewTask extends BaseEntity { private static final long serialVersionUID = 1L; - /** 主键ID */ + /** + * 主键ID + */ private String id; - /** 年审主题 */ + /** + * 年审主题 + */ private String annualreviewTheme; - /** 发起单位 */ + /** + * 发起单位 + */ private String deptId; - /** 年审年度 */ + /** + * 年审年度 + */ private String annualreviewYear; - /** 年审开始时间 */ + /** + * 年审开始时间 + */ @JsonFormat(pattern = "yyyy-MM-dd") private Date startTime; - /** 年审结束时间 */ + /** + * 年审结束时间 + */ @JsonFormat(pattern = "yyyy-MM-dd") private Date endTime; - /** 年审模板id(cosco_annualreview_template表主键) */ + /** + * 年审模板id(cosco_annualreview_template表主键) + */ private String templateId; - /** 品类限制类型(0.通用不限品类、1.限制品类) */ + /** + * 品类限制类型(0.通用不限品类、1.限制品类) + */ private String categoryLimitation; - /** 品类id(cosco_category表主键) */ + /** + * 品类id(cosco_category表主键) + */ private String categoryId; /** * 品类名称 @@ -53,11 +71,15 @@ public class CoscoAnnualreviewTask extends BaseEntity{ */ private String categoryPathName; - /** 状态(0.未开始、1.进行中、2.已结束) */ + /** + * 状态(0.未开始、1.进行中、2.已结束) + */ private Long status; - /** 删除标识(normal.正常、deleted.已删除) */ - private String delFlag="normal"; + /** + * 删除标识(normal.正常、deleted.已删除) + */ + private String delFlag = "normal"; private String remark; @@ -72,5 +94,9 @@ public class CoscoAnnualreviewTask extends BaseEntity{ * 品类全id */ private String categoryPathId; + /** + * 单位id + */ + private String orgId; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java index c92ee37..7ac043b 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/service/impl/CoscoAnnualreviewTaskServiceImpl.java @@ -10,6 +10,7 @@ import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.AnnualreviewTaskConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SelectUserVo; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao.*; @@ -22,6 +23,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.vo.SupplierPeopleVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackSupplierVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.TaskUserVo; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoAccessWorkMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo; @@ -57,7 +59,8 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS private CoscoSupplierBaseMapper coscoSupplierBaseMapper; @Autowired private IUserService userService; - + @Autowired + private CoscoAccessWorkMapper coscoAccessWorkMapper; @Autowired private IOrgService orgService; @Autowired @@ -124,8 +127,42 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS List supplierIds = list.stream().map(SupplierPeopleVo::getSuppliedId).collect(Collectors.toList()); List blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds); List userInfo = userIdMap.keySet().stream().map(userId -> userMap.get(userId)).collect(Collectors.toList()); - //用户信息封装 - blackSupplierVos.forEach(blackSupplierVo -> { + SysOrg orgInfo = orgService.getOrgInfo(coscoAnnualreviewTask.getDeptId()); + List accessWorkList = new ArrayList<>(); + if (orgInfo != null) { + String orgFullId = orgInfo.getOrgFullId(); + String[] split = orgFullId.split(","); + accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); + } + Map> groupedBySupplier = accessWorkList.stream() + .collect(Collectors.groupingBy(OrgNameVo::getSupplierId)); + StringBuilder deptIds = new StringBuilder(); + for (OrgNameVo orgName : accessWorkList) { + if (deptIds.length() > 0) { + deptIds.append(","); + } + deptIds.append(orgName.getDeptId()); + deptIds.append(","); + deptIds.append(orgName.getOrgId()); + } + Map orgNaMap = null; + if (!StringUtils.isEmpty(deptIds.toString())) { + //构建 deptId -> SysOrg 的映射,方便后续查找 + orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); + } + for (BlackSupplierVo blackSupplierVo : blackSupplierVos) { + List orgNameVos = groupedBySupplier.get(blackSupplierVo.getSupplierId()); + if (orgNameVos != null) { + for (OrgNameVo vos : orgNameVos) { + if (orgNaMap.containsKey(vos.getOrgId())) { + vos.setOrgName(orgNaMap.get(vos.getOrgId()).getOrgName()); + } + if (orgNaMap.containsKey(vos.getDeptId())) { + vos.setDeptName(orgNaMap.get(vos.getDeptId()).getOrgName()); + } + } + blackSupplierVo.setOrgNameList(orgNameVos); + } List taskUserVos = new ArrayList<>(); List strings = suppMap.get(blackSupplierVo.getSupplierId()); if (!strings.isEmpty()) { @@ -142,7 +179,8 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS } } blackSupplierVo.setUserList(taskUserVos); - }); + } + vo.setBlackSupplierVos(blackSupplierVos); vo.setSupplierPeopleVo(list); vo.setUserList(userInfo); @@ -174,10 +212,11 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS BaseCacheUser currentUser = TokenUtil.getCurrentUser(); String userId = currentUser.getUserId(); taskVo.setUpdateBy(userId); + taskVo.setOrgId(currentUser.getOrganizationId()); taskVo.setDeptId(currentUser.getDeptId()); taskVo.setId(PropertyUtils.getSnowflakeId()); taskVo.setCreateBy(userId); - if(taskVo.getCategoryId()!=null){ + if (taskVo.getCategoryId() != null) { CoscoCategoryMaintenance category = coscoCategoryService.getCategoryNameById(taskVo.getCategoryId()); taskVo.setCategoryName(category.getCategoryName()); taskVo.setCategoryPathName(category.getPathName()); @@ -186,7 +225,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS taskVo.setStatus(AnnualreviewTaskConstant.NOT_START); coscoAnnualreviewTaskMapper.insertCoscoAnnualreviewTask(taskVo); addList(taskVo); - if(taskVo.getStartTime().getTime()<=System.currentTimeMillis()){ + if (taskVo.getStartTime().getTime() <= System.currentTimeMillis()) { annualScheduledTasksService.MessageTask(taskVo.getId()); } return 1; @@ -262,7 +301,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS @Transactional(rollbackFor = Exception.class) public int updateCoscoAnnualreviewTask(AddTaskVo taskVo) { taskVo.setUpdateTime(new Date()); - if(taskVo.getCategoryId()!=null){ + if (taskVo.getCategoryId() != null) { CoscoCategoryMaintenance category = coscoCategoryService.getCategoryNameById(taskVo.getCategoryId()); taskVo.setCategoryName(category.getCategoryName()); taskVo.setCategoryPathName(category.getPathName()); @@ -299,6 +338,8 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS public IPage getPage(CoscoAnnualreviewTaskListVo taskListVo) { IPage p = new Page<>(taskListVo.getBasePageRequest().getPageNo(), taskListVo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + taskListVo.setOrgId(currentUser.getOrganizationId()); IPage coscoAnnualreviewTaskListVoIPage = coscoAnnualreviewTaskMapper.selectPage(p, taskListVo); //获取查询任务部门信息 String deptIds = coscoAnnualreviewTaskListVoIPage.getRecords().stream() @@ -306,9 +347,9 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS .filter(Objects::nonNull) .map(Object::toString) .collect(Collectors.joining(",")); - if(!StringUtils.isEmpty(deptIds)){ + if (!StringUtils.isEmpty(deptIds)) { //构建 deptId -> SysOrg 的映射,方便后续查找 - Map orgMap = orgService.getOrgDeptInfo(deptIds); + Map orgMap = orgService.getOrgDeptInfo(deptIds); //遍历 pageData.getRecords(),设置部门名称和所属单位名称 for (CoscoAnnualreviewTaskListVo taskVo : coscoAnnualreviewTaskListVoIPage.getRecords()) { diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java index 6b60758..b4dbfe3 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/AddTaskVo.java @@ -33,4 +33,8 @@ public class AddTaskVo extends CoscoAnnualreviewTask { * 评价状态名称 */ private String statusName; + /** + * 单位id + */ + private String orgId; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/CoscoAnnualreviewTaskListVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/CoscoAnnualreviewTaskListVo.java index ebb350d..3976ff3 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/CoscoAnnualreviewTaskListVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoAnnualreview/vo/CoscoAnnualreviewTaskListVo.java @@ -46,6 +46,10 @@ public class CoscoAnnualreviewTaskListVo implements Serializable { /** 品类限制类型(0.通用不限品类、1.限制品类) */ private String categoryLimitation; + /** + * 单位id + */ + private String orgId; @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoBlack/vo/BlackSupplierVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoBlack/vo/BlackSupplierVo.java index be67583..ed29e7e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoBlack/vo/BlackSupplierVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoBlack/vo/BlackSupplierVo.java @@ -2,6 +2,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo; import com.chinaunicom.mall.ebtp.common.base.entity.BaseEntity; import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.TaskUserVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -57,4 +58,6 @@ public class BlackSupplierVo implements Serializable { private String categoryIds; + private List orgNameList; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/entity/CoscoEvaluateTask.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/entity/CoscoEvaluateTask.java index fda1f45..a3201ee 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/entity/CoscoEvaluateTask.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/entity/CoscoEvaluateTask.java @@ -115,6 +115,10 @@ public class CoscoEvaluateTask extends BaseEntity { * 品类全路径id */ private String categoryPathId; + /** + * 单位id + */ + private String orgId; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java index 8b0deb8..6fb3ba0 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskServiceImpl.java @@ -12,6 +12,7 @@ import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoCategoryConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.SupplierUserConstant; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.SelectUserVo; import com.chinaunicom.zyhy.ebtp.supplier.base.vo.UserVo; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.MessageType; @@ -25,9 +26,12 @@ import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTa import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ICoscoEvaluateTemplateIndicatorNdService; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.service.ScheduledTasksService; import com.chinaunicom.zyhy.ebtp.supplier.coscoEvaluate.vo.*; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoAccessWorkMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper.CoscoSupplierBaseMapper; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoSupplierBase; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.OrgDeptVo; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.SupplierPageVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -48,6 +52,8 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { @Autowired private CoscoEvaluateTaskMapper coscoEvaluateTaskMapper; @Autowired + private CoscoAccessWorkMapper coscoAccessWorkMapper; + @Autowired private IUserService userService; @Autowired private IOrgService orgService; @@ -143,7 +149,30 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { Map> suppMap = list.stream().collect(Collectors.toMap(TaskSupplierVo::getId, TaskSupplierVo::getUserIds, (existing, replacement) -> existing)); Map userMap = userService.getUser(new SelectUserVo()).stream().collect(Collectors.toMap(UserVo::getUserId, userVo -> userVo)); List blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds); - blackSupplierVos.forEach(blackSupplierVo -> { + SysOrg orgInfo = orgService.getOrgInfo(addCoscoEvaluateTaskVo.getDeptId()); + List accessWorkList =new ArrayList<>(); + if(orgInfo!=null){ + String orgFullId = orgInfo.getOrgFullId(); + String[] split = orgFullId.split(","); + accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); + } + Map> groupedBySupplier = accessWorkList.stream() + .collect(Collectors.groupingBy(OrgNameVo::getSupplierId)); + StringBuilder deptIds = new StringBuilder(); + for (OrgNameVo orgName : accessWorkList) { + if (deptIds.length() > 0) { + deptIds.append(","); + } + deptIds.append(orgName.getDeptId()); + deptIds.append(","); + deptIds.append(orgName.getOrgId()); + } + Map orgNaMap = null; + if (!StringUtils.isEmpty(deptIds.toString())) { + //构建 deptId -> SysOrg 的映射,方便后续查找 + orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); + } + for (BlackSupplierVo blackSupplierVo : blackSupplierVos) { List strings = suppMap.get(blackSupplierVo.getSupplierId()); List taskUserVos = new ArrayList<>(); strings.forEach(userId -> { @@ -161,11 +190,23 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { vo.setUserDeptId(userVo.getUserDeptId()); vo.setIsSelected(true); } - taskUserVos.add(vo); }); blackSupplierVo.setUserList(taskUserVos); - }); + List orgNameVos = groupedBySupplier.get(blackSupplierVo.getSupplierId()); + if (orgNameVos != null) { + for (OrgNameVo vo : orgNameVos) { + if (orgNaMap.containsKey(vo.getOrgId())) { + vo.setOrgName(orgNaMap.get(vo.getOrgId()).getOrgName()); + } + if (orgNaMap.containsKey(vo.getDeptId())) { + vo.setDeptName(orgNaMap.get(vo.getDeptId()).getOrgName()); + } + } + blackSupplierVo.setOrgNameList(orgNameVos); + } + } + addCoscoEvaluateTaskVo.setBlackSupplierVos(blackSupplierVos); addCoscoEvaluateTaskVo.setIndicatorList(vos); } catch (Exception e) { @@ -276,12 +317,13 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { public IPage getPage(CoscoEvaluateTaskListVo taskListVo) { IPage p = new Page<>(taskListVo.getBasePageRequest().getPageNo(), taskListVo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + taskListVo.setOrgId(currentUser.getOrganizationId()); //获取分页数据 IPage coscoEvaluateTaskListVoIPage = coscoEvaluateTaskMapper.selectMyPage(p, taskListVo); //根据分页数据获取是否显示分工 List taskIds = coscoEvaluateTaskListVoIPage.getRecords().stream().map(CoscoEvaluateTaskListVo::getId).collect(Collectors.toList()); //获取本部门id - BaseCacheUser currentUser = TokenUtil.getCurrentUser(); taskListVo.setDeptId(currentUser.getOrganizationId()); taskListVo.setTaskIds(taskIds); //获取上级部门id @@ -548,7 +590,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { if (addCoscoEvaluateTaskVo.getTaskStatus() != null) { coscoEvaluateTaskAssignDeptService.insertAssignDept(addCoscoEvaluateTaskVo); } - if(addCoscoEvaluateTaskVo.getStartTime().getTime()<=System.currentTimeMillis()){ + if (addCoscoEvaluateTaskVo.getStartTime().getTime() <= System.currentTimeMillis()) { scheduledTasksService.MessageTask(addCoscoEvaluateTaskVo.getId()); } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CoscoEvaluateTaskListVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CoscoEvaluateTaskListVo.java index 8953fa8..298f88c 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CoscoEvaluateTaskListVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/CoscoEvaluateTaskListVo.java @@ -84,6 +84,8 @@ public class CoscoEvaluateTaskListVo implements Serializable { */ private String createBy; + private String orgId; + @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java index 2c1dd43..3131597 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/dao/mapper/CoscoAccessWorkMapper.java @@ -1,6 +1,7 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.dao.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessWork; import org.apache.ibatis.annotations.Param; @@ -16,6 +17,7 @@ public interface CoscoAccessWorkMapper { /** * 供应商准入管理列表 + * * @param page * @param vo * @return @@ -24,6 +26,7 @@ public interface CoscoAccessWorkMapper { /** * 供应商准入评审列表 + * * @param page * @param vo * @return @@ -31,7 +34,6 @@ public interface CoscoAccessWorkMapper { IPage selectCoscoAccessWorkUserReviewPage(IPage page, @Param("vo") CoscoAccessWork vo); - IPage selectApproveList(CoscoAccessWork coscoAccessWork); /** @@ -44,12 +46,12 @@ public interface CoscoAccessWorkMapper { /** * 统计准入类别数量 + * * @return */ public List selectAccessTypeCountNum(); - /** * 查询供应商准入_准入申请工作主列表 * @@ -90,4 +92,13 @@ public interface CoscoAccessWorkMapper { * @return 结果 */ public int deleteCoscoAccessWorkByIds(String[] ids); + + /** + * 根据供应商id和部门信息查询供应商准入部门信息 + * + * @param supplierIds + * @param orgFullId + * @return + */ + List selectAccessWorkBySupplerIdsIdAndOrgId(@Param("supplierId") List supplierIds, @Param("orgId") List orgFullId); } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java index e4d009a..337fa2d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/service/impl/CoscoSupplierBaseServiceImpl.java @@ -11,6 +11,7 @@ import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IDictService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.common.ChineseName; import com.chinaunicom.zyhy.ebtp.supplier.common.CoscoDateUtils; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; @@ -606,28 +607,49 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl page = new Page<>(supplierPageVo.getBasePageRequest().getPageNo(), supplierPageVo.getBasePageRequest().getPageSize()); IPage supplierPage = coscoSupplierBaseMapper.getSupplierPage(page, supplierPageVo); - - //提取所有 deptId,并用逗号拼接成字符串 + StringBuilder deptIds = new StringBuilder(); + for(SupplierPageVo rec:supplierPage.getRecords()){ + List orgNameList = rec.getOrgNameList(); + for(OrgNameVo orgName:orgNameList){ + if(deptIds.length()>0){ + deptIds.append(","); + } + deptIds.append(orgName.getDeptId()); + deptIds.append(","); + deptIds.append(orgName.getOrgId()); + } + } + /* //提取所有 deptId,并用逗号拼接成字符串 String deptIds = supplierPage.getRecords().stream() .map(SupplierPageVo::getDeptId) .filter(Objects::nonNull) .map(Object::toString) - .collect(Collectors.joining(",")); - - if(!StringUtils.isEmpty(deptIds)){ + .collect(Collectors.joining(","));*/ + if(deptIds!=null && !StringUtils.isEmpty(deptIds.toString())){ //构建 deptId -> SysOrg 的映射,方便后续查找 - Map orgMap = orgService.getOrgDeptInfo(deptIds); - + Map orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); //遍历 pageData.getRecords(),设置部门名称和所属单位名称 for (SupplierPageVo vo : supplierPage.getRecords()) { - String deptId = vo.getDeptId(); - if (deptId != null && orgMap.containsKey(deptId)) { - SysOrg org = orgMap.get(deptId); - vo.setDeptName(org.getOrgName()); // 设置部门名称 - vo.setOrgName(org.getCuCompanyName());// 设置单位名称 - } + vo.getOrgNameList().forEach(orgName -> { + if(orgNaMap.containsKey(orgName.getOrgId())){ + orgName.setOrgName(orgNaMap.get(orgName.getOrgId()).getOrgName()); + } + if(orgNaMap.containsKey(orgName.getDeptId())){ + orgName.setDeptName(orgNaMap.get(orgName.getDeptId()).getOrgName()); + } + }); + } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/SupplierPageVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/SupplierPageVo.java index 4706732..6fb361e 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/SupplierPageVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscosupplier/vo/SupplierPageVo.java @@ -1,6 +1,8 @@ package com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo; import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; +import com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.entity.CoscoAccessSupplierCategory; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,7 +10,7 @@ import java.util.Date; import java.util.List; @Data -public class SupplierPageVo { +public class SupplierPageVo { /** * 供应商ID @@ -87,7 +89,7 @@ public class SupplierPageVo { /** * 黑名单部门list */ - private List blackListDept; + private List blackDept; /** * 企业类型 @@ -100,6 +102,10 @@ public class SupplierPageVo { private String socialCreditCode; + private String orgIds; + + private List allOrgIds; + /** * 三合一统一信用代码 */ @@ -111,4 +117,13 @@ public class SupplierPageVo { * 品类集合 */ private String categoryIds; + + /** + * 品类集合 + */ + private List categoryNameList; + /** + * 部门名称集合 + */ + private List orgNameList; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/service/impl/DataStatisticeServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/service/impl/DataStatisticeServiceImpl.java index ac526e4..2ecbc99 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/service/impl/DataStatisticeServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/service/impl/DataStatisticeServiceImpl.java @@ -2,17 +2,20 @@ 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.mall.ebtp.common.base.entity.BaseCacheUser; import com.chinaunicom.mall.ebtp.common.base.entity.SysOrg; import com.chinaunicom.mall.ebtp.common.base.entity.SysUser; +import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService; import com.chinaunicom.zyhy.ebtp.supplier.base.service.IUserService; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import com.chinaunicom.zyhy.ebtp.supplier.coscoAnnualreview.dao.CoscoAnnualreviewTaskSupplierMapper; import com.chinaunicom.zyhy.ebtp.supplier.coscoCategory.service.ICoscoCategoryService; 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.CoscoAccessWorkMapper; 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.coscosupplier.vo.OrgDeptVo; 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; @@ -20,10 +23,13 @@ import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierExitStatisti import com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo.SupplierQualificationExpireVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service public class DataStatisticeServiceImpl implements DataStatisticeService { @@ -36,10 +42,10 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { @Autowired private CoscoSupplierexitMapper coscoSupplierexitMapper; @Autowired - private ICoscoCategoryService coscoCategoryService; - @Autowired private IUserService userService; @Autowired + private CoscoAccessWorkMapper coscoAccessWorkMapper; + @Autowired private IOrgService orgService; @Autowired @@ -49,11 +55,10 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { public IPage getSupplierEvaluateStatistics(SupplierEvaluateStatisticsVo vo) { IPage p = new Page<>(vo.getBasePageRequest().getPageNo(), vo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); IPage supplierEvaluateStatistics = coscoEvaluateTaskMapper.getSupplierEvaluateStatistics(p, vo); - - supplierEvaluateStatistics.getRecords().forEach(item -> { - - }); + getEvalOrgName(supplierEvaluateStatistics.getRecords()); return supplierEvaluateStatistics; } @@ -61,9 +66,10 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { public IPage getSupplierAnnualReviewStatistics(SupplierAnnualReviewStatisticsVo vo) { IPage p = new Page<>(vo.getBasePageRequest().getPageNo(), vo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); IPage supplierAnnualReviewStatistics = coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatistics(p, vo); - supplierAnnualReviewStatistics.getRecords().forEach(item -> { - }); + getAnnalOrgName(supplierAnnualReviewStatistics.getRecords()); return supplierAnnualReviewStatistics; } @@ -75,24 +81,67 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { */ @Override public List getSupplierAnnualReviewStatisticsList(SupplierAnnualReviewStatisticsVo vo) { + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); List supplierAnnualReviewStatisticsList = coscoAnnualreviewTaskMapper.getSupplierAnnualReviewStatisticsList(vo); - supplierAnnualReviewStatisticsList.forEach(item -> { - StringBuilder builder = new StringBuilder(); - if (item.getCategoryIds() != null && item.getCategoryIds().length() > 0) { - String[] split = item.getCategoryIds().split(","); - for (String s : split) { - builder.append(coscoCategoryService.getCategoryNameById(s).getCategoryName()); + getAnnalOrgName(supplierAnnualReviewStatisticsList); + return supplierAnnualReviewStatisticsList; + } + + private void getAnnalOrgName(List supplierAnnualReviewStatisticsList) { + if(!supplierAnnualReviewStatisticsList.isEmpty()) { + List supplierIds = supplierAnnualReviewStatisticsList.stream() + .map(SupplierAnnualReviewStatisticsVo::getSupplierId) // 假设 getId() 方法存在 + .collect(Collectors.toList()); + + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + + SysOrg orgInfo = orgService.getOrgInfo(currentUser.getOrganizationId()); + List accessWorkList = new ArrayList<>(); + if (orgInfo != null) { + String orgFullId = orgInfo.getOrgFullId(); + String[] split = orgFullId.split(","); + accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); + } + Map> groupedBySupplier = accessWorkList.stream() + .collect(Collectors.groupingBy(OrgNameVo::getSupplierId)); + StringBuilder deptIds = new StringBuilder(); + for (OrgNameVo orgName : accessWorkList) { + if (deptIds.length() > 0) { + deptIds.append(","); + } + deptIds.append(orgName.getDeptId()); + deptIds.append(","); + deptIds.append(orgName.getOrgId()); + } + Map orgNaMap = null; + if (!StringUtils.isEmpty(deptIds.toString())) { + //构建 deptId -> SysOrg 的映射,方便后续查找 + orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); + } + for (SupplierAnnualReviewStatisticsVo item : supplierAnnualReviewStatisticsList) { + List orgNameVos = groupedBySupplier.get(item.getSupplierId()); + if (orgNameVos != null) { + for (OrgNameVo vos : orgNameVos) { + if (orgNaMap.containsKey(vos.getOrgId())) { + vos.setOrgName(orgNaMap.get(vos.getOrgId()).getOrgName()); + } + if (orgNaMap.containsKey(vos.getDeptId())) { + vos.setDeptName(orgNaMap.get(vos.getDeptId()).getOrgName()); + } + } + item.setOrgNameList(orgNameVos); } } - item.setCategoryName(builder.toString()); - }); - return supplierAnnualReviewStatisticsList; + } } @Override public IPage getSupplierExitStatistics(SupplierExitStatisticsVo vo) { IPage p = new Page<>(vo.getBasePageRequest().getPageNo(), vo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); IPage supplierExitStatistics = coscoSupplierexitMapper.getSupplierExitStatistics(p, vo); supplierExitStatistics.getRecords().forEach(item -> { item.setCategoryName(item.getCategory()); @@ -115,20 +164,64 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { * @return */ public List getSupplierExitStatisticsList(SupplierExitStatisticsVo vo) { - return coscoSupplierexitMapper.getSupplierExitStatisticsList(vo); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); + List supplierExitStatisticsList = coscoSupplierexitMapper.getSupplierExitStatisticsList(vo); + supplierExitStatisticsList.forEach(item -> { + item.setCategoryName(item.getCategory()); + SysUser userById = userService.getUserById(item.getApplyUser()); + if(userById!=null){ + SysOrg orgInfo = orgService.getOrgInfo(userById.getOrgId()); + item.setAccessUnit(orgInfo.getCuCompanyName()); + item.setAccessDept(orgInfo.getOrgName()); + item.setApplyUser(userById.getName()); + } + + }); + return supplierExitStatisticsList; } @Override public IPage getSupplierQualificationExpire(SupplierQualificationExpireVo vo) { IPage p = new Page<>(vo.getBasePageRequest().getPageNo(), vo.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); IPage supplierExitStatistics = coscoSupplierQualificationsMapper.getSupplierExitStatistics(p, vo); + getQualOrgName(supplierExitStatistics.getRecords()); supplierExitStatistics.getRecords().forEach(item -> { item.setCategoryName(item.getCategory()); }); return supplierExitStatistics; } + private void getQualOrgName(List supplierExitStatistics) { + if(!supplierExitStatistics.isEmpty()) { + StringBuilder deptIds = new StringBuilder(); + for (SupplierQualificationExpireVo expireVo : supplierExitStatistics) { + if (deptIds.length() > 0) { + deptIds.append(","); + } + deptIds.append(expireVo.getDeptId()); + deptIds.append(","); + deptIds.append(expireVo.getOrgId()); + } + Map orgNaMap = null; + if (!StringUtils.isEmpty(deptIds.toString())) { + //构建 deptId -> SysOrg 的映射,方便后续查找 + orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); + } + for (SupplierQualificationExpireVo item : supplierExitStatistics) { + if (orgNaMap.containsKey(item.getDeptId())) { + item.setAccessDept(orgNaMap.get(item.getDeptId()).getOrgName()); + } + if (orgNaMap.containsKey(item.getOrgId())) { + item.setAccessUnit(orgNaMap.get(item.getOrgId()).getOrgName()); + } + } + } + } + /** * 供应商资质 * @@ -136,22 +229,68 @@ public class DataStatisticeServiceImpl implements DataStatisticeService { * @return */ public List getSupplierQualificationExpireList(SupplierQualificationExpireVo vo) { - return coscoSupplierQualificationsMapper.getSupplierQualificationExpireList(vo); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); + List supplierQualificationExpireList = coscoSupplierQualificationsMapper.getSupplierQualificationExpireList(vo); + getQualOrgName(supplierQualificationExpireList); + supplierQualificationExpireList.forEach(item -> { + item.setCategoryName(item.getCategory()); + }); + return supplierQualificationExpireList; } @Override public List getSupplierEvaluateStatisticsList(SupplierEvaluateStatisticsVo vo) { + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + vo.setOrgId(currentUser.getOrganizationId()); List supplierEvaluateStatisticsList = coscoEvaluateTaskMapper.getSupplierEvaluateStatisticsList(vo); - supplierEvaluateStatisticsList.forEach(item -> { - if (item.getCategoryIds() != null && item.getCategoryIds().length() > 0) { - String[] split = item.getCategoryIds().split(","); - StringBuilder builder = new StringBuilder(); - for (String s : split) { - builder.append(coscoCategoryService.getCategoryNameById(s).getCategoryName()); - } - item.setCategoryName(builder.toString()); - } - }); + getEvalOrgName(supplierEvaluateStatisticsList); return supplierEvaluateStatisticsList; } + + private void getEvalOrgName(List supplierEvaluateStatisticsList) { + if(!supplierEvaluateStatisticsList.isEmpty()){ + List supplierIds = supplierEvaluateStatisticsList.stream() + .map(SupplierEvaluateStatisticsVo::getId) // 假设 getId() 方法存在 + .collect(Collectors.toList()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + SysOrg orgInfo = orgService.getOrgInfo(currentUser.getOrganizationId()); + List accessWorkList =new ArrayList<>(); + if(orgInfo!=null){ + String orgFullId = orgInfo.getOrgFullId(); + String[] split = orgFullId.split(","); + accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); + } + Map> groupedBySupplier = accessWorkList.stream() + .collect(Collectors.groupingBy(OrgNameVo::getSupplierId)); + StringBuilder deptIds = new StringBuilder(); + for (OrgNameVo orgName : accessWorkList) { + if (deptIds.length() > 0) { + deptIds.append(","); + } + deptIds.append(orgName.getDeptId()); + deptIds.append(","); + deptIds.append(orgName.getOrgId()); + } + Map orgNaMap = null; + if (!StringUtils.isEmpty(deptIds.toString())) { + //构建 deptId -> SysOrg 的映射,方便后续查找 + orgNaMap = orgService.getOrgDeptInfo(deptIds.toString()); + } + for (SupplierEvaluateStatisticsVo item : supplierEvaluateStatisticsList) { + List orgNameVos = groupedBySupplier.get(item.getId()); + if (orgNameVos != null) { + for (OrgNameVo vos : orgNameVos) { + if (orgNaMap.containsKey(vos.getOrgId())) { + vos.setOrgName(orgNaMap.get(vos.getOrgId()).getOrgName()); + } + if (orgNaMap.containsKey(vos.getDeptId())) { + vos.setDeptName(orgNaMap.get(vos.getDeptId()).getOrgName()); + } + } + item.setOrgNameList(orgNameVos); + } + } + } + } } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierAnnualReviewStatisticsVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierAnnualReviewStatisticsVo.java index ee3edbc..866e163 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierAnnualReviewStatisticsVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierAnnualReviewStatisticsVo.java @@ -2,9 +2,12 @@ package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + /** * 供应商年度评价统计 */ @@ -59,5 +62,9 @@ public class SupplierAnnualReviewStatisticsVo { @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; + private List orgNameList; + + private String orgId; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierEvaluateStatisticsVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierEvaluateStatisticsVo.java index c854060..9677e98 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierEvaluateStatisticsVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierEvaluateStatisticsVo.java @@ -2,9 +2,12 @@ package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.List; + @Data public class SupplierEvaluateStatisticsVo { /** @@ -55,4 +58,8 @@ public class SupplierEvaluateStatisticsVo { @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; + private String orgId; + + private List orgNameList; + } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierExitStatisticsVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierExitStatisticsVo.java index 79b07ae..910cfc4 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierExitStatisticsVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierExitStatisticsVo.java @@ -48,6 +48,7 @@ public class SupplierExitStatisticsVo { private String category; + private String orgId; @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; } diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierQualificationExpireVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierQualificationExpireVo.java index 08ff4b5..4e83c13 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierQualificationExpireVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/dataStatistics/vo/SupplierQualificationExpireVo.java @@ -2,9 +2,12 @@ package com.chinaunicom.zyhy.ebtp.supplier.dataStatistics.vo; import com.alibaba.excel.annotation.ExcelProperty; import com.chinaunicom.mall.ebtp.common.base.entity.BasePageRequest; +import com.chinaunicom.zyhy.ebtp.supplier.base.vo.OrgNameVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; + import java.util.Date; +import java.util.List; /** * 供应商资质到期提醒视图对象 @@ -64,9 +67,19 @@ public class SupplierQualificationExpireVo { private BasePageRequest basePageRequest; private String category; - + /** + * 单位id + */ + private String orgId; /** * 资质名称 */ private String qualificationsName; + + /** + * 部门id + */ + private String deptId; + + private List orgNameList; } diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskMapper.xml index 311a448..ca89614 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskMapper.xml @@ -142,6 +142,7 @@ category_name, category_path_name, category_path_id, + org_id, #{id}, @@ -163,7 +164,7 @@ #{categoryName}, #{categoryPathName}, #{categoryPathId}, - + #{orgId}, @@ -283,6 +284,9 @@ and cat.status = #{vo.status} + + and cat.org_id = #{vo.orgId} + and cat.create_by = #{vo.createBy} diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml index 518366a..1c3bc4f 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoAnnualreview/dao/mapper/CoscoAnnualreviewTaskSupplierMapper.xml @@ -239,6 +239,9 @@ and cat.annualreview_year = #{annualreviewYear} + + and cat.org_id = #{vo.orgId} + and review_result is not null @@ -288,6 +291,9 @@ and cat.annualreview_year = #{vo.annualreviewYear} + + and cat.org_id = #{vo.orgId} + and review_result is not null diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskMapper.xml index d760a07..b07ceac 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskMapper.xml @@ -231,6 +231,7 @@ category_name, category_path_name, category_path_id, + org_id, #{id}, @@ -255,7 +256,7 @@ #{categoryName}, #{categoryPathName}, #{categoryPathId}, - + #{orgId}, @@ -454,6 +455,9 @@ and cet.status=#{vo.status} + + and cet.org_id=#{vo.orgId} + and (cet.start_time >= #{vo.startTime} and cet.end_time <= #{vo.endTime}) diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskSupplierMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskSupplierMapper.xml index 07ec59d..4b64948 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskSupplierMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoEvaluate.dao/mapper/CoscoEvaluateTaskSupplierMapper.xml @@ -374,6 +374,9 @@ and cets.review_result = #{evaluateResult} + + and cet.org_id = #{vo.orgId} + order by cets.create_time desc @@ -416,6 +419,9 @@ and csb.name like concat('%',#{vo.supplierName},'%') + + and cet.org_id = #{vo.orgId} + and cet.evaluate_year = #{vo.evaluateYear} diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml index 671e0f3..5622d92 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoAccessWorkMapper.xml @@ -469,4 +469,22 @@ #{id} + + diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml index fc21da3..894956c 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierBaseMapper.xml @@ -4,51 +4,52 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -57,8 +58,8 @@ - - + @@ -118,199 +119,189 @@ - SELECT - csb.id, - csb.dept_id, - csb.supplier_type, - CASE csb.supplier_type - WHEN 'dvs' THEN '境内企业' - WHEN 'ovs' THEN '境外企业' - WHEN 'pe' THEN '个人' - ELSE supplier_type - END AS supplier_type_cn, - CASE - WHEN csb.supplier_type = 'dvs' THEN social_credit_code - WHEN csb.supplier_type = 'ovs' THEN vat - WHEN csb.supplier_type = 'pe' THEN id_card - ELSE NULL - END AS unified_code, - csb.licence_accessory, - csb.licence_date, - csb.enterprise_type, - csb.name, - csb.name_en, - csb.social_credit_code, - csb.`range`, - csb.reg_address, - csb.work_address, - csb.parent_company_investor, - csb.legal_person, - csb.id_card, - csb.capital, - csb.contacts_name, - csb.contacts_phone, - csb.contacts_type, - csb.contacts_email, - csb.telephone, - csb.nation, - csb.vat, - csb.taxpayer_id, - csb.currency, - csb.person_name, - csb.person_phone, - csb.person_bank, - csb.person_account, - csb.remark, - csb.access_status, - CASE csb.access_status - WHEN 0 THEN '未准入' - WHEN 1 THEN '已准入' - ELSE CAST(access_status AS CHAR) - END AS access_status_cn, - csb.blacklist_status, - CASE csb.blacklist_status - WHEN 0 THEN '未加入' - WHEN 1 THEN '已加入' - ELSE CAST(blacklist_status AS CHAR) - END AS blacklist_status_cn, - csb.greylist_status, - CASE csb.greylist_status - WHEN 0 THEN '未加入' - WHEN 1 THEN '已加入' - ELSE CAST(greylist_status AS CHAR) - END AS greylist_status_cn, - csb.fillin_status, - CASE csb.fillin_status - WHEN 0 THEN '否' - WHEN 1 THEN '是' - ELSE CAST(fillin_status AS CHAR) - END AS fillin_status_cn, - csb.fillin_by, - csb.sap_code, - csb.create_by, - csb.create_time, - csb.update_by, - csb.update_time, - csb.last_update_time - FROM - cosco_supplier_base csb + SELECT csb.id, + csb.dept_id, + csb.supplier_type, + CASE csb.supplier_type + WHEN 'dvs' THEN '境内企业' + WHEN 'ovs' THEN '境外企业' + WHEN 'pe' THEN '个人' + ELSE supplier_type + END AS supplier_type_cn, + CASE + WHEN csb.supplier_type = 'dvs' THEN social_credit_code + WHEN csb.supplier_type = 'ovs' THEN vat + WHEN csb.supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, + csb.licence_accessory, + csb.licence_date, + csb.enterprise_type, + csb.name, + csb.name_en, + csb.social_credit_code, + csb.`range`, + csb.reg_address, + csb.work_address, + csb.parent_company_investor, + csb.legal_person, + csb.id_card, + csb.capital, + csb.contacts_name, + csb.contacts_phone, + csb.contacts_type, + csb.contacts_email, + csb.telephone, + csb.nation, + csb.vat, + csb.taxpayer_id, + csb.currency, + csb.person_name, + csb.person_phone, + csb.person_bank, + csb.person_account, + csb.remark, + csb.access_status, + CASE csb.access_status + WHEN 0 THEN '未准入' + WHEN 1 THEN '已准入' + ELSE CAST(access_status AS CHAR) + END AS access_status_cn, + csb.blacklist_status, + CASE csb.blacklist_status + WHEN 0 THEN '未加入' + WHEN 1 THEN '已加入' + ELSE CAST(blacklist_status AS CHAR) + END AS blacklist_status_cn, + csb.greylist_status, + CASE csb.greylist_status + WHEN 0 THEN '未加入' + WHEN 1 THEN '已加入' + ELSE CAST(greylist_status AS CHAR) + END AS greylist_status_cn, + csb.fillin_status, + CASE csb.fillin_status + WHEN 0 THEN '否' + WHEN 1 THEN '是' + ELSE CAST(fillin_status AS CHAR) + END AS fillin_status_cn, + csb.fillin_by, + csb.sap_code, + csb.create_by, + csb.create_time, + csb.update_by, + csb.update_time, + csb.last_update_time + FROM cosco_supplier_base csb - SELECT - CASE supplier_type - WHEN 'dvs' THEN '境内企业' - WHEN 'ovs' THEN '境外企业' - WHEN 'pe' THEN '个人' - END AS supplier_type_cn, - CASE - WHEN supplier_type = 'dvs' THEN social_credit_code - WHEN supplier_type = 'ovs' THEN vat - WHEN supplier_type = 'pe' THEN id_card - ELSE NULL - END AS unified_code, - csb.supplier_type, - csb.enterprise_type, - csb.id, - cas.access_work_id, - cas.supplier_id as supplierId, - csb.`name`, - csb.name_en, - caw.update_time, - caw.org_id as orgId, - cas.access_status, - CASE cas.access_status - WHEN '0' THEN '未准入' - WHEN '1' THEN '已准入' - WHEN '2' THEN '退出' - END AS access_status_cn - FROM - cosco_access_supplier cas - LEFT JOIN cosco_access_work caw ON cas.access_work_id = caw.id and caw.del_flag = 'normal' - LEFT JOIN cosco_supplier_base csb ON cas.supplier_id = csb.id and csb.del_flag = 'normal' + SELECT CASE supplier_type + WHEN 'dvs' THEN '境内企业' + WHEN 'ovs' THEN '境外企业' + WHEN 'pe' THEN '个人' + END AS supplier_type_cn, + CASE + WHEN supplier_type = 'dvs' THEN social_credit_code + WHEN supplier_type = 'ovs' THEN vat + WHEN supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, + csb.supplier_type, + csb.enterprise_type, + csb.id, + cas.access_work_id, + cas.supplier_id as supplierId, + csb.`name`, + csb.name_en, + caw.update_time, + caw.org_id as orgId, + cas.access_status, + CASE cas.access_status + WHEN '0' THEN '未准入' + WHEN '1' THEN '已准入' + WHEN '2' THEN '退出' + END AS access_status_cn + FROM cosco_access_supplier cas + LEFT JOIN cosco_access_work caw ON cas.access_work_id = caw.id and caw.del_flag = 'normal' + LEFT JOIN cosco_supplier_base csb ON cas.supplier_id = csb.id and csb.del_flag = 'normal' - SELECT - CASE supplier_type - WHEN 'dvs' THEN '境内企业' - WHEN 'ovs' THEN '境外企业' - WHEN 'pe' THEN '个人' - END AS supplier_type_cn, - CASE - WHEN supplier_type = 'dvs' THEN social_credit_code - WHEN supplier_type = 'ovs' THEN vat - WHEN supplier_type = 'pe' THEN id_card - ELSE NULL - END AS unified_code, - csb.supplier_type, - csb.enterprise_type, - csb.id, - cas.access_work_id, - cas.supplier_id, - CASE - WHEN csb.supplier_type = 'ovs' THEN - name_en ELSE name - END AS name, - csb.name_en, - csb.id_card, - csb.capital, - cas.dept_id, - csb.contacts_name, - csb.contacts_phone, - csb.person_name, - csb.person_phone, - csb.person_bank, - csb.person_account, - csb.create_time, - caw.update_time, - csb.create_by, - cas.access_status, - CASE cas.access_status - WHEN '0' THEN '未准入' - WHEN '1' THEN '已准入' - WHEN '2' THEN '退出' - END AS access_status_cn - FROM - cosco_access_supplier cas - LEFT JOIN cosco_access_work caw ON cas.access_work_id = caw.id and caw.del_flag = 'normal' - LEFT JOIN cosco_supplier_base csb ON cas.supplier_id = csb.id and csb.del_flag = 'normal' + SELECT CASE supplier_type + WHEN 'dvs' THEN '境内企业' + WHEN 'ovs' THEN '境外企业' + WHEN 'pe' THEN '个人' + END AS supplier_type_cn, + CASE + WHEN supplier_type = 'dvs' THEN social_credit_code + WHEN supplier_type = 'ovs' THEN vat + WHEN supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, + csb.supplier_type, + csb.enterprise_type, + csb.id, + cas.access_work_id, + cas.supplier_id, + CASE + WHEN csb.supplier_type = 'ovs' THEN + name_en + ELSE name + END AS name, + csb.name_en, + csb.id_card, + csb.capital, + cas.dept_id, + csb.contacts_name, + csb.contacts_phone, + csb.person_name, + csb.person_phone, + csb.person_bank, + csb.person_account, + csb.create_time, + caw.update_time, + csb.create_by, + cas.access_status, + CASE cas.access_status + WHEN '0' THEN '未准入' + WHEN '1' THEN '已准入' + WHEN '2' THEN '退出' + END AS access_status_cn + FROM cosco_access_supplier cas + LEFT JOIN cosco_access_work caw ON cas.access_work_id = caw.id and caw.del_flag = 'normal' + LEFT JOIN cosco_supplier_base csb ON cas.supplier_id = csb.id and csb.del_flag = 'normal' - SELECT - csb.id, - csb.supplier_type, - CASE - WHEN csb.supplier_type = 'dvs' THEN social_credit_code - WHEN csb.supplier_type = 'ovs' THEN vat - WHEN csb.supplier_type = 'pe' THEN id_card - ELSE NULL - END AS unified_code, - csb.name, - csb.name_en - FROM - cosco_supplier_base csb - left join ( - SELECT - cas.supplier_id - FROM - cosco_access_work caw - LEFT JOIN cosco_access_supplier cas ON caw.id = cas.access_work_id - WHERE - ( - caw.approve_status IS NULL - OR caw.approve_status = 0 - OR ( caw.approve_status = 1 AND cas.access_status = 1 ) - ) - AND cas.org_id = #{vo.orgId} - ) b on csb.id = b.supplier_id + SELECT csb.id, + csb.supplier_type, + CASE + WHEN csb.supplier_type = 'dvs' THEN social_credit_code + WHEN csb.supplier_type = 'ovs' THEN vat + WHEN csb.supplier_type = 'pe' THEN id_card + ELSE NULL + END AS unified_code, + csb.name, + csb.name_en + FROM cosco_supplier_base csb + left join (SELECT cas.supplier_id + FROM cosco_access_work caw + LEFT JOIN cosco_access_supplier cas ON caw.id = cas.access_work_id + WHERE ( + caw.approve_status IS NULL + OR caw.approve_status = 0 + OR (caw.approve_status = 1 AND cas.access_status = 1) + ) + AND cas.org_id = #{vo.orgId}) b on csb.id = b.supplier_id - where b.supplier_id is null and csb.del_flag = 'normal' @@ -324,7 +315,9 @@ - and csb.del_flag = 'normal' @@ -435,7 +428,9 @@ - AND caw.apply_type = '0' @@ -452,7 +447,7 @@ and caw.approve_status = #{vo.accessStatus} - and cc.id = #{vo.categoryId} + and cc.id = #{vo.categoryId} and cas.org_id = #{vo.orgId} @@ -495,23 +490,29 @@ - AND caw.apply_type = '0' AND EXISTS ( SELECT 1 FROM cosco_access_supplier_category - WHERE supplier_id = csb.id AND org_id = caw.org_id and category_id = #{vo.categoryId} and del_flag = 'normal' + WHERE supplier_id = csb.id AND org_id = caw.org_id and category_id = #{vo.categoryId} and del_flag = + 'normal' ) - and caw.create_by = #{vo.createBy} + and caw.create_by = #{vo.createBy} and caw.approve_status = #{vo.accessStatus} @@ -561,17 +562,20 @@ - AND caw.apply_type = '0' - and caw.create_by = #{createBy} + and caw.create_by = #{createBy} AND EXISTS ( SELECT 1 FROM cosco_access_supplier_category - WHERE supplier_id = csb.id AND org_id = caw.org_id and category_id = #{categoryId} and del_flag = 'normal' + WHERE supplier_id = csb.id AND org_id = caw.org_id and category_id = #{categoryId} and del_flag = + 'normal' ) @@ -611,7 +615,9 @@ order by csb.create_time desc - AND caw.apply_type = '0' @@ -628,7 +634,7 @@ and caw.approve_status = #{accessStatus} - and cc.id = #{categoryId} + and cc.id = #{categoryId} and cas.org_id = #{orgId} @@ -656,7 +662,9 @@ - and csb.del_flag = 'normal' @@ -705,21 +713,21 @@ - + 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 + FROM cosco_supplier_base where del_flag = 'normal' GROUP BY supplier_type @@ -974,7 +982,8 @@ - + UPDATE cosco_supplier_base SET access_status = #{accessStatus}, @@ -989,8 +998,6 @@ - - update cosco_supplier_base set del_flag = 2 @@ -1007,13 +1014,58 @@ resultType="com.chinaunicom.zyhy.ebtp.supplier.coscosupplier.vo.BaseCategoryNameVo"> select csb.id, csb.name, GROUP_CONCAT(DISTINCT casc.category_name SEPARATOR ', ') AS categoryName from cosco_supplier_base csb - left join cosco_access_supplier_category casc on csb.id = casc.supplier_id and casc.del_flag = 'normal' + left join cosco_access_supplier_category casc on csb.id = casc.supplier_id and casc.del_flag = 'normal' where csb.id = #{id} group by csb.id - + select c.category_name, c.category_path_name + from cosco_access_supplier_category c + where c.supplier_id = #{supplierId} + and c.org_id in (#{orgId}) + and c.del_flag = 'normal' + + + + + diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierexitMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierexitMapper.xml index 84ac783..04a3c92 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierexitMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/supplier/base/dao/mapper/CoscoSupplierexitMapper.xml @@ -241,6 +241,9 @@ and csb.name like concat('%',#{supplierName},'%') + + and cse.org_id = #{vo.orgId} + @@ -278,6 +281,9 @@ and csb.name like concat('%',#{vo.supplierName},'%') + + and cse.org_id = #{vo.orgId} +