12/9 已完成单扫码校验1.0

dev_unify
wangwei 7 months ago
parent 14875c39a2
commit 17a392e687

@ -3,6 +3,7 @@ package com.glxp.api.controller.collect;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -10,6 +11,7 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.collect.IoCollectCodeBackup;
import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.req.collect.IoCollectCodeRequest;
import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.collect.IoCollectCodeResponse;
import com.glxp.api.service.collect.IoCollectCodeBackService;
@ -23,6 +25,9 @@ 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;
@Slf4j
@ -99,4 +104,30 @@ public class IoCollectCodeBackupController extends BaseController {
return ResultVOUtils.success("更新成功");
}
@GetMapping("/udiwms/basic/collect/ioCollectCode/endList")
public BaseResponse filterList(IoCollectCodeRequest request) {
List<IoCollectCodeResponse> ioCollectCodeResponses = ioCollectCodeBackService.filterList(request);
PageInfo<IoCollectCodeResponse> pageInfo = new PageInfo<>(ioCollectCodeResponses);
PageSimpleResponse<IoCollectCodeResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(ioCollectCodeResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/basic/collect/ioCollectCode/checkCode")
public BaseResponse checkCode(@RequestBody IoCollectCodeRequest filterCodeRequest){
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<BaseResponse> future = executor.submit(() -> ioCollectCodeBackService.CheckCode(filterCodeRequest));
BaseResponse response = null;
try {
response = future.get();
} catch (Exception e) {
e.printStackTrace();
} finally {
executor.shutdown();
}
return response;
}
}

@ -93,21 +93,7 @@ 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;
}
}

@ -3,6 +3,8 @@ package com.glxp.api.req.collect;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
/**
* @author : zhangsan
* @date : 2024/8/26 16:29
@ -17,5 +19,6 @@ public class IoCollectCodeRequest extends ListPageRequest {
private String billNo;
private String fromType;
private String fromCorp;
private List<String> codeList;
}

@ -106,5 +106,8 @@ public class IoCollectCodeResponse {
private String ylqxzcrbarmc;
private String relId;
private Date billTime;
private String batchNo;
private String productDate;
private String expireDate;
private Integer scanActCount;
}

@ -1,20 +1,43 @@
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;
/**
*
*
@ -31,4 +54,60 @@ public class IoCollectCodeBackService extends ServiceImpl<IoCollectCodeBackMappe
}
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;
}
}

@ -163,44 +163,4 @@ public class IoCodeService extends ServiceImpl<IoCodeDao, IoCodeEntity> {
return ioCodeResponses;
}
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);
}
}
}

@ -10,13 +10,18 @@
COALESCE(bp.ggxh, bp.bzgg) AS ggxh,
bp.zczbhhzbapzbh,
bp.ylqxzcrbarmc,
bp.manufactory
bp.manufactory,
icobb.batchNo,
icobb.productDate,
icobb.expireDate,
icobb.scanActCount
from io_collect_code_backup iccb
left join sys_workplace sw on sw.workplaceId = iccb.workPlaceCode
left join thr_bustype_origin on iccb.busType = thr_bustype_origin.action
left join basic_bussiness_type on iccb.busType = basic_bussiness_type.action
left join basic_udirel bu on iccb.relId = bu.id
left join basic_products bp on bu.uuid = bp.uuid
left join io_collect_order_biz_backup icobb on icobb.orderIdFk = iccb.billNo
<where>
<if test="workPlaceCode != '' and workPlaceCode != null">
AND iccb.workPlaceCode LIKE concat('%', #{workPlaceCode}, '%')

Loading…
Cancel
Save