|
|
|
package com.glxp.api.service.collect;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
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.basic.UdiProductEntity;
|
|
|
|
import com.glxp.api.entity.collect.IoCollectOrderBiz;
|
|
|
|
import com.glxp.api.req.collect.CollectOrderBizRequest;
|
|
|
|
import com.glxp.api.res.collect.CollectOrderBizResponse;
|
|
|
|
import com.glxp.api.service.basic.UdiProductService;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@Service
|
|
|
|
public class IoCollectOrderBizService extends ServiceImpl<IoCollectOrderBizMapper, IoCollectOrderBiz> {
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
IoCollectOrderBizMapper collectOrderBizMapper;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
UdiProductService udiProductService;
|
|
|
|
|
|
|
|
|
|
|
|
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);
|
|
|
|
if (collectOrderRequest.getIsOrderCheck() == null){
|
|
|
|
for (CollectOrderBizResponse collectOrderBizResponse : data){
|
|
|
|
collectOrderBizResponse.setProductLocation(setProductName(collectOrderBizResponse));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//设置 应该扫码数量 shouldCount
|
|
|
|
if (data.size() > 0){
|
|
|
|
for (CollectOrderBizResponse collectOrderBizResponse : data){
|
|
|
|
UdiProductEntity product = udiProductService.selectUdiByName(collectOrderBizResponse.getNameCode());
|
|
|
|
Integer myBhxjsl = product.getMyBhxjsl();
|
|
|
|
collectOrderBizResponse.setShouldCount(collectOrderBizResponse.getCount() / myBhxjsl);
|
|
|
|
if (collectOrderBizResponse.getScanCount() == null){
|
|
|
|
collectOrderBizResponse.setScanCount(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String setProductName(CollectOrderBizResponse collectOrderBizResponse){
|
|
|
|
if (StrUtil.isEmpty(collectOrderBizResponse.getWorkplaceQueueCode())){
|
|
|
|
//todo 暂时解决办法
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
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 + "层");
|
|
|
|
}
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|