From f2d621fdddb88012fb9af1dbf29d0dab4c3f5fe8 Mon Sep 17 00:00:00 2001
From: mrzcc <121184950@qq.com>
Date: 星期四, 05 三月 2020 17:03:41 +0800
Subject: [PATCH] 优化采购申请

---
 Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java b/Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java
index 37258a9..4a76284 100644
--- a/Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java
+++ b/Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java
@@ -5,17 +5,20 @@
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
+import com.java110.dto.purchaseApply.PurchaseApplyDetailDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodePurchaseApplyConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.api.purchaseApply.ApiPurchaseApplyDataVo;
 import com.java110.vo.api.purchaseApply.ApiPurchaseApplyVo;
+import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -67,9 +70,39 @@
         int count = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplysCount(purchaseApplyDto);
 
         List<ApiPurchaseApplyDataVo> purchaseApplys = null;
-
         if (count > 0) {
             purchaseApplys = BeanConvertUtil.covertBeanList(purchaseApplyInnerServiceSMOImpl.queryPurchaseApplys(purchaseApplyDto), ApiPurchaseApplyDataVo.class);
+            List<String> orderIds = new ArrayList<>();
+            for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){
+                orderIds.add(apiPurchaseApplyDataVo.getApplyOrderId());
+            }
+            //鏄庣粏鍒楄〃
+            PurchaseApplyDetailDto purchaseApplyDetailDto = new PurchaseApplyDetailDto();
+            purchaseApplyDetailDto.setApplyOrderIds(orderIds);
+            List<PurchaseApplyDetailVo> purchaseApplyDetailVos = BeanConvertUtil.covertBeanList(purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyDetails(purchaseApplyDetailDto), PurchaseApplyDetailVo.class);
+
+            for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){
+                List<PurchaseApplyDetailVo> applyDetailList = new ArrayList<>();
+                for( PurchaseApplyDetailVo purchaseApplyDetailVo : purchaseApplyDetailVos){
+                    if(apiPurchaseApplyDataVo.getApplyOrderId().equals(purchaseApplyDetailVo.getApplyOrderId())){
+                        applyDetailList.add(purchaseApplyDetailVo);
+                    }
+                }
+                apiPurchaseApplyDataVo.setPurchaseApplyDetailVo(applyDetailList);
+            }
+            for( ApiPurchaseApplyDataVo apiPurchaseApplyDataVo : purchaseApplys){
+                List<PurchaseApplyDetailVo> applyDetailList = apiPurchaseApplyDataVo.getPurchaseApplyDetailVo();
+                StringBuffer resNames = new StringBuffer();
+                BigDecimal totalPrice = new BigDecimal(0);
+                for( PurchaseApplyDetailVo purchaseApplyDetailVo : purchaseApplyDetailVos){
+                    resNames.append(purchaseApplyDetailVo.getResName()+";");
+                    BigDecimal price = new BigDecimal(purchaseApplyDetailVo.getPrice());
+                    BigDecimal quantity = new BigDecimal(purchaseApplyDetailVo.getQuantity());
+                    totalPrice = totalPrice.add(price.multiply(quantity));
+                }
+                apiPurchaseApplyDataVo.setResourceNames(resNames.toString());
+                apiPurchaseApplyDataVo.setTotalPrice(totalPrice.toString());
+            }
         } else {
             purchaseApplys = new ArrayList<>();
         }

--
Gitblit v1.8.0