1 2 weeks ago
parent
commit
9cfa7573e2
4 changed files with 1348 additions and 0 deletions
  1. 65 0
      common/TaxSb/base.go
  2. 41 0
      common/TaxSb/common.go
  3. 794 0
      common/TaxSb/cwbb.go
  4. 448 0
      common/TaxSb/qysds.go

+ 65 - 0
common/TaxSb/base.go

@@ -0,0 +1,65 @@
+package TaxSb
+
+import (
+	"git.listensoft.net/tool/jspkit/common"
+	"git.listensoft.net/tool/jspkit/common/models"
+	"git.listensoft.net/tool/jspkit/common/watermark"
+	"git.listensoft.net/tool/jspkit/logger"
+	"git.listensoft.net/tool/jspkit/taxerr"
+	"github.com/go-rod/rod"
+	"github.com/go-rod/rod/lib/input"
+	"os"
+	"time"
+)
+
+func SaveErrImg(p *rod.Page, info models.CompanyInfo) string {
+	var check_path string
+	check_path = "./data/sbImg/" + info.TaxNo + "/"
+	if !common.PathExists(check_path) {
+		os.MkdirAll(check_path, os.ModePerm)
+	}
+	check_path = check_path + info.Period + "-" + time.Now().Format("2006-01-02-15-04-05") + ".png"
+	p.Timeout(common.ClickTimeOut).MustScreenshot(check_path)
+	watermark.Add(check_path)
+	check_path2 := common.PostSbjt(info.TaxNo, info.Period, check_path)
+	os.Remove(check_path)
+	return check_path2
+}
+
+func MustElementX(page *rod.Page, xpath string) *rod.Element {
+	return page.Timeout(common.ClickTimeOut).MustSearch(xpath)
+}
+
+func WaitElementXZcFz(page *rod.Page, xpath string, interval float64) *rod.Element {
+	for i := 0; i < 60; i++ {
+		for i := 0; i < 60; i++ {
+			// page.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame()
+			if page.MustHas("#frmFrame") && page.MustElement("#frmFrame").MustFrame().MustHas(`#frmMain`) && page.MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustHas(`#frmSheet`) {
+				if has, el, _ := page.MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().HasX(xpath); has {
+					return el
+				}
+			}
+			time.Sleep(time.Duration(float64(time.Second) * interval))
+		}
+		time.Sleep(time.Duration(float64(time.Second) * interval))
+	}
+	logger.Info("页面加载失败元素未找到,请稍后再试", xpath)
+	panic(taxerr.NewWebStuckTitle(common.InfoCscsts))
+}
+
+func inputStr(el *rod.Element, inputVal string) {
+	_ = rod.Try(func() {
+		if inputVal == "" {
+			inputVal = "0"
+		}
+		_ = rod.Try(func() {
+			el.Page().Keyboard.MustType(input.Backspace)
+		})
+		_ = rod.Try(func() {
+			for _, v := range inputVal {
+				_ = el.Page().Keyboard.Type(input.Key(v))
+				time.Sleep(time.Millisecond * 10)
+			}
+		})
+	})
+}

+ 41 - 0
common/TaxSb/common.go

@@ -0,0 +1,41 @@
+package TaxSb
+
+import (
+	"encoding/json"
+	"git.listensoft.net/tool/jspkit/common/lxhttp"
+	"github.com/tidwall/gjson"
+	"net/http"
+)
+
+// 我的待办结构体
+type MyTaskSt struct {
+	Name     string `json:"name"`      // 任务名称
+	DeadLine string `json:"dead_line"` // 办理期限
+	Status   string `json:"status"`    // 标签状态
+}
+
+// 获取我的待办信息方便进行对比
+func GetMyTask(C *http.Client, BaseUrl string) ([]MyTaskSt, error) {
+	myTaskList := []MyTaskSt{}
+	Cookie := []*http.Cookie{}
+	jsonData := map[string]interface{}{"Csbz": ""}
+	headers := map[string]string{
+		"Content-Type": "application/json",
+		"User-Agent":   "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
+		"accept":       "application/json;charset=UTF-8",
+	}
+	JsonR, _ := json.Marshal(jsonData)
+	response, err := lxhttp.PostByteReader(C, BaseUrl+"/mhzx/api/mh/wddb/v1/wddbquerybbsmxx", JsonR, headers, Cookie)
+	if err != nil {
+		return nil, err
+	}
+	array := gjson.GetBytes(response, "Response.Data.wsbxxGrid").Array()
+	for _, result := range array {
+		myTaskList = append(myTaskList, MyTaskSt{
+			Name:     result.Get("gnmc").String(),
+			DeadLine: result.Get("sbqx").String(),
+			Status:   result.Get("zt").String(),
+		})
+	}
+	return myTaskList, nil
+}

+ 794 - 0
common/TaxSb/cwbb.go

