|
|
|
@ -6,6 +6,8 @@ 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.constant.ConstantStatus;
|
|
|
|
|
import com.glxp.api.controller.BaseController;
|
|
|
|
|
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoCodeTempEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
|
|
|
|
@ -25,12 +27,13 @@ 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 {
|
|
|
|
|
public class IoOrderController extends BaseController {
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private IoOrderService orderService;
|
|
|
|
@ -49,7 +52,6 @@ public class IoOrderController {
|
|
|
|
|
* 查询单据列表
|
|
|
|
|
*
|
|
|
|
|
* @param filterOrderRequest
|
|
|
|
|
* @param bindingResult
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
@GetMapping("/udiwms/inout/order/filter")
|
|
|
|
@ -101,8 +103,63 @@ public class IoOrderController {
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
IoAddInoutService ioAddInoutService;
|
|
|
|
|
@Resource
|
|
|
|
|
IoCheckInoutService ioCheckInoutService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//新增业务单据提交
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/submitBiz")
|
|
|
|
|
public BaseResponse submitBiz(@RequestBody AddOrderRequest addOrderRequest) {
|
|
|
|
|
|
|
|
|
|
//校验单据是否已完成
|
|
|
|
|
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isEmpty(orderDetailBizEntities)) {
|
|
|
|
|
return ResultVOUtils.error(500, "请先录入产品!");
|
|
|
|
|
}
|
|
|
|
|
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
|
|
|
|
|
|
|
|
|
|
if (orderDetailBizEntity.getBindRlFk() == null) {
|
|
|
|
|
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定唯一耗材编码!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StrUtil.isEmpty(orderDetailBizEntity.getSupId())) {
|
|
|
|
|
return ResultVOUtils.error(500, orderDetailBizEntity.getCoName() + "该产品未指定供应商!");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
|
|
|
|
|
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK);
|
|
|
|
|
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
|
|
|
|
|
orderEntity.setUpdateTime(new Date());
|
|
|
|
|
orderEntity.setUpdateUser(getUserId() + "");
|
|
|
|
|
orderService.update(orderEntity);
|
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//单据提交
|
|
|
|
|
//新增扫码单据提交
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/submitCodes")
|
|
|
|
|
public BaseResponse submitCodes(@RequestBody AddOrderRequest addOrderRequest) {
|
|
|
|
|
|
|
|
|
|
//校验单据是否已完成
|
|
|
|
|
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo());
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isEmpty(orderDetailCodeEntities)) {
|
|
|
|
|
return ResultVOUtils.error(500, "单据还未扫码!");
|
|
|
|
|
}
|
|
|
|
|
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
|
|
|
|
|
ioAddInoutService.dealProcess(orderEntity);
|
|
|
|
|
|
|
|
|
|
//不需要手动校验,则走正常单据校验处理流程
|
|
|
|
|
if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) {
|
|
|
|
|
ioCheckInoutService.check(orderEntity.getBillNo());
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success("提交成功,等待处理!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//处理后单据提交
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/submitOrderWeb")
|
|
|
|
|
public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) {
|
|
|
|
@ -115,19 +172,24 @@ public class IoOrderController {
|
|
|
|
|
return ResultVOUtils.error(500, "单据还未扫码!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
|
|
|
|
|
String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities);
|
|
|
|
|
if (StrUtil.isNotEmpty(errMsg)) {
|
|
|
|
|
return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!");
|
|
|
|
|
if (checkInoutService.checkManual(addOrderRequest.getBillNo())) {
|
|
|
|
|
if (CollUtil.isNotEmpty(orderDetailBizEntities)) {
|
|
|
|
|
String errMsg = checkInoutService.bizOrderCheck(orderDetailBizEntities, orderDetailCodeEntities);
|
|
|
|
|
if (StrUtil.isNotEmpty(errMsg)) {
|
|
|
|
|
return ResultVOUtils.error(500, "单据未校验完成,请检查后重新提交!");
|
|
|
|
|
}
|
|
|
|
|
saveOrderWeb(addOrderRequest);
|
|
|
|
|
checkInoutService.check(addOrderRequest.getBillNo());
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(500, "单据未校验完成,请先录入业务单据!");
|
|
|
|
|
}
|
|
|
|
|
saveOrderWeb(addOrderRequest);
|
|
|
|
|
checkInoutService.check(addOrderRequest.getBillNo());
|
|
|
|
|
} else {
|
|
|
|
|
IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo());
|
|
|
|
|
ioAddInoutService.dealProcess(orderEntity);
|
|
|
|
|
checkInoutService.check(addOrderRequest.getBillNo());
|
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success("提交成功!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|