结算排除商户余额计算逻辑
diff --git a/src/main/java/com/supwisdom/dlpay/consume/dao/DebitCreditDtlDao.java b/src/main/java/com/supwisdom/dlpay/consume/dao/DebitCreditDtlDao.java
index 220ff83..b5004e3 100644
--- a/src/main/java/com/supwisdom/dlpay/consume/dao/DebitCreditDtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/consume/dao/DebitCreditDtlDao.java
@@ -5,20 +5,19 @@
 import com.supwisdom.dlpay.framework.data.VoucherTemp;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
 @Repository
 public interface DebitCreditDtlDao extends JpaRepository<TDebitCreditDtl, TDebitCreditDtlPK> {
 
-  @Query(value = "select a.drsubjno,a.draccno,a.crsubjno,a.craccno,a.summary,count(*) as transcnt,sum(amount) as transamt " +
+  @Query(value = "select a.drsubjno,a.crsubjno,a.summary,count(distinct a.refno) as transcnt,sum(a.amount) as transamt " +
       "from TB_USERDTL_DEBITCREDIT a left join TB_USERDTL b on a.refno=b.refno " +
       "where b.status='success' and b.accdate=:settledate " +
-      "group by a.drsubjno,a.draccno,a.crsubjno,a.craccno,a.summary ", nativeQuery = true)
-  List<VoucherTemp> getVoucherData(@RequestParam("settledate") String settledate);
-
+      "group by a.drsubjno,a.crsubjno,a.summary ", nativeQuery = true)
+  List<VoucherTemp> getVoucherData(@Param("settledate") String settledate);
 
   List<TDebitCreditDtl> findByRefno(String refno);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
index 688df2e..8ec82ca 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/PeriodDao.java
@@ -5,17 +5,17 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 
 @Repository
 public interface PeriodDao extends JpaRepository<TPeriod, TPeriodPK> {
   @Query(value = "from TPeriod t where t.periodYear=:periodyear and t.periodMonth=:periodmonth ")
-  TPeriod getPeriod(@RequestParam("periodyear") Integer periodyear, @RequestParam("periodmonth") Integer periodmonth);
+  TPeriod getPeriod(@Param("periodyear") Integer periodyear, @Param("periodmonth") Integer periodmonth);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query(value = "from TPeriod t where t.periodYear=:periodyear and t.periodMonth=:periodmonth ")
-  TPeriod getTPeriodWithLock(@RequestParam("periodyear") Integer periodyear, @RequestParam("periodmonth") Integer periodmonth);
+  TPeriod getTPeriodWithLock(@Param("periodyear") Integer periodyear, @Param("periodmonth") Integer periodmonth);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
index 5a80eab..07dcd70 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/SettleCtlDao.java
@@ -4,21 +4,21 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 
 @Repository
 public interface SettleCtlDao extends JpaRepository<TSettlectl, Integer> {
-  @Lock(value = LockModeType.PESSIMISTIC_FORCE_INCREMENT)
+  @Lock(value = LockModeType.PESSIMISTIC_WRITE)
   TSettlectl findByBooksetno(Integer booksetno);
 
-  @Lock(value = LockModeType.PESSIMISTIC_FORCE_INCREMENT)
+  @Lock(value = LockModeType.PESSIMISTIC_WRITE)
   @Query(value = "from TSettlectl where booksetno=:booksetno ")
-  TSettlectl findByBooksetnoWithLock(@RequestParam("booksetno") Integer booksetno);
+  TSettlectl findByBooksetnoWithLock(@Param("booksetno") Integer booksetno);
 
   @Query(value = "update TB_SETTLECTL set PERIOD_YEAR=:peridyear,PERIOD_MONTH=:peridmonth where BOOKSETNO=1 ", nativeQuery = true)
-  void updateSettlePeriod(@RequestParam("peridyear") int peridyear, @RequestParam("peridmonth") int peridmonth);
+  void updateSettlePeriod(@Param("peridyear") int peridyear, @Param("peridmonth") int peridmonth);
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
index e7a7a99..89cf592 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccDao.java
@@ -1,13 +1,11 @@
 package com.supwisdom.dlpay.framework.dao;
 
-import com.supwisdom.dlpay.framework.data.AccnameBean;
-import com.supwisdom.dlpay.framework.data.AccnoBean;
 import com.supwisdom.dlpay.framework.data.ExistBean;
 import com.supwisdom.dlpay.framework.domain.TShopacc;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -15,16 +13,16 @@
 public interface ShopaccDao extends JpaRepository<TShopacc, String> {
 
   @Query(value = "select t.SHOPACCNO as accno from TB_SHOPACC t left join TB_SHOPACCBAL a on t.SHOPACCNO=a.SHOPACCNO where a.SHOPACCNO is null ", nativeQuery = true)
-  List<AccnoBean> getNewShopacc();
+  List<String> getNewShopacc();
 
-  @Query(value = "select count(t.*) as existed from TB_SHOPACC t left join TB_SHOPACCBAL a on t.SHOPACCNO=a.SHOPACCNO where a.SHOPACCNO is null and t.STATUS='normal' ", nativeQuery = true)
+  @Query(value = "select count(t.shopaccno) as existed from TB_SHOPACC t left join TB_SHOPACCBAL a on t.SHOPACCNO=a.SHOPACCNO where a.SHOPACCNO is null and t.STATUS='normal' ", nativeQuery = true)
   ExistBean checkSettleShopacc();
 
   @Query(value = "select shopname from TShopacc where shopaccno=:shopaccno ")
-  AccnameBean getShopname(@RequestParam("shopaccno") String shopaccno);
+  String getShopname(@Param("shopaccno") String shopaccno);
 
   @Query(value = "select t.SHOPACCNO as accno from TB_SHOPACC t left join TB_SHOPACCBAL a on t.SHOPACCNO=a.SHOPACCNO where a.SHOPACCNO is null and t.opendate>=:settday ", nativeQuery = true)
-  List<AccnoBean> getNewAddShopacc(@RequestParam("settday") String settday);
+  List<String> getNewAddShopacc(@Param("settday") String settday);
 
   TShopacc findByShopid(Integer shopid);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccbalDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccbalDao.java
index 2bd91c0..1721e6e 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccbalDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccbalDao.java
@@ -4,8 +4,8 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 import java.util.List;
@@ -14,10 +14,10 @@
 public interface ShopaccbalDao extends JpaRepository<TShopaccbal, String> {
 
   @Query(value = "select t.* from TB_SHOPACCBAL t left join (select shopaccno from TB_SHOPACCDAY where accdate=:lastsettday ) a on t.shopaccno=a.shopaccno where a.shopaccno is null ", nativeQuery = true)
-  List<TShopaccbal> getUnsettleShopacc(@RequestParam("lastsettday") String lastsettday);
+  List<TShopaccbal> getUnsettleShopacc(@Param("lastsettday") String lastsettday);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query(value = "from TShopaccbal where shopaccno=:shopaccno ")
-  TShopaccbal getTShopaccbalByIdWithLock(@RequestParam("shopaccno")String shopaccno);
+  TShopaccbal getTShopaccbalByIdWithLock(@Param("shopaccno")String shopaccno);
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
index 7ea21f6..b7acdb3 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/ShopaccdayDao.java
@@ -1,12 +1,11 @@
 package com.supwisdom.dlpay.framework.dao;
 
-import com.supwisdom.dlpay.framework.data.AmountBean;
 import com.supwisdom.dlpay.framework.domain.TShopaccday;
 import com.supwisdom.dlpay.framework.domain.TShopaccdayPK;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -14,15 +13,15 @@
 public interface ShopaccdayDao extends JpaRepository<TShopaccday, TShopaccdayPK> {
 
   @Query(value = "from TShopaccday t where t.accdate=:accdate ")
-  List<TShopaccday> getShopaccdayByAccdate(@RequestParam("accdate") String accdate);
+  List<TShopaccday> getShopaccdayByAccdate(@Param("accdate") String accdate);
 
   @Query(value = "from TShopaccday t where t.accdate=:accdate and t.shopaccno=:shopaccno ")
-  TShopaccday getTShopaccdayById(@RequestParam("accdate") String accdate, @RequestParam("shopaccno") String shopaccno);
+  TShopaccday getTShopaccdayById(@Param("accdate") String accdate, @Param("shopaccno") String shopaccno);
 
   @Query(value = "update TShopaccday set balance=beginbal-dramt+cramt,updtime=:updtime where accdate=:accdate ")
-  void updateShopaccdayBalance(@RequestParam("accdate") String accdate,@RequestParam("updtime")String updtime);
+  void updateShopaccdayBalance(@Param("accdate") String accdate,@Param("updtime")String updtime);
 
   @Query(value = "select sum(balance) as amount from TShopaccday where accdate=:accdate ")
-  AmountBean getSumBalance(@RequestParam("accdate") String accdate);
+  Double getSumBalance(@Param("accdate") String accdate);
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
index 480750b..a694eaa 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectDao.java
@@ -1,13 +1,11 @@
 package com.supwisdom.dlpay.framework.dao;
 
-import com.supwisdom.dlpay.framework.data.AccnameBean;
-import com.supwisdom.dlpay.framework.data.AccnoBean;
 import com.supwisdom.dlpay.framework.data.ExistBean;
 import com.supwisdom.dlpay.framework.domain.TSubject;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -15,14 +13,14 @@
 public interface SubjectDao extends JpaRepository<TSubject, String> {
 
   @Query(value = "select t.SUBJNO as accno from TB_SUBJECT t left join TB_SUBJECTBAL a on t.SUBJNO=a.SUBJNO where t.ENDFLAG=1 and a.SUBJNO is null ", nativeQuery = true)
-  List<AccnoBean> getNewSubject();
+  List<String> getNewSubject();
 
-  @Query(value = "select count(t.*) as existed from TB_SUBJECT t left join TB_SUBJECTBAL a on t.SUBJNO=a.SUBJNO where t.ENDFLAG=1 and a.SUBJNO is null ", nativeQuery = true)
+  @Query(value = "select count(t.subjno) as existed from TB_SUBJECT t left join TB_SUBJECTBAL a on t.SUBJNO=a.SUBJNO where t.ENDFLAG=1 and a.SUBJNO is null ", nativeQuery = true)
   ExistBean checkSettleSubject();
 
   @Query(value = "select a.subjno as accno from TB_SUBJECT a left join (select subjno from TB_SUBJECTDAY where accdate =:accdate ) b on a.subjno=b.subjno where a.subjlevel=1 and b.subjno is null ", nativeQuery = true)
-  List<AccnoBean> getNewSubjnos(@RequestParam("accdate") String accdate);
+  List<String> getNewSubjnos(@Param("accdate") String accdate);
 
   @Query(value = "select subjname from TSubject where subjno=:subjno ")
-  AccnameBean getSubjectname(@RequestParam("subjno") String subjno);
+  String getSubjectname(@Param("subjno") String subjno);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
index 3aacfe3..71940c4 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectbalDao.java
@@ -7,8 +7,8 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 import java.util.List;
@@ -17,18 +17,18 @@
 public interface SubjectbalDao extends JpaRepository<TSubjectbal, String> {
 
   @Query(value = "select t.* from TB_SUBJECTBAL t left join ( select subjno from TB_SUBJECTDAY where accdate =:lastsettday) a on t.subjno=a.subjno where a.subjno is null ", nativeQuery = true)
-  List<TSubjectbal> getUnsettleSubjectbal(@RequestParam("lastsettday") String lastsettday);
+  List<TSubjectbal> getUnsettleSubjectbal(@Param("lastsettday") String lastsettday);
 
   @Query(value = "select sum(BEGINDRBAL) as dramt,sum(BEGINCRBAL) as cramt from TB_SUBJECTBAL where SUBJNO in (select SUBJNO from TB_SUBJECT where fsubjno=:fsubjno) ", nativeQuery = true)
-  MerchBean getSubjectInfo(@RequestParam("fsubjno") String fsubjno);
+  MerchBean getSubjectInfo(@Param("fsubjno") String fsubjno);
 
   @Query(value = "select sa.subjno,sa.drbal,crbal,sb.subjtype,sb.balflag from TB_SUBJECTBAL sa,TB_SUBJECT sb where sa.subjno=sb.subjno and sb.endflag=1  order by sa.subjno ", nativeQuery = true)
   List<SubjectInfoBean> getSubjectbalAndFlag();
 
   @Query(value = "select case when :balflag=1 then sum(drbal) else sum(crbal) end as amount from tb_subjectbal where subjno in (select subjno from tb_subject where endflag=1 and balflag=:balflag )",nativeQuery = true)
-  AmountBean getSumEndsubjectBalByEndflag(@RequestParam("balflag")Integer balflag);
+  Double getSumEndsubjectBalByEndflag(@Param("balflag")Integer balflag);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query("from TSubjectbal where subjno=:subjno ")
-  TSubjectbal getTSubjectbalBySubjnoWithLock(@RequestParam("subjno")String subjno);
+  TSubjectbal getTSubjectbalBySubjnoWithLock(@Param("subjno")String subjno);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
index bd0f311..fb10362 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/SubjectdayDao.java
@@ -6,8 +6,8 @@
 import com.supwisdom.dlpay.framework.domain.TSubjectdayPK;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -15,23 +15,23 @@
 public interface SubjectdayDao extends JpaRepository<TSubjectday, TSubjectdayPK> {
 
   @Query(value = "from TSubjectday where accdate=:accdate ")
-  List<TSubjectday> getAllByAccdate(@RequestParam("accdate") String accdate);
+  List<TSubjectday> getAllByAccdate(@Param("accdate") String accdate);
 
   @Query(value = "select a.subjno as shopaccno,a.begindrbal as dramt,a.begincrbal as cramt from TB_SUBJECTDAY a left join (select subjno from TB_SUBJECT where endflag=1) b on a.subjno=b.subjno where a.accdate=:accdate and b.subjno is not null ", nativeQuery = true)
-  List<MerchBean> getEndSubjectbalInfos(@RequestParam("accdate") String accdate);
+  List<MerchBean> getEndSubjectbalInfos(@Param("accdate") String accdate);
 
   @Query(value = "from TSubjectday where accdate=:accdate and subjno=:subjno")
-  TSubjectday getSubjectDayById(@RequestParam("accdate") String accdate, @RequestParam("subjno") String subjno);
+  TSubjectday getSubjectDayById(@Param("accdate") String accdate, @Param("subjno") String subjno);
 
   @Query(value = "from TSubjectday t where t.accdate=:accdate and t.subjno in (select subjno from TSubject where subjlevel=1 and endflag=0 ) ")
-  List<TSubjectday> getParentSubjectday(@RequestParam("accdate") String accdate);
+  List<TSubjectday> getParentSubjectday(@Param("accdate") String accdate);
 
   @Query(value = "select sum(sb.begindrbal) as begindrbal,sum(sb.begincrbal) as begincrbal,sum(sb.dramt) as dramt,sum(sb.cramt) as cramt,sum(sb.drbal) as drbal,sum(sb.crbal) as crbal  " +
       "from TB_SUBJECTDAY sb, TB_SUBJECT s " +
       "where sb.accdate =:accdate and sb.subjno=s.subjno and s.subjlevel=2 and s.fsubjno=:fsubjno ",nativeQuery = true)
-  FSubjectInfoBean getParentSumInfo(@RequestParam("accdate") String accdate, @RequestParam("fsubjno") String fsubjno);
+  FSubjectInfoBean getParentSumInfo(@Param("accdate") String accdate, @Param("fsubjno") String fsubjno);
 
   @Query(value = "select sum(begindrbal) as begindrbal,sum(begincrbal) as begincrbal,sum(dramt) as dramt,sum(cramt) as cramt,sum(drbal) as drbal,sum(crbal) as crbal " +
       "from tb_subjectday where accdate=:accdate and subjno in (select subjno from tb_subject where subjlevel=1) ", nativeQuery = true)
-  FSubjectInfoBean getAllParentSubjectSumInfo(@RequestParam("accdate") String accdate);
+  FSubjectInfoBean getAllParentSubjectSumInfo(@Param("accdate") String accdate);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
index e9b3a37..9199a6a 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/TaskLockDao.java
@@ -5,8 +5,8 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 
@@ -15,7 +15,7 @@
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query("select a from TTaskLock a where a.taskcode=:taskcode")
-  TTaskLock getTaskLockWithLock(@RequestParam("taskcode") String taskcode);
+  TTaskLock getTaskLockWithLock(@Param("taskcode") String taskcode);
 
   //================= database=Oracle =================//
   @Query(value = "select  to_char(sysdate,'yyyymmdd') as hostdate,to_char(sysdate,'hh24miss') as hosttime,to_char(sysdate,'yyyymmddhh24miss') as hostdatetime, sysdate from dual", nativeQuery = true)
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
index f331a6b..18a4769 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherDao.java
@@ -6,14 +6,14 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
-import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.data.repository.query.Param;
 
 import javax.persistence.LockModeType;
 import java.util.List;
 
 public interface VoucherDao extends JpaRepository<TVoucher, String> {
 
-  @Query(value = "select count(t.*) as existed from TB_VOUCHER t where t.POSTFLAG=0 and t.SOURCETYPE!='auto' ", nativeQuery = true)
+  @Query(value = "select count(t.voucherid) as existed from TB_VOUCHER t where t.POSTFLAG=0 and t.SOURCETYPE!='auto' ", nativeQuery = true)
   ExistBean checkExistUnpostVouhcer();
 
   @Query(value="delete from TB_VOUCHER where POSTFLAG=0 ",nativeQuery = true)
@@ -27,12 +27,12 @@
       "from tb_voucherentry va,tb_voucher vb " +
       "where va.voucherid=vb.voucherid and vb.voucherdate=:settledate and va.subjno='2004' and va.accno is not null " +
       "group by va.accno order by va.accno ", nativeQuery = true)
-  List<MerchBean> getShopVoucherByAccdate(@RequestParam("settledate")Integer settledate);
+  List<MerchBean> getShopVoucherByAccdate(@Param("settledate")Integer settledate);
 
   @Query(value = "select sum(va.dramt) as dramt, sum(va.cramt) as cramt  from TB_VOUCHERENTRY va,TB_VOUCHER vb where va.voucherid=vb.voucherid and vb.voucherdate=:voucherdate and va.subjno=:subjno ", nativeQuery = true)
-  MerchBean getSettleSuminfo(@RequestParam("voucherdate") Integer voucherdate, @RequestParam("subjno") String subjno);
+  MerchBean getSettleSuminfo(@Param("voucherdate") Integer voucherdate, @Param("subjno") String subjno);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query(value = "from TVoucher where voucherid=:voucherid ")
-  TVoucher findByVoucheridWithLock(@RequestParam("voucherid") String voucherid);
+  TVoucher findByVoucheridWithLock(@Param("voucherid") String voucherid);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
index 2bb4664..893bd2a 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/VoucherEntryDao.java
@@ -5,9 +5,8 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
-
 import javax.persistence.LockModeType;
 import java.util.List;
 
@@ -17,9 +16,9 @@
   void deleteUnpostVoucherentry();
 
   @Query(value = "from TVoucherEntry where voucherid in (select voucherid from TVoucher where voucherdate=:voucherdate) order by subjno,accno,voucherid ")
-  List<TVoucherEntry> getVoucherEntryByVoucherdate(@RequestParam("voucherdate") Integer voucherdate);
+  List<TVoucherEntry> getVoucherEntryByVoucherdate(@Param("voucherdate") Integer voucherdate);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query(value = "from TVoucherEntry t where t.voucherid=:voucherid ")
-  List<TVoucherEntry> getVoucherEntryByVoucherid(@RequestParam("voucherid")String voucherid);
+  List<TVoucherEntry> getVoucherEntryByVoucherid(@Param("voucherid")String voucherid);
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java b/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
index 51d3194..62d3827 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/dao/VouchernoCtlDao.java
@@ -4,15 +4,15 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Lock;
 import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.persistence.LockModeType;
 
 @Repository
 public interface VouchernoCtlDao extends JpaRepository<TVouchernoCtl, Integer> {
   @Query(value = "update TB_VOUCHERNOCTL set PERIOD_MONTH=:peridmonth,VOUCHERNO=:voucherno where VOUCHERTYPE=1 ", nativeQuery = true)
-  void updateVoucherno(@RequestParam("peridmonth") int peridmonth, @RequestParam("voucherno") int voucherno);
+  void updateVoucherno(@Param("peridmonth") int peridmonth, @Param("voucherno") int voucherno);
 
   @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT)
   @Query(value = "from TVouchernoCtl where vouchertype=1 ")
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/AccnameBean.java b/src/main/java/com/supwisdom/dlpay/framework/data/AccnameBean.java
deleted file mode 100644
index 6e0a312..0000000
--- a/src/main/java/com/supwisdom/dlpay/framework/data/AccnameBean.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.supwisdom.dlpay.framework.data;
-
-public interface AccnameBean {
-  String getAccname();
-}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/AccnoBean.java b/src/main/java/com/supwisdom/dlpay/framework/data/AccnoBean.java
deleted file mode 100644
index c086926..0000000
--- a/src/main/java/com/supwisdom/dlpay/framework/data/AccnoBean.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.supwisdom.dlpay.framework.data;
-
-public interface AccnoBean {
-  String getAccno();
-}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/AmountBean.java b/src/main/java/com/supwisdom/dlpay/framework/data/AmountBean.java
deleted file mode 100644
index c079755..0000000
--- a/src/main/java/com/supwisdom/dlpay/framework/data/AmountBean.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.supwisdom.dlpay.framework.data;
-
-public interface AmountBean {
-  Double getAmount();
-}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java b/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
index d4f695a..a7691fc 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/data/ExistBean.java
@@ -1,5 +1,5 @@
 package com.supwisdom.dlpay.framework.data;
 
 public interface ExistBean {
-  public int getExisted();
+   Integer getExisted();
 }
diff --git a/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java b/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
index ee4e4d4..8a38e41 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/data/VoucherTemp.java
@@ -3,11 +3,11 @@
 public interface VoucherTemp {
   String getDrsubjno();
 
-  String getDraccno();
+//  String getDraccno();
 
   String getCrsubjno();
 
-  String getCraccno();
+//  String getCraccno();
 
   String getSummary();
 
diff --git a/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java b/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
index ffefda1..b57c657 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/service/impl/DayendSettleServiceImpl.java
@@ -121,11 +121,11 @@
     TVoucherEntry entry1;
     TVoucherEntry entry2;
     if (voucherTemp.getTransamt() >= 0) {
-      entry1 = new TVoucherEntry(voucher.getVoucherid(), 1, voucherTemp.getDrsubjno(), voucherTemp.getDraccno(), Math.abs(voucherTemp.getTransamt()), 0D, voucherTemp.getSummary(), voucherTemp.getCrsubjno(), voucherTemp.getCraccno());
-      entry2 = new TVoucherEntry(voucher.getVoucherid(), 2, voucherTemp.getCrsubjno(), voucherTemp.getCraccno(), 0D, Math.abs(voucherTemp.getTransamt()), voucherTemp.getSummary(), voucherTemp.getDrsubjno(), voucherTemp.getDraccno());
+      entry1 = new TVoucherEntry(voucher.getVoucherid(), 1, voucherTemp.getDrsubjno(), null, Math.abs(voucherTemp.getTransamt()), 0D, voucherTemp.getSummary(), voucherTemp.getCrsubjno(), null);
+      entry2 = new TVoucherEntry(voucher.getVoucherid(), 2, voucherTemp.getCrsubjno(), null, 0D, Math.abs(voucherTemp.getTransamt()), voucherTemp.getSummary(), voucherTemp.getDrsubjno(), null);
     } else {
-      entry1 = new TVoucherEntry(voucher.getVoucherid(), 1, voucherTemp.getCrsubjno(), voucherTemp.getCraccno(), 0D, Math.abs(voucherTemp.getTransamt()), voucherTemp.getSummary(), voucherTemp.getDrsubjno(), voucherTemp.getDraccno());
-      entry2 = new TVoucherEntry(voucher.getVoucherid(), 2, voucherTemp.getDrsubjno(), voucherTemp.getDraccno(), Math.abs(voucherTemp.getTransamt()), 0D, voucherTemp.getSummary(), voucherTemp.getCrsubjno(), voucherTemp.getCraccno());
+      entry1 = new TVoucherEntry(voucher.getVoucherid(), 1, voucherTemp.getCrsubjno(), null, 0D, Math.abs(voucherTemp.getTransamt()), voucherTemp.getSummary(), voucherTemp.getDrsubjno(), null);
+      entry2 = new TVoucherEntry(voucher.getVoucherid(), 2, voucherTemp.getDrsubjno(), null, Math.abs(voucherTemp.getTransamt()), 0D, voucherTemp.getSummary(), voucherTemp.getCrsubjno(), null);
     }
     voucherEntryDao.save(entry1);
     voucherEntryDao.save(entry2);
@@ -159,23 +159,23 @@
       }
     }
 
-    //新增商户插入商户余额表
-    List<AccnoBean> newShopaccList = shopaccDao.getNewShopacc();
-    if (!StringUtil.isEmpty(newShopaccList)) {
-      for (AccnoBean bean : newShopaccList) {
-        TShopaccbal shopaccbal = new TShopaccbal(bean.getAccno());
-        shopaccbalDao.save(shopaccbal);
-      }
-    }
-    if (shopaccDao.checkSettleShopacc().getExisted() > 0) {
-      throw new Exception("初始化数据错误:商户余额表数据没有包含所有有效的商户账户余额");
-    }
+//    //新增商户插入商户余额表
+//    List<String> newShopaccList = shopaccDao.getNewShopacc();
+//    if (!StringUtil.isEmpty(newShopaccList)) {
+//      for (String accno : newShopaccList) {
+//        TShopaccbal shopaccbal = new TShopaccbal(accno);
+//        shopaccbalDao.save(shopaccbal);
+//      }
+//    }
+//    if (shopaccDao.checkSettleShopacc().getExisted() > 0) {
+//      throw new Exception("初始化数据错误:商户余额表数据没有包含所有有效的商户账户余额");
+//    }
 
     //新增科目插入科目余额表(末级科目)
-    List<AccnoBean> newEndsubjectList = subjectDao.getNewSubject();
+    List<String> newEndsubjectList = subjectDao.getNewSubject();
     if (!StringUtil.isEmpty(newEndsubjectList)) {
-      for (AccnoBean bean : newEndsubjectList) {
-        TSubjectbal subjectbal = new TSubjectbal(bean.getAccno());
+      for (String subjno : newEndsubjectList) {
+        TSubjectbal subjectbal = new TSubjectbal(subjno);
         subjectbalDao.save(subjectbal);
       }
     }
@@ -189,36 +189,6 @@
       voucherDao.deleteUnpostVoucher();
     }
 
-    //充值凭证
-//    List<VoucherTemp> dpsList = dpsdtlDao.getVoucherData(String.valueOf(settledate));
-//    if (!StringUtil.isEmpty(dpsList)) {
-//      for (VoucherTemp dps : dpsList) {
-//        saveVoucher(dps);
-//      }
-//    }
-//
-//    List<VoucherTemp> dpsfeeList = dpsdtlDao.getFeeVoucherData(String.valueOf(settledate));
-//    if (!StringUtil.isEmpty(dpsfeeList)) {
-//      for (VoucherTemp dpsfee : dpsfeeList) {
-//        saveVoucher(dpsfee);
-//      }
-//    }
-//
-//    //消费凭证
-//    List<VoucherTemp> payList = transdtlDao.getFeeVoucherData(String.valueOf(settledate));
-//    if (!StringUtil.isEmpty(payList)) {
-//      for (VoucherTemp pay : payList) {
-//        saveVoucher(pay);
-//      }
-//    }
-//
-//    List<VoucherTemp> payfeeList = transdtlDao.getFeeVoucherData(String.valueOf(settledate));
-//    if (!StringUtil.isEmpty(payfeeList)) {
-//      for (VoucherTemp payfee : payfeeList) {
-//        saveVoucher(payfee);
-//      }
-//    }
-
     //用户交易凭证
     List<VoucherTemp> userList = debitCreditDtlDao.getVoucherData(String.valueOf(settledate));
     if (!StringUtil.isEmpty(userList)) {
@@ -249,37 +219,37 @@
       vouchernoCtlDao.save(vouchernoCtl);
     }
 
-    Map<String, Double> v_merchbaldict = new HashMap<String, Double>(0);
-    //根据商户昨天日结表生成当天日结表(交易前余额), 新增商户添加记录(交易前余额为商户余额)
-    List<TShopaccday> lastShopaccdays = shopaccdayDao.getShopaccdayByAccdate(String.valueOf(lastsettday));
-    if (!StringUtil.isEmpty(lastShopaccdays)) {
-      for (TShopaccday lastday : lastShopaccdays) {
-        TShopaccday today = new TShopaccday(String.valueOf(settledate), lastday.getShopaccno(), periodYear, periodMonth, lastday.getBalance(), 0D, 0D, 0D);
-        shopaccdayDao.save(today);
-        v_merchbaldict.put(lastday.getShopaccno(), lastday.getBalance());
-      }
-    }
-    List<TShopaccbal> newShopbals = shopaccbalDao.getUnsettleShopacc(String.valueOf(lastsettday));
-    if (!StringUtil.isEmpty(newShopbals)) {
-      for (TShopaccbal newShopbal : newShopbals) {
-        TShopaccday today = new TShopaccday(String.valueOf(settledate), newShopbal.getShopaccno(), periodYear, periodMonth, newShopbal.getBeginbal(), 0D, 0D, 0D);
-        shopaccdayDao.save(today);
-        v_merchbaldict.put(newShopbal.getShopaccno(), newShopbal.getBeginbal());
-      }
-    }
-    List<MerchBean> merchBeanList = voucherDao.getShopVoucherByAccdate(settledate);
-    if (!StringUtil.isEmpty(merchBeanList)) {
-      for (MerchBean merch : merchBeanList) {
-        TShopaccday merchday = shopaccdayDao.getTShopaccdayById(String.valueOf(settledate), merch.getShopaccno());
-        if (null == merchday) {
-          throw new Exception("商户余额表无此商户账号[" + merch.getShopaccno() + "]");
-        }
-        merchday.setDramt(merch.getDramt() == null ? 0D : merch.getDramt());
-        merchday.setCramt(merch.getCramt() == null ? 0D : merch.getCramt());
-        shopaccdayDao.save(merchday);
-      }
-    }
-    shopaccdayDao.updateShopaccdayBalance(String.valueOf(settledate), systemUtilService.getSysdatetime().getHostdatetime()); //批量更新余额,商户日结表生成
+//    Map<String, Double> v_merchbaldict = new HashMap<String, Double>(0);
+//    //根据商户昨天日结表生成当天日结表(交易前余额), 新增商户添加记录(交易前余额为商户余额)
+//    List<TShopaccday> lastShopaccdays = shopaccdayDao.getShopaccdayByAccdate(String.valueOf(lastsettday));
+//    if (!StringUtil.isEmpty(lastShopaccdays)) {
+//      for (TShopaccday lastday : lastShopaccdays) {
+//        TShopaccday today = new TShopaccday(String.valueOf(settledate), lastday.getShopaccno(), periodYear, periodMonth, lastday.getBalance(), 0D, 0D, 0D);
+//        shopaccdayDao.save(today);
+//        v_merchbaldict.put(lastday.getShopaccno(), lastday.getBalance());
+//      }
+//    }
+//    List<TShopaccbal> newShopbals = shopaccbalDao.getUnsettleShopacc(String.valueOf(lastsettday));
+//    if (!StringUtil.isEmpty(newShopbals)) {
+//      for (TShopaccbal newShopbal : newShopbals) {
+//        TShopaccday today = new TShopaccday(String.valueOf(settledate), newShopbal.getShopaccno(), periodYear, periodMonth, newShopbal.getBeginbal(), 0D, 0D, 0D);
+//        shopaccdayDao.save(today);
+//        v_merchbaldict.put(newShopbal.getShopaccno(), newShopbal.getBeginbal());
+//      }
+//    }
+//    List<MerchBean> merchBeanList = voucherDao.getShopVoucherByAccdate(settledate);
+//    if (!StringUtil.isEmpty(merchBeanList)) {
+//      for (MerchBean merch : merchBeanList) {
+//        TShopaccday merchday = shopaccdayDao.getTShopaccdayById(String.valueOf(settledate), merch.getShopaccno());
+//        if (null == merchday) {
+//          throw new Exception("商户余额表无此商户账号[" + merch.getShopaccno() + "]");
+//        }
+//        merchday.setDramt(merch.getDramt() == null ? 0D : merch.getDramt());
+//        merchday.setCramt(merch.getCramt() == null ? 0D : merch.getCramt());
+//        shopaccdayDao.save(merchday);
+//      }
+//    }
+//    shopaccdayDao.updateShopaccdayBalance(String.valueOf(settledate), systemUtilService.getSysdatetime().getHostdatetime()); //批量更新余额,商户日结表生成
 
     //根据科目昨天日结表生成当天日结表(交易前借贷方余额),新增末级科目插入记录(交易前余额为科目贷方余额)
     List<TSubjectday> lastSubjectDays = subjectdayDao.getAllByAccdate(String.valueOf(lastsettday));
@@ -296,17 +266,17 @@
         subjectdayDao.save(today);
       }
     }
-    List<AccnoBean> newFSubjnos = subjectDao.getNewSubjnos(String.valueOf(settledate)); //新增非末级科目
+    List<String> newFSubjnos = subjectDao.getNewSubjnos(String.valueOf(settledate)); //新增非末级科目
     if (!StringUtil.isEmpty(newFSubjnos)) {
-      for (AccnoBean bean : newFSubjnos) {
+      for (String subjno : newFSubjnos) {
         double beginDrbal = 0;
         double beginCrbal = 0;
-        MerchBean balInfo = subjectbalDao.getSubjectInfo(bean.getAccno()); //统计下级所有科目的交易前余额
+        MerchBean balInfo = subjectbalDao.getSubjectInfo(subjno); //统计下级所有科目的交易前余额
         if (null != balInfo) {
           beginDrbal = (balInfo.getDramt() == null ? 0 : balInfo.getDramt().doubleValue());
           beginCrbal = (balInfo.getCramt() == null ? 0 : balInfo.getCramt().doubleValue());
         }
-        TSubjectday today = new TSubjectday(String.valueOf(settledate), bean.getAccno(), periodYear, periodMonth, beginDrbal, beginCrbal, 0D, 0D, 0D, 0D);
+        TSubjectday today = new TSubjectday(String.valueOf(settledate), subjno, periodYear, periodMonth, beginDrbal, beginCrbal, 0D, 0D, 0D, 0D);
         subjectdayDao.save(today);
       }
     }
@@ -360,23 +330,23 @@
     List<TVoucherEntry> entryList = voucherEntryDao.getVoucherEntryByVoucherdate(settledate);
     if (!StringUtil.isEmpty(entryList)) {
       for (TVoucherEntry vce : entryList) {
-        if (TradeDict.SUBJNO_SHOP.equals(vce.getSubjno())) {
-          //商户科目
-          Double befbal = v_merchbaldict.get(vce.getAccno());
-          if (null == befbal) throw new Exception("商户表商户账号[" + vce.getAccno() + "]不存在");
-          v_merchbaldict.put(vce.getAccno(), MoneyUtil.formatYuan(befbal + vce.getCramt() - vce.getDramt())); //更新余额
-          vce.setBalflag(2);
-          vce.setBalance(v_merchbaldict.get(vce.getAccno()));
-          if (!StringUtil.isEmpty(vce.getOppaccno())) {
-            vce.setOppname(shopaccDao.getShopname(vce.getOppaccno()).getAccname());
-          } else {
-            vce.setOppname(subjectDao.getSubjectname(vce.getOppsubjno()).getAccname());
-          }
-          voucherEntryDao.save(vce);
-          Double befMerchbal = v_subjbaldict.get(vce.getSubjno());
-          if (null == befMerchbal) throw new Exception("商户科目号[" + vce.getSubjno() + "]不存在");
-          v_subjbaldict.put(vce.getSubjno(), MoneyUtil.formatYuan(befMerchbal - vce.getDramt() + vce.getCramt())); //商户科目总余额更新
-        } else {
+//        if (TradeDict.SUBJNO_SHOP.equals(vce.getSubjno())) {
+//          //商户科目
+//          Double befbal = v_merchbaldict.get(vce.getAccno());
+//          if (null == befbal) throw new Exception("商户表商户账号[" + vce.getAccno() + "]不存在");
+//          v_merchbaldict.put(vce.getAccno(), MoneyUtil.formatYuan(befbal + vce.getCramt() - vce.getDramt())); //更新余额
+//          vce.setBalflag(2);
+//          vce.setBalance(v_merchbaldict.get(vce.getAccno()));
+//          if (!StringUtil.isEmpty(vce.getOppaccno())) {
+//            vce.setOppname(shopaccDao.getShopname(vce.getOppaccno()).getAccname());
+//          } else {
+//            vce.setOppname(subjectDao.getSubjectname(vce.getOppsubjno()).getAccname());
+//          }
+//          voucherEntryDao.save(vce);
+//          Double befMerchbal = v_subjbaldict.get(vce.getSubjno());
+//          if (null == befMerchbal) throw new Exception("商户科目号[" + vce.getSubjno() + "]不存在");
+//          v_subjbaldict.put(vce.getSubjno(), MoneyUtil.formatYuan(befMerchbal - vce.getDramt() + vce.getCramt())); //商户科目总余额更新
+//        } else {
           //其他科目
           Integer balflag = v_subjbalflagdict.get(vce.getSubjno());
           Double befbal = v_subjbaldict.get(vce.getSubjno());
@@ -388,28 +358,29 @@
           }
           vce.setBalflag(balflag);
           vce.setBalance(v_subjbaldict.get(vce.getSubjno()));
-          if (!StringUtil.isEmpty(vce.getOppaccno())) {
-            vce.setOppname(shopaccDao.getShopname(vce.getOppaccno()).getAccname());
-          } else {
-            vce.setOppname(subjectDao.getSubjectname(vce.getOppsubjno()).getAccname());
-          }
+//          if (!StringUtil.isEmpty(vce.getOppaccno())) {
+//            vce.setOppname(shopaccDao.getShopname(vce.getOppaccno()).getAccname());
+//          } else {
+            vce.setOppname(subjectDao.getSubjectname(vce.getOppsubjno()));
+//          }
           voucherEntryDao.save(vce);
-        }
+//        }
       }
     }
 
     //开始校验
-    //核算商户日结表商户余额 和凭证明细余额是否一致
-    for (String shopaccno : v_merchbaldict.keySet()) {
-      TShopaccday tShopaccday = shopaccdayDao.getTShopaccdayById(String.valueOf(settledate), shopaccno);
-      if (!MoneyUtil.moneyEqual(v_merchbaldict.get(shopaccno), tShopaccday.getBalance())) {
-        throw new Exception("结算后检查失败:商户余额不等,商户余额[" + tShopaccday.getBalance() + "]凭证商户余额[" + v_merchbaldict.get(shopaccno) + "]");
-      }
-      TShopaccbal tShopaccbal = shopaccbalDao.getOne(shopaccno);
-      tShopaccbal.setBalance(tShopaccday.getBalance());
-      tShopaccbal.setUpdtime(systemUtilService.getSysdatetime().getHostdatetime());
-      shopaccbalDao.save(tShopaccbal);
-    }
+    //核算商户日结表商户余额 和凭证明细余额是否一致 TODO(新商户收入校验逻辑)
+//    for (String shopaccno : v_merchbaldict.keySet()) {
+//      TShopaccday tShopaccday = shopaccdayDao.getTShopaccdayById(String.valueOf(settledate), shopaccno);
+//      if (!MoneyUtil.moneyEqual(v_merchbaldict.get(shopaccno), tShopaccday.getBalance())) {
+//        throw new Exception("结算后检查失败:商户余额不等,商户余额[" + tShopaccday.getBalance() + "]凭证商户余额[" + v_merchbaldict.get(shopaccno) + "]");
+//      }
+//      TShopaccbal tShopaccbal = shopaccbalDao.getOne(shopaccno);
+//      tShopaccbal.setBalance(tShopaccday.getBalance());
+//      tShopaccbal.setUpdtime(systemUtilService.getSysdatetime().getHostdatetime());
+//      shopaccbalDao.save(tShopaccbal);
+//    }
+
     //核算科目日结表科目余额和凭证明细余额是否一致
     for (String subjno : v_subjbaldict.keySet()) {
       TSubjectday tSubjectday = subjectdayDao.getSubjectDayById(String.valueOf(settledate), subjno);
@@ -426,14 +397,16 @@
       tSubjectbal.setUpdtime(systemUtilService.getSysdatetime().getHostdatetime());
       subjectbalDao.save(tSubjectbal);
     }
+
     //核对商户日结表余额表和科目日结表商户余额是否一致
-    TSubjectday shopSubjectday = subjectdayDao.getSubjectDayById(String.valueOf(settledate), TradeDict.SUBJNO_SHOP);
-    AmountBean merchbal = shopaccdayDao.getSumBalance(String.valueOf(settledate));
-    double shopSubbal = (shopSubjectday == null ? 0 : shopSubjectday.getCrbal());
-    double shopMerchbal = ((null == merchbal || null == merchbal.getAmount()) ? 0 : merchbal.getAmount());
-    if (!MoneyUtil.moneyEqual(shopSubbal, shopMerchbal)) {
-      throw new Exception("结算后检查失败:商户日结表和科目日结表期末余额不平衡,商户[" + shopMerchbal + "] 科目[" + shopSubbal + "]");
-    }
+//    TSubjectday shopSubjectday = subjectdayDao.getSubjectDayById(String.valueOf(settledate), TradeDict.SUBJNO_SHOP);
+//    AmountBean merchbal = shopaccdayDao.getSumBalance(String.valueOf(settledate));
+//    double shopSubbal = (shopSubjectday == null ? 0 : shopSubjectday.getCrbal());
+//    double shopMerchbal = ((null == merchbal || null == merchbal.getAmount()) ? 0 : merchbal.getAmount());
+//    if (!MoneyUtil.moneyEqual(shopSubbal, shopMerchbal)) {
+//      throw new Exception("结算后检查失败:商户日结表和科目日结表期末余额不平衡,商户[" + shopMerchbal + "] 科目[" + shopSubbal + "]");
+//    }
+
     //核算一级科目余额是否平衡
     FSubjectInfoBean allParentSubjbal = subjectdayDao.getAllParentSubjectSumInfo(String.valueOf(settledate));
     if (!MoneyUtil.moneyEqual(allParentSubjbal.getBegindrbal(), allParentSubjbal.getBegincrbal())) {
@@ -446,11 +419,11 @@
       throw new Exception("结算后检查失败:一级科目余额表期末额不平衡,借方[" + allParentSubjbal.getDrbal() + "]贷方[" + allParentSubjbal.getCrbal() + "]");
     }
     //校验科目余额表的balflag=1的总期末余额和balflag=2的总期末余额是否一致
-    AmountBean balflag_1_sumbal = subjectbalDao.getSumEndsubjectBalByEndflag(1);
-    AmountBean balflag_2_sumbal = subjectbalDao.getSumEndsubjectBalByEndflag(2);
+    Double balflag_1_sumbal = subjectbalDao.getSumEndsubjectBalByEndflag(1);
+    Double balflag_2_sumbal = subjectbalDao.getSumEndsubjectBalByEndflag(2);
     if (null == balflag_1_sumbal || null == balflag_1_sumbal) throw new Exception("结算后检查失败:科目余额表无数据");
-    if (!MoneyUtil.moneyEqual(balflag_1_sumbal.getAmount(), balflag_2_sumbal.getAmount())) {
-      throw new Exception("结算后检查失败:科目余额表期末余额不平衡,借方[" + balflag_1_sumbal.getAmount() + "],贷方[" + balflag_2_sumbal.getAmount() + "]");
+    if (!MoneyUtil.moneyEqual(balflag_1_sumbal, balflag_2_sumbal)) {
+      throw new Exception("结算后检查失败:科目余额表期末余额不平衡,借方[" + balflag_1_sumbal + "],贷方[" + balflag_2_sumbal + "]");
     }
     //TODO: 校验 账户余额汇总值和科目日结表值是否一致
 
@@ -475,10 +448,10 @@
 //    int prdmonth = settlectl.getPeriodMonth();
     int settday = settlectl.getSettledate();
 
-    List<AccnoBean> newShopList = shopaccDao.getNewAddShopacc(String.valueOf(settday));
+    List<String> newShopList = shopaccDao.getNewAddShopacc(String.valueOf(settday));
     if (!StringUtil.isEmpty(newShopList)) {
-      for (AccnoBean accno : newShopList) {
-        TShopaccbal shopBal = new TShopaccbal(accno.getAccno());
+      for (String accno : newShopList) {
+        TShopaccbal shopBal = new TShopaccbal(accno);
         shopaccbalDao.save(shopBal);
       }
     }
@@ -487,10 +460,10 @@
     }
 
     //新增科目插入科目余额表(末级科目)
-    List<AccnoBean> newEndsubjectList = subjectDao.getNewSubject();
+    List<String> newEndsubjectList = subjectDao.getNewSubject();
     if (!StringUtil.isEmpty(newEndsubjectList)) {
-      for (AccnoBean bean : newEndsubjectList) {
-        TSubjectbal subjectbal = new TSubjectbal(bean.getAccno());
+      for (String subjno : newEndsubjectList) {
+        TSubjectbal subjectbal = new TSubjectbal(subjno);
         subjectbalDao.save(subjectbal);
       }
     }
@@ -561,13 +534,14 @@
       }
 
       if (!StringUtil.isEmpty(entry.getOppaccno())) {
-        entry.setOppname(shopaccDao.getShopname(entry.getOppaccno()).getAccname());
+        entry.setOppname(shopaccDao.getShopname(entry.getOppaccno()));
       } else {
-        entry.setOppname(subjectDao.getSubjectname(entry.getOppsubjno()).getAccname());
+        entry.setOppname(subjectDao.getSubjectname(entry.getOppsubjno()));
       }
       voucherEntryDao.save(entry);
     }
 
     return true;
   }
+
 }