Browse Source

【优软商城】新增对账单时判断是否有未对账的账单

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@6320 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 years ago
parent
commit
ccb4329643

+ 36 - 25
src/main/java/com/uas/platform/b2b/erp/service/impl/APCheckServiceImpl.java

@@ -14,6 +14,7 @@ import com.uas.platform.b2b.erp.service.APCheckService;
 import com.uas.platform.b2b.model.PurchaseApCheck;
 import com.uas.platform.b2b.model.PurchaseApCheckItem;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.exception.IllegalStatusException;
 
 @Service
 public class APCheckServiceImpl implements APCheckService {
@@ -38,37 +39,47 @@ public class APCheckServiceImpl implements APCheckService {
 		long vendUU = SystemSession.getUser().getEnterprise().getUu();// 卖方UU号
 		if (!CollectionUtils.isEmpty(apChecks)) {
 			for (APCheck apCheck : apChecks) {
-				List<PurchaseApCheck> existChecks = purchaseAPCheckDao.findByCustUuAndCode(vendUU, apCheck.getAc_code());
+				List<PurchaseApCheck> existChecks = purchaseAPCheckDao.findByCustUuAndCode(vendUU,
+						apCheck.getAc_code());
 				if (!CollectionUtils.isEmpty(existChecks)) {// 客户UU正确,否则不保存
-//					PurchaseApCheck purchseAPCheck = apCheck.convert();
+					// PurchaseApCheck purchseAPCheck = apCheck.convert();
 					PurchaseApCheck apcheckb2b = existChecks.get(0);
 					apcheckb2b.setCheckStatus(apCheck.getAc_confirmstatus());
 					apcheckb2b.setCustreply(apCheck.getAc_reason());
-					if(apCheck.getAc_confirmstatus().equals("已确认")) {
-						for (PurchaseApCheckItem exitItem :apcheckb2b.getItems()) {
-							exitItem.setCustCheckQty(exitItem.getCheckQty());
-							exitItem.setApCheck(apcheckb2b);
-							apCheckItems.add(exitItem);
+					apcheckb2b.setStatus(apCheck.getAc_status());
+					if (apCheck.getAc_code() != null && apCheck.getAc_status() == 203) {
+						if (apCheck.getAc_confirmstatus().equals("未对账")) {
+							throw new IllegalStatusException("已提交,不能重复提交");
+						} else if (apCheck.getAc_confirmstatus().equals("已确认")) {
+							for (PurchaseApCheckItem exitItem : apcheckb2b.getItems()) {
+								exitItem.setCustCheckQty(exitItem.getCheckQty());
+								exitItem.setApCheck(apcheckb2b);
+								apCheckItems.add(exitItem);
+							}
+						} else if (apCheck.getAc_confirmstatus().equals("不同意")) {
+							for (PurchaseApCheckItem exitItem : apcheckb2b.getItems()) {
+								exitItem.setApCheck(apcheckb2b);
+								apCheckItems.add(exitItem);
+							}
 						}
 					}
-					if(apCheck.getAc_confirmstatus().equals("不同意")) {
-						for (PurchaseApCheckItem exitItem :apcheckb2b.getItems()) {
-							exitItem.setApCheck(apcheckb2b);
-							apCheckItems.add(exitItem);
-						}
-					}
-//					if (!CollectionUtils.isEmpty(purchseAPCheck.getItems())) {
-//						for (PurchaseApCheckItem item : purchseAPCheck.getItems()) {
-//							for (PurchaseApCheckItem exitItem : apcheckb2b.getItems()) {
-//								if (exitItem.getNumber() != null && exitItem.getNumber().equals(item.getNumber())) {
-//									exitItem.setCheckQty(item.getCheckQty());
-//									exitItem.setApCheck(apcheckb2b);
-//									apCheckItems.add(exitItem);
-//								}
-//							}
-//
-//						}
-//					}
+
+					// if (!CollectionUtils.isEmpty(purchseAPCheck.getItems()))
+					// {
+					// for (PurchaseApCheckItem item :
+					// purchseAPCheck.getItems()) {
+					// for (PurchaseApCheckItem exitItem :
+					// apcheckb2b.getItems()) {
+					// if (exitItem.getNumber() != null &&
+					// exitItem.getNumber().equals(item.getNumber())) {
+					// exitItem.setCheckQty(item.getCheckQty());
+					// exitItem.setApCheck(apcheckb2b);
+					// apCheckItems.add(exitItem);
+					// }
+					// }
+					//
+					// }
+					// }
 				}
 			}
 		}