Browse Source

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

administrator 11 years ago
parent
commit
abf23bd235

+ 90 - 0
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseNotifyController.java

@@ -0,0 +1,90 @@
+package com.uas.platform.b2b.erp.controller;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import com.uas.platform.b2b.erp.model.AcceptNotify;
+import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
+import com.uas.platform.b2b.service.PurchaseNoticeService;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+
+/**
+ * 对买家ERP的数据接口<br>
+ * 买家送货提醒
+ * 
+ * @author yingp
+ * 
+ */
+@Controller
+@RequestMapping("/erp/purchase/notice")
+public class PurchaseNotifyController {
+
+	@Autowired
+	private PurchaseNotifyService purchaseNotifyService;
+
+	@Autowired
+	private PurchaseNoticeService purchaseNoticeService;
+
+	/**
+	 * 将ERP的送货提醒写到平台
+	 * 
+	 * @param data
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(method = RequestMethod.POST)
+	@ResponseBody
+	public void saveNotifies(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<PurchaseNotify> notifies = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseNotify.class);
+		purchaseNoticeService.save(purchaseNotifyService.convertPurchaseNotify(notifies));
+	}
+	
+	/**
+	 * 从买家ERP获取平台的发货单
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/accept", method = RequestMethod.GET)
+	@ResponseBody
+	public List<AcceptNotify> getAcceptNotify() {
+		return purchaseNotifyService.convertSaleSend(purchaseNoticeService.findNotUploadSend());
+	}
+	
+	/**
+	 * 平台的发货单传到ERP之后,修改平台里面的发货单的状态
+	 * 
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/accept/back", method = RequestMethod.POST)
+	@ResponseBody
+	public void onSendSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseNoticeService.onSendUploadSuccess(URLDecoder.decode(data, "UTF-8").split(","));
+	}
+	
+	/**
+	 * 买家ERP主动收料的记录上传到平台 <br>
+	 * 买卖双方直接电话沟通之后,结果由买家填写到ERP系统的情况
+	 * 
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/accept", method = RequestMethod.POST)
+	@ResponseBody
+	public void send(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<AcceptNotify> accepts = FlexJsonUtils.fromJsonArray(jsonStr, AcceptNotify.class);
+		purchaseNoticeService.send(purchaseNotifyService.convertAcceptNotify(accepts));
+	}
+
+}

+ 19 - 0
src/main/java/com/uas/platform/b2b/erp/controller/SaleNotifyDownController.java

@@ -0,0 +1,19 @@
+package com.uas.platform.b2b.erp.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 对卖家ERP的数据接口<br>
+ * 客户送货提醒
+ * 
+ * @author yingp
+ *
+ */
+@Controller
+@RequestMapping("/erp/sale/notice")
+public class SaleNotifyDownController {
+
+	
+	
+}

+ 8 - 0
src/main/java/com/uas/platform/b2b/erp/model/AcceptNotify.java

@@ -0,0 +1,8 @@
+package com.uas.platform.b2b.erp.model;
+
+/**
+ * 买家ERP的收料通知单
+ */
+public class AcceptNotify {
+
+}

+ 66 - 2
src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.erp.model;
 
+import java.util.Date;
+
 /**
  * 买家ERP系统的送货提醒单(提醒卖家发货)
  * 
@@ -8,6 +10,68 @@ package com.uas.platform.b2b.erp.model;
  */
 public class PurchaseNotify {
 
-	
-	
+	private Date pn_indate;
+	private Double pn_qty;
+	private Date pn_delivery;
+	private String pn_ordercode;
+	private Short pn_orderdetno;
+	private String pn_remark;
+	private Double pn_endqty;
+
+	public Date getPn_indate() {
+		return pn_indate;
+	}
+
+	public void setPn_indate(Date pn_indate) {
+		this.pn_indate = pn_indate;
+	}
+
+	public Double getPn_qty() {
+		return pn_qty;
+	}
+
+	public void setPn_qty(Double pn_qty) {
+		this.pn_qty = pn_qty;
+	}
+
+	public Date getPn_delivery() {
+		return pn_delivery;
+	}
+
+	public void setPn_delivery(Date pn_delivery) {
+		this.pn_delivery = pn_delivery;
+	}
+
+	public String getPn_ordercode() {
+		return pn_ordercode;
+	}
+
+	public void setPn_ordercode(String pn_ordercode) {
+		this.pn_ordercode = pn_ordercode;
+	}
+
+	public Short getPn_orderdetno() {
+		return pn_orderdetno;
+	}
+
+	public void setPn_orderdetno(Short pn_orderdetno) {
+		this.pn_orderdetno = pn_orderdetno;
+	}
+
+	public String getPn_remark() {
+		return pn_remark;
+	}
+
+	public void setPn_remark(String pn_remark) {
+		this.pn_remark = pn_remark;
+	}
+
+	public Double getPn_endqty() {
+		return pn_endqty;
+	}
+
+	public void setPn_endqty(Double pn_endqty) {
+		this.pn_endqty = pn_endqty;
+	}
+
 }

+ 66 - 0
src/main/java/com/uas/platform/b2b/erp/model/SaleNotifyDown.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2b.erp.model;
 
+import java.util.Date;
+
 /**
  * 卖家ERP系统的客户送货提醒单
  * 
@@ -8,4 +10,68 @@ package com.uas.platform.b2b.erp.model;
  */
 public class SaleNotifyDown {
 
+	private long sn_custuu;
+	private String sn_ordercode;
+	private Short sn_orderdetno;
+	private String sn_remark;
+	private Double sn_qty;
+	private Date sn_delivery;
+	private Double sn_sendqty;
+
+	public long getSn_custuu() {
+		return sn_custuu;
+	}
+
+	public void setSn_custuu(long sn_custuu) {
+		this.sn_custuu = sn_custuu;
+	}
+
+	public String getSn_ordercode() {
+		return sn_ordercode;
+	}
+
+	public void setSn_ordercode(String sn_ordercode) {
+		this.sn_ordercode = sn_ordercode;
+	}
+
+	public Short getSn_orderdetno() {
+		return sn_orderdetno;
+	}
+
+	public void setSn_orderdetno(Short sn_orderdetno) {
+		this.sn_orderdetno = sn_orderdetno;
+	}
+
+	public String getSn_remark() {
+		return sn_remark;
+	}
+
+	public void setSn_remark(String sn_remark) {
+		this.sn_remark = sn_remark;
+	}
+
+	public Double getSn_qty() {
+		return sn_qty;
+	}
+
+	public void setSn_qty(Double sn_qty) {
+		this.sn_qty = sn_qty;
+	}
+
+	public Date getSn_delivery() {
+		return sn_delivery;
+	}
+
+	public void setSn_delivery(Date sn_delivery) {
+		this.sn_delivery = sn_delivery;
+	}
+
+	public Double getSn_sendqty() {
+		return sn_sendqty;
+	}
+
+	public void setSn_sendqty(Double sn_sendqty) {
+		this.sn_sendqty = sn_sendqty;
+	}
+
 }

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

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.erp.model;
+
+/**
+ * 卖家ERP系统的发货单
+ * 
+ * @author yingp
+ * 
+ */
+public class SaleOut {
+
+}

+ 36 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java

@@ -0,0 +1,36 @@
+package com.uas.platform.b2b.erp.service;
+
+import java.util.List;
+
+import com.uas.platform.b2b.erp.model.AcceptNotify;
+import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+
+public interface PurchaseNotifyService {
+
+	/**
+	 * 将ERP系统的送货提醒,转为平台的客户送货提醒
+	 * 
+	 * @param notifies
+	 * @return
+	 */
+	List<PurchaseNotice> convertPurchaseNotify(List<PurchaseNotify> notifies);
+
+	/**
+	 * 将平台的发货单,转为买家ERP的收料通知单
+	 * 
+	 * @param sends
+	 * @return
+	 */
+	List<AcceptNotify> convertSaleSend(List<SaleSend> sends);
+	
+	/**
+	 * 将买家ERP的主动填写的收料通知单,转为平台的发货单
+	 * 
+	 * @param accepts
+	 * @return
+	 */
+	List<SaleSend> convertAcceptNotify(List<AcceptNotify> accepts);
+
+}

+ 28 - 0
src/main/java/com/uas/platform/b2b/erp/service/SaleNotifyDownService.java

@@ -0,0 +1,28 @@
+package com.uas.platform.b2b.erp.service;
+
+import java.util.List;
+
+import com.uas.platform.b2b.erp.model.SaleNotifyDown;
+import com.uas.platform.b2b.erp.model.SaleOut;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+
+public interface SaleNotifyDownService {
+
+	/**
+	 * 将平台的客户送货提醒,转为卖家ERP的客户送货提醒
+	 * 
+	 * @param notices
+	 * @return
+	 */
+	List<SaleNotifyDown> convertPurchaseNotice(List<PurchaseNotice> notices);
+
+	/**
+	 * 将卖家ERP的发货单,转为平台的发货单
+	 * 
+	 * @param outs
+	 * @return
+	 */
+	List<SaleSend> convertSaleOut(List<SaleOut> outs);
+
+}

+ 34 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.erp.service.impl;
+
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.erp.model.AcceptNotify;
+import com.uas.platform.b2b.erp.model.PurchaseNotify;
+import com.uas.platform.b2b.erp.service.PurchaseNotifyService;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+
+@Service
+public class PurchaseNotifyServiceImpl implements PurchaseNotifyService{
+
+	@Override
+	public List<PurchaseNotice> convertPurchaseNotify(List<PurchaseNotify> notifies) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public List<AcceptNotify> convertSaleSend(List<SaleSend> sends) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public List<SaleSend> convertAcceptNotify(List<AcceptNotify> accepts) {
+		// TODO
+		return null;
+	}
+	
+}

+ 28 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/SaleNotifyDownServiceImpl.java

@@ -0,0 +1,28 @@
+package com.uas.platform.b2b.erp.service.impl;
+
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.erp.model.SaleNotifyDown;
+import com.uas.platform.b2b.erp.model.SaleOut;
+import com.uas.platform.b2b.erp.service.SaleNotifyDownService;
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+
+@Service
+public class SaleNotifyDownServiceImpl implements SaleNotifyDownService{
+
+	@Override
+	public List<SaleNotifyDown> convertPurchaseNotice(List<PurchaseNotice> notices) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public List<SaleSend> convertSaleOut(List<SaleOut> outs) {
+		// TODO
+		return null;
+	}
+
+}

+ 1 - 1
src/main/java/com/uas/platform/b2b/model/PurchaseInquiryReply.java

@@ -39,7 +39,7 @@ public class PurchaseInquiryReply implements Serializable {
 	/**
 	 * 采购询价单明细
 	 */
-	@ManyToOne(cascade = CascadeType.ALL, optional = true)
+	@ManyToOne(cascade = { CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.MERGE }, optional = true)
 	@JoinColumn(name = "ir_idid", nullable = true)
 	private PurchaseInquiryItem inquiryItem;
 

+ 101 - 0
src/main/java/com/uas/platform/b2b/service/PurchaseNoticeService.java

@@ -0,0 +1,101 @@
+package com.uas.platform.b2b.service;
+
+import java.util.List;
+
+import org.springframework.data.domain.Page;
+
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+import com.uas.platform.core.model.PageInfo;
+
+public interface PurchaseNoticeService {
+
+	/**
+	 * 批量保存、修改客户送货提醒
+	 * 
+	 * @param notices
+	 * @return
+	 */
+	public void save(List<PurchaseNotice> notices);
+
+	/**
+	 * 分页查找送货提醒单
+	 * 
+	 * @param pageInfo
+	 * @return
+	 */
+	public Page<PurchaseNotice> findAllByPageInfo(PageInfo pageInfo);
+
+	/**
+	 * 用单据ID查找送货提醒单
+	 * 
+	 * @param id
+	 * @return
+	 */
+	public PurchaseNotice findById(Long id);
+
+	/**
+	 * 单个发货
+	 * 
+	 * @param send
+	 */
+	public void send(SaleSend send);
+
+	/**
+	 * 批量发货
+	 * 
+	 * @param sends
+	 */
+	public void send(List<SaleSend> sends);
+
+	/**
+	 * 查找送货提醒单的发货记录
+	 * 
+	 * @param noticeId
+	 * @return
+	 */
+	public List<SaleSend> findSendById(long noticeId);
+
+	/**
+	 * 查找所有待上传到供应商ERP的送货提醒
+	 * 
+	 * @return
+	 */
+	public List<PurchaseNotice> findNotUploadNotice();
+
+	/**
+	 * 平台的送货提醒传到供应商ERP之后,修改平台里面的送货提醒单的上传状态
+	 * 
+	 * @param idArray
+	 */
+	public void onNoticeDownSuccess(String[] idArray);
+
+	/**
+	 * 查找所有待上传到买家的发货单
+	 * 
+	 * @return
+	 */
+	public List<SaleSend> findNotUploadSend();
+
+	/**
+	 * 查找所有待上传到卖家的发货单
+	 * 
+	 * @return
+	 */
+	public List<SaleSend> findNotSendSend();
+
+	/**
+	 * 发货单成功传到买家ERP之后
+	 * 
+	 * @param idArray
+	 */
+	public void onSendUploadSuccess(String[] idArray);
+
+	/**
+	 * 发货单成功传到卖家ERP之后
+	 * 
+	 * @param idArray
+	 */
+	public void onSendDownSuccess(String[] idArray);
+
+}

+ 88 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -0,0 +1,88 @@
+package com.uas.platform.b2b.service.impl;
+
+import java.util.List;
+
+import org.springframework.data.domain.Page;
+import org.springframework.stereotype.Service;
+
+import com.uas.platform.b2b.model.PurchaseNotice;
+import com.uas.platform.b2b.model.SaleSend;
+import com.uas.platform.b2b.service.PurchaseNoticeService;
+import com.uas.platform.core.model.PageInfo;
+
+@Service
+public class PurchaseNoticeServiceImpl implements PurchaseNoticeService{
+
+	@Override
+	public void save(List<PurchaseNotice> notices) {
+		// TODO
+		
+	}
+
+	@Override
+	public Page<PurchaseNotice> findAllByPageInfo(PageInfo pageInfo) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public PurchaseNotice findById(Long id) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public void send(SaleSend send) {
+		// TODO
+		
+	}
+
+	@Override
+	public void send(List<SaleSend> sends) {
+		// TODO
+		
+	}
+
+	@Override
+	public List<SaleSend> findSendById(long noticeId) {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public List<PurchaseNotice> findNotUploadNotice() {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public void onNoticeDownSuccess(String[] idArray) {
+		// TODO
+		
+	}
+
+	@Override
+	public List<SaleSend> findNotUploadSend() {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public List<SaleSend> findNotSendSend() {
+		// TODO
+		return null;
+	}
+
+	@Override
+	public void onSendUploadSuccess(String[] idArray) {
+		// TODO
+		
+	}
+
+	@Override
+	public void onSendDownSuccess(String[] idArray) {
+		// TODO
+		
+	}
+
+}

+ 1 - 1
src/main/resources/spring/context.xml

@@ -84,7 +84,7 @@
 			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
 				<property name="generateDdl" value="false" />
 				<property name="databasePlatform" value="org.hibernate.dialect.Oracle10gDialect" />
-				<property name="showSql" value="true" />
+				<property name="showSql" value="false" />
 			</bean>
 		</property>
 		<property name="jpaDialect">