Browse Source

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

administrator 11 years ago
parent
commit
817485b217

+ 16 - 1
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseController.java

@@ -61,13 +61,28 @@ public class PurchaseController {
 	}
 
 	/**
-	 * 平台的订单回复传到ERP之后,修改平台里面的回复记录的状态
+	 * 买家ERP主动回复的记录上传到平台 <br>
+	 * 买卖双方直接电话沟通之后,结果由买家填写到ERP系统的情况
 	 * 
 	 * @return
 	 * @throws UnsupportedEncodingException
 	 */
 	@RequestMapping(value = "/reply", method = RequestMethod.POST)
 	@ResponseBody
+	public void reply(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<PurchaseReply> replies = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseReply.class);
+		purchaseOrderService.reply(purchaseService.convertPurchaseReply(replies));
+	}
+
+	/**
+	 * 平台的订单回复传到ERP之后,修改平台里面的回复记录的状态
+	 * 
+	 * @return
+	 * @throws UnsupportedEncodingException
+	 */
+	@RequestMapping(value = "/reply/back", method = RequestMethod.POST)
+	@ResponseBody
 	public void onReplySuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		purchaseOrderService.onReplyUploadSuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}

+ 18 - 5
src/main/java/com/uas/platform/b2b/erp/model/PurchaseReply.java

