Exemplo n.º 1
0
  /*
  @BlhParameters(dtoCls=OrderStateDto.class,parameter={
  	@BlhParameter(parameterExpress="deliveritms",testvalues={("deliveritms=1000")},desc="订单明细")
  })
  @Descript("供应商确认收到订单")
  @OutPut(ognlExpress="dto.operateResult")
  */
  public void deliver(OrderStateDto dto) {

    SysLog log = new SysLog();
    log.setOpArg(JsonUtils.toJson(dto.getDeliveritms()));
    log.setOpName("供应商回传发票");
    log.setOpDate(new Date());
    log.setOpType("webservice");
    dto.getOperateResult().setResultCode("0");
    dto.getOperateResult().setResultContent("success");
    try {
      this.deliverSub(dto);
      log.setOpResult(JsonUtils.toJson(dto.getOperateResult()));
    } catch (Exception e) {
      dto.getOperateResult().setResultCode("-111");
      dto.getOperateResult()
          .setResultContent("Exception:" + e.getLocalizedMessage() + " msg:faile " + dto.getMsg());
      logger.info(e.getMessage(), e);
      log.setOpResult("exception:" + e.getMessage() + " msg:falie " + dto.getMsg());
    } finally {
      commonService.saveOrUpdate(log);
    }
  }
Exemplo n.º 2
0
  public void deliverSub(OrderStateDto dto) {

    if (dto.getDeliveritms() == null) {
      dto.getOperateResult().setResultCode("-1");
      dto.getOperateResult().setResultContent("入参为空");
      return;
    }
    if (dto.getDeliveritms().size() == 0) {
      dto.getOperateResult().setResultCode("-1");
      dto.getOperateResult().setResultContent("入参为空");
      return;
    }

    List<OrderDetailSub> detailSubs = new ArrayList<OrderDetailSub>();
    int num = 0;
    // 按订单拆分发货单
    for (VenDeliveritm tmpVenDeliveritm : dto.getDeliveritms()) {
      num++;
      if (StringUtils.isNullOrEmpty(tmpVenDeliveritm.getDeliveritmInvnoe())) {
        dto.getOperateResult().setResultCode("-2");
        dto.getOperateResult().setResultContent("第" + num + "行发票号不能为空");
        continue;
      }
      if (tmpVenDeliveritm.getDeliveritmQty() == null) {
        dto.getOperateResult().setResultCode("-3");
        dto.getOperateResult()
            .setResultContent(tmpVenDeliveritm.getDeliveritmInvnoe() + "发票号,发货数量不能为空");
        continue;
      }
      if (tmpVenDeliveritm.getDeliveritmRp() == null) {
        dto.getOperateResult().setResultCode("-4");
        dto.getOperateResult()
            .setResultContent(tmpVenDeliveritm.getDeliveritmInvnoe() + "发票号,进价不能为空");
        continue;
      }
      if (tmpVenDeliveritm.getDeliveritmOrderitmid() == null) {
        dto.getOperateResult().setResultCode("-5");
        dto.getOperateResult()
            .setResultContent(tmpVenDeliveritm.getDeliveritmInvnoe() + "发票号,没有订单明细ID");
        continue;
      }

      OrderDetail orderItm =
          commonService.get(OrderDetail.class, tmpVenDeliveritm.getDeliveritmOrderitmid());
      if (orderItm == null) {
        dto.getOperateResult().setResultCode("-6");
        dto.getOperateResult()
            .setResultContent(tmpVenDeliveritm.getDeliveritmInvnoe() + "发票号,订单明细ID错误");
        continue;
      }
      if (orderItm.getOrderState().longValue() != 2) {
        dto.getOperateResult().setResultCode("-7");
        dto.getOperateResult()
            .setResultContent(tmpVenDeliveritm.getDeliveritmInvnoe() + "发票号,订单状态错误");
        continue;
      }
      OrderDetailSub orderDetailSub = new OrderDetailSub();
      orderDetailSub.setOrderSubQty(tmpVenDeliveritm.getDeliveritmQty());
      orderDetailSub.setOrderSubRp(tmpVenDeliveritm.getDeliveritmRp());
      orderDetailSub.setOrderSubRpAmt(tmpVenDeliveritm.getDeliveritmRpamt());
      orderDetailSub.setOrdSubBatNo(tmpVenDeliveritm.getDeliveritmBatno());
      orderDetailSub.setOrdSubDate(new Date());
      orderDetailSub.setOrdSubDetailId(tmpVenDeliveritm.getDeliveritmOrderitmid());
      orderDetailSub.setOrdSubInvNo(tmpVenDeliveritm.getDeliveritmInvnoe());
      orderDetailSub.setOrdSubExpDate(tmpVenDeliveritm.getDeliveritmExpdate());
      detailSubs.add(orderDetailSub);
    }

    // 明细有错吴
    if (!dto.getOperateResult().getResultCode().equals("0")) {
      return;
    }
    for (OrderDetailSub orderDetailSub : detailSubs) {
      OrderDetail orderDetail =
          commonService.get(OrderDetail.class, orderDetailSub.getOrdSubDetailId());
      orderDetail.setOrderState(3l);
      commonService.saveOrUpdate(orderDetail);
      commonService.saveOrUpdate(orderDetailSub);
      ExeState exeState = new ExeState();
      exeState.setStateId(Long.valueOf(2));
      exeState.setOrdId(orderDetailSub.getOrdSubDetailId());
      exeState.setRemark("webservice 回传发票");
      exeState.setExedate(new java.sql.Timestamp(new Date().getTime()));
      commonService.saveOrUpdate(exeState);
    }
  }