Browse Source

Merge remote-tracking branch 'origin/dev' into dev

纪新园 3 years ago
parent
commit
6c844c204a

+ 10 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IStorageClient.java

@@ -29,10 +29,20 @@ public interface IStorageClient {
 	String GET_STORAGE_TYPE = API_PREFIX + "/getStorageType";
 	String GET_STORAGE_TYPE_ALL = API_PREFIX + "/selectStorageTypeAll";
 	String GET_STORAGE_DESC_ALL = API_PREFIX + "/selectStorageDescAll";
+	String STORAGE_BY_IDS = API_PREFIX + "/selectStorageIds";
 
     @GetMapping(FIND_BY_ID)
 	StorageDesc findById(@RequestParam(value = "id",required = true) Long id);
 
+	/**
+	 * 根据仓库ids获得仓库信息
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@GetMapping(STORAGE_BY_IDS)
+	List<StorageDesc> selectStorageIds(@RequestParam("ids") String ids);
+
 	@GetMapping(GET_STORAGE_TYPE)
 	StorageType getStorageType(@RequestParam(value = "id",required = true) Long id);
 

+ 8 - 0
blade-service/blade-client/src/main/java/org/springblade/client/serial/mapper/StorageDescMapper.java

@@ -64,4 +64,12 @@ public interface StorageDescMapper extends BaseMapper<StorageDesc> {
 	 * @return
 	 */
 	List<Map<String,Object>> getStorageMessage(@Param("id") Long id);
+
+	/**
+	 * 根据仓库ids获得仓库信息
+	 *
+	 * @param ids
+	 * @return
+	 */
+	List<StorageDesc> selectStorageIds(@Param("ids") List<Long> ids);
 }

+ 10 - 1
blade-service/blade-client/src/main/java/org/springblade/client/serial/mapper/StorageDescMapper.xml

@@ -98,5 +98,14 @@
     <select id="getStorageMessage" resultType="java.util.Map">
         select id,cname from basic_storage_desc where id = #{id}
     </select>
-
+    <select id="selectStorageIds" resultMap="storageDescResultMap">
+        select
+        *
+        from basic_storage_desc
+        where is_deleted = 0
+        and id in
+        <foreach item="id" collection="ids" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>

+ 8 - 0
blade-service/blade-client/src/main/java/org/springblade/client/serial/service/IStorageDescService.java

@@ -75,4 +75,12 @@ public interface IStorageDescService extends IService<StorageDesc> {
 	 * @return
 	 */
 	List<Map<String,Object>> getStorageMessage(Long id);
+
+	/**
+	 * 根据仓库ids获得仓库信息
+	 *
+	 * @param ids
+	 * @return
+	 */
+	List<StorageDesc> selectStorageIds(String ids);
 }

+ 13 - 4
blade-service/blade-client/src/main/java/org/springblade/client/serial/service/impl/StorageDescServiceImpl.java

@@ -30,10 +30,8 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 库区表 服务实现类
@@ -125,4 +123,15 @@ public class StorageDescServiceImpl extends ServiceImpl<StorageDescMapper, Stora
 		return baseMapper.getStorageMessage(id);
 	}
 
+	@Override
+	public List<StorageDesc> selectStorageIds(String ids){
+		if (ids == null || ids.equals("")){
+			return new ArrayList<>();
+		}
+		List<Long> collect = Arrays.stream(ids.split(","))
+			.map(s -> Long.parseLong(s.trim()))
+			.collect(Collectors.toList());
+		return baseMapper.selectStorageIds(collect);
+	}
+
 }

+ 12 - 0
blade-service/blade-client/src/main/java/org/springblade/client/storage/feign/StorageClient.java

@@ -46,6 +46,18 @@ public class StorageClient implements IStorageClient {
 		return  storageDescService.getById(id);
 	}
 
