|
|
|
package com.glxp.api.controller.inout;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
|
|
|
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.constant.ConstantStatus;
|
|
|
|
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
|
|
|
import com.glxp.api.entity.inout.IoCodeTempEntity;
|
|
|
|
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
|
|
|
|
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
|
|
|
|
import com.glxp.api.entity.inout.IoOrderEntity;
|
|
|
|
import com.glxp.api.req.inout.AddOrderRequest;
|
|
|
|
import com.glxp.api.req.inout.FilterOrderRequest;
|
|
|
|
import com.glxp.api.req.system.DeleteRequest;
|
|
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
|
|
import com.glxp.api.res.inout.IoOrderResponse;
|
|
|
|
import com.glxp.api.service.basic.IBasicBussinessTypeService;
|
|
|
|
import com.glxp.api.service.inout.*;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.springframework.validation.BindingResult;
|
|
|
|
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.Date;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
@RestController
|
|
|
|
public class IoOrderController {
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private IoOrderService orderService;
|
|
|
|
@Resource
|
|
|
|
private IBasicBussinessTypeService basicBussinessTypeService;
|
|
|
|
@Resource
|
|
|
|
private IoCodeTempService codeTempService;
|
|
|
|
@Resource
|
|
|
|
private IoCheckInoutService checkInoutService;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询单据列表
|
|
|
|
*
|
|
|
|
* @param filterOrderRequest
|
|
|
|
* @param bindingResult
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
@GetMapping("/udiwms/inout/order/filter")
|
|
|
|
public BaseResponse filterOrder(FilterOrderRequest filterOrderRequest, BindingResult bindingResult) {
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
}
|
|
|
|
List<IoOrderResponse> list = orderService.filterList(filterOrderRequest);
|
|
|
|
PageInfo<IoOrderResponse> pageInfo = new PageInfo<>(list);
|
|
|
|
return ResultVOUtils.page(pageInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
@GetMapping("udiwms/inout/order/draft")
|
|
|
|
public BaseResponse getDrafts() {
|
|
|
|
List<IoOrderEntity> orderEntityList = orderService.selectAll();
|
|
|
|
PageSimpleResponse<IoOrderEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
|
|
pageSimpleResponse.setTotal(100l);
|
|
|
|
pageSimpleResponse.setList(orderEntityList);
|
|
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//草稿保存
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
@PostMapping("warehouse/inout/saveOrderWeb")
|
|
|
|
public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) {
|
|
|
|
IoOrderEntity orderEntity = new IoOrderEntity();
|
|
|
|
orderEntity.setAction(addOrderRequest.getAction());
|
|
|
|
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction());
|
|
|
|
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
|
|
|
|
orderEntity.setFromCorp(addOrderRequest.getFromCorp());
|
|
|
|
orderEntity.setFromInvCode(addOrderRequest.getFromInvCode());
|
|
|
|
orderEntity.setDeptCode(addOrderRequest.getDeptCode());
|
|
|
|
orderEntity.setInvCode(addOrderRequest.getInvCode());
|
|
|
|
orderService.updateByBillNo(orderEntity);
|
|
|
|
|
|
|
|
|
|
|
|
IoCodeTempEntity warehouseEntity = new IoCodeTempEntity();
|
|
|
|
warehouseEntity.setOrderId(orderEntity.getBillNo());
|
|
|
|
warehouseEntity.setAction(orderEntity.getAction());
|
|
|
|
warehouseEntity.setMainAction(orderEntity.getMainAction());
|
|
|
|
warehouseEntity.setDeptCode(orderEntity.getDeptCode());
|
|
|
|
warehouseEntity.setInvCode(orderEntity.getInvCode());
|
|
|
|
codeTempService.updateByOrderId(warehouseEntity);
|
|
|
|
return ResultVOUtils.success("保存成功!");
|
|
|
|
}
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
IoOrderDetailBizService orderDetailBizService;
|
|
|
|
@Resource
|
|
|
|
IoOrderDetailCodeService orderDetailCodeService;
|
|
|
|
|
|
|
|
//单据提交
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
@GetMapping("warehouse/inout/submitOrderWeb")
|
|
|
|
public BaseResponse submitOrderWeb(AddOrderRequest addOrderRequest) {
|
|
|
|
|
|
|
|
//校验单据是否已完成
|
|
|
|
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities);
|
|
|
|
if (StrUtil.isNotEmpty(errMsg)) {
|
|
|
|
return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!");
|
|
|
|
}
|
|
|
|
saveOrderWeb(addOrderRequest);
|
|
|
|
checkInoutService.check(addOrderRequest.getBillNo());
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//未校验单据删除
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
@PostMapping("udiwms/inout/order/delete")
|
|
|
|
public BaseResponse deletById(@RequestBody DeleteRequest deleteRequest) {
|
|
|
|
orderService.deleteByBillNo(deleteRequest.getBillNo());
|
|
|
|
orderDetailBizService.deleteByOrderId(deleteRequest.getBillNo());
|
|
|
|
orderDetailCodeService.deleteByOrderId(deleteRequest.getBillNo());
|
|
|
|
codeTempService.deleteByBillNo(deleteRequest.getBillNo());
|
|
|
|
return ResultVOUtils.success("删除成功!");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|