Browse Source

2024-03-18 报价修改

master
zelian_wu 2 years ago
parent
commit
99bc54094e
  1. 4
      src/main/java/com/spring/common/utils/Constant.java
  2. 6
      src/main/java/com/spring/modules/quotation/service/impl/QuotationDetailServiceImpl.java
  3. 24
      src/main/java/com/spring/modules/quotation/service/impl/QuotationHeaderServiceImpl.java
  4. 13
      src/main/java/com/spring/modules/quotation/service/impl/QuotationInformationServiceImpl.java

4
src/main/java/com/spring/common/utils/Constant.java

@ -123,4 +123,8 @@ public class Constant {
}
}
public static final String BJ = "BJ";
public static final String XJ = "XJ";
}

6
src/main/java/com/spring/modules/quotation/service/impl/QuotationDetailServiceImpl.java

@ -33,6 +33,10 @@ public class QuotationDetailServiceImpl extends ServiceImpl<QuotationDetailMappe
private QuoteBomHeaderService quoteBomHeaderService;
@Autowired
private QuoteBomDetailService quoteBomDetailService;
@Autowired
private QuoteRoutingHeaderService quoteRoutingHeaderService;
@Autowired
private QuoteRoutingDetailService quoteRoutingDetailService;
@Override
@ -109,7 +113,9 @@ public class QuotationDetailServiceImpl extends ServiceImpl<QuotationDetailMappe
// 删除 bom_detail
quoteBomDetailService.lambdaUpdate().eq(QuoteBomDetail::getQuoteDetailId,quotationDetail.getQuotationDetailId()).remove();
// 删除 routing_header
quoteRoutingHeaderService.lambdaUpdate().eq(QuoteRoutingHeader::getQuoteDetailId,quotationDetail.getQuotationDetailId()).remove();
// 删除 routing_detail
quoteRoutingDetailService.lambdaUpdate().eq(QuoteRoutingDetail::getQuoteDetailId,quotationDetail.getQuotationDetailId()).remove();
}
}
}

