单据上传供应商问题

dev_unify
yewj 7 months ago
parent ed9a13f65b
commit 5c2ee6d58b

@ -19,4 +19,6 @@ public interface CompanyProductRelevanceService extends IService<CompanyProductR
boolean deleteByRlId(String id);
boolean isExitByRelId(String relId);
String insertOrReadId(Long udiRlIdFk, String unitId);
}

@ -2,6 +2,7 @@ package com.glxp.api.service.basic.impl;
import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
@ -15,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.List;
@Service
@ -59,4 +61,25 @@ public class CompanyProductRelevanceServiceImpl extends ServiceImpl<CompanyProdu
public boolean isExitByRelId(String relId) {
return companyProductRelevanceDao.exists(new QueryWrapper<CompanyProductRelevanceEntity>().eq("udiRlIdFk", relId));
}
@Override
public String insertOrReadId(Long udiRlIdFk, String unitId) {
CompanyProductRelevanceEntity companyProductRelevanceEntity = companyProductRelevanceDao.selectOne(new LambdaQueryWrapper<CompanyProductRelevanceEntity>()
.eq(CompanyProductRelevanceEntity::getUdiRlIdFk, udiRlIdFk)
.eq(CompanyProductRelevanceEntity::getUnitFk, unitId).last("limit 1"));
if (companyProductRelevanceEntity != null) {
return companyProductRelevanceEntity.getCustomerId();
} else {
companyProductRelevanceEntity = new CompanyProductRelevanceEntity();
companyProductRelevanceEntity.setId(IdUtil.getSnowflakeNextId());
companyProductRelevanceEntity.setCustomerId(unitId);
companyProductRelevanceEntity.setUnitFk(unitId);
companyProductRelevanceEntity.setUdiRlIdFk(udiRlIdFk);
companyProductRelevanceEntity.setUpdateTime(new Date());
companyProductRelevanceEntity.setCreateTime(new Date());
companyProductRelevanceDao.insertCompanyProductRelevance(companyProductRelevanceEntity);
}
return null;
}
}

@ -19,6 +19,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.CompanyProductRelevanceEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.*;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
@ -32,6 +33,7 @@ import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.res.basic.BasicSkPrescribeResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.basic.CompanyProductRelevanceService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.SysWorkplaceDocumentService;
import com.glxp.api.service.basic.UdiRlSupService;
@ -47,10 +49,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBackupMapper, IoCollectOrderBackup> {
@ -161,6 +161,9 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
}
@Resource
CompanyProductRelevanceService companyProductRelevanceService;
@Transactional(rollbackFor = Exception.class)
public void generateOrder(String billNo, AuthAdmin authAdmin) {
@ -201,6 +204,21 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodes) {
lossCodesList.add(buildCodeEntity(collectOrderCodeMan, orderEntity));
}
/**
*
*/
if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_SP) {
Map<Long, List<IoCodeTempEntity>> groupedMap = lossCodesList.stream()
.collect(Collectors.groupingBy(IoCodeTempEntity::getRelId));
groupedMap.forEach((key, value) -> {
companyProductRelevanceService.insertOrReadId(key, collectOrder.getFromCorp());
});
for (IoCodeTempEntity codeTempEntity : lossCodesList) {
codeTempEntity.setSupId(collectOrder.getFromCorp());
}
}
orderService.insertOrder(orderEntity);
codesTempDao.insertBatch(lossCodesList);
addInoutService.dealProcess(orderEntity);

Loading…
Cancel
Save