@@ -0,0 +1,794 @@
+package TaxSb
+
+import (
+	"context"
+	"fmt"
+	"git.listensoft.net/tool/jspkit/common"
+	"git.listensoft.net/tool/jspkit/common/models"
+	"git.listensoft.net/tool/jspkit/common/models/sb"
+	"git.listensoft.net/tool/jspkit/common/variable"
+	"git.listensoft.net/tool/jspkit/taxerr"
+	"github.com/go-rod/rod"
+	"github.com/go-rod/rod/lib/utils"
+	"strings"
+)
+
+// SbXqyCwbb 小企业会计制度2013申报 标签页自动关闭
+func SbXqyCwbb(ctx context.Context, newp1 *rod.Page, info models.CompanyInfo, task *models.TaxTask) {
+	defer newp1.MustClose()
+	// 数据获取
+	kjzcfz := []sb.KjZcfz{}
+	if ok := common.GetData(variable.KjZcfz, task.Data, &kjzcfz); !ok {
+		task.Result.BusinessLog = "<span>[错误]:资产负债表数据为空</span><br />[操作]:请重新取数后重试"
+		task.Result.BusinessStatus = variable.TaxFail
+		return
+	}
+	kjlrb := []sb.KjLrb{}
+	if ok := common.GetData(variable.KjLrb, task.Data, &kjlrb); !ok {
+		task.Result.BusinessLog = "<span>[错误]:利润表数据为空</span><br />[操作]:请重新取数后重试"
+		task.Result.BusinessStatus = variable.TaxFail
+		return
+	}
+	kjxjllb := []sb.KjXjllb{}
+	common.GetData(variable.KjXjllbJb, task.Data, &kjxjllb)
+	err := rod.Try(func() {
+
+		utils.Sleep(5)
+		if newp1.MustHasX(`//div[contains(text(),'请重新选择报送所属期间或者去备案')]`) {
+			task.Result.BusinessStatus = variable.TaxNoNeed
+			task.Result.BusinessLog = "当前报送所属期间没有有效的备案信息"
+			task.Result.BusinessImg = SaveErrImg(newp1, info)
+			return
+		}
+		//全部改为直接申报 不区分上期是否已申报
+		if newp1.MustHasX(`//div[text()='您上一期的财务报表未报送,请核实是否修改报送所属期。']`) {
+			newp1.Timeout(common.ClickTimeOut).MustElementX(`//div[text()='您上一期的财务报表未报送,请核实是否修改报送所属期。']/..//button`).MustClick()
+		}
+		if newp1.Timeout(common.ClickTimeOut).MustHasX(`//span[contains(text(), "继续办理")]`) {
+			newp1.Timeout(common.ClickTimeOut).MustElementX(`//span[contains(text(), "继续办理")]`).MustClick()
+		}
+		if newp1.MustHasR(`body > section > section > section > main > div > div > div > div.gov-inspect > div.gov-inspect-header > div.gov-inspect-header__status-text`, "检测不通过") {
+			errMsg := newp1.Timeout(common.ClickTimeOut).MustElement(`body > section > section > section > main > div > div > div > div.gov-inspect > div.gov-inspect-table > div > div > div > div > span.gov-inspect-item__text > span`).MustText()
+			task.Result.BusinessStatus = variable.TaxFail
+			task.Result.BusinessImg = SaveErrImg(newp1, info)
+			panic(taxerr.NewUserV3(errMsg, "请核实后重试"))
+		}
+		//检测不通过 返回首页
+		if newp1.Timeout(common.ClickTimeOut).MustHasX(`//span[contains(text(), "返回首页")]`) {
+			newp1.MustClose()
+			task.Result.BusinessStatus = variable.TaxFail
+			task.Result.BusinessLog = "检测不通过"
+			task.Result.BusinessImg = SaveErrImg(newp1, info)
+			return
+		}
+		//提示
+		if newp1.MustHasX(`//div[@class="t-dialog__body t-dialog__body--icon"]`) {
+			newp1.Timeout(common.ClickTimeOut).MustElementX(`//span[text()="关闭"]`).MustClick()
+		}
+		utils.Sleep(3)
+		if newp1.MustHasX(`//div[@class="t-dialog__body t-dialog__body__icon"]`) {
+			text := newp1.MustElementX(`//div[@class="t-dialog__body t-dialog__body__icon"]`).MustText()
+			if strings.Contains(text, "未报送") {
+				panic(taxerr.NewUserV3(text, "如需申报请联系客服"))
+			}
+		}
+		// 选择在线填写
+		if newp1.Timeout(common.ClickTimeOut).MustHas(`#page-content > div > section > main > div > div > div > div.content-body > div > div:nth-child(3) > div`) {
+			newp1.Timeout(common.ClickTimeOut).MustElement(`#page-content > div > section > main > div > div > div > div.content-body > div > div:nth-child(3) > div`).MustClick()
+		}
+		utils.Sleep(1)
+		rr := newp1.MustWaitRequestIdle()
+		newp1.Timeout(common.ClickTimeOut).MustSearch(`下一步`).MustClick()
+		rr()
+		utils.Sleep(3)
+		//"该所属期已完成申报,是否要进行该所属期的申报错误更正"
+		if newp1.MustHasX(`//div[@class="t-dialog__body t-dialog__body__icon"]`) {
+			task.Result.BusinessStatus = variable.TaxSuccess
+			return
+		}
+		xqycwbbDeclareDo(ctx, newp1, info, kjzcfz, kjlrb, kjxjllb, task)
+	})
+	if err != nil {
+		task.Result.BusinessStatus = variable.TaxFail
+		task.Result.BusinessLog = common.HandleError(ctx, err).Error()
+		return
+	}
+	return
+}
+
+// 小企业会计制度2013填表
+func xqycwbbDeclareDo(ctx context.Context, newp1 *rod.Page, info models.CompanyInfo, kjzcfz []sb.KjZcfz, kjlrb []sb.KjLrb, kjxjllb []sb.KjXjllb, task *models.TaxTask) {
+	err := rod.Try(func() {
+		zz := WaitElementXZcFz(newp1, `//h1[contains(text(),'资产负债表')]`, 1).MustText()
+		if len(zz) == 0 {
+			panic(taxerr.NewUserV3(`网页卡顿`, "请稍后重试"))
+		}
+		if !strings.Contains(zz, "小企业") {
+			path := SaveErrImg(newp1, info)
+			task.Result.BusinessImg = path
+			panic(taxerr.NewUserV3(`会计准则选择错误`, "请修改后重试"))
+		}
+		newp2 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame()
+		//资产负债表
+		newp2.Timeout(common.ClickTimeOut).MustElement(`#divSheetlist > li:nth-child(1) > a`).MustClick()
+		utils.Sleep(2)
+		//if newp.Timeout(common.ClickTimeOut).MustHasR(`#viewCtrlId > div.NewTableHead > h1`, "企业会计制度") {
+		//	panic(taxerr.NewUserV3(`会计准则选择错误,税局为(企业会计制度)`))
+		//}
+		//*** 校验
+		// 年初余额
+		ncFlag := false
+		//newp := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame()
+		if kjzcfz[len(kjzcfz)-1].NcyeZc != 0 && kjzcfz[len(kjzcfz)-1].NcyeQy != 0 {
+			ncFlag = true
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"货币资金")]/..//input)[2]`, common.FloatToStr(kjzcfz[0].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"短期投资")]/..//input)[2]`, common.FloatToStr(kjzcfz[1].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收票据")]/..//input)[2]`, common.FloatToStr(kjzcfz[2].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收账款")]/..//input)[2]`, common.FloatToStr(kjzcfz[3].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"预付账款")]/..//input)[2]`, common.FloatToStr(kjzcfz[4].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收股利")]/..//input)[2]`, common.FloatToStr(kjzcfz[5].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收利息")]/..//input)[2]`, common.FloatToStr(kjzcfz[6].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他应收款")]/..//input)[2]`, common.FloatToStr(kjzcfz[7].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"存货")]/..//input)[2]`, common.FloatToStr(kjzcfz[8].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:原材料")]/..//input)[2]`, common.FloatToStr(kjzcfz[9].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"在产品")]/..//input)[2]`, common.FloatToStr(kjzcfz[10].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"库存商品")]/..//input)[2]`, common.FloatToStr(kjzcfz[11].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"周转材料")]/..//input)[2]`, common.FloatToStr(kjzcfz[12].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他流动资产")]/..//input)[2]`, common.FloatToStr(kjzcfz[13].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期债券投资")]/..//input)[2]`, common.FloatToStr(kjzcfz[16].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期股权投资")]/..//input)[2]`, common.FloatToStr(kjzcfz[17].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"固定资产原价")]/..//input)[2]`, common.FloatToStr(kjzcfz[18].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:累计折旧")]/..//input)[2]`, common.FloatToStr(kjzcfz[19].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"在建工程")]/..//input)[2]`, common.FloatToStr(kjzcfz[21].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"工程物资")]/..//input)[2]`, common.FloatToStr(kjzcfz[22].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"固定资产清理")]/..//input)[2]`, common.FloatToStr(kjzcfz[23].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"生产性生物资产")]/..//input)[2]`, common.FloatToStr(kjzcfz[24].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无形资产")]/..//input)[2]`, common.FloatToStr(kjzcfz[25].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"开发支出")]/..//input)[2]`, common.FloatToStr(kjzcfz[26].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期待摊费用")]/..//input)[2]`, common.FloatToStr(kjzcfz[27].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他非流动资产")]/..//input)[2]`, common.FloatToStr(kjzcfz[28].NcyeZc))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"短期借款")]/..//input)[4]`, common.FloatToStr(kjzcfz[0].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付票据")]/..//input)[4]`, common.FloatToStr(kjzcfz[1].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付账款")]/..//input)[4]`, common.FloatToStr(kjzcfz[2].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"预收账款")]/..//input)[4]`, common.FloatToStr(kjzcfz[3].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付职工薪酬")]/..//input)[4]`, common.FloatToStr(kjzcfz[4].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应交税费")]/..//input)[4]`, common.FloatToStr(kjzcfz[5].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付利息")]/..//input)[4]`, common.FloatToStr(kjzcfz[6].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付利润")]/..//input)[4]`, common.FloatToStr(kjzcfz[7].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他应付款")]/..//input)[4]`, common.FloatToStr(kjzcfz[8].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他流动负债")]/..//input)[4]`, common.FloatToStr(kjzcfz[9].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期借款")]/..//input)[4]`, common.FloatToStr(kjzcfz[12].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期应付款")]/..//input)[4]`, common.FloatToStr(kjzcfz[13].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"递延收益")]/..//input)[4]`, common.FloatToStr(kjzcfz[14].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他非流动负债")]/..//input)[4]`, common.FloatToStr(kjzcfz[15].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"实收资本(或股本)")]/..//input)[4]`, common.FloatToStr(kjzcfz[25].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"资本公积")]/..//input)[4]`, common.FloatToStr(kjzcfz[26].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"盈余公积")]/..//input)[4]`, common.FloatToStr(kjzcfz[27].NcyeQy))
+			common.Input(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"未分配利润")]/..//input)[4]`, common.FloatToStr(kjzcfz[28].NcyeQy))
+		}
+		// 流动资产合计校验//context.deadlineExceededError
+		ncyeZc := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[14].ncyeZc"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc = strings.ReplaceAll(ncyeZc, ",", "")
+		if ncFlag && kjzcfz[14].NcyeZc != common.StrToFloat(ncyeZc) {
+			panic(taxerr.NewUserV3(`年初余额流动资产合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[14].NcyeZc)+`,税局为:`+ncyeZc, "请核实后重试"))
+		}
+		//货币资金
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[0].qmyeZc"]`, common.FloatToStr(kjzcfz[0].QmyeZc))
+		//短期投资
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[1].qmyeZc"]`, common.FloatToStr(kjzcfz[1].QmyeZc))
+		//应收票据
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收票据")]/..//input)[1]`, common.FloatToStr(kjzcfz[2].QmyeZc))
+		//应收账款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收账款")]/..//input)[1]`, common.FloatToStr(kjzcfz[3].QmyeZc))
+		//预付账款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"预付账款")]/..//input)[1]`, common.FloatToStr(kjzcfz[4].QmyeZc))
+		//应收股利
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收股利")]/..//input)[1]`, common.FloatToStr(kjzcfz[5].QmyeZc))
+		//应收利息
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应收利息")]/..//input)[1]`, common.FloatToStr(kjzcfz[6].QmyeZc))
+		//其他应收款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他应收款")]/..//input)[1]`, common.FloatToStr(kjzcfz[7].QmyeZc))
+		//存货
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"存货")]/..//input)[1]`, common.FloatToStr(kjzcfz[8].QmyeZc))
+		//其中 :原材料
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:原材料")]/..//input)[1]`, common.FloatToStr(kjzcfz[9].QmyeZc))
+		//在产品
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"在产品")]/..//input)[1]`, common.FloatToStr(kjzcfz[10].QmyeZc))
+		//库存商品
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"库存商品")]/..//input)[1]`, common.FloatToStr(kjzcfz[11].QmyeZc))
+		//周转材料
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"周转材料")]/..//input)[1]`, common.FloatToStr(kjzcfz[12].QmyeZc))
+		//其他流动资产
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他流动资产")]/..//input)[1]`, common.FloatToStr(kjzcfz[13].QmyeZc))
+		//流动资产合计
+		//common.Input(newp, `#\30 01C15`, common.FloatToStr(kjzcfz[14].QmyeZc))
+		//common.Input(newp, `#\30 01D15`, common.FloatToStr(kjzcfz[14].NcyeZc))
+		//非流动资产
+		//长期债券投资
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期债券投资")]/..//input)[1]`, common.FloatToStr(kjzcfz[16].QmyeZc))
+		//长期股权投资
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期股权投资")]/..//input)[1]`, common.FloatToStr(kjzcfz[17].QmyeZc))
+		//固定资产原价
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"固定资产原价")]/..//input)[1]`, common.FloatToStr(kjzcfz[18].QmyeZc))
+		//减:累计折旧
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:累计折旧")]/..//input)[1]`, common.FloatToStr(kjzcfz[19].QmyeZc))
+		//固定资产账面价值
+		//common.Input(newp, `#\30 01C20`, common.FloatToStr(kjzcfz[20].QmyeZc))
+		//common.Input(newp, `#\30 01D20`, common.FloatToStr(kjzcfz[20].NcyeZc))
+		//在建工程
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"在建工程")]/..//input)[1]`, common.FloatToStr(kjzcfz[21].QmyeZc))
+		//工程物资
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"工程物资")]/..//input)[1]`, common.FloatToStr(kjzcfz[22].QmyeZc))
+		//固定资产清理
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"固定资产清理")]/..//input)[1]`, common.FloatToStr(kjzcfz[23].QmyeZc))
+		//生物性生物资产
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"生产性生物资产")]/..//input)[1]`, common.FloatToStr(kjzcfz[24].QmyeZc))
+		//无形资产
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无形资产")]/..//input)[1]`, common.FloatToStr(kjzcfz[25].QmyeZc))
+		//开发支出
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"开发支出")]/..//input)[1]`, common.FloatToStr(kjzcfz[26].QmyeZc))
+		//长期待摊费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期待摊费用")]/..//input)[1]`, common.FloatToStr(kjzcfz[27].QmyeZc))
+		//其他非流动资产
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他非流动资产")]/..//input)[1]`, common.FloatToStr(kjzcfz[28].QmyeZc))
+		//非流动资产合计
+		//common.Input(newp, `#\30 01C29`, common.FloatToStr(kjzcfz[29].QmyeZc))
+		//common.Input(newp, `#\30 01D29`, common.FloatToStr(kjzcfz[29].NcyeZc))
+		////资产合计
+		//common.Input(newp, `#\30 01C30`, common.FloatToStr(kjzcfz[30].QmyeZc))
+		//common.Input(newp, `#\30 01D30`, common.FloatToStr(kjzcfz[30].NcyeZc))
+
+		//流动负债
+		//短期借款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"短期借款")]/..//input)[3]`, common.FloatToStr(kjzcfz[0].QmyeQy))
+		//应付票据
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付票据")]/..//input)[3]`, common.FloatToStr(kjzcfz[1].QmyeQy))
+		//应付账款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付账款")]/..//input)[3]`, common.FloatToStr(kjzcfz[2].QmyeQy))
+		//预收账款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"预收账款")]/..//input)[3]`, common.FloatToStr(kjzcfz[3].QmyeQy))
+		//应付职工薪酬
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付职工薪酬")]/..//input)[3]`, common.FloatToStr(kjzcfz[4].QmyeQy))
+		//应交税费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应交税费")]/..//input)[3]`, common.FloatToStr(kjzcfz[5].QmyeQy))
+		//应付利息
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付利息")]/..//input)[3]`, common.FloatToStr(kjzcfz[6].QmyeQy))
+		//应付利润
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"应付利润")]/..//input)[3]`, common.FloatToStr(kjzcfz[7].QmyeQy))
+		//其他应付款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他应付款")]/..//input)[3]`, common.FloatToStr(kjzcfz[8].QmyeQy))
+		//其他流动负债
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他流动负债")]/..//input)[3]`, common.FloatToStr(kjzcfz[9].QmyeQy))
+		//非流动负债
+		//长期借款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期借款")]/..//input)[3]`, common.FloatToStr(kjzcfz[12].QmyeQy))
+		//长期应付款
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"长期应付款")]/..//input)[3]`, common.FloatToStr(kjzcfz[13].QmyeQy))
+		//递延收益
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"递延收益")]/..//input)[3]`, common.FloatToStr(kjzcfz[14].QmyeQy))
+		//其他非流动负债
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其他非流动负债")]/..//input)[3]`, common.FloatToStr(kjzcfz[15].QmyeQy))
+		//实收资本(或股份)
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"实收资本(或股本)")]/..//input)[3]`, common.FloatToStr(kjzcfz[25].QmyeQy))
+		//资本公积
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"资本公积")]/..//input)[3]`, common.FloatToStr(kjzcfz[26].QmyeQy))
+		//盈余公积
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"盈余公积")]/..//input)[3]`, common.FloatToStr(kjzcfz[27].QmyeQy))
+		//未分配利润
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"未分配利润")]/..//input)[3]`, common.FloatToStr(kjzcfz[28].QmyeQy))
+		//这里需要失去焦距,不然不会计算
+		newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"盈余公积")]/..//input)[3]`).MustClick()
+		utils.Sleep(0.5)
+		//所有者权益(或股东权益)合计
+		// 非流动资产合计校验
+		ncyeZc2 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[29].ncyeZc"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc2 = strings.ReplaceAll(ncyeZc2, ",", "")
+		//ncyeZc2 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"非流动资产合计")]/..//input)[2]`).MustAttribute("value")
+		if ncFlag && kjzcfz[29].NcyeZc != common.StrToFloat(ncyeZc2) {
+			panic(taxerr.NewUserV3(`年初余额非流动资产合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[29].NcyeZc)+`,税局为:`+ncyeZc2, "请核实后重试"))
+		}
+		// 资产合计校验
+		ncyeZc3 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[30].ncyeZc"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc3 = strings.ReplaceAll(ncyeZc3, ",", "")
+		//ncyeZc3 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"资产合计")]/..//input)[2]`).MustAttribute("value")
+		if ncFlag && kjzcfz[30].NcyeZc != common.StrToFloat(ncyeZc3) {
+			panic(taxerr.NewUserV3(`年初余额资产合计校验与系统不一致,系统为:`+common.FloatToStr(kjzcfz[30].NcyeZc)+`,税局为:`+ncyeZc3, "请核实后重试"))
+		}
+		ncyeZc4 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[10].ncyeQy"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc4 = strings.ReplaceAll(ncyeZc4, ",", "")
+		//ncyeZc4 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"流动负债合计")]/..//input)[4]`).MustAttribute("value")
+		if ncFlag && kjzcfz[10].NcyeQy != common.StrToFloat(ncyeZc4) {
+			panic(taxerr.NewUserV3(`年初余额流动负债合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[10].NcyeQy)+`,税局为:`+ncyeZc4, "请核实后重试"))
+		}
+		//非流动负债合计校验
+		ncyeZc5 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[16].ncyeQy"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc5 = strings.ReplaceAll(ncyeZc5, ",", "")
+		//ncyeZc5 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"非流动负债合计")]/..//input)[4]`).MustAttribute("value")
+		if ncFlag && kjzcfz[16].NcyeQy != common.StrToFloat(ncyeZc5) {
+			panic(taxerr.NewUserV3(`年初余额非流动负债合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[16].NcyeQy)+`,税局为:`+ncyeZc5, "请核实后重试"))
+		}
+		//负债合计校验
+		ncyeZc6 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[17].ncyeQy"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc6 = strings.ReplaceAll(ncyeZc6, ",", "")
+		//ncyeZc6 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"负债合计")]/..//input)[4]`).MustAttribute("value")
+		if ncFlag && kjzcfz[17].NcyeQy != common.StrToFloat(ncyeZc6) {
+			panic(taxerr.NewUserV3(`年初余额负债合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[17].NcyeQy)+`,税局为:`+ncyeZc6, "请核实后重试"))
+		}
+		//所有者权益(或股东权益)合计校验
+		ncyeZc7 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[29].ncyeQy"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc7 = strings.ReplaceAll(ncyeZc7, ",", "")
+		//ncyeZc7 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"所有者权益(或股东权益)合计")]/..//input)[4]`).MustAttribute("value")
+		if ncFlag && kjzcfz[29].NcyeQy != common.StrToFloat(ncyeZc7) {
+			panic(taxerr.NewUserV3(`年初余额所有者权益(或股东权益)合计与系统不一致,系统为:`+common.FloatToStr(kjzcfz[29].NcyeQy)+`,税局为:`+ncyeZc7, "请核实后重试"))
+		}
+		////负债和所有者权益(或股东权益)总计
+		//common.Input(newp, `#\30 01G30`, common.FloatToStr(kjzcfz[30].QmyeQy))
+		//common.Input(newp, `#\30 01H30`, common.FloatToStr(kjzcfz[30].NcyeQy))
+		//负债和所有者权益(或股东权益)总计校验
+		ncyeZc8 := newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().
+			MustEval(`()=>{return document.evaluate('//input[@ng-model="syxqyzcfzbGrid.xqyzcfzbGridlb[30].ncyeQy"]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue.value}`).Str()
+		ncyeZc8 = strings.ReplaceAll(ncyeZc8, ",", "")
+		//ncyeZc8 := *newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(),"所有者权益(或股东权益)合计")]/..//input)[4]`).MustAttribute("value")
+		if kjzcfz[30].NcyeQy != common.StrToFloat(ncyeZc8) {
+			panic(taxerr.NewUserV3(`年初余额负债和所有者权益(或股东权益)总计校验与系统不一致,系统为:`+common.FloatToStr(kjzcfz[30].NcyeQy)+`,税局为:`+ncyeZc8, "请核实后重试"))
+		}
+		//利润表
+		rr := newp1.MustWaitRequestIdle()
+		newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#divSheetlist > li:nth-child(2) > a`).MustClick() //点击利润表
+		rr()
+		lrb := WaitElementXZcFz(newp1, "//h1[contains(text(),'利润表')]", 1).MustText()
+		if len(lrb) == 0 {
+			panic(taxerr.NewUserV3("税局卡顿资产负债表加载异常", "请稍后重试"))
+		}
+		utils.Sleep(3)
+		//营业收入
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"营业收入")]/..//input)[2]`, common.FloatToStr(kjlrb[0].PeriodTotal))
+		utils.Sleep(0.5)
+		//减:营业成本
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:营业成本")]/..//input)[2]`, common.FloatToStr(kjlrb[1].PeriodTotal))
+		utils.Sleep(0.5)
+		//税金及附加
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"税金及附加")]/..//input)[2]`, common.FloatToStr(kjlrb[2].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:消费税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:消费税")]/..//input)[2]`, common.FloatToStr(kjlrb[3].PeriodTotal))
+		utils.Sleep(0.5)
+		//营业税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"营业税")]/..//input)[2]`, common.FloatToStr(kjlrb[4].PeriodTotal))
+		utils.Sleep(0.5)
+		//城市维护建设税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"城市维护建设税")]/..//input)[2]`, common.FloatToStr(kjlrb[5].PeriodTotal))
+		utils.Sleep(0.5)
+		//资源税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"资源税")]/..//input)[2]`, common.FloatToStr(kjlrb[6].PeriodTotal))
+		utils.Sleep(0.5)
+		//土地增值税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"土地增值税")]/..//input)[2]`, common.FloatToStr(kjlrb[7].PeriodTotal))
+		utils.Sleep(0.5)
+		// 城镇土地使用税、房产税、车船税、印花税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"城镇土地使用税、房产税、车船税、印花税")]/..//input)[2]`, common.FloatToStr(kjlrb[8].PeriodTotal))
+		utils.Sleep(0.5)
+		//教育费附加、矿产资源补偿费、排污费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"教育费附加、矿产资源补偿费、排污费")]/..//input)[2]`, common.FloatToStr(kjlrb[9].PeriodTotal))
+		utils.Sleep(0.5)
+		//销售费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"销售费用")]/..//input)[2]`, common.FloatToStr(kjlrb[10].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:商品维修费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:商品维修费")]/..//input)[2]`, common.FloatToStr(kjlrb[11].PeriodTotal))
+		utils.Sleep(0.5)
+		//广告费和业务宣传费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"广告费和业务宣传费")]/..//input)[2]`, common.FloatToStr(kjlrb[12].PeriodTotal))
+		utils.Sleep(0.5)
+		//管理费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"管理费用")]/..//input)[2]`, common.FloatToStr(kjlrb[13].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:开办费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:开办费")]/..//input)[2]`, common.FloatToStr(kjlrb[14].PeriodTotal))
+		utils.Sleep(0.5)
+		//业务招待费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"业务招待费")]/..//input)[2]`, common.FloatToStr(kjlrb[15].PeriodTotal))
+		utils.Sleep(0.5)
+		//研究费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"研究费用")]/..//input)[2]`, common.FloatToStr(kjlrb[16].PeriodTotal))
+		utils.Sleep(0.5)
+		//财务费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"财务费用")]/..//input)[2]`, common.FloatToStr(kjlrb[17].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:利息费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:利息费用(收入以-号填列)")]/..//input)[2]`, common.FloatToStr(kjlrb[18].PeriodTotal))
+		utils.Sleep(0.5)
+		//加:投资收益
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"加:投资收益(损失以-号填列)")]/..//input)[2]`, common.FloatToStr(kjlrb[19].PeriodTotal))
+		utils.Sleep(0.5)
+		//加:营业外收入
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"加:营业外收入")]/..//input)[2]`, common.FloatToStr(kjlrb[21].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:政府补助
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:政府补助")]/..//input)[2]`, common.FloatToStr(kjlrb[22].PeriodTotal))
+		utils.Sleep(0.5)
+		//减:营业外支出
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:营业外支出")]/..//input)[2]`, common.FloatToStr(kjlrb[23].PeriodTotal))
+		utils.Sleep(0.5)
+		//其中:坏账损失//
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:坏账损失")]/..//input)[2]`, common.FloatToStr(kjlrb[24].PeriodTotal))
+		utils.Sleep(0.5)
+		//无法收回的长期债券投资损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无法收回的长期债券投资损失")]/..//input)[2]`, common.FloatToStr(kjlrb[25].PeriodTotal))
+		utils.Sleep(0.5)
+		//无法收回的长期股权投资损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无法收回的长期股权投资损失")]/..//input)[2]`, common.FloatToStr(kjlrb[26].PeriodTotal))
+		utils.Sleep(0.5)
+		//自然灾害等不可抗力因素造成的损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"自然灾害等不可抗力因素造成的损失")]/..//input)[2]`, common.FloatToStr(kjlrb[27].PeriodTotal))
+		utils.Sleep(0.5)
+		//税收滞纳金
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"税收滞纳金")]/..//input)[2]`, common.FloatToStr(kjlrb[28].PeriodTotal))
+		utils.Sleep(0.5)
+		//   减:所得税费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:所得税费用")]/..//input)[2]`, common.FloatToStr(kjlrb[30].PeriodTotal))
+		utils.Sleep(3)
+
+		//本年数
+		//营业收入
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"营业收入")]/..//input)[1]`, common.FloatToStr(kjlrb[0].YearTotal))
+		utils.Sleep(0.5)
+		//减:营业成本
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:营业成本")]/..//input)[1]`, common.FloatToStr(kjlrb[1].YearTotal))
+		utils.Sleep(0.5)
+		//税金及附加
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"税金及附加")]/..//input)[1]`, common.FloatToStr(kjlrb[2].YearTotal))
+		utils.Sleep(0.5)
+		//其中:消费税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:消费税")]/..//input)[1]`, common.FloatToStr(kjlrb[3].YearTotal))
+		utils.Sleep(0.5)
+		//营业税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"营业税")]/..//input)[1]`, common.FloatToStr(kjlrb[4].YearTotal))
+		utils.Sleep(0.5)
+		//城市维护建设税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"城市维护建设税")]/..//input)[1]`, common.FloatToStr(kjlrb[5].YearTotal))
+		utils.Sleep(0.5)
+		//资源税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"资源税")]/..//input)[1]`, common.FloatToStr(kjlrb[6].YearTotal))
+		utils.Sleep(0.5)
+		//土地增值税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"土地增值税")]/..//input)[1]`, common.FloatToStr(kjlrb[7].YearTotal))
+		utils.Sleep(0.5)
+		// 城镇土地使用税、房产税、车船税、印花税
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"城镇土地使用税、房产税、车船税、印花税")]/..//input)[1]`, common.FloatToStr(kjlrb[8].YearTotal))
+		utils.Sleep(0.5)
+		//教育费附加、矿产资源补偿费、排污费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"教育费附加、矿产资源补偿费、排污费")]/..//input)[1]`, common.FloatToStr(kjlrb[9].YearTotal))
+		utils.Sleep(0.5)
+		//销售费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"销售费用")]/..//input)[1]`, common.FloatToStr(kjlrb[10].YearTotal))
+		utils.Sleep(0.5)
+		//其中:商品维修费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:商品维修费")]/..//input)[1]`, common.FloatToStr(kjlrb[11].YearTotal))
+		utils.Sleep(0.5)
+		//广告费和业务宣传费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"广告费和业务宣传费")]/..//input)[1]`, common.FloatToStr(kjlrb[12].YearTotal))
+		utils.Sleep(0.5)
+		//管理费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"管理费用")]/..//input)[1]`, common.FloatToStr(kjlrb[13].YearTotal))
+		utils.Sleep(0.5)
+		//其中:开办费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:开办费")]/..//input)[1]`, common.FloatToStr(kjlrb[14].YearTotal))
+		utils.Sleep(0.5)
+		//业务招待费
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"业务招待费")]/..//input)[1]`, common.FloatToStr(kjlrb[15].YearTotal))
+		utils.Sleep(0.5)
+		//研究费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"研究费用")]/..//input)[1]`, common.FloatToStr(kjlrb[16].YearTotal))
+		utils.Sleep(0.5)
+		//财务费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"财务费用")]/..//input)[1]`, common.FloatToStr(kjlrb[17].YearTotal))
+		utils.Sleep(0.5)
+		//其中:利息费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:利息费用(收入以-号填列)")]/..//input)[1]`, common.FloatToStr(kjlrb[18].YearTotal))
+		utils.Sleep(0.5)
+		//加:投资收益
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"加:投资收益(损失以-号填列)")]/..//input)[1]`, common.FloatToStr(kjlrb[19].YearTotal))
+		utils.Sleep(0.5)
+		//加:营业外收入
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"加:营业外收入")]/..//input)[1]`, common.FloatToStr(kjlrb[21].YearTotal))
+		utils.Sleep(0.5)
+		//其中:政府补助
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:政府补助")]/..//input)[1]`, common.FloatToStr(kjlrb[22].YearTotal))
+		utils.Sleep(0.5)
+		//减:营业外支出
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:营业外支出")]/..//input)[1]`, common.FloatToStr(kjlrb[23].YearTotal))
+		utils.Sleep(0.5)
+		//其中:坏账损失//
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"其中:坏账损失")]/..//input)[1]`, common.FloatToStr(kjlrb[24].YearTotal))
+		utils.Sleep(0.5)
+		//无法收回的长期债券投资损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无法收回的长期债券投资损失")]/..//input)[1]`, common.FloatToStr(kjlrb[25].YearTotal))
+		utils.Sleep(0.5)
+		//无法收回的长期股权投资损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"无法收回的长期股权投资损失")]/..//input)[1]`, common.FloatToStr(kjlrb[26].YearTotal))
+		utils.Sleep(0.5)
+		//自然灾害等不可抗力因素造成的损失
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"自然灾害等不可抗力因素造成的损失")]/..//input)[1]`, common.FloatToStr(kjlrb[27].YearTotal))
+		utils.Sleep(0.5)
+		//税收滞纳金
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"税收滞纳金")]/..//input)[1]`, common.FloatToStr(kjlrb[28].YearTotal))
+		utils.Sleep(0.5)
+		//   减:所得税费用
+		common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"减:所得税费用")]/..//input)[1]`, common.FloatToStr(kjlrb[30].YearTotal))
+		utils.Sleep(3)
+
+		v1 := strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"一、营业收入")]/..//input)[1]`).MustText(), ",", "")
+		v2 := strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"一、营业收入")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[0].YearTotal != common.StrToFloat(v1) || kjlrb[0].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("营业收入校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[0].YearTotal), common.FloatToStr(kjlrb[0].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:营业成本")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:营业成本")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[1].YearTotal != common.StrToFloat(v1) || kjlrb[1].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("减:营业成本校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[1].YearTotal), common.FloatToStr(kjlrb[1].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"税金及附加")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"税金及附加")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[2].YearTotal != common.StrToFloat(v1) || kjlrb[2].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("税金及附加校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[2].YearTotal), common.FloatToStr(kjlrb[2].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:消费税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:消费税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[3].YearTotal != common.StrToFloat(v1) || kjlrb[3].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:消费税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[3].YearTotal), common.FloatToStr(kjlrb[3].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"营业税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"营业税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[4].YearTotal != common.StrToFloat(v1) || kjlrb[4].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("营业税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[4].YearTotal), common.FloatToStr(kjlrb[4].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"城市维护建设税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"城市维护建设税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[5].YearTotal != common.StrToFloat(v1) || kjlrb[5].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("城市维护建设税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[5].YearTotal), common.FloatToStr(kjlrb[5].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"资源税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"资源税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[6].YearTotal != common.StrToFloat(v1) || kjlrb[6].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("资源税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[6].YearTotal), common.FloatToStr(kjlrb[6].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"土地增值税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"土地增值税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[7].YearTotal != common.StrToFloat(v1) || kjlrb[7].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("土地增值税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[7].YearTotal), common.FloatToStr(kjlrb[7].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"城镇土地使用税、房产税、车船税、印花税")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"城镇土地使用税、房产税、车船税、印花税")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[8].YearTotal != common.StrToFloat(v1) || kjlrb[8].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("城镇土地使用税、房产税、车船税、印花税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[8].YearTotal), common.FloatToStr(kjlrb[8].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"教育费附加、矿产资源补偿费、排污费")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"教育费附加、矿产资源补偿费、排污费")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[9].YearTotal != common.StrToFloat(v1) || kjlrb[9].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("城镇土地使用税、房产税、车船税、印花税校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[9].YearTotal), common.FloatToStr(kjlrb[9].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"销售费用")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"销售费用")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[10].YearTotal != common.StrToFloat(v1) || kjlrb[10].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("销售费用校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[10].YearTotal), common.FloatToStr(kjlrb[10].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:商品维修费")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:商品维修费")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[11].YearTotal != common.StrToFloat(v1) || kjlrb[11].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:商品维修费校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[11].YearTotal), common.FloatToStr(kjlrb[11].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"广告费和业务宣传费")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"广告费和业务宣传费")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[12].YearTotal != common.StrToFloat(v1) || kjlrb[12].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("广告费和业务宣传费校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[12].YearTotal), common.FloatToStr(kjlrb[12].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"管理费用")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"管理费用")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[13].YearTotal != common.StrToFloat(v1) || kjlrb[13].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("管理费用校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[13].YearTotal), common.FloatToStr(kjlrb[13].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:开办费")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:开办费")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[14].YearTotal != common.StrToFloat(v1) || kjlrb[14].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:开办费校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[14].YearTotal), common.FloatToStr(kjlrb[14].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"业务招待费")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"业务招待费")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[15].YearTotal != common.StrToFloat(v1) || kjlrb[15].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("业务招待费校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[15].YearTotal), common.FloatToStr(kjlrb[15].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"研究费用")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"研究费用")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[16].YearTotal != common.StrToFloat(v1) || kjlrb[16].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("研究费用校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[16].YearTotal), common.FloatToStr(kjlrb[16].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"财务费用")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"财务费用")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[17].YearTotal != common.StrToFloat(v1) || kjlrb[17].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("财务费用校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[17].YearTotal), common.FloatToStr(kjlrb[17].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:利息费用(收入以-号填列)")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:利息费用(收入以-号填列)")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[18].YearTotal != common.StrToFloat(v1) || kjlrb[18].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:利息费用(收入以-号填列)校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[18].YearTotal), common.FloatToStr(kjlrb[18].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"加:投资收益(损失以-号填列)")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"加:投资收益(损失以-号填列)")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[19].YearTotal != common.StrToFloat(v1) || kjlrb[19].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("加:投资收益(损失以-号填列)校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[19].YearTotal), common.FloatToStr(kjlrb[19].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"二、营业利润(亏损以-号填列)")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"二、营业利润(亏损以-号填列)")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[20].YearTotal != common.StrToFloat(v1) || kjlrb[20].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf(" 二、营业利润(亏损以-号填列)校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[20].YearTotal), common.FloatToStr(kjlrb[20].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"加:营业外收入")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"加:营业外收入")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[21].YearTotal != common.StrToFloat(v1) || kjlrb[21].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("加:营业外收入校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[21].YearTotal), common.FloatToStr(kjlrb[21].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:政府补助")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:政府补助")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[22].YearTotal != common.StrToFloat(v1) || kjlrb[22].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:政府补助校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[22].YearTotal), common.FloatToStr(kjlrb[22].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:营业外支出")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:营业外支出")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[23].YearTotal != common.StrToFloat(v1) || kjlrb[23].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("减:营业外支出校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[23].YearTotal), common.FloatToStr(kjlrb[23].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:坏账损失")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"其中:坏账损失")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[24].YearTotal != common.StrToFloat(v1) || kjlrb[24].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("其中:坏账损失校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[24].YearTotal), common.FloatToStr(kjlrb[24].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"无法收回的长期债券投资损失")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"无法收回的长期债券投资损失")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[25].YearTotal != common.StrToFloat(v1) || kjlrb[25].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("无法收回的长期债券投资损失校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[25].YearTotal), common.FloatToStr(kjlrb[25].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"无法收回的长期股权投资损失")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"无法收回的长期股权投资损失")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[26].YearTotal != common.StrToFloat(v1) || kjlrb[26].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("无法收回的长期股权投资损失校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[26].YearTotal), common.FloatToStr(kjlrb[26].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"自然灾害等不可抗力因素造成的损失")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"自然灾害等不可抗力因素造成的损失")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[27].YearTotal != common.StrToFloat(v1) || kjlrb[27].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("自然灾害等不可抗力因素造成的损失校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[27].YearTotal), common.FloatToStr(kjlrb[27].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"税收滞纳金")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"税收滞纳金")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[28].YearTotal != common.StrToFloat(v1) || kjlrb[28].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("税收滞纳金校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[28].YearTotal), common.FloatToStr(kjlrb[28].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"三、利润总额(亏损总额以-号填列)")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"三、利润总额(亏损总额以-号填列)")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[29].YearTotal != common.StrToFloat(v1) || kjlrb[29].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("三、利润总额(亏损总额以-号填列)校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[29].YearTotal), common.FloatToStr(kjlrb[29].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:所得税费用")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"减:所得税费用")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[30].YearTotal != common.StrToFloat(v1) || kjlrb[30].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf("减:所得税费用校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[30].YearTotal), common.FloatToStr(kjlrb[30].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		v1 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"四、净利润(净亏损以-号填列)")]/..//input)[1]`).MustText(), ",", "")
+		v2 = strings.ReplaceAll(MustElementX(newp1, `(//td[contains(text(),"四、净利润(净亏损以-号填列)")]/..//input)[2]`).MustText(), ",", "")
+		if kjlrb[31].YearTotal != common.StrToFloat(v1) || kjlrb[31].PeriodTotal != common.StrToFloat(v2) {
+			panic(taxerr.NewUserV3(fmt.Sprintf(" 四、净利润(净亏损以-号填列)校验与系统不一致,系统为:年:%s,本期:%s,税局为:年:%s,本期:%s", common.FloatToStr(kjlrb[31].YearTotal), common.FloatToStr(kjlrb[31].PeriodTotal), v1, v2), "请核实后重试"))
+		}
+		//点击现金流量表
+		if info.XjllbSb {
+			if len(kjxjllb) != 1 {
+				panic(taxerr.NewUserV3("现金流量表未取数", "请取数后重试"))
+			}
+			utils.Sleep(3)
+			if newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustHas(`#divSheetlist > li:nth-child(3) > a`) {
+				newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#divSheetlist > li:nth-child(3) > a`).MustClick() //点击现金流量表
+				//var kjxjllb []models.KjXjllb销售产成品、商品、提供劳务收到的现金
+				//销售产成品、商品、提供劳务收到的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"销售产成品、商品、提供劳务收到的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[0].PeriodTotal))
+				utils.Sleep(0.5)
+				//收到其他与经营活动有关的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"收到其他与经营活动有关的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[1].PeriodTotal))
+				utils.Sleep(0.5)
+				//购买原材料、商品、接受劳务支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"购买原材料、商品、接受劳务支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[2].PeriodTotal))
+				utils.Sleep(0.5)
+				//支付的职工薪酬
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"支付的职工薪酬")]/..//input)[2]`, common.FloatToStr(kjxjllb[3].PeriodTotal))
+				utils.Sleep(0.5)
+				//支付的税费
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"支付的税费")]/..//input)[2]`, common.FloatToStr(kjxjllb[4].PeriodTotal))
+				utils.Sleep(0.5)
+				//支付其他与经营活动有关的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"支付其他与经营活动有关的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[5].PeriodTotal))
+				utils.Sleep(0.5)
+				//收回短期投资、长期债券投资和长期股权投资收到的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"收回短期投资、长期债券投资和长期股权投资收到的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[7].PeriodTotal))
+				utils.Sleep(0.5)
+				//取得投资收益收到的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"取得投资收益收到的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[8].PeriodTotal))
+				utils.Sleep(0.5)
+				//处置固定资产、无形资产和其他非流动资产收回的现金净额
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"处置固定资产、无形资产和其他非流动资产收回的现金净额")]/..//input)[2]`, common.FloatToStr(kjxjllb[9].PeriodTotal))
+				utils.Sleep(0.5)
+				//短期投资、长期债券投资和长期股权投资支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"短期投资、长期债券投资和长期股权投资支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[10].PeriodTotal))
+				utils.Sleep(0.5)
+				//购建固定资产、无形资产和其他非流动资产支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"购建固定资产、无形资产和其他非流动资产支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[11].PeriodTotal))
+				utils.Sleep(0.5)
+				//取得借款收到的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"取得借款收到的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[13].PeriodTotal))
+				utils.Sleep(0.5)
+				//吸收投资者投资收到的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"吸收投资者投资收到的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[14].PeriodTotal))
+				utils.Sleep(0.5)
+				//偿还借款本金支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"偿还借款本金支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[15].PeriodTotal))
+				utils.Sleep(0.5)
+				//偿还借款利息支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"偿还借款利息支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[16].PeriodTotal))
+				utils.Sleep(0.5)
+				//分配利润支付的现金
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"分配利润支付的现金")]/..//input)[2]`, common.FloatToStr(kjxjllb[17].PeriodTotal))
+				utils.Sleep(0.5)
+				//加:期初现金余额
+				common.InputX(newp1.Timeout(common.ClickTimeOut).MustElement("#frmFrame").MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `(//td[contains(text(),"加:期初现金余额")]/..//input)[2]`, common.FloatToStr(kjxjllb[20].PeriodTotal))
+			} else {
+				panic("未生成现金流量表!")
+			}
+		}
+
+		//点击申报
+		utils.Sleep(3)
+		rr = newp1.MustWaitRequestIdle()
+		newp1.Timeout(common.ClickTimeOut).MustSearch(`提交申报`).MustClick()
+		rr()
+		utils.Sleep(3)
+		if newp1.MustHasX(`//div[@class="t-dialog__body t-dialog__body__icon"]`) {
+			text := newp1.MustElementX(`//div[@class="t-dialog__body t-dialog__body__icon"]`).MustText()
+			if strings.Contains(text, "不符") {
+				panic(taxerr.NewUserV3(text, "请核实后重试"))
+			}
+		}
+		if newp1.MustHasX(`//div[@class="drawer-body"]//p`) && newp1.MustElementX(`//div[@class="drawer-body"]//p`).MustVisible() {
+			text := newp1.MustElementX(`//div[@class="drawer-body"]//p`).MustText()
+			panic(taxerr.NewUserV3(text, "请核实后重试"))
+		}
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='真']`).MustClick()
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='真']`).MustInput("真")
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='实']`).MustClick()
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='实']`).MustInput("实")
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='责']`).MustClick()
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='责']`).MustInput("责")
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='任']`).MustClick()
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='任']`).MustInput("任")
+		utils.Sleep(3)
+		rr = newp1.MustWaitRequestIdle()
+		newp1.Timeout(common.ClickTimeOut).MustElementX(`//span[contains(text(),"确定")]`).MustClick()
+		rr()
+		//utils.Sleep(40)
+
+		text := newp1.Timeout(10 * common.ClickTimeOut).MustElementX(`//div[@class="gt-result-title"]`).MustText()
+		utils.Sleep(5)
+		path := SaveErrImg(newp1, info)
+		task.Result.BusinessImg = path
+		//task.Result.BusinessStatus = variable.TaxSuccess
+		task.Result.BusinessLog = text
+	})
+	if err != nil {
+		task.Result.BusinessStatus = variable.TaxFail
+		task.Result.BusinessLog = common.HandleError(ctx, err).Error()
+		return
+	}
+	return
+}

