12/3 已完成单-码校验

dev_unify
wangwei 7 months ago
parent 0069d2dcd9
commit 29672ba005

@ -1,20 +1,27 @@
package com.glxp.api.controller.inout;
import cn.hutool.core.thread.ThreadUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.service.inout.impl.IoCodeService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
/**
* UDI-
* author
@ -86,4 +93,21 @@ public class IoCodeController extends BaseController {
return ResultVOUtils.page(pageInfo);
}
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/checkCode")
public BaseResponse checkCode(@RequestBody FilterCodeRequest filterCodeRequest){
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<BaseResponse> future = executor.submit(() -> ioCodeService.CheckCode(filterCodeRequest));
BaseResponse response = null;
try {
response = future.get();
} catch (Exception e) {
e.printStackTrace();
} finally {
executor.shutdown();
}
return response;
}
}

@ -67,4 +67,9 @@ public class FilterCodeRequest extends ListPageRequest {
*
*/
List<String> actions;
/**
*
*/
private List<String> codeList;
}

@ -143,5 +143,6 @@ public class UdiRlSupResponse {
*
*/
private Integer detailSort;
private String packUnit;
}

@ -11,6 +11,7 @@ public class VailCodeResultResponse {
*/
private Integer status;
private String errMsg;
private String sucMsg;
private String cpmctymc;
private String productInfo;
private String bizId;

@ -1,6 +1,10 @@
package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.beans.BeanUtils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
@ -17,6 +21,7 @@ import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.res.inout.IoCodeTempResponse;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -159,4 +164,43 @@ public class IoCodeService extends ServiceImpl<IoCodeDao, IoCodeEntity> {
}
public BaseResponse CheckCode(FilterCodeRequest filterCodeRequest) {
//判断
if (StrUtil.isNotEmpty(filterCodeRequest.getCode())){
IoCodeEntity ioCodeEntity = ioCodeDao.selectOne(new LambdaQueryWrapper<IoCodeEntity>()
.eq(IoCodeEntity::getOrderId, filterCodeRequest.getOrderId())
.eq(IoCodeEntity::getCode, filterCodeRequest.getCode()));
if (ioCodeEntity == null){
BaseResponse response = new BaseResponse();
response.setData(filterCodeRequest.getCode());
response.setCode(500);
response.setMessage("追溯码不存在");
return response;
}
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterCodeRequest.getCode());
udiEntity.setCode(filterCodeRequest.getCode());
return ResultVOUtils.success(udiEntity);
}else {
List<VailCodeResultResponse> vailCodeResultResponses = new ArrayList<>();
for (String code : filterCodeRequest.getCodeList()){
IoCodeEntity ioCodeEntity = ioCodeDao.selectOne(new LambdaQueryWrapper<IoCodeEntity>()
.eq(IoCodeEntity::getOrderId, filterCodeRequest.getOrderId())
.eq(IoCodeEntity::getCode, code));
VailCodeResultResponse vailCodeResultResponse = new VailCodeResultResponse();
if (ioCodeEntity != 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);
}
}
}

Loading…
Cancel
Save