diff --git a/.idea/MyBatisCodeHelperDatasource.xml b/.idea/MyBatisCodeHelperDatasource.xml
index 59668bd4..4de3b670 100644
--- a/.idea/MyBatisCodeHelperDatasource.xml
+++ b/.idea/MyBatisCodeHelperDatasource.xml
@@ -7,6 +7,7 @@
+
diff --git a/src/main/java/com/spring/modules/sampleManagement/controller/TechnicalSpecificationController.java b/src/main/java/com/spring/modules/sampleManagement/controller/TechnicalSpecificationController.java
new file mode 100644
index 00000000..156505c3
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/controller/TechnicalSpecificationController.java
@@ -0,0 +1,33 @@
+package com.spring.modules.sampleManagement.controller;
+
+
+
+import com.spring.common.utils.PageUtils;
+import com.spring.common.utils.R;
+import com.spring.modules.project.data.PlmProjectInfoData;
+import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData;
+import com.spring.modules.sampleManagement.service.TechnicalSpecificationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+
+@RequestMapping("/technicalSpecification")
+@Controller
+public class TechnicalSpecificationController {
+
+ @Autowired
+ private TechnicalSpecificationService technicalSpecificationService;
+
+ @PostMapping(value="/technicalSpecificationListSearch")
+ @ResponseBody
+ public R technicalSpecificationListSearch(@RequestBody PlmTechnicalSpecificationSheetData data){
+ PageUtils page = technicalSpecificationService.technicalSpecificationListSearch(data);
+ return R.ok().put("page", page);
+ }
+
+}
diff --git a/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java b/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java
new file mode 100644
index 00000000..a0dd83d8
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/dao/TechnicalSpecificationMapper.java
@@ -0,0 +1,27 @@
+package com.spring.modules.sampleManagement.dao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.modules.project.data.PlmProjectInfoData;
+import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface TechnicalSpecificationMapper {
+
+ /**
+ * @Description TODO
+ * @Title technicalSpecificationListSearch
+ * @param page
+ * @param inData
+ * @author rq
+ * @date 2023/9/25 17:45
+ * @return IPage
+ * @throw
+ */
+ IPage technicalSpecificationListSearch(Page page, @Param("query") PlmTechnicalSpecificationSheetData inData);
+}
diff --git a/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java b/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
new file mode 100644
index 00000000..2e179086
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/data/PlmTechnicalSpecificationSheetData.java
@@ -0,0 +1,127 @@
+package com.spring.modules.sampleManagement.data;
+
+import com.spring.modules.sampleManagement.entity.PlmTechnicalSpecificationSheet;
+import org.apache.ibatis.type.Alias;
+
+import java.util.List;
+@Alias("PlmTechnicalSpecificationSheetData")
+public class PlmTechnicalSpecificationSheetData extends PlmTechnicalSpecificationSheet {
+
+ private String partType;
+ private String partTypeDesc;
+ private String statusDesc;
+ private String partName;
+ private String partDesc;
+ private String finalPartNo;
+ private String quotationOfficer;
+ private String engineer;
+ private String technician;
+ private String customerId;
+ private List quotationOfficerList;
+ private List engineerList;
+ private List technicianList;
+
+ public String getPartType() {
+ return partType;
+ }
+
+ public void setPartType(String partType) {
+ this.partType = partType;
+ }
+
+ public String getStatusDesc() {
+ return statusDesc;
+ }
+
+ public void setStatusDesc(String statusDesc) {
+ this.statusDesc = statusDesc;
+ }
+
+ public String getPartName() {
+ return partName;
+ }
+
+ public void setPartName(String partName) {
+ this.partName = partName;
+ }
+
+ public String getPartDesc() {
+ return partDesc;
+ }
+
+ public void setPartDesc(String partDesc) {
+ this.partDesc = partDesc;
+ }
+
+ public String getFinalPartNo() {
+ return finalPartNo;
+ }
+
+ public void setFinalPartNo(String finalPartNo) {
+ this.finalPartNo = finalPartNo;
+ }
+
+ public String getQuotationOfficer() {
+ return quotationOfficer;
+ }
+
+ public void setQuotationOfficer(String quotationOfficer) {
+ this.quotationOfficer = quotationOfficer;
+ }
+
+ public String getEngineer() {
+ return engineer;
+ }
+
+ public void setEngineer(String engineer) {
+ this.engineer = engineer;
+ }
+
+ public String getTechnician() {
+ return technician;
+ }
+
+ public void setTechnician(String technician) {
+ this.technician = technician;
+ }
+
+ public String getCustomerId() {
+ return customerId;
+ }
+
+ public void setCustomerId(String customerId) {
+ this.customerId = customerId;
+ }
+
+ public List getQuotationOfficerList() {
+ return quotationOfficerList;
+ }
+
+ public void setQuotationOfficerList(List quotationOfficerList) {
+ this.quotationOfficerList = quotationOfficerList;
+ }
+
+ public List getEngineerList() {
+ return engineerList;
+ }
+
+ public void setEngineerList(List engineerList) {
+ this.engineerList = engineerList;
+ }
+
+ public List getTechnicianList() {
+ return technicianList;
+ }
+
+ public void setTechnicianList(List technicianList) {
+ this.technicianList = technicianList;
+ }
+
+ public String getPartTypeDesc() {
+ return partTypeDesc;
+ }
+
+ public void setPartTypeDesc(String partTypeDesc) {
+ this.partTypeDesc = partTypeDesc;
+ }
+}
diff --git a/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java b/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java
new file mode 100644
index 00000000..cf9c5511
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/entity/PlmTechnicalSpecificationSheet.java
@@ -0,0 +1,235 @@
+package com.spring.modules.sampleManagement.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.spring.common.utils.QueryPage;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+public class PlmTechnicalSpecificationSheet extends QueryPage {
+ /**
+ *
+ */
+ private Integer id;
+
+ /**
+ * 工厂编码
+ */
+ private String site;
+
+ /**
+ * 参数卡编码
+ */
+ private String codeNo;
+
+ /**
+ *
+ */
+ private String proofingNo;
+
+ /**
+ * 项目编码
+ */
+ private String projectId;
+
+ /**
+ * 项目料号
+ */
+ private String testPartNo;
+
+ /**
+ * 状态编码
+ */
+ private String status;
+
+ /**
+ * 版本号
+ */
+ private String revNo;
+
+ /**
+ * 加工中心
+ */
+ private String workCenterNo;
+
+ /**
+ * ECN记录
+ */
+ private String ecnFlag;
+
+ /**
+ * ECN单据号
+ */
+ private String ecnNo;
+
+ /**
+ * ECN文档路径
+ */
+ private String ecnAddress;
+
+ /**
+ * 备注
+ */
+ private String remark;
+
+ /**
+ * 创建时间
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createDate;
+
+ /**
+ * 创建人
+ */
+ private String createBy;
+
+ /**
+ * 更新时间
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date updateDate;
+
+ /**
+ * 更新人
+ */
+ private String updateBy;
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public String getSite() {
+ return site;
+ }
+
+ public void setSite(String site) {
+ this.site = site;
+ }
+
+ public String getCodeNo() {
+ return codeNo;
+ }
+
+ public void setCodeNo(String codeNo) {
+ this.codeNo = codeNo;
+ }
+
+ public String getProofingNo() {
+ return proofingNo;
+ }
+
+ public void setProofingNo(String proofingNo) {
+ this.proofingNo = proofingNo;
+ }
+
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ public String getTestPartNo() {
+ return testPartNo;
+ }
+
+ public void setTestPartNo(String testPartNo) {
+ this.testPartNo = testPartNo;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getRevNo() {
+ return revNo;
+ }
+
+ public void setRevNo(String revNo) {
+ this.revNo = revNo;
+ }
+
+ public String getWorkCenterNo() {
+ return workCenterNo;
+ }
+
+ public void setWorkCenterNo(String workCenterNo) {
+ this.workCenterNo = workCenterNo;
+ }
+
+ public String getEcnFlag() {
+ return ecnFlag;
+ }
+
+ public void setEcnFlag(String ecnFlag) {
+ this.ecnFlag = ecnFlag;
+ }
+
+ public String getEcnNo() {
+ return ecnNo;
+ }
+
+ public void setEcnNo(String ecnNo) {
+ this.ecnNo = ecnNo;
+ }
+
+ public String getEcnAddress() {
+ return ecnAddress;
+ }
+
+ public void setEcnAddress(String ecnAddress) {
+ this.ecnAddress = ecnAddress;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public Date getCreateDate() {
+ return createDate;
+ }
+
+ public void setCreateDate(Date createDate) {
+ this.createDate = createDate;
+ }
+
+ public String getCreateBy() {
+ return createBy;
+ }
+
+ public void setCreateBy(String createBy) {
+ this.createBy = createBy;
+ }
+
+ public Date getUpdateDate() {
+ return updateDate;
+ }
+
+ public void setUpdateDate(Date updateDate) {
+ this.updateDate = updateDate;
+ }
+
+ public String getUpdateBy() {
+ return updateBy;
+ }
+
+ public void setUpdateBy(String updateBy) {
+ this.updateBy = updateBy;
+ }
+}
+
diff --git a/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
new file mode 100644
index 00000000..bc7ff2aa
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/service/Impl/TechnicalSpecificationServiceImpl.java
@@ -0,0 +1,24 @@
+package com.spring.modules.sampleManagement.service.Impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.common.utils.PageUtils;
+import com.spring.modules.project.data.PlmProjectInfoData;
+import com.spring.modules.sampleManagement.dao.TechnicalSpecificationMapper;
+import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData;
+import com.spring.modules.sampleManagement.service.TechnicalSpecificationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TechnicalSpecificationServiceImpl implements TechnicalSpecificationService {
+ @Autowired
+ private TechnicalSpecificationMapper technicalSpecificationMapper;
+
+ @Override
+ public PageUtils technicalSpecificationListSearch(PlmTechnicalSpecificationSheetData inData){
+ IPage resultList = this.technicalSpecificationMapper.technicalSpecificationListSearch(
+ new Page(inData.getPage(), inData.getLimit()), inData);
+ return new PageUtils(resultList);
+ }
+}
diff --git a/src/main/java/com/spring/modules/sampleManagement/service/TechnicalSpecificationService.java b/src/main/java/com/spring/modules/sampleManagement/service/TechnicalSpecificationService.java
new file mode 100644
index 00000000..cb713734
--- /dev/null
+++ b/src/main/java/com/spring/modules/sampleManagement/service/TechnicalSpecificationService.java
@@ -0,0 +1,20 @@
+package com.spring.modules.sampleManagement.service;
+
+import com.spring.common.utils.PageUtils;
+import com.spring.modules.project.data.PlmProjectInfoData;
+import com.spring.modules.sampleManagement.data.PlmTechnicalSpecificationSheetData;
+
+public interface TechnicalSpecificationService {
+
+ /**
+ * @param inData
+ * @return
+ * @Description 查询项目
+ * @Title
+ * @author rq
+ * @date 2023/1/29 13:34
+ * @throw
+ */
+ PageUtils technicalSpecificationListSearch(PlmTechnicalSpecificationSheetData inData);
+
+}
diff --git a/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml
new file mode 100644
index 00000000..7027fbe2
--- /dev/null
+++ b/src/main/resources/mapper/sampleManagement/TechnicalSpecificationMapper.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file