Browse Source

2023-10-07 plm报价提交

master
杨奉源 3 years ago
parent
commit
e9c7678ae6
  1. 14
      src/main/java/com/spring/modules/quotation/controller/QuotationInformationController.java
  2. 3
      src/main/java/com/spring/modules/quotation/mapper/QuotationInformationMapper.java
  3. 3
      src/main/java/com/spring/modules/quotation/service/QuotationInformationService.java
  4. 89
      src/main/java/com/spring/modules/quotation/service/impl/QuotationInformationServiceImpl.java
  5. 34
      src/main/resources/mapper/quotation/QuotationInformationMapper.xml

14
src/main/java/com/spring/modules/quotation/controller/QuotationInformationController.java

@ -4,6 +4,7 @@ import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R;
import com.spring.modules.customer.vo.CustomerInformationVo;
import com.spring.modules.oss.entity.SysOssEntity;
import com.spring.modules.project.data.PlmProjectInfoData;
import com.spring.modules.project.data.PlmProjectPartData;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.service.QuotationInformationService;
@ -215,4 +216,17 @@ public class QuotationInformationController {
Integer flag = quotationInformationService.checkQuotationStatus(data);
return R.ok().put("flag", flag);
}
/**
* @description: 获取项目信息
* @author: fengyuan_yang
* @date: 2023/10/7 14:37
* @param: [data]
* @return: com.spring.common.utils.R
**/
@PostMapping("/getProjectInformation")
public R getProjectInformation(@RequestBody PlmProjectInfoData data) {
List<PlmProjectInfoData> resultList = quotationInformationService.getProjectInformation(data);
return R.ok().put("rows", resultList);
}
}

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

@ -5,6 +5,7 @@ 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.oss.entity.SysOssEntity;
import com.spring.modules.project.data.PlmProjectInfoData;
import com.spring.modules.project.data.PlmProjectPartData;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.QuotationInformationVo;
@ -22,4 +23,6 @@ public interface QuotationInformationMapper extends BaseMapper<QuotationInformat
String getQuotationNo(QuotationInformationEntity data);
List<PlmProjectPartData> getProjectPartList(PlmProjectPartData data);
List<PlmProjectInfoData> getProjectInformation(PlmProjectInfoData data);
}

3
src/main/java/com/spring/modules/quotation/service/QuotationInformationService.java

@ -3,6 +3,7 @@ package com.spring.modules.quotation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spring.common.utils.PageUtils;
import com.spring.modules.oss.entity.SysOssEntity;
import com.spring.modules.project.data.PlmProjectInfoData;
import com.spring.modules.project.data.PlmProjectPartData;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.QuotationInformationVo;
@ -43,4 +44,6 @@ public interface QuotationInformationService extends IService<QuotationInformati
List<PlmProjectPartData> getProjectPartList(PlmProjectPartData data);
Integer checkQuotationStatus(QuotationInformationVo data);
List<PlmProjectInfoData> getProjectInformation(PlmProjectInfoData data);
}

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

