2
3

supplierdataentry.go 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/oilsupplier/badrecord"
  4. "dashoo.cn/backend/api/business/oilsupplier/supplierdataentry"
  5. "dashoo.cn/backend/api/business/workflow"
  6. . "dashoo.cn/backend/api/controllers"
  7. "dashoo.cn/business3/userRole"
  8. "dashoo.cn/utils"
  9. "encoding/json"
  10. "fmt"
  11. "reflect"
  12. "strconv"
  13. "strings"
  14. "time"
  15. )
  16. type SupplierDataEntryController struct {
  17. BaseController
  18. }
  19. type RequestList struct {
  20. DocKey string
  21. DocAddress string
  22. DocName string
  23. DataEntryId int
  24. DocUrl string
  25. }
  26. type AddEntry struct {
  27. EntrustNo string
  28. ConUserId int
  29. Remark string
  30. ConUserBy string
  31. }
  32. type CopySheet struct {
  33. SheetNum int
  34. }
  35. type DataEntryCallback struct {
  36. Id string `json:"Id"`
  37. DocUrl string `json:"DocUrl"`
  38. }
  39. type PdfRequest struct {
  40. PdfUrl string `json:"pdfUrl"`
  41. Watermark string `json:"watermark"`
  42. }
  43. func StructToMapDemo(obj interface{}) map[string]interface{} {
  44. obj1 := reflect.TypeOf(obj)
  45. obj2 := reflect.ValueOf(obj)
  46. var data = make(map[string]interface{})
  47. for i := 0; i < obj1.NumField(); i++ {
  48. data[obj1.Field(i).Name] = obj2.Field(i).Interface()
  49. }
  50. return data
  51. }
  52. // @Title 从数据录入数据导出到word文档
  53. // @Description 数据存入word
  54. // @Success 200 {object} controllers.Request
  55. // @router /exportword/:tbid [post]
  56. func (this *SupplierDataEntryController) DocExport() {
  57. // 填物资类信息表首页信息
  58. Id := this.Ctx.Input.Param(":tbid")
  59. certId := this.GetString("CertId")
  60. var Url string
  61. var fileName string
  62. var currencyType string
  63. svcActiviti := workflow.GetActivitiService(utils.DBE)
  64. var model1 supplierdataentry.SupplierDataEntry
  65. var model2 supplierdataentry.SupplierCertDataEntry
  66. svc := supplierdataentry.GetSupplierDataEntryService(utils.DBE)
  67. where1 := "1=1"
  68. where1 += " AND Id = '" + Id + "'"
  69. where2 := "Id = '" + certId + "'"
  70. svc.GetEntityByWhere(OilSupplierName, where1, &model1)
  71. svc.GetEntityByWhere(OilSupplierCertName, where2, &model2)
  72. businessKey := model2.BusinessKey
  73. processKey := model2.ProcessKey
  74. processInstanceId := model2.WorkflowId
  75. var historicTasks []workflow.ActiHistoricTask
  76. historicTasks = svcActiviti.GetHistoricMultiTasks(processKey, businessKey, processInstanceId)
  77. var tabledata3 []supplierdataentry.SupplierMajorEquipmentDataEntry
  78. var tabledata4 []supplierdataentry.SupplierThreeYearsDataEntryView
  79. var tabledata5 []supplierdataentry.SupplierPatentDataEntryView
  80. var tabledata6 []supplierdataentry.SupplierWinningDataEntryView
  81. var tabledata7 []supplierdataentry.SupplierCertSubEntry
  82. SupplierCertId := strconv.Itoa(model2.Id)
  83. where3 := "SupplierCertId = " + SupplierCertId + " LIMIT 5"
  84. svc.GetSelect(OilEnterpriseMajorEquipmentName, where3, &tabledata3)
  85. where4 := "SupplierCertId = " + SupplierCertId + " LIMIT 5"
  86. svc.GetSelect(OilThreeYearsPerformanceName, where4, &tabledata4)
  87. where5 := "SupplierCertId = " + SupplierCertId + " LIMIT 7"
  88. svc.GetSelect(OilPatentStatisticalName, where5, &tabledata5)
  89. where9 := "SupplierCertId = " + SupplierCertId + " LIMIT 9"
  90. svc.GetSelect(OilWinningProjectName, where9, &tabledata6)
  91. where := "SupplierCertId = " + SupplierCertId+" and Type in ('1','3') and CertSubStatus='1'"
  92. svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, where, "1", &tabledata7)
  93. datamap := StructToMapDemo(model1.OilSupplier)
  94. if model2.SupplierTypeCode == "01" {
  95. //Url = "http://weed1.labsop.cn:9390/1,248318341f7c"
  96. Url = utils.Cfg.MustValue("workflow", "goodsModuleHost")
  97. fileName = "物资类供方准入评审表.docx"
  98. } else if model2.SupplierTypeCode == "02" {
  99. //Url = "http://weed1.labsop.cn:9390/5,2479ad04d28b"
  100. Url = utils.Cfg.MustValue("workflow", "basisModuleHost")
  101. fileName = "基建类供方准入评审表.docx"
  102. datamap["TJInNotify"] = model1.TJInNotify
  103. } else {
  104. //Url = "http://weed1.labsop.cn:9390/2,247af827d5ac"
  105. Url = utils.Cfg.MustValue("workflow", "techModuleHost")
  106. fileName = "服务类供方准入评审表.docx"
  107. }
  108. //model1
  109. datamap["SetupTime"] = model1.SetupTime.Format("2006年01月02日")
  110. if model1.OperType != "" {
  111. if model1.OperType == "1" || model1.OperType == "制造商"{
  112. datamap["OperType"] = "☑制造商 □代理商 □贸易商"
  113. }else if model1.OperType == "2" || model1.OperType == "代理商"{
  114. datamap["OperType"] = "□制造商 ☑代理商 □贸易商"
  115. }else if model1.OperType == "3" || model1.OperType == "代理商"{
  116. datamap["OperType"] = "□制造商 □代理商 ☑贸易商"
  117. }else {
  118. datamap["OperType"] = "□制造商 □代理商 □贸易商"
  119. }
  120. }
  121. if model1.SpecTypeCode != "" {
  122. if model1.SpecTypeCode == "1"{
  123. datamap["SpecTypeCode"] = "☑一般外部 □多元企业"
  124. }else if model1.SpecTypeCode == "2"{
  125. datamap["SpecTypeCode"] = "□一般外部 ☑多元企业"
  126. }else {
  127. datamap["SpecTypeCode"] = "□一般外部 □多元企业"
  128. }
  129. }
  130. if model1.Grade == "1"{
  131. datamap["Grade"] = "一级"
  132. }else if model1.SpecTypeCode == "2"{
  133. datamap["Grade"] = "二级"
  134. }
  135. //datamap["QualifCert"] = model1.QualifCert
  136. //datamap["QualifCertLevel"] = model1.QualifCertLevel
  137. //datamap["SpecIndustryCert"] = model1.SpecIndustryCert
  138. //datamap["MaunLicense"] = model1.MaunLicense
  139. //datamap["HseTraining"] = model1.HseTraining
  140. //datamap["Fax"] = model1.Fax
  141. //datamap["CompanyTel"] = model1.CompanyTel
  142. //datamap["SupplierName"] = model1.SupplierName
  143. //datamap["SpecTypeCode"] = model1.SpecTypeName
  144. //datamap["Country"] = model1.Country
  145. //datamap["MaunAgent"] = model1.MaunAgent
  146. //datamap["SupplierCertificate"] = model1.SupplierCertificate
  147. //datamap["MgrUnit"] = model1.MgrUnit
  148. //datamap["Grade"] = model1.Grade
  149. //datamap["CommercialNo"] = model1.CommercialNo
  150. //datamap["CountryTaxNo"] = model1.CountryTaxNo
  151. //datamap["OrganCode"] = model1.OrganCode
  152. //datamap["Address"] = model1.Address
  153. //datamap["ZipCode"] = model1.ZipCode
  154. //datamap["LinkAddress"] = model1.LinkAddress
  155. //datamap["LinkZipCode"] = model1.LinkZipCode
  156. //datamap["QualitySystemCert"] = model1.QualitySystemCert
  157. //datamap["ProductQualityCert"] = model1.ProductQualityCert
  158. //datamap["MaunLicense"] = model1.MaunLicense
  159. //datamap["LegalPerson"] = model1.LegalPerson
  160. //datamap["CompanyType"] = model1.CompanyType
  161. //datamap["ContactName"] = model1.ContactName
  162. if model1.Currency == "CNY" || model1.Currency == "人民币元"{
  163. currencyType = "人民币"
  164. }else if model1.Currency == "USD" {
  165. currencyType ="美元"
  166. }else if model1.Currency == "EUR" {
  167. currencyType = "欧元"
  168. }else if model1.Currency=="JPY"{
  169. currencyType = "日元"
  170. }else if model1.Currency == ""{
  171. currencyType="万元"
  172. }
  173. datamap["RegCapital"] = strconv.FormatFloat(model1.RegCapital,'f',0,64)+"万元"+currencyType
  174. //datamap["DepositBank"] = model1.DepositBank
  175. //datamap["BankAccount"] = model1.BankAccount
  176. //datamap["Mobile"] = model1.Mobile
  177. //datamap["EMail"] = model1.EMail
  178. //datamap["BankCreditRating"] = model1.BankCreditRating
  179. //datamap["BusinessScope"] = model1.BusinessScope
  180. //datamap["Telphone"] = model1.Telphone
  181. //model2
  182. datamap["WorkerTotal"] = model2.WorkerTotal
  183. datamap["ContractNum"] = model2.ContractNum
  184. datamap["UniversityNum"] = model2.UniversityNum
  185. datamap["TechnicalNum"] = model2.TechnicalNum
  186. datamap["AboveProfNum"] = model2.AboveProfNum
  187. datamap["MiddleProfNum"] = model2.MiddleProfNum
  188. datamap["NationalRegNum"] = model2.NationalRegNum
  189. datamap["NationalCertTotal"] = model2.NationalCertTotal
  190. datamap["DesignerTotal"] = model2.DesignerTotal
  191. datamap["SkillerTotal"] = model2.SkillerTotal
  192. datamap["AccessCardNo"] = model2.AccessCardNo
  193. if len(tabledata7) != 0 {
  194. var Name string
  195. Name = tabledata7[0].Code
  196. Name = Name + " " + tabledata7[0].Name
  197. var i int
  198. for i = 1; i < len(tabledata7) && i < 25; i++ {
  199. Name += ";"
  200. Name += tabledata7[i].Code
  201. Name = Name + " " + tabledata7[i].Name
  202. }
  203. if i == 25 {
  204. Name += "(更多准入内容详见《市场管理信息系统》)"
  205. }
  206. datamap["Name"] = Name
  207. } else {
  208. datamap["Name"] = ""
  209. }
  210. for i,item := range tabledata3 {
  211. datamap["MajorEquipments" + strconv.Itoa(i + 1)] = item.MainEquipment
  212. datamap["Specifications" + strconv.Itoa(i + 1)] = item.Specifications
  213. datamap["Number" + strconv.Itoa(i + 1)] = item.Number
  214. datamap["Remark" + strconv.Itoa(i + 1)] = item.Remark
  215. }
  216. for i,item := range tabledata4 {
  217. datamap["ProjectName" + strconv.Itoa(i + 1)] = item.ProjectName
  218. datamap["BearContent" + strconv.Itoa(i + 1)] = item.BearContent
  219. datamap["TimeStr" + strconv.Itoa(i + 1)] = item.StartTime.Format("2006-01-02") + "--" + item.StopTime.Format("2006-01-02")
  220. datamap["Tudge" + strconv.Itoa(i + 1)] = item.Tudge
  221. }
  222. for i,item := range tabledata5 {
  223. datamap["Patent" + strconv.Itoa(i + 1)] = item.Name
  224. datamap["Pcontent" + strconv.Itoa(i + 1)] = item.Content
  225. datamap["ApprovalAuthority" + strconv.Itoa(i + 1)] = item.ApprovalAuthority
  226. datamap["ApprovalDateStr" + strconv.Itoa(i + 1)] = item.ApprovalDate.Format("2006-01-02")
  227. }
  228. for i,item := range tabledata6 {
  229. datamap["AwardName" + strconv.Itoa(i + 1)] = item.AwardName
  230. datamap["WinningTimeStr" + strconv.Itoa(i + 1)] = item.WinningTime.Format("2006-01-02")
  231. datamap["Authorities" + strconv.Itoa(i + 1)] = item.Authorities
  232. datamap["Aremark" + strconv.Itoa(i + 1)] = item.Remark
  233. }
  234. //审批意见
  235. datamap["FName"] = "" // 初审
  236. datamap["FOpinion"] = ""
  237. datamap["YDate"] = " 年 月 日" // 初审
  238. datamap["SName"] = ""
  239. datamap["SDate"] = " 年 月 日" // 复审
  240. datamap["OName"] = ""
  241. datamap["ODate"] = " 年 月 日" // 专业处室
  242. datamap["SOpinion"] = ""
  243. datamap["OfficeRemarks"] = ""
  244. datamap["ZDate"] = " 年 月 日" // 集中评审
  245. datamap["ZOPinion"] = ""
  246. for i := 0; i < len(historicTasks); i++ {
  247. fmt.Println(historicTasks[i].EndTime)
  248. if historicTasks[i].TaskName == "业务处室专业审批" {
  249. var user userRole.Base_User
  250. svc.GetEntityById(historicTasks[i].Assignee, &user)
  251. datamap["OfficeRemarks"] = historicTasks[i].Remarks
  252. datamap["OName"] = user.Realname
  253. datamap["ODate"] = time.Unix(historicTasks[i].EndTime / 1e3, 0).Format("2006年01月02日")
  254. } else if historicTasks[i].TaskName == "二级单位初审" {
  255. var user userRole.Base_User
  256. svc.GetEntityById(historicTasks[i].Assignee, &user)
  257. datamap["FOpinion"] = historicTasks[i].Remarks
  258. datamap["FName"] = user.Realname
  259. datamap["YDate"] = time.Unix(historicTasks[i].EndTime / 1e3,0).Format("2006年01月02日")
  260. } else if historicTasks[i].TaskName == "二级单位复审" {
  261. var user userRole.Base_User
  262. svc.GetEntityById(historicTasks[i].Assignee, &user)
  263. datamap["SOpinion"] = historicTasks[i].Remarks
  264. datamap["SName"] = user.Realname
  265. datamap["SDate"] = time.Unix(historicTasks[i].EndTime / 1e3,0).Format("2006年01月02日")
  266. } else if historicTasks[i].TaskName == "集中评审" {
  267. var user userRole.Base_User
  268. svc.GetEntityById(historicTasks[i].Assignee, &user)
  269. datamap["ZOPinion"] = historicTasks[i].Remarks
  270. datamap["ZDate"] = time.Unix(historicTasks[i].EndTime / 1e3,0).Format("2006年01月02日")
  271. }
  272. }
  273. //var interfaceSlice3 = make([]interface{}, len(tabledata3))
  274. //for i, d := range tabledata3 {
  275. // interfaceSlice3[i] = d
  276. //}
  277. //datamap["MajorEquipments"] = workflow.TableDetailData{
  278. // DataList: interfaceSlice3,
  279. // StartRow: 28,
  280. // NeedDelRow: 5,
  281. // ReverseRow: 0,
  282. // Cols: []string{"MajorEquipment", "Specifications", "Number", "Remark"},
  283. // Merge: []string{"1,3"},
  284. // ColsNum: 18,
  285. //}
  286. //
  287. ////起止时间如何全部显示
  288. //var interfaceSlice4 = make([]interface{}, len(tabledata4))
  289. //for i, d := range tabledata4 {
  290. // d.StartTimeStr = d.StopTime.Format("2006-01-02")
  291. // interfaceSlice4[i] = d
  292. //}
  293. //datamap["ThreeYears"] = workflow.TableDetailData{
  294. // DataList: interfaceSlice4,
  295. // StartRow: 35,
  296. // NeedDelRow: 5,
  297. // ReverseRow: 0,
  298. // Cols: []string{"ProjectName", "BearContent", "OwnerUnit", "StartTimeStr", "StartTimeStr", "Tudge"},
  299. // Merge: []string{},
  300. // ColsNum: 5,
  301. //}
  302. //
  303. //var interfaceSlice5 = make([]interface{}, len(tabledata5))
  304. //for i, d := range tabledata5 {
  305. // d.ApprovalDateStr = d.ApprovalDate.Format("2006-01-02")
  306. // interfaceSlice5[i] = d
  307. //}
  308. //datamap["Patent"] = workflow.TableDetailData{
  309. // DataList: interfaceSlice5,
  310. // StartRow: 42,
  311. // NeedDelRow: 7,
  312. // ReverseRow: 0,
  313. // Cols: []string{"Name", "Content", "ApprovalAuthority", "ApprovalDateStr"},
  314. // Merge: []string{},
  315. // ColsNum: 4,
  316. //}
  317. //
  318. //var interfaceSlice6 = make([]interface{}, len(tabledata6))
  319. //for i, d := range tabledata6 {
  320. // d.WinningTimeStr = d.WinningTime.Format("2006-01-02")
  321. // interfaceSlice6[i] = d
  322. //}
  323. //datamap["Winning"] = workflow.TableDetailData{
  324. // DataList: interfaceSlice6,
  325. // StartRow: 51,
  326. // NeedDelRow: 9,
  327. // ReverseRow: 0,
  328. // Cols: []string{"AwardName", "WinningTimeStr", "Authorities", "Remark"},
  329. // Merge: []string{},
  330. // ColsNum: 4,
  331. //}
  332. //datamap["TableComment"] = []string{"MajorEquipments", "ThreeYears", "Patent", "Winning"}
  333. //retDocUrl := svcActiviti.FillWordTemplate(datamap, Url, fileName)
  334. retDocUrl := svcActiviti.FillWordWatermarkTemplate(datamap, Url, fileName, model1.SupplierName)
  335. var datainfo ErrorDataInfo
  336. datainfo.Code = 0
  337. datainfo.Item = retDocUrl
  338. datainfo.Message = "打印成功"
  339. this.Data["json"] = &datainfo
  340. this.ServeJSON()
  341. }
  342. // @Title 导出数据到word,作为导出pdf的中间步骤
  343. // @Description 数据存入word
  344. // @Success 200 {object} controllers.Request
  345. // @router /exportpdf/:tbid/:typecode [post]
  346. func (this *SupplierDataEntryController) PdfExport() {
  347. Id := this.Ctx.Input.Param(":tbid")
  348. SupplierTypeCode := this.Ctx.Input.Param(":typecode")
  349. var Url string
  350. var fileName string
  351. var model1 supplierdataentry.SupplierDataEntry
  352. var model2 supplierdataentry.SupplierCertDataEntry
  353. svc := supplierdataentry.GetSupplierDataEntryService(utils.DBE)
  354. where1 := "1=1"
  355. where1 += " AND Id = '" + Id + "'"
  356. where2 := "SupplierId = '" + Id + "' and SupplierTypecode='"+ SupplierTypeCode +"'"
  357. svc.GetEntityByWhere(OilSupplierName, where1, &model1)
  358. svc.GetEntityByWhere(OilSupplierCertName, where2, &model2)
  359. var tabledata []supplierdataentry.SupplierCertSubEntry
  360. where3:="SupplierId = '" + Id + "' and SupplierTypecode='"+ SupplierTypeCode +"' and CertSubStatus='1' and Type in ('1','3')"//准入状态的准入项
  361. svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, where3, "1", &tabledata)
  362. var tabledata2 []supplierdataentry.SupplierCertSubEntry
  363. where4:="SupplierId = '" + Id + "' and SupplierTypecode='"+ SupplierTypeCode +"' and CertSubStatus='2' and Type in ('1','3')"//暂停状态的准入项
  364. svc.GetEntitysByOrderbyWhere(OilSupplierCertSubName, where4, "1", &tabledata2)
  365. datamap := StructToMapDemo(model1.OilSupplier)
  366. if model2.SupplierTypeCode == "01" {
  367. Url = utils.Cfg.MustValue("workflow", "goodsPdfHost")
  368. fileName = "物资类准入范围.docx"
  369. } else if model2.SupplierTypeCode == "02" {
  370. Url = utils.Cfg.MustValue("workflow", "basisPdfHost")
  371. fileName = "基建类准入范围.docx"
  372. datamap["TJInNotify"] = model1.TJInNotify
  373. } else {
  374. Url = utils.Cfg.MustValue("workflow", "techPdfHost")
  375. fileName = "服务类准入范围.docx"
  376. }
  377. //model1
  378. datamap["SetupTime"] = model1.SetupTime.Format("2006年01月02日")
  379. datamap["QualifCert"] = model1.QualifCert
  380. datamap["QualifCertLevel"] = model1.QualifCertLevel
  381. datamap["SpecIndustryCert"] = model1.SpecIndustryCert
  382. datamap["MaunLicense"] = model1.MaunLicense
  383. if model1.HseTraining == "1" {
  384. datamap["HseTraining"] = "是"
  385. } else {
  386. datamap["HseTraining"] = "否"
  387. }
  388. if model1.OperType != "" {
  389. if model1.OperType == "1" || model1.OperType == "制造商"{
  390. datamap["OperType"] = "√制造商 □代理商 □贸易商"
  391. }else if model1.OperType == "2" || model1.OperType == "代理商"{
  392. datamap["OperType"] = "□制造商 √代理商 □贸易商"
  393. }else if model1.OperType == "3" || model1.OperType == "代理商"{
  394. datamap["OperType"] = "□制造商 □代理商 √贸易商"
  395. }else {
  396. datamap["OperType"] = "□制造商 □代理商 □贸易商"
  397. }
  398. }
  399. if model1.SpecTypeCode != "" {
  400. if model1.SpecTypeCode == "1"{
  401. datamap["SpecTypeCode"] = "√一般外部 □多元企业"
  402. }else if model1.SpecTypeCode == "2"{
  403. datamap["SpecTypeCode"] = "□一般外部 √多元企业"
  404. }else {
  405. datamap["SpecTypeCode"] = "□一般外部 □多元企业"
  406. }
  407. }
  408. if model1.Grade == "1"{
  409. datamap["Grade"] = "一级"
  410. }else if model1.SpecTypeCode == "2"{
  411. datamap["Grade"] = "二级"
  412. }
  413. datamap["Fax"] = model1.Fax
  414. datamap["CompanyTel"] = model1.CompanyTel
  415. datamap["SupplierName"] = model1.SupplierName
  416. datamap["Country"] = model1.Country
  417. datamap["MaunAgent"] = model1.MaunAgent
  418. datamap["SupplierCertificate"] = model1.SupplierCertificate
  419. datamap["MgrUnit"] = model1.MgrUnit
  420. datamap["CommercialNo"] = model1.CommercialNo
  421. datamap["CountryTaxNo"] = model1.CountryTaxNo
  422. datamap["OrganCode"] = model1.OrganCode
  423. datamap["Address"] = model1.Address
  424. datamap["ZipCode"] = model1.ZipCode
  425. datamap["LinkAddress"] = model1.LinkAddress
  426. datamap["LinkZipCode"] = model1.LinkZipCode
  427. datamap["QualitySystemCert"] = model1.QualitySystemCert
  428. datamap["ProductQualityCert"] = model1.ProductQualityCert
  429. datamap["MaunLicense"] = model1.MaunLicense
  430. datamap["LegalPerson"] = model1.LegalPerson
  431. datamap["CompanyType"] = model1.CompanyType
  432. datamap["ContactName"] = model1.ContactName
  433. datamap["RegCapital"] = strconv.FormatFloat(model1.RegCapital,'f',2,64)+"万元"+model1.Currency
  434. datamap["DepositBank"] = model1.DepositBank
  435. datamap["BankAccount"] = model1.BankAccount
  436. datamap["Mobile"] = model1.Mobile
  437. datamap["EMail"] = model1.EMail
  438. datamap["BankCreditRating"] = model1.BankCreditRating
  439. datamap["BusinessScope"] = model1.BusinessScope
  440. datamap["Telphone"] = model1.Telphone
  441. datamap["AccessCardNo"] = model2.AccessCardNo
  442. datamap["PrintYear"] = time.Now().Year()
  443. datamap["PrintMonth"] = time.Now().Month()
  444. datamap["PrintDay"] = time.Now().Day()
  445. //获取准入项不良记录
  446. zhunruStr := ""
  447. if len(tabledata2) != 0{
  448. zhunruStr = "准入:"
  449. var badRecord BadRecord.BadRecord
  450. svc.GetEntity(&badRecord,"CompanyCode='"+Id+"'")
  451. //拼接已暂停准入范围编码名称
  452. var Name string
  453. Name = "\n已暂停: " + tabledata2[0].Code
  454. Name = Name + " " + tabledata2[0].Name
  455. var i int
  456. for i = 1; i < len(tabledata2); i++ {
  457. Name += ";"
  458. Name += tabledata2[i].Code
  459. Name = Name + " " + tabledata2[i].Name
  460. }
  461. datamap["Name"]=Name + " \n暂停原因:"+badRecord.Certrecord+""
  462. }else{
  463. datamap["Name"] = ""
  464. }
  465. if len(tabledata) != 0 {
  466. var Name string
  467. Name = "\n"+ zhunruStr + strings.TrimSpace(tabledata[0].Code)
  468. Name = Name + " " + strings.TrimSpace(tabledata[0].Name)
  469. var i int
  470. for i = 1; i < len(tabledata); i++ {
  471. Name += ";"
  472. Name += strings.TrimSpace(tabledata[i].Code)
  473. Name = Name + " " + strings.TrimSpace(tabledata[i].Name)
  474. }
  475. //if i == 100 {
  476. // Name += "(准入范围未完全显示,请到系统查看详情)"
  477. //}
  478. fmt.Println(Name)
  479. datamap["Name"] =datamap["Name"].(string) + Name
  480. } else {
  481. datamap["Name"] =datamap["Name"].(string)
  482. }
  483. /*var interfaceSlice2 = make([]interface{}, len(tabledata))
  484. for i, d := range tabledata {
  485. interfaceSlice2[i] = d
  486. }
  487. datamap["CertSub"] = workflow.TableDetailData{
  488. DataList: interfaceSlice2,
  489. StartRow: 2,
  490. NeedDelRow: 1,
  491. ReverseRow: 10,
  492. Cols: []string{"Code", "Name"},
  493. Merge: []string{},
  494. ColsNum: 2,
  495. }
  496. datamap["TableComment"] = []string{"CertSub"}*/
  497. svcActiviti := workflow.GetActivitiService(utils.DBE)
  498. retDocUrl := svcActiviti.FillWordTemplate(datamap, Url, fileName)
  499. var datainfo ErrorDataInfo
  500. datainfo.Code = 0
  501. datainfo.Item = retDocUrl
  502. datainfo.Message = "准备导出"
  503. this.Data["json"] = &datainfo
  504. this.ServeJSON()
  505. }
  506. // @Title post
  507. // @Description word to pdf
  508. // @Success 200 {string} pdfurl
  509. // @router /word-to-pdf [post]
  510. func (this *SupplierDataEntryController) WordToPdf() {
  511. var pdfurl = this.GetString("pdfurl")
  512. svcActiviti := workflow.GetActivitiService(utils.DBE)
  513. pdfUrl := svcActiviti.WordToPdf(pdfurl)
  514. this.Data["json"] = pdfUrl
  515. this.ServeJSON()
  516. }
  517. // @Title post
  518. // @Description word to pdf
  519. // @Success 200 {string} pdfurl
  520. // @router /word-to-pdf-watermark [post]
  521. func (this *SupplierDataEntryController) WordToPdfWithWatermark() {
  522. var pdfRequest PdfRequest
  523. var jsonBlob = this.Ctx.Input.RequestBody
  524. json.Unmarshal(jsonBlob, &pdfRequest)
  525. svcActiviti := workflow.GetActivitiService(utils.DBE)
  526. pdfUrl := svcActiviti.WordToPdfWithWatermark(pdfRequest.Watermark, pdfRequest.PdfUrl)
  527. this.Data["json"] = pdfUrl
  528. this.ServeJSON()
  529. }