Commit c9baf587e6a1f4f4e3b2621298c63f1110eaed12

Authored by yeqianyong
1 parent 864c91b5

楚江erp:样品反馈单基础接口开发

1 package com.lframework.xingyun.sc.bo.sample.feedback; 1 package com.lframework.xingyun.sc.bo.sample.feedback;
2 2
3 import com.fasterxml.jackson.annotation.JsonFormat; 3 import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.starter.web.core.utils.ApplicationUtil;
  5 +import com.lframework.xingyun.basedata.entity.Customer;
  6 +import com.lframework.xingyun.basedata.entity.Workshop;
  7 +import com.lframework.xingyun.basedata.service.customer.CustomerService;
  8 +import com.lframework.xingyun.basedata.service.workshop.WorkshopService;
  9 +import com.lframework.xingyun.sc.entity.PurchaseOrderInfo;
4 import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail; 10 import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
5 import com.lframework.xingyun.sc.entity.SampleResultFeedback; 11 import com.lframework.xingyun.sc.entity.SampleResultFeedback;
6 import com.lframework.starter.common.constants.StringPool; 12 import com.lframework.starter.common.constants.StringPool;
@@ -8,9 +14,11 @@ import com.lframework.starter.web.core.bo.BaseBo; @@ -8,9 +14,11 @@ import com.lframework.starter.web.core.bo.BaseBo;
8 import java.time.LocalDateTime; 14 import java.time.LocalDateTime;
9 import java.util.List; 15 import java.util.List;
10 16
  17 +import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService;
11 import io.swagger.annotations.ApiModelProperty; 18 import io.swagger.annotations.ApiModelProperty;
12 19
13 import lombok.Data; 20 import lombok.Data;
  21 +import org.apache.commons.lang3.StringUtils;
14 22
15 /** 23 /**
16 * <p> 24 * <p>
@@ -111,6 +119,20 @@ public class GetSampleResultFeedbackBo extends BaseBo<SampleResultFeedback> { @@ -111,6 +119,20 @@ public class GetSampleResultFeedbackBo extends BaseBo<SampleResultFeedback> {
111 119
112 @Override 120 @Override
113 protected void afterInit(SampleResultFeedback dto) { 121 protected void afterInit(SampleResultFeedback dto) {
114 - 122 + if (StringUtils.isNotBlank(dto.getCustomerId())) {
  123 + CustomerService customerService = ApplicationUtil.getBean(CustomerService.class);
  124 + Customer customer = customerService.findById(dto.getCustomerId());
  125 + this.customerName = customer == null ? null : customer.getName();
  126 + }
  127 + if (StringUtils.isNotBlank(dto.getWorkshopId())) {
  128 + WorkshopService workshopService = ApplicationUtil.getBean(WorkshopService.class);
  129 + Workshop workshop = workshopService.findById(dto.getWorkshopId());
  130 + this.workshopName = workshop == null ? null : workshop.getName();
  131 + }
  132 + if (StringUtils.isNotBlank(dto.getOrderId())) {
  133 + PurchaseOrderInfoService purchaseOrderInfoService = ApplicationUtil.getBean(PurchaseOrderInfoService.class);
  134 + PurchaseOrderInfo orderInfo = purchaseOrderInfoService.findById(dto.getOrderId());
  135 + this.orderNo = orderInfo == null ? null : orderInfo.getOrderNo();
  136 + }
115 } 137 }
116 } 138 }
@@ -3,6 +3,8 @@ package com.lframework.xingyun.sc.entity; @@ -3,6 +3,8 @@ package com.lframework.xingyun.sc.entity;
3 import com.baomidou.mybatisplus.annotation.TableName; 3 import com.baomidou.mybatisplus.annotation.TableName;
4 import com.lframework.starter.web.core.dto.BaseDto; 4 import com.lframework.starter.web.core.dto.BaseDto;
5 import java.time.LocalDateTime; 5 import java.time.LocalDateTime;
  6 +import java.util.List;
  7 +
6 import com.baomidou.mybatisplus.annotation.FieldFill; 8 import com.baomidou.mybatisplus.annotation.FieldFill;
7 import com.lframework.starter.web.core.entity.BaseEntity; 9 import com.lframework.starter.web.core.entity.BaseEntity;
8 import com.baomidou.mybatisplus.annotation.TableField; 10 import com.baomidou.mybatisplus.annotation.TableField;
@@ -59,6 +61,12 @@ public class SampleResultFeedback extends BaseEntity implements BaseDto { @@ -59,6 +61,12 @@ public class SampleResultFeedback extends BaseEntity implements BaseDto {
59 private String orderNo; 61 private String orderNo;
60 62
61 /** 63 /**
  64 + * 反馈单明细数据
  65 + */
  66 + @TableField(exist = false)
  67 + private List<SampleFeedbackTrackingDetail> detailList;
  68 +
  69 + /**
62 * 创建人ID 70 * 创建人ID
63 */ 71 */
64 @TableField(fill = FieldFill.INSERT) 72 @TableField(fill = FieldFill.INSERT)
1 package com.lframework.xingyun.sc.impl.sample; 1 package com.lframework.xingyun.sc.impl.sample;
2 2
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
3 import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail; 5 import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;
4 import com.lframework.starter.web.core.impl.BaseMpServiceImpl; 6 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
5 import com.lframework.starter.web.core.annotations.oplog.OpLog; 7 import com.lframework.starter.web.core.annotations.oplog.OpLog;
6 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; 8 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
7 import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleFeedbackTrackingDetailVo; 9 import com.lframework.xingyun.sc.vo.sample.tracking.QuerySampleFeedbackTrackingDetailVo;
  10 +import org.apache.commons.collections4.CollectionUtils;
