Commit e37092d062debda16d69913c1672ca5febe5bca9

Authored by 杨鸣坤
1 parent a37453fb

楚江ERP:移动端搜索联调

... ... @@ -155,9 +155,27 @@ public class ContractDistributorStandardController extends DefaultBaseController
155 155 }
156 156
157 157 vo.setDeptIdList(sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList()));
158   - vo.setCreateById(SecurityUtil.getCurrentUser().getId());
159 158 }
160 159
  160 + if (vo != null && StringUtils.isNotBlank(vo.getKeyword())) {
  161 + QueryCustomerVo queryCustomerVo = new QueryCustomerVo();
  162 + queryCustomerVo.setName(vo.getKeyword());
  163 + List<Customer> customerList = customerService.query(queryCustomerVo);
  164 + if (CollectionUtils.isNotEmpty(customerList)) {
  165 + vo.setBuyerList(customerList.stream().map(Customer::getId).collect(Collectors.toList()));
  166 + }
  167 +
  168 +
  169 + Wrapper<SysDept> sysDeptWrapper = Wrappers.lambdaQuery(SysDept.class)
  170 + .like(SysDept::getName, vo.getKeyword());
  171 + List<SysDept> sysDeptList = sysDeptService.list(sysDeptWrapper);
  172 + if (CollectionUtils.isNotEmpty(sysDeptList)) {
  173 + vo.setDeptIdList(sysDeptList.stream().map(SysDept::getId).collect(Collectors.toList()));
  174 + }
  175 + }
  176 +
  177 + vo.setCreateById(SecurityUtil.getCurrentUser().getId());
  178 +
161 179 PageResult<ContractDistributorStandard> pageResult = contractDistributorStandardService.query(getPageIndex(vo), getPageSize(vo), vo);
162 180
163 181 List<ContractDistributorStandard> datas = pageResult.getDatas();
... ...
... ... @@ -82,5 +82,8 @@ public class QueryContractDistributorStandardVo extends PageVo implements BaseVo
82 82
83 83 @ApiModelProperty("创建人ID")
84 84 private String createById;
  85 +
  86 + @ApiModelProperty("关键字搜索(办事处、客户、编号)")
  87 + private String keyword;
85 88 }
86 89
... ...
... ... @@ -63,64 +63,63 @@
63 63 </resultMap>
64 64
65 65 <sql id="ContractDistributorStandard_sql">
66   - SELECT
67   - tb.id,
68   - tb.code,
69   - tb.supplier,
70   - tb.buyer,
71   - tb.dept_id,
72   - tb.order_date,
73   - tb.unit,
74   - tb.workshop_id,
75   - tb.total_amount_capital,
76   - tb.deposit_info,
77   - tb.packaging_requirements,
78   - tb.payment_terms,
79   - tb.execution_standard,
80   - tb.execution_standard_remarks,
81   - tb.transport_mode,
82   - tb.destination,
83   - tb.includes_packaging_fee,
84   - tb.includes_transport_fee,
85   - tb.piece_weight_head,
86   - tb.surface,
87   - tb.tolerance,
88   - tb.performance,
89   - tb.component,
90   - tb.packaging,
91   - tb.special_terms,
92   - tb.designated_consignee,
93   - tb.special_instructions,
94   - tb.remarks,
95   - tb.status,
96   - tb.create_by_id,
97   - tb.create_by,
98   - tb.update_by_id,
99   - tb.update_by,
100   - tb.create_time,
101   - tb.update_time,
102   - tb.total_quantity,
103   - tb.total_amount_excluding_tax,
104   - tb.total_amount_including_tax,
105   - tb.type,
106   - tb.parent_id,
107   - tb.formal_file_id,
108   - tb.formal_file_name,
109   - tb.formal_standardized,
110   - tb.formal_approved,
111   - tb.formal_approver_id,
112   - tb.formal_time,
113   - tb.standard_file_id,
114   - tb.standard_file_name,
115   - tb.standard_standardized,
116   - tb.standard_approved,
117   - tb.standard_approver_id,
118   - tb.standard_time,
119   - tb.price_spec_locked,
120   - tb.signed_contract_file_id,
121   - tb.signed_contract_file_name,
122   - tb.formalized_at,
123   - tb.standardized_at
  66 + SELECT tb.id,
  67 + tb.code,
  68 + tb.supplier,
  69 + tb.buyer,
  70 + tb.dept_id,
  71 + tb.order_date,
  72 + tb.unit,
  73 + tb.workshop_id,
  74 + tb.total_amount_capital,
  75 + tb.deposit_info,
  76 + tb.packaging_requirements,
  77 + tb.payment_terms,
  78 + tb.execution_standard,
  79 + tb.execution_standard_remarks,
  80 + tb.transport_mode,
  81 + tb.destination,
  82 + tb.includes_packaging_fee,
  83 + tb.includes_transport_fee,
  84 + tb.piece_weight_head,
  85 + tb.surface,
  86 + tb.tolerance,
  87 + tb.performance,
  88 + tb.component,
  89 + tb.packaging,
  90 + tb.special_terms,
  91 + tb.designated_consignee,
  92 + tb.special_instructions,
  93 + tb.remarks,
  94 + tb.status,
  95 + tb.create_by_id,
  96 + tb.create_by,
  97 + tb.update_by_id,
  98 + tb.update_by,
  99 + tb.create_time,
  100 + tb.update_time,
  101 + tb.total_quantity,
  102 + tb.total_amount_excluding_tax,
  103 + tb.total_amount_including_tax,
  104 + tb.type,
  105 + tb.parent_id,
  106 + tb.formal_file_id,
  107 + tb.formal_file_name,
  108 + tb.formal_standardized,
  109 + tb.formal_approved,
  110 + tb.formal_approver_id,
  111 + tb.formal_time,
  112 + tb.standard_file_id,
  113 + tb.standard_file_name,
  114 + tb.standard_standardized,
  115 + tb.standard_approved,
  116 + tb.standard_approver_id,
  117 + tb.standard_time,
  118 + tb.price_spec_locked,
  119 + tb.signed_contract_file_id,
  120 + tb.signed_contract_file_name,
  121 + tb.formalized_at,
  122 + tb.standardized_at
124 123 FROM tbl_contract_distributor_standard AS tb
125 124 </sql>
126 125
... ... @@ -130,18 +129,38 @@
130 129 <if test="vo.code != null and vo.code != ''">
131 130 AND code like CONCAT('%', #{vo.code}, '%')
132 131 </if>
133   - <if test="vo.buyerList != null and vo.buyerList.size() > 0">
134   - AND tb.buyer IN
135   - <foreach collection="vo.buyerList" open="(" separator="," close=")" item="item">
136   - #{item}
137   - </foreach>
138   - </if>
139   - <if test="vo.deptIdList != null and vo.deptIdList.size() > 0">
140   - AND tb.dept_id IN
141   - <foreach collection="vo.deptIdList" open="(" separator="," close=")" item="item">
142   - #{item}
143   - </foreach>
144   - </if>
  132 + <choose>
  133 + <when test="vo.keyword != null and vo.keyword != ''">
  134 + AND (code like CONCAT('%', #{vo.keyword}, '%')
  135 + <if test="vo.buyerList != null and vo.buyerList.size() > 0">
  136 + OR tb.buyer IN
  137 + <foreach collection="vo.buyerList" open="(" separator="," close=")" item="item">
  138 + #{item}
  139 + </foreach>
  140 + </if>
  141 + <if test="vo.deptIdList != null and vo.deptIdList.size() > 0">
  142 + OR tb.dept_id IN
  143 + <foreach collection="vo.deptIdList" open="(" separator="," close=")" item="item">
  144 + #{item}
  145 + </foreach>
  146 + </if>
  147 + )
  148 + </when>
  149 + <otherwise>
  150 + <if test="vo.buyerList != null and vo.buyerList.size() > 0">
  151 + AND tb.buyer IN
  152 + <foreach collection="vo.buyerList" open="(" separator="," close=")" item="item">
  153 + #{item}
  154 + </foreach>
  155 + </if>
  156 + <if test="vo.deptIdList != null and vo.deptIdList.size() > 0">
  157 + AND tb.dept_id IN
  158 + <foreach collection="vo.deptIdList" open="(" separator="," close=")" item="item">
  159 + #{item}
  160 + </foreach>
  161 + </if>
  162 + </otherwise>
  163 + </choose>
145 164 <if test="vo.orderDate != null">
146 165 AND tb.order_date IN (#{vo.orderDate})
147 166 </if>
... ...