|
|
|
@ -5,9 +5,11 @@ import cn.hutool.core.util.StrUtil;
|
|
|
|
|
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.service.impl.BaseServiceImpl;
|
|
|
|
|
import com.chinaunicom.mall.ebtp.common.base.util.TokenUtil;
|
|
|
|
|
import com.chinaunicom.mall.ebtp.common.util.PropertyUtils;
|
|
|
|
|
import com.chinaunicom.zyhy.ebtp.supplier.base.service.IOrgService;
|
|
|
|
|
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;
|
|
|
|
@ -44,27 +46,18 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
private CoscoSupplierQualificationsMapper coscoSupplierQualificationsMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoSupplierInvoiceMapper coscoSupplierInvoiceMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoSupplierBankMapper coscoSupplierBankMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoSupplierSurveyMapper coscoSupplierSurveyMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoSupplierSurveyQuestionReplyMapper coscoSupplierSurveyQuestionReplyMapper;
|
|
|
|
|
|
|
|
|
@ -73,8 +66,6 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
private CoscoSupplierSurveyAttachmentsMapper coscoSupplierSurveyAttachmentsMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoSupplierChangeHistoryMapper coscoSupplierChangeHistoryMapper;
|
|
|
|
|
|
|
|
|
@ -90,11 +81,13 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private CoscoCategoryLibraryContainMapper coscoCategoryLibraryContainMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IOrgService orgService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 未准入的供应商分页列表查询
|
|
|
|
|
*
|
|
|
|
|
* @param coscoSupplierBase
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
@ -109,30 +102,31 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
deptIds.add("222");
|
|
|
|
|
coscoSupplierBase.setDeptIdList(deptIds);
|
|
|
|
|
//查询当前登录人的部门本级、上级、下级,以外的供应商数据
|
|
|
|
|
return coscoSupplierBaseMapper.selectWzrPageList(page,coscoSupplierBase);
|
|
|
|
|
return coscoSupplierBaseMapper.selectWzrPageList(page, coscoSupplierBase);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<CoscoSupplierBase> getPage(CoscoSupplierBase coscoSupplierBase) {
|
|
|
|
|
IPage<CoscoSupplierBase> page = new Page<>(coscoSupplierBase.getPageNo(), coscoSupplierBase.getPageSize());
|
|
|
|
|
return coscoSupplierBaseMapper.selectPageList(page, coscoSupplierBase);
|
|
|
|
|
return coscoSupplierBaseMapper.selectPageList(page, coscoSupplierBase);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<CoscoSupplierBase> getMySupplierBasePage(CoscoSupplierBase coscoSupplierBase) {
|
|
|
|
|
IPage<CoscoSupplierBase> page = new Page<>(coscoSupplierBase.getPageNo(), coscoSupplierBase.getPageSize());
|
|
|
|
|
return coscoSupplierBaseMapper.getMySupplierBasePage(page, coscoSupplierBase);
|
|
|
|
|
return coscoSupplierBaseMapper.getMySupplierBasePage(page, coscoSupplierBase);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 供应商准入明细
|
|
|
|
|
*
|
|
|
|
|
* @param vo
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<AdmissionDetailsVo> getZrCategoryPage(AdmissionDetailsVo vo) {
|
|
|
|
|
IPage<AdmissionDetailsVo> page = new Page<>(vo.getPageNo(), vo.getPageSize());
|
|
|
|
|
return coscoAccessSupplierCategoryMapper.selectPageList(page, vo);
|
|
|
|
|
return coscoAccessSupplierCategoryMapper.selectPageList(page, vo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -161,7 +155,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
coscoSupplierInvoice.setSupplierId(id);
|
|
|
|
|
List<CoscoSupplierInvoice> coscoSupplierInvoiceList = coscoSupplierInvoiceMapper.selectCoscoSupplierInvoiceList(coscoSupplierInvoice);
|
|
|
|
|
|
|
|
|
|
if(!CollectionUtils.isEmpty(coscoSupplierInvoiceList)){
|
|
|
|
|
if (!CollectionUtils.isEmpty(coscoSupplierInvoiceList)) {
|
|
|
|
|
vo.setCoscoSupplierInvoice(coscoSupplierInvoiceList.get(0));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -208,7 +202,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public Integer insertCoscoSupplierBase(CoscoSupplierVo vo,String userId) {
|
|
|
|
|
public Integer insertCoscoSupplierBase(CoscoSupplierVo vo, String userId) {
|
|
|
|
|
String supplierId = PropertyUtils.getSnowflakeId();//供应商id
|
|
|
|
|
Date date = new Date();
|
|
|
|
|
//资质信息集合
|
|
|
|
@ -222,7 +216,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
|
|
|
|
|
//资质信息添加到集合
|
|
|
|
|
if (!CollectionUtils.isEmpty(vo.getCoscoSupplierQualifications())) {
|
|
|
|
|
for(CoscoSupplierQualifications coscoSupplierQualifications : vo.getCoscoSupplierQualifications()){
|
|
|
|
|
for (CoscoSupplierQualifications coscoSupplierQualifications : vo.getCoscoSupplierQualifications()) {
|
|
|
|
|
coscoSupplierQualifications.setSupplierId(supplierId);
|
|
|
|
|
coscoSupplierQualifications.setId(PropertyUtils.getSnowflakeId());
|
|
|
|
|
coscoSupplierQualifications.setCreateBy(userId);
|
|
|
|
@ -249,7 +243,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
}
|
|
|
|
|
//银行信息添加到集合
|
|
|
|
|
if (!CollectionUtils.isEmpty(vo.getCoscoSupplierBank())) {
|
|
|
|
|
for(CoscoSupplierBank coscoSupplierBank : vo.getCoscoSupplierBank()){
|
|
|
|
|
for (CoscoSupplierBank coscoSupplierBank : vo.getCoscoSupplierBank()) {
|
|
|
|
|
coscoSupplierBank.setSupplierId(supplierId);
|
|
|
|
|
coscoSupplierBank.setId(PropertyUtils.getSnowflakeId());
|
|
|
|
|
coscoSupplierBank.setCreateBy(userId);
|
|
|
|
@ -277,7 +271,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
|
|
|
|
|
//问题回复添加到集合
|
|
|
|
|
if (!CollectionUtils.isEmpty(vo.getCoscoSupplierSurveyQuestionReply())) {
|
|
|
|
|
for(CoscoSupplierSurveyQuestionReply coscoSupplierSurveyQuestionReply : vo.getCoscoSupplierSurveyQuestionReply()){
|
|
|
|
|
for (CoscoSupplierSurveyQuestionReply coscoSupplierSurveyQuestionReply : vo.getCoscoSupplierSurveyQuestionReply()) {
|
|
|
|
|
coscoSupplierSurveyQuestionReply.setSupplierId(supplierId);
|
|
|
|
|
coscoSupplierSurveyQuestionReply.setId(PropertyUtils.getSnowflakeId());
|
|
|
|
|
coscoSupplierSurveyQuestionReply.setCreateBy(userId);
|
|
|
|
@ -292,7 +286,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
}
|
|
|
|
|
//承诺书/其他附件添加到集合
|
|
|
|
|
if (!CollectionUtils.isEmpty(vo.getCoscoSupplierSurveyAttachments())) {
|
|
|
|
|
for(CoscoSupplierSurveyAttachments coscoSupplierSurveyAttachments : vo.getCoscoSupplierSurveyAttachments()){
|
|
|
|
|
for (CoscoSupplierSurveyAttachments coscoSupplierSurveyAttachments : vo.getCoscoSupplierSurveyAttachments()) {
|
|
|
|
|
coscoSupplierSurveyAttachments.setSupplierId(supplierId);
|
|
|
|
|
coscoSupplierSurveyAttachments.setId(PropertyUtils.getSnowflakeId());
|
|
|
|
|
coscoSupplierSurveyAttachments.setCreateBy(userId);
|
|
|
|
@ -334,7 +328,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
CoscoSupplierChangeApply changeApply = new CoscoSupplierChangeApply();
|
|
|
|
|
|
|
|
|
|
//审批通过
|
|
|
|
|
if(CoscoType.APPROVE_STATUS_TG.equals(coscoSupplierChangeApply.getApproveStatus())){
|
|
|
|
|
if (CoscoType.APPROVE_STATUS_TG.equals(coscoSupplierChangeApply.getApproveStatus())) {
|
|
|
|
|
|
|
|
|
|
//新基本信息
|
|
|
|
|
CoscoSupplierChangeBase newCoscoSupplierBase = coscoSupplierChangeBaseMapper.selectBySupplierChangeApplyId(appid);
|
|
|
|
@ -342,7 +336,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
//老基本信息
|
|
|
|
|
CoscoSupplierBase coscoSupplierBase = coscoSupplierBaseMapper.selectCoscoSupplierBaseById(coscoSupplierChangeApply.getSupplierId());
|
|
|
|
|
String supplierId = coscoSupplierBase.getId();
|
|
|
|
|
BeanUtil.copyProperties(newCoscoSupplierBase,coscoSupplierBase);
|
|
|
|
|
BeanUtil.copyProperties(newCoscoSupplierBase, coscoSupplierBase);
|
|
|
|
|
coscoSupplierBase.setId(supplierId);
|
|
|
|
|
coscoSupplierBase.setUpdateTime(date);
|
|
|
|
|
coscoSupplierBase.setLastUpdateTime(date);
|
|
|
|
@ -396,15 +390,24 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<SupplierPageVo> getSupplierPage(SupplierPageVo supplierPageVo) {
|
|
|
|
|
if(supplierPageVo.getCategoryLibraryId()!=null){
|
|
|
|
|
List<String> supplierIds=coscoCategoryLibraryContainMapper.selectSupplierIdByLibraryId(supplierPageVo.getCategoryLibraryId());
|
|
|
|
|
if(supplierIds.isEmpty()){
|
|
|
|
|
if (supplierPageVo.getCategoryLibraryId() != null) {
|
|
|
|
|
List<String> supplierIds = coscoCategoryLibraryContainMapper.selectSupplierIdByLibraryId(supplierPageVo.getCategoryLibraryId());
|
|
|
|
|
if (supplierIds.isEmpty()) {
|
|
|
|
|
return new Page<>();
|
|
|
|
|
}
|
|
|
|
|
supplierPageVo.setLibrarySupplierIdList(supplierIds);
|
|
|
|
|
}
|
|
|
|
|
IPage<CoscoSupplierBase> page = new Page<>(supplierPageVo.getBasePageRequest().getPageNo(), supplierPageVo.getBasePageRequest().getPageSize());
|
|
|
|
|
return coscoSupplierBaseMapper.getSupplierPage(page ,supplierPageVo);
|
|
|
|
|
IPage<SupplierPageVo> supplierPage = coscoSupplierBaseMapper.getSupplierPage(page, supplierPageVo);
|
|
|
|
|
supplierPage.getRecords().forEach(vo -> {
|
|
|
|
|
|
|
|
|
|
SysOrg orgInfo = orgService.getOrgInfo(vo.getDeptId());
|
|
|
|
|
if (orgInfo != null) {
|
|
|
|
|
vo.setDeptName(orgInfo.getOrgName());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
return supplierPage;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -425,11 +428,11 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
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()); //经营范围
|
|
|
|
|
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) {
|
|
|
|
@ -466,7 +469,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
*
|
|
|
|
|
* @return 结果
|
|
|
|
|
*/
|
|
|
|
|
public Integer insertCoscoSupplierChangeApply(CoscoSupplierBase newCoscoSupplierBase,CoscoSupplierBase oldCoscoSupplierBase,CoscoSupplierVo vo) {
|
|
|
|
|
public Integer insertCoscoSupplierChangeApply(CoscoSupplierBase newCoscoSupplierBase, CoscoSupplierBase oldCoscoSupplierBase, CoscoSupplierVo vo) {
|
|
|
|
|
Date date = CoscoDateUtils.getNowDate();
|
|
|
|
|
String applyId = PropertyUtils.getSnowflakeId();
|
|
|
|
|
BaseCacheUser currentUser = TokenUtil.getCurrentUser();
|
|
|
|
@ -487,23 +490,22 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
coscoSupplierChangeApply.setLastUpdateTime(date);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新增变更后基本信息
|
|
|
|
|
CoscoSupplierChangeBase coscoSupplierChangeBase = new CoscoSupplierChangeBase();
|
|
|
|
|
BeanUtil.copyProperties(newCoscoSupplierBase,coscoSupplierChangeBase);
|
|
|
|
|
BeanUtil.copyProperties(newCoscoSupplierBase, coscoSupplierChangeBase);
|
|
|
|
|
String changeSupplierId = PropertyUtils.getSnowflakeId();
|
|
|
|
|
coscoSupplierChangeBase.setId(changeSupplierId);
|
|
|
|
|
coscoSupplierChangeBase.setSupplierChangeApplyId(applyId);
|
|
|
|
|
coscoSupplierChangeBaseMapper.insertCoscoSupplierChangeBase(coscoSupplierChangeBase);
|
|
|
|
|
|
|
|
|
|
//基础信息对比--将差异内容插入到比对表
|
|
|
|
|
List<CoscoSupplierChangeHistory> changeHistories = compareSupplierChanges(newCoscoSupplierBase,oldCoscoSupplierBase,applyId);
|
|
|
|
|
List<CoscoSupplierChangeHistory> changeHistories = compareSupplierChanges(newCoscoSupplierBase, oldCoscoSupplierBase, applyId);
|
|
|
|
|
coscoSupplierChangeHistoryMapper.batchCoscoSupplierChangeHistory(changeHistories);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//变更证明附件--只会有一个
|
|
|
|
|
if (!CollectionUtils.isEmpty(vo.getCoscoSupplierSurveyAttachments())) {
|
|
|
|
|
for(CoscoSupplierSurveyAttachments coscoSupplierSurveyAttachments : vo.getCoscoSupplierSurveyAttachments()){
|
|
|
|
|
for (CoscoSupplierSurveyAttachments coscoSupplierSurveyAttachments : vo.getCoscoSupplierSurveyAttachments()) {
|
|
|
|
|
coscoSupplierSurveyAttachments.setId(PropertyUtils.getSnowflakeId());
|
|
|
|
|
coscoSupplierSurveyAttachments.setSupplierId(oldCoscoSupplierBase.getId());
|
|
|
|
|
coscoSupplierSurveyAttachments.setCreateBy(userId);
|
|
|
|
@ -521,6 +523,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 字段比对方法
|
|
|
|
|
*
|
|
|
|
|
* @param newCoscoSupplierBase
|
|
|
|
|
* @param oldCoscoSupplierBase
|
|
|
|
|
* @param supplierChangeApplyId
|
|
|
|
@ -574,8 +577,8 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
List<CoscoSupplierChangeHistory> newChangeHistories = new ArrayList<>();
|
|
|
|
|
for(CoscoSupplierChangeHistory oldc: changeHistories){
|
|
|
|
|
if(oldc.getNewValue() != null){
|
|
|
|
|
for (CoscoSupplierChangeHistory oldc : changeHistories) {
|
|
|
|
|
if (oldc.getNewValue() != null) {
|
|
|
|
|
oldc.setFieldName(StrUtil.toUnderlineCase(oldc.getFieldName()));
|
|
|
|
|
newChangeHistories.add(oldc);
|
|
|
|
|
}
|
|
|
|
@ -586,6 +589,7 @@ public class CoscoSupplierBaseServiceImpl extends BaseServiceImpl<CoscoSupplierB
|
|
|
|
|
public static boolean isChanged(Object newValue, Object oldValue) {
|
|
|
|
|
return !Objects.equals(newValue, oldValue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static boolean baseDiff(String str1, String str2) {
|
|
|
|
|
// 处理两个都为null的情况
|
|
|
|
|
if (str1 == null && str2 == null) {
|
|
|
|
|