8 import org.springframework.transaction.annotation.Transactional; 11 import org.springframework.transaction.annotation.Transactional;
9 import com.lframework.xingyun.sc.mappers.SampleFeedbackTrackingDetailMapper; 12 import com.lframework.xingyun.sc.mappers.SampleFeedbackTrackingDetailMapper;
10 import com.lframework.xingyun.sc.service.sample.SampleFeedbackTrackingDetailService; 13 import com.lframework.xingyun.sc.service.sample.SampleFeedbackTrackingDetailService;
@@ -38,7 +41,13 @@ public class SampleFeedbackTrackingDetailServiceImpl extends BaseMpServiceImpl<S @@ -38,7 +41,13 @@ public class SampleFeedbackTrackingDetailServiceImpl extends BaseMpServiceImpl<S
38 41
39 @Override 42 @Override
40 public List<SampleFeedbackTrackingDetail> listByFeedbackIds(List<String> feedbackIds) { 43 public List<SampleFeedbackTrackingDetail> listByFeedbackIds(List<String> feedbackIds) {
41 - return Collections.emptyList(); 44 + if (CollectionUtils.isEmpty(feedbackIds)) {
  45 + return Collections.emptyList();
  46 + }
  47 + LambdaQueryWrapper<SampleFeedbackTrackingDetail> queryWrapper = Wrappers.lambdaQuery(SampleFeedbackTrackingDetail.class);
  48 + queryWrapper.in(SampleFeedbackTrackingDetail::getFeedbackId, feedbackIds);
  49 +
  50 + return getBaseMapper().selectList(queryWrapper);
42 } 51 }
43 52
44 @Override 53 @Override
1 package com.lframework.xingyun.sc.impl.sample; 1 package com.lframework.xingyun.sc.impl.sample;
2 2
3 import com.github.pagehelper.PageInfo; 3 import com.github.pagehelper.PageInfo;
4 -import com.lframework.xingyun.sc.entity.SampleFeedbackTrackingDetail;  
5 -import com.lframework.xingyun.sc.entity.SampleResultFeedback; 4 +import com.lframework.starter.web.core.utils.IdUtil;
  5 +import com.lframework.xingyun.sc.entity.*;
6 import com.lframework.starter.web.core.impl.BaseMpServiceImpl; 6 import com.lframework.starter.web.core.impl.BaseMpServiceImpl;
7 import com.lframework.starter.web.core.utils.PageResultUtil; 7 import com.lframework.starter.web.core.utils.PageResultUtil;
8 import com.lframework.starter.web.core.components.resp.PageResult; 8 import com.lframework.starter.web.core.components.resp.PageResult;
@@ -10,8 +10,11 @@ import com.lframework.starter.web.core.annotations.oplog.OpLog; @@ -10,8 +10,11 @@ import com.lframework.starter.web.core.annotations.oplog.OpLog;
10 import com.lframework.starter.web.core.utils.PageHelperUtil; 10 import com.lframework.starter.web.core.utils.PageHelperUtil;
11 import com.lframework.starter.common.utils.Assert; 11 import com.lframework.starter.common.utils.Assert;
12 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; 12 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
  13 +import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService;
