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:苏荣彬 * data: 2023/11/18 */ /** * 单据正式码表接口 */ @RestController public class IoCodeController extends BaseController { @Resource private IoCodeService ioCodeService; /** * 查询单据正式码表数据 * * @param filterCodeRequest * @return */ @GetMapping("/udiwms/inout/code/filterList") public BaseResponse filterList(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } /** * 根据单据号查询正式码表数据 * * @return */ @GetMapping("/udiwms/inout/code/findByOrderId") public BaseResponse findAllByOrderId(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.filterList(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.success(pageInfo); } /** * 单据复核,获取单据对应条码 */ @AuthRuleAnnotation("") @GetMapping("spms/inout/dlcode/findByOrderId") public BaseResponse downloadCodesByOrderId(String orderId) { List codeEntityList = ioCodeService.findByOrderId(orderId); PageInfo pageInfo; pageInfo = new PageInfo<>(codeEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(codeEntityList); return ResultVOUtils.success(pageSimpleResponse); } /** * 单据编辑,查询条码列表 * * @param filterCodeRequest * @return */ @GetMapping("/udiwms/inout/code/getCodeListForEdit") public BaseResponse getCodeListForEdit(FilterCodeRequest filterCodeRequest) { List list = ioCodeService.getCodeListForEdit(filterCodeRequest); PageInfo pageInfo = new PageInfo<>(list); return ResultVOUtils.page(pageInfo); } @AuthRuleAnnotation("") @PostMapping("warehouse/inout/checkCode") public BaseResponse checkCode(@RequestBody FilterCodeRequest filterCodeRequest){ ExecutorService executor = Executors.newSingleThreadExecutor(); Future future = executor.submit(() -> ioCodeService.CheckCode(filterCodeRequest)); BaseResponse response = null; try { response = future.get(); } catch (Exception e) { e.printStackTrace(); } finally { executor.shutdown(); } return response; } }