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); }