13 import com.lframework.xingyun.sc.service.sample.SampleFeedbackTrackingDetailService; 14 import com.lframework.xingyun.sc.service.sample.SampleFeedbackTrackingDetailService;
  15 +import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanDetailService;
14 import org.apache.commons.collections4.CollectionUtils; 16 import org.apache.commons.collections4.CollectionUtils;
  17 +import org.apache.commons.lang3.BooleanUtils;
15 import org.springframework.transaction.annotation.Transactional; 18 import org.springframework.transaction.annotation.Transactional;
16 import com.lframework.xingyun.sc.mappers.SampleResultFeedbackMapper; 19 import com.lframework.xingyun.sc.mappers.SampleResultFeedbackMapper;
17 import com.lframework.xingyun.sc.service.sample.SampleResultFeedbackService; 20 import com.lframework.xingyun.sc.service.sample.SampleResultFeedbackService;
@@ -19,9 +22,7 @@ import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo; @@ -19,9 +22,7 @@ import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
19 import org.springframework.stereotype.Service; 22 import org.springframework.stereotype.Service;
20 23
21 import javax.annotation.Resource; 24 import javax.annotation.Resource;
22 -import java.util.Collections;  
23 -import java.util.List;  
24 -import java.util.stream.Collectors; 25 +import java.util.*;
25 26
26 @Service 27 @Service
27 public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleResultFeedbackMapper, SampleResultFeedback> implements SampleResultFeedbackService { 28 public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleResultFeedbackMapper, SampleResultFeedback> implements SampleResultFeedbackService {
@@ -29,6 +30,10 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes @@ -29,6 +30,10 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes
29 30
30 @Resource 31 @Resource
31 private SampleFeedbackTrackingDetailService sampleFeedbackTrackingDetailService; 32 private SampleFeedbackTrackingDetailService sampleFeedbackTrackingDetailService;
  33 + @Resource
  34 + private PurchaseOrderLineService purchaseOrderLineService;
  35 + @Resource
  36 + private ShipmentsPlanDetailService shipmentsPlanDetailService;
32 37
33 38
34 @Override 39 @Override
@@ -44,20 +49,18 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes @@ -44,20 +49,18 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes
44 49
45 @Override 50 @Override
46 public List<SampleResultFeedback> query(QuerySampleResultFeedbackVo vo) { 51 public List<SampleResultFeedback> query(QuerySampleResultFeedbackVo vo) {
47 - List<SampleResultFeedback> feedbackList = getBaseMapper().query(vo);  
48 - if (CollectionUtils.isEmpty(feedbackList)) {  
49 - return Collections.emptyList();  
50 - }  
51 - List<String> feedbackIds = feedbackList.stream().map(SampleResultFeedback::getId).collect(Collectors.toList());  
52 - List<SampleFeedbackTrackingDetail> detailList = sampleFeedbackTrackingDetailService.listByFeedbackIds(feedbackIds);  
53 52
54 return getBaseMapper().query(vo); 53 return getBaseMapper().query(vo);
55 } 54 }
56 55
57 @Override 56 @Override
58 public SampleResultFeedback findById(String id) { 57 public SampleResultFeedback findById(String id) {
59 -  
60 - return getBaseMapper().selectById(id); 58 + SampleResultFeedback sampleResultFeedback = getBaseMapper().selectById(id);
  59 + if (sampleResultFeedback != null) {
  60 + List<SampleFeedbackTrackingDetail> detailList = sampleFeedbackTrackingDetailService.listByFeedbackIds(Collections.singletonList(id));
  61 + sampleResultFeedback.setDetailList(detailList);
  62 + }
  63 + return sampleResultFeedback;
61 } 64 }
62 65
63 @OpLog(type = OtherOpLogType.class, name = "删除产品试样结果反馈单,ID:{}", params = {"#id"}) 66 @OpLog(type = OtherOpLogType.class, name = "删除产品试样结果反馈单,ID:{}", params = {"#id"})
@@ -67,4 +70,87 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes @@ -67,4 +70,87 @@ public class SampleResultFeedbackServiceImpl extends BaseMpServiceImpl<SampleRes
67 70
68 getBaseMapper().deleteById(id); 71 getBaseMapper().deleteById(id);
69 } 72 }
  73 +
  74 + @Override
  75 + @Transactional(rollbackFor = Exception.class)
  76 + public void generateFeedbackData(List<PurchaseOrderInfo> orderInfoList, List<String> shipmentsDetailIds) {
  77 + if (CollectionUtils.isEmpty(orderInfoList) || CollectionUtils.isEmpty(shipmentsDetailIds)) {
  78 + return;
  79 + }
  80 + // 获取发货明细数据
  81 + List<ShipmentsPlanDetail> shipmentsDetailList = shipmentsPlanDetailService.listByIds(shipmentsDetailIds);
  82 + if (CollectionUtils.isEmpty(shipmentsDetailList)) {
  83 + return;
  84 + }
  85 + List<String> orderSpecIds = new ArrayList<>();
  86 + Map<String, ShipmentsPlanDetail> shipmentsDetailMap = new HashMap<>();
  87 + for (ShipmentsPlanDetail shipmentsDetail : shipmentsDetailList) {
  88 + String orderSpecId = shipmentsDetail.getOrderSpecId();
  89 + orderSpecIds.add(orderSpecId);
  90 + shipmentsDetailMap.put(orderSpecId, shipmentsDetail);
  91 + }
  92 + // 获取订货单规格数据
  93 + List<PurchaseOrderLine> orderLineList = purchaseOrderLineService.listByIds(orderSpecIds);
  94 + if (CollectionUtils.isEmpty(orderLineList)) {
  95 + return;
  96 + }
  97 + Map<String, List<PurchaseOrderLine>> orderSpecMap = new HashMap<>();
  98 + for (PurchaseOrderLine purchaseOrderLine : orderLineList) {
  99 + String orderId = purchaseOrderLine.getPurchaseOrderId();
  100 + List<PurchaseOrderLine> list = orderSpecMap.computeIfAbsent(orderId, k -> new ArrayList<>());
  101 + list.add(purchaseOrderLine);
  102 + }
  103 + // 此处数据不会特别多,直接循环新增
  104 + for (PurchaseOrderInfo orderInfo : orderInfoList) {
  105 + if (!BooleanUtils.isTrue(orderInfo.getSampleOrder())) {
  106 + // 非试样订单
  107 + continue;
  108 + }
  109 + String orderId = orderInfo.getId();
  110 + List<PurchaseOrderLine> lineList = orderSpecMap.get(orderId);
  111 + if (CollectionUtils.isEmpty(lineList)) {
  112 + continue;
  113 + }
  114 + SampleResultFeedback feedback = new SampleResultFeedback();
  115 + feedback.setId(IdUtil.getUUID());
  116 + feedback.setCustomerId(orderInfo.getOrderingUnit());
  117 + feedback.setWorkshopId(orderInfo.getWorkshopId());
  118 + feedback.setOrderId(orderId);
  119 +
  120 + getBaseMapper().insert(feedback);
  121 + // 生成明细数据
  122 + for (PurchaseOrderLine line : lineList) {
  123 + if (!orderId.equals(line.getPurchaseOrderId())) {
  124 + continue;
  125 + }
  126 + ShipmentsPlanDetail shipmentsDetail = shipmentsDetailMap.get(line.getId());
  127 + if (shipmentsDetail == null) {
  128 + continue;
  129 + }
  130 + SampleFeedbackTrackingDetail detail = new SampleFeedbackTrackingDetail();
  131 + detail.setId(IdUtil.getUUID());
  132 + detail.setFeedbackId(feedback.getId());
  133 + detail.setOrderId(orderId);
  134 + detail.setOrderSpecId(line.getId());
  135 + detail.setShipmentOrderId(shipmentsDetail.getShipmentOrderId());
  136 + detail.setShipmentDetailId(shipmentsDetail.getId());
  137 + detail.setBrand(line.getBrand());
  138 + detail.setThickness(line.getThickness());
  139 + detail.setThicknessTolPos(line.getThicknessTolPos());
  140 + detail.setThicknessTolNeg(line.getThicknessTolNeg());
  141 + detail.setWidth(line.getWidth());
  142 + detail.setWidthTolPos(line.getWidthTolPos());
  143 + detail.setWidthTolNeg(line.getWidthTolPos());
  144 + detail.setLength(line.getLength());
  145 + detail.setLengthTolPos(line.getLengthTolPos());
  146 + detail.setLengthTolNeg(line.getLengthTolNeg());
  147 + detail.setStatus(line.getStatus());
  148 + detail.setShipmentDate(shipmentsDetail.getShipmentsDate());
  149 + detail.setQuantity(shipmentsDetail.getActualShipmentQuantity());
  150 + detail.setYieldBatchNo(shipmentsDetail.getYieldBatchNo());
  151 +
  152 + sampleFeedbackTrackingDetailService.getBaseMapper().insert(detail);
  153 + }
  154 + }
  155 + }
