import BaseService from "../baseService";
|
import { ResultInfo } from "../../public/commonInterface";
|
import { FinanceAccountCheck } from "../../entity/finance/biz/financeAccountCheck";
|
import { FinanceBankAccount } from "../../entity/finance/base/financeBankAccount";
|
import { FinanceFlow } from "../../entity/finance/base/financeFlow";
|
|
/**
|
* 调整账户
|
*/
|
export default class AccountCheckService extends BaseService {
|
//#region 账户调整生成账户流水
|
public async batchAuditing(): Promise<ResultInfo> {
|
let { ctx } = this;
|
let body = ctx.request.body;
|
let userInfo = await ctx.helper.userInfo();
|
try {
|
let idValues = body.idValues;
|
if (!Array.isArray(idValues)) {
|
this.info.result = false;
|
this.info.msg = "没有可执行的数据";
|
return this.info;
|
}
|
for (var idValue of idValues) {
|
let dataInfo = await this.dbRead.findOne(FinanceAccountCheck, idValue);
|
if (!dataInfo) {
|
this.info.result = false;
|
this.info.msg = "单据不存在";
|
return this.info;
|
}
|
if (dataInfo.statusText != "新建") {
|
this.info.result = false;
|
this.info.msg = "只有新建的单子才允许审核";
|
return this.info;
|
}
|
if (dataInfo.auditing !== 0) {
|
this.info.result = false;
|
this.info.msg = "只有新建的单子才允许审核";
|
return this.info;
|
}
|
await this.dbWrite.update(
|
FinanceAccountCheck,
|
{
|
accountCheck_Id: dataInfo.accountCheck_Id,
|
userProduct_Id: userInfo.userProduct_Id
|
},
|
{
|
statusText: "审核成功",
|
auditing: 2,
|
auditor: userInfo.userTrueName,
|
auditDate: new Date()
|
}
|
);
|
//调整后银行账户
|
await this.dbWrite.update(
|
FinanceBankAccount,
|
{
|
bankAccount_Id: dataInfo.bankAccount_Id
|
},
|
{
|
currentRMB: dataInfo.resultMoneyRMB
|
}
|
);
|
//银行账户
|
let bankAccountList = await this.dbRead.findOne(FinanceBankAccount, {
|
where: {
|
bankAccount_Id: dataInfo.bankAccount_Id
|
}
|
});
|
//账户流水
|
await this.dbRead.findOne(FinanceFlow, {
|
where: {
|
bankAccount_Id: dataInfo.bankAccount_Id
|
},
|
order: {
|
bankAccount_Id: "DESC"
|
}
|
});
|
//生成账户流水
|
let newFlow = new FinanceFlow();
|
newFlow.flowCode = await this.ctx.service.common.getCodeRegular(1698);
|
newFlow.flowName = dataInfo.checkType;
|
newFlow.bankAccountCode = dataInfo.bankAccountCode;
|
newFlow.bankAccountName = dataInfo.bankAccountName;
|
if (dataInfo.checkMoneyRMB > 0) {
|
newFlow.outcomeRMB = 0;
|
newFlow.incomeRMB = dataInfo.checkMoneyRMB;
|
} else {
|
newFlow.outcomeRMB = dataInfo.checkMoneyRMB;
|
newFlow.incomeRMB = 0;
|
}
|
newFlow.balanceRMB = dataInfo.resultMoneyRMB;
|
newFlow.billCode = bankAccountList.bankAccount;
|
newFlow.userTrueName = userInfo.userTrueName;
|
newFlow.deptName = userInfo.deptName;
|
newFlow.sourceType = "账户调整";
|
await this.setAccountInfo(newFlow);
|
await this.dbWrite.save(newFlow);
|
}
|
this.info.result = true;
|
this.info.msg = "审核成功";
|
} catch (error) {
|
this.info.result = false;
|
this.info.msg = "审核失败" + error.message;
|
}
|
|
return this.info;
|
}
|
//#endregion
|
}
|