优化以及地市

This commit is contained in:
TL
2025-07-08 08:30:03 +08:00
parent 476b00e791
commit a326d30372
6 changed files with 78 additions and 23 deletions

View File

@ -36,11 +36,14 @@ public class CoscoType {
public static final String APPLY_TYPE_PLZR = "1";
//准入方式(online.线上准入、offline.线下准入)
//准入方式(online.线上准入、offline.线下准入、scattered.零星采购/应急采购)
public static final String ACCESS_TYPE_ONLINE = "online";
public static final String ACCESS_TYPE_OFFLINE = "offline";
public static final String ACCESS_TYPE_SCATTERED = "scattered";
//评审状态(0.未开始、1.进行中、2.结果汇总中、3.已完成)
@ -69,6 +72,8 @@ public class CoscoType {
public static final String SUPPLIER_TYPE_OVS = "ovs";
public static final String SUPPLIER_TYPE_PE = "pe";
//表名
public static final String COSCO_SUPPLIER_BASE = "cosco_supplier_base";

View File

@ -32,4 +32,15 @@ public class AdmissionDetailsVo extends CoscoBaseEntity {
//加入黑名单时间
private String blackTime;
//开始时间
private String endTime;
//结束时间
private String startTime;
//品类id
private String categoryId;
}

View File

@ -251,6 +251,17 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
coscoAccessWorkAttachmentsMapper.insertCoscoAccessWorkAttachments(coscoAccessWorkAttachments);
}
//如果是零星采购/应急采购,不需要走任何流程直接审核通过
if(CoscoType.ACCESS_TYPE_SCATTERED.equals(coscoAccessWork.getAccessType())){
//如果是零星采购/应急采购、评审状态直接为完成
coscoAccessWork.setReviewStatus(CoscoType.REVIEW_STATUS_YWC);
//如果是零星采购/应急采购、审批状态直接为通过
coscoAccessWork.setApproveStatus(CoscoType.ACCESS_STATUS_TC);
}
//保存工作主表
coscoAccessWork.setApplyType(CoscoType.APPLY_TYPE_GYSZR);
coscoAccessWork.setCreateBy("1");
@ -382,6 +393,12 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
return leaderId;
}
/**
* 供应商关联工作主表新增
* @param vo
* @param workId
* @param coscoAccessWork
*/
private void addSupplierIds(CoscoAccessWorkVo vo, String workId, CoscoAccessWork coscoAccessWork) {
//供应商集合
List<CoscoAccessSupplier> coscoAccessSupplierList = new ArrayList<>();
@ -389,7 +406,12 @@ public class CoscoAccessWorkServiceImpl implements ICoscoAccessWorkService {
CoscoAccessSupplier coscoAccessSupplier = new CoscoAccessSupplier();
coscoAccessSupplier.setId(CoscoIdUtil.getId());
coscoAccessSupplier.setDeptId(coscoAccessWork.getDeptId());
//如果是零星采购/应急采购准入直接改为已准入,否则线上准入和线下准入为未准入,未准入需要走审批流程
if(CoscoType.ACCESS_TYPE_SCATTERED.equals(coscoAccessWork.getAccessType())){
coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_YZR);
}else{
coscoAccessSupplier.setAccessStatus(CoscoType.ACCESS_STATUS_WZR);
}
coscoAccessSupplier.setAccessWorkId(workId);
coscoAccessSupplier.setSupplierId(supplierId);
coscoAccessSupplierList.add(coscoAccessSupplier);

View File

@ -405,16 +405,21 @@ public class CoscoSupplierBaseServiceImpl implements ICoscoSupplierBaseService {
CoscoSupplierBase coscoSupplierBase = vo.getCoscoSupplierBase();
CoscoSupplierBase oldCoscoSupplierBase = coscoSupplierBaseMapper.selectCoscoSupplierBaseById(coscoSupplierBase.getId());
//如果修改基础信息为个人供应商,不走变更逻辑,随便改
if(!CoscoType.SUPPLIER_TYPE_PE.equals(oldCoscoSupplierBase.getSupplierType())){
if(CoscoType.ACCESS_STATUS_YZR.equals(oldCoscoSupplierBase.getAccessStatus())){//已准入的供应商才会走下面变更的逻辑
boolean nameBlean = baseDiff(oldCoscoSupplierBase.getName(),coscoSupplierBase.getName()); //企业名称
boolean mameEnBlean = baseDiff(oldCoscoSupplierBase.getNameEn(),coscoSupplierBase.getNameEn()); //企业英文名称
boolean rangBlean = baseDiff(oldCoscoSupplierBase.getRange(),coscoSupplierBase.getRange()); //经营范围
//如果是境内供应商且需要变更名称或经营范围,或者是境外供应商且需要变更英文名称或经营范围,则插入变更申请
boolean needsChange = isSupplierNeedsChange(oldCoscoSupplierBase, nameBlean, mameEnBlean, rangBlean);
if (needsChange) {
return insertCoscoSupplierChangeApply(coscoSupplierBase, oldCoscoSupplierBase, vo);
}
}
}
//修改基本信息
coscoSupplierBase.setUpdateBy("1");
coscoSupplierBase.setUpdateTime(date);

View File

@ -52,12 +52,29 @@
LEFT JOIN cosco_supplierexit cse ON cse.id = cas.supplierexit_id
LEFT JOIN cosco_access_work caw ON caw.id = cas.access_work_id
left join (
select cac.access_work_id,GROUP_CONCAT(DISTINCT cc.category_name SEPARATOR ', ') AS categoryNames from cosco_access_supplier_category cac
left join cosco_category cc on cac.category_id = cc.id
GROUP BY access_work_id
SELECT
cac.access_work_id,
GROUP_CONCAT(cc.id SEPARATOR ', ') AS categoryId,
GROUP_CONCAT(cc.category_name SEPARATOR ', ') AS categoryNames
FROM cosco_access_supplier_category cac
INNER JOIN cosco_category cc ON cac.category_id = cc.id
GROUP BY cac.access_work_id
) as c on c.access_work_id = caw.id
WHERE
cas.supplier_id = #{vo.supplierId}
<if test="vo.categoryNames != null and vo.categoryNames != ''">
and c.categoryNames like concat('%', #{vo.categoryNames}, '%')
</if>
<if test="vo.categoryId != null and vo.categoryId != ''">
and c.categoryId like concat('%', #{vo.categoryId}, '%')
</if>
<if test="vo.startTime!=null and vo.startTime != ''">
and caw.update_time &gt;= #{vo.startTime}
</if>
<if test="vo.endTime!=null and vo.endTime != ''">
and caw.update_time &lt;= #{vo.endTime}
</if>
AND cas.access_status IN (1,2)
ORDER BY caw.update_time desc
</select>

View File

@ -157,9 +157,12 @@
LEFT JOIN cosco_access_work caw ON cas.access_work_id = caw.id
LEFT JOIN cosco_supplier_base csb ON cas.supplier_id = csb.id
left join (
select cac.access_work_id,GROUP_CONCAT(DISTINCT cc.category_name SEPARATOR ', ') AS categoryName from cosco_access_supplier_category cac
left join cosco_category cc on cac.category_id = cc.id
GROUP BY access_work_id
SELECT
cac.access_work_id,
GROUP_CONCAT(cc.category_name SEPARATOR ', ') AS categoryName
FROM cosco_access_category cac
INNER JOIN cosco_category cc ON cac.category_id = cc.id
GROUP BY cac.access_work_id
) as c on c.access_work_id = caw.id
left join dict_project dp on csb.enterprise_type = dp.`code` and dp.parent_code = 'enterprise_type'
</sql>
@ -449,14 +452,6 @@
and csb.last_update_time = #{vo.lastUpdateTime}
</if>
</where>
GROUP BY
cas.id,
cas.access_work_id,
cas.supplier_id,
csb.`name`,
caw.update_time ,
csb.enterprise_type,
dp.dic_name
order by csb.create_time desc
</select>