You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
udi-wms-java/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupControl...

123 lines
5.0 KiB
Java

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<Long> workPlaceCodes = null;
List<UserWorkResponse> 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<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest);
PageInfo<IoCollectOrderResponse> pageInfo = new PageInfo<>(orderResponses);
PageSimpleResponse<IoCollectOrderResponse> 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<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBackupService.combieOrderDetail(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(collectOrderBizResponses);
PageSimpleResponse<CollectOrderBizResponse> 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<IoCollectOrderCodeMan> list = ioCollectOrderBackupService.codeDetail(collectOrderBizRequest.getId());
return ResultVOUtils.success(list);
}
}