GoodsOrder.go 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038
  1. package controllers
  2. import (
  3. "Cold_Api/Nats/NatsServer"
  4. "Cold_Api/conf"
  5. "Cold_Api/controllers/lib"
  6. "Cold_Api/models/Device"
  7. "Cold_Api/models/Function"
  8. "fmt"
  9. beego "github.com/beego/beego/v2/server/web"
  10. "github.com/signintech/gopdf"
  11. "math"
  12. "os"
  13. "strconv"
  14. "time"
  15. )
  16. //Handle
  17. type GoodsOrderController struct {
  18. beego.Controller
  19. }
  20. func (c *GoodsOrderController) GoodsOrder_List() {
  21. // 验证登录
  22. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  23. if !b_ {
  24. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  25. c.ServeJSON()
  26. return
  27. }
  28. type R_JSONS struct {
  29. //必须的大写开头
  30. Data []Function.GoodsOrder
  31. Num int64
  32. Page int
  33. Page_size int
  34. }
  35. var r_jsons R_JSONS
  36. page, _ := c.GetInt("page")
  37. println(page)
  38. if page < 1 {
  39. page = 1
  40. }
  41. page_z, _ := c.GetInt("page_z")
  42. if page_z < 1 {
  43. page_z = conf.Page_size
  44. }
  45. Name := c.GetString("T_name")
  46. c.Data["Name"] = Name
  47. r_jsons.Data, r_jsons.Num = Function.Read_GoodsOrder_List(admin_r.Admin_uuid, page, page_z, Name)
  48. r_jsons.Page = page
  49. r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
  50. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  51. c.ServeJSON()
  52. return
  53. }
  54. func (c *GoodsOrderController) GoodsOrder_Get() {
  55. // 验证登录
  56. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  57. if !b_ {
  58. c.Ctx.Redirect(302, "Login")
  59. return
  60. }
  61. id, _ := c.GetInt("T_id")
  62. r := Function.Read_GoodsOrder_ById(id)
  63. if r.Id == 0 {
  64. c.Data["json"] = lib.JSONS{Code: 204, Msg: "T_id !"}
  65. c.ServeJSON()
  66. return
  67. }
  68. if admin_r.Admin_uuid != r.T_uuid {
  69. c.Data["json"] = lib.JSONS{Code: 205, Msg: "你没有权限 !"}
  70. c.ServeJSON()
  71. return
  72. }
  73. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Function.GoodsOrderToGoodsOrderR(r)}
  74. c.ServeJSON()
  75. return
  76. }
  77. func (c *GoodsOrderController) GoodsOrder_html() {
  78. // 验证登录
  79. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  80. if !b_ {
  81. c.Ctx.Redirect(302, "Login")
  82. return
  83. }
  84. c.Data["Device_lite"] = Device.Read_Device_ALL_bind(admin_r)
  85. //c.Data["Admin_Power"], _ = Admin.Read_AdminPower_ById(admin_r.Admin_power)
  86. Name := c.GetString("Name")
  87. c.Data["Name"] = Name
  88. page, _ := c.GetInt("page")
  89. println(page)
  90. if page < 1 {
  91. page = 1
  92. }
  93. page_z, _ := c.GetInt("Page_size")
  94. if page_z == 0 {
  95. page_z = conf.Page_size
  96. }
  97. List, cnt := Function.Read_GoodsOrder_List(admin_r.Admin_uuid, page, page_z, Name)
  98. page_size := math.Ceil(float64(cnt) / float64(conf.Page_size))
  99. c.Data["List"] = List
  100. c.Data["Page"] = page
  101. c.Data["Page_size"] = page_size
  102. c.Data["Pages"] = lib.Func_page(int64(page), int64(page_size))
  103. c.Data["cnt"] = cnt
  104. c.TplName = "GoodsOrder/GoodsOrder.html"
  105. }
  106. func (c *GoodsOrderController) GoodsOrder__html() {
  107. // 验证登录
  108. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  109. if !b_ {
  110. c.Ctx.Redirect(302, "Login")
  111. return
  112. }
  113. c.Data["Device_lite"] = Device.Read_Device_ALL_bind(admin_r)
  114. //c.Data["Admin_Power"], _ = Admin.Read_AdminPower_ById(admin_r.Admin_power)
  115. id, _ := c.GetInt("id")
  116. c.Data["id"] = id
  117. if id > 0 {
  118. c.Data["Date"] = Function.Read_GoodsOrder_ById(id)
  119. }
  120. c.TplName = "GoodsOrder/GoodsOrder-.html"
  121. }
  122. //
  123. //func (c *GoodsOrderController) GoodsOrder_List() {
  124. // // 验证登录
  125. // b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  126. // if !b_ {
  127. // c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  128. // c.ServeJSON()
  129. // return
  130. // }
  131. //
  132. // type R_JSONS struct {
  133. // //必须的大写开头
  134. // DeviceSensor_lite []Device.DeviceSensor_R
  135. // Num int
  136. // Page int
  137. // Page_size int
  138. // Pages []lib.Page_T
  139. // }
  140. // var r_jsons R_JSONS
  141. // page, _ := c.GetInt("page")
  142. //
  143. // println(page)
  144. // if page < 1 {
  145. // page = 1
  146. // }
  147. //
  148. // page_z, _ := c.GetInt("page_z")
  149. // if page_z == 0 {
  150. // page_z = conf.Page_size
  151. // }
  152. //
  153. // T_sn := c.GetString("Sn")
  154. //
  155. // Device_r, err := Device.Read_Device_ByT_sn(T_sn)
  156. // if err != nil {
  157. // c.Data["json"] = lib.JSONS{Code: 206, Msg: "T_sn Err!"}
  158. // c.ServeJSON()
  159. // return
  160. // }
  161. // if admin_r.Admin_master > 1 {
  162. // if !strings.Contains(Device_r.T_Bind, "U"+strconv.Itoa(admin_r.Id)+"|") && admin_r.Admin_master != 0 {
  163. // c.Data["json"] = lib.JSONS{Code: 202, Msg: "! U" + strconv.Itoa(admin_r.Id)}
  164. // c.ServeJSON()
  165. // return
  166. // }
  167. // }
  168. //
  169. // //c.Data["Class_List"] = Device.Read_Class_All_1()
  170. //
  171. // var cnt int64
  172. // r_jsons.DeviceSensor_lite, cnt = Device.Read_DeviceSensor_ALL_T_sn(T_sn, page, page_z)
  173. //
  174. // page_size := math.Ceil(float64(cnt) / float64(page_z))
  175. // r_jsons.Page = int(page)
  176. // r_jsons.Page_size = int(page_size)
  177. // r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
  178. // r_jsons.Num = int(cnt)
  179. //
  180. // c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  181. // c.ServeJSON()
  182. // return
  183. //
  184. //}
  185. //
  186. func (c *GoodsOrderController) List_Post() {
  187. // 验证登录
  188. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  189. if !b_ {
  190. c.Ctx.Redirect(302, "Login")
  191. return
  192. }
  193. var id int64
  194. var err error
  195. id, _ = c.GetInt64("id")
  196. T_orderid := c.GetString("T_orderid")
  197. T_outorderid := c.GetString("T_outorderid")
  198. T_sn := c.GetString("T_sn")
  199. T_receiving := c.GetString("T_receiving")
  200. T_start_Ut := c.GetString("T_start_Ut")
  201. T_end_Ut := c.GetString("T_end_Ut")
  202. T_start_Ut_T, _ := c.GetFloat("T_start_Ut_T")
  203. T_end_Ut_T, _ := c.GetFloat("T_end_Ut_T")
  204. T_text := c.GetString("T_text")
  205. T_start_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_start_Ut, time.Local)
  206. T_end_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_end_Ut, time.Local)
  207. var_ := Function.GoodsOrder{
  208. T_uuid: admin_r.Admin_uuid,
  209. T_orderid: T_orderid,
  210. T_outorderid: T_outorderid,
  211. T_sn: T_sn,
  212. T_receiving: T_receiving,
  213. T_start_Ut: T_start_Ut_,
  214. T_end_Ut: T_end_Ut_,
  215. T_start_Ut_T: float32(T_start_Ut_T),
  216. T_end_Ut_T: float32(T_end_Ut_T),
  217. T_text: T_text,
  218. T_State: 1,
  219. }
  220. if id > 0 {
  221. var_.Id = int(id)
  222. is := Function.Update_TGoodsOrder(var_, "T_orderid", "T_outorderid", "T_sn", "T_receiving", "T_start_Ut", "T_end_Ut", "T_start_Ut_T", "T_end_Ut_T", "T_text")
  223. if !is {
  224. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  225. c.ServeJSON()
  226. return
  227. }
  228. } else {
  229. id, err = Function.Add_GoodsOrder(var_)
  230. if err != nil {
  231. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  232. c.ServeJSON()
  233. return
  234. }
  235. }
  236. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  237. c.ServeJSON()
  238. return
  239. }
  240. func (c *GoodsOrderController) GoodsOrder_Add() {
  241. // 验证登录
  242. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  243. if !b_ {
  244. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  245. c.ServeJSON()
  246. return
  247. }
  248. var id int64
  249. var err error
  250. id, _ = c.GetInt64("T_id")
  251. T_orderid := c.GetString("T_orderid")
  252. T_outorderid := c.GetString("T_outorderid")
  253. T_sn := c.GetString("T_sn")
  254. T_receiving := c.GetString("T_receiving")
  255. T_start_Ut := c.GetString("T_start_Ut")
  256. T_end_Ut := c.GetString("T_end_Ut")
  257. T_start_Ut_T, _ := c.GetFloat("T_start_Ut_T")
  258. T_end_Ut_T, _ := c.GetFloat("T_end_Ut_T")
  259. T_text := c.GetString("T_text")
  260. T_start_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_start_Ut, time.Local)
  261. T_end_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_end_Ut, time.Local)
  262. var_ := Function.GoodsOrder{
  263. T_uuid: admin_r.Admin_uuid,
  264. T_orderid: T_orderid,
  265. T_outorderid: T_outorderid,
  266. T_sn: T_sn,
  267. T_receiving: T_receiving,
  268. T_start_Ut: T_start_Ut_,
  269. T_end_Ut: T_end_Ut_,
  270. T_start_Ut_T: float32(T_start_Ut_T),
  271. T_end_Ut_T: float32(T_end_Ut_T),
  272. T_text: T_text,
  273. T_State: 1,
  274. }
  275. if id > 0 {
  276. var_.Id = int(id)
  277. is := Function.Update_TGoodsOrder(var_, "T_orderid", "T_outorderid", "T_sn", "T_receiving", "T_start_Ut", "T_end_Ut", "T_start_Ut_T", "T_end_Ut_T", "T_text")
  278. if !is {
  279. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  280. c.ServeJSON()
  281. return
  282. }
  283. } else {
  284. id, err = Function.Add_GoodsOrder(var_)
  285. if err != nil {
  286. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  287. c.ServeJSON()
  288. return
  289. }
  290. }
  291. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  292. c.ServeJSON()
  293. return
  294. }
  295. func (c *GoodsOrderController) GoodsOrder_Edit() {
  296. // 验证登录
  297. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  298. if !b_ {
  299. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  300. c.ServeJSON()
  301. return
  302. }
  303. var id int64
  304. var err error
  305. id, _ = c.GetInt64("T_id")
  306. T_orderid := c.GetString("T_orderid")
  307. T_outorderid := c.GetString("T_outorderid")
  308. T_sn := c.GetString("T_sn")
  309. T_receiving := c.GetString("T_receiving")
  310. T_start_Ut := c.GetString("T_start_Ut")
  311. T_end_Ut := c.GetString("T_end_Ut")
  312. T_start_Ut_T, _ := c.GetFloat("T_start_Ut_T")
  313. T_end_Ut_T, _ := c.GetFloat("T_end_Ut_T")
  314. T_text := c.GetString("T_text")
  315. T_start_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_start_Ut, time.Local)
  316. T_end_Ut_, err := time.ParseInLocation("2006-01-02 15:04:05", T_end_Ut, time.Local)
  317. var_ := Function.GoodsOrder{
  318. T_uuid: admin_r.Admin_uuid,
  319. T_orderid: T_orderid,
  320. T_outorderid: T_outorderid,
  321. T_sn: T_sn,
  322. T_receiving: T_receiving,
  323. T_start_Ut: T_start_Ut_,
  324. T_end_Ut: T_end_Ut_,
  325. T_start_Ut_T: float32(T_start_Ut_T),
  326. T_end_Ut_T: float32(T_end_Ut_T),
  327. T_text: T_text,
  328. T_State: 1,
  329. }
  330. if id > 0 {
  331. var_.Id = int(id)
  332. is := Function.Update_TGoodsOrder(var_, "T_orderid", "T_outorderid", "T_sn", "T_receiving", "T_start_Ut", "T_end_Ut", "T_start_Ut_T", "T_end_Ut_T", "T_text")
  333. if !is {
  334. c.Data["json"] = lib.JSONS{Code: 302, Msg: "修改失败!"}
  335. c.ServeJSON()
  336. return
  337. }
  338. } else {
  339. id, err = Function.Add_GoodsOrder(var_)
  340. if err != nil {
  341. c.Data["json"] = lib.JSONS{Code: 301, Msg: "添加失败!"}
  342. c.ServeJSON()
  343. return
  344. }
  345. }
  346. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  347. c.ServeJSON()
  348. return
  349. }
  350. func (c *GoodsOrderController) GoodsOrder_Del() {
  351. // 验证登录
  352. b_, admin_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  353. if !b_ {
  354. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  355. c.ServeJSON()
  356. return
  357. }
  358. Id, _ := c.GetInt("T_id")
  359. r := Function.Read_GoodsOrder_ById(Id)
  360. if r.Id == 0 {
  361. c.Data["json"] = lib.JSONS{Code: 204, Msg: "T_id !"}
  362. c.ServeJSON()
  363. return
  364. }
  365. if admin_r.Admin_uuid != r.T_uuid {
  366. c.Data["json"] = lib.JSONS{Code: 205, Msg: "你没有权限 !"}
  367. c.ServeJSON()
  368. return
  369. }
  370. r.T_State = 0
  371. Function.Update_TGoodsOrder(r, "T_State")
  372. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  373. c.ServeJSON()
  374. return
  375. }
  376. func (c *GoodsOrderController) List_Del() {
  377. Id, _ := c.GetInt("Id")
  378. if Id > 0 {
  379. GoodsOrder_r := Function.Read_GoodsOrder_ById(Id)
  380. Function.Delete_GoodsOrder_ById(GoodsOrder_r)
  381. } else {
  382. c.Data["json"] = lib.JSONS{Code: 201, Msg: "e!"}
  383. c.ServeJSON()
  384. return
  385. }
  386. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  387. c.ServeJSON()
  388. return
  389. }
  390. // 列表 - 接口
  391. func (c *GoodsOrderController) Data_PDF() {
  392. var err error
  393. // 验证登录
  394. b_, user_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  395. if !b_ {
  396. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  397. c.ServeJSON()
  398. return
  399. }
  400. Id, _ := c.GetInt("Id")
  401. if Id == 0 {
  402. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id e!"}
  403. c.ServeJSON()
  404. return
  405. }
  406. GoodsOrder_r := Function.Read_GoodsOrder_ById(Id)
  407. if GoodsOrder_r.Id == 0 {
  408. c.Data["json"] = lib.JSONS{Code: 207, Msg: "Id e!"}
  409. c.ServeJSON()
  410. return
  411. }
  412. Device_r, err := Device.Read_Device_ByT_sn(GoodsOrder_r.T_sn)
  413. if err != nil {
  414. c.Data["json"] = lib.JSONS{Code: 204, Msg: "T_sn Err!"}
  415. c.ServeJSON()
  416. return
  417. }
  418. DeviceSensor_r := Device.Read_DeviceSensor_ALL_List_T_sn(GoodsOrder_r.T_sn)
  419. if len(DeviceSensor_r) == 0 {
  420. c.Data["json"] = lib.JSONS{Code: 202, Msg: GoodsOrder_r.T_sn + "设备没有数据!"}
  421. c.ServeJSON()
  422. return
  423. }
  424. var DeviceSensor_data []Device.DeviceData_
  425. DeviceSensor_data, _ = Device.Read_DeviceSensorData_By_T_snid_List(GoodsOrder_r.T_sn+","+strconv.Itoa(DeviceSensor_r[0].T_id), GoodsOrder_r.T_start_Ut.Format("2006-01-02 15:04:05"), GoodsOrder_r.T_end_Ut.Format("2006-01-02 15:04:05"), 0, 9999)
  426. pdf := &gopdf.GoPdf{}
  427. pdf.Start(gopdf.Config{PageSize: gopdf.Rect{W: 595.28, H: 841.89}}) //595.28, 841.89 = A4
  428. //err = GetFont(pdf, "LiberationSerif-Regular.ttf")
  429. //if err != nil {
  430. // log.Fatalln(err)
  431. //}
  432. //err = pdf.SetFont("Ubuntu-L", "", 14)
  433. //if err != nil {
  434. // log.Fatalln(err)
  435. //}
  436. err = pdf.AddTTFFont("simsun", "static/fonts/三极行楷简体-粗.ttf")
  437. if err != nil {
  438. c.Data["json"] = lib.JSONS{Code: 204, Msg: "ok!", Data: err}
  439. c.ServeJSON()
  440. return
  441. }
  442. err = pdf.SetFont("simsun", "", 24)
  443. if err != nil {
  444. c.Data["json"] = lib.JSONS{Code: 205, Msg: "ok!", Data: err}
  445. c.ServeJSON()
  446. return
  447. }
  448. pdf.SetGrayFill(0.5)
  449. pdf.SetMargins(0, 20, 0, 20)
  450. pdf.AddPage()
  451. //use path
  452. //pdf.Image("logo.png", 100, 50, &gopdf.Rect{W: 50, H: 50})
  453. textw, _ := pdf.MeasureTextWidth(user_r.Admin_name)
  454. pdf.SetX((595 / 2) - (textw / 2))
  455. pdf.SetY(40)
  456. pdf.Text(user_r.Admin_name)
  457. // 线
  458. pdf.SetLineWidth(2)
  459. pdf.SetLineType("dashed")
  460. pdf.Line(10, 60, 585, 60)
  461. err = pdf.AddTTFFont("wts", "static/fonts/MiSans-Medium.ttf")
  462. if err != nil {
  463. c.Data["json"] = lib.JSONS{Code: 206, Msg: "ok!", Data: err}
  464. c.ServeJSON()
  465. return
  466. }
  467. err = pdf.SetFont("wts", "", 10)
  468. if err != nil {
  469. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  470. c.ServeJSON()
  471. return
  472. }
  473. //fmt.Sprintf(" %.1f ", v.T_t)
  474. //lib.RectFillColor(pdf, "历史数据["+Time_start+" / "+Time_end+"]", 14, 22, 80, 550, 40, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  475. // -------------
  476. x := 22.0
  477. w1 := 80.0
  478. w2 := 195.0
  479. lib.RectFillColor(pdf, "订单号:", 12, x, 80, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  480. x += w1
  481. lib.RectFillColor(pdf, GoodsOrder_r.T_orderid, 12, x, 80, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  482. x += w2
  483. lib.RectFillColor(pdf, "出库订单号:", 12, x, 80, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  484. x += w1
  485. lib.RectFillColor(pdf, GoodsOrder_r.T_outorderid, 12, x, 80, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  486. x += w2
  487. // -------------
  488. x = 22.0
  489. w1 = 80.0
  490. w2 = 195.0
  491. lib.RectFillColor(pdf, "设备名称:", 12, x, 100, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  492. x += w1
  493. lib.RectFillColor(pdf, Device_r.T_devName, 12, x, 100, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  494. x += w2
  495. lib.RectFillColor(pdf, "设备编号:", 12, x, 100, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  496. x += w1
  497. lib.RectFillColor(pdf, Device_r.T_sn, 12, x, 100, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  498. x += w2
  499. // -------------
  500. x = 22.0
  501. w1 = 80.0
  502. w2 = 240.0
  503. T_time := fmt.Sprintf("%s", GoodsOrder_r.T_start_Ut.Format("2006-01-02 15:04:05")+" - "+GoodsOrder_r.T_end_Ut.Format("2006-01-02 15:04:05"))
  504. lib.RectFillColor(pdf, "送货时间:", 12, x, 120, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  505. x += w1
  506. lib.RectFillColor(pdf, T_time, 12, x, 120, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  507. x += w2
  508. T_time = fmt.Sprintf("%s", GoodsOrder_r.CreateTime.Format("2006-01-02 15:04:05"))
  509. lib.RectFillColor(pdf, "订单时间:", 12, x, 120, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  510. x += w1
  511. lib.RectFillColor(pdf, T_time, 12, x, 120, 150, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  512. // -------------
  513. x = 22.0
  514. w1 = 80.0
  515. w2 = 195.0*2 + 80
  516. T_text := fmt.Sprintf("%s", GoodsOrder_r.T_receiving)
  517. lib.RectFillColor(pdf, "收货单位:", 12, x, 140, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  518. x += w1
  519. lib.RectFillColor(pdf, T_text, 12, x, 140, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  520. x += w2
  521. // -----------
  522. textw, _ = pdf.MeasureTextWidth("历史数据")
  523. pdf.SetX(20)
  524. pdf.SetY(210)
  525. pdf.Text("历史数据:")
  526. // 数据展示--------------------------------
  527. var y float64 = 220
  528. x = 22.0
  529. w1 = 94.0
  530. w2 = 43.0
  531. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  532. x += w1
  533. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  534. x += w2
  535. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  536. x += w1
  537. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  538. x += w2
  539. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  540. x += w1
  541. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  542. x += w2
  543. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  544. x += w1
  545. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  546. x += w2
  547. // 数据展示--------------------------------
  548. y = 240
  549. err = pdf.SetFont("wts", "", 8)
  550. if err != nil {
  551. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  552. c.ServeJSON()
  553. return
  554. }
  555. nln := 0
  556. x = 22.0
  557. var T_t_l float32 = 100.0
  558. var T_t_u float32 = 0.0
  559. var T_t_v float32 = 0.0
  560. for n := 0; len(DeviceSensor_data) > n; n++ {
  561. // -计算温度
  562. if DeviceSensor_data[n].T_t < T_t_l {
  563. T_t_l = DeviceSensor_data[n].T_t
  564. }
  565. if DeviceSensor_data[n].T_t > T_t_u {
  566. T_t_u = DeviceSensor_data[n].T_t
  567. }
  568. T_t_v += DeviceSensor_data[n].T_t
  569. //text := fmt.Sprintf(" %d ", i+1)
  570. var textH float64 = 25 // if text height is 25px.
  571. pdf.SetNewY(y, textH)
  572. y = pdf.GetY()
  573. nln++
  574. if nln > 4 {
  575. nln = 1
  576. x = 22.0
  577. y += 18
  578. }
  579. // ------------------
  580. T_t := fmt.Sprintf(" %.1f ", DeviceSensor_data[n].T_t)
  581. T_time = fmt.Sprintf("%s", DeviceSensor_data[n].T_time)
  582. lib.RectFillColor(pdf, T_time, 10, x, y, w1, 18, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  583. x += w1
  584. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 18, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  585. x += w2
  586. }
  587. err = pdf.SetFont("wts", "", 10)
  588. if err != nil {
  589. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  590. c.ServeJSON()
  591. return
  592. }
  593. // 数据汇总--------------------------------
  594. y = 160
  595. x = 22.0
  596. w1 = 60.0
  597. w2 = 50.0
  598. T_t := fmt.Sprintf(" %.1f℃ ", DeviceSensor_data[len(DeviceSensor_data)-1].T_t)
  599. lib.RectFillColor(pdf, "起送温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  600. x += w1
  601. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  602. x += w2
  603. T_t = fmt.Sprintf(" %.1f℃ ", DeviceSensor_data[0].T_t)
  604. lib.RectFillColor(pdf, "送达温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  605. x += w1
  606. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  607. x += w2
  608. T_t = fmt.Sprintf(" %.1f℃ ", T_t_l)
  609. lib.RectFillColor(pdf, "最低温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  610. x += w1
  611. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  612. x += w2
  613. T_t = fmt.Sprintf(" %.1f℃ ", float32(T_t_v/float32(len(DeviceSensor_data)-1)))
  614. lib.RectFillColor(pdf, "平均温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  615. x += w1
  616. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  617. x += w2
  618. T_t = fmt.Sprintf(" %.1f℃ ", T_t_u)
  619. lib.RectFillColor(pdf, "最高温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  620. x += w1
  621. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  622. x += w2
  623. //----------------
  624. timeStr := "ofile/" + time.Now().Format("20060102150405") + ".pdf"
  625. err = pdf.WritePdf(timeStr)
  626. if err != nil {
  627. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  628. c.ServeJSON()
  629. return
  630. }
  631. // 上传 OSS
  632. url, is := NatsServer.Qiniu_UploadFile(lib.GetCurrentDirectory()+"/"+timeStr, timeStr)
  633. if !is {
  634. c.Data["json"] = lib.JSONS{Code: 203, Msg: "oss!"}
  635. c.ServeJSON()
  636. return
  637. }
  638. //删除目录
  639. err = os.Remove(timeStr)
  640. if err != nil {
  641. fmt.Println(err)
  642. }
  643. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: url}
  644. c.ServeJSON()
  645. return
  646. }
  647. // 列表 - 接口
  648. func (c *GoodsOrderController) GoodsOrder_PDF() {
  649. var err error
  650. // 验证登录
  651. b_, user_r := lib.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  652. if !b_ {
  653. c.Data["json"] = lib.JSONS{Code: 201, Msg: "User_tokey Err!"}
  654. c.ServeJSON()
  655. return
  656. }
  657. Id, _ := c.GetInt("T_id")
  658. if Id == 0 {
  659. c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id e!"}
  660. c.ServeJSON()
  661. return
  662. }
  663. GoodsOrder_r := Function.Read_GoodsOrder_ById(Id)
  664. if GoodsOrder_r.Id == 0 {
  665. c.Data["json"] = lib.JSONS{Code: 207, Msg: "Id e!"}
  666. c.ServeJSON()
  667. return
  668. }
  669. Device_r, err := Device.Read_Device_ByT_sn(GoodsOrder_r.T_sn)
  670. if err != nil {
  671. c.Data["json"] = lib.JSONS{Code: 204, Msg: "T_sn Err!"}
  672. c.ServeJSON()
  673. return
  674. }
  675. DeviceSensor_r := Device.Read_DeviceSensor_ALL_List_T_sn(GoodsOrder_r.T_sn)
  676. if len(DeviceSensor_r) == 0 {
  677. c.Data["json"] = lib.JSONS{Code: 202, Msg: GoodsOrder_r.T_sn + "设备没有数据!"}
  678. c.ServeJSON()
  679. return
  680. }
  681. var DeviceSensor_data []Device.DeviceData_
  682. DeviceSensor_data, _ = Device.Read_DeviceSensorData_By_T_snid_List(GoodsOrder_r.T_sn+","+strconv.Itoa(DeviceSensor_r[0].T_id), GoodsOrder_r.T_start_Ut.Format("2006-01-02 15:04:05"), GoodsOrder_r.T_end_Ut.Format("2006-01-02 15:04:05"), 0, 9999)
  683. pdf := &gopdf.GoPdf{}
  684. pdf.Start(gopdf.Config{PageSize: gopdf.Rect{W: 595.28, H: 841.89}}) //595.28, 841.89 = A4
  685. //err = GetFont(pdf, "LiberationSerif-Regular.ttf")
  686. //if err != nil {
  687. // log.Fatalln(err)
  688. //}
  689. //err = pdf.SetFont("Ubuntu-L", "", 14)
  690. //if err != nil {
  691. // log.Fatalln(err)
  692. //}
  693. err = pdf.AddTTFFont("simsun", "static/fonts/三极行楷简体-粗.ttf")
  694. if err != nil {
  695. c.Data["json"] = lib.JSONS{Code: 204, Msg: "ok!", Data: err}
  696. c.ServeJSON()
  697. return
  698. }
  699. err = pdf.SetFont("simsun", "", 24)
  700. if err != nil {
  701. c.Data["json"] = lib.JSONS{Code: 205, Msg: "ok!", Data: err}
  702. c.ServeJSON()
  703. return
  704. }
  705. pdf.SetGrayFill(0.5)
  706. pdf.SetMargins(0, 20, 0, 20)
  707. pdf.AddPage()
  708. //use path
  709. //pdf.Image("logo.png", 100, 50, &gopdf.Rect{W: 50, H: 50})
  710. textw, _ := pdf.MeasureTextWidth(user_r.Admin_name)
  711. pdf.SetX((595 / 2) - (textw / 2))
  712. pdf.SetY(40)
  713. pdf.Text(user_r.Admin_name)
  714. // 线
  715. pdf.SetLineWidth(2)
  716. pdf.SetLineType("dashed")
  717. pdf.Line(10, 60, 585, 60)
  718. err = pdf.AddTTFFont("wts", "static/fonts/MiSans-Medium.ttf")
  719. if err != nil {
  720. c.Data["json"] = lib.JSONS{Code: 206, Msg: "ok!", Data: err}
  721. c.ServeJSON()
  722. return
  723. }
  724. err = pdf.SetFont("wts", "", 10)
  725. if err != nil {
  726. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  727. c.ServeJSON()
  728. return
  729. }
  730. //fmt.Sprintf(" %.1f ", v.T_t)
  731. //lib.RectFillColor(pdf, "历史数据["+Time_start+" / "+Time_end+"]", 14, 22, 80, 550, 40, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  732. // -------------
  733. x := 22.0
  734. w1 := 80.0
  735. w2 := 195.0
  736. lib.RectFillColor(pdf, "订单号:", 12, x, 80, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  737. x += w1
  738. lib.RectFillColor(pdf, GoodsOrder_r.T_orderid, 12, x, 80, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  739. x += w2
  740. lib.RectFillColor(pdf, "出库订单号:", 12, x, 80, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  741. x += w1
  742. lib.RectFillColor(pdf, GoodsOrder_r.T_outorderid, 12, x, 80, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  743. x += w2
  744. // -------------
  745. x = 22.0
  746. w1 = 80.0
  747. w2 = 195.0
  748. lib.RectFillColor(pdf, "设备名称:", 12, x, 100, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  749. x += w1
  750. lib.RectFillColor(pdf, Device_r.T_devName, 12, x, 100, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  751. x += w2
  752. lib.RectFillColor(pdf, "设备编号:", 12, x, 100, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  753. x += w1
  754. lib.RectFillColor(pdf, Device_r.T_sn, 12, x, 100, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  755. x += w2
  756. // -------------
  757. x = 22.0
  758. w1 = 80.0
  759. w2 = 240.0
  760. T_time := fmt.Sprintf("%s", GoodsOrder_r.T_start_Ut.Format("2006-01-02 15:04:05")+" - "+GoodsOrder_r.T_end_Ut.Format("2006-01-02 15:04:05"))
  761. lib.RectFillColor(pdf, "送货时间:", 12, x, 120, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  762. x += w1
  763. lib.RectFillColor(pdf, T_time, 12, x, 120, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  764. x += w2
  765. T_time = fmt.Sprintf("%s", GoodsOrder_r.CreateTime.Format("2006-01-02 15:04:05"))
  766. lib.RectFillColor(pdf, "订单时间:", 12, x, 120, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  767. x += w1
  768. lib.RectFillColor(pdf, T_time, 12, x, 120, 150, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  769. // -------------
  770. x = 22.0
  771. w1 = 80.0
  772. w2 = 195.0*2 + 80
  773. T_text := fmt.Sprintf("%s", GoodsOrder_r.T_receiving)
  774. lib.RectFillColor(pdf, "收货单位:", 12, x, 140, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  775. x += w1
  776. lib.RectFillColor(pdf, T_text, 12, x, 140, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  777. x += w2
  778. // -----------
  779. textw, _ = pdf.MeasureTextWidth("历史数据")
  780. pdf.SetX(20)
  781. pdf.SetY(210)
  782. pdf.Text("历史数据:")
  783. // 数据展示--------------------------------
  784. var y float64 = 220
  785. x = 22.0
  786. w1 = 94.0
  787. w2 = 43.0
  788. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  789. x += w1
  790. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  791. x += w2
  792. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  793. x += w1
  794. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  795. x += w2
  796. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  797. x += w1
  798. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  799. x += w2
  800. lib.RectFillColor(pdf, "记录时间", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  801. x += w1
  802. lib.RectFillColor(pdf, "温度℃", 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  803. x += w2
  804. // 数据展示--------------------------------
  805. y = 240
  806. err = pdf.SetFont("wts", "", 8)
  807. if err != nil {
  808. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  809. c.ServeJSON()
  810. return
  811. }
  812. nln := 0
  813. x = 22.0
  814. var T_t_l float32 = 100.0
  815. var T_t_u float32 = 0.0
  816. var T_t_v float32 = 0.0
  817. for n := 0; len(DeviceSensor_data) > n; n++ {
  818. // -计算温度
  819. if DeviceSensor_data[n].T_t < T_t_l {
  820. T_t_l = DeviceSensor_data[n].T_t
  821. }
  822. if DeviceSensor_data[n].T_t > T_t_u {
  823. T_t_u = DeviceSensor_data[n].T_t
  824. }
  825. T_t_v += DeviceSensor_data[n].T_t
  826. //text := fmt.Sprintf(" %d ", i+1)
  827. var textH float64 = 25 // if text height is 25px.
  828. pdf.SetNewY(y, textH)
  829. y = pdf.GetY()
  830. nln++
  831. if nln > 4 {
  832. nln = 1
  833. x = 22.0
  834. y += 18
  835. }
  836. // ------------------
  837. T_t := fmt.Sprintf(" %.1f ", DeviceSensor_data[n].T_t)
  838. T_time = fmt.Sprintf("%s", DeviceSensor_data[n].T_time)
  839. lib.RectFillColor(pdf, T_time, 10, x, y, w1, 18, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  840. x += w1
  841. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 18, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  842. x += w2
  843. }
  844. err = pdf.SetFont("wts", "", 10)
  845. if err != nil {
  846. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  847. c.ServeJSON()
  848. return
  849. }
  850. // 数据汇总--------------------------------
  851. y = 160
  852. x = 22.0
  853. w1 = 60.0
  854. w2 = 50.0
  855. T_t := fmt.Sprintf(" %.1f℃ ", DeviceSensor_data[len(DeviceSensor_data)-1].T_t)
  856. lib.RectFillColor(pdf, "起送温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  857. x += w1
  858. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  859. x += w2
  860. T_t = fmt.Sprintf(" %.1f℃ ", DeviceSensor_data[0].T_t)
  861. lib.RectFillColor(pdf, "送达温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  862. x += w1
  863. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  864. x += w2
  865. T_t = fmt.Sprintf(" %.1f℃ ", T_t_l)
  866. lib.RectFillColor(pdf, "最低温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  867. x += w1
  868. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  869. x += w2
  870. T_t = fmt.Sprintf(" %.1f℃ ", float32(T_t_v/float32(len(DeviceSensor_data)-1)))
  871. lib.RectFillColor(pdf, "平均温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  872. x += w1
  873. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  874. x += w2
  875. T_t = fmt.Sprintf(" %.1f℃ ", T_t_u)
  876. lib.RectFillColor(pdf, "最高温度", 10, x, y, w1, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  877. x += w1
  878. lib.RectFillColor(pdf, T_t, 10, x, y, w2, 20, 255, 255, 255, lib.AlignCenter, lib.ValignMiddle)
  879. x += w2
  880. //----------------
  881. timeStr := "ofile/" + time.Now().Format("20060102150405") + ".pdf"
  882. err = pdf.WritePdf(timeStr)
  883. if err != nil {
  884. c.Data["json"] = lib.JSONS{Code: 207, Msg: "ok!", Data: err}
  885. c.ServeJSON()
  886. return
  887. }
  888. // 上传 OSS
  889. url, is := NatsServer.Qiniu_UploadFile(lib.GetCurrentDirectory()+"/"+timeStr, timeStr)
  890. if !is {
  891. c.Data["json"] = lib.JSONS{Code: 203, Msg: "oss!"}
  892. c.ServeJSON()
  893. return
  894. }
  895. //删除目录
  896. err = os.Remove(timeStr)
  897. if err != nil {
  898. fmt.Println(err)
  899. }
  900. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: url}
  901. c.ServeJSON()
  902. return
  903. }