GoodsOrder.go 29 KB

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