/** * @Title: checkSendQty @Description: TODO(检查供应商发货数量) * * @param @param res 设定文件 * @return void 返回类型 * @throws * @author zhouxin * @date 2015年3月26日 上午11:35:53 */ public void checkSendQty(BusinessRequest res) { OrderStateDto dto = super.getDto(OrderStateDto.class, res); dto.setOperateResult(new OperateResult()); try { List<OrderDetailSub> orderDetailSubs = commonService.findByProperty( OrderDetailSub.class, "ordSubDetailId", dto.getOrderDetailSub().getOrdSubDetailId()); OrderDetail orderDetail = commonService.get(OrderDetail.class, dto.getOrderDetailSub().getOrdSubDetailId()); Long state = orderDetail.getOrderState(); // 一个订单可以发多次货,保证发货数不大于订单数就可以继续发货 // 2:确认订单/下载订单 // 10:部分发货 // 5:评价 // 4:收货 if ((state.longValue() != 2l) && (state.longValue() != 10l) && (state.longValue() != 4l) && (state.longValue() != 5l)) { dto.getOperateResult().setResultCode("-1"); dto.getOperateResult().setResultContent("已发货完成,不能增加批次"); super.writeJSON(dto.getOperateResult()); return; } float devlQty = 0; for (OrderDetailSub detailSub : orderDetailSubs) { if (detailSub .getOrdSubId() .toString() .equals(dto.getOrderDetailSub().getOrdSubDetailId().toString())) { } else { devlQty = devlQty + detailSub.getOrderSubQty().floatValue(); } } float diffQty = orderDetail.getOrderVenQty() - devlQty; if (diffQty > 0) { dto.getOperateResult().setResultCode("1"); dto.getOperateResult().setResultContent(String.valueOf(diffQty)); } super.writeJSON(dto.getOperateResult()); } catch (Exception e) { e.printStackTrace(); dto.getOperateResult().setResultContent(e.getMessage()); super.writeJSON(dto.getOperateResult()); } }
public void saveOrdSub(BusinessRequest res) { OrderStateDto dto = super.getDto(OrderStateDto.class, res); dto.setOperateResult(new OperateResult()); // 调用对应的service方法 try { List<OrderDetailSub> orderDetailSubs = commonService.findByProperty( OrderDetailSub.class, "ordSubDetailId", dto.getOrderDetailSub().getOrdSubDetailId()); OrderDetail orderDetail = commonService.get(OrderDetail.class, dto.getOrderDetailSub().getOrdSubDetailId()); float devQty = 0; if (org.apache.commons.lang.StringUtils.isEmpty(dto.getOrderDetailSub().getOrdSubId())) { dto.getOrderDetailSub().setOrdSubId(null); } else { OrderDetailSub orderDetailSub = commonService.get(OrderDetailSub.class, dto.getOrderDetailSub().getOrdSubId()); dto.getOrderDetailSub().setOrderSubImpId(orderDetailSub.getOrderSubImpId()); } for (OrderDetailSub orderDetailSub : orderDetailSubs) { if ((dto.getOrderDetailSub().getOrdSubId() != null) && (dto.getOrderDetailSub().getOrdSubId().equals(orderDetailSub.getOrdSubId()))) continue; devQty = devQty + orderDetailSub.getOrderSubQty().floatValue(); } float enableQty = orderDetail.getOrderVenQty().floatValue() - devQty; if (enableQty >= dto.getOrderDetailSub().getOrderSubQty()) { dto.getOrderDetailSub().setOrdSubDate(new Date()); dto.getOrderDetailSub() .setOrdSubUserId(Long.valueOf(super.getLoginInfo().get("USERID").toString())); commonService.saveOrUpdate(dto.getOrderDetailSub()); dto.getOperateResult().setResultCode("1"); dto.getOperateResult().setResultContent(dto.getOrderDetailSub().getOrdSubId()); } else { dto.getOperateResult().setResultCode("-1"); dto.getOperateResult().setResultContent(" 发货数不能大于订单数"); } super.writeJSON(dto.getOperateResult()); } catch (Exception e) { dto.getOperateResult().setResultContent(e.getMessage()); e.printStackTrace(); super.writeJSON(dto.getOperateResult()); } }
/** * @Title: deleteOrdSub @Description: TODO(删除发货信息) * * @param @param res 设定文件 * @return void 返回类型 * @throws * @author zhouxin * @date 2015年3月28日 下午3:43:25 */ public void deleteOrdSub(BusinessRequest res) { OrderStateDto dto = super.getDto(OrderStateDto.class, res); dto.setOperateResult(new OperateResult()); try { if (dto.getOrderDetailSub() != null) { if (org.apache.commons.lang.StringUtils.isNotEmpty(dto.getOrderDetailSub().getOrdSubId())) { OrderDetailSub orderDetailSub = commonService.get(OrderDetailSub.class, dto.getOrderDetailSub().getOrdSubId()); if (orderDetailSub.getOrdSubStatus() == null) { commonService.delete(orderDetailSub); dto.getOperateResult().setResultCode("1"); } else { dto.getOperateResult().setResultContent("以发货,不能删除"); } } } super.writeJSON(dto.getOperateResult()); } catch (Exception e) { e.printStackTrace(); dto.getOperateResult().setResultContent(e.getMessage()); super.writeJSON(dto.getOperateResult()); } }
/** * @Title: updInv @Description: TODO(发货后可以修改发票) * * @param @param res 设定文件 * @return void 返回类型 * @throws * @author zhouxin * @date 2016年8月6日 下午4:32:30 */ public void updInv(BusinessRequest res) { OrderStateDto dto = super.getDto(OrderStateDto.class, res); dto.setOperateResult(new OperateResult()); if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getOrderIdStr())) { List<OrderDetailSub> orderDetailSubs = JsonUtils.toObject(dto.getOrderIdStr(), new TypeReference<List<OrderDetailSub>>() {}); for (OrderDetailSub orderDetailSub : orderDetailSubs) { if (org.apache.commons.lang3.StringUtils.isNotBlank(orderDetailSub.getOrdSubId())) { OrderDetailSub tmpOrderDetailSub = commonService.get(OrderDetailSub.class, orderDetailSub.getOrdSubId()); tmpOrderDetailSub.setOrdSubInvNo(orderDetailSub.getOrdSubInvNo()); tmpOrderDetailSub.setOrdSubInvDate(orderDetailSub.getOrdSubInvDate()); commonService.saveOrUpdate(tmpOrderDetailSub); } } dto.getOperateResult().setResultCode("1"); } super.writeJSON(dto.getOperateResult()); }
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); } }
/** * @Title: saveOrd @Description: TODO(这里用一句话描述这个方法的作用) * * @param @param res 设定文件 * @return void 返回类型 * @throws * @author zhouxin * @date 2015年6月4日 上午10:40:46 */ public void saveOrd(BusinessRequest res) { OrderStateDto dto = super.getDto(OrderStateDto.class, res); dto.setOperateResult(new OperateResult()); // 调用对应的service方法 dto.getOperateResult().setResultCode("1"); try { List<OrderDetailSub> orderDetailSubs = JsonUtils.toObject(dto.getOrderIdStr(), new TypeReference<List<OrderDetailSub>>() {}); for (OrderDetailSub orderDetailSub : orderDetailSubs) { OrderDetail orderDetail = commonService.get(OrderDetail.class, orderDetailSub.getOrdSubDetailId()); float ordqty = orderDetail.getOrderVenQty().floatValue(); ordqty = ordqty - orderDetailSub.getOrderSubQty().floatValue(); if ((!orderDetail.getOrderState().toString().equals("2")) && (!orderDetail.getOrderState().toString().equals("10"))) { dto.getOperateResult().setResultCode("-1"); dto.getOperateResult().setResultContent("有明细以发货,不能修改!<br>"); continue; } List<OrderDetailSub> orderDetailSubs2 = commonService.findByProperty( OrderDetailSub.class, "ordSubDetailId", orderDetailSub.getOrdSubDetailId()); for (OrderDetailSub orderDetailSub2 : orderDetailSubs2) { if ((orderDetailSub.getOrdSubId() != null) && (orderDetailSub .getOrdSubId() .toString() .equals(orderDetailSub2.getOrdSubId().toString()))) { } else { ordqty = ordqty - orderDetailSub2.getOrderSubQty().floatValue(); } } if (ordqty < 0) { dto.getOperateResult().setResultCode("-1"); dto.getOperateResult() .setResultContent("单号:" + orderDetail.getOrderNo() + ",订单数大于发货数!<br>"); } } if (dto.getOperateResult().getResultCode().equals("1")) { for (OrderDetailSub orderDetailSub : orderDetailSubs) { orderDetailSub.setOrdSubDate(new Date()); orderDetailSub.setOrdSubUserId( Long.valueOf(super.getLoginInfo().get("USERID").toString())); commonService.saveOrUpdate(orderDetailSub); } } super.writeJSON(dto.getOperateResult()); } catch (Exception e) { dto.getOperateResult().setResultCode("-1"); dto.getOperateResult().setResultContent(e.getMessage()); e.printStackTrace(); super.writeJSON(dto.getOperateResult()); } }