24
src/main/java/com/spring/modules/quotation/service/impl/QuotationHeaderServiceImpl.java

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.spring.common.utils.Constant;
import com.spring.common.utils.R;
import com.spring.modules.quotation.entity.*;
import com.spring.modules.quotation.mapper.QuotationHeaderMapper;
@ -38,6 +39,10 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
private QuoteBomHeaderService quoteBomHeaderService;
@Autowired
private QuoteBomDetailService quoteBomDetailService;
@Autowired
private QuoteRoutingHeaderService quoteRoutingHeaderService;
@Autowired
private QuoteRoutingDetailService quoteRoutingDetailService;
@Override
public R getQuotationHeaderByPage(Integer no, Integer size,String site,String customerNo,String customerName,
@ -72,7 +77,7 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
@Override
@Transactional
public R insertQuotationHeader(QuotationHeader quotationHeader) {
String quotationHeaderNo = "BJ"+this.baseMapper.getQuotationNo(quotationHeader.getSite());
String quotationHeaderNo = Constant.BJ +this.baseMapper.getQuotationNo(quotationHeader.getSite());
quotationHeader.setQuotationNo(quotationHeaderNo.toUpperCase());
quotationHeader.setVersionCode("A"+quotationHeader.getVersionCode().toUpperCase());
quotationHeader.setCustomerInquiryNo(quotationHeader.getCustomerInquiryNo().toUpperCase());
@ -102,7 +107,7 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
// 新增询价
quotationDetailService.save(detail);
// 新增序列规则记录
seqRuleService.save(new SeqRule(quotationHeader.getSite(),"BJ","报价单号",quotationHeaderNo,3));
seqRuleService.save(new SeqRule(quotationHeader.getSite(),Constant.BJ,"报价单号",quotationHeaderNo,3));
if (saveFlag){
return R.ok("保存成功").put("code",200);
}
@ -123,11 +128,18 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
throw new RuntimeException("报价单不存在");
}
if (removeById(quotationHeader.getQuotationHeaderId())) {
seqRuleService.lambdaUpdate()
.eq(SeqRule::getPrefix,quotationHeader.getQuotationNo())
.eq(SeqRule::getSite,quotationHeader.getSite())
.eq(SeqRule::getType,Constant.BJ).remove();
// 获得详情ids
List<Integer> ids =
quotationDetailService.lambdaQuery()
.eq(QuotationDetail::getQuotationHeaderId, quotationHeader.getQuotationHeaderId())
.list().stream().map(QuotationDetail::getQuotationDetailId).collect(Collectors.toList());
if (ids.isEmpty()){
return;
}
// 删除详情工具
quotationToolService.lambdaUpdate().in(QuotationTool::getQuotationDetailId,ids).remove();
// 删除 bom_header
@ -135,7 +147,9 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
// 删除 bom_detail
quoteBomDetailService.lambdaUpdate().in(QuoteBomDetail::getQuoteDetailId,ids).remove();
// 删除 routing_header
quoteRoutingHeaderService.lambdaUpdate().in(QuoteRoutingHeader::getQuoteDetailId,ids).remove();
// 删除 routing_detail
quoteRoutingDetailService.lambdaUpdate().in(QuoteRoutingDetail::getQuoteDetailId,ids).remove();
// 删除详情
quotationDetailService.lambdaUpdate().
eq(QuotationDetail::getQuotationHeaderId,quotationHeader.getQuotationHeaderId()).remove();
@ -152,7 +166,7 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
// 获得询价对象
QuotationInformationVo information = quotationInformationVoList.get(0);
// 获取主键
String quotationHeaderNo = "BJ"+this.baseMapper.getQuotationNo(information.getSite()).toUpperCase();
String quotationHeaderNo = Constant.BJ+this.baseMapper.getQuotationNo(information.getSite()).toUpperCase();
// 创建报价对象
QuotationHeader quotationHeader = new QuotationHeader();
quotationHeader.setSite(information.getSite());
@ -176,7 +190,7 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
save(quotationHeader);
ids.add(quotationHeader.getQuotationHeaderId());
// 新增序列规则记录
seqRuleService.save(new SeqRule(information.getSite(),"BJ","报价单号",quotationHeaderNo,3));
seqRuleService.save(new SeqRule(information.getSite(),Constant.BJ,"报价单号",quotationHeaderNo,3));
for (int i = 0; i < list.size(); i++) {
QuotationInformationVo quotationInformationVo = list.get(i);
// 创建询价对象
@ -264,7 +278,7 @@ public class QuotationHeaderServiceImpl extends ServiceImpl<QuotationHeaderMappe
// 清空需要重新报价的id
quotationHeader.setQuotationHeaderId(null);
// 获取报价版本号
SeqRule rule = seqRuleService.getSeqNoValue(quotationHeader.getSite(), "BJ", quotationHeader.getQuotationNo());
SeqRule rule = seqRuleService.getSeqNoValue(quotationHeader.getSite(), Constant.BJ, quotationHeader.getQuotationNo());
// 修改版本号
quotationHeader.setVersionCode("A"+seqRuleService.getSeqNumber(rule.getCurrentVal(),rule.getLength()));
// 新增报价

13
src/main/java/com/spring/modules/quotation/service/impl/QuotationInformationServiceImpl.java

@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.spring.common.exception.XJException;
import com.spring.common.utils.DateUtils;
import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R;
import com.spring.common.utils.RandomUtil;
import com.spring.common.utils.*;
import com.spring.modules.customer.entity.CustomerInformationEntity;
import com.spring.modules.customer.vo.CustomerInformationVo;
import com.spring.modules.oss.dao.SysOssDao;
@ -86,16 +83,16 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
@Transactional
public void quotationInformationSave(QuotationInformationEntity data) {
// 报价主单号
String quotationNo ="XJ"+quotationInformationMapper.getQuotationNo(data);
String quotationNo = Constant.XJ+quotationInformationMapper.getQuotationNo(data);
// 创建序列规则
SeqRule seqRule = seqRuleService.lambdaQuery().eq(SeqRule::getSite, data.getSite()).eq(SeqRule::getType, "XJ").eq(SeqRule::getPrefix, quotationNo).one();
SeqRule seqRule = seqRuleService.lambdaQuery().eq(SeqRule::getSite, data.getSite()).eq(SeqRule::getType, Constant.XJ).eq(SeqRule::getPrefix, quotationNo).one();
if (seqRule != null) {
seqRule.setCurrentVal(1L);
if (!seqRuleService.updateById(seqRule)) {
throw new RuntimeException("序列号修改失败!");
}
}else {
if (!seqRuleService.save(new SeqRule(data.getSite(),"XJ","询价单号",quotationNo,3))) {
if (!seqRuleService.save(new SeqRule(data.getSite(),Constant.XJ,"询价单号",quotationNo,3))) {
throw new RuntimeException("新增询价规则异常");
}
}
@ -104,7 +101,7 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
// 新增
for (String testPartNo : testPartNoList) {
// 获取序列号
String seqNo = seqRuleService.getSeqNo(data.getSite(),"XJ", quotationNo);
String seqNo = seqRuleService.getSeqNo(data.getSite(),Constant.XJ, quotationNo);
String[] seqNoStr = seqNo.split("-");
// 获取报价单号
data.setQuotationNo(seqNo);

Loading…
Cancel
Save