From 2d14db7fc72deb94f34de9c58cd62ef09f2796aa Mon Sep 17 00:00:00 2001 From: YY <1272464982@qq.com> Date: Mon, 11 Aug 2025 15:18:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E5=95=86=E5=93=81=E7=B1=BB?= =?UTF-8?q?=E5=BA=93=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/constant/CoscoCategoryConstant.java | 24 ++++--- .../CoscoAnnualreviewTaskServiceImpl.java | 1 + .../vo/CoscoAnnualreviewTaskListVo.java | 6 +- .../entity/CoscoCategoryLibrary.java | 1 + .../impl/CoscoCategoryLibraryServiceImpl.java | 63 ++++++++++++++----- .../vo/CoscoCategoryLibraryVo.java | 26 +++++++- .../impl/CoscoEvaluateTaskServiceImpl.java | 14 +++-- .../CoscoEvaluateTaskSupplierServiceImpl.java | 1 + .../vo/CoscoEvaluateTaskListVo.java | 4 ++ .../coscoEvaluate/vo/SupplierDimensionVo.java | 4 ++ .../supplier/coscoEvaluate/vo/TaskPageVo.java | 4 ++ .../dao/mapper/CoscoBlacklistMapper.xml | 9 +-- .../dao/mapper/CoscoCategoryLibraryMapper.xml | 32 +++++++++- 13 files changed, 150 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoCategoryConstant.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoCategoryConstant.java index ba4c1c9..7e0b32f 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoCategoryConstant.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/base/constant/CoscoCategoryConstant.java @@ -71,13 +71,21 @@ public final class CoscoCategoryConstant { */ public static final Long CATEGORY_LEVEL_TOP = 0L; - /** - * * 类型(0.分类、1.品类) - * */ - public static final Long CATEGORY_TYPE_CATEGORY = 0L; - /** - * * 类型(0.分类、1.品类) - * */ - public static final Long CATEGORY_TYPE_CATEGORY_TYPE = 1L; + /** + * * 类型(0.分类、1.品类) + */ + public static final Long CATEGORY_TYPE_CATEGORY = 0L; + /** + * * 类型(0.分类、1.品类) + */ + public static final Long CATEGORY_TYPE_CATEGORY_TYPE = 1L; + /** + * 类型 library + */ + public static final String CATEGORY_TYPE_LIBRARY = "library"; + /** + * 类型 supplier + */ + public static final String CATEGORY_TYPE_SUPPLIER = "supplier"; } 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 ed11637..0381ec8 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 @@ -357,6 +357,7 @@ public class CoscoAnnualreviewTaskServiceImpl implements ICoscoAnnualreviewTaskS if (deptId != null && orgMap.containsKey(deptId)) { SysOrg org = orgMap.get(deptId); taskVo.setDeptName(org.getOrgName()); // 设置部门名称 + taskVo.setOrgName(org.getCuCompanyName()); } if(taskVo.getCategoryName()==null||taskVo.getCategoryName().length()==0){ taskVo.setCategoryName("未限制品类"); 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 3976ff3..ad35f9c 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 @@ -16,9 +16,13 @@ public class CoscoAnnualreviewTaskListVo implements Serializable { */ private String id; /** - * 发起单位 + * 发起部门 */ private String deptName; + /** + * 发起单位 + */ + private String orgName; /** * 评价主题 */ diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/entity/CoscoCategoryLibrary.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/entity/CoscoCategoryLibrary.java index d9ab73a..77d5149 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/entity/CoscoCategoryLibrary.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/entity/CoscoCategoryLibrary.java @@ -42,6 +42,7 @@ public class CoscoCategoryLibrary extends BaseEntity { * 申请建库部门id */ private String applyDeptId; + private String applyOrgId; /** * 建库方式(online.线上、offline.线下) */ diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/service/impl/CoscoCategoryLibraryServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/service/impl/CoscoCategoryLibraryServiceImpl.java index cc6ed06..538aac4 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/service/impl/CoscoCategoryLibraryServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoCategory/service/impl/CoscoCategoryLibraryServiceImpl.java @@ -11,6 +11,7 @@ import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil; import com.chinaunicom.mall.ebtp.common.util.PropertyUtils; import com.chinaunicom.mall.ebtp.common.workflow.constant.BusinessTypeEnum; import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoCategoryConstant; +import com.chinaunicom.zyhy.ebtp.supplier.base.constant.CoscoType; 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.service.WorkFlowService; @@ -60,6 +61,7 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl getPageList(CoscoCategoryLibraryVo coscoCategoryLibrary) { IPage p = new Page<>(coscoCategoryLibrary.getBasePageRequest().getPageNo(), coscoCategoryLibrary.getBasePageRequest().getPageSize()); + BaseCacheUser currentUser = TokenUtil.getCurrentUser(); + if (coscoCategoryLibrary.getType().equals(CoscoCategoryConstant.CATEGORY_TYPE_LIBRARY)) { + coscoCategoryLibrary.setApplyOrgId(currentUser.getOrganizationId()); + } else if (coscoCategoryLibrary.getType().equals(CoscoCategoryConstant.CATEGORY_TYPE_SUPPLIER)) { + coscoCategoryLibrary.setOrgId(currentUser.getOrganizationId()); + } IPage coscoCategoryLibraryVoIPage = coscoCategoryLibraryMapper.selectLibraryPage(p, coscoCategoryLibrary); getOrg(coscoCategoryLibraryVoIPage); return coscoCategoryLibraryVoIPage; @@ -174,7 +184,6 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl p = new Page<>(coscoCategoryLibrary.getBasePageRequest().getPageNo(), coscoCategoryLibrary.getBasePageRequest().getPageSize()); IPage coscoCategoryLibraryVoIPage = coscoCategoryLibraryMapper.selectCategoryLibraryBySupplierIdPage(p, coscoCategoryLibrary); - getOrg(coscoCategoryLibraryVoIPage); return coscoCategoryLibraryVoIPage; @@ -182,21 +191,45 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl coscoCategoryLibraryVoIPage) { //提取所有 deptId,并用逗号拼接成字符串 - String deptIds = coscoCategoryLibraryVoIPage.getRecords().stream() - .map(CoscoCategoryLibraryVo::getApplyDeptId) - .filter(Objects::nonNull) - .map(Object::toString) - .collect(Collectors.joining(",")); + StringBuilder deptIds = new StringBuilder(); + if (coscoCategoryLibraryVoIPage.getRecords().isEmpty()) { + return; + } + List records = coscoCategoryLibraryVoIPage.getRecords(); + for (CoscoCategoryLibraryVo vo : records) { + if (!StringUtils.isEmpty(deptIds)) { + deptIds.append(","); + } + deptIds.append(vo.getApplyDeptId()); + deptIds.append(","); + deptIds.append(vo.getApplyOrgId()); + deptIds.append(","); + deptIds.append(vo.getOrgId()); + deptIds.append(","); + deptIds.append(vo.getDeptId()); + } Map orgMap = new HashMap<>(); if (!StringUtils.isEmpty(deptIds)) { //构建 deptId -> SysOrg 的映射,方便后续查找 - orgMap = orgService.getOrgDeptInfo(deptIds); + orgMap = orgService.getOrgDeptInfo(deptIds.toString()); } for (CoscoCategoryLibraryVo coscoCategoryLibraryVo : coscoCategoryLibraryVoIPage.getRecords()) { - String applyDeptId = coscoCategoryLibraryVo.getApplyDeptId(); - if (applyDeptId != null && orgMap.containsKey(applyDeptId)) { - SysOrg org = orgMap.get(applyDeptId); - coscoCategoryLibraryVo.setDeptName(org.getOrgName()); // 设置部门名称 + if (coscoCategoryLibraryVo.getApplyDeptId() != null && orgMap.containsKey(coscoCategoryLibraryVo.getApplyDeptId())) { + SysOrg org = orgMap.get(coscoCategoryLibraryVo.getApplyDeptId()); + coscoCategoryLibraryVo.setApplyDeptName(org.getOrgName()); // 创建部门名称 + } + + if (coscoCategoryLibraryVo.getDeptId() != null && orgMap.containsKey(coscoCategoryLibraryVo.getDeptId())) { + SysOrg org = orgMap.get(coscoCategoryLibraryVo.getDeptId()); + coscoCategoryLibraryVo.setDeptName(org.getOrgName()); // 所属部门名称 + } + if (coscoCategoryLibraryVo.getApplyOrgId() != null && orgMap.containsKey(coscoCategoryLibraryVo.getApplyOrgId())) { + SysOrg org = orgMap.get(coscoCategoryLibraryVo.getApplyOrgId()); + coscoCategoryLibraryVo.setApplyOrgName(org.getOrgName()); // 创建单位名称 + } + if (coscoCategoryLibraryVo.getOrgId() != null && orgMap.containsKey(coscoCategoryLibraryVo.getOrgId())) { + SysOrg org = orgMap.get(coscoCategoryLibraryVo.getOrgId()); + coscoCategoryLibraryVo.setOrgName(org.getOrgName()); // 所属单位名称 } SysUser userById = userService.getUserById(coscoCategoryLibraryVo.getCreateBy()); if (userById != null) { @@ -289,8 +322,8 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl userMap = userService.getUser(new SelectUserVo()).stream().collect(Collectors.toMap(UserVo::getUserId, userVo -> userVo)); List blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds); SysOrg orgInfo = orgService.getOrgInfo(addCoscoEvaluateTaskVo.getDeptId()); - List accessWorkList =new ArrayList<>(); - if(orgInfo!=null){ + List accessWorkList = new ArrayList<>(); + if (orgInfo != null) { String orgFullId = orgInfo.getOrgFullId(); String[] split = orgFullId.split(","); - accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); + accessWorkList = coscoAccessWorkMapper.selectAccessWorkBySupplerIdsIdAndOrgId(supplierIds, Arrays.asList(split)); } Map> groupedBySupplier = accessWorkList.stream() .collect(Collectors.groupingBy(OrgNameVo::getSupplierId)); @@ -354,7 +354,8 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { String deptId = vo.getDeptId(); if (deptId != null && orgMap.containsKey(deptId)) { SysOrg org = orgMap.get(deptId); - vo.setTenantName(org.getOrgName());// 设置单位名称 + vo.setTenantName(org.getCuCompanyName());// 设置单位名称 + vo.setDeptName(org.getOrgName()); } if (vo.getDeptId() != null) { vo.setIsEditor(vo.getDeptId().equals(taskListVo.getDeptId()) ? "1" : "0"); //1表示可修改 0不可修改 @@ -393,6 +394,7 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { if (deptId != null && orgMap.containsKey(deptId)) { SysOrg org = orgMap.get(deptId); supplierBase.setDeptName(org.getOrgName()); // 设置部门名称 + supplierBase.setOrgName(org.getCuCompanyName()); } } } @@ -417,8 +419,8 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService { //业务类型(枚举) String key = BusinessTypeEnum.EVALUATION_APPROVAL.getKey(); //调用流程并保存流程发起记录 - WorkflowCreateVo workflowCreateVo = workFlowService.create(key,addCoscoEvaluateTaskVo.getId(), - currentUser.getUserId(),currentUser.getOrganizationId(),new AddCoscoEvaluateTaskVo()); + WorkflowCreateVo workflowCreateVo = workFlowService.create(key, addCoscoEvaluateTaskVo.getId(), + currentUser.getUserId(), currentUser.getOrganizationId(), new AddCoscoEvaluateTaskVo()); addCoscoEvaluateTaskVo.setApproveStatus(workflowCreateVo.getApproveStatus()); addCoscoEvaluateTaskVo.setUpdateTime(new Date()); addCoscoEvaluateTaskVo.setStatus(null); diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java index afa2b77..762d8e7 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/service/impl/CoscoEvaluateTaskSupplierServiceImpl.java @@ -151,6 +151,7 @@ public class CoscoEvaluateTaskSupplierServiceImpl implements ICoscoEvaluateTaskS if (deptId != null && orgMap.containsKey(deptId)) { SysOrg org = orgMap.get(deptId); dimensionVo.setDeptName(org.getOrgName()); // 设置部门名称 + dimensionVo.setOrgName(org.getCuCompanyName()); } UserVo userVo = map.get(dimensionVo.getUserId()); if(userVo!=null){ 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 298f88c..85da73b 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 @@ -27,6 +27,10 @@ public class CoscoEvaluateTaskListVo implements Serializable { * 发起单位 */ private String tenantName; + /** + * 部门名称 + */ + private String deptName; private String deptId; diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/SupplierDimensionVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/SupplierDimensionVo.java index b104000..3d2998d 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/SupplierDimensionVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/SupplierDimensionVo.java @@ -94,6 +94,10 @@ public class SupplierDimensionVo implements Serializable { private String categoryName; private String categoryId; + /** + * 单位名称 + */ + private String orgName; @ApiModelProperty(value = "分页对象信息") diff --git a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/TaskPageVo.java b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/TaskPageVo.java index b76db03..8d5502c 100644 --- a/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/TaskPageVo.java +++ b/src/main/java/com/chinaunicom/zyhy/ebtp/supplier/coscoEvaluate/vo/TaskPageVo.java @@ -75,6 +75,10 @@ public class TaskPageVo implements Serializable { private String categoryPathName; private String workFlowId; + /** + * 单位名称 + */ + private String orgName; @ApiModelProperty(value = "分页对象信息") private BasePageRequest basePageRequest; diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoBlack/dao/mapper/CoscoBlacklistMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoBlack/dao/mapper/CoscoBlacklistMapper.xml index 4eb8196..898e186 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoBlack/dao/mapper/CoscoBlacklistMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoBlack/dao/mapper/CoscoBlacklistMapper.xml @@ -217,17 +217,11 @@ diff --git a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoCategory/dao/mapper/CoscoCategoryLibraryMapper.xml b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoCategory/dao/mapper/CoscoCategoryLibraryMapper.xml index ecf25f0..2b50307 100644 --- a/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoCategory/dao/mapper/CoscoCategoryLibraryMapper.xml +++ b/src/main/resources/com/chinaunicom/zyhy/ebtp/coscoCategory/dao/mapper/CoscoCategoryLibraryMapper.xml @@ -105,6 +105,7 @@ approve_type, apply_dept_id, org_id, + apply_org_id, #{id}, @@ -123,6 +124,7 @@ #{approveType}, #{applyDeptId}, #{orgId}, + #{applyOrgId}, @@ -183,6 +185,7 @@ approve_type=#{approveType}, apply_dept_id=#{applyDeptId}, + apply_org_id=#{applyOrgId}, where id = #{id} @@ -229,8 +232,10 @@ ccl.work_flow_id as workFlowId, ccl.create_by, ccl.apply_dept_id, + ccl.apply_org_id, ccl.term_of_validity AS termOfValidity, ccl.dept_id, + ccl.org_id, ccl.approve_status AS approveStatus, ccl.last_update_time as approveTime, ccl.create_time, @@ -263,9 +268,19 @@ AND ccl.create_time between #{vo.startTime} and #{vo.endTime} - + + AND ccl.apply_dept_id = #{vo.applyDeptId} + + + AND ccl.dept_id = #{vo.deptId} + + + AND ccl.apply_org_id = #{vo.applyOrgId} + + AND ccl.org_id = #{vo.orgId} + GROUP BY ccl.id @@ -291,7 +306,10 @@ ccl.approve_status AS approveStatus, ccl.last_update_time as approveTime, ccl.create_by, + ccl.dept_id, + ccl.org_id, ccl.apply_dept_id, + ccl.apply_org_id, ccl.remark from cosco_category_library_supplier ccls left join cosco_category_library_supplier_apply cclsa on cclsa.id = ccls.category_library_supplier_apply_id @@ -304,6 +322,18 @@ AND ccl.name LIKE CONCAT('%',#{vo.name},'%') + + AND ccl.apply_dept_id = #{vo.applyDeptId} + + + AND ccl.dept_id = #{vo.deptId} + + + AND ccl.apply_org_id = #{vo.applyOrgId} + + + AND ccl.org_id = #{vo.orgId} + group by ccl.id