Commit 4e64a365 by 蒋勇

d

parent ad1c1cb7
...@@ -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){
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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) {
......
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){
......
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) {
......
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) {
......
...@@ -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
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