Commit 9e723c32 by 蒋勇

d

parent b24d76f0
var APIBase =require("../../api.base");
var system=require("../../../system");
class RptAPI extends APIBase{
constructor(){
super();
this.rptService=system.getObject("service.rpt.rpttypeSve");
}
/*{
"companyName": "客户名称", // 公司名称 | type string
"companyTaxNum" "123456", // 公司税号 | type string
"valueAddedTax": 1, // 纳税人性质, 1:小规模纳税人, 2:一般纳税人 | type number
"accountingType": 1, // 会计制度, 1:企业会计准则, 2: 小企业会计准则 | type number
"dateType": 1, // 时间类型, 1: 月度, 2: 季度, 3: 年度 | type number
"date": "2019", // 时间,
"balanceReportsUrl": [ // 资产负债表
{
"date": "201910",
"reportName": "",
"url": "url"
},
{
"date": "201911",
"reportName": "",
"url": "url"
}
],
"profitsReportsUrl": [ // 利润表
{
"date": "201910",
"reportName": "",
"url": "url"
},
{
"date": "201911",
"reportName": "",
"url": "url"
}
],
"valueAddedTaxReportUrl": [ // 增值税申报表
{
"date": "201910",
"reportName": "",
"url": "url"
},
{
"date": "201911",
"reportName": "",
"url": "url"
},
],
"incomeTaxReportUrl": [ // 所得税申报表
{
"date": "201910",
"reportName": "A102010",
"url": "url"
},
{
"date": "201911",
"reportName": "A102010",
"url": "url"
}
]
}*/
async saveRpt(pobj,query){
var x=await this.rptService.saveRpt(pobj);
return system.getResult(x);
}
exam(){
return "xxx";
}
classDesc(){
return {
groupName:"auth",
groupDesc:"认证相关的包",
name:"AccessAuthAPI",
desc:"关于认证的类",
exam:"",
};
}
methodDescs(){
return [
{
methodDesc:"生成访问token",
methodName:"getAccessKey",
paramdescs:[
{
paramDesc:"访问appkey",
paramName:"appkey",
paramType:"string",
defaultValue:"x",
},
{
paramDesc:"访问secret",
paramName:"secret",
paramType:"string",
defaultValue:null,
}
],
rtnTypeDesc:"xxxx",
rtnType:"xxx"
}
];
}
}
module.exports=RptAPI;
\ No newline at end of file
{
"dependencies": {
"exceljs": "^3.5.0",
"sequelize": "^5.21.3"
}
}
...@@ -4,8 +4,65 @@ const settings=require("../../../../config/settings") ...@@ -4,8 +4,65 @@ const settings=require("../../../../config/settings")
class RptTypeService extends ServiceBase{ class RptTypeService extends ServiceBase{
constructor(){ constructor(){
super("auth",ServiceBase.getDaoName(RptTypeService)); super("auth",ServiceBase.getDaoName(RptTypeService));
this.redisClient=system.getObject("util.redisClient");
}
async saveRpt(upinfo){
return this.db.transaction(async t=>{
//构建批量对象
var company={
code:upinfo.companyTaxNum,
name:upinfo.companyName,
}
var comp=await this.db.models.company.findOne({where:{code:upinfo.companyTaxNum}});
if(!comp){
comp=await this.db.models.company.create(company,{transaction:t});
}
var batchobj={
batchdate:upinfo.date,
companyname:upinfo.companyName,
companyCode:upinfo.companyTaxNum,
name:companyname+"_"+upinfo.date+"_"+upinfo.accountingType,
batchstatuscode:"parserpt",
taxtypecode:upinfo.valueAddedTax,
timetypecode:upinfo.dateType,
accountstandardcode:upinfo.accountingType,
company_id:comp.id,
}
//保存批量
var batchtemp=await this.db.models.uploadbatch.create(batchobj,{transaction:t});
var rpts=[];
Object.keys(upinfo).forEach(k=>{
{
if(k.indexOf("Report")>=0){
var rpts=upinfo[k];
rpts.forEach(rpt=>{
var rptupload={
companyname:upinfo.companyName,
companyCode:upinfo.companyTaxNum,
rpttypecode:rpt.code,
timetypecode:upinfo.dateType,
urlpath:rpt.url,
rptdate:rpt.date,
company_id:comp.id,
uploadbatch_id:batchtemp.id,
}
rpts.push(rptupload);
});
}
}
});
//保存报表
await this.db.models.uploadrpt.bulkCreate(rpts,{transaction:t});
try{
rpts.forEach((rpt)=>{
await this.redisClient.notifyConsume("k8stask","docurls",rpt.rpttypecode+"~"+rpt.urlpath);
});
}catch(e){
//需要记录要清理的批号历史数据
}
return batchtemp;
});
} }
} }
module.exports=RptTypeService; module.exports=RptTypeService;
...@@ -558,7 +558,7 @@ function getRowData() { ...@@ -558,7 +558,7 @@ function getRowData() {
})();*/ })();*/
//ITY_ADV //ITY_ADV
(async () => { /*(async () => {
var wb = await readxls("./rpttemp/it/Y/ITY_ADV.xlsx"); var wb = await readxls("./rpttemp/it/Y/ITY_ADV.xlsx");
var sheet = wb.getWorksheet(1); var sheet = wb.getWorksheet(1);
var insertrows = []; var insertrows = [];
...@@ -589,7 +589,7 @@ function getRowData() { ...@@ -589,7 +589,7 @@ function getRowData() {
} }
}); });
console.log(JSON.stringify(insertrows)); console.log(JSON.stringify(insertrows));
})(); })();*/
//ITY_COST //ITY_COST
...@@ -686,45 +686,179 @@ function getRowData() { ...@@ -686,45 +686,179 @@ function getRowData() {
buildRow.position = rowNumber + "-" + colpos; buildRow.position = rowNumber + "-" + colpos;
insertrows.push(buildRow); insertrows.push(buildRow);
} }
}); });
} }
}); });
console.log(JSON.stringify(insertrows)); console.log(JSON.stringify(insertrows));
})();*/ })();*/
(async () => { //ITY_FILL_LOST
/*(async () => {
var wb = await readxls("./rpttemp/it/Y/ITY_FILL_LOST.xlsx"); var wb = await readxls("./rpttemp/it/Y/ITY_FILL_LOST.xlsx");
var sheet = wb.getWorksheet(1); var sheet = wb.getWorksheet(1);
var insertrows = []; var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) { sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 6 && rowNumber <= 17) {
row.eachCell({ includeEmpty: true }, function (cell, colNumber) {
if (colNumber == 2) {
if (typeof cell.value == "object") {
desc="";
cell.value.richText.forEach(element => {
desc += element.text;
});
} else {
desc = cell.value;
}
cachetmp=desc;
console.log(desc, ">>>>>>>>>>>>>>>");
}
if (colNumber == 3) {
desc=cachetmp+"/年度";
console.log(desc,">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
}
if (colNumber == 4) {
desc=cachetmp+"/当年境内所得额";
}
if (colNumber == 5) {
desc+=cachetmp+"/分立转出的亏损额";
}
if (colNumber == 6) {
desc=cachetmp+"/可弥补年限5年";
}
if (colNumber == 7) {
desc=cachetmp+"/可弥补年限10年";
}
if (colNumber == 8) {
desc=cachetmp+"/弥补亏损企业类型";
}
if (colNumber == 9) {
desc=cachetmp+"/当年亏损额";
}
if (colNumber == 10) {
desc=cachetmp+"/ 当年待弥补的亏损额";
}
if (colNumber == 11) {
desc=cachetmp+"/使用境内所得弥补";
}
if (colNumber == 12) {
desc=cachetmp+"/使用境外所得弥补";
}
if (colNumber == 13) {
desc=cachetmp+"/当年可结转以后年度弥补的亏损额";
}
if (colNumber >=3 && colNumber <=13) {
var colpos=colNumber-2;
var buildRow = getRowData();
buildRow.rpttypecode = "ITY_FILL_LOST";
buildRow.timetypecode = "Q";
buildRow.valstr = cell.value;
buildRow.desc = desc;
buildRow.position = rowNumber + "-" + colpos;
insertrows.push(buildRow);
}
});
}
});
console.log(JSON.stringify(insertrows));
})();*/
//ITY_INCOME_DESC
/*(async () => {
var wb = await readxls("./rpttemp/it/Y/ITY_INCOME_DESC.xlsx");
var sheet = wb.getWorksheet(1);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 3 && rowNumber <= 28) { if (rowNumber >= 3 && rowNumber <= 28) {
row.eachCell({ includeEmpty: true }, function (cell, colNumber) { row.eachCell({ includeEmpty: true }, function (cell, colNumber) {
if (colNumber == 2) { if (colNumber == 2) {
if (typeof cell.value == "object") { if (typeof cell.value == "object") {
desc = ""; desc="";
cell.value.richText.forEach(element => { cell.value.richText.forEach(element => {
desc += element.text; desc += element.text;
}); });
} else { } else {
desc = cell.value; desc = cell.value;
}
cachetmp=desc;
console.log(desc, ">>>>>>>>>>>>>>>");
}
if (colNumber ==3 ) {
var buildRow = getRowData();
buildRow.rpttypecode = "ITY_INCOME_DESC";
buildRow.timetypecode = "Q";
buildRow.valstr = cell.value;
buildRow.desc = desc+"/金额";
buildRow.position = rowNumber + "-" + 1;
insertrows.push(buildRow);
}
});
}
});
console.log(JSON.stringify(insertrows));
})();*/
//ITY_PERIOD
(async () => {
var wb = await readxls("./rpttemp/it/Y/ITY_PERIOD.xlsx");
var sheet = wb.getWorksheet(1);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 5 && rowNumber <= 30) {
row.eachCell({ includeEmpty: true }, function (cell, colNumber) {
if (colNumber == 2) {
if (typeof cell.value == "object") {
desc="";
cell.value.richText.forEach(element => {
desc += element.text;
});
} else {
desc = cell.value;
}
cachetmp=desc;
console.log(desc, ">>>>>>>>>>>>>>>");
}
if (colNumber == 3) {
desc=cachetmp+"/销售费用";
console.log(desc,">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
}
if (colNumber == 4) {
desc=cachetmp+"/其中:境外支付";
}
if (colNumber == 5) {
desc+=cachetmp+"/管理费用";
}
if (colNumber == 6) {
desc=cachetmp+"/其中:境外支付";
}
if (colNumber == 7) {
desc=cachetmp+"/财务费用";
}
if (colNumber == 8) {
desc=cachetmp+"/其中:境外支付";
}
if (colNumber >=3 && colNumber <=8) {
var colpos=colNumber-2;
var buildRow = getRowData();
buildRow.rpttypecode = "ITY_PERIOD";
buildRow.timetypecode = "Q";
buildRow.valstr = cell.value;
buildRow.desc = desc;
buildRow.position = rowNumber + "-" + colpos;
insertrows.push(buildRow);
} }
console.log(desc, ">>>>>>>>>>>>>>>.............................................");
}
if (colNumber == 3) {
var buildRow = getRowData();
buildRow.rpttypecode = "ITY_COST";
buildRow.timetypecode = "Q";
buildRow.valstr = cell.value;
buildRow.desc = desc + "/金额";
buildRow.position = rowNumber + "-" + 1;
insertrows.push(buildRow);
}
}); });
} }
}); });
console.log(JSON.stringify(insertrows)); console.log(JSON.stringify(insertrows));
})(); })();
// var twice = { // var twice = {
// apply:function(target, ctx, args) { // apply:function(target, ctx, args) {
// console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxx"); // console.log("xxxxxxxxxxxxxxxxxxxxxxxxxxx");
......
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