/* @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); } }
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); } }