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