Browse Source

2023-09-12 plm报价提交

master
杨奉源 3 years ago
parent
commit
da8d96268f
  1. 38
      src/main/java/com/spring/modules/quotation/controller/QuotationInformationController.java
  2. 141
      src/main/java/com/spring/modules/quotation/entity/QuotationInformationEntity.java
  3. 15
      src/main/java/com/spring/modules/quotation/mapper/QuotationInformationMapper.java
  4. 12
      src/main/java/com/spring/modules/quotation/service/QuotationInformationService.java
  5. 32
      src/main/java/com/spring/modules/quotation/service/impl/QuotationInformationServiceImpl.java
  6. 44
      src/main/java/com/spring/modules/quotation/vo/QuotationInformationVo.java
  7. 6
      src/main/resources/mapper/customer/CustomerInformationMapper.xml
  8. 83
      src/main/resources/mapper/quotation/QuotationInformationMapper.xml

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

@ -0,0 +1,38 @@
package com.spring.modules.quotation.controller;
import com.spring.common.utils.PageUtils;
import com.spring.common.utils.R;
import com.spring.modules.customer.vo.CustomerInformationVo;
import com.spring.modules.quotation.service.QuotationInformationService;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @description: 报价信息
* @author: fengyuan_yang
* @date: 2023/9/11 11:46
* @param:
* @return:
**/
@RestController
@RequestMapping("plm/quotationInformation")
public class QuotationInformationController {
@Autowired
private QuotationInformationService quotationInformationService;
/**
* @description: 报价信息列表
* @author: fengyuan_yang
* @date: 2023/9/11 13:04
* @param: [data]
* @return: com.spring.common.utils.R
**/
@PostMapping(value="/quotationInformationSearch")
@ResponseBody
public R quotationInformationSearch(@RequestBody QuotationInformationVo data){
PageUtils page = quotationInformationService.quotationInformationSearch(data);
return R.ok().put("page", page);
}
}

141
src/main/java/com/spring/modules/quotation/entity/QuotationInformationEntity.java

@ -0,0 +1,141 @@
package com.spring.modules.quotation.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spring.common.utils.QueryPage;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("plm_quotation_information")
public class QuotationInformationEntity extends QueryPage implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 工厂
**/
private String site;
/**
* 报价单号
**/
private String quotationNo;
/**
* 客户编码
**/
private String customerNo;
/**
* 项目编码
**/
private String projectId;
/**
* 跟单人员
**/
private String tracker;
/**
* 报价人员
**/
private String quoter;
/**
* 状态
**/
private String quotationStatus;
/**
* 产品编码
**/
private String testPartNo;
/**
* 优先等级
**/
private String priorityLevel;
/**
* 要求完成日期
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date requiredCompletionDate;
/**
* 备注
**/
private String remark;
/**
* 技术注意事项
**/
private String technicalConsiderations;
/**
* 客户负责人
**/
private String customerResponsiblePerson;
/**
* 客户负责人联系方式
**/
private String customerResponsiblePersonPhone;
/**
* 接下来的状态
**/
private String nextToDo;
/**
* 实际报价日期
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualityQuotationDate;
/**
* 报价结果信息
**/
private String quotationResultInformation;
/**
* 实际提交客户日期
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualitySubmissionDate;
/**
* 提交方式
**/
private String submissionMethod;
/**
* 提交备注
**/
private String submissionRemark;
/**
* 实际回复日期
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualityReplyDate;
/**
* 客户确认结果
**/
private String confirmResults;
/**
* 客户确认人
**/
private String confirmBy;
/**
* 客户回复信息
**/
private String confirmInformation;
/**
* 创建时间
**/
@TableField(fill = FieldFill.INSERT)
private Date createDate;
/**
* 创建人
**/
private String createBy;
/**
* 更新时间
**/
@TableField(fill = FieldFill.UPDATE)
private Date updateDate;
/**
* 更新人
**/
private String updateBy;
}

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

@ -0,0 +1,15 @@
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.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface QuotationInformationMapper extends BaseMapper<QuotationInformationEntity> {
IPage<QuotationInformationVo> quotationInformationSearch(Page<QuotationInformationVo> quotationInformationVoPage, @Param("query") QuotationInformationVo data);
}

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

@ -0,0 +1,12 @@
package com.spring.modules.quotation.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spring.common.utils.PageUtils;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.vo.QuotationInformationVo;
public interface QuotationInformationService extends IService<QuotationInformationEntity> {
PageUtils quotationInformationSearch(QuotationInformationVo data);
}

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

