Commit 48ee0c3d by yinyong

资产负债表--导入当天数据:应收款项-导入、其他应收款项-导入、其他应付-导入、固定资产-导入、递延所得税资产-导入,初始化资产负债,凌晨更新数据判断调整

parent a0f8fe24
...@@ -97,4 +97,17 @@ public class DcBalanceSheet { ...@@ -97,4 +97,17 @@ public class DcBalanceSheet {
private Date statisticalTime; private Date statisticalTime;
private Date updateTime; private Date updateTime;
private BigDecimal accountsReceivableUpdate;
private BigDecimal accountsReceivableImport;
private BigDecimal otherAccountsReceivableImport;
private BigDecimal otherAccountsPayableImport;
private BigDecimal fixedAssetsImport;
private BigDecimal ncaDeferredTaxAssetsImport;
} }
\ No newline at end of file
...@@ -12,6 +12,8 @@ public interface DcBalanceSheetMapper { ...@@ -12,6 +12,8 @@ public interface DcBalanceSheetMapper {
@Insert("insert into dc_balance_sheet(company_value,company_name,statistical_time) values (#{companyValue},#{companyName},#{lastDay})") @Insert("insert into dc_balance_sheet(company_value,company_name,statistical_time) values (#{companyValue},#{companyName},#{lastDay})")
Integer insertBalanceSheet(@Param("companyValue") Integer companyValue, @Param("companyName") String companyName, @Param("lastDay") Date lastDay); Integer insertBalanceSheet(@Param("companyValue") Integer companyValue, @Param("companyName") String companyName, @Param("lastDay") Date lastDay);
@Select("select * from dc_balance_sheet where statistical_time = #{lastDay} and company_value = #{companyValue} and company_name = #{companyName} limit 1")
DcBalanceSheet getDcBalanceSheetInit(@Param("companyValue") Integer companyValue, @Param("companyName") String companyName, @Param("lastDay") Date lastDay);
/** /**
* 短期借款均属于广州百伦 * 短期借款均属于广州百伦
* @param shortTermBorrow * @param shortTermBorrow
...@@ -137,9 +139,15 @@ public interface DcBalanceSheetMapper { ...@@ -137,9 +139,15 @@ public interface DcBalanceSheetMapper {
@ResultMap("com.bailuntec.balancesheet.mapper.DcBalanceSheetMapper.BaseResultMap") @ResultMap("com.bailuntec.balancesheet.mapper.DcBalanceSheetMapper.BaseResultMap")
DcBalanceSheet selectByPrimaryKey(Integer id); DcBalanceSheet selectByPrimaryKey(Integer id);
@Select({"select logistics_accounts_payable from dc_balance_sheet where statistical_time = #{date}"})
BigDecimal getLogisticsAccountsPayableInit(@Param("date") Date date);
@Select({"select finished_accounts_payable from dc_balance_sheet where statistical_time = #{date}"}) @Select({"select finished_accounts_payable from dc_balance_sheet where statistical_time = #{date}"})
BigDecimal getLogisticsAccountsPayableSum(@Param("date") Date date); BigDecimal getLogisticsAccountsPayableSum(@Param("date") Date date);
@Select("select finished_accounts_payable from dc_balance_sheet where statistical_time <= #{lastDay} and finished_accounts_payable > 0 order by finished_accounts_payable desc limit 1 ")
BigDecimal getLogisticsAccountsPayableSumByOld(@Param("date") Date date);
@Select("select sum((amount - ifnull(had_pay, 0) + ifnull(compensate, 0)) * to_rmb_rate) from dc_daily_fee where recoed_time = #{lastDay} and company_value in (53,3,5,60,66,59,50,8,1,61,2,70)") @Select("select sum((amount - ifnull(had_pay, 0) + ifnull(compensate, 0)) * to_rmb_rate) from dc_daily_fee where recoed_time = #{lastDay} and company_value in (53,3,5,60,66,59,50,8,1,61,2,70)")
BigDecimal getAmountBorrowed(@Param("lastDay") Date lastDay); BigDecimal getAmountBorrowed(@Param("lastDay") Date lastDay);
...@@ -152,9 +160,18 @@ public interface DcBalanceSheetMapper { ...@@ -152,9 +160,18 @@ public interface DcBalanceSheetMapper {
@Select("select accounts_receivable_update from dc_balance_sheet where statistical_time = #{lastDay} ") @Select("select accounts_receivable_update from dc_balance_sheet where statistical_time = #{lastDay} ")
BigDecimal getAccountsReceivableUpdate(@Param("lastDay") Date lastDay); BigDecimal getAccountsReceivableUpdate(@Param("lastDay") Date lastDay);
@Select("select platform_balance from dc_balance_sheet where statistical_time = #{lastDay}")
BigDecimal getPlatformBalanceUpdate(@Param("lastDay") Date lastDay);
@Select("select platform_balance from dc_balance_sheet where statistical_time <= #{lastDay} and platform_balance > 0 order by statistical_time desc limit 1") @Select("select platform_balance from dc_balance_sheet where statistical_time <= #{lastDay} and platform_balance > 0 order by statistical_time desc limit 1")
BigDecimal getPlatformBalanceSum(@Param("lastDay") Date lastDay); BigDecimal getPlatformBalanceSum(@Param("lastDay") Date lastDay);
@Select("select other_accounts_receivable_import from dc_balance_sheet where statistical_time = #{lastDay}")
BigDecimal getOtherAccountsReceivableImport(@Param("lastDay") Date lastDay);
@Select("select other_accounts_receivable_import from dc_balance_sheet where statistical_time = #{lastDay}")
BigDecimal getFixedAssetsImport(@Param("lastDay") Date lastDay);
int updateByPrimaryKeySelective(DcBalanceSheet record); int updateByPrimaryKeySelective(DcBalanceSheet record);
@Update({ @Update({
......
...@@ -575,15 +575,23 @@ public class BalanceSheetService { ...@@ -575,15 +575,23 @@ public class BalanceSheetService {
if(semiAccountsPayableSum == null) semiAccountsPayableSum = BigDecimal.ZERO; if(semiAccountsPayableSum == null) semiAccountsPayableSum = BigDecimal.ZERO;
dcBalanceSheet.setSemiAccountsPayable(semiAccountsPayableSum); dcBalanceSheet.setSemiAccountsPayable(semiAccountsPayableSum);
// 物流供应商应付款项 // 物流供应商应付款项
BigDecimal logisticsAccountsPayableSum = dcBalanceSheetMapper.getLogisticsAccountsPayableSum(date); BigDecimal logisticsAccountsPayableSum = dcBalanceSheetMapper.getLogisticsAccountsPayableInit(date);
if(logisticsAccountsPayableSum == null) logisticsAccountsPayableSum = BigDecimal.ZERO; if(logisticsAccountsPayableSum == null) {
logisticsAccountsPayableSum = dcBalanceSheetMapper.getLogisticsAccountsPayableSum(date);
if(logisticsAccountsPayableSum == null){
logisticsAccountsPayableSum = dcBalanceSheetMapper.getLogisticsAccountsPayableSumByOld(date);
}
}
dcBalanceSheet.setLogisticsAccountsPayable(logisticsAccountsPayableSum); dcBalanceSheet.setLogisticsAccountsPayable(logisticsAccountsPayableSum);
// 应付款项 // 应付款项
BigDecimal accountsPayableSum = finishedAccountsPayableSum.add(semiAccountsPayableSum).add(logisticsAccountsPayableSum); BigDecimal accountsPayableSum = finishedAccountsPayableSum.add(semiAccountsPayableSum).add(logisticsAccountsPayableSum);
dcBalanceSheet.setAccountsPayable(accountsPayableSum); dcBalanceSheet.setAccountsPayable(accountsPayableSum);
// 应收款项 // 应收款项
BigDecimal accountsReceivableSum = dcSupplierTransactionMapper.getAccountsReceivable(date); BigDecimal accountsReceivableSum = dcBalanceSheetMapper.getAccountsReceivableImport(date);
if(accountsReceivableSum == null) accountsReceivableSum = BigDecimal.ZERO; if(accountsReceivableSum == null) {
accountsReceivableSum = dcSupplierTransactionMapper.getAccountsReceivable(date);
if(accountsReceivableSum == null) accountsReceivableSum = BigDecimal.ZERO;
}
dcBalanceSheet.setAccountsReceivable(accountsReceivableSum); dcBalanceSheet.setAccountsReceivable(accountsReceivableSum);
// 成品供应商预付款项 // 成品供应商预付款项
BigDecimal finishedPrepaymentSum = dcSupplierTransactionMapper.getFinishedPrepaymentSum(date); BigDecimal finishedPrepaymentSum = dcSupplierTransactionMapper.getFinishedPrepaymentSum(date);
...@@ -609,11 +617,18 @@ public class BalanceSheetService { ...@@ -609,11 +617,18 @@ public class BalanceSheetService {
public void updateSheetSuppliserTransaction(String dateStr, BigDecimal logisticsPayableSum, BigDecimal accountsReceivableUpdate,BigDecimal accountsReceivableImport, BigDecimal otherAccountsReceivableImport, BigDecimal otherAccountsPayableImport, BigDecimal fixedAssetsImport, BigDecimal ncaDeferredTaxAssetsImport, BigDecimal platformBalanceUpdate) throws ParseException { public void updateSheetSuppliserTransaction(String dateStr, BigDecimal logisticsPayableSum, BigDecimal accountsReceivableUpdate,BigDecimal accountsReceivableImport, BigDecimal otherAccountsReceivableImport, BigDecimal otherAccountsPayableImport, BigDecimal fixedAssetsImport, BigDecimal ncaDeferredTaxAssetsImport, BigDecimal platformBalanceUpdate) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(dateStr); Date date = simpleDateFormat.parse(dateStr);
// 生成资产负债表
DcBalanceSheet dcBalanceSheetInit = dcBalanceSheetMapper.getDcBalanceSheetInit(0, "百伦供应链", date);
if(dcBalanceSheetInit == null) {
dcBalanceSheetMapper.insertBalanceSheet(0, "百伦供应链", date);
}
DcBalanceSheet dcBalanceSheet = new DcBalanceSheet();//物流供应商、成品供应商、半成品供应商 DcBalanceSheet dcBalanceSheet = new DcBalanceSheet();//物流供应商、成品供应商、半成品供应商
if(logisticsPayableSum != null) { if(logisticsPayableSum != null) {
// 成品供应商应付款项 // 成品供应商应付款项
BigDecimal finishedAccountsPayableSum = dcSupplierTransactionMapper.getFinishedAccountsPayableSum(date); BigDecimal finishedAccountsPayableSum = dcSupplierTransactionMapper.getFinishedAccountsPayableSum(date);
if(finishedAccountsPayableSum == null) finishedAccountsPayableSum = BigDecimal.ZERO; if(finishedAccountsPayableSum == null){
finishedAccountsPayableSum = dcBalanceSheetMapper.getFinashedAccountSumByOld(date);
}
dcBalanceSheet.setFinishedAccountsPayable(finishedAccountsPayableSum); dcBalanceSheet.setFinishedAccountsPayable(finishedAccountsPayableSum);
// 半成品供应商应付款项 // 半成品供应商应付款项
BigDecimal semiAccountsPayableSum = dcSupplierTransactionMapper.getSemiAccountsPayableSum(date); BigDecimal semiAccountsPayableSum = dcSupplierTransactionMapper.getSemiAccountsPayableSum(date);
...@@ -630,6 +645,7 @@ public class BalanceSheetService { ...@@ -630,6 +645,7 @@ public class BalanceSheetService {
// 应收款项--计算更改 // 应收款项--计算更改
BigDecimal accountsReceivableImportSum = dcBalanceSheetMapper.getAccountsReceivableImport(date); BigDecimal accountsReceivableImportSum = dcBalanceSheetMapper.getAccountsReceivableImport(date);
if(accountsReceivableImportSum == null) accountsReceivableImportSum = BigDecimal.ZERO; if(accountsReceivableImportSum == null) accountsReceivableImportSum = BigDecimal.ZERO;
dcBalanceSheet.setAccountsReceivableUpdate(accountsReceivableUpdate);
dcBalanceSheet.setAccountsReceivable(accountsReceivableUpdate.add(accountsReceivableImportSum)); dcBalanceSheet.setAccountsReceivable(accountsReceivableUpdate.add(accountsReceivableImportSum));
} }
...@@ -640,6 +656,7 @@ public class BalanceSheetService { ...@@ -640,6 +656,7 @@ public class BalanceSheetService {
accountsReceivableUpdateSum = dcSupplierTransactionMapper.getAccountsReceivable(date); accountsReceivableUpdateSum = dcSupplierTransactionMapper.getAccountsReceivable(date);
if(accountsReceivableUpdateSum == null) accountsReceivableUpdateSum = BigDecimal.ZERO; if(accountsReceivableUpdateSum == null) accountsReceivableUpdateSum = BigDecimal.ZERO;
} }
dcBalanceSheet.setAccountsReceivableImport(accountsReceivableImport);
dcBalanceSheet.setAccountsReceivable(accountsReceivableUpdateSum.add(accountsReceivableImport)); dcBalanceSheet.setAccountsReceivable(accountsReceivableUpdateSum.add(accountsReceivableImport));
} }
...@@ -651,6 +668,7 @@ public class BalanceSheetService { ...@@ -651,6 +668,7 @@ public class BalanceSheetService {
// 其他应收款 // 其他应收款
/*BigDecimal otherAccountsReceivable = dcOtherCostMapper.getOtherAccountsReceivableSum(date); // 其他应收款(加借支单未还金额) /*BigDecimal otherAccountsReceivable = dcOtherCostMapper.getOtherAccountsReceivableSum(date); // 其他应收款(加借支单未还金额)
if(otherAccountsReceivable == null) otherAccountsReceivable = BigDecimal.ZERO;*/ if(otherAccountsReceivable == null) otherAccountsReceivable = BigDecimal.ZERO;*/
dcBalanceSheet.setOtherAccountsReceivableImport(otherAccountsReceivableImport);
dcBalanceSheet.setOtherAccountsReceivable(amountBorrowedSum.add(otherAccountsReceivableImport)); dcBalanceSheet.setOtherAccountsReceivable(amountBorrowedSum.add(otherAccountsReceivableImport));
} }
...@@ -658,6 +676,7 @@ public class BalanceSheetService { ...@@ -658,6 +676,7 @@ public class BalanceSheetService {
// 其他应付款 // 其他应付款
/*BigDecimal otherAccountsPayable = dcOtherCostMapper.getOtherAccountsPayableSum(date); /*BigDecimal otherAccountsPayable = dcOtherCostMapper.getOtherAccountsPayableSum(date);
if(otherAccountsPayable == null) otherAccountsPayable = BigDecimal.ZERO;*/ if(otherAccountsPayable == null) otherAccountsPayable = BigDecimal.ZERO;*/
dcBalanceSheet.setOtherAccountsPayableImport(otherAccountsPayableImport);
dcBalanceSheet.setOtherAccountsPayable(otherAccountsPayableImport); dcBalanceSheet.setOtherAccountsPayable(otherAccountsPayableImport);
} }
...@@ -665,11 +684,13 @@ public class BalanceSheetService { ...@@ -665,11 +684,13 @@ public class BalanceSheetService {
// 固定资产 // 固定资产
BigDecimal fixedAssetsSum = dcFixedAssetsDetailMapper.getFixedAssetsSum(date); BigDecimal fixedAssetsSum = dcFixedAssetsDetailMapper.getFixedAssetsSum(date);
if(fixedAssetsSum == null) fixedAssetsSum = BigDecimal.ZERO; if(fixedAssetsSum == null) fixedAssetsSum = BigDecimal.ZERO;
dcBalanceSheet.setFixedAssetsImport(fixedAssetsImport);
dcBalanceSheet.setFixedAssets(fixedAssetsSum.add(fixedAssetsImport)); dcBalanceSheet.setFixedAssets(fixedAssetsSum.add(fixedAssetsImport));
} }
if(ncaDeferredTaxAssetsImport != null) { if(ncaDeferredTaxAssetsImport != null) {
// 递延所得税资产 // 递延所得税资产
dcBalanceSheet.setNcaDeferredTaxAssetsImport(ncaDeferredTaxAssetsImport);
dcBalanceSheet.setNcaDeferredTaxAssets(ncaDeferredTaxAssetsImport); dcBalanceSheet.setNcaDeferredTaxAssets(ncaDeferredTaxAssetsImport);
} }
...@@ -782,8 +803,10 @@ public class BalanceSheetService { ...@@ -782,8 +803,10 @@ public class BalanceSheetService {
@Transactional @Transactional
public void generateBalanceSheet(Integer companyValue, String companyName, Date date) { public void generateBalanceSheet(Integer companyValue, String companyName, Date date) {
// 生成资产负债表 // 生成资产负债表
dcBalanceSheetMapper.insertBalanceSheet(companyValue, companyName, date); DcBalanceSheet dcBalanceSheetInit = dcBalanceSheetMapper.getDcBalanceSheetInit(companyValue, companyName, date);
if(dcBalanceSheetInit == null) {
dcBalanceSheetMapper.insertBalanceSheet(companyValue, companyName, date);
}
DcBalanceSheet dcBalanceSheet = new DcBalanceSheet(); DcBalanceSheet dcBalanceSheet = new DcBalanceSheet();
// 银行账户余额汇总 // 银行账户余额汇总
BigDecimal bankAccountBalanceSum = dcBankAccountBalanceMapper.getBalanceSum(date); BigDecimal bankAccountBalanceSum = dcBankAccountBalanceMapper.getBalanceSum(date);
...@@ -794,9 +817,12 @@ public class BalanceSheetService { ...@@ -794,9 +817,12 @@ public class BalanceSheetService {
if(withdrawOnWaySum == null) withdrawOnWaySum = BigDecimal.ZERO; if(withdrawOnWaySum == null) withdrawOnWaySum = BigDecimal.ZERO;
dcBalanceSheet.setWithdrawAmount(withdrawOnWaySum); dcBalanceSheet.setWithdrawAmount(withdrawOnWaySum);
// 第三方平台余额 // 第三方平台余额
BigDecimal platformBalanceSum = dcPlatformBalanceMapper.getPlatformBalanceSum(date); BigDecimal platformBalanceSum = dcBalanceSheetMapper.getPlatformBalanceUpdate(date);
if(platformBalanceSum == null) { if(platformBalanceSum == null) {
platformBalanceSum = dcBalanceSheetMapper.getPlatformBalanceSum(date); platformBalanceSum = dcPlatformBalanceMapper.getPlatformBalanceSum(date);
if(platformBalanceSum == null) {
platformBalanceSum = dcBalanceSheetMapper.getPlatformBalanceSum(date);
}
} }
dcBalanceSheet.setPlatformBalance(platformBalanceSum); dcBalanceSheet.setPlatformBalance(platformBalanceSum);
// 货币资金 // 货币资金
...@@ -812,14 +838,18 @@ public class BalanceSheetService { ...@@ -812,14 +838,18 @@ public class BalanceSheetService {
// 其他应收款、其他应付款 // 其他应收款、其他应付款
/*BigDecimal otherAccountsReceivable = dcOtherCostMapper.getOtherAccountsReceivableSum(date); // 其他应收款(加借支单未还金额) /*BigDecimal otherAccountsReceivable = dcOtherCostMapper.getOtherAccountsReceivableSum(date); // 其他应收款(加借支单未还金额)
if(otherAccountsReceivable == null) otherAccountsReceivable = BigDecimal.ZERO;*/ if(otherAccountsReceivable == null) otherAccountsReceivable = BigDecimal.ZERO;*/
dcBalanceSheet.setOtherAccountsReceivable(amountBorrowedSum); BigDecimal otherAccountsReceivableImport = dcBalanceSheetMapper.getOtherAccountsReceivableImport(date);
if(otherAccountsReceivableImport == null) otherAccountsReceivableImport = BigDecimal.ZERO;
dcBalanceSheet.setOtherAccountsReceivable(amountBorrowedSum.add(otherAccountsReceivableImport));
/*BigDecimal otherAccountsPayable = dcOtherCostMapper.getOtherAccountsPayableSum(date); // 其他应付款 /*BigDecimal otherAccountsPayable = dcOtherCostMapper.getOtherAccountsPayableSum(date); // 其他应付款
if(otherAccountsPayable == null) otherAccountsPayable = BigDecimal.ZERO; if(otherAccountsPayable == null) otherAccountsPayable = BigDecimal.ZERO;
dcBalanceSheet.setOtherAccountsPayable(otherAccountsPayable);*/ dcBalanceSheet.setOtherAccountsPayable(otherAccountsPayable);*/
// 固定资产 // 固定资产
BigDecimal fixedAssetsSum = dcFixedAssetsDetailMapper.getFixedAssetsSum(date); BigDecimal fixedAssetsSum = dcFixedAssetsDetailMapper.getFixedAssetsSum(date);
if(fixedAssetsSum == null) fixedAssetsSum = BigDecimal.ZERO; if(fixedAssetsSum == null) fixedAssetsSum = BigDecimal.ZERO;
dcBalanceSheet.setFixedAssets(fixedAssetsSum); BigDecimal fixedAssetsImport = dcBalanceSheetMapper.getFixedAssetsImport(date);
if(fixedAssetsImport == null) fixedAssetsImport = BigDecimal.ZERO;
dcBalanceSheet.setFixedAssets(fixedAssetsSum.add(fixedAssetsImport));
dcBalanceSheet.setCompanyValue(companyValue); dcBalanceSheet.setCompanyValue(companyValue);
dcBalanceSheet.setStatisticalTime(date); dcBalanceSheet.setStatisticalTime(date);
......
...@@ -386,6 +386,24 @@ ...@@ -386,6 +386,24 @@
<if test="ncaDeferredTaxAssets != null"> <if test="ncaDeferredTaxAssets != null">
nca_deferred_tax_assets = #{ncaDeferredTaxAssets,jdbcType=DECIMAL}, nca_deferred_tax_assets = #{ncaDeferredTaxAssets,jdbcType=DECIMAL},
</if> </if>
<if test="accountsReceivableUpdate != null">
accounts_receivable_update = #{accountsReceivableUpdate},
</if>
<if test="accountsReceivableImport != null">
accounts_receivable_import = #{accountsReceivableImport},
</if>
<if test="otherAccountsReceivableImport != null">
other_accounts_receivable_import = #{otherAccountsReceivableImport},
</if>
<if test="otherAccountsPayableImport != null">
other_accounts_payable_import = #{otherAccountsPayableImport},
</if>
<if test="fixedAssetsImport != null">
fixed_assets_import = #{fixedAssetsImport},
</if>
<if test="ncaDeferredTaxAssetsImport != null">
nca_deferred_tax_assets_import = #{ncaDeferredTaxAssetsImport}
</if>
</set> </set>
where company_value = #{companyValue,jdbcType=INTEGER} and statistical_time = #{statisticalTime,jdbcType=DATE} where company_value = #{companyValue,jdbcType=INTEGER} and statistical_time = #{statisticalTime,jdbcType=DATE}
</update> </update>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment