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/RelCodeDetailService.java

67 lines
2.7 KiB
Java

package com.glxp.api.service.collect;
9 months ago
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.BasicProductsDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.RelCodeDetailRequest;
import com.glxp.api.res.collect.RelCodeDetailResponse;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
9 months ago
import java.util.Collections;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.collect.RelCodeDetailMapper;
import com.glxp.api.entity.collect.RelCodeDetail;
@Service
public class RelCodeDetailService extends ServiceImpl<RelCodeDetailMapper, RelCodeDetail> {
9 months ago
@Resource
private BasicProductsDao basicProductsDao;
/**
*
* @param relCodeDetailRequest
* @return
*/
public RelCodeDetailResponse scanCode(RelCodeDetailRequest relCodeDetailRequest) {
//todo 查询子集
String parentCode = relCodeDetailRequest.getParentCode();
if(StrUtil.isBlank(parentCode)){
throw new JsonException("父级码不能为空");
}
RelCodeDetailResponse relCodeDetailResponse = new RelCodeDetailResponse();
LambdaQueryWrapper<BasicProductsEntity> qw = new LambdaQueryWrapper<BasicProductsEntity>()
.eq(BasicProductsEntity::getNameCode, relCodeDetailRequest.getParentCode())
.last("limit 1");
BasicProductsEntity basicProductsEntity = basicProductsDao.selectOne(qw);
if(basicProductsEntity == null){
throw new JsonException("");
}
relCodeDetailResponse.setCurCode(basicProductsEntity.getNameCode());
relCodeDetailResponse.setPackLayer(Integer.valueOf(basicProductsEntity.getPackLevel()));
relCodeDetailResponse.setParentCode(parentCode);
relCodeDetailResponse.setFlag(Integer.valueOf(basicProductsEntity.getMajorStatus()));
return relCodeDetailResponse;
}
/**
*
* @param relCodeDetailRequest
* @return
*/
public List<RelCodeDetailResponse> filterList(RelCodeDetailRequest relCodeDetailRequest) {
if (relCodeDetailRequest == null) {
return Collections.emptyList();
}
if (relCodeDetailRequest.getPage() != null) {
int offset = (relCodeDetailRequest.getPage() - 1) * relCodeDetailRequest.getLimit();
PageHelper.offsetPage(offset, relCodeDetailRequest.getLimit());
}
return this.baseMapper.filterList(relCodeDetailRequest);
}
}