@ -0,0 +1,32 @@
package com.spring.modules.quotation.service.impl;
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.PageUtils;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import com.spring.modules.quotation.mapper.QuotationInformationMapper;
import com.spring.modules.quotation.service.QuotationInformationService;
import com.spring.modules.quotation.vo.QuotationInformationVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class QuotationInformationServiceImpl extends ServiceImpl<QuotationInformationMapper, QuotationInformationEntity> implements QuotationInformationService {
@Autowired
private QuotationInformationMapper quotationInformationMapper;
/**
* @description: 报价信息列表
* @author: fengyuan_yang
* @date: 2023/9/11 13:08
* @param: [data]
* @return: com.spring.common.utils.PageUtils
**/
@Override
public PageUtils quotationInformationSearch(QuotationInformationVo data) {
IPage<QuotationInformationVo> resultList = this.quotationInformationMapper.quotationInformationSearch(new Page<QuotationInformationVo>(data.getPage(), data.getLimit()), data);
return new PageUtils(resultList);
}
}

44
src/main/java/com/spring/modules/quotation/vo/QuotationInformationVo.java

@ -0,0 +1,44 @@
package com.spring.modules.quotation.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.spring.modules.quotation.entity.QuotationInformationEntity;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class QuotationInformationVo extends QuotationInformationEntity {
/**
* 客户名称
**/
private String customerDesc;
/**
* 项目名称
**/
private String projectName;
/**
* 跟单人员名称
**/
private String trackerName;
/**
* 报价人员名称
**/
private String quoterName;
/**
* 产品名称
**/
private String testPartDesc;
/**
* 要求完成日期(开始)
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date startDate;
/**
* 要求完成日期(结束)
**/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date endDate;
}

6
src/main/resources/mapper/customer/CustomerInformationMapper.xml

@ -22,9 +22,9 @@
create_by, create_by,
update_date, update_date,
update_by, update_by,
dbo.plm_Get_contactName(site, customer_no, 'Y') as contactName,
dbo.plm_Get_contactPhoneNumber(site, customer_no, 'Y') as contactPhoneNumber1,
dbo.plm_Get_addressName(site, customer_no, 'Y') as addressName
dbo.plm_get_contactName(site, customer_no, 'Y') as contactName,
dbo.plm_get_contactPhoneNumber(site, customer_no, 'Y') as contactPhoneNumber1,
dbo.plm_get_addressName(site, customer_no, 'Y') as addressName
FROM plm_customer_information FROM plm_customer_information
<where> <where>
site = #{query.site} site = #{query.site}

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

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.spring.modules.quotation.mapper.QuotationInformationMapper">
<!-- 客户信息列表 -->
<select id="quotationInformationSearch" parameterType="com.spring.modules.quotation.vo.QuotationInformationVo" resultType="com.spring.modules.quotation.vo.QuotationInformationVo">
SELECT
site,
quotation_no,
customer_no,
dbo.plm_get_customer_desc(site, customer_no) as customerDesc,
project_id,
dbo.plm_get_project_name(site, project_id) as projectName,
tracker,
dbo.plm_get_user_display(site, tracker) as trackerName,
quoter,
dbo.plm_get_user_display(site, quoter) as quoterName,
quotation_status,
test_part_no,
dbo.plm_get_test_part_desc(site, test_part_no) as testPartDesc,
priority_level,
required_completion_date,
remark,
technical_considerations,
customer_responsible_person,
customer_responsible_person_phone,
create_date,
create_by,
update_date,
update_by,
next_to_do,
actuality_quotation_date,
quotation_result_information,
actuality_submission_date,
submission_method,
submission_remark,
actuality_reply_date,
confirm_results,
confirm_by,
confirm_information
FROM plm_quotation_information
<where>
site = #{query.site}
<if test = "query.customerNo != null and query.customerNo != ''">
AND customer_no like #{query.customerNo}
</if>
<if test = "query.customerDesc != null and query.customerDesc != ''">
AND customer_desc like #{query.customerDesc}
</if>
<if test = "query.projectId != null and query.projectId != ''">
AND project_id like #{query.projectId}
</if>
<if test = "query.projectName != null and query.projectName != ''">
AND project_name like #{query.projectName}
</if>
<if test = "query.trackerName != null and query.trackerName != ''">
AND dbo.plm_get_user_display(site, tracker) like #{query.trackerName}
</if>
<if test = "query.quoterName != null and query.quoterName != ''">
AND dbo.plm_get_user_display(site, quoter) like #{query.quoterName}
</if>
<if test = "query.testPartNo != null and query.testPartNo != ''">
AND test_part_no like #{query.testPartNo}
</if>
<if test = "query.testPartDesc != null and query.testPartDesc != ''">
AND dbo.plm_get_test_part_desc(site, test_part_no) like #{query.testPartDesc}
</if>
<if test = "query.quotationStatus != null and query.quotationStatus != ''">
AND quotation_status = #{query.quotationStatus}
</if>
<if test = "query.priorityLevel != null and query.priorityLevel != ''">
AND priority_level = #{query.priorityLevel}
</if>
<if test="query.startDate != null ">
AND required_completion_date >= #{query.startDate}
</if>
<if test="query.endDate != null ">
AND #{query.endDate} >= required_completion_date
</if>
</where>
</select>
</mapper>
Loading…
Cancel
Save