Kaynağa Gözat

优化采购申请

mrzcc 6 yıl önce
ebeveyn
işleme
f2d621fddd

+ 34 - 1
Api/src/main/java/com/java110/api/listener/purchaseApply/ListPurchaseApplysListener.java

@@ -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<>();
         }

+ 2 - 3
Api/src/main/java/com/java110/api/listener/purchaseApply/SavePurchaseApplyListener.java

@@ -23,9 +23,8 @@ import org.springframework.http.ResponseEntity;
 public class SavePurchaseApplyListener extends AbstractServiceApiListener {
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
-        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
-
-        Assert.hasKeyAndValue(reqJson, "state", "必填,请填订单状态");
+        Assert.hasKeyAndValue(reqJson, "resourceStores", "必填,请填写申请采购的物资");
+        Assert.hasKeyAndValue(reqJson, "description", "必填,请填写采购申请说明");
 
     }