Browse Source

采购询价上传时保存失败清除已保存的主表信息

hejq 8 years ago
parent
commit
5abea1b0d7

+ 13 - 1
src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

@@ -117,6 +117,9 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 	@Autowired
     private PurchaseInquiryItemTempDao tempDao;
 
+    @Autowired
+    private PurchaseInquiryTempDao inquiryTempDao;
+
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
     static final String TEL_REGEXP = "^((\\(\\d{3}\\))|(\\d{3}\\-))?(13|15|18|17)\\d{9}$";
@@ -128,7 +131,16 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 
     @Override
     public void saveList(List<PurchaseInquiryItemTemp> purchaseInquiryItemTemps) {
-        purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
+    	try {
+			purchaseInquiryItemTemps = tempDao.save(purchaseInquiryItemTemps);
+		} catch (Exception e) {
+    		for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {
+    		    if (inquiryTempDao.exists(temp.getInId())) {
+                    inquiryTempDao.delete(temp.getInId());
+                }
+                throw new IllegalOperatorException("保存失败");
+			}
+		}
         List<PurchaseInquiryItem> inquiryItems = new ArrayList<PurchaseInquiryItem>();
         if (!CollectionUtils.isEmpty(purchaseInquiryItemTemps)) {
             for (PurchaseInquiryItemTemp temp : purchaseInquiryItemTemps) {