From 0db231806e34e8580c450276ea3e194e9f78ac13 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 07 四月 2021 22:52:21 +0800
Subject: [PATCH] 优化代码

---
 service-store/src/main/java/com/java110/store/bmo/contract/impl/GetContractBMOImpl.java |  128 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/impl/GetContractBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/contract/impl/GetContractBMOImpl.java
index 5c94278..44c5779 100644
--- a/service-store/src/main/java/com/java110/store/bmo/contract/impl/GetContractBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/impl/GetContractBMOImpl.java
@@ -1,8 +1,15 @@
 package com.java110.store.bmo.contract.impl;
 
 import com.java110.dto.contract.ContractDto;
+import com.java110.dto.contractAttr.ContractAttrDto;
+import com.java110.dto.contractChangePlan.ContractChangePlanDto;
+import com.java110.entity.audit.AuditUser;
+import com.java110.intf.common.IContractApplyUserInnerServiceSMO;
+import com.java110.intf.common.IContractChangeUserInnerServiceSMO;
+import com.java110.intf.store.IContractAttrInnerServiceSMO;
 import com.java110.intf.store.IContractInnerServiceSMO;
 import com.java110.store.bmo.contract.IGetContractBMO;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -18,6 +25,15 @@
     @Autowired
     private IContractInnerServiceSMO contractInnerServiceSMOImpl;
 
+    @Autowired
+    private IContractAttrInnerServiceSMO contractAttrInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractApplyUserInnerServiceSMO contractApplyUserInnerServiceSMOImpl;
+
+    @Autowired
+    private IContractChangeUserInnerServiceSMO contractChangeUserInnerServiceSMO;
+
     /**
      * @param contractDto
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
@@ -30,6 +46,7 @@
         List<ContractDto> contractDtos = null;
         if (count > 0) {
             contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
+            refreshAttr(contractDtos);
         } else {
             contractDtos = new ArrayList<>();
         }
@@ -41,4 +58,115 @@
         return responseEntity;
     }
 
+    @Override
+    public ResponseEntity<String> queryContractChangeTask(AuditUser auditUser) {
+        long count = contractChangeUserInnerServiceSMO.getUserTaskCount(auditUser);
+
+        List<ContractChangePlanDto> contractChangePlanDtos = null;
+
+        if (count > 0) {
+            contractChangePlanDtos = contractChangeUserInnerServiceSMO.getUserTasks(auditUser);
+        } else {
+            contractChangePlanDtos = new ArrayList<>();
+        }
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) auditUser.getRow()), new Long(count).intValue(), contractChangePlanDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+    @Override
+    public ResponseEntity<String> queryContractChangeHistoryTask(AuditUser auditUser) {
+
+        long count = contractChangeUserInnerServiceSMO.getUserHistoryTaskCount(auditUser);
+
+        List<ContractChangePlanDto> contractChangePlanDtos = null;
+
+        if (count > 0) {
+            contractChangePlanDtos = contractChangeUserInnerServiceSMO.getUserHistoryTasks(auditUser);
+        } else {
+            contractChangePlanDtos = new ArrayList<>();
+        }
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) auditUser.getRow()), new Long(count).intValue(), contractChangePlanDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+
+    @Override
+    public ResponseEntity<String> queryContractTask(AuditUser auditUser) {
+        long count = contractApplyUserInnerServiceSMOImpl.getUserTaskCount(auditUser);
+
+        List<ContractDto> contractDtos = null;
+
+        if (count > 0) {
+            List<ContractDto> purchaseApplyDtos = contractApplyUserInnerServiceSMOImpl.getUserTasks(auditUser);
+            contractDtos = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ContractDto.class);
+        } else {
+            contractDtos = new ArrayList<>();
+        }
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) auditUser.getRow()), new Long(count).intValue(), contractDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+    @Override
+    public ResponseEntity<String> queryContractHistoryTask(AuditUser auditUser) {
+
+        long count = contractApplyUserInnerServiceSMOImpl.getUserHistoryTaskCount(auditUser);
+
+        List<ContractDto> contractDtos = null;
+
+        if (count > 0) {
+            List<ContractDto> purchaseApplyDtos = contractApplyUserInnerServiceSMOImpl.getUserHistoryTasks(auditUser);
+            contractDtos = BeanConvertUtil.covertBeanList(purchaseApplyDtos, ContractDto.class);
+        } else {
+            contractDtos = new ArrayList<>();
+        }
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) auditUser.getRow()), new Long(count).intValue(), contractDtos);
+
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+
+        return responseEntity;
+    }
+
+    /**
+     * 灞炴�у睘鎬�
+     *
+     * @param contractDtos
+     */
+    private void refreshAttr(List<ContractDto> contractDtos) {
+        List<String> contractIds = new ArrayList<>();
+        for (ContractDto contractDto : contractDtos) {
+            contractIds.add(contractDto.getContractId());
+        }
+
+
+        if (contractIds.size() < 1) {
+            return;
+        }
+
+        ContractAttrDto contractAttrDto = new ContractAttrDto();
+        contractAttrDto.setContractIds(contractIds.toArray(new String[contractIds.size()]));
+        List<ContractAttrDto> contractAttrDtos = contractAttrInnerServiceSMOImpl.queryContractAttrs(contractAttrDto);
+
+        List<ContractAttrDto> attrs = null;
+        for (ContractDto contractDto : contractDtos) {
+            attrs = new ArrayList<>();
+            for (ContractAttrDto tmpContractAttrDto : contractAttrDtos) {
+                if (contractDto.getContractId().equals(tmpContractAttrDto.getContractId())) {
+                    attrs.add(tmpContractAttrDto);
+                }
+            }
+            contractDto.setAttrs(attrs);
+        }
+
+
+    }
+
 }

--
Gitblit v1.8.0