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/dev/DeviceChangeOrderController...

162 lines
5.1 KiB
Java

package com.glxp.api.controller.dev;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
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.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.req.dev.DeviceChangeOrderDetailQuery;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.dev.DeviceChangeOrderQuery;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.vo.dev.DeviceChangeOrderVo;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController
@Slf4j
@RequestMapping
@RequiredArgsConstructor
@Api("变更单相关")
public class DeviceChangeOrderController extends BaseController {
private final DeviceChangeOrderService deviceChangeOrderService;
/**
* 变更单列表
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrder/page")
public BaseResponse page(@RequestBody DeviceChangeOrderQuery query) {
AuthAdmin user = super.getUser();
PageHelper.startPage(query.getPage(), query.getLimit());
List<DeviceChangeOrderVo> list = deviceChangeOrderService.listByVo(query, user);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse simpleResponse = new PageSimpleResponse();
simpleResponse.setTotal(pageInfo.getTotal());
simpleResponse.setList(BeanUtil.copyToList(pageInfo.getList(), DeviceChangeOrderVo.class));
return ResultVOUtils.success(simpleResponse);
}
/**
* 草稿保存变更单
*
* @param param
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrder/draft/save")
public BaseResponse draftSave(@RequestBody @Valid DeviceChangeOrderParam param) {
AuthAdmin user = super.getUser();
deviceChangeOrderService.saveDraftOrder(user, param);
return ResultVOUtils.successMsg("添加成功");
}
/**
* 保存变更单
*
* @param param
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrder/save")
public BaseResponse save(@RequestBody @Valid DeviceChangeOrderParam param) {
AuthAdmin user = super.getUser();
deviceChangeOrderService.saveOrder(user, param);
return ResultVOUtils.successMsg("添加成功");
}
/**
* 删除变更单
*
* @param deleteRequest
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrder/del")
public BaseResponse delOrder(@RequestBody DeleteRequest deleteRequest) {
deviceChangeOrderService.delOrder(deleteRequest);
return ResultVOUtils.successMsg("删除成功!");
}
/**
* 接收设备
*
* @param orderId 变更单id
* @param remark 备注
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/changeOrder/confirm/{orderId}")
public BaseResponse confirm(@PathVariable Long orderId, String remark) {
AuthAdmin user = super.getUser();
deviceChangeOrderService.confirm(orderId, remark, user, false);
return ResultVOUtils.successMsg("确认成功");
}
/**
* 拒收设备
*
* @param orderId 变更单id
* @param remark 备注
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/changeOrder/reject/{orderId}")
public BaseResponse reject(@PathVariable Long orderId, String remark) {
AuthAdmin user = super.getUser();
deviceChangeOrderService.confirm(orderId, remark, user, true);
return ResultVOUtils.successMsg("确认成功");
}
/**
* 变更单详情
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrder/detailByUser")
public BaseResponse detailByUser(@RequestBody @Valid DeviceChangeOrderDetailQuery query) {
AuthAdmin user = super.getUser();
List<DeviceChangeOrderItemEntity> list = deviceChangeOrderService.detailByUser(user, query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse simpleResponse = new PageSimpleResponse();
simpleResponse.setTotal(pageInfo.getTotal());
simpleResponse.setList(list);
return ResultVOUtils.success(simpleResponse);
}
/**
* 取消变更单
*
* @param orderId 变更单id
* @param remark 备注
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/changeOrder/cancel/{orderId}")
public BaseResponse cancel(@PathVariable Long orderId, String remark) {
AuthAdmin user = super.getUser();
deviceChangeOrderService.cancel(user, orderId, remark);
return ResultVOUtils.successMsg("取消成功");
}
}