|
|
@@ -5,17 +5,20 @@ import com.java110.api.listener.AbstractServiceApiListener;
|
|
|
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 @@ public class ListPurchaseApplysListener extends AbstractServiceApiListener {
|
|
|
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<>();
|
|
|
}
|