Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
4e64a365
Commit
4e64a365
authored
Jan 16, 2020
by
蒋勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d
parent
ad1c1cb7
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
178 additions
and
33 deletions
+178
-33
taskexecutor/app/base/db/task/rpt/parseRptTask.js
+95
-10
taskexecutor/app/base/db/task/rpt/rptHandler/GT.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITQ.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_ADV.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_COST.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_DISCOUNT_ADJUST.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_FILL_LOST.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_INCOME_DESC.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_PERIOD.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/NA.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/NP.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/SA.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/SP.js
+1
-1
taskexecutor/app/base/db/task/rpt/rptHandler/ST.js
+1
-1
taskexecutor/test.js
+70
-10
No files found.
taskexecutor/app/base/db/task/rpt/parseRptTask.js
View file @
4e64a365
...
@@ -56,24 +56,109 @@ async readxls(path) {
...
@@ -56,24 +56,109 @@ async readxls(path) {
var
localpath
=
"/tmp/"
+
keystr
;
var
localpath
=
"/tmp/"
+
keystr
;
var
wb
=
await
this
.
readxls
(
localpath
);
var
wb
=
await
this
.
readxls
(
localpath
);
//是否解析excell中的报表
var
toparsedate
=
{
isparsedate
:
false
,
rptDate
:
'notparse'
};
var
ind
=
rptCode
.
lastIndexOf
(
"_"
);
var
ind
=
rptCode
.
lastIndexOf
(
"_"
);
var
parsefunc
=
rptCode
;
var
parsefunc
=
rptCode
;
if
(
ind
>=
0
){
if
(
ind
>=
0
){
var
st2
=
rptCode
.
substring
(
ind
+
1
);
var
st2
=
rptCode
.
substring
(
ind
+
1
);
if
(
st2
==
"N"
){
//是非必传的文件
if
(
st2
==
"N"
){
//是非必传的文件
parsefunc
=
rptCode
.
substring
(
0
,
ind
);
parsefunc
=
rptCode
.
substring
(
0
,
ind
);
toparsedate
.
isparsedate
=
true
;
}
}
}
}
var
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
parserByCode
=
null
;
var
rows
=
await
parserByCode
(
wb
);
if
(
parsefunc
==
"ITY"
){
//年报所得税7个sheet
console
.
log
();
//里面存在7个sheet,构造7个sheet history data
this
.
restData
.
push
({
//A100000--ITY--1
rptid
:
rptid
,
parsefunc
=
"ITY"
;
batchid
:
bid
,
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
rptdate
:
rptDate
,
var
rowsITY
=
await
parserByCode
(
wb
);
rptcode
:
rptCode
,
this
.
restData
.
push
({
hisdata
:
rows
rptid
:
rptid
,
});
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rowsITY
});
//A101010--ITY_INCOME_DESC-2
parsefunc
=
"ITY_INCOME_DESC"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows2
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows2
});
//A102010-ITY_COST---3
parsefunc
=
"ITY_COST"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows3
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows3
});
//A104000--ITY_PERIOD--4
parsefunc
=
"ITY_PERIOD"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows4
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows4
});
//A105060--ITY_ADV--5
parsefunc
=
"ITY_ADV"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows5
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows5
});
//A105080--ITY_DISCOUNT_ADJUST--6
parsefunc
=
"ITY_DISCOUNT_ADJUST"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows6
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows6
});
//A106000--ITY_FILL_LOST--7
parsefunc
=
"ITY_FILL_LOST"
;
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows7
=
await
parserByCode
(
wb
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows7
});
}
else
{
parserByCode
=
require
(
"./rptHandler/"
+
parsefunc
);
var
rows
=
await
parserByCode
(
wb
,
toparsedate
);
this
.
restData
.
push
({
rptid
:
rptid
,
batchid
:
bid
,
rptdate
:
toparsedate
.
isparsedate
?
toparsedate
.
rptDate
:
rptDate
,
rptcode
:
rptCode
,
hisdata
:
rows
});
}
this
.
parseXls
();
this
.
parseXls
();
}
else
{
}
else
{
if
(
this
.
restData
&&
this
.
restData
.
length
>
0
){
if
(
this
.
restData
&&
this
.
restData
.
length
>
0
){
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/GT.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITQ.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_ADV.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
5
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
16
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
16
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_COST.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
3
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
28
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
28
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_DISCOUNT_ADJUST.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
6
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
5
&&
rowNumber
<=
41
)
{
if
(
rowNumber
>=
5
&&
rowNumber
<=
41
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_FILL_LOST.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
7
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
6
&&
rowNumber
<=
17
)
{
if
(
rowNumber
>=
6
&&
rowNumber
<=
17
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_INCOME_DESC.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
2
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
28
)
{
if
(
rowNumber
>=
3
&&
rowNumber
<=
28
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ITY_PERIOD.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
4
);
var
insertrows
=
[];
var
insertrows
=
[];
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
sheet
.
eachRow
({
includeEmpty
:
true
},
function
(
row
,
rowNumber
)
{
if
(
rowNumber
>=
5
&&
rowNumber
<=
30
)
{
if
(
rowNumber
>=
5
&&
rowNumber
<=
30
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/NA.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/NP.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/SA.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
var
sheet
=
wb
.
getWorksheet
(
1
);
var
sheet
=
wb
.
getWorksheet
(
1
);
var
insertrows
=
[];
var
insertrows
=
[];
if
(
!
sheet
){
if
(
!
sheet
){
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/SP.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/app/base/db/task/rpt/rptHandler/ST.js
View file @
4e64a365
module
.
exports
=
(
async
(
wb
)
=>
{
module
.
exports
=
(
async
(
wb
,
toparsedate
)
=>
{
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
)
{
...
...
taskexecutor/test.js
View file @
4e64a365
...
@@ -8,15 +8,76 @@
...
@@ -8,15 +8,76 @@
// server.listen(3000);//监听端口号是3000的服务器
// server.listen(3000);//监听端口号是3000的服务器
// console.log("end");
// console.log("end");
var
str
=
"sdfd_xxx"
;
// var str="sdfd_xxx";
var
ind
=
str
.
lastIndexOf
(
"_"
);
// var ind=str.lastIndexOf("_");
if
(
ind
>=
0
){
// if(ind>=0){
var
st2
=
str
.
substring
(
ind
+
1
);
// var st2=str.substring(ind+1);
if
(
st2
==
"N"
){
// if(st2=="N"){
var
st1
=
str
.
substring
(
0
,
ind
);
// var st1=str.substring(0,ind);
console
.
log
(
st1
);
// console.log(st1);
// }else{
// console.log(str);
// }
// }
function
getMonth
(
type
,
text
){
var
qs
=
[
"一"
,
"二"
,
"三"
,
"四"
];
var
qmap
=
{
"一"
:
"03"
,
"二"
:
"06"
,
"三"
:
"09"
,
"四"
:
"12"
};
//ITQ
if
(
type
==
"ITQ"
||
type
==
"ST"
||
type
==
"GT"
){
var
p1
=
/
\d{4}[
-|-
]\d{2}[
-|-
]\d{2}
/gm
;
var
ms
=
text
.
match
(
p1
);
var
lstDate
=
ms
[
1
];
var
ds
=
lstDate
.
split
(
"-"
);
var
rtnDate
=
ds
[
0
]
+
ds
[
1
];
return
rtnDate
;
}
else
{
}
else
{
console
.
log
(
str
);
var
testbool
=
false
;
var
p2
=
/
(\d{4})
|
([
一|二|三|四
])
/gm
;
var
ms
=
text
.
match
(
p2
);
console
.
log
(
ms
);
for
(
var
q
of
qs
){
var
jstr
=
ms
.
join
(
","
);
var
re
=
new
RegExp
(
q
);
if
(
re
.
test
(
jstr
)){
console
.
log
(
"======"
);
testbool
=
true
;
break
;
}
}
if
(
!
testbool
){
//如果不是季
var
p3
=
/
\d{4}[
-|-
]\d{2}
/gm
;
var
ms
=
text
.
match
(
p3
);
return
ms
[
0
].
split
(
"-"
).
join
(
""
);
}
else
{
//如果是季
var
qstr
=
ms
[
1
];
var
rtndate
=
ms
[
0
]
+
qmap
[
qstr
];
return
rtndate
;
}
}
}
}
var
text
=
`日期:2019-11(请按照此日期格式填写日期,否则系统无法识别)`
;
var
g
=
getMonth
(
"dd"
,
text
);
console
.
log
(
g
);
return
;
//ITQ
var
text
=
`税款所属期间:2019-06-01至2019-09-30
请按照此日期格式填写日期,否则系统无法识别)`
;
var
g
=
getMonth
(
"ITQ"
,
text
);
console
.
log
(
g
);
//ST
text
=
"税款所属期:2019-06-01至2019-09-30(请按照此日期格式填写日期,否则系统无法识别)"
;
var
g
=
getMonth
(
"ST"
,
text
);
console
.
log
(
g
);
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment