You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
4.0 KiB
Java
100 lines
4.0 KiB
Java
package com.glxp.api.service.collect;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.github.pagehelper.PageHelper;
|
|
import com.glxp.api.dao.collect.IoCollectOrderBizMapper;
|
|
import com.glxp.api.entity.collect.IoCollectOrderBiz;
|
|
import com.glxp.api.req.collect.CollectOrderBizRequest;
|
|
import com.glxp.api.res.collect.CollectOrderBizResponse;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMapper, IoCollectOrderBiz> {
|
|
|
|
@Resource
|
|
IoCollectOrderBizMapper collectOrderBizMapper;
|
|
|
|
public List<CollectOrderBizResponse> filterList(CollectOrderBizRequest collectOrderRequest) {
|
|
if (collectOrderRequest == null) {
|
|
return Collections.emptyList();
|
|
}
|
|
if (collectOrderRequest.getPage() != null) {
|
|
int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit();
|
|
PageHelper.offsetPage(offset, collectOrderRequest.getLimit());
|
|
}
|
|
List<CollectOrderBizResponse> data = collectOrderBizMapper.filterList(collectOrderRequest);
|
|
for (CollectOrderBizResponse collectOrderBizResponse : data){
|
|
collectOrderBizResponse.setProductLocation(setProductName(collectOrderBizResponse));
|
|
}
|
|
return data;
|
|
}
|
|
|
|
public String setProductName(CollectOrderBizResponse collectOrderBizResponse){
|
|
String[] parts = collectOrderBizResponse.getWorkplaceQueueCode().split("-");
|
|
String shelf = "";
|
|
String layer = "";
|
|
// 检查分割后的数组长度是否符合预期
|
|
if (parts.length == 3) {
|
|
// 分别赋值给对应的变量
|
|
shelf = parts[0]; // 货架
|
|
layer = parts[1]; // 层
|
|
}
|
|
StringBuilder sb = new StringBuilder();
|
|
if (collectOrderBizResponse.getRegionName() != null && !collectOrderBizResponse.getRegionName().isEmpty()) {
|
|
sb.append(collectOrderBizResponse.getRegionName());
|
|
}
|
|
if (collectOrderBizResponse.getFreightName() != null && !collectOrderBizResponse.getFreightName().isEmpty()) {
|
|
if (sb.length() > 0) {
|
|
sb.append("-");
|
|
}
|
|
sb.append(collectOrderBizResponse.getFreightName());
|
|
}
|
|
if (layer != null && !layer.isEmpty()) {
|
|
if (sb.length() > 0) {
|
|
sb.append("-");
|
|
}
|
|
sb.append(layer + "层");
|
|
}
|
|
|
|
// if (collectOrderBizResponse.getQueueName() != null && !collectOrderBizResponse.getQueueName().isEmpty()) {
|
|
// if (sb.length() > 0) {
|
|
// sb.append("-");
|
|
// }
|
|
// sb.append(collectOrderBizResponse.getQueueName());
|
|
// }
|
|
// if (collectOrderBizResponse.getWorkplaceQueueCode() != null && !collectOrderBizResponse.getWorkplaceQueueCode().isEmpty()) {
|
|
// if (sb.length() > 0) {
|
|
// sb.append("-");
|
|
// }
|
|
// sb.append("(").append(collectOrderBizResponse.getWorkplaceQueueCode()).append(")");
|
|
// }
|
|
return sb.toString();
|
|
}
|
|
|
|
|
|
public List<IoCollectOrderBiz> listByBillNo(String billNo) {
|
|
List<IoCollectOrderBiz> list = super.list(Wrappers.lambdaQuery(IoCollectOrderBiz.class)
|
|
.eq(IoCollectOrderBiz::getOrderIdFk, billNo)
|
|
);
|
|
return list;
|
|
}
|
|
|
|
|
|
public Boolean removeByBillNo(String billNo) {
|
|
return remove(new LambdaQueryWrapper<IoCollectOrderBiz>().eq(IoCollectOrderBiz::getOrderIdFk, billNo));
|
|
}
|
|
|
|
public Boolean insertOrUpdate(IoCollectOrderBiz collectOrderBiz) {
|
|
return collectOrderBizMapper.insertOrUpdate(collectOrderBiz);
|
|
}
|
|
|
|
|
|
}
|