From 634cea842c9a4f2ef1bddde07d7b5a334f0117de Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 10 十二月 2020 11:02:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/xinghong-dev'

---
 service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java |   74 +++++++++++++++++++++++++++++++++----
 1 files changed, 66 insertions(+), 8 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java b/service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
index 0925ca1..f18869e 100644
--- a/service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/smo/impl/PurchaseApplyInnerServiceSMOImpl.java
@@ -2,21 +2,25 @@
 
 
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
-import com.java110.core.smo.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
-import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDetailDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.user.UserDto;
+import com.java110.intf.store.IPurchaseApplyInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.purchase.PurchaseApplyDetailPo;
+import com.java110.po.purchase.PurchaseApplyPo;
 import com.java110.store.dao.IPurchaseApplyServiceDao;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.purchaseApply.PurchaseApplyDetailVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -36,7 +40,27 @@
     private IUserInnerServiceSMO userInnerServiceSMOImpl;
 
     @Override
-    public List<PurchaseApplyDto> queryPurchaseApplys(@RequestBody  PurchaseApplyDto purchaseApplyDto) {
+    public int savePurchaseApply(@RequestBody PurchaseApplyPo purchaseApplyPo) {
+
+        List<PurchaseApplyDetailPo> purchaseApplyDetailPos = purchaseApplyPo.getPurchaseApplyDetailPos();
+
+        for (PurchaseApplyDetailPo purchaseApplyDetailPo : purchaseApplyDetailPos) {
+            purchaseApplyDetailPo.setApplyOrderId(purchaseApplyPo.getApplyOrderId());
+        }
+
+        int saveFlag = purchaseApplyServiceDaoImpl.savePurchaseApply(BeanConvertUtil.beanCovertMap(purchaseApplyPo));
+
+        if (saveFlag < 1) {
+            return saveFlag;
+        }
+
+        //淇濆瓨璁㈠崟鏄庣粏
+        saveFlag = purchaseApplyServiceDaoImpl.savePurchaseApplyDetailInfo(purchaseApplyDetailPos);
+        return saveFlag;
+    }
+
+    @Override
+    public List<PurchaseApplyDto> queryPurchaseApplys(@RequestBody PurchaseApplyDto purchaseApplyDto) {
 
         //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
 
@@ -63,7 +87,7 @@
     }
 
     @Override
-    public List<PurchaseApplyDto> queryPurchaseApplyAndDetails(@RequestBody  PurchaseApplyDto purchaseApplyDto) {
+    public List<PurchaseApplyDto> queryPurchaseApplyAndDetails(@RequestBody PurchaseApplyDto purchaseApplyDto) {
 
         //鏍¢獙鏄惁浼犱簡 鍒嗛〉淇℃伅
 
@@ -73,11 +97,14 @@
             purchaseApplyDto.setPage((page - 1) * purchaseApplyDto.getRow());
         }
 
-        List<PurchaseApplyDto> purchaseApplys = purchaseApplyServiceDaoImpl.getPurchaseApplyInfo2(BeanConvertUtil.beanCovertMap(purchaseApplyDto));
+        List<PurchaseApplyDto> purchaseApplys = BeanConvertUtil.covertBeanList(
+                purchaseApplyServiceDaoImpl.getPurchaseApplyInfo(BeanConvertUtil.beanCovertMap(purchaseApplyDto)), PurchaseApplyDto.class);
 
         if (purchaseApplys == null || purchaseApplys.size() == 0) {
             return purchaseApplys;
         }
+
+        freshPurchaseApplyDetail(purchaseApplys);
 
         String[] userIds = getUserIds(purchaseApplys);
         //鏍规嵁 userId 鏌ヨ鐢ㄦ埛淇℃伅
@@ -89,12 +116,44 @@
         return purchaseApplys;
     }
 
+    private void freshPurchaseApplyDetail(List<PurchaseApplyDto> purchaseApplys) {
+
+        List<String> applyOrderIds = new ArrayList<String>();
+        for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) {
+            applyOrderIds.add(purchaseApplyDto.getApplyOrderId());
+        }
+
+        if (applyOrderIds.size() < 1) {
+            return;
+        }
+
+        String[] tmpApplyOrderIds = applyOrderIds.toArray(new String[applyOrderIds.size()]);
+
+        Map info = new HashMap<>();
+        info.put("applyOrderIds", tmpApplyOrderIds);
+        List<Map> details = purchaseApplyServiceDaoImpl.getPurchaseApplyDetailInfo(info);
+
+        List<PurchaseApplyDetailDto> purchaseApplyDetailDtos = BeanConvertUtil.covertBeanList(details, PurchaseApplyDetailDto.class);
+
+        List<PurchaseApplyDetailDto> purchaseApplyDetailDtoList = null;
+        for (PurchaseApplyDto purchaseApplyDto : purchaseApplys) {
+            purchaseApplyDetailDtoList = new ArrayList<>();
+            for (PurchaseApplyDetailDto purchaseApplyDetailDto : purchaseApplyDetailDtos) {
+                if (purchaseApplyDto.getApplyOrderId().equals(purchaseApplyDetailDto.getApplyOrderId())) {
+                    purchaseApplyDetailDtoList.add(purchaseApplyDetailDto);
+                }
+            }
+            purchaseApplyDto.setPurchaseApplyDetailVo(BeanConvertUtil.covertBeanList(purchaseApplyDetailDtoList, PurchaseApplyDetailVo.class));
+        }
+
+    }
+
 
     /**
      * 浠庣敤鎴峰垪琛ㄤ腑鏌ヨ鐢ㄦ埛锛屽皢鐢ㄦ埛涓殑淇℃伅 鍒锋柊鍒� floor瀵硅薄涓�
      *
      * @param purchaseApply 灏忓尯閲囪喘鐢宠淇℃伅
-     * @param users 鐢ㄦ埛鍒楄〃
+     * @param users         鐢ㄦ埛鍒楄〃
      */
     private void refreshPurchaseApply(PurchaseApplyDto purchaseApply, List<UserDto> users) {
         for (UserDto user : users) {
@@ -130,7 +189,6 @@
         List<PurchaseApplyDetailDto> purchaseApplyDetails = BeanConvertUtil.covertBeanList(purchaseApplyServiceDaoImpl.getPurchaseApplyDetailInfo(BeanConvertUtil.beanCovertMap(purchaseApplyDetailDto)), PurchaseApplyDetailDto.class);
         return purchaseApplyDetails;
     }
-
 
 
     public IPurchaseApplyServiceDao getPurchaseApplyServiceDaoImpl() {

--
Gitblit v1.8.0