70 } 156 }
@@ -30,6 +30,7 @@ import com.lframework.xingyun.sc.handlers.MessageHandler; @@ -30,6 +30,7 @@ import com.lframework.xingyun.sc.handlers.MessageHandler;
30 import com.lframework.xingyun.sc.service.ledger.ReceiptLedgerInfoService; 30 import com.lframework.xingyun.sc.service.ledger.ReceiptLedgerInfoService;
31 import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; 31 import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService;
32 import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService; 32 import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService;
  33 +import com.lframework.xingyun.sc.service.sample.SampleResultFeedbackService;
33 import com.lframework.xingyun.sc.service.sample.SampleResultTrackingService; 34 import com.lframework.xingyun.sc.service.sample.SampleResultTrackingService;
34 import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanDetailService; 35 import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanDetailService;
35 import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanService; 36 import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanService;
@@ -99,6 +100,8 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr @@ -99,6 +100,8 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
99 private SysUserRoleService sysUserRoleService; 100 private SysUserRoleService sysUserRoleService;
100 @Resource 101 @Resource
101 private SampleResultTrackingService sampleResultTrackingService; 102 private SampleResultTrackingService sampleResultTrackingService;
  103 + @Resource
  104 + private SampleResultFeedbackService sampleResultFeedbackService;
