Browse Source

报销金额与实报金额的区分

anderx 2 years ago
parent
commit
a581b50b35

+ 6 - 4
src/main/java/com/goafanti/common/mapper/ExpenseAccountMapper.xml

@@ -689,7 +689,7 @@
     select b.id,b.check_no,b.total_amount,b.order_no,o.contract_no,b.aname,b.apply_dep,b.pay_dep,b.real_amount,b.type_other ,b.aid,
            date_format(b.create_time,'%Y-%m-%d %H:%i:%S')createTimeStr,b.examine_name, dep.name applyDepName,dep2.name payDepName,
            b.remarks,b.eaaid ,eap.name ,eap.bank ,eap.accounts ,b.status,b.process_status,
-           c.id sonId,c.total_amount sonAmount,c.settlement_amount sonSettlementAmount,c.`type` sonType,c.type_other sonTypeOther,c.user_names ,c.release_start ,c.release_end ,
+           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.district_name districtName,c.user_names userNames,c.secondary_type ,c.secondary_type_other,c.attachment_url,
            c.duration,pr.plan,pro.contract_no sonContractNo,c.real_amount sonRealAmount,
            d.id detId,d.`type` detType,d.amount,d.real_amount detRealAmount ,d.start_district ,d.end_district,d.vehicle,d.vehicle_other,
@@ -716,6 +716,7 @@
     <result column="type_other" jdbcType="VARCHAR" property="typeOther" />
     <result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
     <result column="real_amount" jdbcType="DECIMAL" property="realAmount" />
+    <result column="amount" jdbcType="DECIMAL" property="amount" />
     <result column="order_no" jdbcType="VARCHAR" property="orderNo" />
     <result column="contract_no" jdbcType="VARCHAR" property="contractNo" />
     <result column="aname" jdbcType="VARCHAR" property="aname" />
@@ -737,9 +738,10 @@
 
   <resultMap id="SonExpenseAccountMap" type="com.goafanti.expenseAccount.bo.SonExpenseAccount">
     <id column="sonId" jdbcType="INTEGER" property="id" />
-    <result column="sonAmount" jdbcType="DECIMAL" property="totalAmount" />
+    <result column="sonTotalAmount" jdbcType="DECIMAL" property="totalAmount" />
     <result column="sonSettlementAmount" jdbcType="DECIMAL" property="settlementAmount" />
     <result column="sonRealAmount" jdbcType="DECIMAL" property="realAmount" />
+    <result column="sonAmount" jdbcType="DECIMAL" property="amount" />
     <result column="sonType" jdbcType="INTEGER" property="type" />
     <result column="sonTypeOther" jdbcType="VARCHAR" property="typeOther" />
     <result column="secondary_type" jdbcType="INTEGER" property="secondaryType" />
@@ -812,10 +814,10 @@
 
 
   <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,
+    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(a.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 sonAmount,c.settlement_amount sonSettlementAmount,c.`type` sonType,c.type_other sonTypeOTher,
+    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

+ 9 - 0
src/main/java/com/goafanti/expenseAccount/bo/MainExpenseAccount.java

@@ -13,6 +13,7 @@ public class MainExpenseAccount  {
     private String checkNo;
     private BigDecimal totalAmount;
     private BigDecimal realAmount;
+    private BigDecimal amount;
     private String orderNo;
     private String contractNo;
     private String aid;
@@ -36,6 +37,14 @@ public class MainExpenseAccount  {
 
     private List<SonExpenseAccount> sonList;
 
+    public BigDecimal getAmount() {
+        return amount;
+    }
+
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
+    }
+
     public String getTypeOther() {
         return typeOther;
     }

+ 5 - 5
src/main/java/com/goafanti/expenseAccount/bo/SonExpenseAccount.java

@@ -7,7 +7,7 @@ public class SonExpenseAccount {
     private Integer id;
     private BigDecimal totalAmount;
     private BigDecimal settlementAmount;
-    private BigDecimal sumAmount;
+    private BigDecimal amount;
     private BigDecimal realAmount;
     private Integer type;
     private String typeOther;
@@ -23,12 +23,12 @@ public class SonExpenseAccount {
     private String contractNo;
     private List<SonExpenseAccountDetails> detList;
 
-    public BigDecimal getSumAmount() {
-        return sumAmount;
+    public BigDecimal getAmount() {
+        return amount;
     }
 
-    public void setSumAmount(BigDecimal sumAmount) {
-        this.sumAmount = sumAmount;
+    public void setAmount(BigDecimal amount) {
+        this.amount = amount;
     }
 
     public BigDecimal getSettlementAmount() {

+ 5 - 13
src/main/java/com/goafanti/expenseAccount/service/impl/ExpenseAccountServiceImpl.java

@@ -707,9 +707,11 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
         Integer eaaid = expenseAccountPrivateMapper.selectByaidDefault(TokenManager.getAdminId());
         in.setEaaid(eaaid);
         BigDecimal count = new BigDecimal(0);
+        BigDecimal amount = new BigDecimal(0);
         List<String> typeList = new ArrayList<String>();
         for (ExpenseAccount e : list) {
-            count=count.add(e.getTotalAmount().divide(e.getSettlementAmount()));
+            count=count.add(e.getTotalAmount());
+            amount=amount.add(e.getAmount());
             StringBuffer types=new StringBuffer();
             if (e.getType()!=0){
                 types=types.append(EATypes.getDescByCode(e.getType()));
@@ -727,7 +729,8 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             if (!typeList.contains(types.toString()))typeList.add(types.toString());
         }
         in.setTotalAmount(count);
-        in.setRealAmount(count);
+        in.setAmount(amount);
+        in.setRealAmount(amount);
         in.setExpenseMain(1);
         in.setTypeOther(String.join(",",typeList));
         expenseAccountMapper.insertSelective(in);
@@ -745,9 +748,6 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
     public MainExpenseAccount mainExpense(Integer id) {
         MainExpenseAccount res = expenseAccountMapper.selectByMainId(id);
         res.setExamine(0);
-        for (SonExpenseAccount son : res.getSonList()) {
-            son.setSumAmount(son.getTotalAmount().subtract(son.getSettlementAmount()));
-        }
         List<ExpenseAccountExamine> expenseAccountExamines = expenseAccountExamineMapper.selectByEaidAndProcessStatus(id, res.getProcessStatus());
         for (ExpenseAccountExamine e : expenseAccountExamines) {
             if (e.getAuditor().equals(TokenManager.getAdminId())){
@@ -829,14 +829,6 @@ public class ExpenseAccountServiceImpl extends BaseMybatisDao<ExpenseAccountMapp
             }
         }
         Pagination<?> page = findPage("ExpenseMainList", "ExpenseMainCount", params, in.getPageNo(), in.getPageSize());
-        List<MainExpenseAccount> list = (List<MainExpenseAccount>) page.getList();
-        for (MainExpenseAccount e : list) {
-            if (e.getSonList()!=null){
-                for (SonExpenseAccount son : e.getSonList()) {
-                    son.setSumAmount(son.getTotalAmount().subtract(son.getSettlementAmount()));
-                }
-            }
-        }
         return page;
     }