From: Xia Kaixiang Date: Fri, 12 Apr 2019 10:35:03 +0000 (+0800) Subject: 结算排除商户余额计算逻辑 X-Git-Tag: 1.0.0^2~299 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=48503ebc7f27edb846e45c2cc99e5f50a4bcb514;p=epayment%2Ffood_payapi.git 结算排除商户余额计算逻辑 --- 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 220ff83d..b5004e3e 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.consume.domain.TDebitCreditDtlPK; 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 { - @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 getVoucherData(@RequestParam("settledate") String settledate); - + "group by a.drsubjno,a.crsubjno,a.summary ", nativeQuery = true) + List getVoucherData(@Param("settledate") String settledate); List 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 688df2e4..8ec82caf 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 com.supwisdom.dlpay.framework.domain.TPeriodPK; 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 { @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 5a80eab0..07dcd701 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 com.supwisdom.dlpay.framework.domain.TSettlectl; 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 { - @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 e7a7a992..89cf5927 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 @@ import java.util.List; public interface ShopaccDao extends JpaRepository { @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 getNewShopacc(); + List 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 getNewAddShopacc(@RequestParam("settday") String settday); + List 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 2bd91c0a..1721e6ec 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 com.supwisdom.dlpay.framework.domain.TShopaccbal; 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 @@ import java.util.List; public interface ShopaccbalDao extends JpaRepository { @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 getUnsettleShopacc(@RequestParam("lastsettday") String lastsettday); + List 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 7ea21f6b..b7acdb3f 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 @@ import java.util.List; public interface ShopaccdayDao extends JpaRepository { @Query(value = "from TShopaccday t where t.accdate=:accdate ") - List getShopaccdayByAccdate(@RequestParam("accdate") String accdate); + List 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 480750b1..a694eaac 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 @@ import java.util.List; public interface SubjectDao extends JpaRepository { @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 getNewSubject(); + List 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 getNewSubjnos(@RequestParam("accdate") String accdate); + List 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 3aacfe3c..71940c47 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 com.supwisdom.dlpay.framework.domain.TSubjectbal; 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 @@ import java.util.List; public interface SubjectbalDao extends JpaRepository { @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 getUnsettleSubjectbal(@RequestParam("lastsettday") String lastsettday); + List 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 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 bd0f3113..fb103623 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.TSubjectday; 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 @@ import java.util.List; public interface SubjectdayDao extends JpaRepository { @Query(value = "from TSubjectday where accdate=:accdate ") - List getAllByAccdate(@RequestParam("accdate") String accdate); + List 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 getEndSubjectbalInfos(@RequestParam("accdate") String accdate); + List 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 getParentSubjectday(@RequestParam("accdate") String accdate); + List 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 e9b3a37a..9199a6a9 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 com.supwisdom.dlpay.framework.domain.TTaskLock; 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 @@ public interface TaskLockDao extends JpaRepository { @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 f331a6b1..18a4769d 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 com.supwisdom.dlpay.framework.domain.TVoucher; 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 { - @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 @@ public interface VoucherDao extends JpaRepository { "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 getShopVoucherByAccdate(@RequestParam("settledate")Integer settledate); + List 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 2bb46642..893bd2a6 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 com.supwisdom.dlpay.framework.domain.TVoucherEntryPK; 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 @@ public interface VoucherEntryDao extends JpaRepository getVoucherEntryByVoucherdate(@RequestParam("voucherdate") Integer voucherdate); + List getVoucherEntryByVoucherdate(@Param("voucherdate") Integer voucherdate); @Lock(LockModeType.PESSIMISTIC_FORCE_INCREMENT) @Query(value = "from TVoucherEntry t where t.voucherid=:voucherid ") - List getVoucherEntryByVoucherid(@RequestParam("voucherid")String voucherid); + List 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 51d31944..62d38279 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 com.supwisdom.dlpay.framework.domain.TVouchernoCtl; 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 { @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 6e0a3129..00000000 --- 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 c0869263..00000000 --- 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 c0797550..00000000 --- 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 d4f695ae..a7691fcd 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 ee4e4d48..8a38e41c 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 @@ package com.supwisdom.dlpay.framework.data; 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 ffefda14..b57c657f 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { } } - //新增商户插入商户余额表 - List 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 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 newEndsubjectList = subjectDao.getNewSubject(); + List 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { voucherDao.deleteUnpostVoucher(); } - //充值凭证 -// List dpsList = dpsdtlDao.getVoucherData(String.valueOf(settledate)); -// if (!StringUtil.isEmpty(dpsList)) { -// for (VoucherTemp dps : dpsList) { -// saveVoucher(dps); -// } -// } -// -// List dpsfeeList = dpsdtlDao.getFeeVoucherData(String.valueOf(settledate)); -// if (!StringUtil.isEmpty(dpsfeeList)) { -// for (VoucherTemp dpsfee : dpsfeeList) { -// saveVoucher(dpsfee); -// } -// } -// -// //消费凭证 -// List payList = transdtlDao.getFeeVoucherData(String.valueOf(settledate)); -// if (!StringUtil.isEmpty(payList)) { -// for (VoucherTemp pay : payList) { -// saveVoucher(pay); -// } -// } -// -// List payfeeList = transdtlDao.getFeeVoucherData(String.valueOf(settledate)); -// if (!StringUtil.isEmpty(payfeeList)) { -// for (VoucherTemp payfee : payfeeList) { -// saveVoucher(payfee); -// } -// } - //用户交易凭证 List userList = debitCreditDtlDao.getVoucherData(String.valueOf(settledate)); if (!StringUtil.isEmpty(userList)) { @@ -249,37 +219,37 @@ public class DayendSettleServiceImpl implements DayendSettleService { vouchernoCtlDao.save(vouchernoCtl); } - Map v_merchbaldict = new HashMap(0); - //根据商户昨天日结表生成当天日结表(交易前余额), 新增商户添加记录(交易前余额为商户余额) - List 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 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 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 v_merchbaldict = new HashMap(0); +// //根据商户昨天日结表生成当天日结表(交易前余额), 新增商户添加记录(交易前余额为商户余额) +// List 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 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 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 lastSubjectDays = subjectdayDao.getAllByAccdate(String.valueOf(lastsettday)); @@ -296,17 +266,17 @@ public class DayendSettleServiceImpl implements DayendSettleService { subjectdayDao.save(today); } } - List newFSubjnos = subjectDao.getNewSubjnos(String.valueOf(settledate)); //新增非末级科目 + List 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { List 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { } 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { // int prdmonth = settlectl.getPeriodMonth(); int settday = settlectl.getSettledate(); - List newShopList = shopaccDao.getNewAddShopacc(String.valueOf(settday)); + List 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { } //新增科目插入科目余额表(末级科目) - List newEndsubjectList = subjectDao.getNewSubject(); + List 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 @@ public class DayendSettleServiceImpl implements DayendSettleService { } 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; } + }