Commit 79a2050f by huluobin

新资产负债表

parent 776eb93e
package com.bailuntec.job.service;
import com.bailuntec.common.BeanUtils;
import com.bailuntec.common.ListUtil;
import com.bailuntec.cost.api.CostApi;
import com.bailuntec.cost.api.dto.CostDto;
import com.bailuntec.cost.api.dto.ManageCostDto;
......@@ -36,6 +37,10 @@ import java.util.List;
@Service
public class SyncFeeService {
public static final String baseSyncFinanceFee = "base-sync-finance-fee";
public static final String baseSyncLogistics = "base-sync-logistics";
public static final String baseSyncManageCost = "base-sync-manage-cost";
public static final String baseSyncDailyFee = "base-sync-daily-fee";
@Resource
DcJobConfigMapper dcJobConfigMapper;
......@@ -48,18 +53,21 @@ public class SyncFeeService {
@Resource
DcBaseFinanceManagecostMapper dcBaseFinanceManagecostMapper;
public static final String baseSyncFinanceFee = "base-sync-finance-fee";
public static final String baseSyncLogistics = "base-sync-logistics";
public static final String baseSyncManageCost = "base-sync-manage-cost";
public static final String baseSyncDailyFee = "base-sync-daily-fee";
@Transactional
public void syncFinanceFee() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(baseSyncFinanceFee);
Integer pageNum = 1;
Integer pageSize = 100;
for (; ; ) {
CostResult<List<CostDto>> result = costApi.getCostList(dcJobConfig.getStartTimeStr(),
dcJobConfig.getEndTimeStr());
dcJobConfig.getEndTimeStr(),
pageNum,
pageSize);
if (ListUtil.isEmpty(result.getData())) {
break;
}
result.getData().forEach(costDto -> {
DcBaseFinanceFee dcBaseFinanceFee = new DcBaseFinanceFee();
BeanUtils.copyProperties(costDto, dcBaseFinanceFee, "id");
......@@ -73,6 +81,9 @@ public class SyncFeeService {
}
log.info("同步一条费用单,costNo:{}", costDto.getCostNo());
});
pageNum++;
}
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
......@@ -146,8 +157,8 @@ public class SyncFeeService {
public void syncDailyFee() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(baseSyncDailyFee);
LocalDate date = dcJobConfig.getStartTime().toLocalDate();
dcBaseFinanceFeeMapper.deleteDailyFee(date.minusDays(1L));
dcBaseFinanceFeeMapper.insertDailyFee(date.minusDays(1L));
dcBaseFinanceFeeMapper.deleteDailyFee(date);
dcBaseFinanceFeeMapper.insertDailyFee(date);
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
......
......@@ -10,14 +10,8 @@ spring:
driver-class-name: com.mysql.jdbc.Driver
main:
allow-bean-definition-overriding: true
#mybatis plus 配置
mybatis-plus:
mapper-locations:
- classpath*:com/bailuntec/mapper/*.xml
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#
profiles:
active: test
feign:
......
package com.bailuntec.job.service;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import javax.annotation.Resource;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/1 3:27 下午
*/
@SpringBootTest(classes = TestApp.class)
class SyncFeeServiceTest extends AbstractTestNGSpringContextTests {
@Resource
SyncFeeService syncFeeService;
@Test
void syncFinanceFee() {
syncFeeService.syncFinanceFee();
}
@Test
void syncLogistics() {
}
@Test
void syncManageCost() {
}
@Test
void syncDailyFee() {
}
}
package com.bailuntec.job.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootVersion;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.core.SpringVersion;
import org.springframework.test.context.ActiveProfiles;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/1 3:28 下午
*/
@EnableFeignClients(basePackages = {"com.bailuntec.api", "com.bailuntec.*.api"})
@Slf4j
@SpringBootApplication(scanBasePackages = "com.bailuntec")
@ActiveProfiles("test")
public class TestApp {
public static void main(String[] args) {
String version = SpringVersion.getVersion();
String version1 = SpringBootVersion.getVersion();
log.info("SpringVersion {}", version);
log.info("SpringBootVersion {}", version1);
SpringApplication.run(TestApp.class, args);
}
}
spring:
# 服务名称
application:
name: base-sync-fee
# 数据配置
datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datacenter?serverTimezone=GMT%2B8&characterEncoding=utf-8
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
main:
allow-bean-definition-overriding: true
profiles:
active: test
#mybatis plus 配置
mybatis-plus:
mapper-locations:
- classpath*:com/bailuntec/mapper/*.xml
# configuration:
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#
feign:
hystrix:
enabled: false
client:
config:
default:
connectTimeout: 30000
readTimeout: 30000
......@@ -20,6 +20,12 @@
<skipTests>true</skipTests>
</properties>
<dependencies>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
......@@ -28,7 +34,7 @@
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.3.RELEASE</version>
<configuration>
<mainClass>com.bailuntec.job.BalanceSheetApp</mainClass>
<mainClass>com.bailuntec.BalanceSheetApp</mainClass>
</configuration>
<executions>
<execution>
......
package com.bailuntec.job;
package com.bailuntec;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
......@@ -16,7 +16,6 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*/
@SpringBootApplication
@EnableScheduling
@ComponentScan("com.bailuntec")
@EnableFeignClients(basePackages = {"com.bailuntec.api", "com.bailuntec.*.api"})
public class BalanceSheetApp {
......
package com.bailuntec;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* <p>
* Swagger2配置类
* </p>
*
* @author robbendev
*/
@Configuration
@EnableSwagger2
public class Swagger2Config {
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
*
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.bailuntec"))
.paths(PathSelectors.any())
.build()
;
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
*
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("资产负债表接口文档")
.description("")
.version("1.0")
.build();
}
}
package com.bailuntec.interfaces;
import com.bailuntec.application.IDcBalanceSheetNewModifyService;
import com.bailuntec.common.base.BaseResult;
import com.bailuntec.domain.DcBalanceSheetNewModify;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/12/3 1:41 下午
*/
@Api(tags = "资产负债表接口")
@RestController
@RequestMapping("/balanceSheetModify")
public class BalanceSheetModifyController {
@Resource
IDcBalanceSheetNewModifyService dcBalanceSheetNewModifyService;
@ApiOperation("资产负债表录入")
@PostMapping("/record")
public BaseResult<Void> record(@RequestBody DcBalanceSheetNewModify dcBalanceSheetNewModify) {
dcBalanceSheetNewModifyService.record(dcBalanceSheetNewModify);
return BaseResult.success();
}
}
......@@ -120,5 +120,25 @@ public class BalanceSheetJob {
}
}
/**
* 每天 生成新资产负债结果表
* companyValue 0
* companyName 百伦供应链
* <p>
* {@link}
* </p>
* 数据来源
*/
@Scheduled(cron = "0/1 * * * * ?")
public void generateBalanceSheetNewResult() {
try {
log.info("每分钟 生成新资产负债结果表 开始");
balanceSheetService.generateBalanceSheetNewResult();
log.info("每分钟 生成新资产负债结果表 结束");
} catch (Exception ex) {
log.error("每分钟 生成新资产负债结果表 异常:", ex);
}
}
}
......@@ -45,6 +45,7 @@ public class BalanceSheetService {
private static final String financeSyncCost = "finance-sync-cost";
private static final String financeSyncBuy = "finance-sync-buy";
private static final String financeGenerateBalanceSheet = "finance-generate-balance-sheet";
private static final String financeGenerateBalanceSheetNewResult = "finance-generate-balance-sheet-new-result";
private static final String financeSyncPayPal = "finance-sync-pay-pal";
@Resource
......@@ -379,6 +380,12 @@ public class BalanceSheetService {
DcSemiDailyTransferMapper dcSemiDailyTransferMapper;
@Resource
DcExchangeRateMapper dcExchangeRateMapper;
@Resource
DcBalanceSheetNewMapper dcBalanceSheetNewMapper;
@Resource
DcBalanceSheetNewResultMapper dcBalanceSheetNewResultMapper;
@Resource
IDcBalanceSheetNewService dcBalanceSheetNewService;
/**
* 每天生成资产负债表
......@@ -446,6 +453,11 @@ public class BalanceSheetService {
.eq(DcBalanceSheet::getCompanyName, companyName)
.eq(DcBalanceSheet::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
DcBalanceSheetNew dcBalanceSheetNew = dcBalanceSheetNewMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNew>()
.eq(DcBalanceSheetNew::getCompanyValue, companyValue)
.eq(DcBalanceSheetNew::getCompanyName, companyName)
.eq(DcBalanceSheetNew::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
if (dcBalanceSheet == null) {
dcBalanceSheet = new DcBalanceSheet();
dcBalanceSheet.setCompanyValue(companyValue);
......@@ -453,37 +465,52 @@ public class BalanceSheetService {
dcBalanceSheet.setStatisticalTime(dcJobConfig.getStartTime().toLocalDate());
}
if (dcBalanceSheetNew == null) {
dcBalanceSheetNew = new DcBalanceSheetNew();
dcBalanceSheetNew.setCompanyValue(companyValue);
dcBalanceSheetNew.setCompanyName(companyName);
dcBalanceSheetNew.setStatisticalTime(dcJobConfig.getStartTime().toLocalDate());
}
//银行账户余额汇总
BigDecimal bankAccountBalanceSum = dcBankAccountBalanceMapper.getBalanceSum(date);
dcBalanceSheet.setBankAccountBalance(bankAccountBalanceSum);
dcBalanceSheetNew.setBankAccountBalance(bankAccountBalanceSum);
// 提现在途金额汇总
BigDecimal withdrawOnWaySum = dcWithdrawOnWayMapper.getWithdrawOnWaySum(date);
dcBalanceSheet.setWithdrawAmount(withdrawOnWaySum);
dcBalanceSheetNew.setWithdrawAmount(withdrawOnWaySum);
// 第三方平台余额
BigDecimal platformBalanceSum = dcPlatformBalanceMapper.getPlatformBalanceSum(date);
dcBalanceSheet.setPlatformBalance(platformBalanceSum);
dcBalanceSheetNew.setPlatformBalance(platformBalanceSum);
// 货币资金 货币资金 = 银行余额 + 提现在途 + 第三方平台余额
dcBalanceSheet.setMonetaryFund(bankAccountBalanceSum.add(withdrawOnWaySum).add(platformBalanceSum));
dcBalanceSheetNew.setMonetaryFund(bankAccountBalanceSum.add(withdrawOnWaySum).add(platformBalanceSum));
// 短期借款
BigDecimal shortBorrowBalanceSum = dcShortTermBorrowMapper.getShortTermBorrowBalanceSum(date);
dcBalanceSheet.setShortTermBorrow(shortBorrowBalanceSum);
dcBalanceSheetNew.setShortTermBorrow(shortBorrowBalanceSum);
//借支金额(借支单未还金额)
BigDecimal amountBorrowedSum = dcBalanceSheetMapper.getAmountBorrowed(date);
dcBalanceSheet.setAmountBorrowed(amountBorrowedSum);
dcBalanceSheetNew.setAmountBorrowed(amountBorrowedSum);
// 其他应收款
BigDecimal otherAccountsReceivableImport = dcBalanceSheetMapper.getOtherAccountsReceivableImport(date);
dcBalanceSheet.setOtherAccountsReceivable(amountBorrowedSum.add(otherAccountsReceivableImport));
dcBalanceSheetNew.setOtherAccountsReceivable(amountBorrowedSum.add(otherAccountsReceivableImport));
//固定资产
BigDecimal fixedAssetsSum = dcFixedAssetsDetailMapper.getFixedAssetsSum(date);
BigDecimal fixedAssetsImport = dcBalanceSheetMapper.getFixedAssetsImport(date);
dcBalanceSheet.setFixedAssets(fixedAssetsSum.add(fixedAssetsImport));
dcBalanceSheetNew.setFixedAssets(fixedAssetsSum.add(fixedAssetsImport));
// // 货品库存
// dcInventoryBalanceMapper.deleteInventoryBalance(date);
......@@ -495,90 +522,277 @@ public class BalanceSheetService {
// FBA在库金额
BigDecimal fbaInventoryAmountSum = dcInventoryBalanceMapper.getFbaInventoryAmountSum(date);
dcBalanceSheet.setFbaInventoryAmount(fbaInventoryAmountSum);
dcBalanceSheetNew.setFbaInventoryAmount(fbaInventoryAmountSum);
// 非FBA在库金额(不包含耗材仓)
BigDecimal notFbaInventoryAmountSum = dcInventoryBalanceMapper.getNotFbaInventoryAmountSum(date);
dcBalanceSheet.setNotFbaInventoryAmount(notFbaInventoryAmountSum);
dcBalanceSheetNew.setNotFbaInventoryAmount(notFbaInventoryAmountSum);
// 非FBA在库金额(耗材仓)
BigDecimal notFbaHcInventoryAmountSum = dcInventoryBalanceMapper.getNotFbaHcInventoryAmountSum(date);
dcBalanceSheet.setNotFbaHcInventoryAmount(notFbaHcInventoryAmountSum);
dcBalanceSheetNew.setNotFbaHcInventoryAmount(notFbaHcInventoryAmountSum);
// FBA在途
BigDecimal fbaTransferAmountSum = dcInventoryBalanceMapper.getFbaTransferAmountSum(date);
dcBalanceSheet.setFbaTransferAmount(fbaTransferAmountSum);
dcBalanceSheetNew.setFbaTransferAmount(fbaTransferAmountSum);
// 非FBA在途金额(调拨+采购)
BigDecimal notFbaTransferAmountSum = dcInventoryBalanceMapper.getNotFbaTransferAmountSum(date);
dcBalanceSheet.setNotFbaTransferAmount(notFbaTransferAmountSum);
dcBalanceSheetNew.setNotFbaTransferAmount(notFbaTransferAmountSum);
// FBA调拨在途金额(调拨不包含计划)
BigDecimal fbaTransferAllotAmountSum = dcInventoryBalanceMapper.getFbaTransferAllotAmountSum(date);
dcBalanceSheet.setFbaTransferAllotAmount(fbaTransferAllotAmountSum);
dcBalanceSheetNew.setFbaTransferAllotAmount(fbaTransferAllotAmountSum);
// 非FBA调拨在途金额(调拨不包含计划)
BigDecimal notFbaTransferAllotAmountSum = dcInventoryBalanceMapper.getNotFbaTransferAllotAmountSum(date);
dcBalanceSheet.setNotFbaTransferAllotAmount(notFbaTransferAllotAmountSum);
dcBalanceSheetNew.setNotFbaTransferAllotAmount(notFbaTransferAllotAmountSum);
// FBA调拨计划在途金额
BigDecimal fbaTransferPlanAmountSum = dcInventoryBalanceMapper.getFbaTransferPlanAmountSum(date);
dcBalanceSheet.setFbaTransferPlanAmount(fbaTransferPlanAmountSum);
dcBalanceSheetNew.setFbaTransferPlanAmount(fbaTransferPlanAmountSum);
// 非FBA调拨计划在途金额
BigDecimal notFbaTransferPlanAmountSum = dcInventoryBalanceMapper.getNotFbaTransferPlanAmountSum(date);
dcBalanceSheet.setNotFbaTransferPlanAmount(notFbaTransferPlanAmountSum);
dcBalanceSheetNew.setNotFbaTransferPlanAmount(notFbaTransferPlanAmountSum);
// FBA采购在途金额
BigDecimal fbaPurchaseAmountSum = dcInventoryBalanceMapper.getFbaPurchaseAmountSum(date);
if (fbaPurchaseAmountSum == null) fbaPurchaseAmountSum = BigDecimal.ZERO;
dcBalanceSheet.setFbaPurchaseAmount(fbaPurchaseAmountSum);
dcBalanceSheetNew.setFbaPurchaseAmount(fbaPurchaseAmountSum);
// 非FBA采购在途金额
BigDecimal notFbaPurchaseAmountSum = dcInventoryBalanceMapper.getNotFbaPurchaseAmountSum(date);
dcBalanceSheet.setNotFbaPurchaseAmount(notFbaPurchaseAmountSum);
dcBalanceSheetNew.setNotFbaPurchaseAmount(notFbaPurchaseAmountSum);
// 自产采购在途金额
BigDecimal purchaseProAmountSum = dcInventoryBalanceMapper.getPurchaseProAmount(date);
dcBalanceSheet.setPurchaseProAmount(purchaseProAmountSum);
dcBalanceSheetNew.setPurchaseProAmount(purchaseProAmountSum);
// 半成品在库金额
BigDecimal semiInventoryAmountSum = dcSemiDailyStockMapper.getSemiDailyStockSum(date);
dcBalanceSheet.setSemiInventoryAmount(semiInventoryAmountSum);
dcBalanceSheetNew.setSemiInventoryAmount(semiInventoryAmountSum);
//半成品在库金额=百伦
BigDecimal semiBailunInventoryAmountSum = dcSemiDailyStockMapper.getSemiBailunDailyStockSum(date);
dcBalanceSheet.setSemiBailunInventoryAmount(semiBailunInventoryAmountSum);
dcBalanceSheetNew.setSemiBailunInventoryAmount(semiBailunInventoryAmountSum);
//半成品在库金额-哈尼曼
BigDecimal semiHaNiInventoryAmountSum = dcSemiDailyStockMapper.getSemiHaNiDailyStockSum(date);
dcBalanceSheet.setSemiHaniInventoryAmount(semiHaNiInventoryAmountSum);
dcBalanceSheetNew.setSemiHaniInventoryAmount(semiHaNiInventoryAmountSum);
//半成品生产在库金额
BigDecimal semiProdInventoryAmountSum = dcSemiDailyStockMapper.getSemiProdInventoryAmountSum(date);
dcBalanceSheet.setSemiProdInventoryAmount(semiProdInventoryAmountSum);
dcBalanceSheetNew.setSemiProdInventoryAmount(semiProdInventoryAmountSum);
// 半成品在途金额 恢复,不汇总进去存货里面
BigDecimal semiTransferAmountSum = dcSemiDailyTransferMapper.getSemiDailyTransferSum(date);
dcBalanceSheet.setSemiTransferAmount(semiTransferAmountSum);
dcBalanceSheetNew.setSemiTransferAmount(semiTransferAmountSum);
//半成品在途金额=百伦
BigDecimal semiBailunTransferAmountSum = dcSemiDailyTransferMapper.getSemiBailunDailyTransferSum(date);
dcBalanceSheet.setSemiBailunTransferAmount(semiBailunTransferAmountSum);
dcBalanceSheetNew.setSemiBailunTransferAmount(semiBailunTransferAmountSum);
//半成品在途金额=哈尼曼
BigDecimal semiHaNiTransferAmountSum = dcSemiDailyTransferMapper.getSemiHaNiDailyTransferSum(date);
dcBalanceSheet.setSemiHaniTransferAmount(semiHaNiTransferAmountSum);
dcBalanceSheetNew.setSemiHaniTransferAmount(semiHaNiTransferAmountSum);
// 存货 金额 FBA在库金额+非FBA在库金额(不包含耗材仓)+FBA调拨在途金额(不包含调拨计划)+非FBA调拨在途金额(不包含调拨计划)+半成品在库金额+半成品生产在库金额+自产采购在途
BigDecimal inventoryBalanceSum = fbaInventoryAmountSum.add(notFbaInventoryAmountSum).add(fbaTransferAllotAmountSum).add(notFbaTransferAllotAmountSum).add(semiBailunInventoryAmountSum).add(semiProdInventoryAmountSum).add(purchaseProAmountSum);
dcBalanceSheet.setInventoryAmount(inventoryBalanceSum);
dcBalanceSheetNew.setInventoryAmount(inventoryBalanceSum);
dcBalanceSheetService.saveOrUpdate(dcBalanceSheet);
dcBalanceSheetNewService.saveOrUpdate(dcBalanceSheetNew);
//更新任务时间
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
@Resource
IDcBalanceSheetNewResultService dcBalanceSheetNewResultService;
@Resource
DcBalanceSheetNewModifyMapper dcBalanceSheetNewModifyMapper;
public void generateBalanceSheetNewResult() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(financeGenerateBalanceSheetNewResult);
Integer companyValue = 0;
String companyName = "百伦供应链";
LocalDate date = dcJobConfig.getStartTime().toLocalDate();
DcBalanceSheetNewResult dcBalanceSheetNewResult = dcBalanceSheetNewResultMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNewResult>()
.eq(DcBalanceSheetNewResult::getCompanyValue, companyValue)
.eq(DcBalanceSheetNewResult::getCompanyName, companyName)
.eq(DcBalanceSheetNewResult::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
DcBalanceSheetNewModify dcBalanceSheetNewModify = dcBalanceSheetNewModifyMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNewModify>()
.eq(DcBalanceSheetNewModify::getCompanyValue, companyValue)
.eq(DcBalanceSheetNewModify::getCompanyName, companyName)
.eq(DcBalanceSheetNewModify::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
DcBalanceSheetNew dcBalanceSheetNew = dcBalanceSheetNewMapper.selectOne(new LambdaQueryWrapper<DcBalanceSheetNew>()
.eq(DcBalanceSheetNew::getCompanyValue, companyValue)
.eq(DcBalanceSheetNew::getCompanyName, companyName)
.eq(DcBalanceSheetNew::getStatisticalTime, dcJobConfig.getStartTime().toLocalDate()));
if (dcBalanceSheetNewResult == null) {
dcBalanceSheetNewResult = new DcBalanceSheetNewResult();
dcBalanceSheetNewResult.setCompanyValue(companyValue);
dcBalanceSheetNewResult.setCompanyName(companyName);
dcBalanceSheetNewResult.setStatisticalTime(dcJobConfig.getStartTime().toLocalDate());
}
if (dcBalanceSheetNewModify == null) {
dcBalanceSheetNewModify = new DcBalanceSheetNewModify();
}
if (dcBalanceSheetNew == null) {
dcBalanceSheetNew = new DcBalanceSheetNew();
}
//银行账户余额汇总
dcBalanceSheetNewResult.setBankAccountBalance(dcBalanceSheetNew.getBankAccountBalance()
.add(dcBalanceSheetNewModify.getBankAccountBalance()));
// 提现在途金额汇总
dcBalanceSheetNewResult.setWithdrawAmount(dcBalanceSheetNew.getWithdrawAmount()
.add(dcBalanceSheetNewModify.getWithdrawAmount()));
// 第三方平台余额
dcBalanceSheetNewResult.setPlatformBalance(dcBalanceSheetNew.getPlatformBalance()
.add(dcBalanceSheetNewModify.getPlatformBalance()));
// 货币资金 货币资金 = 银行余额 + 提现在途 + 第三方平台余额
dcBalanceSheetNewResult.setMonetaryFund(dcBalanceSheetNew.getMonetaryFund()
.add(dcBalanceSheetNewModify.getMonetaryFund()));
// 短期借款
dcBalanceSheetNewResult.setShortTermBorrow(dcBalanceSheetNew.getShortTermBorrow()
.add(dcBalanceSheetNewModify.getShortTermBorrow()));
//借支金额(借支单未还金额)
dcBalanceSheetNewResult.setAmountBorrowed(dcBalanceSheetNew.getAmountBorrowed()
.add(dcBalanceSheetNewModify.getAmountBorrowed()));
// 其他应收款
dcBalanceSheetNewResult.setOtherAccountsReceivable(dcBalanceSheetNew.getOtherAccountsReceivable()
.add(dcBalanceSheetNewModify.getOtherAccountsReceivable()));
//固定资产
dcBalanceSheetNewResult.setFixedAssets(dcBalanceSheetNew.getFixedAssets()
.add(dcBalanceSheetNewModify.getFixedAssets()));
// // 货品库存
// dcInventoryBalanceMapper.deleteInventoryBalance(date);
// dcInventoryBalanceMapper.insertInventoryBalance(date);
//
// // 货品调拨在途
// dcInventoryBalanceMapper.insertTransferInventoryBalance(date);
// FBA在库金额
dcBalanceSheetNewResult.setFbaInventoryAmount(dcBalanceSheetNew.getFbaInventoryAmount()
.add(dcBalanceSheetNewModify.getFbaInventoryAmount()));
// 非FBA在库金额(不包含耗材仓)
dcBalanceSheetNewResult.setNotFbaInventoryAmount(dcBalanceSheetNew.getNotFbaInventoryAmount()
.add(dcBalanceSheetNewModify.getNotFbaHcInventoryAmount()));
// 非FBA在库金额(耗材仓)
dcBalanceSheetNewResult.setNotFbaHcInventoryAmount(dcBalanceSheetNew.getNotFbaHcInventoryAmount()
.add(dcBalanceSheetNewModify.getNotFbaHcInventoryAmount()));
// FBA在途
dcBalanceSheetNewResult.setFbaTransferAmount(dcBalanceSheetNew.getFbaTransferAmount()
.add(dcBalanceSheetNewModify.getFbaTransferAmount()));
// 非FBA在途金额(调拨+采购)
dcBalanceSheetNewResult.setNotFbaTransferAmount(dcBalanceSheetNew.getNotFbaTransferAmount()
.add(dcBalanceSheetNewModify.getNotFbaTransferAmount()));
// FBA调拨在途金额(调拨不包含计划)
dcBalanceSheetNewResult.setFbaTransferAllotAmount(dcBalanceSheetNew.getFbaTransferAllotAmount()
.add(dcBalanceSheetNewModify.getFbaTransferAllotAmount()));
// 非FBA调拨在途金额(调拨不包含计划)
dcBalanceSheetNewResult.setNotFbaTransferAllotAmount(dcBalanceSheetNew.getNotFbaTransferAllotAmount()
.add(dcBalanceSheetNewModify.getNotFbaTransferAllotAmount()));
// FBA调拨计划在途金额
dcBalanceSheetNewResult.setFbaTransferPlanAmount(dcBalanceSheetNew.getFbaTransferPlanAmount()
.add(dcBalanceSheetNewModify.getFbaTransferPlanAmount()));
// 非FBA调拨计划在途金额
dcBalanceSheetNewResult.setNotFbaTransferPlanAmount(dcBalanceSheetNew.getNotFbaTransferPlanAmount()
.add(dcBalanceSheetNewModify.getNotFbaTransferPlanAmount()));
// FBA采购在途金额
dcBalanceSheetNewResult.setFbaPurchaseAmount(dcBalanceSheetNew.getFbaPurchaseAmount()
.add(dcBalanceSheetNewModify.getFbaPurchaseAmount()));
// 非FBA采购在途金额
dcBalanceSheetNewResult.setNotFbaPurchaseAmount(dcBalanceSheetNew.getNotFbaPurchaseAmount()
.add(dcBalanceSheetNewModify.getNotFbaPurchaseAmount()));
// 自产采购在途金额
dcBalanceSheetNewResult.setPurchaseProAmount(dcBalanceSheetNew.getPurchaseProAmount()
.add(dcBalanceSheetNewModify.getPurchaseProAmount()));
// 半成品在库金额
dcBalanceSheetNewResult.setSemiInventoryAmount(dcBalanceSheetNew.getSemiInventoryAmount()
.add(dcBalanceSheetNewModify.getSemiInventoryAmount()));
//半成品在库金额=百伦
dcBalanceSheetNewResult.setSemiBailunInventoryAmount(dcBalanceSheetNew.getSemiBailunInventoryAmount()
.add(dcBalanceSheetNewModify.getSemiBailunInventoryAmount()));
//半成品在库金额-哈尼曼
dcBalanceSheetNewResult.setSemiHaniInventoryAmount(dcBalanceSheetNew.getSemiHaniInventoryAmount()
.add(dcBalanceSheetNewModify.getSemiHaniInventoryAmount()));
//半成品生产在库金额
dcBalanceSheetNewResult.setSemiProdInventoryAmount(dcBalanceSheetNew.getSemiProdInventoryAmount()
.add(dcBalanceSheetNewModify.getSemiProdInventoryAmount()));
// 半成品在途金额 恢复,不汇总进去存货里面
dcBalanceSheetNewResult.setSemiTransferAmount(dcBalanceSheetNew.getSemiTransferAmount()
.add(dcBalanceSheetNewModify.getSemiTransferAmount()));
//半成品在途金额=百伦
dcBalanceSheetNewResult.setSemiBailunTransferAmount(dcBalanceSheetNew.getSemiBailunTransferAmount()
.add(dcBalanceSheetNewModify.getSemiBailunTransferAmount()));
//半成品在途金额=哈尼曼
dcBalanceSheetNewResult.setSemiHaniTransferAmount(dcBalanceSheetNew.getSemiHaniTransferAmount()
.add(dcBalanceSheetNewModify.getSemiHaniTransferAmount()));
// 存货 金额 FBA在库金额+非FBA在库金额(不包含耗材仓)+FBA调拨在途金额(不包含调拨计划)+非FBA调拨在途金额(不包含调拨计划)+半成品在库金额+半成品生产在库金额+自产采购在途
dcBalanceSheetNewResult.setInventoryAmount(dcBalanceSheetNew.getInventoryAmount()
.add(dcBalanceSheetNewModify.getInventoryAmount()));
dcBalanceSheetNewResultService.saveOrUpdate(dcBalanceSheetNewResult);
//更新任务时间
dcJobConfigMapper.updateById(dcJobConfig.refresh());
}
}
package com.bailuntec.job.service;
import com.bailuntec.job.BalanceSheetApp;
import com.bailuntec.BalanceSheetApp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -8,7 +8,6 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
......
......@@ -29,6 +29,13 @@
<artifactId>bailuntec-datacenter</artifactId>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.1.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
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