package com.glxp.api.controller.collect; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; 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.IoCollectOrderBackup; import com.glxp.api.entity.collect.IoCollectOrderCodeMan; import com.glxp.api.req.basic.BasicCollectUserRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.service.basic.BasicCollectUserService; import com.glxp.api.service.collect.IoCollectOrderBackupService; 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.stream.Collectors; /** * @author : zhu * @date : 2024/9/11 10:36 * @modyified By : */ @RestController public class IoCollectOrderBackupController extends BaseController { @Resource IoCollectOrderBackupService ioCollectOrderBackupService; @Resource private BasicCollectUserService basicCollectUserService; @PostMapping("/udiwms/basic/collect/orderFinish/filter") public BaseResponse filterOrder(@RequestBody CollectOrderRequest collectOrderRequest) { List workPlaceCodes = null; List page; if (collectOrderRequest.getWorkPlaceCode() == null) { Long userId = getUserId(); BasicCollectUserRequest request = new BasicCollectUserRequest(); request.setPage(1); request.setLimit(100); request.setUserId(userId.toString()); page = basicCollectUserService.filterList(request); if (page != null) { workPlaceCodes = page.stream() .map(UserWorkResponse::getWorkplaceId) .collect(Collectors.toList()); } collectOrderRequest.setWorkPlaceCodes(workPlaceCodes); } List orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest); PageInfo pageInfo = new PageInfo<>(orderResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(orderResponses); return ResultVOUtils.success(pageSimpleResponse); } @GetMapping("/udiwms/basic/collect/orderFinish/detail") public BaseResponse allDetail(CollectOrderBizRequest collectOrderBizRequest) { if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) { return ResultVOUtils.error(500, "单据号不能为空"); } IoCollectOrderBackup collectOrder = ioCollectOrderBackupService.getByBillNo(collectOrderBizRequest.getOrderIdFk()); if (collectOrder == null) { return ResultVOUtils.error(500, "未找到单据"); } List collectOrderBizResponses = ioCollectOrderBackupService.combieOrderDetail(collectOrderBizRequest); PageInfo pageInfo = new PageInfo<>(collectOrderBizResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(collectOrderBizResponses); return ResultVOUtils.success(pageSimpleResponse); } /** * 已完成单据上传 * * @param collectOrderRequest * @return */ @PostMapping("/udiwms/basic/collect/order/upload") public BaseResponse orderUpload(@RequestBody CollectOrderRequest collectOrderRequest) { if (StrUtil.isEmpty(collectOrderRequest.getBillNo())) return ResultVOUtils.error(500, "单据号不能为空"); Boolean aBoolean = ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo()); if (!aBoolean) { return ResultVOUtils.error("上传失败"); } return ResultVOUtils.success(); } /** * 通过业务外键获取码明细 * @param collectOrderBizRequest * @return */ @GetMapping("/udiwms/basic/collect/orderFinish/codeDetail") public BaseResponse codeDetail(CollectOrderBizRequest collectOrderBizRequest) { if (collectOrderBizRequest.getId() == null) { return ResultVOUtils.error(500, "业务外键不能为空"); } List list = ioCollectOrderBackupService.codeDetail(collectOrderBizRequest.getId()); return ResultVOUtils.success(list); } }