info.go 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. package task
  2. import (
  3. "fmt"
  4. "git.listensoft.net/tool/jspkit/common"
  5. "git.listensoft.net/tool/jspkit/common/models"
  6. "git.listensoft.net/tool/jspkit/common/variable"
  7. "git.listensoft.net/tool/jspkit/logger"
  8. "git.listensoft.net/tool/jspkit/taxerr"
  9. "github.com/go-rod/rod"
  10. "github.com/tidwall/gjson"
  11. "regexp"
  12. "strings"
  13. )
  14. func GetEacComInfo(task models.TaxTask) (models.CompanyInfo, error) {
  15. //基础信息暂不校验
  16. //去除税号中的换行符
  17. task.TaxNo = strings.TrimSpace(task.TaxNo)
  18. Compile := regexp.MustCompile("^[\u4e00-\u9fa5]+$") // 全中文判断
  19. if Compile.MatchString(task.TaxNo) {
  20. return models.CompanyInfo{}, taxerr.TaxNoError
  21. }
  22. cominfo := models.CompanyInfo{
  23. ComName: task.ComName,
  24. TaxNo: task.TaxNo,
  25. IdNo: task.IdNo,
  26. Password: task.Password,
  27. Zzrxm: task.Zzrxm,
  28. Zzridno: task.Zzridno,
  29. Zzrmm: task.Zzrmm,
  30. Xzsf: task.Xzsf,
  31. Tel: task.Tel,
  32. Area: task.Address,
  33. Period: task.Period,
  34. }
  35. if task.Address == "sichuan" || task.Address == "xinjiang" {
  36. regRuler := "^[0-9a-zA-Z]+$"
  37. // 正则调用规则
  38. reg := regexp.MustCompile(regRuler)
  39. // 返回 MatchString 是否匹配
  40. is_tel := reg.MatchString(task.TaxNo)
  41. if !is_tel {
  42. return cominfo, common.HandleError(nil, taxerr.NewUser(fmt.Sprintf(`"税号[%s]有误,请核实后重新发起"`, task.TaxNo)))
  43. }
  44. }
  45. fmt.Println(gjson.Get(task.Data, "setting").String())
  46. kjze := variable.Kjze(gjson.Get(task.Data, "setting.comKj").String())
  47. if !kjze.Check() {
  48. return cominfo, taxerr.NewUserV3("会计准则有误!", "任务发起异常请重新发起")
  49. }
  50. qysdslx := variable.Qysdslx(gjson.Get(task.Data, "setting.qysdsAOrB").String())
  51. if !qysdslx.Check() {
  52. return cominfo, taxerr.NewUserV3("企业所得税类型有误!", "任务发起异常请重新发起")
  53. }
  54. nsrlx := variable.Nsrlx(gjson.Get(task.Data, "setting.taxType").String())
  55. if !nsrlx.Check() {
  56. return cominfo, taxerr.NewUserV3("纳税人类型有误!", "任务发起异常请重新发起")
  57. }
  58. gslx := variable.Gslx(gjson.Get(task.Data, "setting.comType").String())
  59. if !gslx.Check() {
  60. return cominfo, taxerr.NewUserV3("公司类型有误!", "任务发起异常请重新发起")
  61. }
  62. xjllbSb := gjson.Get(task.Data, "setting.xjllbSb").String()
  63. if xjllbSb == "是" {
  64. cominfo.XjllbSb = true
  65. }
  66. bsbcwbb := gjson.Get(task.Data, "setting.bsbcwbb").String()
  67. if bsbcwbb == "是" {
  68. cominfo.Bsbcwbb = true
  69. }
  70. //不去判断这个东西了 不是 是 默认 否 即可
  71. vatBc := gjson.Get(task.Data, `setting.vatBc`).String()
  72. if vatBc == "是" {
  73. cominfo.VatBc = true
  74. }
  75. sffgs := gjson.Get(task.Data, `setting.sffgs`).String()
  76. if sffgs == "是" {
  77. cominfo.Sffgs = true
  78. }
  79. lslf := gjson.Get(task.Data, `setting.lslf`).String()
  80. if lslf == "是" {
  81. cominfo.Lslf = true
  82. }
  83. sfxsbdc := gjson.Get(task.Data, `setting.sfxsbdc`).String()
  84. if sfxsbdc == "是" {
  85. cominfo.Sfsxbdc = true
  86. }
  87. sfhqdkfp := gjson.Get(task.Data, `setting.sfhqdkfp`).String() //是否获取代开发票
  88. if sfhqdkfp == "是" {
  89. cominfo.HqDkFp = true
  90. }
  91. sfhqckts := gjson.Get(task.Data, `setting.ckts`).String() //是否获取出口退税发票
  92. if strings.Contains(sfhqckts, "是") {
  93. cominfo.Ckts = true
  94. }
  95. gxqrAll := gjson.Get(task.Data, `setting.gxqrAll`).String() //是否勾选全部
  96. if gxqrAll == "是" {
  97. cominfo.GxqrAll = true
  98. }
  99. cscsts := gjson.Get(task.Data, `setting.cscsts`).String() //是否获取代开发票
  100. if cscsts == "是" {
  101. common.InfoCscsts = true
  102. cominfo.Cscsts = true
  103. }
  104. jcwq := gjson.Get(task.Data, `setting.jcwq`).String() //是否获取代开发票
  105. if jcwq == "是" {
  106. cominfo.Jcwq = true
  107. }
  108. noTxfFp := gjson.Get(task.Data, `setting.noTxfFp`).String() //是否不采集通行费发票
  109. if noTxfFp == "是" {
  110. cominfo.NoTxfFp = true
  111. }
  112. wqsb := gjson.Get(task.Data, `setting.wqsb`).String() //是否获取代开发票
  113. if wqsb == "是" {
  114. cominfo.Wqsb = true
  115. }
  116. qzsbcwbb := gjson.Get(task.Data, `setting.qzsbcwbb`).String() //强制申报财报,如果已申报就直接更正
  117. if qzsbcwbb == "是" || qzsbcwbb == "true" {
  118. cominfo.Qzsbcwbb = true
  119. }
  120. if agTaxNo := gjson.Get(task.Data, `setting.dlLogin.idNo`).String(); agTaxNo != "" {
  121. cominfo.Dldl = true
  122. cominfo.AgTaxNo = agTaxNo
  123. cominfo.AgTel = gjson.Get(task.Data, `setting.dlLogin.zzridno`).String()
  124. cominfo.AgPwd = gjson.Get(task.Data, `setting.dlLogin.zzrmn`).String()
  125. }
  126. zgswjg := gjson.Get(task.Data, `setting.zgswjg`).String()
  127. sfxy := gjson.Get(task.Data, `setting.sfxy`).String()
  128. sbPwd := gjson.Get(task.Data, `setting.shebaoPassword`).String()
  129. shebaoPasswordLogin := gjson.Get(task.Data, `setting.shebaoPasswordLogin`).String()
  130. cominfo.Zgswjg = zgswjg
  131. cominfo.Dlfs = task.LoginType
  132. if cominfo.Dlfs == "新版登陆" { // 这边强制改一下 别跑任务提示登录方式不对 = =
  133. cominfo.Dlfs = "新版登录"
  134. }
  135. cominfo.AccountSystem = kjze
  136. cominfo.Qysdslx = qysdslx
  137. cominfo.Nsrlx = nsrlx
  138. cominfo.Gslx = gslx
  139. cominfo.Sfxy = sfxy
  140. cominfo.SheBaoPassword = sbPwd
  141. cominfo.SheBaoPasswordLogin = shebaoPasswordLogin
  142. rod.Try(func() {
  143. if strings.Contains(cominfo.Tel, "#") {
  144. cominfo.Tel = strings.Split(cominfo.Tel, "#")[0]
  145. }
  146. })
  147. common.ComInfo = cominfo
  148. logger.Info(cominfo)
  149. return cominfo, nil
  150. }