@ -13,6 +13,7 @@ import com.spring.modules.customer.entity.CustomerInformationEntity;
import com.spring.modules.oss.dao.SysOssDao;
import com.spring.modules.oss.entity.SysOssEntity;
import com.spring.modules.oss.service.SysOssService;
import com.spring.modules.project.data.PlmProjectInfoData;
import com.spring.modules.project.data.PlmProjectPartData;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.mapper.QuotationInformationMapper;
@ -81,6 +82,7 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
String quotationNo = quotationInformationMapper.getQuotationNo(data);
data.setQuotationNo("BJ" + quotationNo);
data.setTestPartNo(testPartNo);
data.setQuotationResultStatus(data.getQuotationResultStatus());
quotationInformationMapper.insert(data);
}
}
@ -111,13 +113,18 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
@Override
@Transactional
public void quotationInformationDelete(QuotationInformationEntity data) {
HashMap<String, Object> map = new HashMap<>();
HashMap<String, Object> map1 = new HashMap<>();
HashMap<String, Object> map2 = new HashMap<>();
for (QuotationInformationEntity entity : data.getInformationList()) {
// 条件
map.put("site", entity.getSite());
map.put("quotation_no", entity.getQuotationNo());
map1.put("site", entity.getSite());
map1.put("quotation_no", entity.getQuotationNo());
map2.put("order_ref1", entity.getSite());
map2.put("order_ref2", entity.getQuotationNo());
// 删除报价信息数据
quotationInformationMapper.deleteByMap(map);
quotationInformationMapper.deleteByMap(map1);
// 删除报价相关文件
sysOssDao.deleteByMap(map2);
}
}
@ -228,13 +235,14 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
public void saveQuotationResult(QuotationInformationEntity data) {
String[] quotationNoList = data.getQuotationNo().split(";");
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("site", data.getSite());
updateWrapper.set("actuality_quotation_date", data.getActualityQuotationDate());
updateWrapper.set("quotation_result_information", data.getQuotationResultInformation());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
for (String quotationNo : quotationNoList) {
updateWrapper.eq("site", data.getSite());
updateWrapper.eq("quotation_no", quotationNo);
updateWrapper.set("actuality_quotation_date", data.getActualityQuotationDate());
updateWrapper.set("quotation_result_information", data.getQuotationResultInformation());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
quotationInformationMapper.update(null, updateWrapper);
updateWrapper.clear();
}
}
@ -289,12 +297,18 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
**/
@Override
public void saveSubmitResult(QuotationInformationEntity data) {
UpdateWrapper updateWrapper = getUpdateWrapper(data);
updateWrapper.set("actuality_submission_date", data.getActualitySubmissionDate());
updateWrapper.set("submission_method", data.getSubmissionMethod());
updateWrapper.set("submission_remark", data.getSubmissionRemark());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
quotationInformationMapper.update(null, updateWrapper);
String[] quotationNoList = data.getQuotationNo().split(";");
UpdateWrapper updateWrapper = new UpdateWrapper();
for (String quotationNo : quotationNoList) {
updateWrapper.eq("site", data.getSite());
updateWrapper.eq("quotation_no", quotationNo);
updateWrapper.set("actuality_submission_date", data.getActualitySubmissionDate());
updateWrapper.set("submission_method", data.getSubmissionMethod());
updateWrapper.set("submission_remark", data.getSubmissionRemark());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
quotationInformationMapper.update(null, updateWrapper);
updateWrapper.clear();
}
}
/**
@ -306,13 +320,19 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
**/
@Override
public void saveCustomerResponse(QuotationInformationEntity data) {
UpdateWrapper updateWrapper = getUpdateWrapper(data);
updateWrapper.set("actuality_reply_date", data.getActualityReplyDate());
updateWrapper.set("confirm_results", data.getConfirmResults());
updateWrapper.set("confirm_by", data.getConfirmBy());
updateWrapper.set("confirm_information", data.getConfirmInformation());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
quotationInformationMapper.update(null, updateWrapper);
String[] quotationNoList = data.getQuotationNo().split(";");
UpdateWrapper updateWrapper = new UpdateWrapper();
for (String quotationNo : quotationNoList) {
updateWrapper.eq("site", data.getSite());
updateWrapper.eq("quotation_no", quotationNo);
updateWrapper.set("actuality_reply_date", data.getActualityReplyDate());
updateWrapper.set("confirm_results", data.getConfirmResults());
updateWrapper.set("confirm_by", data.getConfirmBy());
updateWrapper.set("confirm_information", data.getConfirmInformation());
updateWrapper.set("quotation_result_status", data.getQuotationResultStatus());
quotationInformationMapper.update(null, updateWrapper);
updateWrapper.clear();
}
}
/**
@ -339,33 +359,28 @@ public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInform
public Integer checkQuotationStatus(QuotationInformationVo data) {
// 判断报价进度是否符合当前按钮
boolean b = data.getInformationList().stream().anyMatch(a -> !a.getQuotationResultStatus().equals(data.getCurrentStatus()));
if (b) {
return 2;
}
// 判断选中的报价单的报价进度是否一致
// 判断选中的报价单的报价进度是否一致如果全部相等count应该等于1
long count = data.getInformationList().stream().map(QuotationInformationEntity::getQuotationResultStatus).distinct().count();
//判断如果全部相等count应该等于1
if (count != 1) {
return 3;
if (b || count != 1) {
return 2;
}
return 1;
}
/**
* @description: 获取 update 条件构造器
* @description: 获取项目信息
* @author: fengyuan_yang
* @date: 2023/9/25 15:32
* @date: 2023/10/7 14:38
* @param: [data]
* @return: com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
* @return: java.util.List<com.spring.modules.project.data.PlmProjectInfoData>
**/
public UpdateWrapper getUpdateWrapper (QuotationInformationEntity data) {
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.eq("site", data.getSite());
updateWrapper.eq("quotation_no", data.getQuotationNo());
return updateWrapper;
@Override
public List<PlmProjectInfoData> getProjectInformation(PlmProjectInfoData data) {
List<PlmProjectInfoData> list = quotationInformationMapper.getProjectInformation(data);
return list;
}
protected SysUserEntity getUser() {
return (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
}

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

@ -145,4 +145,38 @@
</if>
</where>
</select>
<!-- 获取项目信息 -->
<select id="getProjectInformation" parameterType="PlmProjectInfoData" resultType="PlmProjectInfoData">
SELECT
project_id,
ori_project_id,
project_level,
project_type_db,
project_name,
status,
project_source,
customer_id,
create_by,
create_date,
update_by,
update_date,
priority,
site,
id,
project_desc,
customer_remark,
remark,
dbo.get_projectTeamName(site, project_id, 'owner') projectOwnerName,
dbo.get_projectTeamName(site, project_id, 'manager') ProjectManagerName,
dbo.plm_get_projectBaseDesc(project_type_db,'project_type') projectType,
dbo.plm_get_projectBaseDesc(status,'project_status') projectStatusDesc,
dbo.plm_get_projectBaseDesc(project_source,'project_source') projectSourceDesc,
dbo.plm_get_customer_desc(site,customer_id) customerName,
dbo.plm_get_projectBaseDesc(priority,'project_priority') priorityDesc,
need_date,
dbo.get_projectUserRoleName(site,project_id) userRoleName
FROM plm_project_info
where site = #{site} and project_id = #{projectId}
</select>
</mapper>
Loading…
Cancel
Save