Преглед изворни кода

实现采购单据的单个回复和批量回复

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@200 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg пре 11 година
родитељ
комит
bb4fa18a7d

+ 14 - 0
src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java

@@ -85,4 +85,18 @@ public class SaleOrderController {
 		purchaseOrderService.reply(reply);
 		return new ResponseEntity<String>(HttpStatus.OK);
 	}
+	
+	/**
+	 * 作为卖家,回复收到的采购订单
+	 * 
+	 * @param json
+	 * @return
+	 */
+	@RequestMapping(value = "/orders/items/reply", method = RequestMethod.POST)
+	public ResponseEntity<String> replyOrderItemByBatch(@RequestBody String str) {
+		System.out.println(str);
+		String[] idsStr = str.split(",");
+		purchaseOrderService.replyByBatch(idsStr);
+		return new ResponseEntity<String>(HttpStatus.OK);
+	}
 }

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

@@ -9,4 +9,5 @@ import com.uas.platform.b2b.model.PurchaseOrderItem;
 @Repository
 public interface PurchaseOrderItemDao extends JpaSpecificationExecutor<PurchaseOrderItem>, JpaRepository<PurchaseOrderItem, Long> {
 	
+	public PurchaseOrderItem findPurcOrderItemById(Long id);
 }

+ 16 - 0
src/main/java/com/uas/platform/b2b/model/PurchaseOrder.java

@@ -104,6 +104,12 @@ public class PurchaseOrder implements Serializable {
 	@Column(name = "pu_payments")
 	private String payments;
 
+	/**
+	 * 回复状态
+	 */
+	@Column(name = "pu_reply")
+	private String reply;
+	
 	/**
 	 * 采购单状态
 	 */
@@ -237,4 +243,14 @@ public class PurchaseOrder implements Serializable {
 	public void setOrderItems(List<PurchaseOrderItem> orderItems) {
 		this.orderItems = orderItems;
 	}
+
+	public String getReply() {
+		return reply;
+	}
+
+	public void setReply(String reply) {
+		this.reply = reply;
+	}
+	
+	
 }

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

@@ -1,6 +1,6 @@
 package com.uas.platform.b2b.model;
 
-import java.sql.Date;
+import java.util.Date;
 
 import javax.persistence.CascadeType;
 import javax.persistence.Column;
@@ -62,6 +62,12 @@ public class PurchaseOrderItem {
 	 */
 	@Column(name = "pd_remark")
 	private String remark;
+	
+	/**
+	 * 回复状态
+	 */
+	@Column(name = "pd_reply")
+	private String reply;
 
 	/**
 	 * 含税单价
@@ -99,6 +105,12 @@ public class PurchaseOrderItem {
 	@Column(name = "pd_delivery")
 	private Date delivery;
 	
+	/**
+	 * 回复日期
+	 */
+	@Column(name = "pd_deliveryreply")
+	private Date deliveryreply;
+	
 	@Column(name="pd_status")
 	private Short status;
 
@@ -221,4 +233,22 @@ public class PurchaseOrderItem {
 	public void setStatus(Short status) {
 		this.status = status;
 	}
+
+	public String getReply() {
+		return reply;
+	}
+
+	public void setReply(String reply) {
+		this.reply = reply;
+	}
+
+	public Date getDeliveryreply() {
+		return deliveryreply;
+	}
+
+	public void setDeliveryreply(Date deliveryreply) {
+		this.deliveryreply = deliveryreply;
+	}
+	
+	
 }

+ 10 - 0
src/main/java/com/uas/platform/b2b/service/PurchaseOrderService.java

@@ -17,6 +17,16 @@ public interface PurchaseOrderService {
 	
 	public PurchaseOrderAll findById(Long id);
 	
+	/**
+	 * 回复单个明细
+	 * @param reply
+	 */
 	public void reply(PurchaseReply reply);
+	
+	/**
+	 * 批量回复
+	 * @param str 回复的明细ID的字符串数组
+	 */
+	public void replyByBatch(String[] str);
 
 }

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

@@ -66,10 +66,15 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		reply.setDate(new Date());
 		purchaseReplyDao.save(reply);
 		PurchaseOrderItem item = purchaseOrderItemDao.findOne(reply.getOrderItem().getId());
+		item.setReply("待回复");
+		item.setDeliveryreply(reply.getDelivery());
+		PurchaseOrder order = purchaseOrderDao.findOne(item.getOrder().getId());
+		order.setReply("待回复");
 		Double replyQty = item.getReplyQty();
 		replyQty = replyQty == null ? 0 : replyQty;
 		item.setReplyQty(replyQty + reply.getQty());
 		purchaseOrderItemDao.save(item);
+		purchaseOrderDao.save(order);
 	}
 
 	@Override
@@ -90,4 +95,22 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		return purchaseOrderAlls.get(0);
 	}
 
+	@Override
+	public void replyByBatch(String[] str) {
+		PurchaseOrderItem orderItem ;
+		for(String s : str) {
+			System.out.println(s);
+			orderItem = purchaseOrderItemDao.findOne(Long.parseLong(s));
+			PurchaseReply purchaseReply = new PurchaseReply();
+			purchaseReply.setOrderItem(orderItem);
+			purchaseReply.setDelivery(orderItem.getDelivery());
+			purchaseReply.setRemark("批量回复");
+			if(orderItem.getReplyQty() == null ) orderItem.setReplyQty((double) 0);
+			System.out.println("orderItem.getReplyQty():" + orderItem.getReplyQty());
+			purchaseReply.setQty(orderItem.getQty() - orderItem.getReplyQty());
+			reply(purchaseReply);
+		}
+		
+	}
+
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/support/CustomAuthenticationFailureHandler.java

@@ -15,7 +15,7 @@ public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationF
 	public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
 			AuthenticationException exception) throws IOException, ServletException {
 
-		response.setHeader("Content-Type", "application/json;charset=UTF-8");
+		response.setHeader("Content-Type", "application/text;charset=UTF-8");
 		response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
 		PrintWriter printWriter = response.getWriter();
 		printWriter.append(exception.getMessage());