Commit 6137aed157e5950c4d95adb26bd6a5d4dabd36ab

Authored by yeqianyong
1 parent 55df39dd

楚江erp:样品反馈单和样品追踪单相关基础接口开发

Showing 20 changed files with 1505 additions and 0 deletions
@@ -1095,3 +1095,60 @@ CREATE TABLE `pending_delivery_order` ( @@ -1095,3 +1095,60 @@ CREATE TABLE `pending_delivery_order` (
1095 `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', 1095 `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
1096 PRIMARY KEY (`id`) 1096 PRIMARY KEY (`id`)
1097 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='待交付订单' 1097 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='待交付订单'
  1098 +
  1099 +
  1100 +create table if not exists sample_result_feedback(
  1101 + id varchar(32) primary key comment 'ID',
  1102 + customer_id varchar(32) not null comment '客户ID',
  1103 + workshop_id varchar(32) not null comment '所属分厂',
  1104 + order_id varchar(32) not null comment '订单ID',
  1105 + create_by_id varchar(32) not null comment '创建人ID',
  1106 + update_by_id varchar(32) not null comment '更新人ID',
  1107 + create_time datetime default now() comment '创建时间',
  1108 + update_time datetime default now() comment '更新时间'
  1109 +) comment '产品试样结果反馈单';
  1110 +
  1111 +create table if not exists sample_result_tracking(
  1112 + id varchar(32) primary key comment 'ID',
  1113 + customer_id varchar(32) not null comment '客户ID',
  1114 + workshop_id varchar(32) not null comment '所属分厂',
  1115 + order_id varchar(32) not null comment '订单ID',
  1116 + surface varchar(200) comment '表面描述',
  1117 + performance varchar(200) comment '性能描述',
  1118 + tolerance varchar(200) comment '公差描述',
  1119 + banding_pattern varchar(200) comment '带型描述',
  1120 + packaging varchar(200) comment '包装描述',
  1121 + weight varchar(200) comment '件重描述',
  1122 + other varchar(200) comment '其它描述',
  1123 + create_by_id varchar(32) not null comment '创建人ID',
  1124 + update_by_id varchar(32) not null comment '更新人ID',
  1125 + create_time datetime default now() comment '创建时间',
  1126 + update_time datetime default now() comment '更新时间'
  1127 +) comment '产品试样结果跟踪单';
  1128 +
  1129 +create table if not exists sample_feedback_tracking_detail(
  1130 + id varchar(32) primary key comment 'ID',
  1131 + feedback_id varchar(32) not null comment '反馈单ID',
  1132 + tracking_id varchar(32) not null comment '跟踪单ID',
  1133 + order_id varchar(32) not null comment '订单ID',
  1134 + order_spec_id varchar(32) not null comment '订单规格ID',
  1135 + shipment_order_id varchar(32) not null comment '发货单ID',
  1136 + shipment_detail_id varchar(32) not null comment '发货明细ID',
  1137 + brand varchar(100) comment '牌号',
  1138 + thickness decimal(10, 4) default null comment '厚度',
  1139 + thickness_tol_pos decimal(10, 4) default null comment '厚度公差正',
  1140 + thickness_tol_neg decimal(10, 4) default null comment '厚度公差负',
  1141 + width decimal(10, 4) default null comment '宽度',
  1142 + width_tol_pos decimal(10, 4) default null comment '宽度公差正',
  1143 + width_tol_neg decimal(10, 4) default null comment '宽度公差负',
  1144 + length decimal(10, 4) default null comment '长度',
  1145 + length_tol_pos decimal(10, 4) default null comment '长度公差正',
  1146 + length_tol_neg decimal(10, 4) default null comment '长度公差负',
  1147 + status varchar(50) comment '状态',
  1148 + shipment_date date default null comment '发货日期',
  1149 + quantity double default null comment '实发数量',
  1150 + create_by_id varchar(32) not null comment '创建人ID',
  1151 + update_by_id varchar(32) not null comment '更新人ID',
  1152 + create_time datetime default now() comment '创建时间',
  1153 + update_time datetime default now() comment '更新时间'
  1154 +) comment '样品反馈和追踪明细';
  1 +package com.lframework.xingyun.sc.bo.sample.feedback;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
  5 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  6 +import com.lframework.starter.common.constants.StringPool;
  7 +import com.lframework.starter.web.core.bo.BaseBo;
  8 +import java.time.LocalDateTime;
  9 +import java.util.List;
  10 +
  11 +import io.swagger.annotations.ApiModelProperty;
  12 +
  13 +import lombok.Data;
  14 +
  15 +/**
  16 + * <p>
  17 + * 产品试样结果反馈单 GetBo
  18 + * </p>
  19 + *
  20 + */
  21 +@Data
  22 +public class GetSampleResultFeedbackBo extends BaseBo<SampleResultFeedback> {
  23 +
  24 + /**
  25 + * ID
  26 + */
  27 + @ApiModelProperty("ID")
  28 + private String id;
  29 +
  30 + /**
  31 + * 客户ID
  32 + */
  33 + @ApiModelProperty("客户ID")
  34 + private String customerId;
  35 +
  36 + /**
  37 + * 客户名称
  38 + */
  39 + @ApiModelProperty("客户名称")
  40 + private String customerName;
  41 +
  42 + /**
  43 + * 所属分厂ID
  44 + */
  45 + @ApiModelProperty("所属分厂ID")
  46 + private String workshopId;
  47 +
  48 + /**
  49 + * 所属分厂名称
  50 + */
  51 + @ApiModelProperty("所属分厂名称")
  52 + private String workshopName;
  53 +
  54 + /**
  55 + * 订单ID
  56 + */
  57 + @ApiModelProperty("订单ID")
  58 + private String orderId;
  59 +
  60 + /**
  61 + * 订单编号
  62 + */
  63 + @ApiModelProperty("订单编号")
  64 + private String orderCode;
  65 +
  66 + /**
  67 + * 明细数据
  68 + */
  69 + @ApiModelProperty("明细数据")
  70 + private List<SampleFeedbackTrackingDetail> detailList;
  71 +
  72 + /**
  73 + * 创建人ID
  74 + */
  75 + @ApiModelProperty("创建人ID")
  76 + private String createById;
  77 +
  78 + /**
  79 + * 更新人ID
  80 + */
  81 + @ApiModelProperty("更新人ID")
  82 + private String updateById;
  83 +
  84 + /**
  85 + * 创建时间
  86 + */
  87 + @ApiModelProperty("创建时间")
  88 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  89 + private LocalDateTime createTime;
  90 +
  91 + /**
  92 + * 更新时间
  93 + */
  94 + @ApiModelProperty("更新时间")
  95 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  96 + private LocalDateTime updateTime;
  97 +
  98 + public GetSampleResultFeedbackBo() {
  99 +
  100 + }
  101 +
  102 + public GetSampleResultFeedbackBo(SampleResultFeedback dto) {
  103 +
  104 + super(dto);
  105 + }
  106 +
  107 + @Override
  108 + public BaseBo<SampleResultFeedback> convert(SampleResultFeedback dto) {
  109 + return super.convert(dto);
  110 + }
  111 +
  112 + @Override
  113 + protected void afterInit(SampleResultFeedback dto) {
  114 +
  115 + }
  116 +}
  1 +package com.lframework.xingyun.sc.bo.sample.feedback;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
  5 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  6 +import com.lframework.starter.common.constants.StringPool;
  7 +import com.lframework.starter.web.core.bo.BaseBo;
  8 +import java.time.LocalDateTime;
  9 +import java.util.List;
  10 +
  11 +import io.swagger.annotations.ApiModelProperty;
  12 +
  13 +import lombok.Data;
  14 +
  15 +/**
  16 + * <p>
  17 + * 产品试样结果反馈单 QueryBo
  18 + * </p>
  19 + *
  20 + */
  21 +@Data
  22 +public class QuerySampleResultFeedbackBo extends BaseBo<SampleResultFeedback> {
  23 +
  24 + /**
  25 + * ID
  26 + */
  27 + @ApiModelProperty("ID")
  28 + private String id;
  29 +
  30 + /**
  31 + * 客户ID
  32 + */
  33 + @ApiModelProperty("客户ID")
  34 + private String customerId;
  35 +
  36 + /**
  37 + * 客户名称
  38 + */
  39 + @ApiModelProperty("客户名称")
  40 + private String customerName;
  41 +
  42 + /**
  43 + * 所属分厂ID
  44 + */
  45 + @ApiModelProperty("所属分厂ID")
  46 + private String workshopId;
  47 +
  48 + /**
  49 + * 所属分厂名称
  50 + */
  51 + @ApiModelProperty("所属分厂名称")
  52 + private String workshopName;
  53 +
  54 + /**
  55 + * 订单ID
  56 + */
  57 + @ApiModelProperty("订单ID")
  58 + private String orderId;
  59 +
  60 + /**
  61 + * 订单编号
  62 + */
  63 + @ApiModelProperty("订单编号")
  64 + private String orderCode;
  65 +
  66 + /**
  67 + * 明细数据
  68 + */
  69 + @ApiModelProperty("明细数据")
  70 + private List<SampleFeedbackTrackingDetail> detailList;
  71 +
  72 + /**
  73 + * 创建人ID
  74 + */
  75 + @ApiModelProperty("创建人ID")
  76 + private String createById;
  77 +
  78 + /**
  79 + * 更新人ID
  80 + */
  81 + @ApiModelProperty("更新人ID")
  82 + private String updateById;
  83 +
  84 + /**
  85 + * 创建时间
  86 + */
  87 + @ApiModelProperty("创建时间")
  88 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  89 + private LocalDateTime createTime;
  90 +
  91 + /**
  92 + * 更新时间
  93 + */
  94 + @ApiModelProperty("更新时间")
  95 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  96 + private LocalDateTime updateTime;
  97 +
  98 + public QuerySampleResultFeedbackBo() {
  99 +
  100 + }
  101 +
  102 + public QuerySampleResultFeedbackBo(SampleResultFeedback dto) {
  103 +
  104 + super(dto);
  105 + }
  106 +
  107 + @Override
  108 + public BaseBo<SampleResultFeedback> convert(SampleResultFeedback dto) {
  109 + return super.convert(dto);
  110 + }
  111 +
  112 + @Override
  113 + protected void afterInit(SampleResultFeedback dto) {
  114 +
  115 + }
  116 +}
  1 +package com.lframework.xingyun.sc.bo.sample.tracking;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
  5 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  6 +import com.lframework.starter.common.constants.StringPool;
  7 +import com.lframework.starter.web.core.bo.BaseBo;
  8 +import java.time.LocalDateTime;
  9 +import java.util.List;
  10 +
  11 +import io.swagger.annotations.ApiModelProperty;
  12 +
  13 +import lombok.Data;
  14 +
  15 +/**
  16 + * <p>
  17 + * 产品试样结果跟踪单 GetBo
  18 + * </p>
  19 + *
  20 + */
  21 +@Data
  22 +public class GetSampleResultTrackingBo extends BaseBo<SampleResultTracking> {
  23 +
  24 + /**
  25 + * ID
  26 + */
  27 + @ApiModelProperty("ID")
  28 + private String id;
  29 +
  30 + /**
  31 + * 客户ID
  32 + */
  33 + @ApiModelProperty("客户ID")
  34 + private String customerId;
  35 +
  36 + /**
  37 + * 客户名称
  38 + */
  39 + @ApiModelProperty("客户名称")
  40 + private String customerName;
  41 +
  42 + /**
  43 + * 所属分厂ID
  44 + */
  45 + @ApiModelProperty("所属分厂ID")
  46 + private String workshopId;
  47 +
  48 + /**
  49 + * 所属分厂名称
  50 + */
  51 + @ApiModelProperty("所属分厂名称")
  52 + private String workshopName;
  53 +
  54 + /**
  55 + * 订单ID
  56 + */
  57 + @ApiModelProperty("订单ID")
  58 + private String orderId;
  59 +
  60 + /**
  61 + * 订单编号
  62 + */
  63 + @ApiModelProperty("订单编号")
  64 + private String orderCode;
  65 +
  66 + /**
  67 + * 表面描述
  68 + */
  69 + @ApiModelProperty("表面描述")
  70 + private String surface;
  71 +
  72 + /**
  73 + * 性能描述
  74 + */
  75 + @ApiModelProperty("性能描述")
  76 + private String performance;
  77 +
  78 + /**
  79 + * 公差描述
  80 + */
  81 + @ApiModelProperty("公差描述")
  82 + private String tolerance;
  83 +
  84 + /**
  85 + * 带型描述
  86 + */
  87 + @ApiModelProperty("带型描述")
  88 + private String bandingPattern;
  89 +
  90 + /**
  91 + * 包装描述
  92 + */
  93 + @ApiModelProperty("包装描述")
  94 + private String packaging;
  95 +
  96 + /**
  97 + * 件重描述
  98 + */
  99 + @ApiModelProperty("件重描述")
  100 + private String weight;
  101 +
  102 + /**
  103 + * 其它描述
  104 + */
  105 + @ApiModelProperty("其它描述")
  106 + private String other;
  107 +
  108 + /**
  109 + * 明细数据
  110 + */
  111 + @ApiModelProperty("明细数据")
  112 + private List<SampleFeedbackTrackingDetail> detailList;
  113 +
  114 + /**
  115 + * 创建人ID
  116 + */
  117 + @ApiModelProperty("创建人ID")
  118 + private String createById;
  119 +
  120 + /**
  121 + * 更新人ID
  122 + */
  123 + @ApiModelProperty("更新人ID")
  124 + private String updateById;
  125 +
  126 + /**
  127 + * 创建时间
  128 + */
  129 + @ApiModelProperty("创建时间")
  130 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  131 + private LocalDateTime createTime;
  132 +
  133 + /**
  134 + * 更新时间
  135 + */
  136 + @ApiModelProperty("更新时间")
  137 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  138 + private LocalDateTime updateTime;
  139 +
  140 + public GetSampleResultTrackingBo() {
  141 +
  142 + }
  143 +
  144 + public GetSampleResultTrackingBo(SampleResultTracking dto) {
  145 +
  146 + super(dto);
  147 + }
  148 +
  149 + @Override
  150 + public BaseBo<SampleResultTracking> convert(SampleResultTracking dto) {
  151 + return super.convert(dto);
  152 + }
  153 +
  154 + @Override
  155 + protected void afterInit(SampleResultTracking dto) {
  156 +
  157 + }
  158 +}
  1 +package com.lframework.xingyun.sc.bo.sample.tracking;
  2 +
  3 +import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
  5 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  6 +import com.lframework.starter.common.constants.StringPool;
  7 +import com.lframework.starter.web.core.bo.BaseBo;
  8 +import java.time.LocalDateTime;
  9 +import java.util.List;
  10 +
  11 +import io.swagger.annotations.ApiModelProperty;
  12 +
  13 +import lombok.Data;
  14 +
  15 +/**
  16 + * <p>
  17 + * 产品试样结果跟踪单 QueryBo
  18 + * </p>
  19 + *
  20 + */
  21 +@Data
  22 +public class QuerySampleResultTrackingBo extends BaseBo<SampleResultTracking> {
  23 +
  24 + /**
  25 + * ID
  26 + */
  27 + @ApiModelProperty("ID")
  28 + private String id;
  29 +
  30 + /**
  31 + * 客户ID
  32 + */
  33 + @ApiModelProperty("客户ID")
  34 + private String customerId;
  35 +
  36 + /**
  37 + * 客户名称
  38 + */
  39 + @ApiModelProperty("客户名称")
  40 + private String customerName;
  41 +
  42 + /**
  43 + * 所属分厂ID
  44 + */
  45 + @ApiModelProperty("所属分厂ID")
  46 + private String workshopId;
  47 +
  48 + /**
  49 + * 所属分厂名称
  50 + */
  51 + @ApiModelProperty("所属分厂名称")
  52 + private String workshopName;
  53 +
  54 + /**
  55 + * 订单ID
  56 + */
  57 + @ApiModelProperty("订单ID")
  58 + private String orderId;
  59 +
  60 + /**
  61 + * 订单编号
  62 + */
  63 + @ApiModelProperty("订单编号")
  64 + private String orderCode;
  65 +
  66 + /**
  67 + * 表面描述
  68 + */
  69 + @ApiModelProperty("表面描述")
  70 + private String surface;
  71 +
  72 + /**
  73 + * 性能描述
  74 + */
  75 + @ApiModelProperty("性能描述")
  76 + private String performance;
  77 +
  78 + /**
  79 + * 公差描述
  80 + */
  81 + @ApiModelProperty("公差描述")
  82 + private String tolerance;
  83 +
  84 + /**
  85 + * 带型描述
  86 + */
  87 + @ApiModelProperty("带型描述")
  88 + private String bandingPattern;
  89 +
  90 + /**
  91 + * 包装描述
  92 + */
  93 + @ApiModelProperty("包装描述")
  94 + private String packaging;
  95 +
  96 + /**
  97 + * 件重描述
  98 + */
  99 + @ApiModelProperty("件重描述")
  100 + private String weight;
  101 +
  102 + /**
  103 + * 其它描述
  104 + */
  105 + @ApiModelProperty("其它描述")
  106 + private String other;
  107 +
  108 + /**
  109 + * 明细数据
  110 + */
  111 + @ApiModelProperty("明细数据")
  112 + private List<SampleFeedbackTrackingDetail> detailList;
  113 +
  114 + /**
  115 + * 创建人ID
  116 + */
  117 + @ApiModelProperty("创建人ID")
  118 + private String createById;
  119 +
  120 + /**
  121 + * 更新人ID
  122 + */
  123 + @ApiModelProperty("更新人ID")
  124 + private String updateById;
  125 +
  126 + /**
  127 + * 创建时间
  128 + */
  129 + @ApiModelProperty("创建时间")
  130 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  131 + private LocalDateTime createTime;
  132 +
  133 + /**
  134 + * 更新时间
  135 + */
  136 + @ApiModelProperty("更新时间")
  137 + @JsonFormat(pattern = StringPool.DATE_TIME_PATTERN)
  138 + private LocalDateTime updateTime;
  139 +
  140 + public QuerySampleResultTrackingBo() {
  141 +
  142 + }
  143 +
  144 + public QuerySampleResultTrackingBo(SampleResultTracking dto) {
  145 +
  146 + super(dto);
  147 + }
  148 +
  149 + @Override
  150 + public BaseBo<SampleResultTracking> convert(SampleResultTracking dto) {
  151 + return super.convert(dto);
  152 + }
  153 +
  154 + @Override
  155 + protected void afterInit(SampleResultTracking dto) {
  156 +
  157 + }
  158 +}
  1 +package com.lframework.xingyun.sc.controller.sample;
  2 +
  3 +import com.lframework.xingyun.sc.bo.sample.feedback.GetSampleResultFeedbackBo;
  4 +import com.lframework.xingyun.sc.bo.sample.feedback.QuerySampleResultFeedbackBo;
  5 +import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
  6 +import com.lframework.xingyun.sc.service.sample.SampleResultFeedbackService;
  7 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  8 +import com.lframework.starter.web.core.utils.PageResultUtil;
  9 +import com.lframework.starter.web.core.components.resp.PageResult;
  10 +import com.lframework.starter.web.core.components.resp.InvokeResult;
  11 +
  12 +import javax.annotation.Resource;
  13 +import javax.validation.constraints.NotBlank;
  14 +import io.swagger.annotations.ApiImplicitParam;
  15 +import com.lframework.starter.web.core.components.resp.InvokeResultBuilder;
  16 +import com.lframework.starter.common.exceptions.impl.DefaultClientException;
  17 +import io.swagger.annotations.ApiOperation;
  18 +import com.lframework.starter.common.utils.CollectionUtil;
  19 +import io.swagger.annotations.Api;
  20 +import org.springframework.web.bind.annotation.DeleteMapping;
  21 +import com.lframework.starter.web.core.controller.DefaultBaseController;
  22 +import com.lframework.starter.web.core.annotations.security.HasPermission;
  23 +import org.springframework.validation.annotation.Validated;
  24 +import org.springframework.web.bind.annotation.*;
  25 +
  26 +import javax.validation.Valid;
  27 +import java.util.List;
  28 +import java.util.stream.Collectors;
  29 +
  30 +/**
  31 + * 产品试样结果反馈单 Controller
  32 + *
  33 + */
  34 +@Api(tags = "产品试样结果反馈单")
  35 +@Validated
  36 +@RestController
  37 +@RequestMapping("/sample/feedback")
  38 +public class SampleResultFeedbackController extends DefaultBaseController {
  39 +
  40 +
  41 + @Resource
  42 + private SampleResultFeedbackService sampleResultFeedbackService;
  43 +
  44 +
  45 + /**
  46 + * 查询列表
  47 + */
  48 + @ApiOperation("查询列表")
  49 + @HasPermission({"sample:feedback:query"})
  50 + @GetMapping("/query")
  51 + public InvokeResult<PageResult<QuerySampleResultFeedbackBo>> query(@Valid QuerySampleResultFeedbackVo vo) {
  52 + PageResult<SampleResultFeedback> pageResult = sampleResultFeedbackService.query(getPageIndex(vo), getPageSize(vo), vo);
  53 + List<SampleResultFeedback> dataList = pageResult.getDatas();
  54 + List<QuerySampleResultFeedbackBo> results = null;
  55 + if (!CollectionUtil.isEmpty(dataList)) {
  56 + results = dataList.stream().map(QuerySampleResultFeedbackBo::new).collect(Collectors.toList());
  57 + }
  58 + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results));
  59 + }
  60 +
  61 + /**
  62 + * 根据ID查询
  63 + */
  64 + @ApiOperation("根据ID查询")
  65 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  66 + @HasPermission({"sample:feedback:query"})
  67 + @GetMapping
  68 + public InvokeResult<GetSampleResultFeedbackBo> get(@NotBlank(message = "id不能为空!") String id) {
  69 + SampleResultFeedback data = sampleResultFeedbackService.findById(id);
  70 + if (data == null) {
  71 + throw new DefaultClientException("产品试样结果反馈单不存在!");
  72 + }
  73 + GetSampleResultFeedbackBo result = new GetSampleResultFeedbackBo(data);
  74 +
  75 + return InvokeResultBuilder.success(result);
  76 + }
  77 +
  78 + /**
  79 + * 根据ID删除
  80 + */
  81 + @ApiOperation("根据ID删除")
  82 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  83 + @HasPermission({"sample:feedback:delete"})
  84 + @DeleteMapping
  85 + public InvokeResult<Void> deleteById(@NotBlank(message = "id不能为空!") String id) {
  86 + sampleResultFeedbackService.deleteById(id);
  87 + return InvokeResultBuilder.success();
  88 + }
  89 +}
  1 +package com.lframework.xingyun.sc.controller.sample;
  2 +
  3 +import com.lframework.xingyun.sc.bo.sample.tracking.GetSampleResultTrackingBo;
  4 +import com.lframework.xingyun.sc.bo.sample.tracking.QuerySampleResultTrackingBo;
  5 +import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleResultTrackingVo;
  6 +import com.lframework.xingyun.sc.service.sample.SampleResultTrackingService;
  7 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  8 +import com.lframework.starter.web.core.utils.PageResultUtil;
  9 +import com.lframework.starter.web.core.components.resp.PageResult;
  10 +import com.lframework.starter.web.core.components.resp.InvokeResult;
  11 +
  12 +import javax.annotation.Resource;
  13 +import javax.validation.constraints.NotBlank;
  14 +import io.swagger.annotations.ApiImplicitParam;
  15 +import com.lframework.starter.web.core.components.resp.InvokeResultBuilder;
  16 +import com.lframework.starter.common.exceptions.impl.DefaultClientException;
  17 +import io.swagger.annotations.ApiOperation;
  18 +import com.lframework.starter.common.utils.CollectionUtil;
  19 +import io.swagger.annotations.Api;
  20 +import org.springframework.web.bind.annotation.DeleteMapping;
  21 +import com.lframework.starter.web.core.controller.DefaultBaseController;
  22 +import com.lframework.starter.web.core.annotations.security.HasPermission;
  23 +import org.springframework.validation.annotation.Validated;
  24 +import org.springframework.web.bind.annotation.*;
  25 +
  26 +import javax.validation.Valid;
  27 +import java.util.List;
  28 +import java.util.stream.Collectors;
  29 +
  30 +/**
  31 + * 产品试样结果跟踪单 Controller
  32 + *
  33 + */
  34 +@Api(tags = "产品试样结果跟踪单")
  35 +@Validated
  36 +@RestController
  37 +@RequestMapping("/sample/tracking")
  38 +public class SampleResultTrackingController extends DefaultBaseController {
  39 +
  40 +
  41 + @Resource
  42 + private SampleResultTrackingService sampleResultTrackingService;
  43 +
  44 +
  45 + /**
  46 + * 查询列表
  47 + */
  48 + @ApiOperation("查询列表")
  49 + @HasPermission({"sample:tracking:query"})
  50 + @GetMapping("/query")
  51 + public InvokeResult<PageResult<QuerySampleResultTrackingBo>> query(@Valid QuerySampleResultTrackingVo vo) {
  52 + PageResult<SampleResultTracking> pageResult = sampleResultTrackingService.query(getPageIndex(vo), getPageSize(vo), vo);
  53 + List<SampleResultTracking> dataList = pageResult.getDatas();
  54 + List<QuerySampleResultTrackingBo> results = null;
  55 + if (!CollectionUtil.isEmpty(dataList)) {
  56 + results = dataList.stream().map(QuerySampleResultTrackingBo::new).collect(Collectors.toList());
  57 + }
  58 + return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results));
  59 + }
  60 +
  61 + /**
  62 + * 根据ID查询
  63 + */
  64 + @ApiOperation("根据ID查询")
  65 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  66 + @HasPermission({"sample:tracking:query"})
  67 + @GetMapping
  68 + public InvokeResult<GetSampleResultTrackingBo> get(@NotBlank(message = "id不能为空!") String id) {
  69 + SampleResultTracking data = sampleResultTrackingService.findById(id);
  70 + if (data == null) {
  71 + throw new DefaultClientException("产品试样结果跟踪单不存在!");
  72 + }
  73 + GetSampleResultTrackingBo result = new GetSampleResultTrackingBo(data);
  74 +
  75 + return InvokeResultBuilder.success(result);
  76 + }
  77 +
  78 + /**
  79 + * 根据ID删除
  80 + */
  81 + @ApiOperation("根据ID删除")
  82 + @ApiImplicitParam(value = "id", name = "id", paramType = "query", required = true)
  83 + @HasPermission({"sample:tracking:delete"})
  84 + @DeleteMapping
  85 + public InvokeResult<Void> deleteById(@NotBlank(message = "id不能为空!") String id) {
  86 + sampleResultTrackingService.deleteById(id);
  87 + return InvokeResultBuilder.success();
  88 + }
  89 +}
  1 +package com.lframework.xingyun.sc.entity;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import java.math.BigDecimal;
  5 +import com.lframework.starter.web.core.dto.BaseDto;
  6 +import java.time.LocalDate;
  7 +import java.time.LocalDateTime;
  8 +import com.baomidou.mybatisplus.annotation.FieldFill;
  9 +import com.lframework.starter.web.core.entity.BaseEntity;
  10 +import com.baomidou.mybatisplus.annotation.TableField;
  11 +import lombok.Data;
  12 +
  13 +/**
  14 + * <p>
  15 + * 样品反馈和追踪明细
  16 + * </p>
  17 + *
  18 + */
  19 +@Data
  20 +@TableName("sample_feedback_tracking_detail")
  21 +public class SampleFeedbackTrackingDetail extends BaseEntity implements BaseDto {
  22 +
  23 + private static final long serialVersionUID = 1L;
  24 +
  25 + /**
  26 + * ID
  27 + */
  28 + private String id;
  29 +
  30 + /**
  31 + * 反馈单ID
  32 + */
  33 + private String feedbackId;
  34 +
  35 + /**
  36 + * 跟踪单ID
  37 + */
  38 + private String trackingId;
  39 +
  40 + /**
  41 + * 订单ID
  42 + */
  43 + private String orderId;
  44 +
  45 + /**
  46 + * 订单规格ID
  47 + */
  48 + private String orderSpecId;
  49 +
  50 + /**
  51 + * 发货单ID
  52 + */
  53 + private String shipmentOrderId;
  54 +
  55 + /**
  56 + * 发货明细ID
  57 + */
  58 + private String shipmentDetailId;
  59 +
  60 + /**
  61 + * 牌号
  62 + */
  63 + private String brand;
  64 +
  65 + /**
  66 + * 厚度
  67 + */
  68 + private BigDecimal thickness;
  69 +
  70 + /**
  71 + * 厚度公差正
  72 + */
  73 + private BigDecimal thicknessTolPos;
  74 +
  75 + /**
  76 + * 厚度公差负
  77 + */
  78 + private BigDecimal thicknessTolNeg;
  79 +
  80 + /**
  81 + * 宽度
  82 + */
  83 + private BigDecimal width;
  84 +
  85 + /**
  86 + * 宽度公差正
  87 + */
  88 + private BigDecimal widthTolPos;
  89 +
  90 + /**
  91 + * 宽度公差负
  92 + */
  93 + private BigDecimal widthTolNeg;
  94 +
  95 + /**
  96 + * 长度
  97 + */
  98 + private BigDecimal length;
  99 +
  100 + /**
  101 + * 长度公差正
  102 + */
  103 + private BigDecimal lengthTolPos;
  104 +
  105 + /**
  106 + * 长度公差负
  107 + */
  108 + private BigDecimal lengthTolNeg;
  109 +
  110 + /**
  111 + * 状态
  112 + */
  113 + private String status;
  114 +
  115 + /**
  116 + * 发货日期
  117 + */
  118 + private LocalDate shipmentDate;
  119 +
  120 + /**
  121 + * 实发数量
  122 + */
  123 + private Double quantity;
  124 +
  125 + /**
  126 + * 创建人ID
  127 + */
  128 + @TableField(fill = FieldFill.INSERT)
  129 + private String createById;
  130 +
  131 + /**
  132 + * 更新人ID
  133 + */
  134 + @TableField(fill = FieldFill.INSERT_UPDATE)
  135 + private String updateById;
  136 +
  137 + /**
  138 + * 创建时间
  139 + */
  140 + @TableField(fill = FieldFill.INSERT)
  141 + private LocalDateTime createTime;
  142 +
  143 + /**
  144 + * 更新时间
  145 + */
  146 + @TableField(fill = FieldFill.INSERT_UPDATE)
  147 + private LocalDateTime updateTime;
  148 +
  149 +}
  1 +package com.lframework.xingyun.sc.entity;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import com.lframework.starter.web.core.dto.BaseDto;
  5 +import java.time.LocalDateTime;
  6 +import com.baomidou.mybatisplus.annotation.FieldFill;
  7 +import com.lframework.starter.web.core.entity.BaseEntity;
  8 +import com.baomidou.mybatisplus.annotation.TableField;
  9 +import lombok.Data;
  10 +
  11 +/**
  12 + * <p>
  13 + * 产品试样结果反馈单
  14 + * </p>
  15 + *
  16 + */
  17 +@Data
  18 +@TableName("sample_result_feedback")
  19 +public class SampleResultFeedback extends BaseEntity implements BaseDto {
  20 +
  21 + private static final long serialVersionUID = 1L;
  22 +
  23 + /**
  24 + * ID
  25 + */
  26 + private String id;
  27 +
  28 + /**
  29 + * 客户ID
  30 + */
  31 + private String customerId;
  32 +
  33 + /**
  34 + * 所属分厂
  35 + */
  36 + private String workshopId;
  37 +
  38 + /**
  39 + * 订单ID
  40 + */
  41 + private String orderId;
  42 +
  43 + /**
  44 + * 创建人ID
  45 + */
  46 + @TableField(fill = FieldFill.INSERT)
  47 + private String createById;
  48 +
  49 + /**
  50 + * 更新人ID
  51 + */
  52 + @TableField(fill = FieldFill.INSERT_UPDATE)
  53 + private String updateById;
  54 +
  55 + /**
  56 + * 创建时间
  57 + */
  58 + @TableField(fill = FieldFill.INSERT)
  59 + private LocalDateTime createTime;
  60 +
  61 + /**
  62 + * 更新时间
  63 + */
  64 + @TableField(fill = FieldFill.INSERT_UPDATE)
  65 + private LocalDateTime updateTime;
  66 +
  67 +}
  1 +package com.lframework.xingyun.sc.entity;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import com.lframework.starter.web.core.dto.BaseDto;
  5 +import java.time.LocalDateTime;
  6 +import com.baomidou.mybatisplus.annotation.FieldFill;
  7 +import com.lframework.starter.web.core.entity.BaseEntity;
  8 +import com.baomidou.mybatisplus.annotation.TableField;
  9 +import lombok.Data;
  10 +
  11 +/**
  12 + * <p>
  13 + * 产品试样结果跟踪单
  14 + * </p>
  15 + *
  16 + */
  17 +@Data
  18 +@TableName("sample_result_tracking")
  19 +public class SampleResultTracking extends BaseEntity implements BaseDto {
  20 +
  21 + private static final long serialVersionUID = 1L;
  22 +
  23 + /**
  24 + * ID
  25 + */
  26 + private String id;
  27 +
  28 + /**
  29 + * 客户ID
  30 + */
  31 + private String customerId;
  32 +
  33 + /**
  34 + * 所属分厂
  35 + */
  36 + private String workshopId;
  37 +
  38 + /**
  39 + * 订单ID
  40 + */
  41 + private String orderId;
  42 +
  43 + /**
  44 + * 表面描述
  45 + */
  46 + private String surface;
  47 +
  48 + /**
  49 + * 性能描述
  50 + */
  51 + private String performance;
  52 +
  53 + /**
  54 + * 公差描述
  55 + */
  56 + private String tolerance;
  57 +
  58 + /**
  59 + * 带型描述
  60 + */
  61 + private String bandingPattern;
  62 +
  63 + /**
  64 + * 包装描述
  65 + */
  66 + private String packaging;
  67 +
  68 + /**
  69 + * 件重描述
  70 + */
  71 + private String weight;
  72 +
  73 + /**
  74 + * 其它描述
  75 + */
  76 + private String other;
  77 +
  78 + /**
  79 + * 创建人ID
  80 + */
  81 + @TableField(fill = FieldFill.INSERT)
  82 + private String createById;
  83 +
  84 + /**
  85 + * 更新人ID
  86 + */
  87 + @TableField(fill = FieldFill.INSERT_UPDATE)
  88 + private String updateById;
  89 +
  90 + /**
  91 + * 创建时间
  92 + */
  93 + @TableField(fill = FieldFill.INSERT)
  94 + private LocalDateTime createTime;
  95 +
  96 + /**
  97 + * 更新时间
  98 + */
  99 + @TableField(fill = FieldFill.INSERT_UPDATE)
  100 + private LocalDateTime updateTime;
  101 +
  102 +}
  1 +package com.lframework.xingyun.sc.impl.sample;
  2 +
  3 +import com.github.pagehelper.PageInfo;
  4 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  5 +import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
  6 +import com.lframework.starter.web.core.utils.PageResultUtil;
  7 +import com.lframework.starter.web.core.components.resp.PageResult;
  8 +import com.lframework.starter.web.core.annotations.oplog.OpLog;
  9 +import com.lframework.starter.web.core.utils.PageHelperUtil;
  10 +import com.lframework.starter.common.utils.Assert;
  11 +import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
  12 +import org.springframework.transaction.annotation.Transactional;
  13 +import com.lframework.xingyun.sc.mappers.SampleResultFeedbackMapper;
  14 +import com.lframework.xingyun.sc.service.sample.SampleResultFeedbackService;
  15 +import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
  16 +import org.springframework.stereotype.Service;
  17 +
  18 +import java.util.List;
  19 +
  20 +@Service
  21 +public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleResultFeedbackMapper, SampleResultFeedback> implements SampleResultFeedbackService {
  22 +
  23 + @Override
  24 + public PageResult<SampleResultFeedback> query(Integer pageIndex, Integer pageSize, QuerySampleResultFeedbackVo vo) {
  25 + Assert.greaterThanZero(pageIndex);
  26 + Assert.greaterThanZero(pageSize);
  27 + // 开启分页
  28 + PageHelperUtil.startPage(pageIndex, pageSize);
  29 + List<SampleResultFeedback> dataList = this.query(vo);
  30 +
  31 + return PageResultUtil.convert(new PageInfo<>(dataList));
  32 + }
  33 +
  34 + @Override
  35 + public List<SampleResultFeedback> query(QuerySampleResultFeedbackVo vo) {
  36 +
  37 + return getBaseMapper().query(vo);
  38 + }
  39 +
  40 + @Override
  41 + public SampleResultFeedback findById(String id) {
  42 +
  43 + return getBaseMapper().selectById(id);
  44 + }
  45 +
  46 + @OpLog(type = OtherOpLogType.class, name = "删除产品试样结果反馈单,ID:{}", params = {"#id"})
  47 + @Transactional(rollbackFor = Exception.class)
  48 + @Override
  49 + public void deleteById(String id) {
  50 +
  51 + getBaseMapper().deleteById(id);
  52 + }
  53 +}
  1 +package com.lframework.xingyun.sc.impl.sample;
  2 +
  3 +import com.github.pagehelper.PageInfo;
  4 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  5 +import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
  6 +import com.lframework.starter.web.core.utils.PageResultUtil;
  7 +import com.lframework.starter.web.core.components.resp.PageResult;
  8 +import com.lframework.starter.web.core.annotations.oplog.OpLog;
  9 +import com.lframework.starter.web.core.utils.PageHelperUtil;
  10 +import com.lframework.starter.common.utils.Assert;
  11 +import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
  12 +import org.springframework.transaction.annotation.Transactional;
  13 +import com.lframework.xingyun.sc.mappers.SampleResultTrackingMapper;
  14 +import com.lframework.xingyun.sc.service.sample.SampleResultTrackingService;
  15 +import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleResultTrackingVo;
  16 +import org.springframework.stereotype.Service;
  17 +
  18 +import java.util.List;
  19 +
  20 +@Service
  21 +public class SampleResultTrackingServiceImpl extends BaseMpServiceImpl<SampleResultTrackingMapper, SampleResultTracking> implements SampleResultTrackingService {
  22 +
  23 + @Override
  24 + public PageResult<SampleResultTracking> query(Integer pageIndex, Integer pageSize, QuerySampleResultTrackingVo vo) {
  25 + Assert.greaterThanZero(pageIndex);
  26 + Assert.greaterThanZero(pageSize);
  27 + // 开启分页
  28 + PageHelperUtil.startPage(pageIndex, pageSize);
  29 + List<SampleResultTracking> dataList = this.query(vo);
  30 +
  31 + return PageResultUtil.convert(new PageInfo<>(dataList));
  32 + }
  33 +
  34 + @Override
  35 + public List<SampleResultTracking> query(QuerySampleResultTrackingVo vo) {
  36 +
  37 + return getBaseMapper().query(vo);
  38 + }
  39 +
  40 + @Override
  41 + public SampleResultTracking findById(String id) {
  42 +
  43 + return getBaseMapper().selectById(id);
  44 + }
  45 +
  46 + @OpLog(type = OtherOpLogType.class, name = "删除产品试样结果跟踪单,ID:{}", params = {"#id"})
  47 + @Transactional(rollbackFor = Exception.class)
  48 + @Override
  49 + public void deleteById(String id) {
  50 +
  51 + getBaseMapper().deleteById(id);
  52 + }
  53 +}
  1 +package com.lframework.xingyun.sc.mappers;
  2 +
  3 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  4 +import com.lframework.starter.web.core.mapper.BaseMapper;
  5 +import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
  6 +import org.apache.ibatis.annotations.Param;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * <p>
  12 + * 产品试样结果反馈单 Mapper 接口
  13 + * </p>
  14 + *
  15 + */
  16 +public interface SampleResultFeedbackMapper extends BaseMapper<SampleResultFeedback> {
  17 +
  18 + /**
  19 + * 查询列表
  20 + * @param vo 查询条件
  21 + * @return List<SampleResultFeedback>
  22 + */
  23 + List<SampleResultFeedback> query(@Param("vo") QuerySampleResultFeedbackVo vo);
  24 +}
  1 +package com.lframework.xingyun.sc.mappers;
  2 +
  3 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  4 +import com.lframework.starter.web.core.mapper.BaseMapper;
  5 +import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleResultTrackingVo;
  6 +import org.apache.ibatis.annotations.Param;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * <p>
  12 + * 产品试样结果跟踪单 Mapper 接口
  13 + * </p>
  14 + *
  15 + */
  16 +public interface SampleResultTrackingMapper extends BaseMapper<SampleResultTracking> {
  17 +
  18 + /**
  19 + * 查询列表
  20 + *
  21 + * @param vo 查询条件
  22 + * @return List<SampleResultTracking>
  23 + */
  24 + List<SampleResultTracking> query(@Param("vo") QuerySampleResultTrackingVo vo);
  25 +}
  1 +package com.lframework.xingyun.sc.service.sample;
  2 +
  3 +import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
  4 +import com.lframework.xingyun.sc.entity.SampleResultFeedback;
  5 +import com.lframework.starter.web.core.service.BaseMpService;
  6 +import com.lframework.starter.web.core.components.resp.PageResult;
  7 +import java.util.List;
  8 +
  9 +/**
  10 + * 产品试样结果反馈单 Service
  11 + */
  12 +public interface SampleResultFeedbackService extends BaseMpService<SampleResultFeedback> {
  13 +
  14 + /**
  15 + * 分页查询
  16 + *
  17 + * @return PageResult<SampleResultFeedback>
  18 + */
  19 + PageResult<SampleResultFeedback> query(Integer pageIndex, Integer pageSize, QuerySampleResultFeedbackVo vo);
  20 +
  21 + /**
  22 + * 查询列表
  23 + * @param vo 查询条件
  24 + * @return List<SampleResultFeedback>
  25 + */
  26 + List<SampleResultFeedback> query(QuerySampleResultFeedbackVo vo);
  27 +
  28 + /**
  29 + * 根据ID查询
  30 + *
  31 + * @param id 主键ID
  32 + * @return SampleResultFeedback
  33 + */
  34 + SampleResultFeedback findById(String id);
  35 +
  36 + /**
  37 + * 根据ID删除
  38 + *
  39 + * @param id 主键ID
  40 + */
  41 + void deleteById(String id);
  42 +}
  1 +package com.lframework.xingyun.sc.service.sample;
  2 +
  3 +import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleResultTrackingVo;
  4 +import com.lframework.xingyun.sc.entity.SampleResultTracking;
  5 +import com.lframework.starter.web.core.service.BaseMpService;
  6 +import com.lframework.starter.web.core.components.resp.PageResult;
  7 +import java.util.List;
  8 +
  9 +/**
  10 + * 产品试样结果跟踪单 Service
  11 + */
  12 +public interface SampleResultTrackingService extends BaseMpService<SampleResultTracking> {
  13 +
  14 + /**
  15 + * 分页查询
  16 + *
  17 + * @return PageResult<SampleResultTracking>
  18 + */
  19 + PageResult<SampleResultTracking> query(Integer pageIndex, Integer pageSize, QuerySampleResultTrackingVo vo);
  20 +
  21 + /**
  22 + * 查询列表
  23 + *
  24 + * @param vo 查询条件
  25 + * @return List<SampleResultTracking>
  26 + */
  27 + List<SampleResultTracking> query(QuerySampleResultTrackingVo vo);
  28 +
  29 + /**
  30 + * 根据ID查询
  31 + *
  32 + * @param id 主键ID
  33 + * @return SampleResultTracking
  34 + */
  35 + SampleResultTracking findById(String id);
  36 +
  37 + /**
  38 + * 根据ID删除
  39 + *
  40 + * @param id 主键ID
  41 + */
  42 + void deleteById(String id);
  43 +}
  1 +package com.lframework.xingyun.sc.vo.sample.feedback;
  2 +
  3 +import lombok.Data;
  4 +import com.lframework.starter.web.core.vo.PageVo;
  5 +import com.lframework.starter.web.core.vo.BaseVo;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import java.io.Serializable;
  8 +
  9 +@Data
  10 +public class QuerySampleResultFeedbackVo extends PageVo implements BaseVo, Serializable {
  11 +
  12 + private static final long serialVersionUID = 1L;
  13 +
  14 + /**
  15 + * 客户ID
  16 + */
  17 + @ApiModelProperty("客户ID")
  18 + private String customerId;
  19 +
  20 + /**
  21 + * 所属分厂
  22 + */
  23 + @ApiModelProperty("所属分厂")
  24 + private String workshopId;
  25 +
  26 + /**
  27 + * 订单ID
  28 + */
  29 + @ApiModelProperty("订单ID")
  30 + private String orderId;
  31 +
  32 +}
  1 +package com.lframework.xingyun.sc.vo.sample.tracking;
  2 +
  3 +import lombok.Data;
  4 +import com.lframework.starter.web.core.vo.PageVo;
  5 +import com.lframework.starter.web.core.vo.BaseVo;
  6 +import io.swagger.annotations.ApiModelProperty;
  7 +import java.io.Serializable;
  8 +
  9 +@Data
  10 +public class QuerySampleResultTrackingVo extends PageVo implements BaseVo, Serializable {
  11 +
  12 + private static final long serialVersionUID = 1L;
  13 +
  14 + /**
  15 + * 客户ID
  16 + */
  17 + @ApiModelProperty("客户ID")
  18 + private String customerId;
  19 +
  20 + /**
  21 + * 所属分厂
  22 + */
  23 + @ApiModelProperty("所属分厂")
  24 + private String workshopId;
  25 +
  26 + /**
  27 + * 订单ID
  28 + */
  29 + @ApiModelProperty("订单ID")
  30 + private String orderId;
  31 +
  32 +}
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.lframework.xingyun.sc.mappers.SampleResultFeedbackMapper">
  4 +
  5 + <resultMap id="SampleResultFeedback" type="com.lframework.xingyun.sc.entity.SampleResultFeedback">
  6 + <id column="id" property="id"/>
  7 + <result column="customer_id" property="customerId"/>
  8 + <result column="workshop_id" property="workshopId"/>
  9 + <result column="order_id" property="orderId"/>
  10 + <result column="create_by_id" property="createById"/>
  11 + <result column="update_by_id" property="updateById"/>
  12 + <result column="create_time" property="createTime"/>
  13 + <result column="update_time" property="updateTime"/>
  14 + </resultMap>
  15 +
  16 + <sql id="SampleResultFeedback_sql">
  17 + SELECT
  18 + tb.id,
  19 + tb.customer_id,
  20 + tb.workshop_id,
  21 + tb.order_id,
  22 + tb.create_by_id,
  23 + tb.update_by_id,
  24 + tb.create_time,
  25 + tb.update_time
  26 + FROM sample_result_feedback AS tb
  27 + </sql>
  28 +
  29 + <select id="query" resultMap="SampleResultFeedback">
  30 + <include refid="SampleResultFeedback_sql"/>
  31 + <where>
  32 + <if test="vo.customerId != null and vo.customerId != ''">
  33 + AND tb.customer_id = #{vo.customerId}
  34 + </if>
  35 + <if test="vo.workshopId != null and vo.workshopId != ''">
  36 + AND tb.workshop_id = #{vo.workshopId}
  37 + </if>
  38 + <if test="vo.orderId != null and vo.orderId != ''">
  39 + AND tb.order_id = #{vo.orderId}
  40 + </if>
  41 + </where>
  42 + </select>
  43 +</mapper>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.lframework.xingyun.sc.mappers.SampleResultTrackingMapper">
  4 +
  5 + <resultMap id="SampleResultTracking" type="com.lframework.xingyun.sc.entity.SampleResultTracking">
  6 + <id column="id" property="id"/>
  7 + <result column="customer_id" property="customerId"/>
  8 + <result column="workshop_id" property="workshopId"/>
  9 + <result column="order_id" property="orderId"/>
  10 + <result column="surface" property="surface"/>
  11 + <result column="performance" property="performance"/>
  12 + <result column="tolerance" property="tolerance"/>
  13 + <result column="banding_pattern" property="bandingPattern"/>
  14 + <result column="packaging" property="packaging"/>
  15 + <result column="weight" property="weight"/>
  16 + <result column="other" property="other"/>
  17 + <result column="create_by_id" property="createById"/>
  18 + <result column="update_by_id" property="updateById"/>
  19 + <result column="create_time" property="createTime"/>
  20 + <result column="update_time" property="updateTime"/>
  21 + </resultMap>
  22 +
  23 + <sql id="SampleResultTracking_sql">
  24 + SELECT
  25 + tb.id,
  26 + tb.customer_id,
  27 + tb.workshop_id,
  28 + tb.order_id,
  29 + tb.surface,
  30 + tb.performance,
  31 + tb.tolerance,
  32 + tb.banding_pattern,
  33 + tb.packaging,
  34 + tb.weight,
  35 + tb.other,
  36 + tb.create_by_id,
  37 + tb.update_by_id,
  38 + tb.create_time,
  39 + tb.update_time
  40 + FROM sample_result_tracking AS tb
  41 + </sql>
  42 +
  43 + <select id="query" resultMap="SampleResultTracking">
  44 + <include refid="SampleResultTracking_sql"/>
  45 + <where>
  46 + <if test="vo.customerId != null and vo.customerId != ''">
  47 + AND tb.customer_id = #{vo.customerId}
  48 + </if>
  49 + <if test="vo.workshopId != null and vo.workshopId != ''">
  50 + AND tb.workshop_id = #{vo.workshopId}
  51 + </if>
  52 + <if test="vo.orderId != null and vo.orderId != ''">
  53 + AND tb.order_id = #{vo.orderId}
  54 + </if>
  55 + </where>
  56 + </select>
  57 +</mapper>