Browse Source

消息接收人增加供应商联系人;打印日志上传根据单据所属企业uu获取。

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@10652 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
dongbw 8 years ago
parent
commit
63aa2baaab

+ 2 - 2
src/main/java/com/uas/platform/b2b/dao/PrintLogDao.java

@@ -9,7 +9,7 @@ import java.util.List;
 @Repository
 public interface PrintLogDao extends JpaRepository<PrintLog, Long> {
 
-    List<PrintLog> findByStatusAndTable(short status, String tableName);
-
     List<PrintLog> findByStatusAndCode(short status, String code);
+
+    List<PrintLog> findByEnUUAndStatusAndTable(Long uu, short no, String purc$orders);
 }

+ 11 - 2
src/main/java/com/uas/platform/b2b/listener/MessageListener.java

@@ -50,8 +50,11 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
 		Set<Long> userUUs = new HashSet<>(); // 存储需要接收消息的用户UU
 		List<PagingReleaseDetail> otherReleaseDetails = new ArrayList<>(); // 用来保存单据新增的其他消息
 		for (PagingReleaseDetail detail : pagingReleaseDetails) {
-			// 先将产生的一条记录加入保存列表
-			otherReleaseDetails.add(detail);
+			// 先将产生的一条记录加入保存列表,去掉用1补充空值的情况
+			if (detail.getVendUserUU() != 1 &&!userUUs.contains(detail.getVendUserUU())) {
+				otherReleaseDetails.add(detail);
+				userUUs.add(detail.getVendUserUU());
+			}
 			PagingRelease release = detail.getPagingRelease();
 			if (null != detail.getVendUU() && null != release.getEnUU()) {
 				// 添加管理员
@@ -67,8 +70,14 @@ public class MessageListener implements ApplicationListener<SaveReleaseEvent<?,
 				List<Vendor> vendors;
 				if (release.getToVendor() == Constant.YES) { // 消息接收方为供应商,查找供应商表方式不同
 					vendors = vendorDao.findByMyEnUUAndVendUU(release.getEnUU(), detail.getVendUU());
+					if (!CollectionUtils.isEmpty(vendors) && !userUUs.contains(vendors.get(0).getVendUserUU())) {
+						userUUs.add(vendors.get(0).getVendUserUU());
+					}
 				} else { // 消息接收方为客户,查找供应商表方式不同
 					vendors = vendorDao.findByMyEnUUAndVendUU(detail.getVendUU(), release.getEnUU());
+					if (!CollectionUtils.isEmpty(vendors) && !userUUs.contains(vendors.get(0).getMyUserUU())) {
+						userUUs.add(vendors.get(0).getMyUserUU());
+					}
 				}
 				// 查找有权限的用户
 				if (!CollectionUtils.isEmpty(vendors)) {

+ 31 - 1
src/main/java/com/uas/platform/b2b/model/PrintLog.java

@@ -71,6 +71,18 @@ public class PrintLog implements Serializable{
     @Column(name = "pl_status")
     private Short status;
 
+    /**
+     * 打印单据所属企业uu
+     */
+    @Column(name = "pl_enuu")
+    private Long enUU;
+
+    /**
+     * 打印用户uu
+     */
+    @Column(name = "pl_useruu")
+    private Long userUU;
+
     public Long getId() {
         return id;
     }
@@ -143,12 +155,30 @@ public class PrintLog implements Serializable{
         this.erpId = erpId;
     }
 
+    public Long getEnUU() {
+        return enUU;
+    }
+
+    public void setEnUU(Long enUU) {
+        this.enUU = enUU;
+    }
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
     public PrintLog() {
     }
 
-    public PrintLog(Date date, String user, String type, Long foreign, String table, String code, Long erpId, Short status) {
+    public PrintLog(Date date, String user, Long userUU, Long enUU, String type, Long foreign, String table, String code, Long erpId, Short status) {
         this.date = date;
         this.user = user;
+        this.userUU = userUU;
+        this.enUU = enUU;
         this.type = type;
         this.foreign = foreign;
         this.table = table;

+ 15 - 27
src/main/java/com/uas/platform/b2b/service/impl/PurchaseOrderServiceImpl.java

@@ -1,35 +1,12 @@
 package com.uas.platform.b2b.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.JoinType;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import javax.persistence.criteria.SetJoin;
-
-import com.uas.platform.b2b.dao.*;
-import com.uas.platform.b2b.model.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.jpa.domain.Specification;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.core.util.ThreadTask;
+import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.event.PurchaseOrderEndReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseOrderReplyReleaseEvent;
 import com.uas.platform.b2b.event.PurchaseOrderSaveReleaseEvent;
+import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseOrderService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -44,6 +21,17 @@ import com.uas.platform.core.util.NumberUtil;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.PageParams;
 import com.uas.search.b2b.model.SPage;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import javax.persistence.criteria.*;
+import java.util.*;
 
 @Service
 @Transactional
@@ -794,7 +782,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 		PurchaseOrderAll order = purchaseOrderAllDao.findOne(id);
 		if (order != null) {
 			order.setPrint((short) ((order.getPrint() == null ? 0 : order.getPrint()) + 1));
-			PrintLog printLog = new PrintLog(new Date(), SystemSession.getUser().getUserName(), "平台客户打印采购单", order.getId(), "purc$orders", order.getCode(), order.getErpId(), Constant.NO);
+			PrintLog printLog = new PrintLog(new Date(), SystemSession.getUser().getUserName(), SystemSession.getUser().getUserUU(), order.getEnUU(), "平台客户打印采购单", order.getId(), "purc$orders", order.getCode(), order.getErpId(), Constant.NO);
 			printLogDao.save(printLog);
 		}
 		purchaseOrderAllDao.save(order);
@@ -831,7 +819,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
 
 	@Override
 	public List<PrintLog> findPrintNotUploadReply() {
-		return printLogDao.findByStatusAndTable(Constant.NO,"purc$orders");
+		return printLogDao.findByEnUUAndStatusAndTable(SystemSession.getUser().getEnterprise().getUu(), Constant.NO,"purc$orders");
 	}
 
 	@Override