package com.glxp.api.controller.collect; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.common.enums.ResultEnum; 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.collect.IoCollectOrder; import com.glxp.api.entity.collect.IoSplitDesOrder; import com.glxp.api.req.collect.AddInvDesDetaiRequest; import com.glxp.api.req.collect.IoSplitDesOrderCodeDetailRequest; import com.glxp.api.req.collect.IoSplitDesOrderDetailRequest; import com.glxp.api.req.collect.IoSplitDesOrderRequest; import com.glxp.api.req.inout.AddTagCodeReqeust; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.collect.IoSplitDesOrderCodeDetailResponse; import com.glxp.api.res.collect.IoSplitDesOrderDetailResponse; import com.glxp.api.res.collect.IoSplitDesOrderResponse; import com.glxp.api.service.collect.IoSplitDesOrderCodeService; import com.glxp.api.service.collect.IoSplitDesOrderDetailService; import com.glxp.api.service.collect.IoSplitDesOrderService; import org.springframework.validation.BindingResult; 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 javax.validation.Valid; import java.util.List; @RestController public class IoFifoDesOrderController extends BaseController { @Resource IoSplitDesOrderService splitDesOrderService; @Resource IoSplitDesOrderDetailService splitDesOrderDetailService; @Resource IoSplitDesOrderCodeService ioSplitDesOrderCodeService; @GetMapping("/udiwms/collect/fifo/desOrder/filter") public BaseResponse filterOrder(IoSplitDesOrderRequest splitDesOrderRequest) { List orderResponses = splitDesOrderService.filterList(splitDesOrderRequest); PageInfo pageInfo = new PageInfo<>(orderResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(orderResponses); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/collect/fifo/desOrder/detail") public BaseResponse detail(IoSplitDesOrderDetailRequest splitDesOrderDetailRequest) { if (StrUtil.isBlank(splitDesOrderDetailRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空"); } IoSplitDesOrder collectOrder = splitDesOrderService.getByBillNo(splitDesOrderDetailRequest.getOrderIdFk()); if (collectOrder == null) { return ResultVOUtils.error(500, "未找到单据"); } List list = splitDesOrderDetailService.filterList(splitDesOrderDetailRequest); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/basic/collect/desOrder/code/detail") public BaseResponse getCodeDetail(IoSplitDesOrderCodeDetailRequest ioSplitDesOrderCodeDetailRequest) { if (StrUtil.isBlank(ioSplitDesOrderCodeDetailRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空"); } IoSplitDesOrder collectOrder = splitDesOrderService.getByBillNo(ioSplitDesOrderCodeDetailRequest.getOrderIdFk()); if (collectOrder == null) { return ResultVOUtils.error(500, "未找到单据"); } List list = ioSplitDesOrderCodeService.filterList(ioSplitDesOrderCodeDetailRequest); PageInfo pageInfo = new PageInfo<>(list); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(list); return ResultVOUtils.success(pageSimpleResponse); } /** * 选入工位库存 * * @return */ @PostMapping("/udiwms/collect/fifo/desOrder/addInv") public BaseResponse addInv(@RequestBody AddInvDesDetaiRequest addInvDesDetaiRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } IoSplitDesOrder splitDesOrder = splitDesOrderService.addInv(addInvDesDetaiRequest); return ResultVOUtils.success(splitDesOrder); } /** * 扫码添加 * * @return */ @PostMapping("/udiwms/collect/fifo/desOrder/addCode") public BaseResponse addCode(@RequestBody AddInvDesDetaiRequest addInvDesDetaiRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } IoSplitDesOrder splitDesOrder = splitDesOrderService.addCode(addInvDesDetaiRequest); return ResultVOUtils.success(splitDesOrder); } @PostMapping("/udiwms/collect/fifo/desOrder/destroyOut") public BaseResponse destroyOut(@RequestBody AddInvDesDetaiRequest addInvDesDetaiRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } Boolean save = splitDesOrderService.destroyOut(addInvDesDetaiRequest); if (!save) { return ResultVOUtils.error("错误"); } return ResultVOUtils.success("损耗出库成功"); } /** * 拆零表损耗出库 * * @param addInvDesDetaiRequest * @param bindingResult * @return */ @PostMapping("/udiwms/collect/split/desOrder/destroyOut") public BaseResponse splitDestoryOut(@RequestBody AddInvDesDetaiRequest addInvDesDetaiRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } splitDesOrderService.splitDesOrder(addInvDesDetaiRequest); return ResultVOUtils.success("损耗出库成功"); } }