Browse Source

2024-12-19

master
qiezi 1 year ago
parent
commit
be8e077312
  1. 6
      src/main/java/com/spring/modules/quotation/mapper/QuotationInformationMapper.java
  2. 44
      src/main/java/com/spring/modules/quotation/service/impl/QuotationInformationServiceImpl.java
  3. 12
      src/main/resources/mapper/quotation/QuotationInformationMapper.xml

6
src/main/java/com/spring/modules/quotation/mapper/QuotationInformationMapper.java

@ -3,7 +3,6 @@ package com.spring.modules.quotation.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.modules.customer.entity.CustomerAddressEntity;
import com.spring.modules.customer.vo.CustomerInformationVo;
import com.spring.modules.oss.entity.SysOssEntity;
import com.spring.modules.project.data.PlmProjectInfoData;
@ -13,7 +12,6 @@ import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.PriceCheckPropertiesVo;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import com.spring.modules.quotation.vo.SysOssVo;
import com.spring.modules.test.vo.TestPropertiesVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -54,4 +52,8 @@ public interface QuotationInformationMapper extends BaseMapper<QuotationInformat
@Param("itemNo")String itemNo,
@Param("itemDesc")String itemDesc,
@Param("list")List<String> list);
List<String> queryQuoteByQuotationBatchNo(@Param("site") String site, @Param("quotationBatchNo") String quotationNo);
int queryQuotationByQuotationBatchNo(@Param("site")String site, @Param("quotationBatchNo")String quotationBatchNo);
}

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

@ -1,8 +1,5 @@
package com.spring.modules.quotation.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -10,19 +7,14 @@ 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.*;
import com.spring.datasource.config.AESUtil;
import com.spring.modules.base.data.OaUserData;
import com.spring.modules.base.entity.PlmProcessControllBaseData;
import com.spring.modules.base.utils.HttpClientUtil;
import com.spring.modules.base.utils.ResponseData;
import com.spring.modules.change.entity.*;
import com.spring.modules.change.entity.APIEntity.*;
import com.spring.modules.change.mapper.ChangeManagementMapper;
import com.spring.modules.change.service.ChangeManagementService;
import com.spring.modules.change.service.impl.ChangeManagementServiceImpl;
import com.spring.modules.change.vo.ChangeCostImpactVo;
import com.spring.modules.change.vo.ChangeExecutionInfoVo;
import com.spring.modules.change.vo.ChangeRequestVo;
import com.spring.modules.customer.entity.CustomerInformationEntity;
import com.spring.modules.customer.vo.CustomerInformationVo;
import com.spring.modules.oss.dao.SysOssDao;
import com.spring.modules.oss.entity.SysOssEntity;
@ -40,9 +32,8 @@ import com.spring.modules.quotation.service.QuotationInformationService;
import com.spring.modules.quotation.service.SeqRuleService;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import com.spring.modules.quotation.vo.SysOssVo;
import com.spring.modules.request.entity.PlmRequestDetailEntity;
import com.spring.modules.request.service.RequestManageService;
import com.spring.modules.request.vo.PlmRequestDetailVo;
import com.spring.modules.request.vo.PlmRequestHeaderVo;
import com.spring.modules.sys.dao.SysUserDao;
import com.spring.modules.sys.entity.GetParamInData;
import com.spring.modules.sys.entity.SysUserEntity;
@ -60,9 +51,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
import static com.spring.modules.base.utils.CommonUtils.convertToInt;
import static com.spring.modules.base.utils.CommonUtils.getPropertyValue;
@Service
@ -686,6 +675,10 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
quotationInformationMapper.update(data, updateInformationWrapper);
}
@Autowired
private RequestManageService requestManageService;
/**
* 提交
* @param data
@ -706,7 +699,17 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
baseData.get("userId"), baseData.get("workflowId"), baseData.get("workflowname"), baseData.get("requestName"), baseData.get("path"), baseData.get("requestId"),
"plm_quotation_information", "quotation_batch_no", "quotation_status",
changeRequest.getStepId(), data.getBu() == null ? "" : data.getBu(), baseData.get("domainControlAccount"), baseData.get("menuId"), data.getNodeConclusion(), data.getRejectOpinion() == null ? "" : data.getRejectOpinion(), data.getNodeId());
// 2024-12-19 流程特殊管控 没有报价明细不能提交
PlmProcessControllBaseData cData=new PlmProcessControllBaseData();
cData.setSite(data.getSite());
cData.setNodeId(paramData.getNodeId());
cData.setWorkflowId(paramData.getWorkflowId());
List<PlmProcessControllBaseData> controlList = requestManageService.getProcessSelect(cData);
if(!controlList.isEmpty()){
for (int i = 0; i < controlList.size(); i++) {
checkProcessControl(controlList.get(i).getRoleId(),controlList.get(i).getSite(),data.getQuotationNo());
}
}
// 4 接口:流程提交接口(同意) / 流程退回接口(驳回)
if ("Y".equals(data.getNodeConclusion())) { // 同意
// 创建 mainData
@ -810,6 +813,19 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
}
}
private void checkProcessControl(Integer roleId, String site, String quotationNo) {
if (roleId.equals(3)){
// 判断是的存在报价明细
List<String> quoteList = baseMapper.queryQuoteByQuotationBatchNo(site,quotationNo);
int count = baseMapper.queryQuotationByQuotationBatchNo(site,quotationNo);
if (count != quoteList.size()){
throw new RuntimeException("该询价单的报价明细不全,不能提交!");
}
}
}
}

12
src/main/resources/mapper/quotation/QuotationInformationMapper.xml

@ -620,4 +620,16 @@
</if>
</where>
</select>
<select id="queryQuoteByQuotationBatchNo" resultType="java.lang.String">
select
internal_inquiry_no
from plm_quote_detail d
where site = #{site} and d.internal_inquiry_no like #{quotationBatchNo}+'%'
group by site, internal_inquiry_no
</select>
<select id="queryQuotationByQuotationBatchNo" resultType="int">
select count(1) from plm_quotation_information where site = #{site} and quotation_batch_no = #{quotationBatchNo}
</select>
</mapper>
Loading…
Cancel
Save