102 105
103 106
104 @Override 107 @Override
@@ -434,6 +437,9 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr @@ -434,6 +437,9 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr
434 String type = vo.getType(); 437 String type = vo.getType();
435 List<PurchaseOrderInfo> orderInfoList = purchaseOrderInfoService.listByIds(orderIds); 438 List<PurchaseOrderInfo> orderInfoList = purchaseOrderInfoService.listByIds(orderIds);
436 if (CollectionUtils.isNotEmpty(orderInfoList)) { 439 if (CollectionUtils.isNotEmpty(orderInfoList)) {
  440 + // 试样订单生成反馈单数据
  441 + sampleResultFeedbackService.generateFeedbackData(orderInfoList, detailIds);
  442 +
437 List<String> userIds = new ArrayList<>(); 443 List<String> userIds = new ArrayList<>();
438 StringBuilder orderNoBuilder = new StringBuilder(); 444 StringBuilder orderNoBuilder = new StringBuilder();
439 for (PurchaseOrderInfo info : orderInfoList) { 445 for (PurchaseOrderInfo info : orderInfoList) {
1 package com.lframework.xingyun.sc.service.sample; 1 package com.lframework.xingyun.sc.service.sample;
2 2
  3 +import com.lframework.xingyun.sc.entity.PurchaseOrderInfo;
  4 +import com.lframework.xingyun.sc.entity.ShipmentsPlanDetail;
3 import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo; 5 import com.lframework.xingyun.sc.vo.sample.feedback.QuerySampleResultFeedbackVo;
4 import com.lframework.xingyun.sc.entity.SampleResultFeedback; 6 import com.lframework.xingyun.sc.entity.SampleResultFeedback;
5 import com.lframework.starter.web.core.service.BaseMpService; 7 import com.lframework.starter.web.core.service.BaseMpService;
@@ -39,4 +41,12 @@ public interface SampleResultFeedbackService extends BaseMpService<SampleResultF @@ -39,4 +41,12 @@ public interface SampleResultFeedbackService extends BaseMpService<SampleResultF
39 * @param id 主键ID 41 * @param id 主键ID
40 */ 42 */
41 void deleteById(String id); 43 void deleteById(String id);
  44 +
  45 + /**
  46 + * 生成样品反馈单数据(包含明细)
  47 + *
  48 + * @param orderInfoList 订货单数据
  49 + * @param shipmentsDetailIds 发货明细ID
  50 + */
  51 + void generateFeedbackData(List<PurchaseOrderInfo> orderInfoList, List<String> shipmentsDetailIds);
42 } 52 }
@@ -18,15 +18,33 @@ public class QuerySampleResultFeedbackVo extends PageVo implements BaseVo, Seria @@ -18,15 +18,33 @@ public class QuerySampleResultFeedbackVo extends PageVo implements BaseVo, Seria
18 private String customerId; 18 private String customerId;
19 19
20 /** 20 /**
  21 + * 客户名称
  22 + */
  23 + @ApiModelProperty("客户名称")
  24 + private String customerName;
  25 +
  26 + /**
21 * 所属分厂 27 * 所属分厂
22 */ 28 */
23 @ApiModelProperty("所属分厂") 29 @ApiModelProperty("所属分厂")
24 private String workshopId; 30 private String workshopId;
25 31
26 /** 32 /**
  33 + * 所属分厂名称
  34 + */
  35 + @ApiModelProperty("所属分厂名称")
  36 + private String workshopName;
  37 +
  38 + /**
27 * 订单ID 39 * 订单ID
28 */ 40 */
29 @ApiModelProperty("订单ID") 41 @ApiModelProperty("订单ID")
30 private String orderId; 42 private String orderId;
31 43
  44 + /**
  45 + * 订单编号
  46 + */
  47 + @ApiModelProperty("订单编号")
  48 + private String orderNo;
  49 +
32 } 50 }
@@ -5,8 +5,11 @@ @@ -5,8 +5,11 @@
5 <resultMap id="SampleResultFeedback" type="com.lframework.xingyun.sc.entity.SampleResultFeedback"> 5 <resultMap id="SampleResultFeedback" type="com.lframework.xingyun.sc.entity.SampleResultFeedback">
6 <id column="id" property="id"/> 6 <id column="id" property="id"/>
7 <result column="customer_id" property="customerId"/> 7 <result column="customer_id" property="customerId"/>
  8 + <result column="customer_name" property="customerName"/>
