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

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@616 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d

administrator пре 11 година
родитељ
комит
faffead2f3
19 измењених фајлова са 297 додато и 43 уклоњено
  1. 9 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDao.java
  2. 8 2
      src/main/java/com/uas/platform/b2b/erp/controller/InquiryController.java
  3. 0 2
      src/main/java/com/uas/platform/b2b/erp/controller/SaleForecastDownController.java
  4. 10 0
      src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java
  5. 0 2
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseForecast.java
  6. 0 2
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseForecastDetail.java
  7. 9 0
      src/main/java/com/uas/platform/b2b/erp/model/QuotationDown.java
  8. 47 0
      src/main/java/com/uas/platform/b2b/erp/model/RemoteFile.java
  9. 0 1
      src/main/java/com/uas/platform/b2b/erp/model/SaleForecastDown.java
  10. 23 2
      src/main/java/com/uas/platform/b2b/erp/service/impl/QuotationDownServiceImpl.java
  11. 5 7
      src/main/java/com/uas/platform/b2b/erp/service/impl/SaleForecastDownServiceImpl.java
  12. 12 0
      src/main/java/com/uas/platform/b2b/model/Attach.java
  13. 29 1
      src/main/java/com/uas/platform/b2b/model/PurchaseInquiry.java
  14. 35 0
      src/main/java/com/uas/platform/b2b/service/AttachService.java
  15. 0 1
      src/main/java/com/uas/platform/b2b/service/PurchaseForecastOrderService.java
  16. 8 0
      src/main/java/com/uas/platform/b2b/service/PurchaseInquiryService.java
  17. 76 15
      src/main/java/com/uas/platform/b2b/service/impl/AttachServiceImpl.java
  18. 3 8
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseForecastOrderServiceImpl.java
  19. 23 0
      src/main/java/com/uas/platform/b2b/service/impl/PurchaseInquiryServiceImpl.java

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDao.java

@@ -20,4 +20,13 @@ public interface PurchaseInquiryDao extends JpaSpecificationExecutor<PurchaseInq
 	 */
 	public List<PurchaseInquiry> findByEnUUAndCode(long enUU, String code);
 
+	/**
+	 * @param enUU
+	 *            询价方企业ID
+	 * @param sourceId
+	 *            来源系统的单据ID
+	 * @return
+	 */
+	public List<PurchaseInquiry> findByEnUUAndSourceId(long enUU, long sourceId);
+
 }

+ 8 - 2
src/main/java/com/uas/platform/b2b/erp/controller/InquiryController.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.erp.controller;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.List;
+import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -15,6 +16,7 @@ import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.InquiryDecide;
 import com.uas.platform.b2b.erp.model.InquiryDetail;
 import com.uas.platform.b2b.erp.service.InquiryService;
+import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.FileUpload;
 import com.uas.platform.b2b.service.AttachService;
 import com.uas.platform.b2b.service.PurchaseInquiryService;
@@ -99,8 +101,12 @@ public class InquiryController {
 	 */
 	@RequestMapping(value = "/attach", method = RequestMethod.POST)
 	@ResponseBody
-	public void uploadAttach(FileUpload uploadItem) throws UnsupportedEncodingException {
-		attachService.uploadAndSave(uploadItem, "inquiry", "客户采购询价单附件");
+	public void uploadAttach(String data, FileUpload uploadItem) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		System.out.println("接收附件:" + jsonStr);
+		Map<String, Map<String, Object>> fileList = FlexJsonUtils.fromJson(jsonStr);
+		List<Attach> attachs = attachService.uploadZipAndSave(uploadItem, "inquiry", "客户采购询价单附件", fileList);
+		purchaseInquiryService.saveAttach(attachs);
 	}
 
 }

+ 0 - 2
src/main/java/com/uas/platform/b2b/erp/controller/SaleForecastDownController.java

