Browse Source

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

administrator 11 years ago
parent
commit
727e4c4be8

+ 3 - 3
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderItemDao.java

@@ -30,7 +30,7 @@ public interface PurchaseOrderItemDao extends JpaSpecificationExecutor<PurchaseO
 	 * @param number
 	 * @param number
 	 * @return
 	 * @return
 	 */
 	 */
-	@Query("from PurchaseOrderItem d where d.order.vendUU = :vendUU and d.order.code = :orderCode and d.number = :number")
-	public List<PurchaseOrderItem> findByVendUUAndOrderCodeAndNumber(@Param("vendUU") long vendUU, @Param("orderCode") String orderCode,
-			@Param("number") int number);
+	@Query("from PurchaseOrderItem d where d.order.enUU = :enUU and d.order.code = :orderCode and d.number = :number")
+	public List<PurchaseOrderItem> findByEnUUAndOrderCodeAndNumber(@Param("enUU") long enUU, @Param("orderCode") String orderCode,
+			@Param("number") Short number);
 }
 }

+ 12 - 3
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderReplyDao.java

@@ -11,8 +11,7 @@ import org.springframework.stereotype.Repository;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 
 
 @Repository
 @Repository
-public interface PurchaseOrderReplyDao extends JpaSpecificationExecutor<PurchaseOrderReply>,
-		JpaRepository<PurchaseOrderReply, Long> {
+public interface PurchaseOrderReplyDao extends JpaSpecificationExecutor<PurchaseOrderReply>, JpaRepository<PurchaseOrderReply, Long> {
 
 
 	/**
 	/**
 	 * 按订单明细ID查找订单明细回复
 	 * 按订单明细ID查找订单明细回复
@@ -24,7 +23,7 @@ public interface PurchaseOrderReplyDao extends JpaSpecificationExecutor<Purchase
 	public List<PurchaseOrderReply> findByOrderItemId(@Param("orderItemId") long orderItemId);
 	public List<PurchaseOrderReply> findByOrderItemId(@Param("orderItemId") long orderItemId);
 
 
 	/**
 	/**
-	 * 按回复记录的状态查找回复记录
+	 * (买家)按回复记录的状态查找回复记录
 	 * 
 	 * 
 	 * @param enUU
 	 * @param enUU
 	 * @param status
 	 * @param status
@@ -32,4 +31,14 @@ public interface PurchaseOrderReplyDao extends JpaSpecificationExecutor<Purchase
 	 */
 	 */
 	@Query("from PurchaseOrderReply r where r.orderItem.order.enUU = :enUU and r.status = :status")
 	@Query("from PurchaseOrderReply r where r.orderItem.order.enUU = :enUU and r.status = :status")
 	public List<PurchaseOrderReply> findByEnUUAndStatus(@Param("enUU") long enUU, @Param("status") short status);
 	public List<PurchaseOrderReply> findByEnUUAndStatus(@Param("enUU") long enUU, @Param("status") short status);
+
+	/**
+	 * (卖家)按回复记录的状态查找回复记录
+	 * 
+	 * @param vendUU
+	 * @param status
+	 * @return
+	 */
+	@Query("from PurchaseOrderReply r where r.orderItem.order.vendUU = :vendUU and r.sendStatus = :status")
+	public List<PurchaseOrderReply> findByVendUUAndSendStatus(@Param("vendUU") long vendUU, @Param("status") short status);
 }
 }

+ 3 - 2
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseController.java

@@ -64,11 +64,12 @@ public class PurchaseController {
 	 * 平台的订单回复传到ERP之后,修改平台里面的回复记录的状态
 	 * 平台的订单回复传到ERP之后,修改平台里面的回复记录的状态
 	 * 
 	 * 
 	 * @return
 	 * @return
+	 * @throws UnsupportedEncodingException
 	 */
 	 */
 	@RequestMapping(value = "/reply", method = RequestMethod.POST)
 	@RequestMapping(value = "/reply", method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
-	public void onReplySuccess(@RequestParam("data") String data) {
-		purchaseOrderService.onReplyUploadSuccess(data.split(","));
+	public void onReplySuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseOrderService.onReplyUploadSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 	}
 
 
 }
 }

+ 29 - 5
src/main/java/com/uas/platform/b2b/erp/controller/SaleController.java

@@ -11,8 +11,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 
-import com.uas.platform.b2b.erp.model.PurchaseReply;
 import com.uas.platform.b2b.erp.model.SaleDown;
 import com.uas.platform.b2b.erp.model.SaleDown;
