diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
index b4dfce8..0e55240 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
@@ -37,6 +37,12 @@
private Long sampleId;
/**
+ * 委托书id
+ */
+ @TableField("order_id")
+ private Long orderId;
+
+ /**
* 创建时间
*/
@TableField("create_time")
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
index b4dfce8..0e55240 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
@@ -37,6 +37,12 @@
private Long sampleId;
/**
+ * 委托书id
+ */
+ @TableField("order_id")
+ private Long orderId;
+
+ /**
* 创建时间
*/
@TableField("create_time")
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
index 05f32a5..85ac8d6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.Impl.business;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务实现类
@@ -16,5 +20,11 @@
*/
@Service
public class BusinessOutsourceProjectSampleRelationServiceImpl extends ServiceImpl implements IBusinessOutsourceProjectSampleRelationService {
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper relationMapper;
+ @Override
+ public List selectSampleList(Long projectId) {
+ return relationMapper.selectSampleList(projectId);
+ }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
index b4dfce8..0e55240 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
@@ -37,6 +37,12 @@
private Long sampleId;
/**
+ * 委托书id
+ */
+ @TableField("order_id")
+ private Long orderId;
+
+ /**
* 创建时间
*/
@TableField("create_time")
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
index 05f32a5..85ac8d6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.Impl.business;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务实现类
@@ -16,5 +20,11 @@
*/
@Service
public class BusinessOutsourceProjectSampleRelationServiceImpl extends ServiceImpl implements IBusinessOutsourceProjectSampleRelationService {
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper relationMapper;
+ @Override
+ public List selectSampleList(Long projectId) {
+ return relationMapper.selectSampleList(projectId);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
index ca870c1..f9d060f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.service.Impl.business;
import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
@@ -9,6 +10,7 @@
import com.casic.missiles.dto.BaseApprovalSubmitRequest;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse;
import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse;
@@ -21,9 +23,12 @@
import com.casic.missiles.enums.system.ApprovalStatusEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectMapper;
+import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProject;
+import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.service.IBaseApprovalService;
+import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
import com.casic.missiles.service.business.IBusinessOutsourceProjectService;
import com.casic.missiles.service.flowable.ApprovalOperateService;
import com.casic.missiles.utils.ConvertUtils;
@@ -55,6 +60,10 @@
private IBaseApprovalService baseApprovalService;
@Autowired
private BusinessOutsourceProjectMapper projectMapper;
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper projectSampleRelationMapper;
+ @Autowired
+ private IBusinessOutsourceProjectSampleRelationService projectSampleRelationService;
@Resource
private AbstractDictService dictService;
@Resource
@@ -63,7 +72,7 @@
private ApprovalOperateService approvalOperateService;
@Override
- public List projectApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
+ public List projectApplyApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
AuthUser user = ShiroKit.getUser();
Assert.isFalse(Objects.isNull(user), () -> {
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
@@ -81,7 +90,8 @@
}
@Override
- public ReturnDTO saveProject(BusinessOutsourceProject outsourceProject) {
+ @Transactional
+ public ReturnDTO saveProjectApply(BusinessOutsourceProject outsourceProject) {
//生成编号
Long maxNo = projectMapper.selectMaxOutsourcerNo();
String projectNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.OUTSOURCE_PROJECT_PREFIX, maxNo);
@@ -95,6 +105,8 @@
Assert.isFalse(insertFlag <= 0, () -> {
throw new BusinessException(BusinessExceptionEnum.OUTSOURCE_PROJECT_SAVE_FAILED);
});
+ //保存关联样品
+ saveBatchRelation(outsourceProject);
OutsourceProjectSaveResponse saveResponse = new OutsourceProjectSaveResponse();
saveResponse.setId(outsourceProject.getId());
saveResponse.setProjectNo(projectNo);
@@ -103,9 +115,14 @@
@Override
@Transactional
- public ReturnDTO draftUpdate(BusinessOutsourceProject outsourceProject) {
+ public ReturnDTO projectApplyDraftUpdate(BusinessOutsourceProject outsourceProject) {
int updateFlag = projectMapper.updateById(outsourceProject);
if (updateFlag > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -113,7 +130,7 @@
@Override
@Transactional
- public ReturnDTO submitProject(BaseApprovalSubmitRequest request) {
+ public ReturnDTO submitProjectApply(BaseApprovalSubmitRequest request) {
//已取消后的提交需先删除原有实例
if (StringUtils.isNotEmpty(request.getProcessId())){
runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED);
@@ -140,8 +157,12 @@
}
@Override
- public ReturnDTO deleteProject(Long id) {
+ public ReturnDTO projectDelete(Long id) {
if (projectMapper.deleteById(id) > 0) {
+ //关联样品删除
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", id);
+ projectSampleRelationService.remove(wrapper);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -151,11 +172,14 @@
public ReturnDTO projectDetail(Long id) throws Exception {
BusinessOutsourceProject detailResponse = projectMapper.selectProjectById(id);
DictCodeUtils.convertDictCodeToName(detailResponse);
+ //关联样品查询
+ List sampleList = projectSampleRelationService.selectSampleList(id);
+ detailResponse.setSampleList(sampleList);
return ReturnUtil.success(detailResponse);
}
@Override
- public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
+ public ReturnDTO projectApplyApprovalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
@@ -174,6 +198,12 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (projectMapper.updateById(outsourceProject) > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
+
baseApprovalService.failUpdate(outsourceProject.getApplyProcessId());
return ReturnUtil.success();
}
@@ -181,6 +211,18 @@
}
+ private boolean saveBatchRelation(BusinessOutsourceProject outsourceProject) {
+ List relationList = new ArrayList<>();
+ outsourceProject.getDtos().forEach(dto -> {
+ BusinessOutsourceProjectSampleRelation relation = new BusinessOutsourceProjectSampleRelation();
+ relation.setProjectId(outsourceProject.getId());
+ relation.setSampleId(dto.getSampleId());
+ relation.setOrderId(dto.getOrderId());
+ relationList.add(relation);
+ });
+ return projectSampleRelationService.saveBatch(relationList);
+ }
+
private List handleApprovalStatus(Page page, OutsourceProjectApprovalListRequest request) {
List approvalList = new ArrayList<>();
List businessKeys = new ArrayList<>();
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
index b4dfce8..0e55240 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
@@ -37,6 +37,12 @@
private Long sampleId;
/**
+ * 委托书id
+ */
+ @TableField("order_id")
+ private Long orderId;
+
+ /**
* 创建时间
*/
@TableField("create_time")
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
index 05f32a5..85ac8d6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.Impl.business;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务实现类
@@ -16,5 +20,11 @@
*/
@Service
public class BusinessOutsourceProjectSampleRelationServiceImpl extends ServiceImpl implements IBusinessOutsourceProjectSampleRelationService {
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper relationMapper;
+ @Override
+ public List selectSampleList(Long projectId) {
+ return relationMapper.selectSampleList(projectId);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
index ca870c1..f9d060f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.service.Impl.business;
import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
@@ -9,6 +10,7 @@
import com.casic.missiles.dto.BaseApprovalSubmitRequest;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse;
import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse;
@@ -21,9 +23,12 @@
import com.casic.missiles.enums.system.ApprovalStatusEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectMapper;
+import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProject;
+import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.service.IBaseApprovalService;
+import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
import com.casic.missiles.service.business.IBusinessOutsourceProjectService;
import com.casic.missiles.service.flowable.ApprovalOperateService;
import com.casic.missiles.utils.ConvertUtils;
@@ -55,6 +60,10 @@
private IBaseApprovalService baseApprovalService;
@Autowired
private BusinessOutsourceProjectMapper projectMapper;
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper projectSampleRelationMapper;
+ @Autowired
+ private IBusinessOutsourceProjectSampleRelationService projectSampleRelationService;
@Resource
private AbstractDictService dictService;
@Resource
@@ -63,7 +72,7 @@
private ApprovalOperateService approvalOperateService;
@Override
- public List projectApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
+ public List projectApplyApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
AuthUser user = ShiroKit.getUser();
Assert.isFalse(Objects.isNull(user), () -> {
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
@@ -81,7 +90,8 @@
}
@Override
- public ReturnDTO saveProject(BusinessOutsourceProject outsourceProject) {
+ @Transactional
+ public ReturnDTO saveProjectApply(BusinessOutsourceProject outsourceProject) {
//生成编号
Long maxNo = projectMapper.selectMaxOutsourcerNo();
String projectNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.OUTSOURCE_PROJECT_PREFIX, maxNo);
@@ -95,6 +105,8 @@
Assert.isFalse(insertFlag <= 0, () -> {
throw new BusinessException(BusinessExceptionEnum.OUTSOURCE_PROJECT_SAVE_FAILED);
});
+ //保存关联样品
+ saveBatchRelation(outsourceProject);
OutsourceProjectSaveResponse saveResponse = new OutsourceProjectSaveResponse();
saveResponse.setId(outsourceProject.getId());
saveResponse.setProjectNo(projectNo);
@@ -103,9 +115,14 @@
@Override
@Transactional
- public ReturnDTO draftUpdate(BusinessOutsourceProject outsourceProject) {
+ public ReturnDTO projectApplyDraftUpdate(BusinessOutsourceProject outsourceProject) {
int updateFlag = projectMapper.updateById(outsourceProject);
if (updateFlag > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -113,7 +130,7 @@
@Override
@Transactional
- public ReturnDTO submitProject(BaseApprovalSubmitRequest request) {
+ public ReturnDTO submitProjectApply(BaseApprovalSubmitRequest request) {
//已取消后的提交需先删除原有实例
if (StringUtils.isNotEmpty(request.getProcessId())){
runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED);
@@ -140,8 +157,12 @@
}
@Override
- public ReturnDTO deleteProject(Long id) {
+ public ReturnDTO projectDelete(Long id) {
if (projectMapper.deleteById(id) > 0) {
+ //关联样品删除
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", id);
+ projectSampleRelationService.remove(wrapper);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -151,11 +172,14 @@
public ReturnDTO projectDetail(Long id) throws Exception {
BusinessOutsourceProject detailResponse = projectMapper.selectProjectById(id);
DictCodeUtils.convertDictCodeToName(detailResponse);
+ //关联样品查询
+ List sampleList = projectSampleRelationService.selectSampleList(id);
+ detailResponse.setSampleList(sampleList);
return ReturnUtil.success(detailResponse);
}
@Override
- public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
+ public ReturnDTO projectApplyApprovalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
@@ -174,6 +198,12 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (projectMapper.updateById(outsourceProject) > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
+
baseApprovalService.failUpdate(outsourceProject.getApplyProcessId());
return ReturnUtil.success();
}
@@ -181,6 +211,18 @@
}
+ private boolean saveBatchRelation(BusinessOutsourceProject outsourceProject) {
+ List relationList = new ArrayList<>();
+ outsourceProject.getDtos().forEach(dto -> {
+ BusinessOutsourceProjectSampleRelation relation = new BusinessOutsourceProjectSampleRelation();
+ relation.setProjectId(outsourceProject.getId());
+ relation.setSampleId(dto.getSampleId());
+ relation.setOrderId(dto.getOrderId());
+ relationList.add(relation);
+ });
+ return projectSampleRelationService.saveBatch(relationList);
+ }
+
private List handleApprovalStatus(Page page, OutsourceProjectApprovalListRequest request) {
List approvalList = new ArrayList<>();
List businessKeys = new ArrayList<>();
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
index bacc4d9..e455218 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
@@ -1,8 +1,11 @@
package com.casic.missiles.service.business;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务类
@@ -13,4 +16,5 @@
*/
public interface IBusinessOutsourceProjectSampleRelationService extends IService {
+ List selectSampleList(Long projectId);
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 394626e..e792441 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -15,6 +15,7 @@
TRAIN_LOG_ID_NULL(2400, "培训记录主键不能为空"),
ORGANIZE_ID_NULL(2400, "计量组织主键不能为空"),
PROCESS_ID_NULL(2400, "流程实例id不能为空"),
+ SAMPLE_ORDER_IDS_NULL(2400, "样品&委托书列表不能为空"),
EDUCATION_NOT_EXISTENCE(2300, "导入文化程度不存在;"),
TECHNOLOGY_JOB_NOT_EXISTENCE(2300, "导入技术职位不存在;"),
ADMINISTRATION_JOB_NOT_EXISTENCE(2300, "导入行政职务不存在;"),
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
index 092011b..732e30b 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOutsourceProjectSampleRelationMapper.java
@@ -1,7 +1,11 @@
package com.casic.missiles.mapper.business;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
*
@@ -13,4 +17,5 @@
*/
public interface BusinessOutsourceProjectSampleRelationMapper extends BaseMapper {
+ List selectSampleList(@Param("projectId") Long projectId);
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
index 5ac4463..1e6b3d3 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOutsourceProjectSampleRelationMapper.xml
@@ -7,6 +7,7 @@
+
@@ -16,4 +17,11 @@
id, project_id, sample_id, create_time, update_time
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
new file mode 100644
index 0000000..6bb77de
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleDTO.java
@@ -0,0 +1,19 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Description: 分包项目中样品委托书入参
+ * @Author: wangpeng
+ * @Date: 2023/3/28 17:14
+ */
+@ApiModel
+@Data
+public class OrderSampleDTO {
+ @ApiModelProperty(value = "样品id", dataType = "Long", required = true)
+ private Long sampleId;
+ @ApiModelProperty(value = "委托书id", dataType = "Long", required = true)
+ private Long orderId;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
new file mode 100644
index 0000000..a934ce3
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/outsource/OrderSampleResponseDTO.java
@@ -0,0 +1,28 @@
+package com.casic.missiles.dto.business.outsource;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OrderSampleResponseDTO {
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "委托方名称", dataType = "String")
+ private String customerName;
+
+ @ApiModelProperty(value = "委托书编号", dataType = "String")
+ private String orderCode;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
index 1084a81..3b88cf1 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProject.java
@@ -10,12 +10,15 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.dto.business.outsource.OrderSampleDTO;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -206,5 +209,11 @@
@TableField("update_time")
private String updateTime;
+ @ApiModelProperty(value = "样品&委托书列表(保存/编辑草稿接口入参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List dtos;
+ @ApiModelProperty(value = "样品列表(详情接口出参使用)", dataType = "List")
+ @TableField(exist = false)
+ private List sampleList;
}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
index b4dfce8..0e55240 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOutsourceProjectSampleRelation.java
@@ -37,6 +37,12 @@
private Long sampleId;
/**
+ * 委托书id
+ */
+ @TableField("order_id")
+ private Long orderId;
+
+ /**
* 创建时间
*/
@TableField("create_time")
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
index 05f32a5..85ac8d6 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectSampleRelationServiceImpl.java
@@ -1,11 +1,15 @@
package com.casic.missiles.service.Impl.business;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务实现类
@@ -16,5 +20,11 @@
*/
@Service
public class BusinessOutsourceProjectSampleRelationServiceImpl extends ServiceImpl implements IBusinessOutsourceProjectSampleRelationService {
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper relationMapper;
+ @Override
+ public List selectSampleList(Long projectId) {
+ return relationMapper.selectSampleList(projectId);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
index ca870c1..f9d060f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOutsourceProjectServiceImpl.java
@@ -1,6 +1,7 @@
package com.casic.missiles.service.Impl.business;
import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.core.application.service.AbstractDictService;
@@ -9,6 +10,7 @@
import com.casic.missiles.dto.BaseApprovalSubmitRequest;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListRequest;
import com.casic.missiles.dto.business.outsource.OutsourceProjectApprovalListResponse;
import com.casic.missiles.dto.business.outsource.OutsourceProjectSaveResponse;
@@ -21,9 +23,12 @@
import com.casic.missiles.enums.system.ApprovalStatusEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOutsourceProjectMapper;
+import com.casic.missiles.mapper.business.BusinessOutsourceProjectSampleRelationMapper;
import com.casic.missiles.model.business.BusinessOutsourceProject;
+import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
import com.casic.missiles.model.response.ResponseData;
import com.casic.missiles.service.IBaseApprovalService;
+import com.casic.missiles.service.business.IBusinessOutsourceProjectSampleRelationService;
import com.casic.missiles.service.business.IBusinessOutsourceProjectService;
import com.casic.missiles.service.flowable.ApprovalOperateService;
import com.casic.missiles.utils.ConvertUtils;
@@ -55,6 +60,10 @@
private IBaseApprovalService baseApprovalService;
@Autowired
private BusinessOutsourceProjectMapper projectMapper;
+ @Autowired
+ private BusinessOutsourceProjectSampleRelationMapper projectSampleRelationMapper;
+ @Autowired
+ private IBusinessOutsourceProjectSampleRelationService projectSampleRelationService;
@Resource
private AbstractDictService dictService;
@Resource
@@ -63,7 +72,7 @@
private ApprovalOperateService approvalOperateService;
@Override
- public List projectApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
+ public List projectApplyApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception {
AuthUser user = ShiroKit.getUser();
Assert.isFalse(Objects.isNull(user), () -> {
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
@@ -81,7 +90,8 @@
}
@Override
- public ReturnDTO saveProject(BusinessOutsourceProject outsourceProject) {
+ @Transactional
+ public ReturnDTO saveProjectApply(BusinessOutsourceProject outsourceProject) {
//生成编号
Long maxNo = projectMapper.selectMaxOutsourcerNo();
String projectNo = NumberGeneratorUtil.getContactNo(PrefixCodeEnum.OUTSOURCE_PROJECT_PREFIX, maxNo);
@@ -95,6 +105,8 @@
Assert.isFalse(insertFlag <= 0, () -> {
throw new BusinessException(BusinessExceptionEnum.OUTSOURCE_PROJECT_SAVE_FAILED);
});
+ //保存关联样品
+ saveBatchRelation(outsourceProject);
OutsourceProjectSaveResponse saveResponse = new OutsourceProjectSaveResponse();
saveResponse.setId(outsourceProject.getId());
saveResponse.setProjectNo(projectNo);
@@ -103,9 +115,14 @@
@Override
@Transactional
- public ReturnDTO draftUpdate(BusinessOutsourceProject outsourceProject) {
+ public ReturnDTO projectApplyDraftUpdate(BusinessOutsourceProject outsourceProject) {
int updateFlag = projectMapper.updateById(outsourceProject);
if (updateFlag > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -113,7 +130,7 @@
@Override
@Transactional
- public ReturnDTO submitProject(BaseApprovalSubmitRequest request) {
+ public ReturnDTO submitProjectApply(BaseApprovalSubmitRequest request) {
//已取消后的提交需先删除原有实例
if (StringUtils.isNotEmpty(request.getProcessId())){
runtimeService.updateBusinessStatus(request.getProcessId(), ApprovalStatusEnum.DELETED);
@@ -140,8 +157,12 @@
}
@Override
- public ReturnDTO deleteProject(Long id) {
+ public ReturnDTO projectDelete(Long id) {
if (projectMapper.deleteById(id) > 0) {
+ //关联样品删除
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", id);
+ projectSampleRelationService.remove(wrapper);
return ReturnUtil.success();
}
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
@@ -151,11 +172,14 @@
public ReturnDTO projectDetail(Long id) throws Exception {
BusinessOutsourceProject detailResponse = projectMapper.selectProjectById(id);
DictCodeUtils.convertDictCodeToName(detailResponse);
+ //关联样品查询
+ List sampleList = projectSampleRelationService.selectSampleList(id);
+ detailResponse.setSampleList(sampleList);
return ReturnUtil.success(detailResponse);
}
@Override
- public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
+ public ReturnDTO projectApplyApprovalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
@@ -174,6 +198,12 @@
throw new BusinessException(BusinessExceptionEnum.LOGIN_USER_ACQUIRE_FAILED);
});
if (projectMapper.updateById(outsourceProject) > 0) {
+ //关联样品编辑
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("project_id", outsourceProject.getId());
+ projectSampleRelationService.remove(wrapper);
+ saveBatchRelation(outsourceProject);
+
baseApprovalService.failUpdate(outsourceProject.getApplyProcessId());
return ReturnUtil.success();
}
@@ -181,6 +211,18 @@
}
+ private boolean saveBatchRelation(BusinessOutsourceProject outsourceProject) {
+ List relationList = new ArrayList<>();
+ outsourceProject.getDtos().forEach(dto -> {
+ BusinessOutsourceProjectSampleRelation relation = new BusinessOutsourceProjectSampleRelation();
+ relation.setProjectId(outsourceProject.getId());
+ relation.setSampleId(dto.getSampleId());
+ relation.setOrderId(dto.getOrderId());
+ relationList.add(relation);
+ });
+ return projectSampleRelationService.saveBatch(relationList);
+ }
+
private List handleApprovalStatus(Page page, OutsourceProjectApprovalListRequest request) {
List approvalList = new ArrayList<>();
List businessKeys = new ArrayList<>();
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
index bacc4d9..e455218 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectSampleRelationService.java
@@ -1,8 +1,11 @@
package com.casic.missiles.service.business;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.casic.missiles.dto.business.outsource.OrderSampleResponseDTO;
import com.casic.missiles.model.business.BusinessOutsourceProjectSampleRelation;
+import java.util.List;
+
/**
*
* 分包项目-样品关联表 服务类
@@ -13,4 +16,5 @@
*/
public interface IBusinessOutsourceProjectSampleRelationService extends IService {
+ List selectSampleList(Long projectId);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectService.java
index cf97666..ba6238f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOutsourceProjectService.java
@@ -22,19 +22,19 @@
*/
public interface IBusinessOutsourceProjectService extends IService {
- List projectApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception;
+ List projectApplyApprovalListPage(OutsourceProjectApprovalListRequest request, Page page) throws Exception;
- ReturnDTO saveProject(BusinessOutsourceProject outsourceProject);
+ ReturnDTO saveProjectApply(BusinessOutsourceProject outsourceProject);
- ReturnDTO draftUpdate(BusinessOutsourceProject outsourceProject);
+ ReturnDTO projectApplyDraftUpdate(BusinessOutsourceProject outsourceProject);
- ReturnDTO submitProject(BaseApprovalSubmitRequest request);
+ ReturnDTO submitProjectApply(BaseApprovalSubmitRequest request);
- ReturnDTO deleteProject(Long id);
+ ReturnDTO projectDelete(Long id);
ReturnDTO projectDetail(Long id) throws Exception;
- ReturnDTO approvalDelete(ApprovalDeleteRequest request);
+ ReturnDTO projectApplyApprovalDelete(ApprovalDeleteRequest request);
ReturnDTO failUpdate(BusinessOutsourceProject outsourceProject);
}