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

115 lines
5.2 KiB
Java

package com.glxp.api.service.collect;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.dao.collect.IoCollectCodeBackMapper;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.collect.*;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.req.collect.IoCollectCodeRequest;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.collect.IoCollectCodeResponse;
import com.glxp.api.res.inout.AddEnterCodeResponse;
import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Service
public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMapper, IoCollectCodeBackup> {
@Resource
IoCollectCodeBackMapper ioCollectCodeBackMapper;
@Resource
UdiRelevanceService udiRelevanceService;
/**
* 追溯码查询
*
* @param ioCollectCodeRequest
* @return
*/
public List<IoCollectCodeResponse> filterList(IoCollectCodeRequest ioCollectCodeRequest) {
if (ioCollectCodeRequest == null) {
return Collections.emptyList();
}
if (ioCollectCodeRequest.getPage() != null) {
int offset = (ioCollectCodeRequest.getPage() - 1) * ioCollectCodeRequest.getLimit();
PageHelper.offsetPage(offset, ioCollectCodeRequest.getLimit());
}
return super.baseMapper.filterList(ioCollectCodeRequest);
}
public BaseResponse CheckCode(IoCollectCodeRequest filterCodeRequest) {
//判断
if (StrUtil.isNotEmpty(filterCodeRequest.getCode())){
IoCollectCodeBackup ioCollectCodeBackup = ioCollectCodeBackMapper.selectOne(new LambdaQueryWrapper<IoCollectCodeBackup>()
.eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo())
.eq(IoCollectCodeBackup::getCode, filterCodeRequest.getCode()));
if (ioCollectCodeBackup == null){
BaseResponse response = new BaseResponse();
response.setData(filterCodeRequest.getCode());
response.setCode(500);
response.setMessage("追溯码不存在");
return response;
}
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode());
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
udiEntity.setCode(filterCodeRequest.getCode());
AddEnterCodeResponse addEnterCodeResponse = setAddEnterCodeResponse(udiEntity, udiRelevanceResponse);
return ResultVOUtils.success(addEnterCodeResponse);
}else {
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
for (String code : filterCodeRequest.getCodeList()){
IoCollectCodeBackup ioCollectCodeBackup = ioCollectCodeBackMapper.selectOne(new LambdaQueryWrapper<IoCollectCodeBackup>()
.eq(IoCollectCodeBackup::getBillNo, filterCodeRequest.getBillNo())
.eq(IoCollectCodeBackup::getCode, code));
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
if (ioCollectCodeBackup != null){
vailCodeResultResponse.setStatus(1);
vailCodeResultResponse.setCode(code);
vailCodeResultResponse.setSucMsg("校验成功");
vailCodeResultResponses.add(vailCodeResultResponse);
}else {
vailCodeResultResponse.setStatus(2);
vailCodeResultResponse.setCode(code);
vailCodeResultResponse.setErrMsg("追溯码不存在");
vailCodeResultResponses.add(vailCodeResultResponse);
}
}
return ResultVOUtils.success(vailCodeResultResponses);
}
}
public AddEnterCodeResponse setAddEnterCodeResponse(UdiEntity udiEntity, UdiRelevanceResponse checkUdi) {
AddEnterCodeResponse addEnterCodeResponse = new AddEnterCodeResponse();
BeanUtils.copyProperties(udiEntity, addEnterCodeResponse);
addEnterCodeResponse.setBzgg(checkUdi.getBzgg());
addEnterCodeResponse.setCpmctymc(checkUdi.getCpmctymc());
addEnterCodeResponse.setPrepnSpec(checkUdi.getPrepnSpec());
addEnterCodeResponse.setPrepnUnit(checkUdi.getPrepnUnit());
addEnterCodeResponse.setPackUnit(checkUdi.getPackUnit());
addEnterCodeResponse.setGgxh(checkUdi.getGgxh());
return addEnterCodeResponse;
}
}