+import com.uas.platform.b2b.erp.model.SaleReply;
 import com.uas.platform.b2b.erp.service.SaleService;
 import com.uas.platform.b2b.erp.service.SaleService;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
@@ -48,11 +48,12 @@ public class SaleController {
 	 * 平台的订单传到供应商ERP之后,修改平台里面的订单的上传状态
 	 * 平台的订单传到供应商ERP之后,修改平台里面的订单的上传状态
 	 * 
 	 * 
 	 * @return
 	 * @return
+	 * @throws UnsupportedEncodingException
 	 */
 	 */
 	@RequestMapping(method = RequestMethod.POST)
 	@RequestMapping(method = RequestMethod.POST)
 	@ResponseBody
 	@ResponseBody
-	public void onSaleDownSuccess(@RequestParam("data") String data) {
-		purchaseOrderService.onSaleDownSuccess(data.split(","));
+	public void onSaleDownSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseOrderService.onSaleDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 	}
 
 
 	/**
 	/**
@@ -66,8 +67,31 @@ public class SaleController {
 	@ResponseBody
 	@ResponseBody
 	public void saveReplies(@RequestParam("data") String data) throws UnsupportedEncodingException {
 	public void saveReplies(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
-		List<PurchaseReply> replies = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseReply.class);
-		purchaseOrderService.reply(saleService.convertPurchaseReply(replies));
+		List<SaleReply> replies = FlexJsonUtils.fromJsonArray(jsonStr, SaleReply.class);
+		purchaseOrderService.reply(saleService.convertSaleReply(replies));
+	}
+
+	/**
+	 * 卖家ERP从平台获取在平台回复的记录
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/reply", method = RequestMethod.GET)
+	@ResponseBody
+	public List<SaleReply> getReply() {
+		return saleService.convertOrderReply(purchaseOrderService.findNotSendReply());
+	}
+	
+	/**
+	 * 平台的回复记录传到供应商ERP之后,修改平台里面的回复记录的上传状态
+	 * 
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/reply/back", method = RequestMethod.POST)
+	@ResponseBody
+	public void onReplyDownSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		purchaseOrderService.onReplyDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 	}
 
 
 }
 }

+ 129 - 0
src/main/java/com/uas/platform/b2b/erp/model/SaleReply.java

@@ -0,0 +1,129 @@
+package com.uas.platform.b2b.erp.model;
+
+import java.util.Date;
+
+import com.uas.platform.b2b.model.PurchaseOrderReply;
+import com.uas.platform.core.model.Status;
+
+/**
+ * SaleDown明细回复记录
+ * 
+ * @author yingp
+ * 
+ */
+public class SaleReply {
+
+	private Double sr_qty;
+	private Date sr_delivery;
+	private String sr_remark;
+	private String sr_sacode;
+	private short sr_sddetno;
+	private Date sr_date;
+	private String sr_recorder;
+	private long cu_uu;
+	private Long b2b_pr_id;
+
+	public Double getSr_qty() {
+		return sr_qty;
+	}
+
+	public void setSr_qty(Double sr_qty) {
+		this.sr_qty = sr_qty;
+	}
+
+	public Date getSr_delivery() {
+		return sr_delivery;
+	}
+
+	public void setSr_delivery(Date sr_delivery) {
+		this.sr_delivery = sr_delivery;
+	}
+
+	public String getSr_remark() {
+		return sr_remark;
+	}
+
+	public void setSr_remark(String sr_remark) {
+		this.sr_remark = sr_remark;
+	}
+
+	public String getSr_sacode() {
+		return sr_sacode;
+	}
+
+	public void setSr_sacode(String sr_sacode) {
+		this.sr_sacode = sr_sacode;
+	}
+
+	public short getSr_sddetno() {
+		return sr_sddetno;
+	}
+
+	public void setSr_sddetno(short sr_sddetno) {
+		this.sr_sddetno = sr_sddetno;
+	}
+
+	public Date getSr_date() {
+		return sr_date;
+	}
+
+	public void setSr_date(Date sr_date) {
+		this.sr_date = sr_date;
+	}
+
+	public String getSr_recorder() {
+		return sr_recorder;
+	}
+
+	public void setSr_recorder(String sr_recorder) {
+		this.sr_recorder = sr_recorder;
+	}
+
+	public long getCu_uu() {
+		return cu_uu;
+	}
+
+	public void setCu_uu(long cu_uu) {
+		this.cu_uu = cu_uu;
+	}
+
+	public Long getB2b_pr_id() {
+		return b2b_pr_id;
+	}
+
+	public void setB2b_pr_id(Long b2b_pr_id) {
+		this.b2b_pr_id = b2b_pr_id;
+	}
+
+	/**
+	 * 从卖家ERP的回复记录转到平台的回复记录
+	 */
+	public PurchaseOrderReply convert() {
+		PurchaseOrderReply reply = new PurchaseOrderReply();
+		reply.setDate(this.sr_date);
+		reply.setDelivery(this.sr_delivery);
+		reply.setQty(this.sr_qty);
+		reply.setRecorder(this.sr_recorder);
+		reply.setRemark(this.sr_remark);
+		reply.setStatus((short) Status.NOT_UPLOAD.value());
+		reply.setSendStatus((short) Status.DOWNLOADED.value());
+		return reply;
+	}
+
+	/**
+	 * 从卖家平台的回复记录转到卖家ERP的回复记录
+	 * 
+	 * @param reply
+	 */
+	public SaleReply(PurchaseOrderReply reply) {
+		this.sr_date = reply.getDate();
+		this.sr_delivery = reply.getDelivery();
+		this.sr_qty = reply.getQty();
+		this.sr_recorder = reply.getRecorder();
+		this.sr_remark = reply.getRemark();
+		this.sr_sacode = reply.getOrderItem().getOrder().getCode();
+		this.sr_sddetno = reply.getOrderItem().getNumber();
+		this.b2b_pr_id = reply.getId();
+	}
+
+}

+ 10 - 2
src/main/java/com/uas/platform/b2b/erp/service/SaleService.java

@@ -2,8 +2,8 @@ package com.uas.platform.b2b.erp.service;
 
 
 import java.util.List;
 import java.util.List;
 
 
-import com.uas.platform.b2b.erp.model.PurchaseReply;
 import com.uas.platform.b2b.erp.model.SaleDown;
 import com.uas.platform.b2b.erp.model.SaleDown;
+import com.uas.platform.b2b.erp.model.SaleReply;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 
 
@@ -23,6 +23,14 @@ public interface SaleService {
 	 * @param replies
 	 * @param replies
 	 * @return
 	 * @return
 	 */
 	 */
-	List<PurchaseOrderReply> convertPurchaseReply(List<PurchaseReply> replies);
+	List<PurchaseOrderReply> convertSaleReply(List<SaleReply> replies);
+
+	/**
+	 * 将供应商在平台的回复,转为ERP的订单回复
+	 * 
+	 * @param replies
+	 * @return
+	 */
+	List<SaleReply> convertOrderReply(List<PurchaseOrderReply> replies);
 
 
 }
 }

