Browse Source

平台保存询价相关方法调整

hejq 8 years ago
parent
commit
7115377459

+ 2 - 1
src/main/java/com/uas/ps/inquiry/controller/PublicInquiryController.java

@@ -1,5 +1,6 @@
 package com.uas.ps.inquiry.controller;
 package com.uas.ps.inquiry.controller;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.ps.inquiry.entity.BatchInquiry;
 import com.uas.ps.inquiry.entity.BatchInquiry;
 import com.uas.ps.inquiry.entity.Inquiry;
 import com.uas.ps.inquiry.entity.Inquiry;
@@ -171,7 +172,7 @@ public class PublicInquiryController {
     public String saveInquiryItems(@RequestBody List<PublicInquiryItem> items) throws Exception {
     public String saveInquiryItems(@RequestBody List<PublicInquiryItem> items) throws Exception {
         items = publicInquiryService.save(items);
         items = publicInquiryService.save(items);
         if (!CollectionUtils.isEmpty(items)) {
         if (!CollectionUtils.isEmpty(items)) {
-            return JSONObject.toJSONString(items.get(0));
+            return JSON.toJSONString(items.get(0).getInquiry());
         } else {
         } else {
             throw new Exception("保存失败");
             throw new Exception("保存失败");
         }
         }

+ 3 - 3
src/main/java/com/uas/ps/inquiry/model/PublicInquiryItem.java

@@ -160,7 +160,7 @@ public class PublicInquiryItem implements Serializable {
 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 	@JoinColumn(name = "ir_idid")
 	@JoinColumn(name = "ir_idid")
 	@OrderBy("lapQty")
 	@OrderBy("lapQty")
-	private Set<PublicInquiryReply> replies;
+	private List<PublicInquiryReply> replies;
 
 
 	/**
 	/**
 	 * {未回复、已回复}
 	 * {未回复、已回复}
@@ -411,11 +411,11 @@ public class PublicInquiryItem implements Serializable {
 		this.vendUU = vendUU;
 		this.vendUU = vendUU;
 	}
 	}
 
 
-	public Set<PublicInquiryReply> getReplies() {
+	public List<PublicInquiryReply> getReplies() {
 		return replies;
 		return replies;
 	}
 	}
 
 
-	public void setReplies(Set<PublicInquiryReply> replies) {
+	public void setReplies(List<PublicInquiryReply> replies) {
 		this.replies = replies;
 		this.replies = replies;
 	}
 	}
 
 

+ 3 - 3
src/main/java/com/uas/ps/inquiry/model/PurcInquiryItem.java

@@ -180,7 +180,7 @@ public class PurcInquiryItem {
 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
 	@JoinColumn(name = "ir_idid")
 	@JoinColumn(name = "ir_idid")
 	@OrderBy("lapQty")
 	@OrderBy("lapQty")
-	private Set<PurchaseInquiryReply> replies;
+	private List<PurchaseInquiryReply> replies;
 
 
 	/**
 	/**
 	 * {未回复、已回复}
 	 * {未回复、已回复}
@@ -399,11 +399,11 @@ public class PurcInquiryItem {
 		this.leadtime = leadtime;
 		this.leadtime = leadtime;
 	}
 	}
 
 
-	public Set<PurchaseInquiryReply> getReplies() {
+	public List<PurchaseInquiryReply> getReplies() {
 		return replies;
 		return replies;
 	}
 	}
 
 
-	public void setReplies(Set<PurchaseInquiryReply> replies) {
+	public void setReplies(List<PurchaseInquiryReply> replies) {
 		this.replies = replies;
 		this.replies = replies;
 	}
 	}
 
 

+ 34 - 5
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -67,8 +67,25 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
     @Override
     @Override
     public void save(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException {
     public void save(List<BatchInquiry> inquiries, Long enuu, String address) throws NotFoundException {
         List<PurcInquiry> purcInquiries = covert(inquiries, enuu, address);
         List<PurcInquiry> purcInquiries = covert(inquiries, enuu, address);
-        if (!CollectionUtils.isEmpty(purcInquiries)) {
-            purcInquiryDao.save(purcInquiries);
+        List<PurcInquiryItem> inquiryItems = new ArrayList<>();
+        if(!CollectionUtils.isEmpty(purcInquiries)) {
+            for(PurcInquiry inquiry : purcInquiries) {
+                // 判断单号是否已存在
+                PurcInquiry old = purcInquiryDao.findByCodeAndEnUU(inquiry.getCode(), enuu);
+                List<PurcInquiryItem> items = new ArrayList<PurcInquiryItem>();
+                if(old == null && !CollectionUtils.isEmpty(inquiry.getInquiryItems())) {
+                    for(PurcInquiryItem item : inquiry.getInquiryItems()) {
+                        item.setInquiry(inquiry);
+                        items.add(item);
+                    }
+                }
+                try {
+                    items = purcInquiryItemDao.save(items);
+                    inquiryItems.addAll(items);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
         }
         }
     }
     }
 
 
@@ -383,7 +400,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                 item.setCustLap(Constant.NO);
                 item.setCustLap(Constant.NO);
                 item.setSendStatus((short) Status.NOT_UPLOAD.value());
                 item.setSendStatus((short) Status.NOT_UPLOAD.value());
                 item.setSourceId(id);
                 item.setSourceId(id);
-                Set<PublicInquiryReply> replies = new HashSet<PublicInquiryReply>();
+                List<PublicInquiryReply> replies = new ArrayList<PublicInquiryReply>();
                 PublicInquiryReply reply = new PublicInquiryReply();
                 PublicInquiryReply reply = new PublicInquiryReply();
                 reply.setLapQty((double) 0);
                 reply.setLapQty((double) 0);
                 replies.add(reply);
                 replies.add(reply);
@@ -430,7 +447,7 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
                         item.setPrcode(purcInquiryItem.getProdCode());
                         item.setPrcode(purcInquiryItem.getProdCode());
                         item.setKind(INQUIRYKIND);
                         item.setKind(INQUIRYKIND);
                         item.setNeedquantity(purcInquiryItem.getNeedquantity());
                         item.setNeedquantity(purcInquiryItem.getNeedquantity());
-                        Set<PublicInquiryReply> replies = new HashSet<PublicInquiryReply>();
+                        List<PublicInquiryReply> replies = new ArrayList<PublicInquiryReply>();
                         List<PublicInquiryReply> purcReplies = new ArrayList<PublicInquiryReply>();
                         List<PublicInquiryReply> purcReplies = new ArrayList<PublicInquiryReply>();
                         PublicInquiryReply reply = new PublicInquiryReply();
                         PublicInquiryReply reply = new PublicInquiryReply();
                         reply.setLapQty((double) 0);
                         reply.setLapQty((double) 0);
@@ -481,7 +498,19 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
      */
      */
     @Override
     @Override
     public PublicInquiryItem save(PublicInquiryItem item) {
     public PublicInquiryItem save(PublicInquiryItem item) {
-        return publicInquiryItemDao.save(item);
+        jdbcTemplate.update("insert into public$inquiryitems(id_id,id_number,id_currency,id_fromdate,id_todate,id_taxrate,id_prid,id_venduu,"
+                        + "id_venduseruu,id_sourceapp,id_status,id_custlap,id_sendstatus,id_sourceid,id_inid,id_kind) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
+                item.getId(), item.getNumber(), item.getCurrency(), item.getFromDate(), item.getToDate(),
+                item.getTaxrate(), item.getProductId(), item.getVendUU(), item.getVendUserUU(),
+                item.getSourceApp(), item.getStatus(), item.getCustLap(), item.getSendStatus(),
+                item.getSourceId(), item.getInquiry().getId(), item.getInquiry().getKind());
+        //回复清单更新
+        if(item.getReplies().size() > 0) {
+            for (PublicInquiryReply reply1 : item.getReplies()) {
+                jdbcTemplate.update("update public$inquiryreply set ir_idid = " + item.getId() + "where ir_id = " + reply1.getId());
+            }
+        }
+        return publicInquiryItemDao.findOne(item.getId());
     }
     }
 
 
     /**
     /**