Просмотр исходного кода

代采订单回传的保存的问题,存在重复单据,进行容错处理

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10709 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 8 лет назад
Родитель
Сommit
67278d6927

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyOrderDao.java

@@ -31,6 +31,16 @@ public interface DeputyOrderDao extends JpaRepository<DeputyOrder, Long>, JpaSpe
 	 */
 	List<DeputyOrder> findBySalecodeAndDeputyuu(String salecode, Long deputyuu);
 
+	/**
+	 * 通过单据流水号、下载状态(存在重复单号的问题)查询代采订单信息
+	 * 
+	 * @param code
+	 * @param deputyuu
+	 * @param status
+	 * @return
+	 */
+	DeputyOrder findByCodeAndDeputyuuAndDownloadstatus(String code, Long deputyuu, String status);
+
 	/**
 	 * 通过单据流水号查询代采订单信息
 	 * 

+ 19 - 15
src/main/java/com/uas/platform/b2b/erp/controller/DeputyOrderDownController.java

@@ -213,15 +213,17 @@ public class DeputyOrderDownController {
 		List<DeputyOrder> deOrders = new ArrayList<DeputyOrder>();
 		if (!CollectionUtils.isEmpty(orders)) {
 			for (DeputyOrder order : orders) {
-				DeputyOrder deOrder = deputyOrderDao.findByCodeAndDeputyuu(order.getCode(),
-						SystemSession.getUser().getEnterprise().getUu());
-				deOrder.setDownloadstatus("待下载");
-				deOrder.setEntrystatus("保存");
-				deOrder.setStatuscode(Status.NOTAGREED.value());
-				deOrder.setStatus(Status.NOTAGREED.name());
-				deOrder.setRemark(order.getRemark());
-				deOrder = deputyOrderDao.save(deOrder);
-				deOrders.add(deOrder);
+				DeputyOrder deOrder = deputyOrderDao.findByCodeAndDeputyuuAndDownloadstatus(order.getCode(),
+						SystemSession.getUser().getEnterprise().getUu(), "已下载");
+				if (deOrder != null) {
+					deOrder.setDownloadstatus("待下载");
+					deOrder.setEntrystatus("保存");
+					deOrder.setStatuscode(Status.NOTAGREED.value());
+					deOrder.setStatus(Status.NOTAGREED.name());
+					deOrder.setRemark(order.getRemark());
+					deOrder = deputyOrderDao.save(deOrder);
+					deOrders.add(deOrder);
+				}
 			}
 			// ContextUtils.publishEvent(new DeputyorderReplyEvent(deOrders));
 		}
@@ -242,12 +244,14 @@ public class DeputyOrderDownController {
 		List<DeputyOrder> deOrders = new ArrayList<DeputyOrder>();
 		if (CollectionUtils.isEmpty(orders)) {
 			for (DeputyOrder order : orders) {
-				DeputyOrder deOrder = deputyOrderDao.findByCodeAndDeputyuu(order.getCode(),
-						SystemSession.getUser().getEnterprise().getUu());
-				deOrder.setStatuscode(Status.AGREED.value());
-				deOrder.setStatus(Status.AGREED.name());
-				deOrder = deputyOrderDao.save(deOrder);
-				deOrders.add(deOrder);
+				DeputyOrder deOrder = deputyOrderDao.findByCodeAndDeputyuuAndDownloadstatus(order.getCode(),
+						SystemSession.getUser().getEnterprise().getUu(), "已下载");
+				if (deOrder != null) {
+					deOrder.setStatuscode(Status.AGREED.value());
+					deOrder.setStatus(Status.AGREED.name());
+					deOrder = deputyOrderDao.save(deOrder);
+					deOrders.add(deOrder);
+				}
 			}
 			// ContextUtils.publishEvent(new DeputyorderReplyEvent(deOrders));
 		}