Merge remote-tracking branch '99/dev' into 99dev

This commit is contained in:
TL
2025-08-11 15:19:36 +08:00
13 changed files with 150 additions and 39 deletions

View File

@ -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";
}

View File

@ -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("未限制品类");

View File

@ -16,9 +16,13 @@ public class CoscoAnnualreviewTaskListVo implements Serializable {
*/
private String id;
/**
* 发起单位
* 发起部门
*/
private String deptName;
/**
* 发起单位
*/
private String orgName;
/**
* 评价主题
*/

View File

@ -42,6 +42,7 @@ public class CoscoCategoryLibrary extends BaseEntity {
* 申请建库部门id
*/
private String applyDeptId;
private String applyOrgId;
/**
* 建库方式(online.线上、offline.线下)
*/

View File

@ -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<CoscoCatego
private IOrgService orgService;
@Autowired
private WorkFlowService workFlowService;
/**
* 查询品类库_品类库
*
@ -95,9 +97,11 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
BaseCacheUser currentUser = TokenUtil.getCurrentUser();
coscoCategoryLibrary.setCreateTime(LocalDateTime.now());
coscoCategoryLibrary.setCreateBy(currentUser.getUserId());
coscoCategoryLibrary.setOrgId(currentUser.getOrganizationId());
SysOrg orgInfo = orgService.getOrgInfo(coscoCategoryLibrary.getDeptId());
coscoCategoryLibrary.setOrgId(orgInfo.getCuCompanyNumber());
coscoCategoryLibrary.setDelFlag(CoscoCategoryConstant.DELETE_FLAG_YES);
coscoCategoryLibrary.setApplyDeptId(currentUser.getOrganizationId());
coscoCategoryLibrary.setApplyDeptId(currentUser.getDeptId());
coscoCategoryLibrary.setApplyOrgId(currentUser.getOrganizationId());
coscoCategoryLibrary.setId(PropertyUtils.getSnowflakeId());
if (coscoCategoryLibrary.getApproveType().equals(CoscoCategoryConstant.BUILD_TYPE_OFFLINE)) {
coscoCategoryLibrary.setApproveStatus(CoscoCategoryConstant.APPROVE_STATUS_PASS);
@ -156,6 +160,12 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
public IPage<CoscoCategoryLibraryVo> getPageList(CoscoCategoryLibraryVo coscoCategoryLibrary) {
IPage<CoscoCategoryLibraryVo> 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<CoscoCategoryLibraryVo> coscoCategoryLibraryVoIPage = coscoCategoryLibraryMapper.selectLibraryPage(p, coscoCategoryLibrary);
getOrg(coscoCategoryLibraryVoIPage);
return coscoCategoryLibraryVoIPage;
@ -174,7 +184,6 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
IPage<CoscoCategoryLibraryVo> p = new Page<>(coscoCategoryLibrary.getBasePageRequest().getPageNo(),
coscoCategoryLibrary.getBasePageRequest().getPageSize());
IPage<CoscoCategoryLibraryVo> coscoCategoryLibraryVoIPage = coscoCategoryLibraryMapper.selectCategoryLibraryBySupplierIdPage(p, coscoCategoryLibrary);
getOrg(coscoCategoryLibraryVoIPage);
return coscoCategoryLibraryVoIPage;
@ -182,21 +191,45 @@ public class CoscoCategoryLibraryServiceImpl extends BaseServiceImpl<CoscoCatego
private void getOrg(IPage<CoscoCategoryLibraryVo> 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<CoscoCategoryLibraryVo> 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<String, SysOrg> 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<CoscoCatego
//业务类型(枚举)
String key = BusinessTypeEnum.CATEGORY_LIBRARY_APPROVAL.getKey();
//调用流程并保存流程发起记录
WorkflowCreateVo workflowCreateVo = workFlowService.create(key,coscoCategoryLibrary.getId(),
currentUser.getUserId(),currentUser.getOrganizationId(),coscoCategoryLibrary);
WorkflowCreateVo workflowCreateVo = workFlowService.create(key, coscoCategoryLibrary.getId(),
currentUser.getUserId(), currentUser.getOrganizationId(), coscoCategoryLibrary);
coscoCategoryLibrary.setApproveStatus(workflowCreateVo.getApproveStatus());
coscoCategoryLibrary.setWorkFlowId(workflowCreateVo.getProcessInstanceId());
coscoCategoryLibrary.setLastUpdateTime(LocalDateTime.now());

View File

@ -30,7 +30,11 @@ public class CoscoCategoryLibraryVo implements Serializable {
*/
private String deptId;
/**
* 创建单位
* 创建部门
*/
private String applyDeptName;
/**
* 所属部门名称
*/
private String deptName;
/**
@ -87,8 +91,22 @@ public class CoscoCategoryLibraryVo implements Serializable {
* 申请建库部门id
*/
private String applyDeptId;
/**
* 申请建库部门id
*/
private String applyOrgId;
/**
* 申请建库部门公司
*/
private String applyOrgName;
/**
* 所属部门公司id
*/
private String orgId;
/**
* 所属部门公司名称
*/
private String orgName;
/**
* 品类库名称
*/
@ -99,4 +117,8 @@ public class CoscoCategoryLibraryVo implements Serializable {
private String categoryPathName;
private String workFlowId;
/**
* 类型 supplier,library
*/
private String type ="library";
}

View File

@ -156,11 +156,11 @@ public class CoscoEvaluateTaskServiceImpl implements ICoscoEvaluateTaskService {
Map<String, UserVo> userMap = userService.getUser(new SelectUserVo()).stream().collect(Collectors.toMap(UserVo::getUserId, userVo -> userVo));
List<BlackSupplierVo> blackSupplierVos = coscoSupplierBaseMapper.selectSupplierByIds(supplierIds);
SysOrg orgInfo = orgService.getOrgInfo(addCoscoEvaluateTaskVo.getDeptId());
List<OrgNameVo> accessWorkList =new ArrayList<>();
if(orgInfo!=null){
List<OrgNameVo> 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<String, List<OrgNameVo>> 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);

View File

@ -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){

View File

@ -27,6 +27,10 @@ public class CoscoEvaluateTaskListVo implements Serializable {
* 发起单位
*/
private String tenantName;
/**
* 部门名称
*/
private String deptName;
private String deptId;

View File

@ -94,6 +94,10 @@ public class SupplierDimensionVo implements Serializable {
private String categoryName;
private String categoryId;
/**
* 单位名称
*/
private String orgName;
@ApiModelProperty(value = "分页对象信息")

View File

@ -75,6 +75,10 @@ public class TaskPageVo implements Serializable {
private String categoryPathName;
private String workFlowId;
/**
* 单位名称
*/
private String orgName;
@ApiModelProperty(value = "分页对象信息")
private BasePageRequest basePageRequest;

View File

@ -217,17 +217,11 @@
<select id="selectPage" resultType="com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackListVo"
parameterType="com.chinaunicom.zyhy.ebtp.supplier.coscoBlack.vo.BlackListVo">
SELECT cb.id,
'发起部门' AS deptName,
'发起单位' as unitName,
cb.create_time as createTime,
cb.dept_id AS deptId,
cb.org_id as orgId,
cb.approve_status as approveStatus,
cb.restore_approve_status as restoreApproveStatus,
case
when cb.approve_status is null then '未开始'
when cb.approve_status = 0 then '进行中'
else '已结束' end as approveStatusName,
concat((select csb.name
from cosco_blacklist_supplier cbs
join cosco_supplier_base csb on cbs.supplier_id = csb.id
@ -241,6 +235,9 @@
<if test="vo.orgId!=null">
and cb.org_id = #{vo.orgId}
</if>
<if test="vo.approveStatus!=null">
and cb.approve_status = #{vo.approveStatus}
</if>
order by cb.create_time desc
</select>

View File

@ -105,6 +105,7 @@
<if test="approveType != null">approve_type,</if>
<if test="applyDeptId != null">apply_dept_id,</if>
<if test="orgId != null">org_id,</if>
<if test="applyOrgId != null">apply_org_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@ -123,6 +124,7 @@
<if test="approveType != null">#{approveType},</if>
<if test="applyDeptId != null">#{applyDeptId},</if>
<if test="orgId != null">#{orgId},</if>
<if test="applyOrgId != null">#{applyOrgId},</if>
</trim>
</insert>
@ -183,6 +185,7 @@
</if>
<if test="approveType != null">approve_type=#{approveType},</if>
<if test="applyDeptId != null">apply_dept_id=#{applyDeptId},</if>
<if test="applyOrgId != null">apply_org_id=#{applyOrgId},</if>
</trim>
where id = #{id}
</update>
@ -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 @@
<if test="vo.startTime!=null and vo.endTime!=null">
AND ccl.create_time between #{vo.startTime} and #{vo.endTime}
</if>
<if test="vo.orgId!=null and vo.orgId!=null">
<if test="vo.applyDeptId!=null and vo.applyDeptId!=''">
AND ccl.apply_dept_id = #{vo.applyDeptId}
</if>
<if test="vo.deptId!=null and vo.deptId!=''">
AND ccl.dept_id = #{vo.deptId}
</if>
<if test="vo.applyOrgId!=null and vo.applyOrgId!=''">
AND ccl.apply_org_id = #{vo.applyOrgId}
</if>
<if test="vo.orgId!=null and vo.orgId!=''">
AND ccl.org_id = #{vo.orgId}
</if>
</where>
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 @@
<if test="vo.name!=null and vo.name!=''">
AND ccl.name LIKE CONCAT('%',#{vo.name},'%')
</if>
<if test="vo.applyDeptId!=null and vo.applyDeptId!=''">
AND ccl.apply_dept_id = #{vo.applyDeptId}
</if>
<if test="vo.deptId!=null and vo.deptId!=''">
AND ccl.dept_id = #{vo.deptId}
</if>
<if test="vo.applyOrgId!=null and vo.applyOrgId!=''">
AND ccl.apply_org_id = #{vo.applyOrgId}
</if>
<if test="vo.orgId!=null and vo.orgId!=''">
AND ccl.org_id = #{vo.orgId}
</if>
group by ccl.id
</select>