package com.vincent.rsf.server.api.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.vincent.rsf.framework.common.R;
|
import com.vincent.rsf.framework.exception.CoolException;
|
import com.vincent.rsf.server.api.controller.params.OtherReceiptParams;
|
import com.vincent.rsf.server.api.controller.params.ReceiptParams;
|
import com.vincent.rsf.server.api.service.MobileService;
|
import com.vincent.rsf.server.manager.controller.params.WaitPakinParam;
|
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
|
import com.vincent.rsf.server.system.controller.BaseController;
|
import com.vincent.rsf.server.system.controller.param.LoginParam;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.tika.utils.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Objects;
|
|
/**
|
* @author Ryan
|
* @version 1.0
|
* @title MobileController
|
* @description
|
* @create 2025/3/10 08:05
|
*/
|
@Api(tags = "PDA操作接口")
|
@RequestMapping("/pda")
|
@RestController
|
public class MobileController extends BaseController {
|
|
@Autowired
|
private MobileService mobileService;
|
/**
|
* PDA用户登录
|
* @param param
|
* @param request
|
* @return
|
*/
|
@PostMapping("/login")
|
@ApiOperation("PDA用户登录")
|
public R login(@RequestBody LoginParam param, HttpServletRequest request) {
|
if (Objects.isNull(param)) {
|
throw new CoolException("登录信息不能为空!!");
|
}
|
if (Objects.isNull(param.getUsername())) {
|
throw new CoolException("用户名不能为空!!");
|
}
|
if (Objects.isNull(param.getPassword())) {
|
throw new CoolException("密码不能为空!!");
|
}
|
|
return mobileService.login(param, request);
|
}
|
|
|
/**
|
* 标准扫码收货信息
|
* @param trackCode
|
* @return
|
*/
|
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
|
@GetMapping("/orders/{trackCode}")
|
@ApiOperation("标准扫码收货")
|
public R getOrderBybarcode(@PathVariable String trackCode) {
|
if (StringUtils.isEmpty(trackCode)) {
|
throw new CoolException("条码不能为空!!");
|
}
|
return mobileService.getOrderByCode(trackCode);
|
}
|
|
/**
|
* 确认收货信息
|
* @param params
|
* @return
|
*/
|
@PreAuthorize("hasAuthority('manager:warehouseAreas:save')")
|
@PostMapping("/orders/confirm")
|
@ApiOperation("确认收货")
|
public R confirmReceipt(@RequestBody ReceiptParams params) {
|
if (Objects.isNull(params)) {
|
throw new CoolException("请求参数不能为空!!");
|
}
|
return mobileService.receiptToWarehouse(params);
|
}
|
|
|
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
|
@PostMapping("/orders/other")
|
@ApiOperation("其它扫码收货")
|
public R getOtherReceipt(@RequestBody OtherReceiptParams params) {
|
if (Objects.isNull(params)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
return mobileService.otherReceipt(params);
|
}
|
|
@PreAuthorize("hasAuthority('manager:warehouseAreas:list')")
|
@ApiOperation("获取收货区")
|
@GetMapping("/areas/receipt")
|
public R getReceiptAreas() {
|
return mobileService.getReceiptAreas();
|
}
|
|
|
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
|
@GetMapping("/orders/asn")
|
@ApiOperation("获取通知单")
|
public R getAllAsnOrders() {
|
return R.ok(mobileService.getAllAsnOrders());
|
}
|
|
|
@PreAuthorize("hasAuthority('manager:asnOrder:list')")
|
@GetMapping("/dynamic/fields")
|
@ApiOperation("获取动态字段")
|
public R getDynamicFields() {
|
return R.ok(mobileService.getDynamicFields());
|
}
|
|
|
@PreAuthorize("hasAuthority('manager:asnOrderItem:list')")
|
@ApiOperation("获取订单物料明细")
|
@GetMapping("/asnOrderItem/trackCode/{code}")
|
public R getItemByTrackCode(@PathVariable String code) {
|
if (StringUtils.isBlank(code)) {
|
return R.error("编码不能为空!!");
|
}
|
return mobileService.getDeltByCode(code);
|
}
|
|
|
@PreAuthorize("hasAuthority('manager:waitPakin:update')")
|
@ApiOperation("组拖")
|
@PostMapping("/waitPakin/merge")
|
public R pikinOrder(@RequestBody WaitPakinParam waitPakin) {
|
if (Objects.isNull(waitPakin)) {
|
return R.error("参数不能为空!!");
|
}
|
if (org.apache.commons.lang3.StringUtils.isBlank(waitPakin.getBarcode())) {
|
return R.error("托盘码不能为空!!");
|
}
|
if (Objects.isNull(waitPakin.getItems()) || waitPakin.getItems().isEmpty()) {
|
return R.error("跟踪码不能为空!!");
|
}
|
return R.ok(mobileService.mergeItems(waitPakin));
|
}
|
|
@PreAuthorize("hasAuthority('manager:waitPakin:update')")
|
@ApiOperation("组拖解绑")
|
@PostMapping("/waitPakin/unbind")
|
public R pakinUnBind(@RequestBody WaitPakinParam param) {
|
if (Objects.isNull(param)) {
|
return R.error("参数不能为空!!");
|
}
|
if (org.apache.commons.lang3.StringUtils.isBlank(param.getBarcode())) {
|
return R.error("托盘码不能为空!!");
|
}
|
if (Objects.isNull(param.getItems()) || param.getItems().isEmpty()) {
|
return R.error("跟踪码不能为空!!");
|
}
|
return R.ok(mobileService.unBind(param));
|
}
|
|
@ApiOperation("报检")
|
@GetMapping("/asnOrder/inspect/{code}")
|
@PreAuthorize("hasAuthority('manager:waitPakin:list')")
|
public R getAsnOdrers(@PathVariable String code) {
|
if (Objects.isNull(code)) {
|
throw new CoolException("参数不能为空!!");
|
}
|
return mobileService.inspect(code, getLoginUserId());
|
}
|
|
}
|