Browse Source

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@449 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator 11 years ago
parent
commit
bd37f6f788

+ 25 - 0
src/main/java/com/uas/platform/b2b/dao/SaleSendItemDao.java

@@ -0,0 +1,25 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.SaleSendItem;
+
+@Repository
+public interface SaleSendItemDao extends JpaSpecificationExecutor<SaleSendItem>, JpaRepository<SaleSendItem, Long> {
+
+	/**
+	 * 按送货提醒单ID查找发货单明细
+	 * 
+	 * @param noticeId
+	 * @return
+	 */
+	@Query("from SaleSendItem s where s.notice.id = :noticeId order by s.id")
+	List<SaleSendItem> findByNoticeId(@Param("noticeId") long noticeId);
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.Status;
 
 /**
  * 买家ERP系统的送货提醒单(提醒卖家发货)
@@ -15,6 +16,7 @@ import com.uas.platform.b2b.support.SystemSession;
  */
 public class PurchaseNotify {
 
+	private String pn_code;
 	private Date pn_indate;
 	private Double pn_qty;
 	private Date pn_delivery;
@@ -23,6 +25,14 @@ public class PurchaseNotify {
 	private String pn_remark;
 	private Double pn_endqty;
 
+	public String getPn_code() {
+		return pn_code;
+	}
+
+	public void setPn_code(String pn_code) {
+		this.pn_code = pn_code;
+	}
+
 	public Date getPn_indate() {
 		return pn_indate;
 	}
@@ -86,6 +96,7 @@ public class PurchaseNotify {
 	 */
 	public PurchaseNotice convert() {
 		PurchaseNotice notice = new PurchaseNotice();
+		notice.setCode(pn_code);
 		notice.setDate(pn_indate);
 		notice.setDelivery(pn_delivery);
 		notice.setEndQty(pn_endqty);
@@ -98,6 +109,7 @@ public class PurchaseNotify {
 		orderItem.setNumber(pn_orderdetno);
 		orderItem.setOrder(order);
 		notice.setOrderItem(orderItem);
+		notice.setSendStatus((short) Status.NOT_UPLOAD.value());
 		return notice;
 	}
 

+ 71 - 0
src/main/java/com/uas/platform/b2b/erp/model/SaleOut.java

@@ -1,12 +1,16 @@
 package com.uas.platform.b2b.erp.model;
 
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
 
 import com.uas.platform.b2b.model.SaleSend;
 import com.uas.platform.b2b.model.SaleSendItem;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.model.Status;
 
 /**
  * 卖家ERP系统的发货单
@@ -18,7 +22,12 @@ public class SaleOut {
 
 	private Long b2b_ss_id;
 	private String pi_inuotno;
+	private String pi_currency;
+	private Float pi_rate;
 	private long cu_uu;
+	private long cu_contactuu;
+	private String pi_payments;
+	private String pi_remark;
 	private List<SaleOutDetail> details;
 
 	public String getPi_inuotno() {
@@ -37,6 +46,14 @@ public class SaleOut {
 		this.cu_uu = cu_uu;
 	}
 
+	public String getPi_currency() {
+		return pi_currency;
+	}
+
+	public void setPi_currency(String pi_currency) {
+		this.pi_currency = pi_currency;
+	}
+
 	public List<SaleOutDetail> getDetails() {
 		return details;
 	}
@@ -53,6 +70,38 @@ public class SaleOut {
 		this.b2b_ss_id = b2b_ss_id;
 	}
 
+	public long getCu_contactuu() {
+		return cu_contactuu;
+	}
+
+	public void setCu_contactuu(long cu_contactuu) {
+		this.cu_contactuu = cu_contactuu;
+	}
+
+	public Float getPi_rate() {
+		return pi_rate;
+	}
+
+	public void setPi_rate(Float pi_rate) {
+		this.pi_rate = pi_rate;
+	}
+
+	public String getPi_payments() {
+		return pi_payments;
+	}
+
+	public void setPi_payments(String pi_payments) {
+		this.pi_payments = pi_payments;
+	}
+
+	public String getPi_remark() {
+		return pi_remark;
+	}
+
+	public void setPi_remark(String pi_remark) {
+		this.pi_remark = pi_remark;
+	}
+
 	public SaleOut() {
 	}
 
@@ -71,4 +120,26 @@ public class SaleOut {
 		}
 	}
 
+	public SaleSend convert() {
+		SaleSend send = new SaleSend();
+		send.setBackStatus((short) Status.DOWNLOADED.value());
+		send.setCode(this.pi_inuotno);
+		send.setCurrency(this.pi_currency);
+		send.setCustUserUU(this.cu_contactuu);
+		send.setCustUU(this.cu_uu);
+		send.setEnUU(SystemSession.getUser().getEnterprise().getUu());
+		send.setPayments(this.pi_payments);
+		send.setRate(this.pi_rate);
+		send.setRemark(this.pi_remark);
+		send.setSendStatus((short) Status.NOT_UPLOAD.value());
+		Set<SaleSendItem> items = new HashSet<SaleSendItem>();
+		if (!CollectionUtils.isEmpty(this.details)) {
+			for (SaleOutDetail detail : this.details) {
+				items.add(detail.convert());
+			}
+		}
+		send.setSendItems(items);
+		return send;
+	}
+
 }

+ 12 - 0
src/main/java/com/uas/platform/b2b/erp/model/SaleOutDetail.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.erp.model;
 
+import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.SaleSendItem;
 
 /**
@@ -65,4 +66,15 @@ public class SaleOutDetail {
 		this.pd_sendprice = item.getPrice();
 	}
 
+	public SaleSendItem convert() {
+		SaleSendItem item = new SaleSendItem();
+		item.setNumber(this.pd_pdno);
+		item.setPrice(this.pd_sendprice);
+		item.setQty(this.pd_outqty);
+		PurchaseNotice notice = new PurchaseNotice();
+		notice.setId(this.b2b_pn_id);
+		item.setNotice(notice);
+		return item;
+	}
+
 }

+ 6 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/SaleNotifyDownServiceImpl.java

@@ -24,9 +24,13 @@ public class SaleNotifyDownServiceImpl implements SaleNotifyDownService {
 
 	@Override
 	public List<SaleSend> convertSaleOut(List<SaleOut> outs) {
-		// TODO
+		List<SaleSend> sends = new ArrayList<SaleSend>();
 		// 按卖家发货单明细的订单号,对应的买家的采购单的采购员、币别、付款方式分组
-		return null;
+		// 卖家的发货单产生的时候,直接是按币别、付款方式、客户联系人分组了
+		for (SaleOut out : outs) {
+			sends.add(out.convert());
+		}
+		return sends;
 	}
 
 	@Override

+ 2 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseNoticeService.java

@@ -6,6 +6,7 @@ import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.SaleSend;
+import com.uas.platform.b2b.model.SaleSendItem;
 import com.uas.platform.core.model.PageInfo;
 
 public interface PurchaseNoticeService {
@@ -54,7 +55,7 @@ public interface PurchaseNoticeService {
 	 * @param noticeId
 	 * @return
 	 */
-	public List<SaleSend> findSendById(long noticeId);
+	public List<SaleSendItem> findSendById(long noticeId);
 
 	/**
 	 * 查找所有待上传到供应商ERP的送货提醒

+ 29 - 11
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -14,10 +14,14 @@ import org.springframework.stereotype.Service;
 
 import com.uas.platform.b2b.dao.PurchaseNoticeDao;
 import com.uas.platform.b2b.dao.SaleSendDao;
+import com.uas.platform.b2b.dao.SaleSendItemDao;
 import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.SaleSend;
+import com.uas.platform.b2b.model.SaleSendItem;
 import com.uas.platform.b2b.service.PurchaseNoticeService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.support.XingePusher;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
 
@@ -30,10 +34,25 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 	@Autowired
 	private SaleSendDao saleSendDao;
 
+	@Autowired
+	private SaleSendItemDao saleSendItemDao;
+
 	@Override
 	public void save(List<PurchaseNotice> notices) {
-		// TODO
-
+		purchaseNoticeDao.save(notices);
+		// 将送货提醒推送通知供应商联系人UU号
+		for (PurchaseNotice notice : notices) {
+			PurchaseOrder order = notice.getOrderItem().getOrder();
+			if (order.getVendUserUU() != null) {
+				// Android
+				XingePusher.pushSingleAccountAndroid(order.getVendUserUU().toString(), "新增一个送货提醒-",
+						"单号:" + notice.getCode() + ",客户:" + order.getEnterprise().getEnName(),
+						"com.sas.mobile.activity.PurchaseChangeActivity");
+				// IOS
+				XingePusher.pushSingleAccountIOS(order.getVendUserUU().toString(),
+						"新增一个送货提醒-" + "单号:" + notice.getCode() + ",客户:" + order.getEnterprise().getEnName());
+			}
+		}
 	}
 
 	@Override
@@ -54,20 +73,17 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 
 	@Override
 	public void send(SaleSend send) {
-		// TODO
-
+		saleSendDao.save(send);
 	}
 
 	@Override
 	public void send(List<SaleSend> sends) {
-		// TODO
-
+		saleSendDao.save(sends);
 	}
 
 	@Override
-	public List<SaleSend> findSendById(long noticeId) {
-		// TODO
-		return null;
+	public List<SaleSendItem> findSendById(long noticeId) {
+		return saleSendItemDao.findByNoticeId(noticeId);
 	}
 
 	@Override
@@ -89,12 +105,14 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 
 	@Override
 	public List<SaleSend> findNotUploadSend() {
-		return saleSendDao.findByCustUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
+		return saleSendDao.findByCustUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override
 	public List<SaleSend> findNotSendSend() {
-		return saleSendDao.findByEnUUAndBackStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
+		return saleSendDao.findByEnUUAndBackStatus(SystemSession.getUser().getEnterprise().getUu(),
+				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override