Browse Source

主要接口修改

anderx 2 years ago
parent
commit
f8f02a64d7

+ 2 - 0
src/main/java/com/goafanti/common/dao/ExpenseAccountMapper.java

@@ -62,4 +62,6 @@ public interface ExpenseAccountMapper {
     void updateMainByDetId(Integer id);
 
     void updateDeleteDebitId(Integer id);
+
+    List<MainExpenseAccount> selectSonByMainIds(List<Integer> list);
 }

+ 23 - 12
src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml

@@ -820,25 +820,24 @@
   <select id="ExpenseMainList" resultMap="MainMap">
     select b.id,b.check_no,b.total_amount,b.order_no,o.contract_no ,b.aname,b.apply_dep,b.pay_dep,b.amount,
     date_format(b.create_time,'%Y-%m-%d %H:%i:%S')createTimeStr,b.status,b.process_status,b.examine_name,
-    dep.name applyDepName,dep2.name payDepName, b.remarks,b.eaaid ,
-    c.id sonId,c.total_amount sonTotalAmount,c.settlement_amount sonSettlementAmount,c.amount sonAmount,c.`type` sonType,c.type_other sonTypeOTher,
-    c.user_names ,c.release_start ,c.release_end, c.attachment_url attachmentUrl,c.secondary_type,c.secondary_type_other
-    from expense_relationship a
-    left join expense_account b on a.id =b.id left join expense_relationship er on er.id=b.id
-    left join expense_account ea2 on ea2.id=er.ea_id
-    left join department dep on b.apply_dep =dep.id left join department dep2 on b.pay_dep =dep2.id
-    left join t_order_new o on b.order_no =o.order_no left join expense_account c on a.ea_id =c.id
-    left join admin ad on b.aid=ad.id left join department adDep on ad.department_id=adDep.id
+    dep.name applyDepName,dep2.name payDepName, b.remarks,b.eaaid
+    from  expense_account b  left join department dep on b.apply_dep =dep.id
+    left join department dep2 on b.pay_dep =dep2.id left join t_order_new o on b.order_no =o.order_no
+    left join admin ad on b.aid=ad.id
+    left join department adDep on ad.department_id=adDep.id
     <if test="roleType == 1">
       inner join (select eaid ,auditor,min(process_status)`type` from expense_account_examine
       where auditor= #{aid} group by eaid) eae on b.id=eae.eaid
     </if>
+    <if test="username !=null">
+      left join expense_relationship er on er.id=b.id
+      left join expense_account ea2 on ea2.id=er.ea_id
+    </if>
     <include refid="ExpenseMainSql"/>
       order by if(b.status=3,-1,b.status)  ,b.create_time desc
     ${page_sql}
   </select>
   <sql id="ExpenseMainSql">
-
     where 1=1 and b.expense_main =1 and b.status &lt; 4
     <if test="checkNo !=null">
       and b.check_no like concat('%',#{checkNo},'%')
@@ -897,8 +896,6 @@
         left join expense_relationship er on er.id=b.id
     left join expense_account ea2 on ea2.id=er.ea_id
   </if>
-    left join department dep on b.apply_dep =dep.id left join department dep2 on b.pay_dep =dep2.id
-    left join t_order_new o on b.order_no =o.order_no
     left join admin ad on b.aid=ad.id left join department adDep on ad.department_id=adDep.id
     <if test="roleType == 1">
       inner join (select eaid ,auditor,min(process_status)`type` from expense_account_examine
@@ -994,5 +991,19 @@
     from expense_account
     where expense_main=1
   </select>
+  <select id="selectSonByMainIds" resultMap="MainMap">
+    select b.id,
+           c.id sonId,c.total_amount sonTotalAmount,c.settlement_amount sonSettlementAmount,c.amount sonAmount,c.`type` sonType,c.type_other sonTypeOTher,
+           c.user_names ,c.release_start ,c.release_end, c.attachment_url attachmentUrl,c.secondary_type,c.secondary_type_other
+    from expense_relationship a
+           left join expense_account b on a.id =b.id
+           left join department dep on b.apply_dep =dep.id left join department dep2 on b.pay_dep =dep2.id
+           left join t_order_new o on b.order_no =o.order_no left join expense_account c on a.ea_id =c.id
+           left join admin ad on b.aid=ad.id left join department adDep on ad.department_id=adDep.id
+    where b.id in
+    <foreach collection="list" separator="," open="(" close=")" item="id">
+      #{id}
+    </foreach>
+  </select>
 
 </mapper>

+ 11 - 0
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -32,6 +32,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapper> implements ExpenseAccountService {
@@ -852,6 +853,16 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             }
         }
         Pagination<?> page = findPage("ExpenseMainList", "ExpenseMainCount", params, in.getPageNo(), in.getPageSize());
+        List<MainExpenseAccount> list = (List<MainExpenseAccount>) page.getList();
+        List<Integer> collect = list.stream().map(MainExpenseAccount::getId).collect(Collectors.toList());
+        List<MainExpenseAccount> mainExpenseAccounts = expenseAccountMapper.selectSonByMainIds(collect);
+        for (MainExpenseAccount e : list) {
+            for (MainExpenseAccount me : mainExpenseAccounts) {
+                if (e.getId().equals(me.getId())){
+                    e.setSonList(me.getSonList());
+                }
+            }
+        }
         return page;
     }