Commit 4e64a365 by 蒋勇

d

parent ad1c1cb7
......@@ -56,24 +56,109 @@ async readxls(path) {
var localpath="/tmp/"+keystr;
var wb= await this.readxls(localpath);
//是否解析excell中的报表
var toparsedate={isparsedate:false,rptDate:'notparse'};
var ind=rptCode.lastIndexOf("_");
var parsefunc=rptCode;
if(ind>=0){
var st2=rptCode.substring(ind+1);
if(st2=="N"){//是非必传的文件
parsefunc=rptCode.substring(0,ind);
toparsedate.isparsedate=true;
}
}
var parserByCode=require("./rptHandler/"+parsefunc);
var rows=await parserByCode(wb);
console.log();
var parserByCode=null;
if(parsefunc=="ITY"){//年报所得税7个sheet
//里面存在7个sheet,构造7个sheet history data
//A100000--ITY--1
parsefunc="ITY";
parserByCode=require("./rptHandler/"+parsefunc);
var rowsITY=await parserByCode(wb);
this.restData.push({
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();
}else{
if(this.restData && this.restData .length>0){
......
module.exports =(async (wb)=>{
module.exports =(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
sheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
......
module.exports = (async (wb) => {
module.exports = (async (wb,toparsedate) => {
var sheet = wb.getWorksheet(1);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(5);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 3 && rowNumber <= 16) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(3);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 3 && rowNumber <= 28) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(6);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 5 && rowNumber <= 41) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(7);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 6 && rowNumber <= 17) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(2);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 3 && rowNumber <= 28) {
......
module.exports=(async (wb) => {
var sheet = wb.getWorksheet(1);
var sheet = wb.getWorksheet(4);
var insertrows = [];
sheet.eachRow({ includeEmpty: true }, function (row, rowNumber) {
if (rowNumber >= 5 && rowNumber <= 30) {
......
module.exports=(async (wb)=>{
module.exports=(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
sheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
......
module.exports=(async (wb)=>{
module.exports=(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
sheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
......
module.exports=(async (wb)=>{
module.exports=(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
if(!sheet){
......
module.exports=(async (wb)=>{
module.exports=(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
sheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
......
module.exports=(async (wb)=>{
module.exports=(async (wb,toparsedate)=>{
var sheet = wb.getWorksheet(1);
var insertrows=[];
sheet.eachRow({ includeEmpty: true }, function(row, rowNumber) {
......
......@@ -8,15 +8,76 @@
// server.listen(3000);//监听端口号是3000的服务器
// console.log("end");
var str="sdfd_xxx";
var ind=str.lastIndexOf("_");
if(ind>=0){
var st2=str.substring(ind+1);
if(st2=="N"){
var st1=str.substring(0,ind);
console.log(st1);
// var str="sdfd_xxx";
// var ind=str.lastIndexOf("_");
// if(ind>=0){
// var st2=str.substring(ind+1);
// if(st2=="N"){
// var st1=str.substring(0,ind);
// 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{
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);
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