+ 448 - 0
common/TaxSb/qysds.go

@@ -0,0 +1,448 @@
+package TaxSb
+
+import (
+	"context"
+	"fmt"
+	"git.listensoft.net/tool/jspkit/common"
+	"git.listensoft.net/tool/jspkit/common/models"
+	"git.listensoft.net/tool/jspkit/common/models/sb"
+	"git.listensoft.net/tool/jspkit/common/variable"
+	"git.listensoft.net/tool/jspkit/taxerr"
+	"math"
+	"strings"
+	"time"
+
+	"github.com/go-rod/rod"
+	"github.com/go-rod/rod/lib/utils"
+)
+
+func SbQysds(ctx context.Context, newp *rod.Page, info models.CompanyInfo, task *models.TaxTask) {
+	var A200000 sb.GsTaxQuarter
+	if ok := common.GetData(variable.GsTaxQuarter, task.Data, &A200000); !ok {
+		panic(taxerr.QysdsEmpty)
+	}
+	a7 := []sb.GsTaxQuarterFb1{}
+	if ok := common.GetData(variable.GsTaxQuarterFb1, task.Data, &a7); !ok {
+		panic(taxerr.QysdsFb1Empty)
+	}
+	a8 := []sb.GsTaxQuarterFb2{}
+	if ok := common.GetData(variable.GsTaxQuarterFb2, task.Data, &a8); !ok {
+		panic(taxerr.QysdsFb2Empty)
+	}
+	a13 := []sb.GsTaxQuarterFb3{}
+	if ok := common.GetData(variable.GsTaxQuarterFb3, task.Data, &a13); !ok {
+		panic(taxerr.QysdsFb3Empty)
+	}
+	err := rod.Try(func() {
+		//是否简易模式
+		if newp.Timeout(common.ClickTimeOut).MustHas(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__header > div`) {
+			newp.Timeout(common.ClickTimeOut).MustElement(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__footer > div > button.t-button.t-button--variant-base.t-button--theme-default`).MustClick()
+		}
+		utils.Sleep(3)
+		//span[contains(text(), "继续办理")]
+		if newp.Timeout(common.ClickTimeOut).MustHasX(`//span[contains(text(), "继续办理")]`) {
+			newp.Timeout(common.ClickTimeOut).MustElementX(`//span[contains(text(), "继续办理")]`).MustClick()
+		}
+		if newp.MustHasX(`//span[contains(text(), "您本属期已申报")]`) {
+			task.Result.BusinessStatus = variable.TaxSuccess
+			task.Result.BusinessImg = SaveErrImg(newp, info)
+			return
+		}
+		if newp.MustHasR(`body > section > section > section > main > div > div > div > div.gov-inspect > div.gov-inspect-header > div.gov-inspect-header__status-text`, "检测不通过") {
+			errMsg := newp.Timeout(common.ClickTimeOut).MustElement(`body > section > section > section > main > div > div > div > div.gov-inspect > div.gov-inspect-table > div > div > div > div > span.gov-inspect-item__text > span`).MustText()
+			task.Result.BusinessStatus = variable.TaxFail
+			task.Result.BusinessImg = SaveErrImg(newp, info)
+			panic(taxerr.NewUserV3(errMsg, "请核实后重试"))
+		}
+		//检测不通过 返回首页
+		if newp.Timeout(common.ClickTimeOut).MustHasX(`//span[contains(text(), "返回首页")]`) {
+			task.Result.BusinessStatus = variable.TaxFail
+			task.Result.BusinessLog = "检测不通过"
+			task.Result.BusinessImg = SaveErrImg(newp, info)
+			return
+		}
+		utils.Sleep(1)
+		//您符合简易申报条件,是否确定简易申报?
+		if newp.Timeout(common.ClickTimeOut).MustHas(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__header > div`) {
+			newp.Timeout(common.ClickTimeOut).MustElement(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__footer > div > button`).MustClick()
+		}
+		utils.Sleep(5)
+
+		if newp.Timeout(common.ClickTimeOut).MustHasR(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__body.t-dialog__body--icon`, "您符合简易申报条件,是否确定简易申报?") {
+			//取消
+			newp.Timeout(common.ClickTimeOut).MustSearch(`取消`).MustClick()
+			utils.Sleep(3)
+		}
+
+		if newp.Timeout(common.ClickTimeOut).MustHas(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__header > div`) {
+			newp.Timeout(common.ClickTimeOut).MustElement(`body > div.t-dialog__ctx.t-dialog__ctx--fixed > div.t-dialog__wrap > div > div > div.t-dialog__footer > div > button.t-button.t-button--variant-base.t-button--theme-default`).MustClick() //取消
+		}
+		qysdsDeclareDo(ctx, newp, info, A200000, a7, a8, a13, task)
+	})
+	if err != nil {
+		task.Result.BusinessStatus = variable.TaxFail
+		task.Result.BusinessLog = common.HandleError(ctx, err).Error()
+		return
+	}
+}
+
+func qysdsDeclareDo(ctx context.Context, newp *rod.Page, info models.CompanyInfo, A200000 sb.GsTaxQuarter, a7 []sb.GsTaxQuarterFb1, a8 []sb.GsTaxQuarterFb2, a13 []sb.GsTaxQuarterFb3, task *models.TaxTask) {
+	err := rod.Try(func() {
+		curperiodFl := common.StrToFloat(info.Period[4:])
+		//判断当前第几季度   按季度填报信息
+		jd := 0
+		i := 0
+		var jccyrs string //季初从业人数
+		var jmcyrs string //季末从业人数
+		var jczcze string //季初资产总额
+		var jmzcze string //季末资产总额
+		err2 := checkQysds20000(newp, A200000, curperiodFl)
+		if err2 != nil {
+			return
+		}
+
+		if math.Ceil(curperiodFl/3) == 1 {
+			jd = 1
+			i = 1
+			jccyrs = A200000.Qccyrs1
+			jmcyrs = A200000.Qmcyrs1
+			jczcze = A200000.Qczcze1
+			jmzcze = A200000.Qmzcze1
+		}
+		if math.Ceil(curperiodFl/3) == 2 {
+			jd = 2
+			i = 3
+			jccyrs = A200000.Qccyrs2
+			jmcyrs = A200000.Qmcyrs2
+			jczcze = A200000.Qczcze2
+			jmzcze = A200000.Qmzcze2
+		}
+		if math.Ceil(curperiodFl/3) == 3 {
+			jd = 3
+			i = 5
+			jccyrs = A200000.Qccyrs3
+			jmcyrs = A200000.Qmcyrs3
+			jczcze = A200000.Qczcze3
+			jmzcze = A200000.Qmzcze3
+		}
+		if math.Ceil(curperiodFl/3) == 4 {
+			jd = 4
+			i = 7
+			jccyrs = A200000.Qccyrs4
+			jmcyrs = A200000.Qmcyrs4
+			jczcze = A200000.Qczcze4
+			jmzcze = A200000.Qmzcze4
+		}
+		fmt.Println(jd)
+		var arr []string
+		if common.StrToFloat(jczcze) <= 0 {
+			arr = append(arr, `季初资产总额必须大于0`)
+		}
+		if common.StrToFloat(jmzcze) <= 0 {
+			arr = append(arr, `季末资产总额必须大于0`)
+		}
+		if common.StrToFloat(jccyrs) <= 0 {
+			arr = append(arr, `季初从业人数必须大于0`)
+		}
+		if common.StrToFloat(jmcyrs) <= 0 {
+			arr = append(arr, `季末从业人数必须大于0`)
+		}
+		if len(arr) != 0 {
+			panic(taxerr.NewUserV3(strings.Join(arr, `;`), "请核实后重试"))
+		}
+		//
+		common.Input(newp, `(//td[contains(text(), "从业人数")]/..//input)[`+common.IntToStr(i)+`]`, jccyrs)
+		common.Input(newp, `(//td[contains(text(), "从业人数")]/..//input)[`+common.IntToStr(i+1)+`]`, jmcyrs)
+
+		common.Input(newp, `(//td[contains(text(), "资产总额(万元)")]/..//input)[`+common.IntToStr(i)+`]`, jczcze)
+		common.Input(newp, `(//td[contains(text(), "资产总额(万元)")]/..//input)[`+common.IntToStr(i+1)+`]`, jmzcze)
+		//失去焦距后后会有弹窗
+		newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`//td[contains(text(), "从业人数")]`).MustClick()
+		utils.Sleep(1)
+		if common.MustHas(newp, `//div[text()="您申报的资产总额同资产负债表数据不一致,请确认填报的单位是否为万元,数据填报是否准确。"]`) {
+			common.MustElementX(newp, `//div[text()="您申报的资产总额同资产负债表数据不一致,请确认填报的单位是否为万元,数据填报是否准确。"]/..//button/span`).MustClick()
+			utils.Sleep(2)
+		}
+		//资产总额填报单位是万元,币种为人民币。请您确认填写的是否正确
+		if newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustHas(`div[class="layui-layer-title"]`) {
+			//
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`a[class="layui-layer-btn0"]`).MustClick()
+		}
+
+		if A200000.Xzhy == 1 { //1是0否  是否限制行业
+			wait1 := newp.MustWaitRequestIdle()
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElement(`#viewCtrlId > div:nth-child(8) > table:nth-child(2) > tbody > tr:nth-child(6) > td.edit.left > label:nth-child(1) > input`).MustClick()
+			wait1()
+			if newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustHasR(`#layui-layer2 > div.layui-layer-btn.layui-layer-btn- > a.layui-layer-btn0`, "确定") {
+				newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#layui-layer2 > div.layui-layer-btn.layui-layer-btn- > a.layui-layer-btn0`).MustClick()
+			}
+		}
+
+		common.Input(newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//td[contains(text(), "营业收入")]/..//input`, A200000.Yysr)
+		common.Input(newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//td[contains(text(), "营业成本")]/..//input`, A200000.Yycb)
+		common.Input(newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//td[contains(text(), "利润总额")]/..//input`, A200000.Lrze)
+		common.Input(newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//td[contains(text(), "加:特定业务计算的应纳税所得额")]/..//input`, A200000.Tdywjsdynssde)
+		common.Input(newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame(), `//td[contains(text(), "减:不征税收入")]/..//input`, A200000.Bzssr)
+
+		//a7
+		var g int
+		for _, v1 := range a7 {
+			if v1.Status == 1 {
+				g = 1
+				break
+			}
+		}
+
+		if g == 1 {
+			wait3 := newp.MustWaitRequestIdle()
+			//填写优惠事项
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//a[contains(text(), "减:免税收入、减计收入、加计扣除")]/..//a)[2]`).MustClick()
+			wait3()
+			for kk := range a7 {
+				if a7[kk].Code != "" {
+					if has, el, _ := newp.HasX(fmt.Sprintf("(//td[contains(text(),'%s')]/../td/input)[2]", a7[kk].Code)); has {
+						inputStr(el, a7[kk].Amount)
+					}
+				}
+			} //确认 保存
+			MustElementX(newp, `//a[contains(text(),"确定")]`).MustClick()
+		}
+		//a8
+		g1 := false
+		for _, vv := range a8 {
+			if vv.Status == 1 {
+				g1 = true
+				break
+			}
+		}
+		//g1 = true
+		if g1 {
+			wait5 := newp.MustWaitRequestIdle()
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//a[contains(text(), "减:所得减免")]/..//a)[2]`).MustClick()
+			wait5()
+			for kk := range a8 {
+				if a8[kk].Code != "" {
+					if has, el, _ := newp.HasX(fmt.Sprintf("(//td[contains(text(),'%s')]/..//input)[2]", a8[kk].Code)); has {
+						inputStr(el, a8[kk].Amount)
+					}
+				}
+			}
+			//确认 保存
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`//a[contains(text(),"确定")]`).MustClick()
+		}
+		//数据对比 //弥补以前年度亏损
+		sjmbyqndks := newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`//td[contains(text(), "减:弥补以前年度亏损")]/..//input`).MustText()
+		if common.StrToFloat(sjmbyqndks) != common.StrToFloat(A200000.Mbyqndks) { //弥补以前年度亏损
+			panic(taxerr.NewUserV3(`弥补以前年度亏损税局为`+sjmbyqndks, "请核实后重试"))
+		}
+		//第10行大于0 再填写13行优惠事项
+		mustText10 := newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//td[contains(text(), "实际利润额")]/..//input)[1]`).MustText()
+		if common.StrToFloat(mustText10) > 0 {
+			//填写优惠事项
+			wait13 := newp.MustWaitRequestIdle()
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`(//a[contains(text(), "减:减免所得税额")]/..//a)[2]`).MustClick()
+			utils.Sleep(1)
+			wait13()
+			for kk := range a13 {
+				if common.StrToFloat(a13[kk].Amount) > 0 && a13[kk].Code == "JMSE99999" { //只有其他能填
+					if has, el, _ := newp.HasX(`(//td[contains(text(), "JMSE99999")]/..//input)[2]`); has {
+						inputStr(el, a13[kk].Amount)
+					}
+					//newp.MustElementX("(//td[contains(text()," + a13[kk].Code + ")]/..//input)[2]").MustInput(a13[kk].Amount)
+				}
+			}
+			// 保存
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`#frmSheet`).MustFrame().MustElementX(`//a[contains(text(),"确定")]`).MustClick()
+		}
+
+		//报表列表
+		if newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustHas(`body > div.TableMain > table > tbody > tr > td.biao_leftmenu > div > table > tbody > tr > td.dropdownBtn > span > i`) {
+			newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`body > div.TableMain > table > tbody > tr > td.biao_leftmenu > div > table > tbody > tr > td.dropdownBtn > span > i`).MustClick()
+		}
+		utils.Sleep(1)
+		//点击
+		newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElementX(`//a[@title="《A201020固定资产加速折旧(扣除)优惠明细表》"]`).MustClick()
+		utils.Sleep(2)
+		//提交申报
+		newp.Timeout(common.ClickTimeOut).MustElement(`#page-content > div > section > main > div > div > div > div.gt-layout-footerbar > div > div > div > div > div > div.fxgt-wrap-submitfooter-right > div > div:nth-child(2) > button > span`).MustClick()
+		//如果有错误
+		if newp.MustHas(`body > section > section > section > main > div > div > div > div > div.gt-layout-footerbar > div > div.gov-validate-dialog > div > div.gov-validate-dialog-content > ul > li > span`) {
+			text := newp.MustElement(`body > section > section > section > main > div > div > div > div > div.gt-layout-footerbar > div > div.gov-validate-dialog > div > div.gov-validate-dialog-content > ul > li > span`).MustText()
+			panic(taxerr.NewUserV3(text, "请核实后重试"))
+		}
+
+		if newp.MustHasX(`//div[@class="t-dialog__body t-dialog__body__icon"]`) {
+			text := newp.MustElementX(`//div[@class="t-dialog__body t-dialog__body__icon"]`).MustText()
+			if strings.Contains(text, "不符") {
+				panic(taxerr.NewUserV3(text, "请核实后重试"))
+			}
+		}
+		if newp.MustHasX(`//div[@class="drawer-body"]//li`) && newp.MustElementX(`//div[@class="drawer-body"]//li`).MustVisible() {
+			elementsX := newp.MustElementsX(`//div[@class="drawer-body"]//li`)
+			text := ""
+			for _, e := range elementsX {
+				text += e.MustElement(`p`).MustText()
+			}
+			panic(taxerr.NewUserV3(text, "请核实后重试"))
+		}
+		utils.Sleep(3)
+		if newp.MustHasX(`//span[text()="核实无误,提交申报"]`) {
+			MustElementX(newp, `//span[text()="核实无误,提交申报"]`).MustClick()
+		}
+		//确认 提交申报
+		//if newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustHas(`//div[text()="提示"]`) {
+		//}
+		MustElementX(newp, `//a[contains(text(),"提交申报")]`).MustClick()
+		//newp.Timeout(common.ClickTimeOut).MustElement(`#frmFrame`).MustFrame().MustElement(`#frmMain`).MustFrame().MustElement(`//a[contains(text(),"提交申报")]`).MustClick()
+		utils.Sleep(3)
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='真']`).MustClick()
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='真']`).MustInput("真")
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='实']`).MustClick()
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='实']`).MustInput("实")
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='责']`).MustClick()
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='责']`).MustInput("责")
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='任']`).MustClick()
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//input[@placeholder='任']`).MustInput("任")
+
+		newp.Timeout(common.ClickTimeOut).MustElementX(`//span[contains(text(),"确定")]`).MustClick()
+
+		text := newp.Timeout(10 * common.ClickTimeOut).MustElementX(`//div[@class="gt-result-title"]`).MustText()
+
+		path := SaveErrImg(newp, info)
+		task.Result.BusinessImg = path
+		task.Result.BusinessLog = text
+	})
+	if err != nil {
+		task.Result.BusinessStatus = variable.TaxFail
+		task.Result.BusinessLog = common.HandleError(ctx, err).Error()
+		return
+	}
+}
+
+func checkQysds20000(page *rod.Page, A200000 sb.GsTaxQuarter, curperiodFl float64) error {
+	jd := math.Ceil(curperiodFl / 3)
+	errMsg := ""
+	for i := 0; i < 5; i++ {
+		x := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[1]`)
+		readonly := x.MustAttribute("readonly")
+		if readonly == nil && x.MustText() == "" {
+			time.Sleep(5 * time.Second)
+		} else {
+			break
+		}
+	}
+	if jd > 1 && MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[1]`).MustAttribute("readonly") == nil {
+		jccyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[1]`).MustText()
+		if common.StrToFloat(jccyrs) != common.StrToFloat(A200000.Qccyrs1) {
+			errMsg += fmt.Sprintf("一季度季初从业人数[%s]与系统[%s]不符 , ", jccyrs, A200000.Qccyrs1)
+		}
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[2]`).MustText()
+		if common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qmcyrs1) {
+			errMsg += fmt.Sprintf("一季度季末从业人数[%s]与系统[%s]不符 , ", jmcyrs, A200000.Qmcyrs1)
+		}
+
+		jczcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[1]`).MustText()
+		if common.StrToFloat(jczcze) != common.StrToFloat(A200000.Qczcze1) {
+			errMsg += fmt.Sprintf("一季度季初资产总额(万元)[%s]与系统[%s]不符 , ", jczcze, A200000.Qczcze1)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[2]`).MustText()
+		if common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qmzcze1) {
+			errMsg += fmt.Sprintf("一季度季末资产总额(万元)[%s]与系统[%s]不符 , ", jmzcze, A200000.Qmzcze1)
+		}
+	}
+
+	if jd == 2 {
+		jccyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[3]`).MustText()
+		if common.StrToInt(jccyrs) != 0 && common.StrToFloat(jccyrs) != common.StrToFloat(A200000.Qccyrs2) {
+			errMsg += fmt.Sprintf("一季度季末从业人数[%s]与系统二季度季初从业人数[%s]不符 , ", jccyrs, A200000.Qccyrs2)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[2]`).MustText()
+		if common.StrToInt(jmzcze) != 0 && common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qczcze2) {
+			errMsg += fmt.Sprintf("一季度季末资产总额(万元)[%s]与系统二季度季初资产总额(万元)[%s]不符 , ", jmzcze, A200000.Qczcze2)
+		}
+	}
+
+	if jd > 2 && MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[3]`).MustAttribute("readonly") == nil {
+		jccyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[3]`).MustText()
+		if common.StrToFloat(jccyrs) != common.StrToFloat(A200000.Qccyrs2) {
+			errMsg += fmt.Sprintf("二季度季初从业人数[%s]与系统[%s]不符 , ", jccyrs, A200000.Qccyrs2)
+		}
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[4]`).MustText()
+		if common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qmcyrs2) {
+			errMsg += fmt.Sprintf("二季度季末从业人数[%s]与系统[%s]不符 , ", jmcyrs, A200000.Qmcyrs2)
+		}
+
+		jczcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[3]`).MustText()
+		if common.StrToFloat(jczcze) != common.StrToFloat(A200000.Qczcze2) {
+			errMsg += fmt.Sprintf("二季度季初资产总额(万元)[%s]与系统[%s]不符 , ", jczcze, A200000.Qczcze2)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[4]`).MustText()
+		if common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qmzcze2) {
+			errMsg += fmt.Sprintf("二季度季末资产总额(万元)[%s]与系统[%s]不符 , ", jmzcze, A200000.Qmzcze2)
+		}
+	}
+
+	if jd == 3 {
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[4]`).MustText()
+		if common.StrToInt(jmcyrs) != 0 && common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qccyrs3) {
+			errMsg += fmt.Sprintf("二季度季末从业人数[%s]与系统三季度季初从业人数[%s]不符 , ", jmcyrs, A200000.Qccyrs3)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[4]`).MustText()
+		if common.StrToInt(jmzcze) != 0 && common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qczcze3) {
+			errMsg += fmt.Sprintf("二季度季末资产总额(万元)[%s]与系统三季度季初资产总额(万元)[%s]不符 , ", jmzcze, A200000.Qczcze3)
+		}
+	}
+	if jd > 3 && MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[5]`).MustAttribute("readonly") == nil {
+		jccyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[5]`).MustText()
+		if common.StrToFloat(jccyrs) != common.StrToFloat(A200000.Qccyrs3) {
+			errMsg += fmt.Sprintf("三季度季初从业人数[%s]与系统[%s]不符 , ", jccyrs, A200000.Qccyrs3)
+		}
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[6]`).MustText()
+		if common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qmcyrs3) {
+			errMsg += fmt.Sprintf("三季度季末从业人数[%s]与系统[%s]不符 , ", jmcyrs, A200000.Qmcyrs3)
+		}
+
+		jczcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[5]`).MustText()
+		if common.StrToFloat(jczcze) != common.StrToFloat(A200000.Qczcze3) {
+			errMsg += fmt.Sprintf("三季度季初资产总额(万元)[%s]与系统[%s]不符 , ", jczcze, A200000.Qczcze3)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[6]`).MustText()
+		if common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qmzcze3) {
+			errMsg += fmt.Sprintf("三季度季末资产总额(万元)[%s]与系统[%s]不符 , ", jmzcze, A200000.Qmzcze3)
+		}
+	}
+
+	if jd == 4 {
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[6]`).MustText()
+		if common.StrToInt(jmcyrs) != 0 && common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qccyrs4) {
+			errMsg += fmt.Sprintf("三季度季末从业人数[%s]与系统四季度季初从业人数[%s]不符 , ", jmcyrs, A200000.Qccyrs4)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[6]`).MustText()
+		if common.StrToInt(jmzcze) != 0 && common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qczcze4) {
+			errMsg += fmt.Sprintf("三季度季末资产总额(万元)[%s]与系统四季度季初资产总额(万元)[%s]不符 , ", jmzcze, A200000.Qczcze4)
+		}
+	}
+	if jd > 4 {
+		jccyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[7]`).MustText()
+		if common.StrToFloat(jccyrs) != common.StrToFloat(A200000.Qccyrs4) {
+			errMsg += fmt.Sprintf("四季度季初从业人数[%s]与系统[%s]不符 , ", jccyrs, A200000.Qccyrs4)
+		}
+		jmcyrs := MustElementX(page, `(//td[contains(text(), "从业人数")]/..//input)[8]`).MustText()
+		if common.StrToFloat(jmcyrs) != common.StrToFloat(A200000.Qmcyrs4) {
+			errMsg += fmt.Sprintf("四季度季末从业人数[%s]与系统[%s]不符 , ", jmcyrs, A200000.Qmcyrs4)
+		}
+
+		jczcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[7]`).MustText()
+		if common.StrToFloat(jczcze) != common.StrToFloat(A200000.Qczcze4) {
+			errMsg += fmt.Sprintf("四季度季初资产总额(万元)[%s]与系统[%s]不符 , ", jczcze, A200000.Qczcze4)
+		}
+		jmzcze := MustElementX(page, `(//td[contains(text(), "资产总额(万元)")]/..//input)[8]`).MustText()
+		if common.StrToFloat(jmzcze) != common.StrToFloat(A200000.Qmzcze4) {
+			errMsg += fmt.Sprintf("四季度季末资产总额(万元)[%s]与系统[%s]不符 , ", jmzcze, A200000.Qmzcze4)
+		}
+	}
+	if errMsg != "" {
+		return taxerr.NewUserV3("季报数据不一致: "+errMsg, "请核实后重试")
+	}
+	return nil
+}