8 <result column="workshop_id" property="workshopId"/> 9 <result column="workshop_id" property="workshopId"/>
  10 + <result column="workshop_name" property="workshopName"/>
9 <result column="order_id" property="orderId"/> 11 <result column="order_id" property="orderId"/>
  12 + <result column="order_no" property="orderNo"/>
10 <result column="create_by_id" property="createById"/> 13 <result column="create_by_id" property="createById"/>
11 <result column="update_by_id" property="updateById"/> 14 <result column="update_by_id" property="updateById"/>
12 <result column="create_time" property="createTime"/> 15 <result column="create_time" property="createTime"/>
@@ -44,6 +47,15 @@ @@ -44,6 +47,15 @@
44 <if test="vo.orderId != null and vo.orderId != ''"> 47 <if test="vo.orderId != null and vo.orderId != ''">
45 AND tb.order_id = #{vo.orderId} 48 AND tb.order_id = #{vo.orderId}
46 </if> 49 </if>
  50 + <if test="vo.customerName != null and vo.customerName != ''">
  51 + AND c.name LIKE CONCAT('%', #{vo.customerName}, '%')
  52 + </if>
  53 + <if test="vo.workshopName != null and vo.workshopName != ''">
  54 + AND w.name LIKE CONCAT('%', #{vo.workshopName}, '%')
  55 + </if>
  56 + <if test="vo.orderNo != null and vo.orderNo != ''">
  57 + AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
  58 + </if>
47 </where> 59 </where>
48 </select> 60 </select>
49 </mapper> 61 </mapper>