@@ -12,8 +12,6 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.uas.platform.b2b.erp.model.SaleForecastDown;
-import com.uas.platform.b2b.erp.service.PurchaseForecastService;
-import com.uas.platform.b2b.erp.service.SaleDownService;
 import com.uas.platform.b2b.erp.service.SaleForecastDownService;
 import com.uas.platform.b2b.service.PurchaseForecastOrderService;
 

+ 10 - 0
src/main/java/com/uas/platform/b2b/erp/model/Inquiry.java

@@ -22,6 +22,7 @@ import com.uas.platform.b2b.support.SystemSession;
  */
 public class Inquiry {
 
+	private Long in_id;
 	private String in_code;
 	private Date in_date;
 	private String in_recorder;
@@ -37,6 +38,14 @@ public class Inquiry {
 	private Long b2b_qu_id;
 	private Long in_buyeruu;
 
+	public Long getIn_id() {
+		return in_id;
+	}
+
+	public void setIn_id(Long in_id) {
+		this.in_id = in_id;
+	}
+
 	public String getIn_code() {
 		return in_code;
 	}
@@ -140,6 +149,7 @@ public class Inquiry {
 		inquiry.setRecorder(this.in_recorder);
 		inquiry.setRecorderUU(this.in_recorderuu);
 		inquiry.setRemark(this.in_remark);
+		inquiry.setSourceId(this.in_id);
 		if (!CollectionUtils.isEmpty(this.details)) {
 			Set<PurchaseInquiryItem> inquiryItems = new HashSet<PurchaseInquiryItem>();
 			for (InquiryDetail detail : details) {

+ 0 - 2
src/main/java/com/uas/platform/b2b/erp/model/PurchaseForecast.java

@@ -9,8 +9,6 @@ import org.springframework.util.CollectionUtils;
 
 import com.uas.platform.b2b.model.PurchaseForecastAll;
 import com.uas.platform.b2b.model.PurchaseForecastAllItem;
-import com.uas.platform.b2b.model.PurchaseOrderAll;
-import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 import com.uas.platform.b2b.model.User;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Status;

+ 0 - 2
src/main/java/com/uas/platform/b2b/erp/model/PurchaseForecastDetail.java

@@ -4,9 +4,7 @@ import java.util.Date;
 
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseForecastAllItem;
-import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.model.Status;
 
 public class PurchaseForecastDetail {
 	private Long b2b_id_id;

+ 9 - 0
src/main/java/com/uas/platform/b2b/erp/model/QuotationDown.java

@@ -38,6 +38,7 @@ public class QuotationDown {
 	private Double qu_minbuyqty;
 	private Double qu_minqty;
 	private Short qu_custlap;
+	private List<RemoteFile> files;
 	private List<QuotationDownDetail> details;
 
 	public long getB2b_id_id() {
@@ -216,6 +217,14 @@ public class QuotationDown {
 		this.qu_custlap = qu_custlap;
 	}
 
+	public List<RemoteFile> getFiles() {
+		return files;
+	}
+
+	public void setFiles(List<RemoteFile> files) {
+		this.files = files;
+	}
+
 	public QuotationDown() {
 	}
 

+ 47 - 0
src/main/java/com/uas/platform/b2b/erp/model/RemoteFile.java

@@ -0,0 +1,47 @@
+package com.uas.platform.b2b.erp.model;
+
+import com.uas.platform.b2b.model.Attach;
+
+public class RemoteFile {
+
+	private String name;
+
+	private Long size;
+
+	private Long id;
+
+	public String getName() {
+		return name;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Long getSize() {
+		return size;
+	}
+
+	public void setSize(Long size) {
+		this.size = size;
+	}
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public RemoteFile() {
+
+	}
+
+	public RemoteFile(Attach attach) {
+		this.id = attach.getId();
+		this.size = attach.getSize();
+		this.name = attach.getName();
+	}
+
+}

+ 0 - 1
src/main/java/com/uas/platform/b2b/erp/model/SaleForecastDown.java

@@ -8,7 +8,6 @@ import org.springframework.util.CollectionUtils;
 
 import com.uas.platform.b2b.model.PurchaseForecastAll;
 import com.uas.platform.b2b.model.PurchaseForecastAllItem;
-import com.uas.platform.b2b.model.PurchaseOrderAllItem;
 
 public class SaleForecastDown {
 	private long b2b_pf_id;

+ 23 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/QuotationDownServiceImpl.java

@@ -3,23 +3,44 @@ package com.uas.platform.b2b.erp.service.impl;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
+import com.uas.platform.b2b.dao.AttachDao;
 import com.uas.platform.b2b.erp.model.QuotationDown;
 import com.uas.platform.b2b.erp.model.QuotationDownDecide;
+import com.uas.platform.b2b.erp.model.RemoteFile;
 import com.uas.platform.b2b.erp.service.QuotationDownService;
+import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
 
 @Service
 public class QuotationDownServiceImpl implements QuotationDownService {
 
+	@Autowired
+	private AttachDao attachDao;
+
 	@Override
 	public List<QuotationDown> convertPurchaseInquiry(List<PurchaseInquiryItem> inquiryItems) {
 		List<QuotationDown> downs = new ArrayList<QuotationDown>();
 		if (!CollectionUtils.isEmpty(inquiryItems)) {
-			for (PurchaseInquiryItem item : inquiryItems)
-				downs.add(new QuotationDown(item));
+			for (PurchaseInquiryItem item : inquiryItems) {
+				QuotationDown down = new QuotationDown(item);
+				if (StringUtils.hasText(item.getInquiry().getAttach())) {
+					String[] attachIds = item.getInquiry().getAttach().split(",");
+					List<RemoteFile> files = new ArrayList<RemoteFile>();
+					for (String attachId : attachIds) {
+						Attach attach = attachDao.findOne(Long.parseLong(attachId));
+						if (attach != null) {
+							files.add(new RemoteFile(attach));
+						}
+					}
+					down.setFiles(files);
+				}
+				downs.add(down);
+			}
 		}
 		return downs;
 	}

+ 5 - 7
src/main/java/com/uas/platform/b2b/erp/service/impl/SaleForecastDownServiceImpl.java

@@ -5,22 +5,20 @@ import java.util.List;
 
 import org.springframework.stereotype.Service;
 
-import com.uas.platform.b2b.erp.model.SaleDown;
 import com.uas.platform.b2b.erp.model.SaleForecastDown;
 import com.uas.platform.b2b.erp.service.SaleForecastDownService;
 import com.uas.platform.b2b.model.PurchaseForecastAll;
-import com.uas.platform.b2b.model.PurchaseOrderAll;
+
 @Service
 public class SaleForecastDownServiceImpl implements SaleForecastDownService {
 
 	@Override
-	public List<SaleForecastDown> convertPurchaseForecastDown(
-			List<PurchaseForecastAll> orders) {
+	public List<SaleForecastDown> convertPurchaseForecastDown(List<PurchaseForecastAll> orders) {
 		List<SaleForecastDown> sales = new ArrayList<SaleForecastDown>();
-		for (PurchaseForecastAll order : orders){
-			System.out.println("A:"+order);
+		for (PurchaseForecastAll order : orders) {
+			System.out.println("A:" + order);
 			sales.add(new SaleForecastDown(order));
-		}		
+		}
 		return sales;
 	}
 

+ 12 - 0
src/main/java/com/uas/platform/b2b/model/Attach.java

@@ -7,6 +7,7 @@ import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.SequenceGenerator;
 import javax.persistence.Table;
+import javax.persistence.Transient;
 
 @Entity
 @Table(name = "attachs")
@@ -38,6 +39,9 @@ public class Attach {
 	 */
 	@Column(name = "at_size")
 	private Long size;
+	
+	@Transient
+	private Long sourceId;
 
 	public Long getId() {
 		return id;
@@ -79,6 +83,14 @@ public class Attach {
 		this.size = size;
 	}
 
+	public Long getSourceId() {
+		return sourceId;
+	}
+
+	public void setSourceId(Long sourceId) {
+		this.sourceId = sourceId;
+	}
+
 	public Attach() {
 	}
 

+ 29 - 1
src/main/java/com/uas/platform/b2b/model/PurchaseInquiry.java

@@ -46,7 +46,7 @@ public class PurchaseInquiry implements Serializable {
 	 */
 	@Column(name = "in_enuu")
 	private Long enUU;
-	
+
 	/**
 	 * 询价单所属用户UU
 	 */
@@ -103,6 +103,18 @@ public class PurchaseInquiry implements Serializable {
 	@OrderBy("number")
 	private Set<PurchaseInquiryItem> inquiryItems;
 
+	/**
+	 * 来源系统单据ID
+	 */
+	@Column(name = "in_sourceid")
+	private Long sourceId;
+
+	/**
+	 * 附件ID
+	 */
+	@Column(name = "in_attach")
+	private String attach;
+
 	public Long getId() {
 		return id;
 	}
@@ -183,6 +195,22 @@ public class PurchaseInquiry implements Serializable {
 		this.recorderUU = recorderUU;
 	}
 
+	public Long getSourceId() {
+		return sourceId;
+	}
+
+	public void setSourceId(Long sourceId) {
+		this.sourceId = sourceId;
+	}
+
+	public String getAttach() {
+		return attach;
+	}
+
+	public void setAttach(String attach) {
+		this.attach = attach;
+	}
+
 	@JsonIgnore
 	public Set<PurchaseInquiryItem> getInquiryItems() {
 		return inquiryItems;

+ 35 - 0
src/main/java/com/uas/platform/b2b/service/AttachService.java

@@ -1,5 +1,8 @@
 package com.uas.platform.b2b.service;
 
+import java.util.List;
+import java.util.Map;
+
 import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.FileUpload;
 
@@ -31,6 +34,17 @@ public interface AttachService {
 	 */
 	public Attach uploadAndSave(FileUpload uploadItem, String parentDir, String description);
 
+	/**
+	 * @param uploadItem
+	 * @param parentDir
+	 *            文件的父级目录
+	 * @param description
+	 *            描述
+	 * @return
+	 */
+	public List<Attach> uploadZipAndSave(FileUpload uploadItem, String parentDir, String description,
+			Map<String, Map<String, Object>> entryParams);
+
 	/**
 	 * 上传文件
 	 * 
@@ -42,4 +56,25 @@ public interface AttachService {
 	 * @return
 	 */
 	public Attach upload(FileUpload uploadItem, String parentDir, String description);
+
+	/**
+	 * 上传经压缩过的文件
+	 * 
+	 * @param uploadItem
+	 * @param parentDir
+	 *            文件的父级目录
+	 * @param description
+	 *            描述
+	 * @return
+	 */
+	public Map<String, String> uploadZip(FileUpload uploadItem, String parentDir, String description);
+
+	/**
+	 * 产生文件唯一名字
+	 * 
+	 * @param fileName
+	 * @param parentDir
+	 * @return
+	 */
+	public String randomFileName(String fileName, String parentDir);
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/service/PurchaseForecastOrderService.java

@@ -3,7 +3,6 @@ package com.uas.platform.b2b.service;
 import java.util.List;
 
 import com.uas.platform.b2b.model.PurchaseForecastAll;
-import com.uas.platform.b2b.model.PurchaseForecastAllItem;
 
 
 public interface PurchaseForecastOrderService {

+ 8 - 0
src/main/java/com/uas/platform/b2b/service/PurchaseInquiryService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import org.springframework.data.domain.Page;
 
 import com.uas.platform.b2b.erp.model.QuotationDown;
+import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.core.model.PageInfo;
@@ -20,6 +21,13 @@ public interface PurchaseInquiryService {
 	 */
 	public void save(List<PurchaseInquiryItem> inquiryItems);
 
+	/**
+	 * 附件ID写到询价单
+	 * 
+	 * @return
+	 */
+	public void saveAttach(List<Attach> attachs);
+
 	/**
 	 * 分页查找询价单
 	 * 

+ 76 - 15
src/main/java/com/uas/platform/b2b/service/impl/AttachServiceImpl.java

@@ -4,16 +4,24 @@ import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 import com.uas.platform.b2b.core.BaseUtil;
 import com.uas.platform.b2b.dao.AttachDao;
 import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.FileUpload;
 import com.uas.platform.b2b.service.AttachService;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.util.FileUtils;
 
 @Service
 public class AttachServiceImpl implements AttachService {
@@ -43,7 +51,7 @@ public class AttachServiceImpl implements AttachService {
 		if (size > 104857600) {
 			return null;// 文件过大,上传失败
 		}
-		String path = getFilePath(filename, parentDir);
+		String path = randomFileName(filename, parentDir);
 		File file = new File(path);
 		BufferedOutputStream bos = null;
 		BufferedInputStream bis = null;
@@ -63,23 +71,76 @@ public class AttachServiceImpl implements AttachService {
 		return new Attach(filename, path, description, size);
 	}
 
-	private String getFilePath(String fileName, String parentDir) {
+	public String randomFileName(String fileName, String parentDir) {
 		String uuid = UUID.randomUUID().toString().replaceAll("\\-", "");
-		String suffix = fileName.indexOf(".") != -1 ? fileName.substring(fileName.lastIndexOf("."), fileName.length()) : "";
-		String path = BaseUtil.FILEPATH + "postattach";
-		File file = new File(path);
-		if (!file.isDirectory()) {
-			file.mkdir();
-			path = path + File.separator + parentDir;
-			new File(path).mkdir();
-		} else {
-			path = path + File.separator + parentDir;
-			file = new File(path);
-			if (!file.isDirectory()) {
-				file.mkdir();
+		String suffix = (fileName != null && fileName.indexOf(".") != -1) ? fileName
+				.substring(fileName.lastIndexOf("."), fileName.length()) : "";
+		return getDir(parentDir) + File.separator + uuid + suffix;
+	}
+
+	@Override
+	public List<Attach> uploadZipAndSave(FileUpload uploadItem, String parentDir, String description,
+			Map<String, Map<String, Object>> entryParams) {
+		Map<String, String> fileMap = uploadZip(uploadItem, parentDir, description);
+		if (fileMap != null) {
+			List<Attach> attachs = new ArrayList<Attach>();
+			for (String entry : fileMap.keySet()) {
+				if (entryParams.containsKey(entry)) {
+					File file = new File(fileMap.get(entry));
+					if (file.exists()) {
+						Map<String, Object> params = entryParams.get(entry);
+						Attach attach = new Attach(String.valueOf(params.get("name")), fileMap.get(entry), description, file.length());
+						attach = attachDao.save(attach);
+						attach.setSourceId(Long.parseLong(entryParams.get("sourceId").toString()));
+						attachs.add(attach);
+					}
+				}
+			}
+			return attachs;
+		}
+		return null;
+	}
+
+	@Override
+	public Map<String, String> uploadZip(FileUpload uploadItem, String parentDir, String description) {
+		String unzipDir = getDir(parentDir);
+		try {
+			List<String> entries = FileUtils.unzip(uploadItem.getFile().getInputStream(), unzipDir);
+			if (!CollectionUtils.isEmpty(entries)) {
+				Map<String, String> fileMap = new HashMap<String, String>();
+				for (String entry : entries) {
+					fileMap.put(entry, unzipDir + File.separator + entry);
+				}
+				return fileMap;
 			}
+		} catch (IOException e) {
+
+		}
+		return null;
+	}
+
+	/**
+	 * 文件路径
+	 * 
+	 * @param parentDir
+	 * @return
+	 */
+	private String getDir(String parentDir) {
+		String path = BaseUtil.FILEPATH + "postattach";
+		File dir = new File(path);
+		if (!dir.isDirectory())
+			dir.mkdir();
+		path += File.separator + parentDir;
+		dir = new File(path);
+		if (!dir.isDirectory())
+			dir.mkdir();
+		if (SystemSession.getUser() != null) {
+			path += File.separator + SystemSession.getUser().getEnterprise();
+			dir = new File(path);
+			if (!dir.isDirectory())
+				dir.mkdir();
 		}
-		return path + File.separator + uuid + suffix;
+		return path;
 	}
 
 }

+ 3 - 8
src/main/java/com/uas/platform/b2b/service/impl/PurchaseForecastOrderServiceImpl.java

@@ -6,42 +6,37 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.uas.platform.b2b.dao.PurchaseForecastAllDao;
-import com.uas.platform.b2b.dao.PurchaseForecastAllItemDao;
 import com.uas.platform.b2b.model.PurchaseForecastAll;
-import com.uas.platform.b2b.model.PurchaseForecastAllItem;
-import com.uas.platform.b2b.model.PurchaseOrderItem;
 import com.uas.platform.b2b.service.PurchaseForecastOrderService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.model.Status;
+
 @Service
 public class PurchaseForecastOrderServiceImpl implements PurchaseForecastOrderService {
 
 	@Autowired
 	private PurchaseForecastAllDao purchaseForecastAllDao;
-	
+
 	@Override
 	public void save(List<PurchaseForecastAll> convertPurchase) {
-		// TODO Auto-generated method stub
 		purchaseForecastAllDao.save(convertPurchase);
 	}
 
 	@Override
 	public List<PurchaseForecastAll> findNotUploadOrder() {
-		// TODO Auto-generated method stub
 		return purchaseForecastAllDao.findByVendUUAndSendStatus(SystemSession.getUser().getEnterprise().getUu(),
 				(short) Status.NOT_UPLOAD.value());
 	}
 
 	@Override
 	public void onEndDownSuccess(String[] idArray) {
-		// TODO Auto-generated method stub
 		for (String id : idArray) {
 			PurchaseForecastAll orderItem = purchaseForecastAllDao.findOne(Long.parseLong(id));
 			if (orderItem != null) {
 				orderItem.setSendStatus((short) Status.DOWNLOADED.value());
 				purchaseForecastAllDao.save(orderItem);
 				// 明细结案情况下,明细状态为已回复(即不再处理),时同时修改主记录状态
-				//updateOrderStatus(orderItem.getOrder().getId());
+				// updateOrderStatus(orderItem.getOrder().getId());
 			}
 		}
 	}

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

@@ -15,12 +15,14 @@ import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import com.uas.platform.b2b.dao.PurchaseInquiryDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryItemDao;
 import com.uas.platform.b2b.dao.PurchaseInquiryReplyDao;
 import com.uas.platform.b2b.erp.model.QuotationDown;
 import com.uas.platform.b2b.erp.model.QuotationDownDetail;
+import com.uas.platform.b2b.model.Attach;
 import com.uas.platform.b2b.model.PurchaseInquiry;
 import com.uas.platform.b2b.model.PurchaseInquiryItem;
 import com.uas.platform.b2b.model.PurchaseInquiryReply;
@@ -261,4 +263,25 @@ public class PurchaseInquiryServiceImpl implements PurchaseInquiryService {
 		}
 		return null;
 	}
+
+	@Override
+	public void saveAttach(List<Attach> attachs) {
+		if (!CollectionUtils.isEmpty(attachs)) {
+			long enUU = SystemSession.getUser().getEnterprise().getUu();
+			for (Attach attach : attachs) {
+				List<PurchaseInquiry> inquiries = purchaseInquiryDao.findByEnUUAndSourceId(enUU, attach.getSourceId());
+				if (!CollectionUtils.isEmpty(inquiries)) {
+					PurchaseInquiry inquiry = inquiries.get(0);
+					String atId = inquiry.getAttach();
+					if (!StringUtils.hasText(atId))
+						atId = "";
+					else
+						atId += ",";
+					atId += attach.getId();
+					inquiry.setAttach(atId);
+					purchaseInquiryDao.save(inquiry);
+				}
+			}
+		}
+	}
 }