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/IoCollectOrderController.java

168 lines
6.5 KiB
Java

package com.glxp.api.controller.collect;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.req.collect.CollectOrderBindWorkRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.req.collect.CollectOrderSaveRequest;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderService;
11 months ago
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
11 months ago
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
11 months ago
import java.util.Date;
import java.util.List;
11 months ago
@RestController
public class IoCollectOrderController extends BaseController {
@Resource
IoCollectOrderService collectOrderService;
@Resource
IoCollectOrderBizService collectOrderBizService;
@GetMapping("/udiwms/basic/collect/order/filter")
public BaseResponse filterOrder(CollectOrderRequest collectOrderRequest) {
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(collectOrderRequest);
PageInfo<IoCollectOrderResponse> pageInfo = new PageInfo<>(orderResponses);
PageSimpleResponse<IoCollectOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(orderResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param collectOrderRequest
* @return
*/
@GetMapping("/udiwms/basic/collect/order/next")
public BaseResponse getNextOrder(CollectOrderRequest collectOrderRequest) {
if (StrUtil.isEmpty(collectOrderRequest.getWorkPlaceCode())) {
return ResultVOUtils.error(500, "工位不能为空!");
}
CollectOrderRequest request = new CollectOrderRequest();
request.setLimit(1);
request.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
request.setTagStatusList(List.of(1));
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses))
return ResultVOUtils.success(orderResponses.get(0));
return ResultVOUtils.error(500, "未查到待处理单据");
}
@GetMapping("/udiwms/basic/collect/order/detail")
public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) {
if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) {
return ResultVOUtils.error(500, "单据号不能为空");
}
IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBizRequest.getOrderIdFk());
if (collectOrder == null) {
return ResultVOUtils.error(500, "未找到单据");
}
List<CollectOrderBizResponse> list = collectOrderBizService.filterList(collectOrderBizRequest);
PageInfo<CollectOrderBizResponse> pageInfo = new PageInfo<>(list);
PageSimpleResponse<CollectOrderBizResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/basic/collect/order/deleteOrder")
public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest) {
String billNo = deleteRequest.getBillNo();
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
collectOrderService.remove(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, billNo));
return ResultVOUtils.success();
}
/**
*
*
* @return
*/
@GetMapping("/udiwms/basic/collect/order/save")
public BaseResponse saveOrder(@RequestBody CollectOrderSaveRequest collectOrderSaveRequest) {
List<IoCollectOrder> list = collectOrderSaveRequest.getList();
collectOrderService.saveOrUpdateBatch(list);
return ResultVOUtils.success();
}
11 months ago
/**
*
*
* @return
*/
@GetMapping("/udiwms/basic/collect/order/draft")
public BaseResponse saveDraftOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
IoCollectOrder collectOrder = new IoCollectOrder();
BeanUtils.copyProperties(collectOrderRequest, collectOrder);
collectOrder.setTagStatus(-1);
collectOrder.setUpdateTime(new Date());
collectOrder.setUpdateUser(getUserId());
collectOrderService.updateById(collectOrder);
return ResultVOUtils.success();
}
/**
*
*
* @return
*/
@GetMapping("/udiwms/basic/collect/order/finish")
public BaseResponse saveFinishOrder(@RequestBody CollectOrderRequest collectOrderRequest) {
//1.校验是否全部自动赋码
//2.校验扫码是否完成
IoCollectOrder collectOrder = new IoCollectOrder();
BeanUtils.copyProperties(collectOrderRequest, collectOrder);
collectOrder.setTagStatus(3);
collectOrder.setUpdateTime(new Date());
collectOrder.setUpdateUser(getUserId());
collectOrderService.updateById(collectOrder);
return ResultVOUtils.success();
}
@PostMapping("/udiwms/basic/collect/order/bindWork")
public BaseResponse bindWork(@RequestBody CollectOrderBindWorkRequest bindWorkRequest) {
for (IoCollectOrder collectOrder : bindWorkRequest.getList()) {
collectOrder.setWorkPlaceCode(bindWorkRequest.getWorkplaceCode());
}
collectOrderService.updateBatchById(bindWorkRequest.getList());
return ResultVOUtils.success("绑定成功");
}
}