|
|
@ -777,7 +777,23 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform |
|
|
@Override |
|
|
@Override |
|
|
@Transactional |
|
|
@Transactional |
|
|
public void submitChange(QuotationInformationVo data) { |
|
|
public void submitChange(QuotationInformationVo data) { |
|
|
// 更新单据 |
|
|
|
|
|
|
|
|
// 防并发重复提交:先查当前状态,只有"审批中"才允许继续 |
|
|
|
|
|
QuotationInformationEntity current = quotationInformationMapper.selectOne( |
|
|
|
|
|
new QueryWrapper<QuotationInformationEntity>() |
|
|
|
|
|
.eq("site", data.getSite()) |
|
|
|
|
|
.eq("quotation_batch_no", data.getQuotationBatchNo()) |
|
|
|
|
|
); |
|
|
|
|
|
if (current == null) { |
|
|
|
|
|
throw new RuntimeException("未找到单据,quotationBatchNo: " + data.getQuotationBatchNo()); |
|
|
|
|
|
} |
|
|
|
|
|
if (!"审批中".equals(current.getQuotationStatus())) { |
|
|
|
|
|
throw new RuntimeException("单据状态已变更(当前状态:" + current.getQuotationStatus() + "),请刷新页面后重试!"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 更新单据:排除状态类字段,防止前端脏数据覆盖流程写入的状态 |
|
|
|
|
|
data.setQuotationStatus(null); |
|
|
|
|
|
data.setStepId(null); |
|
|
|
|
|
data.setUpdateDate(null); |
|
|
lambdaUpdate().eq(QuotationInformationEntity::getSite, data.getSite()).eq(QuotationInformationEntity::getQuotationBatchNo, data.getQuotationBatchNo()).update(data); |
|
|
lambdaUpdate().eq(QuotationInformationEntity::getSite, data.getSite()).eq(QuotationInformationEntity::getQuotationBatchNo, data.getQuotationBatchNo()).update(data); |
|
|
// 获取提交基础数据 |
|
|
// 获取提交基础数据 |
|
|
Map<String, String> baseData = changeManagementService.getSubmitBaseData(data.getSite(), data.getUserName(), data.getQuotationBatchNo()); |
|
|
Map<String, String> baseData = changeManagementService.getSubmitBaseData(data.getSite(), data.getUserName(), data.getQuotationBatchNo()); |
|
|
|