+	/**
+	 * 根据仓库ids获得仓库信息
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@Override
+	@GetMapping(STORAGE_BY_IDS)
+	public List<StorageDesc> selectStorageIds(String ids){
+		return storageDescService.selectStorageIds(ids);
+	}
+
 	@Override
 	public StorageType getStorageType(Long id) {
 		return storageTypeService.getOne(new QueryWrapper<StorageType>().eq("id",id).eq("tenant_id", SecureUtil.getTenantId()).eq("is_deleted",0));

+ 59 - 23
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/AllotController.java

@@ -20,6 +20,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.enums.DeliveryEnum;
 import org.springblade.deliver.goods.enums.DeliveryStatusEnum;
@@ -28,6 +29,7 @@ import org.springblade.deliver.goods.service.IDeliveryFilesService;
 import org.springblade.deliver.goods.service.IDeliveryItemsService;
 import org.springblade.deliver.goods.service.IDeliveryService;
 import org.springblade.deliver.goods.vo.DeliveryVO;
+import org.springblade.purchase.sales.entity.Order;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -94,42 +96,76 @@ public class AllotController extends BladeController {
 		lambdaQueryWrapper.orderByDesc(Delivery::getId);
 		IPage<Delivery> pages = deliveryService.page(Condition.getPage(query), lambdaQueryWrapper);
 		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+
+			String corpIds = "";//客户拼接
+			String salesCompanyIds = "";//销售公司
+			String createUserIds = "";//创建人
+			String updateUserIds = "";//修改人
+			String storageIds = "";//仓库
+			String allotStorageIds = "";//调拨仓库
+
+			for (Delivery deliverys : pages.getRecords()){
+				if (ObjectUtil.isNotEmpty(deliverys.getCorpId())){
+					corpIds = corpIds + deliverys.getCorpId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(deliverys.getCorpId())){
+					salesCompanyIds = salesCompanyIds + deliverys.getSalesCompany() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(deliverys.getCreateUser())){
+					createUserIds = createUserIds + deliverys.getCreateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(deliverys.getUpdateUser())){
+					updateUserIds = updateUserIds + deliverys.getUpdateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(deliverys.getStorageId())){
+					storageIds = storageIds + deliverys.getStorageId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(deliverys.getStorageId())){
+					allotStorageIds = allotStorageIds + deliverys.getAllotStorageId() + ",";
+				}
+			}
+
+			List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
+			List<CorpsDesc> salesCompanyList = corpsDescClient.selectByCorpIds(salesCompanyIds);
+			List<User> createUserList = iUserClient.selectUserIds(createUserIds);
+			List<User> updateUserList = iUserClient.selectUserIds(updateUserIds);
+			List<StorageDesc> storageList = iStorageClient.selectStorageIds(storageIds);
+			List<StorageDesc> allotStorageList = iStorageClient.selectStorageIds(allotStorageIds);
+
 			pages.getRecords().forEach(item ->{
-				if (item.getCorpId() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setCorpsName(corpMessage.getData().getCname());
+				if (item.getCorpId() != null) {
+					if (ObjectUtil.isNotEmpty(corpList)) {
+						item.setCorpsName(corpList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getSalesCompany() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getSalesCompany());
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setSalesCompanyName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(salesCompanyList)) {
+						item.setSalesCompanyName(salesCompanyList.stream().filter(e -> e.getId().equals(item.getSalesCompany())).findFirst().get().getCname());
 					}
 				}
-				R<User> user = iUserClient.userInfoById(item.getCreateUser());
-				if (user.isSuccess() && user.getData() != null){
-					item.setCreateUserName(user.getData().getName());
+				//制单人名字
+				if(item.getCreateUser()!=null)
+				{
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getRealName());
+					}
 				}
-
-				R<User> user1 = iUserClient.userInfoById(item.getUpdateUser());
-				if (user1.isSuccess() && user1.getData() != null){
-					item.setCreateUserName(user1.getData().getName());
+				//修改制单人名字
+				if(item.getUpdateUser()!=null)
+				{
+					if (ObjectUtil.isNotEmpty(updateUserList)) {
+						item.setUpdateUserName(updateUserList.stream().filter(e -> e.getId().equals(item.getUpdateUser())).findFirst().get().getRealName());
+					}
 				}
-				//仓库信息
 				if (item.getStorageId() != null){
-					StorageDesc storageDesc = iStorageClient.findById(item.getStorageId());
-					if(storageDesc!=null)
-					{
-						item.setStorageName(storageDesc.getCname());
+					if (ObjectUtil.isNotEmpty(storageList)){
+						item.setStorageName((storageList.stream().filter(e -> e.getId().equals(item.getStorageId()))).findFirst().get().getCname());
 					}
 				}
 				//调拨仓库信息
 				if (item.getAllotStorageId() != null){
-					StorageDesc allotStorageId = iStorageClient.findById(item.getAllotStorageId());
-					if(allotStorageId!=null)
-					{
-						item.setAllotStorageName(allotStorageId.getCname());
+					if (ObjectUtil.isNotEmpty(allotStorageList)){
+						item.setAllotStorageName((allotStorageList.stream().filter(e -> e.getId().equals(item.getAllotStorageId()))).findFirst().get().getCname());
 					}
 				}
 				if (item.getTradeType().equals(OrderTypeEnum.DEALER.getType())){

+ 47 - 16
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/dealer/DealerOrderController.java

@@ -45,6 +45,7 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.feign.IDeliveryClient;
@@ -167,35 +168,65 @@ public class DealerOrderController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(order.getOrderRemark()), Order::getOrderRemark, order.getOrderRemark());//备注
 		lambdaQueryWrapper.orderByDesc(Order::getId);
 		IPage<Order> page = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
+
+		String corpIds = "";//客户拼接
+		String belongToCorpIds = "";//销售公司
+		String productionPlantIds = "";//生产工厂
+		String createUserIds = "";//创建人
+		String storageIds = "";//仓库
+
+		for (Order orders : page.getRecords()){
+			if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+				corpIds = corpIds + orders.getCorpId() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+				belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+				productionPlantIds = productionPlantIds + orders.getProductionPlant() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
+				createUserIds = createUserIds + orders.getCreateUser() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getStorageId())){
+				storageIds = storageIds + orders.getStorageId() + ",";
+			}
+		}
+
+		List<CorpsDesc> corpsDescList = corpsDescClient.selectByCorpIds(corpIds);
+		List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
+		List<CorpsDesc> productionPlantList = corpsDescClient.selectByCorpIds(productionPlantIds);
+		List<User> createUserList = userClient.selectUserIds(createUserIds);
+		List<StorageDesc> storageList = iStorageClient.selectStorageIds(storageIds);
+
 		if (CollectionUtils.isNotEmpty(page.getRecords())) {
 			page.getRecords().stream().forEach(item -> {
 				if (item.getCorpId() != null) {
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());//客户
-					if (corpMessage.isSuccess() && corpMessage.getData() != null) {
-						item.setCorpsName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(corpsDescList)) {
+						item.setCorpsName(corpsDescList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getBelongToCorpId() != null) {
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getBelongToCorpId());//销售公司
-					if (corpMessage.isSuccess() && corpMessage.getData() != null) {
-						item.setBelongToCorpName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(belongToCorpList)) {
+						item.setBelongToCorpName(belongToCorpList.stream().filter(e -> e.getId().equals(item.getBelongToCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getProductionPlant() != null) {
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getProductionPlant());//销售公司
-					if (corpMessage.isSuccess() && corpMessage.getData() != null) {
-						item.setProductionPlantName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(productionPlantList)) {
+						item.setProductionPlantName(productionPlantList.stream().filter(e -> e.getId().equals(item.getProductionPlant())).findFirst().get().getCname());
 					}
 				}
-				R<User> user = userClient.userInfoById(item.getCreateUser());//制单人
-				if (user.isSuccess() && user.getData() != null) {
-					item.setCreateUserName(user.getData().getName());
+				//制单人
+				if (item.getCreateUser() != null){
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getName());
+					}
 				}
 				//仓库信息
-				StorageDesc storageDesc = iStorageClient.findById(item.getStorageId());
-				if(storageDesc!=null)
-				{
-					item.setStorageName(storageDesc.getCname());
+				if (item.getStorageId() != null){
+					if (ObjectUtil.isNotEmpty(storageList)){
+						item.setStorageName((storageList.stream().filter(e -> e.getId().equals(item.getStorageId()))).findFirst().get().getCname());
+					}
 				}
 				//获取订单明细
 				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));

+ 30 - 9
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportEnquiryController.java

@@ -21,6 +21,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.purchase.sales.entity.Order;
 import org.springblade.purchase.sales.entity.OrderItems;
 import org.springblade.purchase.sales.excel.EnquiryExcel;
@@ -124,22 +125,42 @@ public class ExportEnquiryController extends BladeController {
 		lambdaQueryWrapper.orderByDesc(Order::getId);
 		IPage<Order> page = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
 		if (CollectionUtils.isNotEmpty(page.getRecords())){
+
+			String corpIds = "";//客户
+			String belongToCorpIds = "";//所属公司
+			String createUserIds = "";//制单人
+			for (Order orders : page.getRecords()){
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
+					createUserIds = createUserIds + orders.getCreateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					corpIds = corpIds + orders.getCorpId() + ",";
+				}
+			}
+			List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
+			List<User> createUserList = userClient.selectUserIds(createUserIds);
+			List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
+
 			page.getRecords().stream().forEach(item ->{
 				if (item.getCorpId() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());//客户
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setCorpsName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(corpList)) {
+						item.setCorpsName(corpList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getBelongToCorpId() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getBelongToCorpId());//销售公司
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setBelongToCorpName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(belongToCorpList)) {
+						item.setBelongToCorpName(belongToCorpList.stream().filter(e -> e.getId().equals(item.getBelongToCorpId())).findFirst().get().getCname());
 					}
 				}
-				R<User> user = userClient.userInfoById(item.getCreateUser());//制单人
-				if (user.isSuccess() && user.getData() != null){
-					item.setCreateUserName(user.getData().getName());
+				//制单人名字
+				if(item.getCreateUser()!=null)
+				{
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getRealName());
+					}
 				}
 				//获取订单明细
 				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));

+ 31 - 9
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -14,6 +14,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.StorageDesc;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
@@ -22,6 +23,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.feign.IDeliveryClient;
 import org.springblade.finance.feign.IFinanceClient;
@@ -131,22 +133,42 @@ public class ExportOrderController extends BladeController {
 		lambdaQueryWrapper.orderByDesc(Order::getId);
 		IPage<Order> page = orderService.page(Condition.getPage(query), lambdaQueryWrapper);
 		if (CollectionUtils.isNotEmpty(page.getRecords())){
+
+			String corpIds = "";//客户
+			String belongToCorpIds = "";//所属公司
+			String createUserIds = "";//制单人
+			for (Order orders : page.getRecords()){
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
+					createUserIds = createUserIds + orders.getCreateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					corpIds = corpIds + orders.getCorpId() + ",";
+				}
+			}
+			List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
+			List<User> createUserList = userClient.selectUserIds(createUserIds);
+			List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
+
 			page.getRecords().stream().forEach(item ->{
 				if (item.getCorpId() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());//客户
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setCorpsName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(corpList)) {
+						item.setCorpsName(corpList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
 					}
 				}
 				if (item.getBelongToCorpId() != null){
-					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getBelongToCorpId());//销售公司
-					if (corpMessage.isSuccess() && corpMessage.getData() != null){
-						item.setBelongToCorpName(corpMessage.getData().getCname());
+					if (ObjectUtil.isNotEmpty(belongToCorpList)) {
+						item.setBelongToCorpName(belongToCorpList.stream().filter(e -> e.getId().equals(item.getBelongToCorpId())).findFirst().get().getCname());
 					}
 				}
-				R<User> user = userClient.userInfoById(item.getCreateUser());//制单人
-				if (user.isSuccess() && user.getData() != null){
-					item.setCreateUserName(user.getData().getName());
+				//制单人名字
+				if(item.getCreateUser()!=null)
+				{
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						item.setCreateUserName(createUserList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().get().getRealName());
+					}
 				}
 				//获取订单明细
 				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));

+ 50 - 26
blade-service/trade-purchase/src/main/java/com/trade/purchase/dealer/PurchaseContract.java

@@ -31,6 +31,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -212,58 +213,81 @@ public class PurchaseContract extends BladeController {
 		List<Order> records = pages.getRecords();
 		if(CollectionUtils.isNotEmpty(records))
 		{
+			String belongToCorpIds = "";//所属公司
+			String createUserIds = "";//制单人
+			String updateUserIds = "";//修改人
+			String corpIds = "";//供应商
+			String purchaserIds = "";//采购商
+			String storageIds = "";//仓库
+
+			for (Order orders : records){
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
+					createUserIds = createUserIds + orders.getCreateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getUpdateUser())){
+					updateUserIds = updateUserIds + orders.getUpdateUser() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+					corpIds = corpIds + orders.getCorpId() + ",";
+				}
+				if (ObjectUtil.isNotEmpty(orders.getPurchaserId())){
+					purchaserIds = purchaserIds + orders.getPurchaserId();
+				}
+				if (ObjectUtil.isNotEmpty(orders.getStorageId())){
+					storageIds = storageIds + orders.getStorageId() + ",";
+				}
+			}
+			List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
+			List<User> createUserList = userClient.selectUserIds(createUserIds);
+			List<User> updateUserList = userClient.selectUserIds(updateUserIds);
+			List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
+			List<CorpsDesc> purchaserList = corpsDescClient.selectByCorpIds(purchaserIds);
+			List<StorageDesc> storageList = iStorageClient.selectStorageIds(storageIds);
+
 			records.forEach(e->{
 				if(e.getBelongToCorpId()!=null)
 				{
-					R<CorpsDesc> corpMessage3 = corpsDescClient.getCorpMessage(e.getBelongToCorpId());
-					if(corpMessage3.getData()!=null)
-					{
-						e.setBelongToCorpName(corpMessage3.getData().getCname());
+					if (ObjectUtil.isNotEmpty(belongToCorpList)) {
+						e.setBelongToCorpName(belongToCorpList.stream().filter(d -> d.getId().equals(e.getBelongToCorpId())).findFirst().get().getCname());
 					}
 				}
 
 				//制单人名字
 				if(e.getCreateUser()!=null)
 				{
-					R<User> userR = userClient.userInfoById(e.getCreateUser());
-					if(userR.isSuccess())
-					{
-						e.setCreateUserName(userR.getData().getRealName());
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						e.setCreateUserName(createUserList.stream().filter(d -> d.getId().equals(e.getCreateUser())).findFirst().get().getRealName());
 					}
 				}
 
-				//修改制单人名字
+				//修改人名字
 				if(e.getUpdateUser()!=null)
 				{
-					R<User> userR = userClient.userInfoById(e.getUpdateUser());
-					if(userR.isSuccess())
-					{
-						e.setUpdateUserName(userR.getData().getRealName());
+					if (ObjectUtil.isNotEmpty(updateUserList)) {
+						e.setUpdateUserName(updateUserList.stream().filter(d -> d.getId().equals(e.getUpdateUser())).findFirst().get().getRealName());
 					}
 				}
 
 				//获取供应商中文名
 				if (e.getCorpId() != null){
-					R<CorpsDesc> corpMessage1 = corpsDescClient.getCorpMessage(e.getCorpId());
-					if(corpMessage1.getData()!=null)
-					{
-						e.setStrCorpName(corpMessage1.getData().getCname());
+					if (ObjectUtil.isNotEmpty(corpList)) {
+						e.setStrCorpName(corpList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().get().getCname());
 					}
-
 				}
 				//获取采购商中文名
 				if (e.getPurchaserId() != null){
-					R<CorpsDesc> corpMessage2 = corpsDescClient.getCorpMessage(e.getPurchaserId());
-					if(corpMessage2.getData()!=null)
-					{
-						e.setStrPurchaserName(corpMessage2.getData().getCname());
+					if (ObjectUtil.isNotEmpty(purchaserList)) {
+						e.setStrPurchaserName(purchaserList.stream().filter(d -> d.getId().equals(e.getPurchaserId())).findFirst().get().getCname());
 					}
 				}
 				//仓库信息
-				StorageDesc storageDesc = iStorageClient.findById(e.getStorageId());
-				if(storageDesc!=null)
-				{
-					e.setStorageName(storageDesc.getCname());
+				if (e.getStorageId() != null){
+					if (ObjectUtil.isNotEmpty(storageList)){
+						e.setStorageName((storageList.stream().filter(d -> d.getId().equals(e.getStorageId()))).findFirst().get().getCname());
+					}
 				}
 
 				List<OrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<OrderItems>().eq(OrderItems::getIsDeleted, 0).eq(OrderItems::getPid, e.getId()));

+ 51 - 25
blade-service/trade-purchase/src/main/java/com/trade/purchase/dealer/PurchaseDealerOrderController.java

@@ -34,6 +34,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
@@ -216,60 +217,85 @@ public class PurchaseDealerOrderController extends BladeController {
 		Page<Order> page=new Page<>(current,size);
 		IPage<Order> pages = orderService.page(page,queryWrapper);
 		List<Order> records = pages.getRecords();
+
+		String belongToCorpIds = "";//所属公司
+		String createUserIds = "";//制单人
+		String updateUserIds = "";//修改人
+		String corpIds = "";//供应商
+		String purchaserIds = "";//采购商
+		String storageIds = "";//仓库
+
+		for (Order orders : records){
+			if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+				belongToCorpIds = belongToCorpIds + orders.getBelongToCorpId() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getCreateUser())){
+				createUserIds = createUserIds + orders.getCreateUser() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getUpdateUser())){
+				updateUserIds = updateUserIds + orders.getUpdateUser() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getCorpId())){
+				corpIds = corpIds + orders.getCorpId() + ",";
+			}
+			if (ObjectUtil.isNotEmpty(orders.getPurchaserId())){
+				purchaserIds = purchaserIds + orders.getPurchaserId();
+			}
+			if (ObjectUtil.isNotEmpty(orders.getStorageId())){
+				storageIds = storageIds + orders.getStorageId() + ",";
+			}
+		}
+
+		List<CorpsDesc> belongToCorpList = corpsDescClient.selectByCorpIds(belongToCorpIds);
+		List<User> createUserList = userClient.selectUserIds(createUserIds);
+		List<User> updateUserList = userClient.selectUserIds(updateUserIds);
+		List<CorpsDesc> corpList = corpsDescClient.selectByCorpIds(corpIds);
+		List<CorpsDesc> purchaserList = corpsDescClient.selectByCorpIds(purchaserIds);
+		List<StorageDesc> storageList = iStorageClient.selectStorageIds(storageIds);
+
 		if(CollectionUtils.isNotEmpty(records))
 		{
 			records.forEach(e->{
 				if(e.getBelongToCorpId()!=null)
 				{
-					R<CorpsDesc> corpMessage3 = corpsDescClient.getCorpMessage(e.getBelongToCorpId());
-					if(corpMessage3.getData()!=null)
-					{
-						e.setBelongToCorpName(corpMessage3.getData().getCname());
+					if (ObjectUtil.isNotEmpty(belongToCorpList)) {
+						e.setBelongToCorpName(belongToCorpList.stream().filter(d -> d.getId().equals(e.getBelongToCorpId())).findFirst().get().getCname());
 					}
 				}
 
 				//制单人名字
 				if(e.getCreateUser()!=null)
 				{
-					R<User> userR = userClient.userInfoById(e.getCreateUser());
-					if(userR.isSuccess())
-					{
-						e.setCreateUserName(userR.getData().getRealName());
+					if (ObjectUtil.isNotEmpty(createUserList)) {
+						e.setCreateUserName(createUserList.stream().filter(d -> d.getId().equals(e.getCreateUser())).findFirst().get().getRealName());
 					}
 				}
 
 				//修改制单人名字
 				if(e.getUpdateUser()!=null)
 				{
-					R<User> userR = userClient.userInfoById(e.getUpdateUser());
-					if(userR.isSuccess())
-					{
-						e.setUpdateUserName(userR.getData().getRealName());
+					if (ObjectUtil.isNotEmpty(updateUserList)) {
+						e.setUpdateUserName(updateUserList.stream().filter(d -> d.getId().equals(e.getUpdateUser())).findFirst().get().getRealName());
 					}
 				}
 
 				//获取供应商中文名
 				if (e.getCorpId() != null){
-					R<CorpsDesc> corpMessage1 = corpsDescClient.getCorpMessage(e.getCorpId());
-					if(corpMessage1.getData()!=null)
-					{
-                       e.setStrCorpName(corpMessage1.getData().getCname());
+					if (ObjectUtil.isNotEmpty(corpList)) {
+						e.setStrCorpName(corpList.stream().filter(d -> d.getId().equals(e.getCorpId())).findFirst().get().getCname());
 					}
-
 				}
 				//获取采购商中文名
 				if (e.getPurchaserId() != null){
-					R<CorpsDesc> corpMessage2 = corpsDescClient.getCorpMessage(e.getPurchaserId());
-					if(corpMessage2.getData()!=null)
-					{
-						e.setStrPurchaserName(corpMessage2.getData().getCname());
+					if (ObjectUtil.isNotEmpty(purchaserList)) {
+						e.setStrPurchaserName(purchaserList.stream().filter(d -> d.getId().equals(e.getPurchaserId())).findFirst().get().getCname());
 					}
 				}
 				//仓库信息
-				StorageDesc storageDesc = iStorageClient.findById(e.getStorageId());
-				if(storageDesc!=null)
-				{
-					e.setStorageName(storageDesc.getCname());
+				if (e.getStorageId() != null){
+					if (ObjectUtil.isNotEmpty(storageList)){
+						e.setStorageName((storageList.stream().filter(d -> d.getId().equals(e.getStorageId()))).findFirst().get().getCname());
+					}
 				}
 
 				List<OrderItems> orderItemsList = orderItemsService.list(new LambdaQueryWrapper<OrderItems>().eq(OrderItems::getIsDeleted, 0).eq(OrderItems::getPid, e.getId()));