Commit fbdb6ee1 by 王德峰

bb 项目初始化

    清理部分
    清理wk任务
parent a2458c50
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.astclient.wkloan.adapter;
import com.abssqr.plat.biz.shared.astclient.base.FieldTranslator;
import com.abssqr.plat.common.facade.enums.AstContractTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.enums.CommonErrorCodeEnum;
import com.abssqr.plat.common.facade.enums.GrantFundTypeEnum;
import com.abssqr.plat.common.facade.enums.LoanStatusEnum;
import com.abssqr.plat.common.facade.enums.LoanTypeEnum;
import com.abssqr.plat.common.facade.enums.PeriodTypeEnum;
import com.abssqr.plat.common.facade.enums.RateTypeEnum;
import com.abssqr.plat.common.facade.enums.RepayMethodEnum;
import com.abssqr.plat.common.model.exception.AbssqrBizException;
import com.general.system.common.util.MessageUtil;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 字段转译组装工具
* @author zhenxuan.luo
* @version com.abssqr.plat.biz.shared.astclient.wkloan.adapter: WkFieldTranslater.java, v 0.1 2019-06-14 18:28 zhenxuan.luo Exp $
*/
@Component
public class WkFieldTranslator implements FieldTranslator {
/**
* 五矿资产状态转换
* @param statusFields
* @return
*/
@Override
public LoanStatusEnum transAstStatus(String... statusFields) {
String status = statusFields[0];
String form = statusFields[1];
List<String> acptStatus = Lists.newArrayList("2", "3", "5", "6");
if (!acptStatus.contains(status)) {
throw new AbssqrBizException(MessageUtil.formatMsg("不支持的贷款状态[{0}]", status),
CommonErrorCodeEnum.INVALID_PARAM, false);
}
if (StringUtils.equals("6", status)) {
// 已结清
return LoanStatusEnum.CLEAR;
} else if (StringUtils.equals("3", status)) {
// 已取消
return LoanStatusEnum.REVERSE;
} else {
switch (form) {
case "1":
return LoanStatusEnum.NORMAL;
case "2":
return LoanStatusEnum.OVERDUE;
case "5":
return LoanStatusEnum.NORMAL;
default:
throw new AbssqrBizException(MessageUtil.formatMsg("不支持的贷款形态[{0}]", form),
CommonErrorCodeEnum.INVALID_PARAM, false);
}
}
}
@Override
public LoanStatusEnum transTermStatus(String termStatus) {
switch (termStatus) {
case "1":
return LoanStatusEnum.NORMAL;
case "2":
return LoanStatusEnum.OVERDUE;
case "3":
return LoanStatusEnum.REVERSE;
case "4":
return LoanStatusEnum.CANCEL;
case "5":
return LoanStatusEnum.CLEAR;
case "6":
return LoanStatusEnum.NORMAL;
default:
throw new AbssqrBizException(MessageUtil.formatMsg("不支持的分期形态[{0}]", termStatus),
CommonErrorCodeEnum.INVALID_PARAM, false);
}
}
@Override
public LoanTypeEnum transLoanType(String loanType) {
if (StringUtils.isBlank(loanType)) {
return LoanTypeEnum.LT03;
}
return LoanTypeEnum.getByCode(loanType);
}
@Override
public AstTypeEnum transAstType(String astType) {
return AstTypeEnum.LOAN;
}
@Override
public AstContractTypeEnum transContType(String contType) {
return AstContractTypeEnum.CT01;
}
@Override
public GrantFundTypeEnum transGrantType(String grantType) {
return GrantFundTypeEnum.CT01;
}
@Override
public RepayMethodEnum transRepayMethod(String repayMethod) {
if (StringUtils.isBlank(repayMethod)) {
return RepayMethodEnum.RM02;
}
switch (repayMethod) {
case "01":
return RepayMethodEnum.RM02;
case "02":
return RepayMethodEnum.RM01;
// case "1":
// return RepayMethodEnum.RM02;
// case "2":
// return RepayMethodEnum.RM01;
}
throw new AbssqrBizException(MessageUtil.formatMsg("不支持的还款方式[{0}]", repayMethod),
CommonErrorCodeEnum.INVALID_PARAM, false);
}
@Override
public PeriodTypeEnum transPeriodType(String periodType) {
if (StringUtils.isBlank(periodType)) {
return PeriodTypeEnum.Month;
}
return PeriodTypeEnum.getByCode(periodType);
}
@Override
public RateTypeEnum transRateType(String rateType) {
if (StringUtils.isBlank(rateType)) {
return RateTypeEnum.RT02;
}
switch (rateType) {
case "10":
return RateTypeEnum.RT01;
case "20":
return RateTypeEnum.RT02;
case "30":
return RateTypeEnum.RT03;
default:
throw new AbssqrBizException(MessageUtil.formatMsg("不支持的利率类型[{0}]", rateType),
CommonErrorCodeEnum.INVALID_PARAM, false);
}
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.astclient.wkloan.adapter;
import com.abssqr.plat.biz.shared.astclient.wkloan.entity.WkMfsLoanEntity;
import com.abssqr.plat.common.dal.sync.auto.dao.WkMfsLnPactDAO;
import com.abssqr.plat.common.dal.sync.auto.dao.WkMfsOpenRepayDAO;
import com.abssqr.plat.common.dal.sync.auto.dao.WkMfsRepayInfoDAO;
import com.abssqr.plat.common.dal.sync.auto.dao.WkMfsRepayPlanDAO;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsDueBillDO;
import com.abssqr.plat.common.model.wk.domain.sync.WkMfsSyncCtr;
import com.abssqr.plat.common.util.base.autoconfig.AbsConfig;
import com.abssqr.plat.core.service.wk.ast.sync.WkMfsAstManager;
import com.general.system.common.util.DateTimeUtil;
import com.general.system.common.util.VarChecker;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @author zhenxuan.luo
* @version com.abssqr.plat.biz.shared.astclient.wkloan.adapter: WkAstAssemply.java, v 0.1 2019-06-14 01:35 zhenxuan
* .luo Exp $
*/
@Component
public class WkMfsAstAssembly {
@Autowired
WkMfsAstManager wkMfsAstManager;
@Autowired
WkMfsOpenRepayDAO wkMfsOpenRepayDAO;
@Autowired
WkMfsLnPactDAO wkMfsLnPactDAO;
@Autowired
WkMfsRepayInfoDAO wkMfsRepayInfoDAO;
@Autowired
WkMfsRepayPlanDAO wkMfsRepayPlanDAO;
@Autowired
AbsConfig absConfig;
/**
* 组装原始数据
* @param ctrl
* @return
*/
public WkMfsLoanEntity assembly(WkMfsSyncCtr ctrl) {
WkMfsLoanEntity wkLoanEntity = new WkMfsLoanEntity();
Date syncDate = DateTimeUtil.getStandardDate(ctrl.getAbsSyncDate());
WkMfsDueBillDO wkMfsDueBillDO = wkMfsAstManager.getWkMfsDueBillDO(ctrl);
VarChecker.checkNotNull(wkMfsDueBillDO, "五矿资产同步[{0}]找不到对应的借据信息", ctrl);
wkLoanEntity.setOutAstNo(wkMfsDueBillDO.getLoanId());
wkLoanEntity.setManagerOrgCode(wkMfsDueBillDO.getOrgNo());
wkLoanEntity.setLenderOrgCode(wkMfsDueBillDO.getProjNo());
wkLoanEntity.setAccountDate(DateTimeUtil.addDays(syncDate, -1));
wkLoanEntity.setSyncDate(syncDate);
wkLoanEntity.setProdNo(wkMfsDueBillDO.getProductId());
wkLoanEntity.setWkMfsDueBillDO(wkMfsDueBillDO);
wkLoanEntity.setWkMfsRepayPlanDOS(wkMfsAstManager.getWkMfsRepayPlanDOS(ctrl));
wkLoanEntity.setWkMfsLnPactDO(wkMfsAstManager.getWkMfsLnPactDO(ctrl));
wkLoanEntity.setWkMfsOpenRepayDO(wkMfsAstManager.getWkMfsOpenRepayDO(ctrl));
wkLoanEntity.setWkMfsRepayInfoDOS(wkMfsAstManager.getWkMfsRepayInfoDOS(ctrl));
wkLoanEntity.check(ctrl.getLoanId(), DateTimeUtil.formatYMD(wkLoanEntity.getAccountDate()));
return wkLoanEntity;
}
/**
* 同步数据到业务库中 便于做数据订正
* @param ctrl
*/
public void syncData2Local(WkMfsSyncCtr ctrl){
wkMfsAstManager.syncData2Local(ctrl);
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.astclient.wkloan.entity;
import cn.hutool.core.util.NumberUtil;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsDueBillDO;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsLnPactDO;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsOpenRepayDO;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsRepayInfoDO;
import com.abssqr.plat.common.dal.sync.auto.dataobject.WkMfsRepayPlanDO;
import com.abssqr.plat.common.model.domain.astSync.BaseAstEntity;
import com.general.system.common.util.StringUtil;
import com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* @author zhenxuan.luo
* @version com.abssqr.plat.biz.shared.astclient.wkloan.entity: WkLoan.java, v 0.1 2019-06-07 04:26 zhenxuan.luo Exp $
*/
public class WkMfsLoanEntity extends BaseAstEntity {
/**
* 借据
*/
private WkMfsDueBillDO wkMfsDueBillDO;
/**
* 还款计划
*/
private List<WkMfsRepayPlanDO> wkMfsRepayPlanDOS = Lists.newArrayList();
/**
* 合同
*/
private WkMfsLnPactDO wkMfsLnPactDO;
/**
* 放款信息
*/
private WkMfsOpenRepayDO wkMfsOpenRepayDO;
/**
* 还款信息
*/
private List<WkMfsRepayInfoDO> wkMfsRepayInfoDOS = Lists.newArrayList();
public void check(String loanId, String curDt) {
VarChecker.checkNotNull(this.wkMfsDueBillDO, "[{0}]数据模型同步:账单数据为空", loanId);
VarChecker.checkArgument(CollectionUtils.isNotEmpty(this.wkMfsRepayPlanDOS),
"[{0}]数据模型同步:还款计划为空", loanId);
if (CollectionUtils.isNotEmpty(wkMfsRepayInfoDOS)) {
List<WkMfsRepayInfoDO> curRepayInfos = wkMfsRepayInfoDOS.stream()
.filter(item -> StringUtil.equals(curDt, item.getCurDate()))
.collect(Collectors.toList());
for (WkMfsRepayInfoDO curRepayInfo : curRepayInfos) {
BigDecimal incomeAmt = curRepayInfo.getIncomeAmt();
BigDecimal checkIncomeAmt = NumberUtil.add(
curRepayInfo.getPrinAmt(),
curRepayInfo.getTrustIntAmtAcc(),
curRepayInfo.getTrustPnltIntAmtAcc(),
curRepayInfo.getTrustRepayViolateAmtAcc());
VarChecker.checkArgument(incomeAmt.compareTo(checkIncomeAmt) == 0,
"[{0}]数据模型同步:还款流水总实收[{1}]和各项金额[{2}]不相等",
loanId, incomeAmt, checkIncomeAmt);
}
}
}
public WkMfsDueBillDO getWkMfsDueBillDO() {
return wkMfsDueBillDO;
}
public void setWkMfsDueBillDO(WkMfsDueBillDO wkMfsDueBillDO) {
this.wkMfsDueBillDO = wkMfsDueBillDO;
}
public List<WkMfsRepayPlanDO> getWkMfsRepayPlanDOS() {
return wkMfsRepayPlanDOS;
}
public void setWkMfsRepayPlanDOS(
List<WkMfsRepayPlanDO> wkMfsRepayPlanDOS) {
this.wkMfsRepayPlanDOS = wkMfsRepayPlanDOS;
}
public WkMfsLnPactDO getWkMfsLnPactDO() {
return wkMfsLnPactDO;
}
public void setWkMfsLnPactDO(WkMfsLnPactDO wkMfsLnPactDO) {
this.wkMfsLnPactDO = wkMfsLnPactDO;
}
public WkMfsOpenRepayDO getWkMfsOpenRepayDO() {
return wkMfsOpenRepayDO;
}
public void setWkMfsOpenRepayDO(WkMfsOpenRepayDO wkMfsOpenRepayDO) {
this.wkMfsOpenRepayDO = wkMfsOpenRepayDO;
}
public List<WkMfsRepayInfoDO> getWkMfsRepayInfoDOS() {
return wkMfsRepayInfoDOS;
}
public void setWkMfsRepayInfoDOS(
List<WkMfsRepayInfoDO> wkMfsRepayInfoDOS) {
this.wkMfsRepayInfoDOS = wkMfsRepayInfoDOS;
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2018 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs;
import com.abssqr.plat.biz.shared.astclient.wkloan.adapter.WkMfsAstAssembly;
import com.abssqr.plat.biz.shared.astclient.wkloan.adapter.WkMfsAstClientAdapter;
import com.abssqr.plat.biz.shared.astclient.wkloan.entity.WkMfsLoanEntity;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherExecutorTemp;
import com.abssqr.plat.common.facade.enums.TaskStatusEnum;
import com.abssqr.plat.common.model.wk.domain.sync.WkMfsSyncCtr;
import com.abssqr.plat.common.model.wk.repo.WkMfsSyncCtrRepo;
import com.general.system.common.util.DateTimeUtil;
import com.general.system.common.util.LogUtil;
import com.general.system.common.util.SystemDateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 文件同步后账单 转换为内部模型存贮
*
* @author zhenxuan.luo
* @version com.abssqr.plat.biz.shared.dispatcher.syncDispatcher: LoanAstSyncDispatcherExecutor.java, v 0.1 2018-01-08
* 上午01:45 zhenxuan.luo Exp $
*/
@Component
public class WkMfsAstSyncDispatcherExecutor extends DispatcherExecutorTemp<WkMfsSyncCtr> {
private final static int DEFAULT_STEP = 5;
private final static Logger LOGGER = LoggerFactory.getLogger(WkMfsAstSyncDispatcherExecutor.class);
@Autowired
WkMfsAstAssembly wkMfsAstAssembly;
@Autowired
WkMfsAstClientAdapter wkMfsAstClientAdapter;
@Autowired
WkMfsSyncCtrRepo wkMfsSyncCtrRepo;
@Override
public WkMfsSyncCtr doExecute(WkMfsSyncCtr node) {
WkMfsSyncCtr lockNode = wkMfsSyncCtrRepo.lock(node.getId());
if (lockNode.getTaskStatus() != TaskStatusEnum.EXECUTING) {
LogUtil.info(LOGGER, "任务[{0}]状态不是执行中,不执行", lockNode);
return node;
}
// 组装外部模型
WkMfsLoanEntity wkMfsLoanEntity = wkMfsAstAssembly.assembly(lockNode);
// 执行资产交易
wkMfsAstClientAdapter.process(wkMfsLoanEntity);
markSuccess(lockNode);
return node;
}
@Override
protected WkMfsSyncCtr markSuccess(WkMfsSyncCtr node) {
node.setTaskStatus(TaskStatusEnum.SUCCESS);
wkMfsSyncCtrRepo.updateTaskStatus(node.getId(), TaskStatusEnum.EXECUTING, TaskStatusEnum.SUCCESS);
return node;
}
@Override
protected WkMfsSyncCtr markFail(WkMfsSyncCtr node, String failMessage) {
// 资产同步,不能设置为失败,必须成功
markException(node, failMessage);
return node;
}
@Override
protected WkMfsSyncCtr markException(WkMfsSyncCtr node, String failMessage) {
wkMfsSyncCtrRepo
.updateTaskExep(
DateTimeUtil.addSecond(SystemDateUtil.getSystemDate(), calcExeSleepTime(node.getExecTimes())),
node.getId(), TaskStatusEnum.FAILURE);
wkMfsAstAssembly.syncData2Local(node);
return node;
}
private int calcExeSleepTime(Long execTimes) {
if (execTimes == null) {
execTimes = 0L;
}
int result = DEFAULT_STEP;
if (execTimes > 100) {
//休息两小时
result = 60 * 60;
} else if (execTimes > 50) {
//休息半小时
result = 60;
}
return result;
}
@Override
protected String getName() {
return "WkMfsAstSyncDispatcherExecutor";
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2018 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs;
import java.util.List;
import java.util.stream.Collectors;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherLoader;
import com.abssqr.plat.biz.shared.dispatcher.TaskGroupService;
import com.abssqr.plat.common.model.wk.domain.sync.WkMfsSyncCtr;
import com.abssqr.plat.common.model.wk.repo.WkMfsSyncCtrRepo;
import com.abssqr.plat.common.util.profiler.PerformTrace;
import com.abssqr.plat.core.service.host.HostManager;
import com.general.system.common.util.LogUtil;
import com.general.system.common.util.SystemDateUtil;
import com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.TransactionCallbackWithoutResult;
import org.springframework.transaction.support.TransactionTemplate;
/**
* 转换为内部模型存贮任务分发
*
* @author zhenxuan.luo
* @version com.abssqr.plat.biz.shared.dispatcher.syncDispatcher: LoanAstSyncDispatcherLoader.java, v 0.1 2018-01-08
* 上午01:33 zhenxuan.luo Exp $
*/
@Component
public class WkMfsAstSyncDispatcherLoader implements DispatcherLoader<WkMfsSyncCtr> {
private final static Logger LOGGER = LoggerFactory.getLogger(
WkMfsAstSyncDispatcherLoader.class);
@Autowired
TransactionTemplate transactionTemplate;
@Autowired
WkMfsSyncCtrRepo wkMfsSyncCtrRepo;
@Autowired
HostManager hostManager;
/**
* Split形式的load数据的方式
*/
@Override
@PerformTrace(name = "WkMfsAstSyncDispatcherLoader")
public List<WkMfsSyncCtr> loadToDoNodes(TaskGroupService firstTaskGroupService,
TaskGroupService spareTaskGroupService, int size) {
List<WkMfsSyncCtr> result = Lists.newArrayList();
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
loadTasksUseTaskRange(firstTaskGroupService, result, size);
loadTasksUseTaskRange(spareTaskGroupService, result, size);
//判断当前是否符合
if (CollectionUtils.isNotEmpty(result)) {
List<Long> taskIds = result.stream().map(WkMfsSyncCtr::getId).collect(Collectors.toList());
int upCnt = wkMfsSyncCtrRepo
.updateTaskExec(SystemDateUtil.getSystemDate(), hostManager.getHostInfo().getHostName(),
taskIds);
VarChecker.checkEquals(upCnt, result.size(), "更新数量不一致");
LogUtil.info(LOGGER, "WKMFS-资产同步任务加载:捞取[{0}]条待执行任务]", taskIds.size());
LogUtil.info(LOGGER, "WKMFS-资产同步任务加载IDS={0}", taskIds);
}
}
});
return result;
}
/**
* 优先使用第一个任务区间去找
*
* @param taskGroupService
* @param result
* @param size
*/
private void loadTasksUseTaskRange(TaskGroupService taskGroupService, List<WkMfsSyncCtr> result, int size) {
List taskRange = taskGroupService.getTasks();
if (CollectionUtils.isNotEmpty(taskRange) && taskRange.size() == 2 && size > result.size()) {
Long minId = (Long)taskRange.get(0);
Long maxId = (Long)taskRange.get(1);
List<WkMfsSyncCtr> tasksWithRange = wkMfsSyncCtrRepo.selectInitTaskWithRange(size - result.size(), minId,
maxId);
if (CollectionUtils.isNotEmpty(tasksWithRange)) {
result.addAll(tasksWithRange);
} else {
if (!wkMfsSyncCtrRepo.isHasRemainTask(minId, maxId)) {
LogUtil.info(LOGGER, "WKMFS-资产同步任务{0},{1}结束]", minId, maxId);
//标记当前任务区间为处理完成
taskGroupService.finish();
}
}
}
}
}
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherSplitor;
import com.abssqr.plat.common.dal.sync.auto.resultmap.MfsBillCtrIdRange;
import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum;
import com.abssqr.plat.common.facade.enums.TaskGroupTypeEnum;
import com.abssqr.plat.common.facade.enums.TaskStatusEnum;
import com.abssqr.plat.common.model.domain.task.TaskGroup;
import com.abssqr.plat.common.model.domain.task.ctr.AstSyncTaskCtr;
import com.abssqr.plat.common.model.domain.task.ctr.AstSyncTaskCtrLog;
import com.abssqr.plat.common.model.enums.OrgCodeEnum;
import com.abssqr.plat.common.model.repo.job.JobControlRepository;
import com.abssqr.plat.common.model.repo.task.AstSyncTaskCtrRepo;
import com.abssqr.plat.common.model.repo.task.CommonTaskRepository;
import com.abssqr.plat.common.model.wk.repo.WkMfsSyncCtrRepo;
import com.abssqr.plat.common.util.base.Day;
import com.abssqr.plat.core.service.accounting.OrgAcctDayComponent;
import com.abssqr.plat.core.service.host.HostManager;
import org.apache.commons.collections.CollectionUtils;
import org.assertj.core.util.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @author bangis.wangdf
* @version com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs: WkMfsAstSyncDispatcherSplitor.java, v 0.1 2020-03-14
* 10:53 bangis.wangdf Exp $
*/
@Component
public class WkMfsAstSyncDispatcherSplitor extends DispatcherSplitor<Long> {
@Value("${dispatcher.sync.split.limit:5000}")
private Long limit;
@Value("${dispatcher.sync.split.cronExpr:0/5 * * * * ?}")
private String cronExpr;
@Autowired
AstSyncTaskCtrRepo astSyncTaskCtrRepo;
@Autowired
WkMfsSyncCtrRepo wkMfsSyncCtrRepo;
@Autowired
HostManager hostManager;
@Autowired
CommonTaskRepository commonTaskRepository;
@Autowired
JobControlRepository jobControlRepository;
@Autowired
private OrgAcctDayComponent orgAcctDayComponent;
/**
*
* @return
*/
@Override
public List<TaskGroup> split() {
List<TaskGroup> splitTaskGroup = new ArrayList<>();
List<AstSyncTaskCtr> astSyncTaskCtrs = astSyncTaskCtrRepo.getAstSyncTaskCtrs();
if (CollectionUtils.isEmpty(astSyncTaskCtrs)) {
return splitTaskGroup;
}
// 切分数据
this.splitData(splitTaskGroup);
// 转让会计日
Day execDate = orgAcctDayComponent.getTrfAcctDay();
//完成任务
for (AstSyncTaskCtr astSyncTaskCtr : astSyncTaskCtrs) {
String orgCodeStr = astSyncTaskCtr.getOrgCode();
OrgCodeEnum orgCode = OrgCodeEnum.getByCode(orgCodeStr);
// 机构会计日
Day orgDate = orgAcctDayComponent.getAstAcctDay(orgCode);
//同步已完成
AstSyncTaskCtrLog syncLog = astSyncTaskCtrRepo
.getTaskLogByOrgDate(orgDate.getStandardDate(), SyncTaskTypeEnum.AST_SYNC, orgCodeStr);
if (syncLog != null && syncLog.getStatus() == TaskStatusEnum.SUCCESS) {
AstSyncTaskCtrLog modelLog = astSyncTaskCtrRepo
.getTaskLogByOrgDate(orgDate.getStandardDate(), SyncTaskTypeEnum.AST_MOD, orgCodeStr);
//模型转换未完成
if (modelLog == null || modelLog.getStatus() != TaskStatusEnum.SUCCESS) {
if (!wkMfsSyncCtrRepo.isHasRemainTask(orgCodeStr)) {
astSyncTaskCtrRepo.insertSyncLog(execDate.getStandardDate(), orgDate, astSyncTaskCtr,
SyncTaskTypeEnum.AST_MOD,
TaskStatusEnum.SUCCESS, hostManager.getHostInfo().getHostName());
/**
// bangis 创建一个模型同步后检查是否有遗漏资产同步的CommonTask 已排进技改任务
String commonBizNo = getOrgCode()+execDate.toString();
CommonTask commonTask = CommonTaskUtil.buildCommonTaskWithContext(commonBizNo,
CommonTaskTypeEnum.AST_MOD_CHECK, getOrgCode());
commonTaskRepository.create(commonTask);
**/
}else{
//所有数据处理完成后
if(CollectionUtils.isEmpty(splitTaskGroup)){
//忽略的数据直接删除,错误原因在详情里说明
wkMfsSyncCtrRepo.deleteFailTasks(orgCodeStr);
}
}
}
}
}
return splitTaskGroup;
}
@Override
public String getTaskJobName() {
return "AST_MOD_MFS";
}
private void splitData(List<TaskGroup> splitTaskGroup) {
Long taskCnt = wkMfsSyncCtrRepo.getTaskCnt();
int groupAmt = new Long((taskCnt / limit + 1)).intValue();
groupAmt = groupAmt > 400 ? 400 : groupAmt;
long minId = 0L;
for (int i = 0; i < groupAmt; i++) {
MfsBillCtrIdRange mfsBillCtrIdRange = wkMfsSyncCtrRepo.selectMaxIdAndMinIdOfInitTask(limit, minId);
if (null != mfsBillCtrIdRange && mfsBillCtrIdRange.getMinId() != null
&& mfsBillCtrIdRange.getMaxId() != null) {
TaskGroup taskGroup = new TaskGroup();
taskGroup.setJobName(getTaskJobName());
taskGroup.setTaskType(TaskGroupTypeEnum.ID_RANGE);
taskGroup.setTasks(Lists.newArrayList(mfsBillCtrIdRange.getMinId(), mfsBillCtrIdRange.getMaxId()));
minId = mfsBillCtrIdRange.getMaxId();
splitTaskGroup.add(taskGroup);
} else {
break;
}
}
}
@Override
protected String getCronExpr() {
return cronExpr;
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherExecutor;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherLoader;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherSplitor;
import com.abssqr.plat.biz.shared.dispatcher.DispatcherStarter;
import com.abssqr.plat.common.model.wk.domain.sync.WkMfsSyncCtr;
import com.abssqr.plat.common.model.wk.repo.WkMfsSyncCtrRepo;
import com.abssqr.plat.core.service.host.HostManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
/**
* @author bangis.wangdf
* @version com.abssqr.plat.biz.shared.dispatcher.wkAstSync.mfs: WkMfsAstSyncDispatcherStarter.java, v 0.1 2020-03-16
* 10:16 bangis.wangdf Exp $
*/
@Component
@Configuration
public class WkMfsAstSyncDispatcherStarter extends DispatcherStarter<WkMfsSyncCtr> {
@Autowired
WkMfsAstSyncDispatcherLoader wkMfsAstSyncDispatcherLoader;
@Autowired
WkMfsAstSyncDispatcherExecutor wkMfsAstSyncDispatcherExecutor;
@Autowired
WkMfsAstSyncDispatcherSplitor wkMfsAstSyncDispatcherSplitor;
@Autowired
WkMfsSyncCtrRepo wkMfsSyncCtrRepo;
@Autowired
HostManager hostManager;
@Value("${dispatcher.sync.coreSize}")
private int coreSize;
@Value("${dispatcher.sync.maxSize}")
private int maxSize;
@Value("${dispatcher.sync.hungrySize}")
private int hungrySize;
@Value("${dispatcher.sync.queueSize}")
private int queueSize = 200;
@Override
protected void recovery() {
wkMfsSyncCtrRepo.updateHangTasksByIp(hostManager.getHostInfo().getHostName());
}
@Override
public String getName() {
return "WkMfsAstSyncDispatcher";
}
@Override
protected int getCoreSize() {
return coreSize;
}
@Override
protected int getMaxSize() {
return maxSize;
}
@Override
protected int getQueueSize() {
return queueSize;
}
@Override
protected int getHungrySize() {
return hungrySize;
}
@Override
protected DispatcherLoader<WkMfsSyncCtr> getLoader() {
return wkMfsAstSyncDispatcherLoader;
}
@Override
protected DispatcherExecutor<WkMfsSyncCtr> getExecutor() {
return wkMfsAstSyncDispatcherExecutor;
}
@Override
protected DispatcherSplitor getSplitor() {
return wkMfsAstSyncDispatcherSplitor;
}
}
\ No newline at end of file
/**
* @author bangis.wangdf
* @version com.abssqr.plat.biz.shared.dispatcher.wkAstSync: package-info.java, v 0.1 2020-03-14 10:52 bangis.wangdf Exp
* $
*/
package com.abssqr.plat.biz.shared.dispatcher.wkAstSync;
\ No newline at end of file
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.scheduler.job.keeper.node;
import com.abssqr.plat.biz.shared.scheduler.job.sync.ast.ZLOriginalAstSyncJob;
import com.abssqr.plat.common.facade.enums.AbssqrNoticeTypeEnum;
import com.abssqr.plat.common.facade.enums.PlanTaskTypeEnum;
import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum;
import com.abssqr.plat.common.facade.model.plan.PlanBase;
import com.abssqr.plat.common.model.domain.plan.PlanTaskLog;
import com.abssqr.plat.common.model.domain.task.ctr.AstSyncTaskCtr;
import com.abssqr.plat.common.model.domain.task.ctr.AstSyncTaskCtrLog;
import com.abssqr.plat.common.model.repo.plan.PlanTaskLogRepo;
import com.abssqr.plat.common.model.repo.task.AstSyncTaskCtrRepo;
import com.abssqr.plat.common.model.seq.SequenceUtil;
import com.abssqr.plat.common.model.wk.repo.WkDhccBatchRepo;
import com.abssqr.plat.common.util.base.Day;
import com.general.system.common.model.IEnum;
import com.general.system.common.util.DateTimeUtil;
import com.general.system.common.util.LogUtil;
import com.general.system.common.util.MessageUtil;
import com.general.system.tool.util.ToolUtil;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.transaction.support.TransactionTemplate;
import java.util.Date;
import java.util.List;
import java.util.Set;
/**
* 资产同步 异常监控
* <p>
* 到deadline为止都不存在成功的同步任务
*
* @author xiachenxiang
* @version com.abssqr.plat.biz.shared.scheduler.job.keeper.node: AstSync.java, v 0.1 2019-09-18 11:00 AM xiachenxiang Exp $
*/
@Component
public class AstSyncJobKeeper extends AbstractKeeperNode {
@Autowired
private AstSyncTaskCtrRepo astSyncTaskCtrRepo;
@Autowired
private WkDhccBatchRepo wkDhccBatchRepo;
@Autowired
private PlanTaskLogRepo planTaskLogRepo;
@Autowired
private TransactionTemplate transactionTemplate;
@Value("${wkabs.astsync.zhaolian.deadline:18 0 0}")
private String deadline;
@Override
protected Void doHandle(Date currentTime) {
LogUtil.info(LOGGER, "五矿资产同步监控-start");
currentTime = getCurrentStanderDate();
List<AstSyncTaskCtr> astSyncTaskCtrs = astSyncTaskCtrRepo.getAstSyncTaskCtrs();
// 判断是否大于指定时间
Date deadlineTime = getDeadLineTime(currentTime, deadline);
if (ToolUtil.isNotEmpty(astSyncTaskCtrs) && currentTime.compareTo(deadlineTime) > 0) {
for (AstSyncTaskCtr astSyncTaskCtr : astSyncTaskCtrs){
// 获取五矿资产数据准备标记
boolean isDataReady = wkDhccBatchRepo.checkDataReady(
astSyncTaskCtr.getExtData().getCtrFlg(), new Day(currentTime).getYesterday());
if (!isDataReady) {
String msg = MessageUtil.formatMsg("到[{0}]为止,机构[{1}]同步数据仍未准备完成,请排查具体原因!",
DateTimeUtil.formatYMDHMSSLong(currentTime), astSyncTaskCtr.getOrgCode());
// 获取用户
Set<String> receivers = getAdminReceivers();
sendSystemNotice("五矿资产同步异常告警", astSyncTaskCtr.getOrgCode(), msg, receivers);
}
}
}
Date currStandDate = getCurrentStanderDate();
Date acctDate= orgAcctDayComponent.getTrfAcctDay().getStandardDate();
// 判断时间上午9点 校验上一日 AST_SYNC、AST_MOD任务完成
final String yesterdaySyncAndModDeadLine="9 0 0";
if(currentTime.compareTo(getDeadLineTime(currentTime, yesterdaySyncAndModDeadLine))>0) {
transactionTemplate.execute(status -> {
if (checkCanNotice(currStandDate, PlanTaskTypeEnum.LAS_SYN_MOD_CHECK)) {
buildAndSendMessage(astSyncTaskCtrs, DateTimeUtil.addDays(acctDate, -1));
}
return true;
});
}
final String todaySyncAndModDeadLine="22 0 0";
// 判断时间晚10点 校验当前系统日 AST_SYNC、AST_MOD任务完成
if(currentTime.compareTo(getDeadLineTime(currentTime, todaySyncAndModDeadLine))>0){
transactionTemplate.execute(status -> {
if (checkCanNotice(currStandDate, PlanTaskTypeEnum.TO_SYN_MOD_CHECK)) {
buildAndSendMessage(astSyncTaskCtrs, acctDate);
}
return true;
});
}
LogUtil.info(LOGGER, "五矿资产同步监控-end");
return null;
}
/**
*
* @param currStandDate
* @param planTaskTypeEnum
* @return
*/
private boolean checkCanNotice(Date currStandDate,PlanTaskTypeEnum planTaskTypeEnum){
List<PlanTaskLog> tasks = planTaskLogRepo.getTasks(currStandDate, planTaskTypeEnum);
if( CollectionUtils.isEmpty(tasks)){
PlanTaskLog planTaskLog = new PlanTaskLog();
planTaskLog.setExecDate(currStandDate);
planTaskLog.setTaskType(planTaskTypeEnum);
planTaskLogRepo.createTask(planTaskLog);
return true;
}
return false;
}
private void buildAndSendMessage(List<AstSyncTaskCtr> astSyncTaskCtrs , Date bizDate){
StringBuilder message = new StringBuilder();
for (AstSyncTaskCtr astSyncTaskCtr : astSyncTaskCtrs) {
AstSyncTaskCtrLog lastSyncTaskLog = astSyncTaskCtrRepo.getTaskLogByExecDate(bizDate, SyncTaskTypeEnum.AST_SYNC,
astSyncTaskCtr.getOrgCode());
AstSyncTaskCtrLog lastModTaskLog = astSyncTaskCtrRepo.getTaskLogByExecDate(bizDate, SyncTaskTypeEnum.AST_MOD,
astSyncTaskCtr.getOrgCode());
if (lastSyncTaskLog == null) {
message.append(astSyncTaskCtr.getOrgCode() + ":日期为:" + DateTimeUtil.formatY_M_D(bizDate) + "数据同步未完成");
} else {
message.append(astSyncTaskCtr.getOrgCode() + ":日期为:" + DateTimeUtil.formatY_M_D(bizDate) + "数据同步已完成");
}
message.append("\n");
if (lastModTaskLog == null) {
message.append(astSyncTaskCtr.getOrgCode() + ":日期为:" + DateTimeUtil.formatY_M_D(bizDate) + "模型转换未完成");
} else {
message.append(astSyncTaskCtr.getOrgCode() + ":日期为:" + DateTimeUtil.formatY_M_D(bizDate) + "模型转换已完成");
}
}
message.append("\n");
Set<String> receivers = super.getAdminReceivers();
PlanBase planBase=new PlanBase();
super.sendBussinessNotice(planBase, SequenceUtil.genFakeSeqNo(), message.toString(), receivers);
}
@Override
protected IEnum getBizType() {
return AbssqrNoticeTypeEnum.WkMfsSync;
}
@Override
protected String getWatchJob() {
return ZLOriginalAstSyncJob.class.getName();
}
}
/**
* abssqr.com Inc.
* Copyright (c) 2017-2019 All Rights Reserved.
*/
package com.abssqr.plat.biz.shared.scheduler.job.sync.ast;
import com.abssqr.plat.biz.shared.scheduler.BaseQuartzJob;
import com.abssqr.plat.common.dal.sync.auto.dao.WkAbsMfsBillCtrDAO;
import com.abssqr.plat.common.facade.enums.SyncTaskTypeEnum;
import com.abssqr.plat.common.facade.enums.TaskStatusEnum;
import com.abssqr.plat.common.model.domain.task.ctr.AstSyncTaskCtr;
import com.abssqr.plat.common.model.enums.OrgCodeEnum;
import com.abssqr.plat.common.model.repo.task.AstSyncTaskCtrRepo;
import com.abssqr.plat.common.util.base.Day;
import com.abssqr.plat.common.util.base.autoconfig.AbsConfig;
import com.abssqr.plat.core.service.accounting.OrgAcctDayComponent;
import com.abssqr.plat.core.service.host.HostManager;
import com.abssqr.plat.core.service.wk.ast.sync.ZLAstSyncTaskManager;
import com.general.system.common.util.LogUtil;
import org.apache.commons.lang3.StringUtils;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.PersistJobDataAfterExecution;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 招联原始资产同步
*
* @author bangis.wangdf
* @version com.abssqr.plat.biz.shared.scheduler.job: ZLOriginalAstSyncJob.java, v 0.1 2019-06-12 18:54 bangis.wangdf
* Exp $
*/
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
@Component
public class ZLOriginalAstSyncJob extends BaseQuartzJob {
@Autowired
private HostManager hostManager;
@Autowired
private AstSyncTaskCtrRepo astSyncTaskCtrRepo;
@Autowired
private ZLAstSyncTaskManager zlAstSyncTaskManager;
@Autowired
private AbsConfig absConfig;
@Autowired
private WkAbsMfsBillCtrDAO wkAbsMfsBillCtrDAO;
@Autowired
private OrgAcctDayComponent orgAcctDayComponent;
@Value("${sync.quartz.ast.sync}")
private String cronExpr;
@Override
public void afterPropertiesSet() throws Exception {
super.afterPropertiesSet();
astSyncTaskCtrRepo.updateSyncLogStatus(hostManager.getHostInfo().getHostName(), null, SyncTaskTypeEnum.AST_SYNC,
TaskStatusEnum.FAILURE,
TaskStatusEnum.EXECUTING);
}
@Override
protected String getCronExpr() {
return cronExpr;
}
@Override
public void doExecute() {
List<AstSyncTaskCtr> astSyncTaskCtrs = astSyncTaskCtrRepo.getAstSyncTaskCtrs();
astSyncTaskCtrs.forEach(astSyncTaskCtr -> {
try {
if(astSyncTaskCtr.getEff()==true) {
//自动维护分区
autoPartition(astSyncTaskCtr);
//执行同步
doExecute(astSyncTaskCtr);
}
} catch (Throwable e) {
LogUtil.error(LOGGER, e, "数据同步失败 orgCode=" + astSyncTaskCtr.getOrgCode());
}
});
}
public void autoPartition(AstSyncTaskCtr astSyncTaskCtr) {
String partitionName = "BILL_CTR_"+astSyncTaskCtr.getOrgCode();
String pName = wkAbsMfsBillCtrDAO.queryPartitionForCheck(partitionName);
if(StringUtils.isBlank(pName)){
wkAbsMfsBillCtrDAO.updateCreatePartition(astSyncTaskCtr.getOrgCode(),partitionName);
}
}
public void doExecute(AstSyncTaskCtr astSyncTaskCtr) {
OrgCodeEnum orgCode = OrgCodeEnum.getByCode(astSyncTaskCtr.getOrgCode());
//ABS会计日
Day absAcctDay = orgAcctDayComponent.getTrfAcctDay();
// 获取对应机构会计日
Day orgDay = orgAcctDayComponent.getAstAcctDay(orgCode);
// 通过AstSyncTaskCtr 任务控制进行判断是否可以执行
if (astSyncTaskCtr.getEff() == true) {
if (StringUtils.isNotBlank(astSyncTaskCtr.getExtData().getCtrFlg())) {
// 并判断今日同步任务是否已经执行
if (astSyncTaskCtrRepo.checkCanRun(astSyncTaskCtr.getOrgCode(),
astSyncTaskCtr.getTaskCode(), SyncTaskTypeEnum.AST_SYNC, orgDay.getStandardDate())) {
zlAstSyncTaskManager.syncData(astSyncTaskCtr, orgDay, absAcctDay);
}
}
}
}
}
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="WK_DATA_CHECK" physicalName="dual" remark="账户">
<resultmap name="DataForCheckResultMap" type="WKDataForCheck">
<column name="own_org" jdbctype="VARCHAR" javatype="String" remark="归属机构项目"/>
<column name="org_code" jdbctype="VARCHAR" javatype="String" remark="机构编码"/>
<column name="fk_cnt" jdbctype="BIGINT" javatype="Long" remark="放款Or转让数量"/>
<column name="fk_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="放款Or转让金额"/>
<column name="repay_cnt" jdbctype="BIGINT" javatype="Long" remark="还款数量"/>
<column name="repay_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="还款总额"/>
<column name="repay_prin_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="还款本金"/>
<column name="repay_int_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="还款本金"/>
<column name="repay_pnlt_int_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="还款罚息"/>
<column name="repay_trust_int_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="五矿实收利息"/>
<column name="repay_trust_pnlt_int_amt" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="五矿实收罚息"/>
<column name="ast_cnt" jdbctype="BIGINT" javatype="Long" remark="剩余资产数量"/>
<column name="ast_prin_bal" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="剩余资产本金"/>
<column name="ast_int_bal" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="剩余资产利息"/>
<column name="ast_pnlt_int_bal" jdbctype="BIGINT" javatype="com.general.system.common.model.Money" remark="剩余资产罚息"/>
</resultmap>
<operation name="getDataForCheck" resultmap="DataForCheckResultMap" paramtype="primitive" multiplicity="many">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
select
a.own_org, a.org_code,fk_cnt,fk_amt
,repay_cnt,repay_amt,repay_prin_amt,repay_int_amt,repay_trust_int_amt,repay_pnlt_int_amt,repay_trust_pnlt_int_amt
,ast_cnt,ast_prin_bal,ast_int_bal,ast_pnlt_int_bal
from
(
select
proj_no own_org, org_no org_code
,sum(decode(cur_date,#{curDate,jdbcType=VARCHAR},decode(LOAN_STATUS,3,0,1),0)) fk_cnt -- 放款笔数
,sum(decode(cur_date,#{curDate,jdbcType=VARCHAR},decode(LOAN_STATUS,3,0,ENCASH_AMT),0))*100 fk_amt --放款金额
,sum(decode(LOAN_STATUS,3,0,6,0,1)) ast_cnt -- 剩余资产笔数
,sum(decode(LOAN_STATUS,3,0,6,0,PRIN_BAL+nvl(OVD_PRIN_BAL,0)))*100 ast_prin_bal -- 剩余资产本金
,sum(decode(LOAN_STATUS,3,0,6,0,INT_BAL+nvl(OVD_INT_BAL,0)))*100 ast_int_bal -- 剩余资产利息
,sum(decode(LOAN_STATUS,3,0,6,0,PNLT_INT_BAL))*100 ast_pnlt_int_bal -- 剩余资产罚息
from ${wkxwDbName}${wkxwSynonymPre}MFS_DUE_BILL@${dbLink}
where
org_no = #{orgNo,jdbcType=VARCHAR}
and
proj_no in
<foreach collection="planNos" item="planNo" open="(" close=")" separator=",">
#{planNo,jdbcType=VARCHAR}
</foreach>
group by proj_no, org_no
) a
left join
(
select
projno as own_org, org_no org_code,
count(distinct loan_Id) repay_cnt ,-- 还款笔数
sum(TRUST_INT_AMT_ACC+PRIN_AMT+TRUST_PNLT_INT_AMT_ACC)*100 repay_amt,-- 还款本金
sum(PRIN_AMT)*100 repay_prin_amt, -- 还款本金
sum(INT_AMT)*100 repay_int_amt, -- 还款利息
sum(TRUST_INT_AMT_ACC)*100 repay_trust_int_amt,-- 五矿实收利息
sum(PNLT_INT_AMT)*100 repay_pnlt_int_amt, -- 还款罚息
sum(TRUST_PNLT_INT_AMT_ACC)*100 repay_trust_pnlt_int_amt --五矿实收罚息
from
${wkxwDbName}${wkxwSynonymPre}mfs_repay_info@${dbLink}
where
org_no = #{orgNo,jdbcType=VARCHAR}
and
cur_date= #{curDate,jdbcType=VARCHAR}
group by projno, org_no
)b
on a.own_org=b.own_org and a.org_code=b.org_code
</operation>
</table>
\ No newline at end of file
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="WK_DHCC_BATCH" physicalName="dual" remark="五矿任务完成标记">
<!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include -->
<!--
cur_date 表示 账务日期,例如 今天跑11号的数据,则存20190611
br_type 代表哪个机构,招联是3
step_flag 标志,一般会存 【111】第一个1表示 源始数据加载完成,第二个1 表示 中间层入库完成,第三个1表对账完成
-->
<resultmap name="DhccBatchResultMap" type="DhccBatch">
<column name="BR_TYPE" javatype="String" jdbctype="VARCHAR" remark="资产类型"/>
<column name="STEP_FLAG" javatype="String" jdbctype="VARCHAR" remark="标记"/>
</resultmap>
<operation name="selectDataReadyStatus" paramtype="primitive" multiplicity="many" kvmap="true" mapK="BR_TYPE" mapV="STEP_FLAG" remark="获取数据准备状态" resultmap="DhccBatchResultMap" flushCache="true" useCache="false">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
SELECT
BR_TYPE,STEP_FLAG
FROM
${wkxwDbName}.DHCC_BATCH@${dbLink}
WHERE
FINISH_FLAG='1'
AND
CUR_DATE = #{curDate,jdbcType=VARCHAR}
AND
BR_TYPE in
<foreach collection="brTypes" item="brType" separator="," open="(" close=")">
#{brType,jdbcType=VARCHAR}
</foreach>
</operation>
<operation name="getDataReadyStatus" paramtype="primitive" multiplicity="one" resultmap="DhccBatchResultMap" remark="获取数据准备状态" flushCache="true" useCache="false">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
SELECT
STEP_FLAG
FROM
${wkxwDbName}.DHCC_BATCH@${dbLink}
WHERE
CUR_DATE = #{curDate,jdbcType=VARCHAR}
AND BR_TYPE = #{brType,jdbcType=VARCHAR}
AND FINISH_FLAG='1'
</operation>
</table>
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="wk_mfs_ln_pact" physicalName="wk_mfs_ln_pact" remark="合同信息">
<!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include -->
<sql id="Base_Column_List">
PAY_DAY,TERM_DAY,TERM_MON,GRACE_DAY,BR_NO
,APP_ID,CIF_NO,CUR_NO,LN_USE,REP_DT
,DATA_ID,FUND_NO,LN_TYPE,PACT_ID,PACT_NO
,PAY_CHN,PROJ_NO,TX_DATE,UP_TIME,APP_AREA
,BEG_DATE,CIF_NAME,DATA_STS,END_DATE,PACT_STS
,PAY_KIND,PAY_MENT,PAY_TYPE,VOU_TYPE,BR_ACC_TYPE
,REPAY_TYPE,FACT_PACT_NO,LN_RATE,PUT_AMT
,PACT_AMT,OVER_RATE,ABS_SYNC_DATE,PRODUCT_ID,PRODUCT_NAME,CUR_DATE
</sql>
<!-- baseSql option中 select sf.* 会自动替换为 include -->
<sql id="Base_WK_Column_List">
wk.PAY_DAY,wk.TERM_DAY,wk.TERM_MON,wk.GRACE_DAY,wk.BR_NO
,wk.APP_ID,wk.CIF_NO,wk.CUR_NO,wk.LN_USE,wk.REP_DT
,wk.DATA_ID,wk.FUND_NO,wk.LN_TYPE,wk.PACT_ID,wk.PACT_NO
,wk.PAY_CHN,wk.PROJ_NO,wk.TX_DATE,wk.UP_TIME,wk.APP_AREA
,wk.BEG_DATE,wk.CIF_NAME,wk.DATA_STS,wk.END_DATE,wk.PACT_STS
,wk.PAY_KIND,wk.PAY_MENT,wk.PAY_TYPE,wk.VOU_TYPE,wk.BR_ACC_TYPE
,wk.REPAY_TYPE,wk.FACT_PACT_NO,wk.LN_RATE,wk.PUT_AMT
,wk.PACT_AMT,wk.OVER_RATE,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE,wk.PRODUCT_ID,wk.PRODUCT_NAME,wk.CUR_DATE
</sql>
<operation name="insert" paramtype="object" remark="插入表:wk_mfs_ln_pact" >
<![CDATA[
INSERT INTO wk_mfs_ln_pact(
PAY_DAY
,TERM_DAY
,TERM_MON
,GRACE_DAY
,PRODUCT_ID
,PRODUCT_NAME
,BR_NO
,APP_ID
,CIF_NO
,CUR_NO
,LN_USE
,REP_DT
,DATA_ID
,FUND_NO
,LN_TYPE
,PACT_ID
,PACT_NO
,PAY_CHN
,PROJ_NO
,TX_DATE
,UP_TIME
,APP_AREA
,BEG_DATE
,CIF_NAME
,DATA_STS
,END_DATE
,PACT_STS
,PAY_KIND
,PAY_MENT
,PAY_TYPE
,VOU_TYPE
,BR_ACC_TYPE
,REPAY_TYPE
,FACT_PACT_NO
,ABS_SYNC_DATE
,LN_RATE
,PUT_AMT
,PACT_AMT
,OVER_RATE
,CUR_DATE
)VALUES(
#{payDay,jdbcType=DECIMAL}
, #{termDay,jdbcType=DECIMAL}
, #{termMon,jdbcType=DECIMAL}
, #{graceDay,jdbcType=DECIMAL}
, #{productId,jdbcType=VARCHAR}
, #{productName,jdbcType=VARCHAR}
, #{brNo,jdbcType=VARCHAR}
, #{appId,jdbcType=VARCHAR}
, #{cifNo,jdbcType=VARCHAR}
, #{curNo,jdbcType=VARCHAR}
, #{lnUse,jdbcType=VARCHAR}
, #{repDt,jdbcType=VARCHAR}
, #{dataId,jdbcType=VARCHAR}
, #{fundNo,jdbcType=VARCHAR}
, #{lnType,jdbcType=VARCHAR}
, #{pactId,jdbcType=VARCHAR}
, #{pactNo,jdbcType=VARCHAR}
, #{payChn,jdbcType=VARCHAR}
, #{projNo,jdbcType=VARCHAR}
, #{txDate,jdbcType=VARCHAR}
, #{upTime,jdbcType=VARCHAR}
, #{appArea,jdbcType=VARCHAR}
, #{begDate,jdbcType=VARCHAR}
, #{cifName,jdbcType=VARCHAR}
, #{dataSts,jdbcType=VARCHAR}
, #{endDate,jdbcType=VARCHAR}
, #{pactSts,jdbcType=VARCHAR}
, #{payKind,jdbcType=VARCHAR}
, #{payMent,jdbcType=VARCHAR}
, #{payType,jdbcType=VARCHAR}
, #{vouType,jdbcType=VARCHAR}
, #{brAccType,jdbcType=VARCHAR}
, #{repayType,jdbcType=VARCHAR}
, #{factPactNo,jdbcType=VARCHAR}
, #{absSyncDate,jdbcType=DATE}
, #{lnRate,jdbcType=DECIMAL}
, #{putAmt,jdbcType=DECIMAL}
, #{pactAmt,jdbcType=DECIMAL}
, #{overRate,jdbcType=DECIMAL}
, #{curDate,jdbcType=VARCHAR}
)
]]>
</operation>
<operation name="updateData">
truncate table wk_mfs_ln_pact
</operation>
<operation name="insertSyncOne" multiplicity="one" paramtype="primitive" remark="根据入库日期增量同步合同">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_ln_pact (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_ln_pact${wkxwSynonymAft}@${dbLink} wk
WHERE
APP_ID = #{loanId,jdbcType=VARCHAR}
</operation>
<operation name="insertSyncAll" multiplicity="one" paramtype="primitive" remark="同步全量合同表">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_ln_pact (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_ln_pact${wkxwSynonymAft}@${dbLink} wk
WHERE
BR_NO = #{orgNo,jdbcType=VARCHAR}
AND wk.PROJ_NO in
<foreach collection="lists" item="projNo" separator="," open="(" close=")">
#{projNo,jdbcType=VARCHAR}
</foreach>
</operation>
<operation name="getByLoanId" multiplicity="one" paramtype="primitive" remark="查询待执行的任务">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_ln_pact${wkxwSynonymAft}@${dbLink} wk
WHERE
APP_ID = #{loanId,jdbcType=VARCHAR}
</operation>
<operation name="getSelfByLoanId" multiplicity="one" paramtype="primitive" remark="查询待执行的任务">
SELECT
*
FROM
wk_mfs_ln_pact
WHERE
<!-- 看是否需要根据syncDate分区,不需要的话,将这行放到后面 -->
ABS_SYNC_DATE = #{syncDate,jdbcType=DATE}
AND APP_ID = #{loanId,jdbcType=VARCHAR}
AND BR_NO = #{brNo,jdbcType=VARCHAR}
</operation>
</table>
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="wk_mfs_open_repay" physicalName="wk_mfs_open_repay" remark="放款信息表表">
<column name="TOTAL_TERMS" javatype="Integer" jdbctype="INTEGER"/>
<!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include -->
<sql id="Base_Column_List">
GRACE_DAY,TOTAL_TERMS,ORG_NO,SEQ_NO,CERT_NO
,DATA_ID,LEADER,LOAN_ID,PARTER,PROJ_NO
,TX_DATE,CUR_DATE,DATA_STS,END_DATE,BORW_TYPE
,CERT_TYPE,CURRENCY,CUST_NAME,FAIL_TYPE,LOAN_TYPE
,RATE_TYPE,APPLY_DATE,DEDUC_DATA,DEDUC_TYPE,PRODUCT_ID
,REPAY_MODE,START_DATE,DEDUC_CLASS,FUND_STATUS,REPAY_CYCLE
,ACCOUNT_DESC,PRODUCT_NAME,ACCOUNT_STATE,OPEN_BANK_NAME,OPEN_ACCOUNTNAME
,OPEN_BANKACCOUNT,INT_RATE,CHARGE_AMT,ENCASH_AMT
,CHARGE_RATE,ABS_SYNC_DATE,CHANGE_DATE
</sql>
<!-- baseSql option中 select wk.* 会自动替换为 include -->
<sql id="Base_WK_Column_List">
wk.GRACE_DAY,wk.TOTAL_TERMS,wk.ORG_NO,wk.SEQ_NO,wk.CERT_NO
,wk.DATA_ID,wk.LEADER,wk.LOAN_ID,wk.PARTER,wk.PROJ_NO
,wk.TX_DATE,wk.CUR_DATE,wk.DATA_STS,wk.END_DATE,wk.BORW_TYPE
,wk.CERT_TYPE,wk.CURRENCY,wk.CUST_NAME,wk.FAIL_TYPE,wk.LOAN_TYPE
,wk.RATE_TYPE,wk.APPLY_DATE,wk.DEDUC_DATA,wk.DEDUC_TYPE,wk.PRODUCT_ID
,wk.REPAY_MODE,wk.START_DATE,wk.DEDUC_CLASS,wk.FUND_STATUS,wk.REPAY_CYCLE
,wk.ACCOUNT_DESC,wk.PRODUCT_NAME,wk.ACCOUNT_STATE,wk.OPEN_BANK_NAME,wk.OPEN_ACCOUNTNAME
,wk.OPEN_BANKACCOUNT,wk.INT_RATE,wk.CHARGE_AMT,wk.ENCASH_AMT
,wk.CHARGE_RATE,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE,wk.CHANGE_DATE
</sql>
<operation name="insert" paramtype="object" remark="插入表:wk_mfs_open_repay" >
<![CDATA[
INSERT INTO wk_mfs_open_repay(
GRACE_DAY
,TOTAL_TERMS
,ORG_NO
,SEQ_NO
,CERT_NO
,DATA_ID
,LEADER
,LOAN_ID
,PARTER
,PROJ_NO
,TX_DATE
,CUR_DATE
,DATA_STS
,END_DATE
,BORW_TYPE
,CERT_TYPE
,CURRENCY
,CUST_NAME
,FAIL_TYPE
,LOAN_TYPE
,RATE_TYPE
,APPLY_DATE
,DEDUC_DATA
,DEDUC_TYPE
,PRODUCT_ID
,REPAY_MODE
,START_DATE
,DEDUC_CLASS
,FUND_STATUS
,REPAY_CYCLE
,ACCOUNT_DESC
,PRODUCT_NAME
,ACCOUNT_STATE
,OPEN_BANK_NAME
,OPEN_ACCOUNTNAME
,OPEN_BANKACCOUNT
,ABS_SYNC_DATE
,INT_RATE
,CHARGE_AMT
,ENCASH_AMT
,CHARGE_RATE
,CHANGE_DATE
)VALUES(
#{graceDay,jdbcType=DECIMAL}
, #{totalTerms,jdbcType=DECIMAL}
, #{orgNo,jdbcType=VARCHAR}
, #{seqNo,jdbcType=VARCHAR}
, #{certNo,jdbcType=VARCHAR}
, #{dataId,jdbcType=VARCHAR}
, #{leader,jdbcType=VARCHAR}
, #{loanId,jdbcType=VARCHAR}
, #{parter,jdbcType=VARCHAR}
, #{projNo,jdbcType=VARCHAR}
, #{txDate,jdbcType=VARCHAR}
, #{curDate,jdbcType=VARCHAR}
, #{dataSts,jdbcType=VARCHAR}
, #{endDate,jdbcType=VARCHAR}
, #{borwType,jdbcType=VARCHAR}
, #{certType,jdbcType=VARCHAR}
, #{currency,jdbcType=VARCHAR}
, #{custName,jdbcType=VARCHAR}
, #{failType,jdbcType=VARCHAR}
, #{loanType,jdbcType=VARCHAR}
, #{rateType,jdbcType=VARCHAR}
, #{applyDate,jdbcType=VARCHAR}
, #{deducData,jdbcType=VARCHAR}
, #{deducType,jdbcType=VARCHAR}
, #{productId,jdbcType=VARCHAR}
, #{repayMode,jdbcType=VARCHAR}
, #{startDate,jdbcType=VARCHAR}
, #{deducClass,jdbcType=VARCHAR}
, #{fundStatus,jdbcType=VARCHAR}
, #{repayCycle,jdbcType=VARCHAR}
, #{accountDesc,jdbcType=VARCHAR}
, #{productName,jdbcType=VARCHAR}
, #{accountState,jdbcType=VARCHAR}
, #{openBankName,jdbcType=VARCHAR}
, #{openAccountname,jdbcType=VARCHAR}
, #{openBankaccount,jdbcType=VARCHAR}
, #{absSyncDate,jdbcType=DATE}
, #{intRate,jdbcType=DECIMAL}
, #{chargeAmt,jdbcType=DECIMAL}
, #{encashAmt,jdbcType=DECIMAL}
, #{chargeRate,jdbcType=DECIMAL}
, #{changeDate,jdbcType=VARCHAR}
)
]]>
</operation>
<operation name="updateData">
truncate table wk_mfs_open_repay
</operation>
<operation name="insertSyncOne" multiplicity="one" paramtype="primitive" remark="根据会计时间同步放款信息表">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_open_repay (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_open_repay${wkxwSynonymAft}@${dbLink} wk
WHERE LOAN_ID = #{loanId,jdbcType=VARCHAR}
</operation>
<operation name="insertSyncAll" multiplicity="one" paramtype="primitive" remark="同步全量放款信息表">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_open_repay (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_open_repay${wkxwSynonymAft}@${dbLink} wk
WHERE
ORG_NO = #{orgNo,jdbcType=VARCHAR}
AND wk.PROJ_NO in
<foreach collection="lists" item="projNo" separator="," open="(" close=")">
#{projNo,jdbcType=VARCHAR}
</foreach>
</operation>
<operation name="getByLoanId" multiplicity="one" paramtype="primitive" remark="查询待执行的任务">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_open_repay${wkxwSynonymAft}@${dbLink} wk
WHERE
LOAN_ID = #{loanId,jdbcType=VARCHAR}
</operation>
<operation name="getSelfByLoanId" multiplicity="one" paramtype="primitive" remark="查询待执行的任务">
SELECT
*
FROM
wk_mfs_open_repay
WHERE
<!-- 看是否需要根据syncDate分区,不需要的话,将这行放到后面 -->
ABS_SYNC_DATE = #{syncDate,jdbcType=DATE}
AND LOAN_ID = #{loanId,jdbcType=VARCHAR}
AND ORG_NO = #{orgNo,jdbcType=VARCHAR}
</operation>
</table>
<!DOCTYPE table SYSTEM "../config/table-config-1.0.dtd">
<table sqlname="wk_mfs_repay_plan" physicalName="wk_mfs_repay_plan" remark="还款计划表" ordinalMaxPosition="44" ordinalEffectiveDay="20191010">
<column name="TERM_NO" javatype="Integer" jdbctype="INTEGER"/>
<!-- 特殊字符说明 &lt;&gt; <> -->
<!-- baseSql option中 select * 会自动替换为 include -->
<sql id="Base_Column_List">
TERM_NO,ORG_NO,DATA_ID,FUND_NO,LOAN_ID
,PROJ_NO,TX_DATE,CUR_DATE,DATA_STS,END_DATE
,CLEAR_DATE,START_DATE,TERM_STATUS,ACCOUNT_STATE
,INT_BAL,REM_PRIN,EXP_COUNT,INT_REPAY,INT_TOTAL
,PRIN_REPAY,PRIN_TOTAL,CHARGES_REPAY,CHARGES_TOTAL,FUND_FEE_REPAY
,FUND_FEE_TOTAL,OVERDUE_REPAY,OVERDUE_TOTAL,PNLT_INT_REPAY,PNLT_INT_TOTAL
,SERVICE_REPAY,SERVICE_TOTAL,INT_REDUCED_AMT,PNLT_REDUCED_AMT,FUND_FEE_REDUCED_AMT
,REPAY_VIOLATE_REPAY,REPAY_VIOLATE_TOTAL,REFUND_VIOLATE_REPAY,REFUND_VIOLATE_TOTAL,ABS_SYNC_DATE
,CHANGE_DATE ,TRUST_INT_AMT_ACC ,TRUST_PNLT_INT_AMT_ACC ,TRUST_BRT_AMT_ACC ,SERVICE_FEE_AMT
,TRUST_REPAY_VIOLATE_AMT_ACC
</sql>
<!-- baseSql option中 select wk.* 会自动替换为 include -->
<sql id="Base_WK_Column_List">
wk.TERM_NO,wk.ORG_NO,wk.DATA_ID,wk.FUND_NO,wk.LOAN_ID
,wk.PROJ_NO,wk.TX_DATE,wk.CUR_DATE,wk.DATA_STS,wk.END_DATE
,wk.CLEAR_DATE,wk.START_DATE,wk.TERM_STATUS,wk.ACCOUNT_STATE
,wk.INT_BAL,wk.REM_PRIN,wk.EXP_COUNT,wk.INT_REPAY,wk.INT_TOTAL
,wk.PRIN_REPAY,wk.PRIN_TOTAL,wk.CHARGES_REPAY,wk.CHARGES_TOTAL,wk.FUND_FEE_REPAY
,wk.FUND_FEE_TOTAL,wk.OVERDUE_REPAY,wk.OVERDUE_TOTAL,wk.PNLT_INT_REPAY,wk.PNLT_INT_TOTAL
,wk.SERVICE_REPAY,wk.SERVICE_TOTAL,wk.INT_REDUCED_AMT,wk.PNLT_REDUCED_AMT,wk.FUND_FEE_REDUCED_AMT
,wk.REPAY_VIOLATE_REPAY,wk.REPAY_VIOLATE_TOTAL,wk.REFUND_VIOLATE_REPAY,wk.REFUND_VIOLATE_TOTAL,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE
,wk.CHANGE_DATE ,wk.TRUST_INT_AMT_ACC ,wk.TRUST_PNLT_INT_AMT_ACC ,wk.TRUST_BRT_AMT_ACC ,wk.SERVICE_FEE_AMT
,TRUST_REPAY_VIOLATE_AMT_ACC
</sql>
<operation name="insert" paramtype="object" remark="插入表:wk_mfs_repay_plan" >
<![CDATA[
INSERT INTO wk_mfs_repay_plan(
TERM_NO
,ORG_NO
,DATA_ID
,FUND_NO
,LOAN_ID
,PROJ_NO
,TX_DATE
,CUR_DATE
,DATA_STS
,END_DATE
,CLEAR_DATE
,START_DATE
,TERM_STATUS
,ACCOUNT_STATE
,ABS_SYNC_DATE
,INT_BAL
,REM_PRIN
,EXP_COUNT
,INT_REPAY
,INT_TOTAL
,PRIN_REPAY
,PRIN_TOTAL
,CHARGES_REPAY
,CHARGES_TOTAL
,FUND_FEE_REPAY
,FUND_FEE_TOTAL
,OVERDUE_REPAY
,OVERDUE_TOTAL
,PNLT_INT_REPAY
,PNLT_INT_TOTAL
,SERVICE_REPAY
,SERVICE_TOTAL
,INT_REDUCED_AMT
,PNLT_REDUCED_AMT
,FUND_FEE_REDUCED_AMT
,REPAY_VIOLATE_REPAY
,REPAY_VIOLATE_TOTAL
,REFUND_VIOLATE_REPAY
,REFUND_VIOLATE_TOTAL
,CHANGE_DATE ,TRUST_INT_AMT_ACC ,TRUST_PNLT_INT_AMT_ACC ,TRUST_BRT_AMT_ACC ,SERVICE_FEE_AMT
,TRUST_REPAY_VIOLATE_AMT_ACC
)VALUES(
#{termNo,jdbcType=DECIMAL}
, #{orgNo,jdbcType=VARCHAR}
, #{dataId,jdbcType=VARCHAR}
, #{fundNo,jdbcType=VARCHAR}
, #{loanId,jdbcType=VARCHAR}
, #{projNo,jdbcType=VARCHAR}
, #{txDate,jdbcType=VARCHAR}
, #{curDate,jdbcType=VARCHAR}
, #{dataSts,jdbcType=VARCHAR}
, #{endDate,jdbcType=VARCHAR}
, #{clearDate,jdbcType=VARCHAR}
, #{startDate,jdbcType=VARCHAR}
, #{termStatus,jdbcType=VARCHAR}
, #{accountState,jdbcType=VARCHAR}
, #{absSyncDate,jdbcType=DATE}
, #{intBal,jdbcType=DECIMAL}
, #{remPrin,jdbcType=DECIMAL}
, #{expCount,jdbcType=DECIMAL}
, #{intRepay,jdbcType=DECIMAL}
, #{intTotal,jdbcType=DECIMAL}
, #{prinRepay,jdbcType=DECIMAL}
, #{prinTotal,jdbcType=DECIMAL}
, #{chargesRepay,jdbcType=DECIMAL}
, #{chargesTotal,jdbcType=DECIMAL}
, #{fundFeeRepay,jdbcType=DECIMAL}
, #{fundFeeTotal,jdbcType=DECIMAL}
, #{overdueRepay,jdbcType=DECIMAL}
, #{overdueTotal,jdbcType=DECIMAL}
, #{pnltIntRepay,jdbcType=DECIMAL}
, #{pnltIntTotal,jdbcType=DECIMAL}
, #{serviceRepay,jdbcType=DECIMAL}
, #{serviceTotal,jdbcType=DECIMAL}
, #{intReducedAmt,jdbcType=DECIMAL}
, #{pnltReducedAmt,jdbcType=DECIMAL}
, #{fundFeeReducedAmt,jdbcType=DECIMAL}
, #{repayViolateRepay,jdbcType=DECIMAL}
, #{repayViolateTotal,jdbcType=DECIMAL}
, #{refundViolateRepay,jdbcType=DECIMAL}
, #{refundViolateTotal,jdbcType=DECIMAL}
, #{changeDate,jdbcType=VARCHAR}
, #{trustIntAmtAcc,jdbcType=DECIMAL}
, #{trustPnltIntAmtAcc,jdbcType=DECIMAL}
, #{trustBrtAmtAcc,jdbcType=DECIMAL}
, #{serviceFeeAmt,jdbcType=DECIMAL}
, #{trustRepayViolateAmtAcc,jdbcType=DECIMAL}
)
]]>
</operation>
<operation name="updateData">
truncate table wk_mfs_repay_plan
</operation>
<operation name="insertSyncAll" multiplicity="one" paramtype="primitive" remark="根据会计时间同步还款计划表">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_repay_plan (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_repay_plan@${dbLink} wk
WHERE
wk.ORG_NO = #{orgNo,jdbcType=VARCHAR}
AND wk.PROJ_NO in
<foreach collection="lists" item="projNo" separator="," open="(" close=")">
#{projNo,jdbcType=VARCHAR}
</foreach>
</operation>
<operation name="insertSyncOne" multiplicity="one" paramtype="primitive" remark="根据会计时间同步还款计划表">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
INSERT INTO wk_mfs_repay_plan (<include refid="Base_Column_List"/>)
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_repay_plan@${dbLink} wk
WHERE LOAN_ID = #{loanId,jdbcType=VARCHAR}
</operation>
<operation name="getByLoanId" multiplicity="many" paramtype="primitive" remark="查询待执行的任务">
<extraparams>
<param name="wkxwDbName" javatype="String"/>
<param name="wkxwSynonymPre" javatype="String"/>
<param name="wkxwSynonymAft" javatype="String"/>
<param name="dbLink" javatype="String"/>
</extraparams>
SELECT
<include refid="Base_WK_Column_List"/>
FROM
${wkxwDbName}${wkxwSynonymPre}mfs_repay_plan${wkxwSynonymAft}@${dbLink} wk
WHERE
<!-- 看是否需要根据syncDate分区,不需要的话,将这行放到后面 -->
<!-- ABS_SYNC_DATE = #{syncDate,jdbcType=DATE}-->
LOAN_ID = #{loanId,jdbcType=VARCHAR}
AND ORG_NO = #{orgNo,jdbcType=VARCHAR}
</operation>
<operation name="getSelfByLoanId" multiplicity="many" paramtype="primitive" remark="查询待执行的任务">
SELECT
*
FROM
wk_mfs_repay_plan
WHERE
<!-- 看是否需要根据syncDate分区,不需要的话,将这行放到后面 -->
ABS_SYNC_DATE = #{syncDate,jdbcType=DATE}
AND LOAN_ID = #{loanId,jdbcType=VARCHAR}
AND ORG_NO = #{orgNo,jdbcType=VARCHAR}
</operation>
</table>
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
result.setPlanNo(param.getPlanNo()); result.setPlanNo(param.getPlanNo());
//dymRule 动态规则列表 //dymRule 动态规则列表
result.setDymRule(param.getDymRule()); result.setDymRule(param.getDymRule());
//extData 资产包详情
result.setExtData(param.getExtData());
//packCode 资产包编码 //packCode 资产包编码
result.setPackCode(param.getPackCode()); result.setPackCode(param.getPackCode());
//packName 资产包名称 //packName 资产包名称
...@@ -49,6 +51,7 @@ ...@@ -49,6 +51,7 @@
//memo 备注 //memo 备注
//planNo 计划编号 //planNo 计划编号
//dymRule 动态规则列表 //dymRule 动态规则列表
//extData 资产包详情
//packCode 资产包编码 //packCode 资产包编码
//packName 资产包名称 //packName 资产包名称
//packType 资产包类型 //packType 资产包类型
......
...@@ -39,3 +39,4 @@ ...@@ -39,3 +39,4 @@
//lastExecTime //lastExecTime
//nextExecTime //nextExecTime
} }
...@@ -5,27 +5,6 @@ ...@@ -5,27 +5,6 @@
package com.abssqr.plat.common.dal; package com.abssqr.plat.common.dal;
public class AbsSynDataConstants{ public class AbsSynDataConstants{
public static class WK_MFS_DUE_BILL{
public static final String tableName="WK_MFS_DUE_BILL";
public static final String Base_WK_Column_List = "wk.INT_BAL,wk.CUR_TERM,wk.INT_RATE,wk.PRIN_BAL,wk.GRACE_DAY ,wk.INT_REPAY,wk.INT_TOTAL,wk.REPAY_DAY,wk.ENCASH_AMT,wk.OVD_INT_BAL ,wk.PRIN_REPAY,wk.PRIN_TOTAL,wk.OVD_PRIN_BAL,wk.PNLT_INT_BAL,wk.TOTAL_TERMS ,wk.FUND_FEE_REPAY,wk.FUND_FEE_TOTAL,wk.PNLT_INT_REPAY,wk.PNLT_INT_TOTAL,wk.LN_USE ,wk.ORG_NO,wk.DATA_ID,wk.FUND_NO,wk.LOAN_ID,wk.PROJ_NO ,wk.TX_DATE,wk.APPLY_ID,wk.CUR_DATE,wk.DATA_STS,wk.END_DATE ,wk.TRACE_NO,wk.CURRENCY,wk.LOAN_FORM,wk.RATE_TYPE,wk.APPLY_DATE ,wk.CLEAR_DATE,wk.REPAY_MODE,wk.START_DATE,wk.LOAN_STATUS,wk.PAYOUT_DATE ,wk.REPAY_CYCLE,wk.ACCOUNT_STATE,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE,wk.PRODUCT_ID,wk.PRODUCT_NAME ,wk.CHANGE_DATE,wk.TRUST_INT_AMT_ACC,wk.TRUST_PNLT_INT_AMT_ACC,wk.TRUST_BRT_AMT_ACC,wk.SERVICE_FEE_AMT,wk.REPAY_VIOLATE_TOTAL,wk.REPAY_VIOLATE_REPAY,wk.TRUST_REPAY_VIOLATE_AMT_ACC";
public static final String Base_Column_List = "INT_BAL,CUR_TERM,INT_RATE,PRIN_BAL,GRACE_DAY ,INT_REPAY,INT_TOTAL,REPAY_DAY,ENCASH_AMT,OVD_INT_BAL ,PRIN_REPAY,PRIN_TOTAL,OVD_PRIN_BAL,PNLT_INT_BAL,TOTAL_TERMS ,FUND_FEE_REPAY,FUND_FEE_TOTAL,PNLT_INT_REPAY,PNLT_INT_TOTAL,LN_USE ,ORG_NO,DATA_ID,FUND_NO,LOAN_ID,PROJ_NO ,TX_DATE,APPLY_ID,CUR_DATE,DATA_STS,END_DATE ,TRACE_NO,CURRENCY,LOAN_FORM,RATE_TYPE,APPLY_DATE ,CLEAR_DATE,REPAY_MODE,START_DATE,LOAN_STATUS,PAYOUT_DATE ,REPAY_CYCLE,ACCOUNT_STATE,ABS_SYNC_DATE,PRODUCT_ID,PRODUCT_NAME ,CHANGE_DATE,TRUST_INT_AMT_ACC,TRUST_PNLT_INT_AMT_ACC,TRUST_BRT_AMT_ACC,SERVICE_FEE_AMT,REPAY_VIOLATE_TOTAL,REPAY_VIOLATE_REPAY,TRUST_REPAY_VIOLATE_AMT_ACC";
}
public static class WK_MFS_REPAY_INFO{
public static final String tableName="WK_MFS_REPAY_INFO";
public static final String Base_WK_Column_List = "wk.TERM_NO,wk.DZ_STS,wk.EVENT,wk.ORG_NO,wk.SEQ_NO ,wk.DATA_ID,wk.FUND_NO,wk.LOAN_ID,wk.PROJNO,wk.TX_DATE ,wk.CUR_DATE,wk.DATA_STS,wk.DEDU_WAY,wk.SUMMARY,wk.TRAN_DATE ,wk.TRAN_TIME,wk.DBBANKNAME,wk.DBACCOUNTNAME,wk.DBBANKACCOUNT,wk.PARTNER_LOAN_ID ,wk.BRE_CUT,wk.INT_AMT,wk.INTE_CUT,wk.PRIN_AMT ,wk.EXP_FINTE,wk.TOTAL_AMT,wk.FREE_FINTE,wk.INCOME_AMT,wk.CHARGES_AMT ,wk.FUND_FEE_AMT,wk.OVERDUE_AMT,wk.PNLT_INT_AMT,wk.SERVICE_AMT,wk.INT_REDUCED_AMT ,wk.PNLT_REDUCED_AMT,wk.REPAY_VIOLATE_AMT,wk.REFUND_VIOLATE_AMT,wk.CHARGES_REDUCED_AMT,wk.FUND_FEE_REDUCED_AMT ,wk.OVERDUE_REDUCED_AMT,wk.SERVICE_REDUCED_AMT,wk.REPAY_VIOLATE_REDUCED_AMT,wk.REFUND_VIOLATE_REDUCED_AMT,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE ,wk.PRODUCT_ID,wk.PRODUCT_NAME ,wk.CHANGE_DATE ,wk.TRUST_INT_AMT_ACC ,wk.TRUST_PNLT_INT_AMT_ACC ,wk.TRUST_BRT_AMT_ACC ,wk.SERVICE_FEE_AMT ,wk.TRUST_REPAY_VIOLATE_AMT_ACC";
public static final String Base_Column_List = "TERM_NO,DZ_STS,EVENT,ORG_NO,SEQ_NO ,DATA_ID,FUND_NO,LOAN_ID,PROJNO,TX_DATE ,CUR_DATE,DATA_STS,DEDU_WAY,SUMMARY,TRAN_DATE ,TRAN_TIME,DBBANKNAME,DBACCOUNTNAME,DBBANKACCOUNT,PARTNER_LOAN_ID ,BRE_CUT,INT_AMT,INTE_CUT,PRIN_AMT ,EXP_FINTE,TOTAL_AMT,FREE_FINTE,INCOME_AMT,CHARGES_AMT ,FUND_FEE_AMT,OVERDUE_AMT,PNLT_INT_AMT,SERVICE_AMT,INT_REDUCED_AMT ,PNLT_REDUCED_AMT,REPAY_VIOLATE_AMT,REFUND_VIOLATE_AMT,CHARGES_REDUCED_AMT,FUND_FEE_REDUCED_AMT ,OVERDUE_REDUCED_AMT,SERVICE_REDUCED_AMT,REPAY_VIOLATE_REDUCED_AMT,REFUND_VIOLATE_REDUCED_AMT,ABS_SYNC_DATE,PRODUCT_ID,PRODUCT_NAME ,CHANGE_DATE ,TRUST_INT_AMT_ACC ,TRUST_PNLT_INT_AMT_ACC ,TRUST_BRT_AMT_ACC ,SERVICE_FEE_AMT ,TRUST_REPAY_VIOLATE_AMT_ACC";
}
public static class WK_DHCC_BATCH{
public static final String tableName="WK_DHCC_BATCH";
}
public static class WK_MFS_OPEN_REPAY{
public static final String tableName="WK_MFS_OPEN_REPAY";
public static final String Base_WK_Column_List = "wk.GRACE_DAY,wk.TOTAL_TERMS,wk.ORG_NO,wk.SEQ_NO,wk.CERT_NO ,wk.DATA_ID,wk.LEADER,wk.LOAN_ID,wk.PARTER,wk.PROJ_NO ,wk.TX_DATE,wk.CUR_DATE,wk.DATA_STS,wk.END_DATE,wk.BORW_TYPE ,wk.CERT_TYPE,wk.CURRENCY,wk.CUST_NAME,wk.FAIL_TYPE,wk.LOAN_TYPE ,wk.RATE_TYPE,wk.APPLY_DATE,wk.DEDUC_DATA,wk.DEDUC_TYPE,wk.PRODUCT_ID ,wk.REPAY_MODE,wk.START_DATE,wk.DEDUC_CLASS,wk.FUND_STATUS,wk.REPAY_CYCLE ,wk.ACCOUNT_DESC,wk.PRODUCT_NAME,wk.ACCOUNT_STATE,wk.OPEN_BANK_NAME,wk.OPEN_ACCOUNTNAME ,wk.OPEN_BANKACCOUNT,wk.INT_RATE,wk.CHARGE_AMT,wk.ENCASH_AMT ,wk.CHARGE_RATE,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE,wk.CHANGE_DATE";
public static final String Base_Column_List = "GRACE_DAY,TOTAL_TERMS,ORG_NO,SEQ_NO,CERT_NO ,DATA_ID,LEADER,LOAN_ID,PARTER,PROJ_NO ,TX_DATE,CUR_DATE,DATA_STS,END_DATE,BORW_TYPE ,CERT_TYPE,CURRENCY,CUST_NAME,FAIL_TYPE,LOAN_TYPE ,RATE_TYPE,APPLY_DATE,DEDUC_DATA,DEDUC_TYPE,PRODUCT_ID ,REPAY_MODE,START_DATE,DEDUC_CLASS,FUND_STATUS,REPAY_CYCLE ,ACCOUNT_DESC,PRODUCT_NAME,ACCOUNT_STATE,OPEN_BANK_NAME,OPEN_ACCOUNTNAME ,OPEN_BANKACCOUNT,INT_RATE,CHARGE_AMT,ENCASH_AMT ,CHARGE_RATE,ABS_SYNC_DATE,CHANGE_DATE";
}
public static class WK_DATA_CHECK{
public static final String tableName="WK_DATA_CHECK";
}
public static class WK_ABS_MFS_BILL_CTR_IGNORE{ public static class WK_ABS_MFS_BILL_CTR_IGNORE{
public static final String tableName="WK_ABS_MFS_BILL_CTR_IGNORE"; public static final String tableName="WK_ABS_MFS_BILL_CTR_IGNORE";
public static final String Base_SF_Column_List = "sf.MEMO,sf.LOAN_ID,sf.ERR_END_DATE,sf.ERR_START_DATE"; public static final String Base_SF_Column_List = "sf.MEMO,sf.LOAN_ID,sf.ERR_END_DATE,sf.ERR_START_DATE";
...@@ -37,14 +16,4 @@ public class AbsSynDataConstants{ ...@@ -37,14 +16,4 @@ public class AbsSynDataConstants{
public static final String Base_SYNC_Column_List = "ID,LOAN_ID,LOAN_STATUS,ORG_NO,ABS_SYNC_DATE, ABS_STATUS,PRODUCT_ID,PRODUCT_NAME,NEXT_EXEC_TIME"; public static final String Base_SYNC_Column_List = "ID,LOAN_ID,LOAN_STATUS,ORG_NO,ABS_SYNC_DATE, ABS_STATUS,PRODUCT_ID,PRODUCT_NAME,NEXT_EXEC_TIME";
public static final String Base_Column_List = "ID,ORG_NO,LOAN_ID,ABS_STATUS,LOAN_STATUS, ABS_SYNC_DATE ,EXEC_TIMES,LAST_EXEC_TIME,NEXT_EXEC_TIME, LAST_HOST,PRODUCT_ID"; public static final String Base_Column_List = "ID,ORG_NO,LOAN_ID,ABS_STATUS,LOAN_STATUS, ABS_SYNC_DATE ,EXEC_TIMES,LAST_EXEC_TIME,NEXT_EXEC_TIME, LAST_HOST,PRODUCT_ID";
} }
public static class WK_MFS_REPAY_PLAN{
public static final String tableName="WK_MFS_REPAY_PLAN";
public static final String Base_WK_Column_List = "wk.TERM_NO,wk.ORG_NO,wk.DATA_ID,wk.FUND_NO,wk.LOAN_ID ,wk.PROJ_NO,wk.TX_DATE,wk.CUR_DATE,wk.DATA_STS,wk.END_DATE ,wk.CLEAR_DATE,wk.START_DATE,wk.TERM_STATUS,wk.ACCOUNT_STATE ,wk.INT_BAL,wk.REM_PRIN,wk.EXP_COUNT,wk.INT_REPAY,wk.INT_TOTAL ,wk.PRIN_REPAY,wk.PRIN_TOTAL,wk.CHARGES_REPAY,wk.CHARGES_TOTAL,wk.FUND_FEE_REPAY ,wk.FUND_FEE_TOTAL,wk.OVERDUE_REPAY,wk.OVERDUE_TOTAL,wk.PNLT_INT_REPAY,wk.PNLT_INT_TOTAL ,wk.SERVICE_REPAY,wk.SERVICE_TOTAL,wk.INT_REDUCED_AMT,wk.PNLT_REDUCED_AMT,wk.FUND_FEE_REDUCED_AMT ,wk.REPAY_VIOLATE_REPAY,wk.REPAY_VIOLATE_TOTAL,wk.REFUND_VIOLATE_REPAY,wk.REFUND_VIOLATE_TOTAL,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE ,wk.CHANGE_DATE ,wk.TRUST_INT_AMT_ACC ,wk.TRUST_PNLT_INT_AMT_ACC ,wk.TRUST_BRT_AMT_ACC ,wk.SERVICE_FEE_AMT ,TRUST_REPAY_VIOLATE_AMT_ACC";
public static final String Base_Column_List = "TERM_NO,ORG_NO,DATA_ID,FUND_NO,LOAN_ID ,PROJ_NO,TX_DATE,CUR_DATE,DATA_STS,END_DATE ,CLEAR_DATE,START_DATE,TERM_STATUS,ACCOUNT_STATE ,INT_BAL,REM_PRIN,EXP_COUNT,INT_REPAY,INT_TOTAL ,PRIN_REPAY,PRIN_TOTAL,CHARGES_REPAY,CHARGES_TOTAL,FUND_FEE_REPAY ,FUND_FEE_TOTAL,OVERDUE_REPAY,OVERDUE_TOTAL,PNLT_INT_REPAY,PNLT_INT_TOTAL ,SERVICE_REPAY,SERVICE_TOTAL,INT_REDUCED_AMT,PNLT_REDUCED_AMT,FUND_FEE_REDUCED_AMT ,REPAY_VIOLATE_REPAY,REPAY_VIOLATE_TOTAL,REFUND_VIOLATE_REPAY,REFUND_VIOLATE_TOTAL,ABS_SYNC_DATE ,CHANGE_DATE ,TRUST_INT_AMT_ACC ,TRUST_PNLT_INT_AMT_ACC ,TRUST_BRT_AMT_ACC ,SERVICE_FEE_AMT ,TRUST_REPAY_VIOLATE_AMT_ACC";
}
public static class WK_MFS_LN_PACT{
public static final String tableName="WK_MFS_LN_PACT";
public static final String Base_WK_Column_List = "wk.PAY_DAY,wk.TERM_DAY,wk.TERM_MON,wk.GRACE_DAY,wk.BR_NO ,wk.APP_ID,wk.CIF_NO,wk.CUR_NO,wk.LN_USE,wk.REP_DT ,wk.DATA_ID,wk.FUND_NO,wk.LN_TYPE,wk.PACT_ID,wk.PACT_NO ,wk.PAY_CHN,wk.PROJ_NO,wk.TX_DATE,wk.UP_TIME,wk.APP_AREA ,wk.BEG_DATE,wk.CIF_NAME,wk.DATA_STS,wk.END_DATE,wk.PACT_STS ,wk.PAY_KIND,wk.PAY_MENT,wk.PAY_TYPE,wk.VOU_TYPE,wk.BR_ACC_TYPE ,wk.REPAY_TYPE,wk.FACT_PACT_NO,wk.LN_RATE,wk.PUT_AMT ,wk.PACT_AMT,wk.OVER_RATE,#{syncDate,jdbcType=DATE} as ABS_SYNC_DATE,wk.PRODUCT_ID,wk.PRODUCT_NAME,wk.CUR_DATE";
public static final String Base_Column_List = "PAY_DAY,TERM_DAY,TERM_MON,GRACE_DAY,BR_NO ,APP_ID,CIF_NO,CUR_NO,LN_USE,REP_DT ,DATA_ID,FUND_NO,LN_TYPE,PACT_ID,PACT_NO ,PAY_CHN,PROJ_NO,TX_DATE,UP_TIME,APP_AREA ,BEG_DATE,CIF_NAME,DATA_STS,END_DATE,PACT_STS ,PAY_KIND,PAY_MENT,PAY_TYPE,VOU_TYPE,BR_ACC_TYPE ,REPAY_TYPE,FACT_PACT_NO,LN_RATE,PUT_AMT ,PACT_AMT,OVER_RATE,ABS_SYNC_DATE,PRODUCT_ID,PRODUCT_NAME,CUR_DATE";
}
} }
\ No newline at end of file
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.DataForCheck;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AbsDataCheckDOMapper;
/**
* The Table ABS_DATA_CHECK.
* 账户
*/
@Repository
public class AbsDataCheckDAO{
@Autowired
private AbsDataCheckDOMapper absDataCheckDOMapper;
/**
* desc:getDataForCheck.<br/>
* @param acctDate acctDate
* @param planNos planNos
* @return List<DataForCheck>
*/
public List<DataForCheck> getDataForCheck(Date acctDate,List<String> planNos){
if(planNos!=null && planNos.size()>201){throw new RuntimeException("planNos 超出201长度限制");}
return absDataCheckDOMapper.getDataForCheck(acctDate, planNos);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AbsSequenceDOMapper;
/**
* The Table ABS_SEQUENCE.
* ABS_SEQUENCE
*/
@Repository
public class AbsSequenceDAO{
@Autowired
private AbsSequenceDOMapper absSequenceDOMapper;
/**
* desc:ABS_SEQUENCE.<br/>
* @return Long
*/
public Long getSeqText(){
return absSequenceDOMapper.getSeqText();
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AccountDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AccountDOMapper;
/**
* The Table abs_account.
* 账户
*/
@Repository
public class AccountDAO{
@Autowired
private AccountDOMapper accountDOMapper;
/**
* desc:插入表:abs_account.<br/>
* @param entity entity
* @return int
*/
public int insert(AccountDO entity){
return accountDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_account.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<AccountDO> list){
accountDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据主键删除数据:abs_account.<br/>
* @param id id
* @return int
*/
public int deleteById(Long id){
return accountDOMapper.deleteById(id);
}
/**
* desc:根据主键获取数据:abs_account.<br/>
* @param id id
* @return AccountDO
*/
public AccountDO getById(Long id){
return accountDOMapper.getById(id);
}
/**
* desc:getByAccountNo.<br/>
* @param actNo actNo
* @return AccountDO
*/
public AccountDO getByAccountNo(String actNo){
return accountDOMapper.getByAccountNo(actNo);
}
/**
* desc:根据EntityCode删除数据:abs_account.<br/>
* @param actType actType
* @param entityCode entityCode
* @return int
*/
public int deleteByEntityCodeAndActType(String actType,String entityCode){
return accountDOMapper.deleteByEntityCodeAndActType(actType, entityCode);
}
/**
* desc:根据机构实体获取账号.<br/>
* @param actAttr actAttr
* @param entityCode entityCode
* @param list list
* @return List<AccountDO>
*/
public List<AccountDO> selectByEntityCodeAndActType(String actAttr,String entityCode,List<String> list){
if(list!=null && list.size()>201){throw new RuntimeException("list 超出201长度限制");}
return accountDOMapper.selectByEntityCodeAndActType(actAttr, entityCode, list);
}
/**
* desc:根据机构实体获取账号.<br/>
* @param actType actType
* @param entityCode entityCode
* @return List<AccountDO>
*/
public List<AccountDO> selectByEntityCodeAndType(String actType,String entityCode){
return accountDOMapper.selectByEntityCodeAndType(actType, entityCode);
}
/**
* desc:根据机构编号删除账号.<br/>
* @param entityCode entityCode
* @return int
*/
public int deleteByEntityCode(String entityCode){
return accountDOMapper.deleteByEntityCode(entityCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AcctDateDO;
import java.util.Date;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AcctDateDOMapper;
/**
* The Table abs_acct_date.
* ABS_ACCT_DATE
*/
@Repository
public class AcctDateDAO{
@Autowired
private AcctDateDOMapper acctDateDOMapper;
/**
* desc:插入表:abs_acct_date.<br/>
* @param entity entity
* @return int
*/
public int insert(AcctDateDO entity){
return acctDateDOMapper.insert(entity);
}
/**
* desc:更新表:abs_acct_date.<br/>
* @param acctDate acctDate
* @param orgCode orgCode
* @return int
*/
public int update(Date acctDate,String orgCode){
return acctDateDOMapper.update(acctDate, orgCode);
}
/**
* desc:根据主键获取数据:abs_acct_date.<br/>
* @param orgCode orgCode
* @return AcctDateDO
*/
public AcctDateDO getDate(String orgCode){
return acctDateDOMapper.getDate(orgCode);
}
/**
* desc:查询所有机构的会计日.<br/>
* @return List<AcctDateDO>
*/
public List<AcctDateDO> queryAcctDate(){
return acctDateDOMapper.queryAcctDate();
}
/**
* desc:根据机构编码锁会计日.<br/>
* @param orgCode orgCode
* @return AcctDateDO
*/
public AcctDateDO getForLock(String orgCode){
return acctDateDOMapper.getForLock(orgCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.ActGeBytearrayDO;
import com.abssqr.plat.common.dal.mysql.auto.mapper.ActGeBytearrayDOMapper;
/**
* The Table act_ge_bytearray.
* ACT_GE_BYTEARRAY
*/
@Repository
public class ActGeBytearrayDAO{
@Autowired
private ActGeBytearrayDOMapper actGeBytearrayDOMapper;
/**
* desc:插入表:act_ge_bytearray.<br/>
* @param entity entity
* @return int
*/
public int insert(ActGeBytearrayDO entity){
return actGeBytearrayDOMapper.insert(entity);
}
/**
* desc:更新表:act_ge_bytearray.<br/>
* @param entity entity
* @return int
*/
public int update(ActGeBytearrayDO entity){
return actGeBytearrayDOMapper.update(entity);
}
/**
* desc:根据主键删除数据:act_ge_bytearray.<br/>
* @param id id
* @return int
*/
public int deleteById(String id){
return actGeBytearrayDOMapper.deleteById(id);
}
/**
* desc:根据主键获取数据:act_ge_bytearray.<br/>
* @param id id
* @return ActGeBytearrayDO
*/
public ActGeBytearrayDO getById(String id){
return actGeBytearrayDOMapper.getById(id);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPackDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.paging.ActivePackPage;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPackDOMapper;
/**
* The Table ABS_AST_PACK.
* 资产包
*/
@Repository
public class AstPackDAO{
@Autowired
private AstPackDOMapper astPackDOMapper;
/**
* desc:插入表:ABS_AST_PACK.<br/>
* @param entity entity
* @return int
*/
public int insert(AstPackDO entity){
return astPackDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_account.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<AstPackDO> list){
astPackDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据状态获取包.<br/>
* @param scenDate scenDate
* @param packType packType
* @param packStatus packStatus
* @return List<AstPackDO>
*/
public List<AstPackDO> selectPackByStatus(Date scenDate,String packType,String packStatus){
return astPackDOMapper.selectPackByStatus(scenDate, packType, packStatus);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param packCode packCode
* @return AstPackDO
*/
@Deprecated
public AstPackDO getByPackCode(String packCode){
return astPackDOMapper.getByPackCode(packCode);
}
/**
* desc:根据普通索引AbsTrCtrTask0获取数据:abs_tr_ctr_task.<br/>
* @param scenDate scenDate
* @param status status
* @param packType packType
* @param managerOrgCode managerOrgCode
* @return List<AstPackDO>
*/
public List<AstPackDO> getByManagerOrg(Date scenDate,String status,String packType,String managerOrgCode){
return astPackDOMapper.getByManagerOrg(scenDate, status, packType, managerOrgCode);
}
/**
* desc:更新表:ABS_AST_PACK.<br/>
* @param packStatus packStatus
* @param oldPackStatus oldPackStatus
* @param packCodes packCodes
* @return int
*/
public int updatePackStatus(String packStatus,String oldPackStatus,List<String> packCodes){
if(packCodes!=null && packCodes.size()>201){throw new RuntimeException("packCodes 超出201长度限制");}
return astPackDOMapper.updatePackStatus(packStatus, oldPackStatus, packCodes);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param planNo planNo
* @param packType packType
* @return List<AstPackDO>
*/
public List<AstPackDO> getByPlanNo(String planNo,String packType){
return astPackDOMapper.getByPlanNo(planNo, packType);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param scenDate scenDate
* @param planNo planNo
* @param packType packType
* @return AstPackDO
*/
public AstPackDO getLastDayPackByPlanNo(Date scenDate,String planNo,String packType){
return astPackDOMapper.getLastDayPackByPlanNo(scenDate, planNo, packType);
}
/**
* desc:根据packCode获取数据:ABS_AST_PACK.<br/>
* @param activePack activePack
* @return ActivePackPage
*/
@Deprecated
public ActivePackPage queryByActivePacks(ActivePackPage activePack){
int total = astPackDOMapper.queryByActivePacksCount(activePack);
if(total>0){
activePack.setDatas(astPackDOMapper.queryByActivePacksResult(activePack));
}else{
activePack.setDatas(new ArrayList());
}
activePack.setTotal(total);
return activePack;
}
/**
* desc:获取指定状态的资产包数量.<br/>
* @param time time
* @param status status
* @param packType packType
* @return Long
*/
public Long countByStatusAndTime(Date time,String status,String packType){
return astPackDOMapper.countByStatusAndTime(time, status, packType);
}
/**
* desc:锁资产包.<br/>
* @param packCode packCode
* @return AstPackDO
*/
public AstPackDO lockByPackCode(String packCode){
return astPackDOMapper.lockByPackCode(packCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPoolDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.PactsAstMatchPage;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPoolItem;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPoolDOMapper;
/**
* The Table ABS_AST_POOL.
* 一月的资产池
*/
@Repository
public class AstPoolDAO{
@Autowired
private AstPoolDOMapper astPoolDOMapper;
/**
* desc:插入表:ABS_AST_POOL_JAN.<br/>
* @param entity entity
* @return int
*/
public int insert(AstPoolDO entity){
return astPoolDOMapper.insert(entity);
}
/**
* desc:根据主键删除数据:ABS_AST_POOL_JAN.<br/>
* @param astNo astNo
* @param termNo termNo
* @return int
*/
public int updateSlice(String astNo,Integer termNo){
return astPoolDOMapper.updateSlice(astNo, termNo);
}
/**
* desc:根据主键删除数据:ABS_AST_POOL_JAN.<br/>
* @param astNo astNo
* @param termNo termNo
* @return int
*/
public int deleteByPk(String astNo,Integer termNo){
return astPoolDOMapper.deleteByPk(astNo, termNo);
}
/**
* desc:更新是否一切片.<br/>
* @param astNo astNo
* @param slice slice
* @param termNo termNo
* @return int
*/
public int updateSliceByPk(String astNo,Boolean slice,Integer termNo){
return astPoolDOMapper.updateSliceByPk(astNo, slice, termNo);
}
/**
* desc:资产筛选分页.<br/>
* @param pactsAstMatch pactsAstMatch
* @return PactsAstMatchPage
*/
public PactsAstMatchPage queryForAstMatch(PactsAstMatchPage pactsAstMatch){
int total = astPoolDOMapper.queryForAstMatchCount(pactsAstMatch);
if(total>0){
pactsAstMatch.setDatas(astPoolDOMapper.queryForAstMatchResult(pactsAstMatch));
}else{
pactsAstMatch.setDatas(new ArrayList());
}
pactsAstMatch.setTotal(total);
return pactsAstMatch;
}
/**
* desc:资产筛选分页.<br/>
* @param sysDate sysDate
* @param astNo astNo
* @return List<AstPoolItem>
*/
public List<AstPoolItem> getAstPoolItems(Date sysDate,String astNo){
return astPoolDOMapper.getAstPoolItems(sysDate, astNo);
}
/**
* desc:获取资产池资产.<br/>
* @param astNo astNo
* @param ownOrg ownOrg
* @return AstPoolDO
*/
public AstPoolDO getAstPoolItem(String astNo,String ownOrg){
return astPoolDOMapper.getAstPoolItem(astNo, ownOrg);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstPriceRuleDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstPriceRuleDOMapper;
/**
* The Table abs_ast_price_rule.
* ABS_AST_PRICE_RULE
*/
@Repository
public class AstPriceRuleDAO{
@Autowired
private AstPriceRuleDOMapper astPriceRuleDOMapper;
/**
* desc:批量插入表:abs_ast_price_rule.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<AstPriceRuleDO> list){
astPriceRuleDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:删除产品对应定价规则.<br/>
* @param abssqrProdCode abssqrProdCode
* @return int
*/
public int deleteByAbsProdCode(String abssqrProdCode){
return astPriceRuleDOMapper.deleteByAbsProdCode(abssqrProdCode);
}
/**
* desc:根据产品查询定价规则.<br/>
* @param abssqrProdCode abssqrProdCode
* @return List<AstPriceRuleDO>
*/
public List<AstPriceRuleDO> getByAbsProdCode(String abssqrProdCode){
return astPriceRuleDOMapper.getByAbsProdCode(abssqrProdCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstScreenRuleDO;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.LinkedHashMap;
import java.util.ArrayList;
import java.util.HashSet;
import com.abssqr.plat.common.dal.mysql.auto.paging.ScreenRulePage;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstScreenRuleDOMapper;
/**
* The Table abs_ast_screen_rule.
* 资产筛选规则
*/
@Repository
public class AstScreenRuleDAO{
@Autowired
private AstScreenRuleDOMapper astScreenRuleDOMapper;
/**
* desc:插入表:abs_ast_screen_rule.<br/>
* @param entity entity
* @return int
*/
public int insert(AstScreenRuleDO entity){
return astScreenRuleDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_ast_screen_rule.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<AstScreenRuleDO> list){
astScreenRuleDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据唯一约束ScreenRuleNo更新表:abs_ast_screen_rule.<br/>
* @param entity entity
* @return int
*/
public int updateByScreenRuleNo(AstScreenRuleDO entity){
return astScreenRuleDOMapper.updateByScreenRuleNo(entity);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNo screenRuleNo
* @return AstScreenRuleDO
*/
public AstScreenRuleDO getByScreenRuleNo(String screenRuleNo){
return astScreenRuleDOMapper.getByScreenRuleNo(screenRuleNo);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNos screenRuleNos
* @return Map<String,AstScreenRuleDO>
*/
public List<AstScreenRuleDO> getByScreenRuleNosList(List<String> screenRuleNos){
return astScreenRuleDOMapper.getByScreenRuleNos(screenRuleNos);
}
/**
* desc:根据唯一约束ScreenRuleNo获取数据:abs_ast_screen_rule.<br/>
* @param screenRuleNos screenRuleNos
* @return Map<String,AstScreenRuleDO>
*/
public Map<String,AstScreenRuleDO> getByScreenRuleNos(List<String> screenRuleNos){
if(screenRuleNos!=null && screenRuleNos.size()>201){throw new RuntimeException("screenRuleNos 超出201长度限制");}
Map<String,AstScreenRuleDO> result = new LinkedHashMap();
List<AstScreenRuleDO> resultList = astScreenRuleDOMapper.getByScreenRuleNos(screenRuleNos);
if(resultList!=null && !resultList.isEmpty()){
for(AstScreenRuleDO entity:resultList){
result.put(entity.getScreenRuleNo(),entity);
}
}
return result;
}
/**
* desc:分页查询资产筛选规则.<br/>
* @param screenRule screenRule
* @return ScreenRulePage
*/
public ScreenRulePage getScreenRuleList(ScreenRulePage screenRule){
int total = astScreenRuleDOMapper.getScreenRuleListCount(screenRule);
if(total>0){
screenRule.setDatas(astScreenRuleDOMapper.getScreenRuleListResult(screenRule));
}else{
screenRule.setDatas(new ArrayList());
}
screenRule.setTotal(total);
return screenRule;
}
/**
* desc:获取同名筛选规则数量,防止重名存在.<br/>
* @param screenRuleNo screenRuleNo
* @param screenRuleName screenRuleName
* @return int
*/
public int getSameRuleCnt(String screenRuleNo,String screenRuleName){
return astScreenRuleDOMapper.getSameRuleCnt(screenRuleNo, screenRuleName);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstSyncTaskCtrDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstSyncTaskCtrDOMapper;
/**
* The Table abs_ast_sync_task_ctr.
* 资产同步控制任务
*/
@Repository
public class AstSyncTaskCtrDAO{
@Autowired
private AstSyncTaskCtrDOMapper astSyncTaskCtrDOMapper;
/**
* desc:插入表:abs_ast_sync_task_ctr.<br/>
* @param entity entity
* @return int
*/
public int insert(AstSyncTaskCtrDO entity){
return astSyncTaskCtrDOMapper.insert(entity);
}
/**
* desc:更新表:abs_ast_sync_task_ctr.<br/>
* @param extData extData
* @param orgCode orgCode
* @return int
*/
public int updateExtData(String extData,String orgCode){
return astSyncTaskCtrDOMapper.updateExtData(extData, orgCode);
}
/**
* desc:根据主键获取数据:abs_ast_sync_task_ctr.<br/>
* @return List<AstSyncTaskCtrDO>
*/
public List<AstSyncTaskCtrDO> getByOrgCodes(){
return astSyncTaskCtrDOMapper.getByOrgCodes();
}
/**
* desc:根据主键获取数据:abs_ast_sync_task_ctr.<br/>
* @param orgCode orgCode
* @return AstSyncTaskCtrDO
*/
public AstSyncTaskCtrDO getByOrgCode(String orgCode){
return astSyncTaskCtrDOMapper.getByOrgCode(orgCode);
}
/**
* desc:根据主键获取数据:abs_ast_sync_task_ctr.<br/>
* @param orgCode orgCode
* @return AstSyncTaskCtrDO
*/
public AstSyncTaskCtrDO lockByOrgCode(String orgCode){
return astSyncTaskCtrDOMapper.lockByOrgCode(orgCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.AstSyncTaskCtrLogDO;
import java.util.Date;
import java.util.List;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.AstSyncTaskCtrLogDOMapper;
/**
* The Table abs_ast_sync_task_ctr_log.
* 资产同步控制记录
*/
@Repository
public class AstSyncTaskCtrLogDAO{
@Autowired
private AstSyncTaskCtrLogDOMapper astSyncTaskCtrLogDOMapper;
/**
* desc:插入表:abs_ast_sync_task_ctr_log.<br/>
* @param entity entity
* @return int
*/
public int insert(AstSyncTaskCtrLogDO entity){
return astSyncTaskCtrLogDOMapper.insert(entity);
}
/**
* desc:获取指定类型的记录.<br/>
* @param execDate execDate
* @param lastTaskCode lastTaskCode
* @return List<AstSyncTaskCtrLogDO>
*/
public List<AstSyncTaskCtrLogDO> getLastStatusFinishedTasks(Date execDate,String lastTaskCode){
return astSyncTaskCtrLogDOMapper.getLastStatusFinishedTasks(execDate, lastTaskCode);
}
/**
* desc:获取指定类型的记录.<br/>
* @param execDate execDate
* @param orgCode orgCode
* @param taskType taskType
* @return AstSyncTaskCtrLogDO
*/
public AstSyncTaskCtrLogDO getTaskLogByExecDate(Date execDate,String orgCode,String taskType){
return astSyncTaskCtrLogDOMapper.getTaskLogByExecDate(execDate, orgCode, taskType);
}
/**
* desc:获取指定类型的记录.<br/>
* @param orgDate orgDate
* @param orgCode orgCode
* @param taskType taskType
* @return AstSyncTaskCtrLogDO
*/
public AstSyncTaskCtrLogDO getLastTaskLogByOrgDate(Date orgDate,String orgCode,String taskType){
return astSyncTaskCtrLogDOMapper.getLastTaskLogByOrgDate(orgDate, orgCode, taskType);
}
/**
* desc:根据机构会计日执行情况获取.<br/>
* @param orgDate orgDate
* @param orgCode orgCode
* @param taskType taskType
* @return AstSyncTaskCtrLogDO
*/
public AstSyncTaskCtrLogDO getTaskLogByOrgDate(Date orgDate,String orgCode,String taskType){
return astSyncTaskCtrLogDOMapper.getTaskLogByOrgDate(orgDate, orgCode, taskType);
}
/**
* desc:更新表:abs_ast_sync_task_ctr_log.<br/>
* @param hostIp hostIp
* @param status status
* @param taskType taskType
* @param oldStatus oldStatus
* @param taskLogCode taskLogCode
* @return int
*/
public int updateStatus(String hostIp,String status,String taskType,String oldStatus,String taskLogCode){
return astSyncTaskCtrLogDOMapper.updateStatus(hostIp, status, taskType, oldStatus, taskLogCode);
}
/**
* desc:根据主键获取数据:abs_ast_sync_task_ctr_log.<br/>
* @param orgDate orgDate
* @param orgCode orgCode
* @param taskCode taskCode
* @param taskType taskType
* @return Long
*/
public Long canRunByOrgDate(Date orgDate,String orgCode,String taskCode,String taskType){
return astSyncTaskCtrLogDOMapper.canRunByOrgDate(orgDate, orgCode, taskCode, taskType);
}
/**
* desc:获取指定类型的最大完成机构会计日.<br/>
* @param orgCode orgCode
* @param taskType taskType
* @return Date
*/
public Date getTaskLogMaxOrgDate(String orgCode,String taskType){
return astSyncTaskCtrLogDOMapper.getTaskLogMaxOrgDate(orgCode, taskType);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.BizDataChangeDO;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.BizDataChangeDOMapper;
/**
* The Table abs_biz_data_change.
* 业务数据变更记录-审批
*/
@Repository
public class BizDataChangeDAO{
@Autowired
private BizDataChangeDOMapper bizDataChangeDOMapper;
/**
* desc:插入表:abs_biz_data_change.<br/>
* @param entity entity
* @return int
*/
public int insert(BizDataChangeDO entity){
return bizDataChangeDOMapper.insert(entity);
}
/**
* desc:根据唯一约束AbsBizDataChange0更新表:abs_biz_data_change.<br/>
* @param changeNo changeNo
* @param approveStatus approveStatus
* @param oldApproveStatus oldApproveStatus
* @return int
*/
public int updateStatus(String changeNo,String approveStatus,String oldApproveStatus){
return bizDataChangeDOMapper.updateStatus(changeNo, approveStatus, oldApproveStatus);
}
/**
* desc:根据唯一约束AbsBizDataChange0获取数据:abs_biz_data_change.<br/>
* @param changeNo changeNo
* @return BizDataChangeDO
*/
public BizDataChangeDO getByChangeNo(String changeNo){
return bizDataChangeDOMapper.getByChangeNo(changeNo);
}
/**
* desc:测试专用-根据bizNo与审批状态查询数据.<br/>
* @param bizNo bizNo
* @param approveStatus approveStatus
* @return BizDataChangeDO
*/
public BizDataChangeDO getByBizNoAndStatus(String bizNo,String approveStatus){
return bizDataChangeDOMapper.getByBizNoAndStatus(bizNo, approveStatus);
}
/**
* desc:根据bizNo、status和bizType查询审批数量.<br/>
* @param bizType bizType
* @param changeNo changeNo
* @param approveStatus approveStatus
* @return Long
*/
public Long cntByBizNoAndStatusAndBizType(String bizType,String changeNo,String approveStatus){
return bizDataChangeDOMapper.cntByBizNoAndStatusAndBizType(bizType, changeNo, approveStatus);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.CommonTaskDO;
import java.util.List;
import java.util.Date;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.CommonTaskDOMapper;
/**
* The Table ABS_COMMON_TASK.
* ABS_COMMON_TASK
*/
@Repository
public class CommonTaskDAO{
@Autowired
private CommonTaskDOMapper commonTaskDOMapper;
/**
* desc:插入表:ABS_COMMON_TASK.<br/>
* @param entity entity
* @return int
*/
public int insert(CommonTaskDO entity){
return commonTaskDOMapper.insert(entity);
}
/**
* desc:批量插入表:ABS_COMMON_TASK.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<CommonTaskDO> list){
commonTaskDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:查询待执行的任务.<br/>
* @param id id
* @return CommonTaskDO
*/
public CommonTaskDO lockById(Long id){
return commonTaskDOMapper.lockById(id);
}
/**
* desc:查询待执行的任务.<br/>
* @param curTime curTime
* @param limit limit
* @param typeList typeList
* @return List<CommonTaskDO>
*/
public List<CommonTaskDO> selectInitTask(Date curTime,Integer limit,List<String> typeList){
if(typeList!=null && typeList.size()>201){throw new RuntimeException("typeList 超出201长度限制");}
return commonTaskDOMapper.selectInitTask(curTime, limit, typeList);
}
/**
* desc:查询待执行的任务.<br/>
* @param taskType taskType
* @return List<CommonTaskDO>
*/
public List<CommonTaskDO> selectUnifinishTaskByType(String taskType){
return commonTaskDOMapper.selectUnifinishTaskByType(taskType);
}
/**
* desc:更新执行的任务状态.<br/>
* @param id id
* @param memo memo
* @param newStatus newStatus
* @param oldStatus oldStatus
* @return int
*/
public int updateTaskStatus(Long id,String memo,String newStatus,String oldStatus){
return commonTaskDOMapper.updateTaskStatus(id, memo, newStatus, oldStatus);
}
/**
* desc:更新任务为执行中.<br/>
* @param lastExecTime lastExecTime
* @param lastHost lastHost
* @param tasks tasks
* @return int
*/
public int updateTaskExec(Date lastExecTime,String lastHost,List<CommonTaskDO> tasks){
if(tasks!=null && tasks.size()>1000){throw new RuntimeException("tasks 超出1000长度限制");}
return commonTaskDOMapper.updateTaskExec(lastExecTime, lastHost, tasks);
}
/**
* desc:重置状态,更新下次执行时间.<br/>
* @param nextExecTime nextExecTime
* @param id id
* @param memo memo
* @return int
*/
public int updateTaskExep(Date nextExecTime,Long id,String memo){
return commonTaskDOMapper.updateTaskExep(nextExecTime, id, memo);
}
/**
* desc:把任务为Ignore状态的任务改为Init.<br/>
* @param id id
* @return int
*/
public int updateIgnoreTaskStatus2Init(Long id){
return commonTaskDOMapper.updateIgnoreTaskStatus2Init(id);
}
/**
* desc:根据ip重置任务.<br/>
* @param lastHost lastHost
* @return int
*/
public int updateHangTasksByIp(String lastHost){
return commonTaskDOMapper.updateHangTasksByIp(lastHost);
}
/**
* desc:查询当前计划是否有正在执行中的的解绑,同步匹配,解绑匹配任务.<br/>
* @param planNo planNo
* @param statuses statuses
* @param taskTypes taskTypes
* @return List<CommonTaskDO>
*/
public List<CommonTaskDO> queryUnMatchOrMatchTaskByContextAndStatus(String planNo,List<String> statuses,List<String> taskTypes){
if(statuses!=null && statuses.size()>201){throw new RuntimeException("statuses 超出201长度限制");}
if(taskTypes!=null && taskTypes.size()>201){throw new RuntimeException("taskTypes 超出201长度限制");}
return commonTaskDOMapper.queryUnMatchOrMatchTaskByContextAndStatus(planNo, statuses, taskTypes);
}
/**
* desc:通过BizNo查询CommonTask.<br/>
* @param bizNo bizNo
* @return List<CommonTaskDO>
*/
public List<CommonTaskDO> queryByBizNo(String bizNo){
return commonTaskDOMapper.queryByBizNo(bizNo);
}
/**
* desc:根据任务类型和任务状态查询.<br/>
* @param typeList typeList
* @param statusList statusList
* @return List<CommonTaskDO>
*/
public List<CommonTaskDO> queryByTypesAndStatus(List<String> typeList,List<String> statusList){
if(typeList!=null && typeList.size()>201){throw new RuntimeException("typeList 超出201长度限制");}
if(statusList!=null && statusList.size()>201){throw new RuntimeException("statusList 超出201长度限制");}
return commonTaskDOMapper.queryByTypesAndStatus(typeList, statusList);
}
/**
* desc:根据任务类型、任务状态和执行时间范围计数.<br/>
* @param second second
* @param typeList typeList
* @param statusList statusList
* @return Long
*/
public Long countByTypesAndStatusAndRange(Long second,List<String> typeList,List<String> statusList){
if(typeList!=null && typeList.size()>201){throw new RuntimeException("typeList 超出201长度限制");}
if(statusList!=null && statusList.size()>201){throw new RuntimeException("statusList 超出201长度限制");}
return commonTaskDOMapper.countByTypesAndStatusAndRange(second, typeList, statusList);
}
/**
* desc:查询未完成的执行次数大于1的任务数量.<br/>
* @param typeList typeList
* @return Long
*/
public Long countUnFinishAndMultipleExecByTypes(List<String> typeList){
if(typeList!=null && typeList.size()>201){throw new RuntimeException("typeList 超出201长度限制");}
return commonTaskDOMapper.countUnFinishAndMultipleExecByTypes(typeList);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.HostInfoDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.HostHeartInfo;
import com.abssqr.plat.common.dal.mysql.auto.mapper.HostInfoDOMapper;
/**
* The Table abs_host_info.
* 主机信息
*/
@Repository
public class HostInfoDAO{
@Autowired
private HostInfoDOMapper hostInfoDOMapper;
/**
* desc:插入表:abs_host_info.<br/>
* @param entity entity
* @return int
*/
public int insert(HostInfoDO entity){
return hostInfoDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_host_info.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<HostInfoDO> list){
hostInfoDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据主键删除数据:abs_host_info.<br/>
* @param id id
* @return int
*/
public int deleteById(Long id){
return hostInfoDOMapper.deleteById(id);
}
/**
* desc:根据主键获取数据:abs_host_info.<br/>
* @param id id
* @return HostInfoDO
*/
public HostInfoDO getById(Long id){
return hostInfoDOMapper.getById(id);
}
/**
* desc:根据唯一约束HostIpUnique更新表:abs_host_info.<br/>
* @param entity entity
* @return int
*/
public int updateByHostNameUnique(HostInfoDO entity){
return hostInfoDOMapper.updateByHostNameUnique(entity);
}
/**
* desc:updateHeart.<br/>
* @param hostName hostName
* @return int
*/
public int updateHeart(String hostName){
return hostInfoDOMapper.updateHeart(hostName);
}
/**
* desc:根据唯一约束HostIpUnique删除数据:abs_host_info.<br/>
* @param hostName hostName
* @return int
*/
public int deleteByHostNameUnique(String hostName){
return hostInfoDOMapper.deleteByHostNameUnique(hostName);
}
/**
* desc:根据唯一约束HostIpUnique获取数据:abs_host_info.<br/>
* @param hostName hostName
* @return HostInfoDO
*/
public HostInfoDO selectByName(String hostName){
return hostInfoDOMapper.selectByName(hostName);
}
/**
* desc:根据唯一约束HostIpUnique获取数据:abs_host_info.<br/>
* @param hostIp hostIp
* @return HostInfoDO
*/
public HostInfoDO selectByHostIp(String hostIp){
return hostInfoDOMapper.selectByHostIp(hostIp);
}
/**
* desc:获取超时主机.<br/>
* @param currentTime currentTime
* @param overTime overTime
* @return List<HostInfoDO>
*/
public List<HostInfoDO> listOvertimeHost(Date currentTime,Integer overTime){
return hostInfoDOMapper.listOvertimeHost(currentTime, overTime);
}
/**
* desc:获取所有主机.<br/>
* @return List<HostHeartInfo>
*/
public List<HostHeartInfo> getAllHost(){
return hostInfoDOMapper.getAllHost();
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.JobControlDO;
import com.abssqr.plat.common.dal.mysql.auto.mapper.JobControlDOMapper;
/**
* The Table ABS_JOB_CONTROL.
* ABS_JOB_CONTROL
*/
@Repository
public class JobControlDAO{
@Autowired
private JobControlDOMapper jobControlDOMapper;
/**
* desc:插入表:ABS_JOB_CONTROL.<br/>
* @param entity entity
* @return int
*/
public int insert(JobControlDO entity){
return jobControlDOMapper.insert(entity);
}
/**
* desc:更新表:ABS_JOB_CONTROL.<br/>
* @param entity entity
* @return int
*/
public int update(JobControlDO entity){
return jobControlDOMapper.update(entity);
}
/**
* desc:根据jobName获取数据:ABS_JOB_CONTROL.<br/>
* @param jobName jobName
* @return JobControlDO
*/
public JobControlDO getByJobName(String jobName){
return jobControlDOMapper.getByJobName(jobName);
}
/**
* desc:根据jobName获取数据:ABS_JOB_CONTROL.<br/>
* @param jobName jobName
* @return JobControlDO
*/
public JobControlDO lockByJobName(String jobName){
return jobControlDOMapper.lockByJobName(jobName);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanAstDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanAstDOMapper;
/**
* The Table abs_loan_ast.
* 机构资产
*/
@Repository
public class LoanAstDAO{
@Autowired
private LoanAstDOMapper loanAstDOMapper;
/**
* desc:批量插入表:abs_loan_ast.<br/>
* @param entity entity
* @return int
*/
public int insert(LoanAstDO entity){
return loanAstDOMapper.insert(entity);
}
/**
* desc:更新表:abs_loan_ast.<br/>
* @param entity entity
* @return int
*/
public int update(LoanAstDO entity){
return loanAstDOMapper.update(entity);
}
/**
* desc:根据普通索引AbsLoanAstIdx获取数据:abs_loan_ast.<br/>
* @param astNo astNo
* @return List<LoanAstDO>
*/
public List<LoanAstDO> queryByAstNo(String astNo){
return loanAstDOMapper.queryByAstNo(astNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanAstLogDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanAstLogDOMapper;
/**
* The Table abs_loan_ast_log.
* ABS_LOAN_AST_LOG
*/
@Repository
public class LoanAstLogDAO{
@Autowired
private LoanAstLogDOMapper loanAstLogDOMapper;
/**
* desc:批量插入表:abs_loan_ast_log.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<LoanAstLogDO> list){
loanAstLogDOMapper.insertBatch(list);
return list.size();
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanAstProfitDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanAstProfitDOMapper;
/**
* The Table abs_loan_ast_profit.
* 机构资产收益
*/
@Repository
public class LoanAstProfitDAO{
@Autowired
private LoanAstProfitDOMapper loanAstProfitDOMapper;
/**
* desc:批量插入表:abs_loan_ast_profit.<br/>
* @param entity entity
* @return int
*/
public int insert(LoanAstProfitDO entity){
return loanAstProfitDOMapper.insert(entity);
}
/**
* desc:更新表:abs_loan_ast_profit.<br/>
* @param entity entity
* @return int
*/
public int updateById(LoanAstProfitDO entity){
return loanAstProfitDOMapper.updateById(entity);
}
/**
* desc:根据普通索引AbsLoanAstProfitIdx获取数据:abs_loan_ast_profit.<br/>
* @param astNo astNo
* @return List<LoanAstProfitDO>
*/
public List<LoanAstProfitDO> queryByAstNo(String astNo){
return loanAstProfitDOMapper.queryByAstNo(astNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanAstProfitLogDO;
import java.util.List;
import java.util.Date;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanAstProfitStat;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanAstProfitLogDOMapper;
/**
* The Table abs_loan_ast_profit_log.
* ABS_LOAN_AST_PROFIT_LOG
*/
@Repository
public class LoanAstProfitLogDAO{
@Autowired
private LoanAstProfitLogDOMapper loanAstProfitLogDOMapper;
/**
* desc:批量插入表:abs_loan_ast_profit_log.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<LoanAstProfitLogDO> list){
loanAstProfitLogDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:计算金融服务费.<br/>
* @param accountDate accountDate
* @param orgCode orgCode
* @return Long
*/
public Long calcOrgDistPftAmt(Date accountDate,String orgCode){
return loanAstProfitLogDOMapper.calcOrgDistPftAmt(accountDate, orgCode);
}
/**
* desc:计算还款服务费应计与实还.<br/>
* @param accountDate accountDate
* @param orgCode orgCode
* @param splitOrgCode splitOrgCode
* @return LoanAstProfitStat
*/
public LoanAstProfitStat repayOrgDistPftAmt(Date accountDate,String orgCode,String splitOrgCode){
return loanAstProfitLogDOMapper.repayOrgDistPftAmt(accountDate, orgCode, splitOrgCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanBakDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.PropDisbStat;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.PropCntStat;
import com.abssqr.plat.common.dal.mysql.auto.paging.LoanBakListPage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanBakFormationItem;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanBakReportStat;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstScale;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanBakDOMapper;
/**
* The Table abs_loan_bak.
* 信贷资产
*/
@Repository
public class LoanBakDAO{
@Autowired
private LoanBakDOMapper loanBakDOMapper;
/**
* desc:批量插入表:abs_loan_bak.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<LoanBakDO> list){
loanBakDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据主键获取数据:abs_loan_instal_log.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return PropDisbStat
*/
public PropDisbStat statDisb(Date accountDate,String planNo){
return loanBakDOMapper.statDisb(accountDate, planNo);
}
/**
* desc:statPlanBal.<br/>
* @param accountDate accountDate
* @param ownOrg ownOrg
* @return PropCntStat
*/
public PropCntStat statPlanBal(Date accountDate,String ownOrg){
return loanBakDOMapper.statPlanBal(accountDate, ownOrg);
}
/**
* desc:根据主键获取数据:abs_loan_instal_log.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<PropCntStat>
*/
public List<PropCntStat> statLocation(Date accountDate,String planNo){
return loanBakDOMapper.statLocation(accountDate, planNo);
}
/**
* desc:根据主键获取数据:ABS_LOAN_BAK.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<PropCntStat>
*/
public List<PropCntStat> statAge(Date accountDate,String planNo){
return loanBakDOMapper.statAge(accountDate, planNo);
}
/**
* desc:根据主键获取数据:ABS_LOAN_BAK.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<PropCntStat>
*/
public List<PropCntStat> statGender(Date accountDate,String planNo){
return loanBakDOMapper.statGender(accountDate, planNo);
}
/**
* desc:getPageByOwnOrg.<br/>
* @param loanBakList loanBakList
* @return LoanBakListPage
*/
public LoanBakListPage getPageByOwnOrg(LoanBakListPage loanBakList){
int total = loanBakDOMapper.getPageByOwnOrgCount(loanBakList);
if(total>0){
loanBakList.setDatas(loanBakDOMapper.getPageByOwnOrgResult(loanBakList));
}else{
loanBakList.setDatas(new ArrayList());
}
loanBakList.setTotal(total);
return loanBakList;
}
/**
* desc:统计资产当前剩余分期数量及余额总计.<br/>
* @param accountDate accountDate
* @param ownOrg ownOrg
* @return List<LoanBakFormationItem>
*/
public List<LoanBakFormationItem> queryAstFormation(Date accountDate,String ownOrg){
return loanBakDOMapper.queryAstFormation(accountDate, ownOrg);
}
/**
* desc:统计资产产品分期及余额总计.<br/>
* @param accountDate accountDate
* @param ownOrg ownOrg
* @return List<LoanBakFormationItem>
*/
public List<LoanBakFormationItem> queryProdFormation(Date accountDate,String ownOrg){
return loanBakDOMapper.queryProdFormation(accountDate, ownOrg);
}
/**
* desc:资产余额状态统计代替statBal.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<LoanBakReportStat>
*/
public List<LoanBakReportStat> statLoanBakStatus(Date accountDate,String planNo){
return loanBakDOMapper.statLoanBakStatus(accountDate, planNo);
}
/**
* desc:五级分类统计代替statBal.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<LoanBakReportStat>
*/
public List<LoanBakReportStat> statLoanBakClz(Date accountDate,String planNo){
return loanBakDOMapper.statLoanBakClz(accountDate, planNo);
}
/**
* desc:91逾期未核销统计代替statBal.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @param statVal statVal
* @param statType statType
* @param wtfStatus wtfStatus
* @param ovdDays ovdDays
* @return List<LoanBakReportStat>
*/
public List<LoanBakReportStat> statLoanBakOvdWtf(Date accountDate,String planNo,String statVal,String statType,String wtfStatus,Integer ovdDays){
return loanBakDOMapper.statLoanBakOvdWtf(accountDate, planNo, statVal, statType, wtfStatus, ovdDays);
}
/**
* desc:ovd_day天数统计代替statBal.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<LoanBakReportStat>
*/
public List<LoanBakReportStat> statLoanBakOvdDays(Date accountDate,String planNo){
return loanBakDOMapper.statLoanBakOvdDays(accountDate, planNo);
}
/**
* desc:统计当日新增资产年化收益.<br/>
* @param inDate inDate
* @param disbDate disbDate
* @param accountDate accountDate
* @param planNo planNo
* @return List<LoanBakReportStat>
*/
public List<LoanBakReportStat> statLoanBakProfit(Date inDate,Date disbDate,Date accountDate,String planNo){
return loanBakDOMapper.statLoanBakProfit(inDate, disbDate, accountDate, planNo);
}
/**
* desc:获取资产规模.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @return List<AstScale>
*/
public List<AstScale> getAstScale(Date accountDate,String planNo){
return loanBakDOMapper.getAstScale(accountDate, planNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanContractDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanContractDOMapper;
/**
* The Table abs_loan_contract.
* 借款合同
*/
@Repository
public class LoanContractDAO{
@Autowired
private LoanContractDOMapper loanContractDOMapper;
/**
* desc:插入表:abs_loan_contract.<br/>
* @param entity entity
* @return int
*/
public int insert(LoanContractDO entity){
return loanContractDOMapper.insert(entity);
}
/**
* desc:根据唯一约束OutContNo获取数据:abs_loan_contract.<br/>
* @param astNo astNo
* @return LoanContractDO
*/
public LoanContractDO getByAstNo(String astNo){
return loanContractDOMapper.getByAstNo(astNo);
}
/**
* desc:根据唯一约束OutContNo获取数据:abs_loan_contract.<br/>
* @param astNos astNos
* @return List<LoanContractDO>
*/
public List<LoanContractDO> getByAstNos(List<String> astNos){
if(astNos!=null && astNos.size()>201){throw new RuntimeException("astNos 超出201长度限制");}
return loanContractDOMapper.getByAstNos(astNos);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.LoanListPage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanPropCntStat;
import com.abssqr.plat.common.dal.mysql.auto.paging.CapitalAstMatchPage;
import com.abssqr.plat.common.dal.mysql.auto.paging.CapitalAstUnMatchPage;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanDOMapper;
/**
* The Table abs_loan.
* 信贷资产
*/
@Repository
public class LoanDAO{
@Autowired
private LoanDOMapper loanDOMapper;
/**
* desc:插入表:abs_loan.<br/>
* @param entity entity
* @return int
*/
public int insert(LoanDO entity){
return loanDOMapper.insert(entity);
}
/**
* desc:根据唯一约束OutAstNo更新表:abs_loan.<br/>
* @param entity entity
* @return int
*/
public int updateByAstNo(LoanDO entity){
return loanDOMapper.updateByAstNo(entity);
}
/**
* desc:根据唯一约束OutAstNo获取数据:abs_loan.<br/>
* @param outAstNo outAstNo
* @param managerOrgCode managerOrgCode
* @return LoanDO
*/
public LoanDO getByOutAstNo(String outAstNo,String managerOrgCode){
return loanDOMapper.getByOutAstNo(outAstNo, managerOrgCode);
}
/**
* desc:根据唯一约束OutAstNo获取数据:abs_loan.<br/>
* @param outAstNo outAstNo
* @param managerOrgCode managerOrgCode
* @return LoanDO
*/
public LoanDO lockByOutAstNo(String outAstNo,String managerOrgCode){
return loanDOMapper.lockByOutAstNo(outAstNo, managerOrgCode);
}
/**
* desc:根据唯一约束AbsLoan获取数据:abs_loan.<br/>
* @param astNo astNo
* @return LoanDO
*/
public LoanDO getByAstNo(String astNo){
return loanDOMapper.getByAstNo(astNo);
}
/**
* desc:根据唯一约束AbsLoan获取数据:abs_loan.<br/>
* @param astNo astNo
* @return LoanDO
*/
public LoanDO lockByAstNo(String astNo){
return loanDOMapper.lockByAstNo(astNo);
}
/**
* desc:getPageByOwnOrg.<br/>
* @param loanList loanList
* @return LoanListPage
*/
public LoanListPage getPageByOwnOrg(LoanListPage loanList){
int total = loanDOMapper.getPageByOwnOrgCount(loanList);
if(total>0){
loanList.setDatas(loanDOMapper.getPageByOwnOrgResult(loanList));
}else{
loanList.setDatas(new ArrayList());
}
loanList.setTotal(total);
return loanList;
}
/**
* desc:统计机构当前资产规模.<br/>
* @param lenderOrgCode lenderOrgCode
* @return LoanPropCntStat
*/
public LoanPropCntStat statPlanBal(String lenderOrgCode){
return loanDOMapper.statPlanBal(lenderOrgCode);
}
/**
* desc:统计放款池当前持有资产规模(不包含已转出).<br/>
* @param lenderOrgCode lenderOrgCode
* @return LoanPropCntStat
*/
public LoanPropCntStat statSpvBal(String lenderOrgCode){
return loanDOMapper.statSpvBal(lenderOrgCode);
}
/**
* desc:资金资产匹配分页.<br/>
* @param capitalAstMatch capitalAstMatch
* @return CapitalAstMatchPage
*/
public CapitalAstMatchPage queryForCapitalAstMatch(CapitalAstMatchPage capitalAstMatch){
int total = loanDOMapper.queryForCapitalAstMatchCount(capitalAstMatch);
if(total>0){
capitalAstMatch.setDatas(loanDOMapper.queryForCapitalAstMatchResult(capitalAstMatch));
}else{
capitalAstMatch.setDatas(new ArrayList());
}
capitalAstMatch.setTotal(total);
return capitalAstMatch;
}
/**
* desc:资金资产解绑分页.<br/>
* @param capitalAstUnMatch capitalAstUnMatch
* @return CapitalAstUnMatchPage
*/
public CapitalAstUnMatchPage queryForCapitalAstUnMatch(CapitalAstUnMatchPage capitalAstUnMatch){
int total = loanDOMapper.queryForCapitalAstUnMatchCount(capitalAstUnMatch);
if(total>0){
capitalAstUnMatch.setDatas(loanDOMapper.queryForCapitalAstUnMatchResult(capitalAstUnMatch));
}else{
capitalAstUnMatch.setDatas(new ArrayList());
}
capitalAstUnMatch.setTotal(total);
return capitalAstUnMatch;
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanInstalDO;
import java.util.List;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.LoanInstalFormationItem;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanInstalDOMapper;
/**
* The Table abs_loan_instal.
* 还款计划明细
*/
@Repository
public class LoanInstalDAO{
@Autowired
private LoanInstalDOMapper loanInstalDOMapper;
/**
* desc:批量插入表:abs_loan_instal.<br/>
* @param entity entity
* @return int
*/
public int insert(LoanInstalDO entity){
return loanInstalDOMapper.insert(entity);
}
/**
* desc:根据唯一约束AbsLoanInstal更新表:abs_loan_instal.<br/>
* @param entity entity
* @return int
*/
public int update(LoanInstalDO entity){
return loanInstalDOMapper.update(entity);
}
/**
* desc:根据唯一约束AbsLoanInstal获取数据:abs_loan_instal.<br/>
* @param astNo astNo
* @return List<LoanInstalDO>
*/
public List<LoanInstalDO> getByAstNo(String astNo){
return loanInstalDOMapper.getByAstNo(astNo);
}
/**
* desc:获取对应计划的资产数量.<br/>
* @param ownOrg ownOrg
* @param list list
* @return Long
*/
public Long getPlanAstCount(String ownOrg,List<String> list){
if(list!=null && list.size()>201){throw new RuntimeException("list 超出201长度限制");}
return loanInstalDOMapper.getPlanAstCount(ownOrg, list);
}
/**
* desc:获取资产当前剩余分期数量及余额总计.<br/>
* @param ownOrg ownOrg
* @return List<LoanInstalFormationItem>
*/
public List<LoanInstalFormationItem> queryAstFormation(String ownOrg){
return loanInstalDOMapper.queryAstFormation(ownOrg);
}
/**
* desc:获取资产最大分期及余额总计.<br/>
* @param ownOrg ownOrg
* @return List<LoanInstalFormationItem>
*/
public List<LoanInstalFormationItem> queryProdFormation(String ownOrg){
return loanInstalDOMapper.queryProdFormation(ownOrg);
}
/**
* desc:获取计划当前资产规模.<br/>
* @param ownOrg ownOrg
* @return Long
*/
public Long getPlanAstScale(String ownOrg){
return loanInstalDOMapper.getPlanAstScale(ownOrg);
}
/**
* desc:获取计划时间区间内应还汇总金额.<br/>
* @param endDate endDate
* @param startDate startDate
* @param ownOrg ownOrg
* @return Long
*/
public Long getPlanAstShouldScaleByEndDate(Date endDate,Date startDate,String ownOrg){
return loanInstalDOMapper.getPlanAstShouldScaleByEndDate(endDate, startDate, ownOrg);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanInstalLogDO;
import java.util.List;
import java.util.Date;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanInstalLogDOMapper;
/**
* The Table abs_loan_instal_log.
* 分期变更流水
*/
@Repository
public class LoanInstalLogDAO{
@Autowired
private LoanInstalLogDOMapper loanInstalLogDOMapper;
/**
* desc:批量插入表:abs_loan_instal_log.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<LoanInstalLogDO> list){
loanInstalLogDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:计算金融服务费.<br/>
* @param accountDate accountDate
* @param orgCode orgCode
* @return Long
*/
public Long calcOrgDistPftAmt(Date accountDate,String orgCode){
return loanInstalLogDOMapper.calcOrgDistPftAmt(accountDate, orgCode);
}
/**
* desc:计算金融服务费.<br/>
* @param accountDate accountDate
* @param orgCode orgCode
* @return Long
*/
public Long calcOrgDistPftApporAmt(Date accountDate,String orgCode){
return loanInstalLogDOMapper.calcOrgDistPftApporAmt(accountDate, orgCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.LoanLogDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.LoanLogDOMapper;
/**
* The Table abs_loan_log.
* 资产变更流水
*/
@Repository
public class LoanLogDAO{
@Autowired
private LoanLogDOMapper loanLogDOMapper;
/**
* desc:批量插入表:abs_loan_log.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<LoanLogDO> list){
loanLogDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:测试专供-主要为查询bizNo.<br/>
* @param outAstNo outAstNo
* @param eventCode eventCode
* @return List<LoanLogDO>
*/
public List<LoanLogDO> getByOutAstNoAndEventCode(String outAstNo,String eventCode){
return loanLogDOMapper.getByOutAstNoAndEventCode(outAstNo, eventCode);
}
/**
* desc:根据资产编号和事件码获取最新的一条.<br/>
* @param astNo astNo
* @param eventCode eventCode
* @return LoanLogDO
*/
public LoanLogDO getLastByAstNoAndEventCode(String astNo,String eventCode){
return loanLogDOMapper.getLastByAstNoAndEventCode(astNo, eventCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.OrgHolidayDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.OrgHolidayDOMapper;
/**
* The Table ABS_ORG_HOLIDAY.
* ABS_ORG_HOLIDAY
*/
@Repository
public class OrgHolidayDAO{
@Autowired
private OrgHolidayDOMapper orgHolidayDOMapper;
/**
* desc:插入表:ABS_ORG_HOLIDAY.<br/>
* @param entity entity
* @return int
*/
public int insert(OrgHolidayDO entity){
return orgHolidayDOMapper.insert(entity);
}
/**
* desc:批量插入表:ABS_ORG_HOLIDAY.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<OrgHolidayDO> list){
orgHolidayDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:通过机构号和日期更新.<br/>
* @param entity entity
* @return int
*/
public int updateByOrgCodeAndDate(OrgHolidayDO entity){
return orgHolidayDOMapper.updateByOrgCodeAndDate(entity);
}
/**
* desc:根据机构编号及开始日期结束日期查询节假日.<br/>
* @param endDate endDate
* @param orgCode orgCode
* @param beginDate beginDate
* @return List<OrgHolidayDO>
*/
public List<OrgHolidayDO> queryHolidayByOrgCodeAndDate(String endDate,String orgCode,String beginDate){
return orgHolidayDOMapper.queryHolidayByOrgCodeAndDate(endDate, orgCode, beginDate);
}
/**
* desc:根据机构码和日期查询节假日.<br/>
* @param orgCode orgCode
* @param dateInfo dateInfo
* @return OrgHolidayDO
*/
public OrgHolidayDO getByOrgCodeAndDate(String orgCode,String dateInfo){
return orgHolidayDOMapper.getByOrgCodeAndDate(orgCode, dateInfo);
}
/**
* desc:根据机构码和日期查询节假日类型.<br/>
* @param orgCode orgCode
* @param dateInfo dateInfo
* @return String
*/
public String getHolidayTypeByOrgCodeAndDate(String orgCode,String dateInfo){
return orgHolidayDOMapper.getHolidayTypeByOrgCodeAndDate(orgCode, dateInfo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.OrganizationDO;
import com.abssqr.plat.common.dal.mysql.auto.paging.OrgListPage;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.LinkedHashMap;
import java.util.ArrayList;
import java.util.HashSet;
import com.abssqr.plat.common.dal.mysql.auto.mapper.OrganizationDOMapper;
/**
* The Table abs_organization.
* 机构信息
*/
@Repository
public class OrganizationDAO{
@Autowired
private OrganizationDOMapper organizationDOMapper;
/**
* desc:insertOrUpdate.<br/>
* @param entity entity
* @return int
*/
public int insert(OrganizationDO entity){
return organizationDOMapper.insert(entity);
}
/**
* desc:判断是否存在同名机构.<br/>
* @param entity entity
* @return Integer
*/
public Integer getSameNameOrgCnt(OrganizationDO entity){
return organizationDOMapper.getSameNameOrgCnt(entity);
}
/**
* desc:根据唯一约束OrgCode更新表:abs_organization.<br/>
* @param entity entity
* @return int
*/
public int updateByOrgCode(OrganizationDO entity){
return organizationDOMapper.updateByOrgCode(entity);
}
/**
* desc:根据唯一约束OrgCode获取数据:abs_organization.<br/>
* @param orgCode orgCode
* @return OrganizationDO
*/
public OrganizationDO getByOrgCode(String orgCode){
return organizationDOMapper.getByOrgCode(orgCode);
}
/**
* desc:查询机构列表.<br/>
* @param orgList orgList
* @return OrgListPage
*/
public OrgListPage queryOrgListForPage(OrgListPage orgList){
int total = organizationDOMapper.queryOrgListForPageCount(orgList);
if(total>0){
orgList.setDatas(organizationDOMapper.queryOrgListForPageResult(orgList));
}else{
orgList.setDatas(new ArrayList());
}
orgList.setTotal(total);
return orgList;
}
/**
* desc:getOrgNames.<br/>
* @param orgCodes orgCodes
* @return Map<String,String>
*/
public List<OrganizationDO> getOrgNamesList(List<String> orgCodes){
return organizationDOMapper.getOrgNames(orgCodes);
}
/**
* desc:getOrgNames.<br/>
* @param orgCodes orgCodes
* @return Map<String,String>
*/
public Map<String,String> getOrgNames(List<String> orgCodes){
if(orgCodes!=null && orgCodes.size()>201){throw new RuntimeException("orgCodes 超出201长度限制");}
Map<String,String> result = new LinkedHashMap();
List<OrganizationDO> resultList = organizationDOMapper.getOrgNames(orgCodes);
if(resultList!=null && !resultList.isEmpty()){
for(OrganizationDO entity:resultList){
result.put(entity.getOrgCode(),entity.getOrgName());
}
}
return result;
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.OrganizationEntityDO;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.LinkedHashMap;
import java.util.ArrayList;
import java.util.HashSet;
import com.abssqr.plat.common.dal.mysql.auto.mapper.OrganizationEntityDOMapper;
/**
* The Table abs_organization_entity.
* 机构参与实体
*/
@Repository
public class OrganizationEntityDAO{
@Autowired
private OrganizationEntityDOMapper organizationEntityDOMapper;
/**
* desc:插入表:abs_organization_entity.<br/>
* @param entity entity
* @return int
*/
public int insert(OrganizationEntityDO entity){
return organizationEntityDOMapper.insert(entity);
}
/**
* desc:更新表:abs_organization_entity.<br/>
* @param entity entity
* @return int
*/
public int updateByEntityCode(OrganizationEntityDO entity){
return organizationEntityDOMapper.updateByEntityCode(entity);
}
/**
* desc:根据唯一约束获取数据:abs_organization_entity.<br/>
* @param entityCode entityCode
* @return OrganizationEntityDO
*/
public OrganizationEntityDO getByEntityCode(String entityCode){
return organizationEntityDOMapper.getByEntityCode(entityCode);
}
/**
* desc:根据唯一约束获取数据:abs_organization_entity.<br/>
* @param list list
* @return Map<String,OrganizationEntityDO>
*/
public List<OrganizationEntityDO> getByEntityCodesList(List<String> list){
return organizationEntityDOMapper.getByEntityCodes(list);
}
/**
* desc:根据唯一约束获取数据:abs_organization_entity.<br/>
* @param list list
* @return Map<String,OrganizationEntityDO>
*/
public Map<String,OrganizationEntityDO> getByEntityCodes(List<String> list){
if(list!=null && list.size()>201){throw new RuntimeException("list 超出201长度限制");}
Map<String,OrganizationEntityDO> result = new LinkedHashMap();
List<OrganizationEntityDO> resultList = organizationEntityDOMapper.getByEntityCodes(list);
if(resultList!=null && !resultList.isEmpty()){
for(OrganizationEntityDO entity:resultList){
result.put(entity.getEntityCode(),entity);
}
}
return result;
}
/**
* desc:根据服务机构获取放款机构.<br/>
* @param managerOrgCode managerOrgCode
* @return List<OrganizationEntityDO>
*/
public List<OrganizationEntityDO> getByManagerOrgCode(String managerOrgCode){
return organizationEntityDOMapper.getByManagerOrgCode(managerOrgCode);
}
/**
* desc:根据机构编号删除对应机构.<br/>
* @param entityCode entityCode
* @return int
*/
public int deleteByEntityCode(String entityCode){
return organizationEntityDOMapper.deleteByEntityCode(entityCode);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.PlanAcctTitleDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.PlanAcctTitleDOMapper;
/**
* The Table abs_plan_acct_title.
* 计划结算科目信息(收付实现制)
*/
@Repository
public class PlanAcctTitleDAO{
@Autowired
private PlanAcctTitleDOMapper planAcctTitleDOMapper;
/**
* desc:插入表:abs_plan_acct_title.<br/>
* @param entity entity
* @return int
*/
public int insert(PlanAcctTitleDO entity){
return planAcctTitleDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_plan_acct_title.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<PlanAcctTitleDO> list){
planAcctTitleDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据唯一约束AbsPlanAcctTitle更新表:abs_plan_acct_title.<br/>
* @param entity entity
* @return int
*/
public int updateAmt(PlanAcctTitleDO entity){
return planAcctTitleDOMapper.updateAmt(entity);
}
/**
* desc:根据唯一约束AbsPlanAcctTitle删除数据:abs_plan_acct_title.<br/>
* @param planNo planNo
* @return List<PlanAcctTitleDO>
*/
public List<PlanAcctTitleDO> getByPlan(String planNo){
return planAcctTitleDOMapper.getByPlan(planNo);
}
/**
* desc:根据唯一约束AbsPlanAcctTitle删除数据:abs_plan_acct_title.<br/>
* @param planNo planNo
* @param listTitleType listTitleType
* @return List<PlanAcctTitleDO>
*/
public List<PlanAcctTitleDO> getByPlanAndTypes(String planNo,List<String> listTitleType){
if(listTitleType!=null && listTitleType.size()>201){throw new RuntimeException("listTitleType 超出201长度限制");}
return planAcctTitleDOMapper.getByPlanAndTypes(planNo, listTitleType);
}
/**
* desc:根据唯一约束AbsPlanAcctTitle删除数据:abs_plan_acct_title.<br/>
* @param list list
* @return List<PlanAcctTitleDO>
*/
public List<PlanAcctTitleDO> getFinFeesByPlan(List<String> list){
if(list!=null && list.size()>201){throw new RuntimeException("list 超出201长度限制");}
return planAcctTitleDOMapper.getFinFeesByPlan(list);
}
/**
* desc:根据唯一约束AbsPlanAcctTitle获取数据:abs_plan_acct_title.<br/>
* @param planNo planNo
* @param titleNo titleNo
* @return PlanAcctTitleDO
*/
public PlanAcctTitleDO getByTitleNo(String planNo,String titleNo){
return planAcctTitleDOMapper.getByTitleNo(planNo, titleNo);
}
/**
* desc:根据计划编号删除分配信息.<br/>
* @param planNo planNo
* @return int
*/
public int deleteByPlanNo(String planNo){
return planAcctTitleDOMapper.deleteByPlanNo(planNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.PlanAcctTitleLogDO;
import java.util.List;
import java.util.Date;
import com.abssqr.plat.common.dal.mysql.auto.mapper.PlanAcctTitleLogDOMapper;
/**
* The Table abs_plan_acct_title_log.
* 计划结算科目信息(收付实现制)
*/
@Repository
public class PlanAcctTitleLogDAO{
@Autowired
private PlanAcctTitleLogDOMapper planAcctTitleLogDOMapper;
/**
* desc:批量插入表:abs_plan_acct_title_log.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<PlanAcctTitleLogDO> list){
planAcctTitleLogDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据主键获取数据:abs_plan_acct_title_log.<br/>
* @param endDate endDate
* @param startDate startDate
* @param planNo planNo
* @return List<PlanAcctTitleLogDO>
*/
public List<PlanAcctTitleLogDO> getByDate(Date endDate,Date startDate,String planNo){
return planAcctTitleLogDOMapper.getByDate(endDate, startDate, planNo);
}
/**
* desc:根据主键获取数据:abs_plan_acct_title_log.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @param calcType calcType
* @param acctEvent acctEvent
* @return PlanAcctTitleLogDO
*/
public PlanAcctTitleLogDO getTitleLogByCondition(Date accountDate,String planNo,String calcType,String acctEvent){
return planAcctTitleLogDOMapper.getTitleLogByCondition(accountDate, planNo, calcType, acctEvent);
}
/**
* desc:汇总统计会计日对应科目流水金额.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @param acctEvent acctEvent
* @param listTitleType listTitleType
* @return PlanAcctTitleLogDO
*/
public PlanAcctTitleLogDO getSummaryAcctTitleByTypes(Date accountDate,String planNo,String acctEvent,List<String> listTitleType){
if(listTitleType!=null && listTitleType.size()>201){throw new RuntimeException("listTitleType 超出201长度限制");}
return planAcctTitleLogDOMapper.getSummaryAcctTitleByTypes(accountDate, planNo, acctEvent, listTitleType);
}
/**
* desc:根据计划事件码科目编号获取科目流水.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @param titleNo titleNo
* @param acctEvent acctEvent
* @return List<PlanAcctTitleLogDO>
*/
public List<PlanAcctTitleLogDO> getByEventAndTitleNo(Date accountDate,String planNo,String titleNo,String acctEvent){
return planAcctTitleLogDOMapper.getByEventAndTitleNo(accountDate, planNo, titleNo, acctEvent);
}
/**
* desc:根据计划与事件码获取科目流水.<br/>
* @param accountDate accountDate
* @param planNo planNo
* @param acctEvent acctEvent
* @param listTitleType listTitleType
* @return List<PlanAcctTitleLogDO>
*/
public List<PlanAcctTitleLogDO> getByPlanAndEvent(Date accountDate,String planNo,String acctEvent,List<String> listTitleType){
if(listTitleType!=null && listTitleType.size()>201){throw new RuntimeException("listTitleType 超出201长度限制");}
return planAcctTitleLogDOMapper.getByPlanAndEvent(accountDate, planNo, acctEvent, listTitleType);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.PlanAllocDO;
import java.util.List;
import java.util.Date;
import java.lang.Long;
import com.abssqr.plat.common.dal.mysql.auto.mapper.PlanAllocDOMapper;
/**
* The Table abs_plan_alloc.
* 计划-分配计划
*/
@Repository
public class PlanAllocDAO{
@Autowired
private PlanAllocDOMapper planAllocDOMapper;
/**
* desc:插入表:abs_plan_alloc.<br/>
* @param entity entity
* @return int
*/
public int insert(PlanAllocDO entity){
return planAllocDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_plan_alloc.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<PlanAllocDO> list){
planAllocDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:更新表:abs_plan_alloc.<br/>
* @param entity entity
* @return int
*/
public int updateByAllocNo(PlanAllocDO entity){
return planAllocDOMapper.updateByAllocNo(entity);
}
/**
* desc:根据AllocNo删除数据:abs_plan_alloc.<br/>
* @param allocNo allocNo
* @return int
*/
public int deleteByAllocNo(String allocNo){
return planAllocDOMapper.deleteByAllocNo(allocNo);
}
/**
* desc:根据主键获取数据:abs_plan_alloc.<br/>
* @param allocNo allocNo
* @return PlanAllocDO
*/
public PlanAllocDO getByAllocNo(String allocNo){
return planAllocDOMapper.getByAllocNo(allocNo);
}
/**
* desc:更新状态.<br/>
* @param status status
* @param allocNo allocNo
* @param oldStatus oldStatus
* @return int
*/
public int updateStatus(String status,String allocNo,String oldStatus){
return planAllocDOMapper.updateStatus(status, allocNo, oldStatus);
}
/**
* desc:根据主键获取数据:abs_plan_alloc.<br/>
* @param planNo planNo
* @return List<PlanAllocDO>
*/
public List<PlanAllocDO> queryByPlanNo(String planNo){
return planAllocDOMapper.queryByPlanNo(planNo);
}
/**
* desc:根据计划编号获取时间段分配金额.<br/>
* @param endDate endDate
* @param startDate startDate
* @param planNo planNo
* @param status status
* @return List<PlanAllocDO>
*/
public List<PlanAllocDO> queryAllocByPlanNo(Date endDate,Date startDate,String planNo,String status){
return planAllocDOMapper.queryAllocByPlanNo(endDate, startDate, planNo, status);
}
/**
* desc:根据兑付日获取查询最近计划:abs_plan_alloc.<br/>
* @param planType planType
* @return PlanAllocDO
*/
public PlanAllocDO queryRecentlyPlans(String planType){
return planAllocDOMapper.queryRecentlyPlans(planType);
}
/**
* desc:查询相同结算日分配计划数量.<br/>
* @param clearDate clearDate
* @param planNo planNo
* @param allocNo allocNo
* @return int
*/
public int querySameClearDate(Date clearDate,String planNo,String allocNo){
return planAllocDOMapper.querySameClearDate(clearDate, planNo, allocNo);
}
/**
* desc:根据主键获取数据:abs_plan_alloc.<br/>
* @param allocNo allocNo
* @return PlanAllocDO
*/
public PlanAllocDO lockByAllocNo(String allocNo){
return planAllocDOMapper.lockByAllocNo(allocNo);
}
/**
* desc:获取所有已审批通过未解绑的兑付计划.<br/>
* @param planNo planNo
* @return List<PlanAllocDO>
*/
public List<PlanAllocDO> queryUnMatchedApprovedAlloc(String planNo){
return planAllocDOMapper.queryUnMatchedApprovedAlloc(planNo);
}
/**
* desc:根据计划编号获取时间段分配金额.<br/>
* @param endDate endDate
* @param startDate startDate
* @param planNo planNo
* @param status status
* @param approveStatus approveStatus
* @return Long
*/
public Long queryStatAllocAmtByPlanNoAndPayDate(Date endDate,Date startDate,String planNo,String status,String approveStatus){
return planAllocDOMapper.queryStatAllocAmtByPlanNoAndPayDate(endDate, startDate, planNo, status, approveStatus);
}
/**
* desc:根据计划编号获取累计分配金额.<br/>
* @param endDate endDate
* @param startDate startDate
* @param status status
* @param approveStatus approveStatus
* @param listPlanNos listPlanNos
* @return Long
*/
public Long queryStatTotalAllocAmtByPlanNos(Date endDate,Date startDate,String status,String approveStatus,List<String> listPlanNos){
if(listPlanNos!=null && listPlanNos.size()>201){throw new RuntimeException("listPlanNos 超出201长度限制");}
return planAllocDOMapper.queryStatTotalAllocAmtByPlanNos(endDate, startDate, status, approveStatus, listPlanNos);
}
/**
* desc:根据计划编号删除分配方案.<br/>
* @param planNo planNo
* @return int
*/
public int deleteByPlanNo(String planNo){
return planAllocDOMapper.deleteByPlanNo(planNo);
}
/**
* desc:查询已审批未兑付的分配计划.<br/>
* @param planNo planNo
* @return List<PlanAllocDO>
*/
public List<PlanAllocDO> queryApprovedNotPayAlloc(String planNo){
return planAllocDOMapper.queryApprovedNotPayAlloc(planNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.PlanAllocFrozenDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.mapper.PlanAllocFrozenDOMapper;
/**
* The Table abs_plan_alloc_frozen.
* ABS_PLAN_ALLOC_FROZEN
*/
@Repository
public class PlanAllocFrozenDAO{
@Autowired
private PlanAllocFrozenDOMapper planAllocFrozenDOMapper;
/**
* desc:插入表:abs_plan_alloc_frozen.<br/>
* @param entity entity
* @return int
*/
public int insert(PlanAllocFrozenDO entity){
return planAllocFrozenDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_plan_alloc_frozen.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<PlanAllocFrozenDO> list){
planAllocFrozenDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:更新表:abs_plan_alloc_frozen.<br/>
* @param entity entity
* @return int
*/
public int update(PlanAllocFrozenDO entity){
return planAllocFrozenDOMapper.update(entity);
}
/**
* desc:根据主键删除数据:abs_plan_alloc_frozen.<br/>
* @param planNo planNo
* @param allocNo allocNo
* @return int
*/
public int deleteByAllocNo(String planNo,String allocNo){
return planAllocFrozenDOMapper.deleteByAllocNo(planNo, allocNo);
}
/**
* desc:根据主键获取数据:abs_plan_alloc_frozen.<br/>
* @param planNo planNo
* @param allocNo allocNo
* @return PlanAllocFrozenDO
*/
public PlanAllocFrozenDO getByAllocNo(String planNo,String allocNo){
return planAllocFrozenDOMapper.getByAllocNo(planNo, allocNo);
}
/**
* desc:根据主键获取数据:abs_plan_alloc_frozen.<br/>
* @param planNo planNo
* @return List<PlanAllocFrozenDO>
*/
public List<PlanAllocFrozenDO> getByPlanNo(String planNo){
return planAllocFrozenDOMapper.getByPlanNo(planNo);
}
}
package com.abssqr.plat.common.dal.mysql.auto.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
import com.abssqr.plat.common.dal.mysql.auto.dataobject.PlanAllocItemDO;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.PlanAllocItemResultMap;
import java.util.Map;
import java.util.Set;
import java.util.LinkedHashMap;
import java.util.ArrayList;
import java.util.HashSet;
import com.abssqr.plat.common.dal.mysql.auto.mapper.PlanAllocItemDOMapper;
/**
* The Table abs_plan_alloc_item.
* 分配事项
*/
@Repository
public class PlanAllocItemDAO{
@Autowired
private PlanAllocItemDOMapper planAllocItemDOMapper;
/**
* desc:插入表:abs_plan_alloc_item.<br/>
* @param entity entity
* @return int
*/
public int insert(PlanAllocItemDO entity){
return planAllocItemDOMapper.insert(entity);
}
/**
* desc:批量插入表:abs_plan_alloc_item.<br/>
* @param list list
* @return int
*/
public int insertBatch(List<PlanAllocItemDO> list){
planAllocItemDOMapper.insertBatch(list);
return list.size();
}
/**
* desc:根据主键删除数据:abs_plan_alloc_item.<br/>
* @param id id
* @return int
*/
public int deleteById(Long id){
return planAllocItemDOMapper.deleteById(id);
}
/**
* desc:根据主键获取数据:abs_plan_alloc_item.<br/>
* @param id id
* @return PlanAllocItemDO
*/
public PlanAllocItemDO getById(Long id){
return planAllocItemDOMapper.getById(id);
}
/**
* desc:根据唯一约束ItemNo更新表:abs_plan_alloc_item.<br/>
* @param entity entity
* @return int
*/
public int updateByItemNo(PlanAllocItemDO entity){
return planAllocItemDOMapper.updateByItemNo(entity);
}
/**
* desc:根据唯一约束ItemNo删除数据:abs_plan_alloc_item.<br/>
* @param itemNo itemNo
* @return int
*/
public int deleteByItemNo(String itemNo){
return planAllocItemDOMapper.deleteByItemNo(itemNo);
}
/**
* desc:根据唯一约束ItemNo获取数据:abs_plan_alloc_item.<br/>
* @param itemNo itemNo
* @return PlanAllocItemDO
*/
public PlanAllocItemDO getByItemNo(String itemNo){
return planAllocItemDOMapper.getByItemNo(itemNo);
}
/**
* desc:根据计划编号获取分配事项.<br/>
* @param planNo planNo
* @return Map<String,List<PlanAllocItemResultMap>>
*/
public List<PlanAllocItemResultMap> getByPlanNoList(String planNo){
return planAllocItemDOMapper.getByPlanNo(planNo);
}
/**
* desc:根据计划编号获取分配事项.<br/>
* @param planNo planNo
* @return Map<String,List<PlanAllocItemResultMap>>
*/
public Map<String,List<PlanAllocItemResultMap>> getByPlanNo(String planNo){
Map<String,List<PlanAllocItemResultMap>> result = new LinkedHashMap();
List<PlanAllocItemResultMap> resultList = planAllocItemDOMapper.getByPlanNo(planNo);
if(resultList!=null && !resultList.isEmpty()){
for(PlanAllocItemResultMap entity:resultList){
List<PlanAllocItemResultMap> vList = result.get(entity.getAllocNo());
if(vList == null){
vList = new ArrayList();
result.put(entity.getAllocNo(),vList);
}
vList.add(entity);
}
}
return result;
}
/**
* desc:根据分配编号获取分配事项.<br/>
* @param allocNo allocNo
* @return Map<String,Long>
*/
public List<PlanAllocItemResultMap> getByAllocNoList(String allocNo){
return planAllocItemDOMapper.getByAllocNo(allocNo);
}
/**
* desc:根据分配编号获取分配事项.<br/>
* @param allocNo allocNo
* @return Map<String,Long>
*/
public Map<String,Long> getByAllocNo(String allocNo){
Map<String,Long> result = new LinkedHashMap();
List<PlanAllocItemResultMap> resultList = planAllocItemDOMapper.getByAllocNo(allocNo);
if(resultList!=null && !resultList.isEmpty()){
for(PlanAllocItemResultMap entity:resultList){
result.put(entity.getTitleNo(),entity.getSettleAmt());
}
}
return result;
}
/**
* desc:根据allocNo删除数据:abs_plan_alloc_item.<br/>
* @param allocNo allocNo
* @return int
*/
public int deleteByAllocNo(String allocNo){
return planAllocItemDOMapper.deleteByAllocNo(allocNo);
}
/**
* desc:根据planNo删除数据.<br/>
* @param planNo planNo
* @return int
*/
public int deleteByPlanNo(String planNo){
return planAllocItemDOMapper.deleteByPlanNo(planNo);
}
}
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