|
@@ -1,6 +1,7 @@
|
|
|
package org.dromara.customer.service.impl;
|
|
package org.dromara.customer.service.impl;
|
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.crypto.digest.BCrypt;
|
|
import cn.hutool.crypto.digest.BCrypt;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -38,11 +39,9 @@ import org.dromara.customer.utils.qcc.domain.CompanyInfoResponse;
|
|
|
import org.dromara.product.api.RemoteCategoryService;
|
|
import org.dromara.product.api.RemoteCategoryService;
|
|
|
import org.dromara.product.api.RemoteProductService;
|
|
import org.dromara.product.api.RemoteProductService;
|
|
|
import org.dromara.product.api.domain.RemoteProductBrand;
|
|
import org.dromara.product.api.domain.RemoteProductBrand;
|
|
|
-import org.dromara.system.api.RemoteComStaffService;
|
|
|
|
|
-import org.dromara.system.api.RemoteSupplierTypeService;
|
|
|
|
|
-import org.dromara.system.api.RemoteUserService;
|
|
|
|
|
|
|
+import org.dromara.system.api.*;
|
|
|
import org.dromara.system.api.domain.bo.RemoteUserBo;
|
|
import org.dromara.system.api.domain.bo.RemoteUserBo;
|
|
|
-import org.dromara.system.api.domain.vo.RemoteSupplierTypeVo;
|
|
|
|
|
|
|
+import org.dromara.system.api.domain.vo.*;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -103,6 +102,21 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
@DubboReference
|
|
@DubboReference
|
|
|
private final RemoteSupplierTypeService remoteSupplierTypeService;
|
|
private final RemoteSupplierTypeService remoteSupplierTypeService;
|
|
|
|
|
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private RemoteComCompanyService remoteComCompanyService;
|
|
|
|
|
+
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private RemoteErpStaffService remoteErpStaffService;
|
|
|
|
|
+
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private RemoteComCurrencyService remoteComCurrencyService;
|
|
|
|
|
+
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private RemoteProductTaxrateService remoteProductTaxrateService;
|
|
|
|
|
+
|
|
|
|
|
+ @DubboReference
|
|
|
|
|
+ private RemoteSupplierLevelService remoteSupplierLevelService;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 新增供应商信息
|
|
* 新增供应商信息
|
|
@@ -206,11 +220,11 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
//状态为修改待审核
|
|
//状态为修改待审核
|
|
|
supplierInfoVo.setSupplyStatus(SupplierStatusEnum.REVIEW_UPDATED.getCode());
|
|
supplierInfoVo.setSupplyStatus(SupplierStatusEnum.REVIEW_UPDATED.getCode());
|
|
|
//先copy到临时表
|
|
//先copy到临时表
|
|
|
- SupplierInfoTemporary supplierInfoTemporary = supplierInfoTemporaryService.getOne(Wrappers.lambdaQuery(SupplierInfoTemporary.class)
|
|
|
|
|
|
|
+ SupplierInfoTemporary supplierInfoTemporary = supplierInfoTemporaryService.getOne(Wrappers.lambdaQuery(SupplierInfoTemporary.class)
|
|
|
.eq(SupplierInfoTemporary::getSupplierId, bo.getId())
|
|
.eq(SupplierInfoTemporary::getSupplierId, bo.getId())
|
|
|
.last("limit 1")
|
|
.last("limit 1")
|
|
|
);
|
|
);
|
|
|
- if(supplierInfoTemporary == null){
|
|
|
|
|
|
|
+ if (supplierInfoTemporary == null) {
|
|
|
supplierInfoTemporary = new SupplierInfoTemporary();
|
|
supplierInfoTemporary = new SupplierInfoTemporary();
|
|
|
}
|
|
}
|
|
|
BeanUtils.copyProperties(bo, supplierInfoTemporary, "id");
|
|
BeanUtils.copyProperties(bo, supplierInfoTemporary, "id");
|
|
@@ -370,17 +384,17 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
throw new RuntimeException("更新供应商待审核基础数据失败,请联系管理员", e);
|
|
throw new RuntimeException("更新供应商待审核基础数据失败,请联系管理员", e);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- SupplierInfoTemporary supplierInfoTemporary = supplierInfoTemporaryService.getOne(Wrappers.lambdaQuery(SupplierInfoTemporary.class)
|
|
|
|
|
|
|
+ SupplierInfoTemporary supplierInfoTemporary = supplierInfoTemporaryService.getOne(Wrappers.lambdaQuery(SupplierInfoTemporary.class)
|
|
|
.eq(SupplierInfoTemporary::getSupplierId, bo.getId())
|
|
.eq(SupplierInfoTemporary::getSupplierId, bo.getId())
|
|
|
.last("limit 1")
|
|
.last("limit 1")
|
|
|
);
|
|
);
|
|
|
- if(supplierInfoTemporary == null){
|
|
|
|
|
|
|
+ if (supplierInfoTemporary == null) {
|
|
|
supplierInfoTemporary = new SupplierInfoTemporary();
|
|
supplierInfoTemporary = new SupplierInfoTemporary();
|
|
|
BeanUtils.copyProperties(bo, supplierInfoTemporary, "id");
|
|
BeanUtils.copyProperties(bo, supplierInfoTemporary, "id");
|
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
|
- }else{
|
|
|
|
|
- if(bo.getSupplyStatus() == SupplierStatusEnum.OFFICIAL_SUPPLIER.getCode()){
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if (bo.getSupplyStatus() == SupplierStatusEnum.OFFICIAL_SUPPLIER.getCode()) {
|
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
|
SupplierInfo supplierInfo = BeanUtil.toBean(supplierInfoTemporary, SupplierInfo.class);
|
|
SupplierInfo supplierInfo = BeanUtil.toBean(supplierInfoTemporary, SupplierInfo.class);
|
|
@@ -388,7 +402,7 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
return baseMapper.updateById(supplierInfo) > 0;
|
|
return baseMapper.updateById(supplierInfo) > 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if(bo.getSupplyStatus() == SupplierStatusEnum.REVIEW_FAILED.getCode()){
|
|
|
|
|
|
|
+ if (bo.getSupplyStatus() == SupplierStatusEnum.REVIEW_FAILED.getCode()) {
|
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
supplierInfoTemporary.setSupplyStatus(bo.getSupplyStatus());
|
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
supplierInfoTemporaryService.saveOrUpdate(supplierInfoTemporary);
|
|
|
SupplierInfo supplierInfo = BeanUtil.toBean(supplierInfoTemporary, SupplierInfo.class);
|
|
SupplierInfo supplierInfo = BeanUtil.toBean(supplierInfoTemporary, SupplierInfo.class);
|
|
@@ -647,13 +661,13 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
.eq(SupplierInfo::getId, id));
|
|
.eq(SupplierInfo::getId, id));
|
|
|
SupplierInfoVo supplierInfoVo = new SupplierInfoVo();
|
|
SupplierInfoVo supplierInfoVo = new SupplierInfoVo();
|
|
|
// if (supplierInfoVo1 != null && supplierInfoVo1.getSupplyStatus() == SupplierStatusEnum.REVIEW_UPDATED.getCode()) {
|
|
// if (supplierInfoVo1 != null && supplierInfoVo1.getSupplyStatus() == SupplierStatusEnum.REVIEW_UPDATED.getCode()) {
|
|
|
- if (supplierInfoVo1 != null ) {
|
|
|
|
|
|
|
+ if (supplierInfoVo1 != null) {
|
|
|
SupplierInfoTemporaryVo supplierInfoTemporaryVo = supplierInfoTemporaryService.getVoOne(id);
|
|
SupplierInfoTemporaryVo supplierInfoTemporaryVo = supplierInfoTemporaryService.getVoOne(id);
|
|
|
if (supplierInfoTemporaryVo != null) {
|
|
if (supplierInfoTemporaryVo != null) {
|
|
|
BeanUtils.copyProperties(supplierInfoTemporaryVo, supplierInfoVo);
|
|
BeanUtils.copyProperties(supplierInfoTemporaryVo, supplierInfoVo);
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- supplierInfoVo = baseMapper.selectVoById(id);
|
|
|
|
|
|
|
+ supplierInfoVo = baseMapper.selectVoById(id);
|
|
|
}
|
|
}
|
|
|
SupplierInfoVo supplierInformationVo = handleProcurementInfo(supplierInfoVo);
|
|
SupplierInfoVo supplierInformationVo = handleProcurementInfo(supplierInfoVo);
|
|
|
//返回工商信息
|
|
//返回工商信息
|
|
@@ -2139,7 +2153,7 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
add.setSupplierId(supplierInfo.getId());
|
|
add.setSupplierId(supplierInfo.getId());
|
|
|
add.setSupplyStatus(0L);
|
|
add.setSupplyStatus(0L);
|
|
|
supplierInfoTemporaryService.updateById(add);
|
|
supplierInfoTemporaryService.updateById(add);
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
SupplierInfoTemporary add = BeanUtil.toBean(supplierInfo, SupplierInfoTemporary.class);
|
|
SupplierInfoTemporary add = BeanUtil.toBean(supplierInfo, SupplierInfoTemporary.class);
|
|
|
add.setSupplierId(supplierInfo.getId());
|
|
add.setSupplierId(supplierInfo.getId());
|
|
|
add.setSupplyStatus(0L);
|
|
add.setSupplyStatus(0L);
|
|
@@ -2526,4 +2540,214 @@ public class SupplierInfoServiceImpl extends ServiceImpl<SupplierInfoMapper, Sup
|
|
|
|
|
|
|
|
return temporary;
|
|
return temporary;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 导出模板数据:查询指定数量的供应商数据,转换为导入模板格式
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<SupplierInfoImportVo> queryImportTemplateList(int limit) {
|
|
|
|
|
+ // 1. 查询供应商主表数据
|
|
|
|
|
+ List<SupplierInfoVo> list;
|
|
|
|
|
+ if (limit <= 0) {
|
|
|
|
|
+ // 导出全部
|
|
|
|
|
+ list = baseMapper.selectVoList(new LambdaQueryWrapper<>());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ PageQuery pageQuery = new PageQuery();
|
|
|
|
|
+ pageQuery.setPageNum(1);
|
|
|
|
|
+ pageQuery.setPageSize(limit);
|
|
|
|
|
+ TableDataInfo<SupplierInfoVo> pageResult = queryPageList(new SupplierInfoBo(), pageQuery);
|
|
|
|
|
+ list = pageResult.getRows();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (CollUtil.isEmpty(list)) {
|
|
|
|
|
+ return new ArrayList<>();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 2. 收集所有供应商ID
|
|
|
|
|
+ Set<Long> supplierIds = list.stream()
|
|
|
|
|
+ .map(SupplierInfoVo::getId)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+
|
|
|
|
|
+ // 3. 查询供应商的ERP信息
|
|
|
|
|
+ Map<Long, SupplierErpInfoVo> erpInfoMap = new HashMap<>();
|
|
|
|
|
+ if (!supplierIds.isEmpty()) {
|
|
|
|
|
+ List<SupplierErpInfoVo> erpInfoList = supplierErpInfoMapper.selectVoList(
|
|
|
|
|
+ new LambdaQueryWrapper<SupplierErpInfo>().in(SupplierErpInfo::getSupplierId, supplierIds));
|
|
|
|
|
+ for (SupplierErpInfoVo vo : erpInfoList) {
|
|
|
|
|
+ erpInfoMap.put(vo.getSupplierId(), vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 4. 收集需要远程查询的ID
|
|
|
|
|
+ Set<Long> companyIds = new HashSet<>();
|
|
|
|
|
+ Set<Long> supplierTypeIds = new HashSet<>();
|
|
|
|
|
+ Set<Long> erpStaffIds = new HashSet<>();
|
|
|
|
|
+ Set<Long> dealCurrencyIds = new HashSet<>();
|
|
|
|
|
+ Set<Long> rateIds = new HashSet<>();
|
|
|
|
|
+
|
|
|
|
|
+ for (SupplierInfoVo vo : list) {
|
|
|
|
|
+ if (vo.getOwnedCompany() != null) companyIds.add(vo.getOwnedCompany());
|
|
|
|
|
+ if (vo.getSupplierType() != null) supplierTypeIds.add(vo.getSupplierType());
|
|
|
|
|
+ SupplierErpInfoVo erpVo = erpInfoMap.get(vo.getId());
|
|
|
|
|
+ if (erpVo != null) {
|
|
|
|
|
+ if (erpVo.getPurchaseId() != null) erpStaffIds.add(erpVo.getPurchaseId());
|
|
|
|
|
+ if (erpVo.getDealCurrencyId() != null) dealCurrencyIds.add(erpVo.getDealCurrencyId());
|
|
|
|
|
+ if (erpVo.getRateId() != null) rateIds.add(erpVo.getRateId());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 5. 批量查询远程服务
|
|
|
|
|
+ // 公司
|
|
|
|
|
+ Map<Long, RemoteComCompanyVo> companyMap = new HashMap<>();
|
|
|
|
|
+ if (!companyIds.isEmpty()) {
|
|
|
|
|
+ List<RemoteComCompanyVo> companyList = remoteComCompanyService.selectCompanyList();
|
|
|
|
|
+ for (RemoteComCompanyVo vo : companyList) {
|
|
|
|
|
+ if (companyIds.contains(vo.getId())) {
|
|
|
|
|
+ companyMap.put(vo.getId(), vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 供应商类型(按ID逐个查询,避免 queryList 的 dataSource 过滤导致遗漏)
|
|
|
|
|
+ Map<Long, RemoteSupplierTypeVo> supplierTypeMap = new HashMap<>();
|
|
|
|
|
+ for (Long id : supplierTypeIds) {
|
|
|
|
|
+ RemoteSupplierTypeVo typeVo = remoteSupplierTypeService.selectByTypeId(id);
|
|
|
|
|
+ if (typeVo != null) {
|
|
|
|
|
+ supplierTypeMap.put(id, typeVo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 采购员(ERP人员)
|
|
|
|
|
+ Map<Long, String> erpStaffNameMap = erpStaffIds.isEmpty()
|
|
|
|
|
+ ? Collections.emptyMap()
|
|
|
|
|
+ : remoteErpStaffService.selectStaffNameByIds(erpStaffIds);
|
|
|
|
|
+
|
|
|
|
|
+ // 交易币别
|
|
|
|
|
+ Map<Long, RemoteComCurrencyVo> currencyMap = new HashMap<>();
|
|
|
|
|
+ if (!dealCurrencyIds.isEmpty()) {
|
|
|
|
|
+ List<RemoteComCurrencyVo> currencyList = remoteComCurrencyService.selectCurrencyByIds(dealCurrencyIds);
|
|
|
|
|
+ for (RemoteComCurrencyVo vo : currencyList) {
|
|
|
|
|
+ currencyMap.put(vo.getId(), vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 税码
|
|
|
|
|
+ Map<Long, RemoteProductTaxrateVo> taxrateMap = new HashMap<>();
|
|
|
|
|
+ if (!rateIds.isEmpty()) {
|
|
|
|
|
+ List<RemoteProductTaxrateVo> taxrateList = remoteProductTaxrateService.selectTaxrateByIds(rateIds);
|
|
|
|
|
+ for (RemoteProductTaxrateVo vo : taxrateList) {
|
|
|
|
|
+ taxrateMap.put(vo.getId(), vo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 供应商等级(按ID逐个查询,每次导出最多30条)
|
|
|
|
|
+ Map<Long, RemoteSupplierLevelVo> supplierLevelMap = new HashMap<>();
|
|
|
|
|
+ Set<Long> levelIds = list.stream()
|
|
|
|
|
+ .map(SupplierInfoVo::getCooperateLevel)
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .map(s -> {
|
|
|
|
|
+ try {
|
|
|
|
|
+ return Long.valueOf(s);
|
|
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ for (Long levelId : levelIds) {
|
|
|
|
|
+ RemoteSupplierLevelVo levelVo = remoteSupplierLevelService.selectByLevelId(levelId);
|
|
|
|
|
+ if (levelVo != null) {
|
|
|
|
|
+ supplierLevelMap.put(levelId, levelVo);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // ERP人员编码(通过姓名反查staffCode)
|
|
|
|
|
+ Map<String, String> staffNameToCodeMap = new HashMap<>();
|
|
|
|
|
+ for (String staffName : new HashSet<>(erpStaffNameMap.values())) {
|
|
|
|
|
+ if (StringUtils.isNotBlank(staffName)) {
|
|
|
|
|
+ RemoteErpStaffVo staffVo = remoteErpStaffService.selectStaffByStaffNameOne(staffName);
|
|
|
|
|
+ if (staffVo != null && StringUtils.isNotBlank(staffVo.getStaffCode())) {
|
|
|
|
|
+ staffNameToCodeMap.put(staffName, staffVo.getStaffCode());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 6. 构建导出VO列表
|
|
|
|
|
+ List<SupplierInfoImportVo> exportList = new ArrayList<>();
|
|
|
|
|
+ for (SupplierInfoVo vo : list) {
|
|
|
|
|
+ SupplierInfoImportVo importVo = new SupplierInfoImportVo();
|
|
|
|
|
+
|
|
|
|
|
+ // 公司
|
|
|
|
|
+ RemoteComCompanyVo companyVo = companyMap.get(vo.getOwnedCompany());
|
|
|
|
|
+ importVo.setCompanyCode(companyVo != null ? companyVo.getCompanyCode() : null);
|
|
|
|
|
+ importVo.setOwnedCompanyName(companyVo != null ? companyVo.getCompanyName() : null);
|
|
|
|
|
+
|
|
|
|
|
+ // 基本信息
|
|
|
|
|
+ importVo.setSupplierNo(vo.getSupplierNo());
|
|
|
|
|
+ importVo.setEnterpriseName(vo.getEnterpriseName());
|
|
|
|
|
+ importVo.setBusinessName(vo.getBusinessName());
|
|
|
|
|
+ importVo.setShortName(vo.getShortName());
|
|
|
|
|
+ importVo.setSocialCreditCode(vo.getSocialCreditCode());
|
|
|
|
|
+
|
|
|
|
|
+ // 供应商类型
|
|
|
|
|
+ RemoteSupplierTypeVo typeVo = supplierTypeMap.get(vo.getSupplierType());
|
|
|
|
|
+ importVo.setSupplierTypeNo(typeVo != null ? typeVo.getSupplierTypeNo() : null);
|
|
|
|
|
+ importVo.setSupplierTypeName(typeVo != null ? typeVo.getSupplierTypeName() : null);
|
|
|
|
|
+
|
|
|
|
|
+ // 供应商等级
|
|
|
|
|
+ Long levelId = null;
|
|
|
|
|
+ if (vo.getCooperateLevel() != null) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ levelId = Long.valueOf(vo.getCooperateLevel());
|
|
|
|
|
+ } catch (NumberFormatException ignored) {
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ RemoteSupplierLevelVo levelVo = levelId != null ? supplierLevelMap.get(levelId) : null;
|
|
|
|
|
+ importVo.setSupplierLevelNo(levelVo != null ? levelVo.getSupplierLevelNo() : null);
|
|
|
|
|
+ importVo.setSupplierLevelName(levelVo != null ? levelVo.getSupplierLevelName() : null);
|
|
|
|
|
+
|
|
|
|
|
+ // 联系信息
|
|
|
|
|
+ importVo.setFixedPhone(vo.getFixedPhone());
|
|
|
|
|
+ importVo.setOfficeProvince(vo.getOfficeProvince());
|
|
|
|
|
+ importVo.setOfficeCity(vo.getOfficeCity());
|
|
|
|
|
+ importVo.setOfficeCounty(vo.getOfficeCounty());
|
|
|
|
|
+ importVo.setOfficeAddress(vo.getOfficeAddress());
|
|
|
|
|
+
|
|
|
|
|
+ // ERP信息
|
|
|
|
|
+ SupplierErpInfoVo erpVo = erpInfoMap.get(vo.getId());
|
|
|
|
|
+ if (erpVo != null) {
|
|
|
|
|
+ // 采购员
|
|
|
|
|
+ String buyerName = erpStaffNameMap.get(erpVo.getPurchaseId());
|
|
|
|
|
+ importVo.setBuyerNo(staffNameToCodeMap.get(buyerName));
|
|
|
|
|
+ importVo.setBuyerName(buyerName);
|
|
|
|
|
+ importVo.setBuyerOne("");
|
|
|
|
|
+
|
|
|
|
|
+ // 付款类型
|
|
|
|
|
+ importVo.setBuyType(erpVo.getSettlementMethod());
|
|
|
|
|
+
|
|
|
|
|
+ // 开票类型
|
|
|
|
|
+ importVo.setInvoiceTypeNo(erpVo.getPurchaseInvoiceNo());
|
|
|
|
|
+ importVo.setInvoiceType(erpVo.getPurchaseInvoice());
|
|
|
|
|
+
|
|
|
|
|
+ // 单价含税
|
|
|
|
|
+ importVo.setUnitPrice(erpVo.getUnitPrice());
|
|
|
|
|
+
|
|
|
|
|
+ // 交易币别
|
|
|
|
|
+ RemoteComCurrencyVo currencyVo = currencyMap.get(erpVo.getDealCurrencyId());
|
|
|
|
|
+ importVo.setDealCurrency(currencyVo != null ? currencyVo.getCurrencyCode() : null);
|
|
|
|
|
+
|
|
|
|
|
+ // 税码
|
|
|
|
|
+ RemoteProductTaxrateVo taxrateVo = taxrateMap.get(erpVo.getRateId());
|
|
|
|
|
+ importVo.setRateName(taxrateVo != null ? taxrateVo.getTaxrateNo() : null);
|
|
|
|
|
+
|
|
|
|
|
+ // 账款归属
|
|
|
|
|
+ importVo.setAccountBelong(erpVo.getAccountBelong());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ exportList.add(importVo);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return exportList;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|