+ 14 - 7
src/main/java/com/uas/platform/b2b/erp/service/impl/SaleServiceImpl.java

@@ -8,13 +8,12 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
 
 
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
-import com.uas.platform.b2b.erp.model.PurchaseReply;
 import com.uas.platform.b2b.erp.model.SaleDown;
 import com.uas.platform.b2b.erp.model.SaleDown;
+import com.uas.platform.b2b.erp.model.SaleReply;
 import com.uas.platform.b2b.erp.service.SaleService;
 import com.uas.platform.b2b.erp.service.SaleService;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
-import com.uas.platform.b2b.support.SystemSession;
 
 
 @Service
 @Service
 public class SaleServiceImpl implements SaleService {
 public class SaleServiceImpl implements SaleService {
@@ -31,12 +30,11 @@ public class SaleServiceImpl implements SaleService {
 	}
 	}
 
 
 	@Override
 	@Override
-	public List<PurchaseOrderReply> convertPurchaseReply(List<PurchaseReply> replies) {
+	public List<PurchaseOrderReply> convertSaleReply(List<SaleReply> replies) {
 		List<PurchaseOrderReply> orderReplies = new ArrayList<PurchaseOrderReply>();
 		List<PurchaseOrderReply> orderReplies = new ArrayList<PurchaseOrderReply>();
-		long enUU = SystemSession.getUser().getEnterprise().getUu();
-		for (PurchaseReply reply : replies) {
-			List<PurchaseOrderItem> items = purchaseOrderItemDao.findByVendUUAndOrderCodeAndNumber(enUU, reply.getPr_pucode(),
-					reply.getPr_pddetno());
+		for (SaleReply reply : replies) {
+			List<PurchaseOrderItem> items = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(reply.getCu_uu(), reply.getSr_sacode(),
+					reply.getSr_sddetno());
 			if (!CollectionUtils.isEmpty(items)) {
 			if (!CollectionUtils.isEmpty(items)) {
 				PurchaseOrderReply orderReply = reply.convert();
 				PurchaseOrderReply orderReply = reply.convert();
 				orderReply.setOrderItem(items.get(0));
 				orderReply.setOrderItem(items.get(0));
@@ -46,4 +44,13 @@ public class SaleServiceImpl implements SaleService {
 		return orderReplies;
 		return orderReplies;
 	}
 	}
 
 
+	@Override
+	public List<SaleReply> convertOrderReply(List<PurchaseOrderReply> replies) {
+		List<SaleReply> saleReplies = new ArrayList<SaleReply>();
+		for(PurchaseOrderReply reply:replies) {
+			saleReplies.add(new SaleReply(reply));
+		}
+		return saleReplies;
+	}
+
 }
 }

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

@@ -70,11 +70,17 @@ public class PurchaseOrderReply implements Serializable {
 	private Date delivery;
 	private Date delivery;
 
 
 	/**
 	/**
-	 * 状态{待上传、已下载}
+	 * (针对买家的)传输状态{待上传、已下载}
 	 */
 	 */
 	@Column(name = "pr_status")
 	@Column(name = "pr_status")
 	private Short status;
 	private Short status;
 
 
+	/**
+	 * (针对卖家的)传输状态{待上传、已下载}
+	 */
+	@Column(name = "pr_sendstatus")
+	private Short sendStatus;
+
 	/**
 	/**
 	 * 回复人
 	 * 回复人
 	 */
 	 */
@@ -137,6 +143,14 @@ public class PurchaseOrderReply implements Serializable {
 		this.status = status;
 		this.status = status;
 	}
 	}
 
 
+	public Short getSendStatus() {
+		return sendStatus;
+	}
+
+	public void setSendStatus(Short sendStatus) {
+		this.sendStatus = sendStatus;
+	}
+
 	public String getRecorder() {
 	public String getRecorder() {
 		return recorder;
 		return recorder;
 	}
 	}

+ 15 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseOrderService.java

@@ -97,13 +97,27 @@ public interface PurchaseOrderService {
 	 */
 	 */
 	public List<PurchaseOrderReply> findNotUploadReply();
 	public List<PurchaseOrderReply> findNotUploadReply();
 
 
+	/**
+	 * 查找所有待上传到卖家的回复记录
+	 * 
+	 * @return
+	 */
+	public List<PurchaseOrderReply> findNotSendReply();
+
 	/**
 	/**
 	 * 回复记录成功传到买家ERP之后
 	 * 回复记录成功传到买家ERP之后
 	 * 
 	 * 
 	 * @param idArray
 	 * @param idArray
 	 */
 	 */
 	public void onReplyUploadSuccess(String[] idArray);
 	public void onReplyUploadSuccess(String[] idArray);
-	
+
+	/**
+	 * 回复记录成功传到卖家ERP之后
+	 * 
+	 * @param idArray
+	 */
+	public void onReplyDownSuccess(String[] idArray);
+
 	/**
 	/**
 	 * 平台的订单传到供应商ERP之后,修改平台里面的订单的上传状态
 	 * 平台的订单传到供应商ERP之后,修改平台里面的订单的上传状态
 	 * 
 	 * 

+ 18 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -156,13 +156,30 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		return purchaseOrderReplyDao
 		return purchaseOrderReplyDao
 				.findByEnUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
 				.findByEnUUAndStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
 	}
 	}
+	
+	@Override
+	public List<PurchaseOrderReply> findNotSendReply() {
+		return purchaseOrderReplyDao
+				.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(), (short) Status.NOT_UPLOAD.value());
+	}
 
 
 	@Override
 	@Override
 	public void onReplyUploadSuccess(String[] idArray) {
 	public void onReplyUploadSuccess(String[] idArray) {
 		for (String id : idArray) {
 		for (String id : idArray) {
 			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
 			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
 			if (reply != null) {
 			if (reply != null) {
-				reply.setStatus((short) Status.REPLIED.value());
+				reply.setStatus((short) Status.DOWNLOADED.value());
+				purchaseOrderReplyDao.save(reply);
+			}
+		}
+	}
+	
+	@Override
+	public void onReplyDownSuccess(String[] idArray) {
+		for (String id : idArray) {
+			PurchaseOrderReply reply = purchaseOrderReplyDao.findOne(Long.parseLong(id));
+			if (reply != null) {
+				reply.setSendStatus((short) Status.DOWNLOADED.value());
 				purchaseOrderReplyDao.save(reply);
 				purchaseOrderReplyDao.save(reply);
 			}
 			}
 		}
 		}