@@ -17,13 +17,14 @@ public class PurchaseReply {
 	private Date pr_delivery;
 	private String pr_remark;
 	private String pr_pucode;
-	private int pr_pddetno;
+	private short pr_pddetno;
 	private Date pr_date;
 	private String pr_recorder;
 	/**
 	 * 平台回复记录ID,传入买家的ERP。可供写入时检测,防止重复传的问题
 	 */
 	private long b2b_pr_id;
+	private String pr_type;
 
 	public PurchaseReply() {
 	}
@@ -60,11 +61,11 @@ public class PurchaseReply {
 		this.pr_pucode = pr_pucode;
 	}
 
-	public int getPr_pddetno() {
+	public short getPr_pddetno() {
 		return pr_pddetno;
 	}
 
-	public void setPr_pddetno(int pr_pddetno) {
+	public void setPr_pddetno(short pr_pddetno) {
 		this.pr_pddetno = pr_pddetno;
 	}
 
@@ -91,6 +92,15 @@ public class PurchaseReply {
 	public void setB2b_pr_id(long b2b_pr_id) {
 		this.b2b_pr_id = b2b_pr_id;
 	}
+
+	public String getPr_type() {
+		return pr_type;
+	}
+
+	public void setPr_type(String pr_type) {
+		this.pr_type = pr_type;
+	}
+
 	/**
 	 * 从平台的回复记录转到买家ERP的回复记录
 	 * 
@@ -106,10 +116,11 @@ public class PurchaseReply {
 		setPr_pddetno(orderReply.getOrderItem().getNumber());
 		setB2b_pr_id(orderReply.getId());
 		setPr_recorder(orderReply.getRecorder());
+		setPr_type(orderReply.getType());
 	}
 
 	/**
-	 * 从卖家ERP的回复记录转到平台的回复记录
+	 * 从买家ERP的主动回复记录转到平台的回复记录
 	 */
 	public PurchaseOrderReply convert() {
 		PurchaseOrderReply reply = new PurchaseOrderReply();
@@ -118,7 +129,9 @@ public class PurchaseReply {
 		reply.setQty(this.pr_qty);
 		reply.setRecorder(this.pr_recorder);
 		reply.setRemark(this.pr_remark);
-		reply.setStatus((short) Status.NOT_UPLOAD.value());
+		reply.setStatus((short) Status.DOWNLOADED.value());
+		reply.setSendStatus((short) Status.NOT_UPLOAD.value());
+		reply.setType("采购主动回复");
 		return reply;
 	}
 

+ 13 - 2
src/main/java/com/uas/platform/b2b/erp/model/SaleReply.java

@@ -22,6 +22,7 @@ public class SaleReply {
 	private String sr_recorder;
 	private long cu_uu;
 	private Long b2b_pr_id;
+	private String sr_type;
 
 	public Double getSr_qty() {
 		return sr_qty;
@@ -95,6 +96,14 @@ public class SaleReply {
 		this.b2b_pr_id = b2b_pr_id;
 	}
 
+	public String getSr_type() {
+		return sr_type;
+	}
+
+	public void setSr_type(String sr_type) {
+		this.sr_type = sr_type;
+	}
+
 	/**
 	 * 从卖家ERP的回复记录转到平台的回复记录
 	 */
@@ -107,14 +116,15 @@ public class SaleReply {
 		reply.setRemark(this.sr_remark);
 		reply.setStatus((short) Status.NOT_UPLOAD.value());
 		reply.setSendStatus((short) Status.DOWNLOADED.value());
+		reply.setType("供应商ERP回复");
 		return reply;
 	}
-	
+
 	public SaleReply() {
 	}
 
 	/**
-	 * 从卖家平台的回复记录转到卖家ERP的回复记录
+	 * 从平台的回复记录转到卖家ERP的回复记录
 	 * 
 	 * @param reply
 	 */
@@ -127,6 +137,7 @@ public class SaleReply {
 		this.sr_sacode = reply.getOrderItem().getOrder().getCode();
 		this.sr_sddetno = reply.getOrderItem().getNumber();
 		this.b2b_pr_id = reply.getId();
+		this.sr_type = reply.getType();
 	}
 
 }

+ 9 - 1
src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java

@@ -18,11 +18,19 @@ public interface PurchaseService {
 	List<PurchaseOrderAllItem> convertPurchase(List<Purchase> purchases);
 
 	/**
-	 * 将平台的订单回复转为ERP的回复
+	 * 将平台的订单回复转为ERP的回复
 	 * 
 	 * @param replies
 	 * @return
 	 */
 	List<PurchaseReply> convertPurchaseOrderReply(List<PurchaseOrderReply> replies);
 
+	/**
+	 * 将买家在ERP的主动回复,转为平台的回复记录
+	 * 
+	 * @param replies
+	 * @return
+	 */
+	List<PurchaseOrderReply> convertPurchaseReply(List<PurchaseReply> replies);
+
 }

+ 20 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseServiceImpl.java

@@ -10,6 +10,7 @@ import org.springframework.util.CollectionUtils;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.ProductDao;
 import com.uas.platform.b2b.dao.PurchaseOrderDao;
+import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
 import com.uas.platform.b2b.dao.UserDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.erp.model.Purchase;
@@ -20,6 +21,7 @@ import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseOrder;
 import com.uas.platform.b2b.model.PurchaseOrderAll;
 import com.uas.platform.b2b.model.PurchaseOrderAllItem;
+import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.model.PurchaseOrderReply;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.model.Vendor;
@@ -38,6 +40,8 @@ public class PurchaseServiceImpl implements PurchaseService {
 	private UserDao userDao;
 	@Autowired
 	private PurchaseOrderDao purchaseOrderDao;
+	@Autowired
+	private PurchaseOrderItemDao purchaseOrderItemDao;
 
 	@Override
 	public List<PurchaseOrderAllItem> convertPurchase(List<Purchase> purchases) {
@@ -107,4 +111,20 @@ public class PurchaseServiceImpl implements PurchaseService {
 		}
 		return null;
 	}
+
+	@Override
+	public List<PurchaseOrderReply> convertPurchaseReply(List<PurchaseReply> replies) {
+		List<PurchaseOrderReply> orderReplies = new ArrayList<PurchaseOrderReply>();
+		long enUU = SystemSession.getUser().getEnterprise().getUu();
+		for (PurchaseReply reply : replies) {
+			List<PurchaseOrderItem> items = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU, reply.getPr_pucode(),
+					reply.getPr_pddetno());
+			if (!CollectionUtils.isEmpty(items)) {
+				PurchaseOrderReply orderReply = reply.convert();
+				orderReply.setOrderItem(items.get(0));
+				orderReplies.add(orderReply);
+			}
+		}
+		return orderReplies;
+	}
 }

+ 14 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrderReply.java

@@ -87,6 +87,12 @@ public class PurchaseOrderReply implements Serializable {
 	@Column(name = "pr_recorder")
 	private String recorder;
 
+	/**
+	 * 类型{供应商ERP回复、供应商平台回复、采购主动回复}
+	 */
+	@Column(name = "pr_type")
+	private String type;
+
 	public Long getId() {
 		return id;
 	}
@@ -159,4 +165,12 @@ public class PurchaseOrderReply implements Serializable {
 		this.recorder = recorder;
 	}
 
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
+
 }

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

@@ -115,6 +115,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 			// 作为B2B->卖家ERP数据是否已传输的标志
 			reply.setSendStatus((short) Status.NOT_UPLOAD.value());
 			reply.setRecorder(SystemSession.getUser().getUserName());
+			reply.setType("供应商平台回复");
 		}
 		PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply.getOrderItem().getId());
 		Double replyQty = item.getReplyQty();