Ver Fonte

新增当前企业供应商分配转移情况信息

hejq há 7 anos atrás
pai
commit
533fb345d0

+ 14 - 0
src/main/java/com/uas/platform/b2b/controller/VendorController.java

@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
@@ -293,4 +294,17 @@ public class VendorController {
         LOGGER.log("供应商权限", "转移权限", "供应商UU: " + vendorUU + "结果: 绑定" + resultInfo);
         return new ResultMap(result ? ResultCode.OK.code() : ResultCode.ERROR.code());
     }
+
+    /**
+     * 通过供应商UU查询分配的用户
+     *
+     * @param id 供应商客户关系id
+     * @return
+     */
+    @RequestMapping(value = "/distribute/{id}", method = RequestMethod.POST)
+    @ResponseBody
+    public List<User> getUsersAndDistribute(@PathVariable("id") Long id) {
+        LOGGER.log("用户信息", "查询[" + id +"]供应商分配信息");
+        return vendorService.findUserInfoVendDistribute(id);
+    }
 }

+ 3 - 2
src/main/java/com/uas/platform/b2b/model/Vendor.java

@@ -24,6 +24,7 @@ import javax.persistence.Table;
 import javax.persistence.Transient;
 import java.io.*;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.Set;
 
 /**
@@ -185,13 +186,13 @@ public class Vendor implements Serializable {
      * (针对买家、客户)采购联系人
      */
 	@Transient
-    private Set<String> purchaseContacts;
+    private Set<String> purchaseContacts = new HashSet<>();
 
     /**
      * (针对卖家、供应商) 业务对接人
      */
 	@Transient
-    private Set<String> saleContacts;
+    private Set<String> saleContacts = new HashSet<>();
 
 	public Long getId() {
 		return id;

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

@@ -199,4 +199,12 @@ public interface VendorService {
      * @param idList 供应商关系表id
      */
     void setSaleContacts(List<Vendor> vendorList, List<Long> idList);
+
+    /**
+     * 通过供应商UU查询供应商分配信息
+     *
+     * @param vendUU 供应商UU
+     * @return 分配的供应商
+     */
+    List<User> findUserInfoVendDistribute(Long vendUU);
 }

+ 24 - 1
src/main/java/com/uas/platform/b2b/service/impl/VendorsServiceImpl.java

@@ -40,6 +40,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Root;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -483,7 +484,6 @@ public class VendorsServiceImpl implements VendorService {
             vendorList.forEach(vendor -> {
                 Set<String> contacts = new HashSet<>();
                 // 使用后移除,减少后面循环次数
-                // 使用后移除,减少后面循环次数
                 Iterator<VendorDistribute> iterator = distributeListCopy.iterator();
                 while (iterator.hasNext()) {
                     VendorDistribute distribute = iterator.next();
@@ -595,4 +595,27 @@ public class VendorsServiceImpl implements VendorService {
         }
         return deleteList;
     }
+
+    /**
+     * 通过供应商UU查询供应商分配信息
+     *
+     * @param veId 供应商客户关系表id
+     * @return 分配的供应商
+     */
+    @Override
+    public List<User> findUserInfoVendDistribute(Long veId) {
+        List<VendorDistribute> distributes = vendorDistributeDao.findByVendorId(Arrays.asList(veId));
+        List<User> users = userService.findUsersByEnUU(SystemSession.getUser().getEnterprise().getUu());
+        users.forEach(user -> {
+            distributes.forEach(distribute -> {
+                if (user.getUserUU().equals(distribute.getUserUU())) {
+                    user.setDistribute(true);
+                    if (null != distribute.getIsTransfer() && Constant.YES == distribute.getIsTransfer()) {
+                        user.setTransfer(true);
+                    }
+                }
+            });
+        });
+        return users;
+    }
 }