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.
udi-wms-java/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.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);
}
}