⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deliveryserviceimpl.java

📁 q企业web应用 q企业web应用 q企业web应用
💻 JAVA
字号:
package com.meybosoft.microerp.business.impl;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.List;

import com.easyjf.web.tools.DbPageList;
import com.easyjf.web.tools.IPageList;
import com.meybosoft.microerp.business.DeliveryService;
import com.meybosoft.microerp.business.LogicException;
import com.meybosoft.microerp.business.OrderService;
import com.meybosoft.microerp.domain.Delivery;
import com.meybosoft.microerp.domain.DeliveryDetail;
import com.meybosoft.microerp.domain.OrderInfo;

public class DeliveryServiceImpl extends AbstractDAOServiceSupport implements
		DeliveryService {
	private static final java.text.Format format = new java.text.SimpleDateFormat(
			"yyMMddHHmmss");

	private OrderService orderService;

	public boolean addDelivery(Delivery delivery) {
		return this.dao.save(delivery);
	}

	public boolean addDeliveryDetail(DeliveryDetail detail) {
		return this.dao.save(detail);
	}

	public boolean delDelivery(Delivery delivery) {

		return this.dao.del(delivery);
	}

	public boolean delDeliveryDetail(DeliveryDetail detail) {
		return this.dao.del(detail);
	}

	public Delivery getDelivery(Long id) {
		return (Delivery) this.dao.get(Delivery.class, id);
	}

	public Delivery getLastDelivery() {
		List list = this.dao.query(Delivery.class,
				"status<0 order by vdate desc");
		Delivery d = null;
		if (list != null && list.size() > 0) {
			d = (Delivery) list.get(0);
		} else {
			d = new Delivery();
			d.setSn(geDeliverySN());
			d.setVdate(new java.util.Date());
			d.setStatus(-1);
			addDelivery(d);
		}
		return d;
	}

	public String geDeliverySN() {
		return format.format(new java.util.Date());
	}

	public IPageList queryDelivery(String scope, Collection paras,
			int currentPage, int pageSize) {
		DbPageList pageList = new DbPageList(Delivery.class, scope, paras, dao);
		pageList.doList(currentPage, pageSize);
		return pageList;
	}

	public boolean updateDeliverDetail(DeliveryDetail detail) {		
		boolean ret=this.dao.update(detail);
		if(detail.getBackBottle()!=null && detail.getBackBottle().intValue()>0)
		{
			OrderInfo order=orderService.getOrder(detail.getOrder().getId());
			order.getCustomer().setBalanceBarrel(order.getCustomer().getBalanceBarrel().intValue()-detail.getBackBottle().intValue());
			ret&=dao.update(order.getCustomer());
		}		
		return ret;
	}

	public boolean updateDelivery(Delivery delivery) {
		return this.dao.update(delivery);
	}

	public boolean appointOrder(Delivery delivery, Long orderId, String intro) {
		OrderInfo order = orderService.getOrder(orderId);
		if (order != null && order.getStatus().intValue() == 0) {
			DeliveryDetail detail = new DeliveryDetail();
			detail.setOrder(order);
			detail.setParent(delivery);
			detail.setStatus(0);
			detail.setIntro(intro);
			detail.setBackAmount(new BigDecimal("0"));
			addDeliveryDetail(detail);
			order.setStatus(new Integer(2));
			return orderService.updateOrder(order);
		} else
			throw new LogicException("指定的定单不存在,或者是已经派过单!");
	}

	public void setOrderService(OrderService orderService) {
		this.orderService = orderService;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -