sap.go 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  1. package routers
  2. import (
  3. "github.com/360EntSecGroup-Skylar/excelize"
  4. "github.com/Anderson-Lu/gofasion/gofasion"
  5. "github.com/gin-gonic/gin"
  6. "github.com/pkg/errors"
  7. "io/ioutil"
  8. "kpt.xdmy/apiserver/model"
  9. "kpt.xdmy/apiserver/model/http"
  10. "kpt.xdmy/apiserver/routers/restful"
  11. "kpt.xdmy/apiserver/service"
  12. "kpt.xdmy/pkg/logging"
  13. )
  14. func ProofList(c *gin.Context) {
  15. p := new(model.ProofReq)
  16. //if !Bind(c, p) {
  17. // return
  18. //}
  19. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  20. fsion := gofasion.NewFasion(string(dataByte))
  21. p.OrderNumber = fsion.Get("OrderNumber").ValueStr()
  22. p.NumberType = fsion.Get("NumberType").ValueInt()
  23. rp := service.ProofList(p)
  24. c.JSON(200, &rp)
  25. }
  26. func ProofOff(c *gin.Context) {
  27. p := new(model.ProofReq)
  28. if !Bind(c, p) {
  29. return
  30. }
  31. rp := svc.ProofOff(p)
  32. c.JSON(200, &rp)
  33. }
  34. func ProofOffList(c *gin.Context) {
  35. p := new(model.ProofReq)
  36. if !Bind(c, p) {
  37. return
  38. }
  39. rp := service.ProofList(p)
  40. c.JSON(rp.Code, &rp)
  41. }
  42. func ManualTransfer(c *gin.Context) {
  43. list := make([]*http.ManaulReq, 0)
  44. //p := new(http.ManaulReq)
  45. c.Bind(&list)
  46. tx, err := restful.Dbs.Beginx()
  47. defer func() {
  48. switch {
  49. case err != nil:
  50. logging.Error("tx.Begin 事务启动失败__error:", err)
  51. if tx != nil {
  52. tx.Rollback()
  53. }
  54. default:
  55. if tx != nil {
  56. err = tx.Commit()
  57. }
  58. }
  59. }()
  60. for _, item := range list {
  61. err := service.ManualTransfer(item.Id, tx)
  62. if err == nil {
  63. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  64. return
  65. } else {
  66. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": "fail"})
  67. return
  68. }
  69. }
  70. }
  71. func ManaulSapOrder(c *gin.Context) {
  72. ////dataByte, _ := ioutil.ReadAll(c.Request.Body)
  73. ////fsion := gofasion.NewFasion(string(dataByte))
  74. ////for _, code := range fsion.Array() {
  75. //if e := service.ManaulSapOrderJob(""); e != nil {
  76. // c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": "fail"})
  77. // return
  78. //}
  79. ////}
  80. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  81. fsion := gofasion.NewFasion(string(dataByte))
  82. for _, code := range fsion.Array() {
  83. if e := service.ManaulSapOrderJob(code.Get("buyeCode").ValueStr()); e != nil {
  84. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": "fail"})
  85. return
  86. }
  87. }
  88. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  89. }
  90. func ManaulSrmOrderJob(c *gin.Context) {
  91. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  92. fsion := gofasion.NewFasion(string(dataByte))
  93. //parammaps := fsion.Get("list").Array()
  94. for _, code := range fsion.Array() {
  95. service.ManaulSrmOrderJob(code.Get("buyeCode").ValueStr())
  96. }
  97. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  98. }
  99. //手动入库
  100. func LaidProof(c *gin.Context) {
  101. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  102. fsion := gofasion.NewFasion(string(dataByte))
  103. //parammaps := fsion.Get("list").Array()
  104. var err []error
  105. tx, err1 := restful.Dbs.Beginx()
  106. if err1 != nil {
  107. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  108. return
  109. }
  110. for _, parammap := range fsion.Array() {
  111. p := new(http.ProofPartReq)
  112. p.LaidCode = parammap.Get("laidCode").ValueStr()
  113. p.StorageTime = parammap.Get("creatTime").ValueStr()
  114. err1 := svc.LaidProof(p, tx)
  115. err = append(err, err1)
  116. }
  117. err1 = tx.Commit()
  118. if err1 != nil {
  119. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  120. return
  121. }
  122. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  123. }
  124. //手动出库
  125. func UseProof(c *gin.Context) {
  126. //p := new(http.ProofPartReq)
  127. //c.Bind(&p)
  128. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  129. fsion := gofasion.NewFasion(string(dataByte))
  130. //parammaps := fsion.Get("list").Array()
  131. tx, err1 := restful.Dbs.Beginx()
  132. if err1 != nil {
  133. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  134. return
  135. }
  136. for _, parammap := range fsion.Array() {
  137. p := new(http.ProofPartReq)
  138. p.UseForm = parammap.Get("useForm").ValueStr()
  139. p.ReceiveTime = parammap.Get("creatTime").ValueStr()
  140. svc.UseProof(p, tx)
  141. }
  142. err1 = tx.Commit()
  143. if err1 != nil {
  144. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  145. return
  146. }
  147. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  148. }
  149. //手动退货
  150. func RefundProof(c *gin.Context) {
  151. //p := make([]*http.ProofPartReq, 0)
  152. //c.Bind(&p)
  153. //for _, item := range p {
  154. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  155. fsion := gofasion.NewFasion(string(dataByte))
  156. //parammaps := fsion.Get("list").Array()
  157. tx, err1 := restful.Dbs.Beginx()
  158. if err1 != nil {
  159. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  160. return
  161. }
  162. for _, parammap := range fsion.Array() {
  163. p := new(http.ProofPartReq)
  164. p.ID = parammap.Get("id").ValueInt()
  165. svc.RefundProof(p, tx)
  166. }
  167. err1 = tx.Commit()
  168. if err1 != nil {
  169. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  170. return
  171. }
  172. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 0}, "msg": "ok"})
  173. }
  174. //手动退库
  175. func QuitProof(c *gin.Context) {
  176. dataByte, _ := ioutil.ReadAll(c.Request.Body)
  177. fsion := gofasion.NewFasion(string(dataByte))
  178. //parammaps := fsion.Get("list").Array()
  179. tx, err1 := restful.Dbs.Beginx()
  180. if err1 != nil {
  181. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  182. return
  183. }
  184. for _, parammap := range fsion.Array() {
  185. p := new(http.ProofPartReq)
  186. p.UseForm = parammap.Get("useForm").ValueStr()
  187. p.QuitDate = parammap.Get("quitDate").ValueStr()
  188. svc.QuitProof(p, tx)
  189. }
  190. err1 = tx.Commit()
  191. if err1 != nil {
  192. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": err1})
  193. return
  194. }
  195. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 200}, "msg": "ok"})
  196. }
  197. func Exec(c *gin.Context) {
  198. file, err := c.FormFile("file")
  199. if err != nil {
  200. err = errors.Wrap(err, "AddManagement-error")
  201. return
  202. }
  203. f, _ := file.Open()
  204. xlsx1, err := excelize.OpenReader(f)
  205. rows := xlsx1.GetRows("人员花名册")
  206. service.Exec(rows)
  207. }
  208. func DepartmentExec(c *gin.Context) {
  209. file, err := c.FormFile("file")
  210. if err != nil {
  211. err = errors.Wrap(err, "AddManagement-error")
  212. return
  213. }
  214. f, _ := file.Open()
  215. xlsx1, err := excelize.OpenReader(f)
  216. rows := xlsx1.GetRows("Sheet1")
  217. service.DepartmentExec(rows)
  218. }
  219. func ProviderExec(c *gin.Context) {
  220. file, err := c.FormFile("file")
  221. if err != nil {
  222. err = errors.Wrap(err, "AddManagement-error")
  223. return
  224. }
  225. f, _ := file.Open()
  226. xlsx1, err := excelize.OpenReader(f)
  227. rows := xlsx1.GetRows("Sheet1")
  228. service.ProviderExec(rows)
  229. }
  230. func EquipmentExec(c *gin.Context) {
  231. file, err := c.FormFile("file")
  232. if err != nil {
  233. err = errors.Wrap(err, "AddManagement-error")
  234. return
  235. }
  236. f, _ := file.Open()
  237. xlsx1, err := excelize.OpenReader(f)
  238. rows := xlsx1.GetRows("设备基础信息")
  239. err = service.EquipmentExec(rows)
  240. if err != nil {
  241. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": "fail"})
  242. return
  243. }
  244. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 200}, "msg": "ok"})
  245. }
  246. func EquipmentExecAdd(c *gin.Context) {
  247. file, err := c.FormFile("file")
  248. if err != nil {
  249. err = errors.Wrap(err, "AddManagement-error")
  250. return
  251. }
  252. f, _ := file.Open()
  253. xlsx1, err := excelize.OpenReader(f)
  254. rows := xlsx1.GetRows("财务资产汇总")
  255. err = service.EquipmentExecAdd(rows)
  256. if err != nil {
  257. c.JSON(500, map[string]interface{}{"code": 500, "data": map[string]interface{}{"code": 0}, "msg": "fail"})
  258. return
  259. }
  260. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 200}, "msg": "ok"})
  261. }
  262. func ContractExec(c *gin.Context) {
  263. file, err := c.FormFile("file")
  264. if err != nil {
  265. err = errors.Wrap(err, "AddManagement-error")
  266. return
  267. }
  268. f, _ := file.Open()
  269. xlsx1, err := excelize.OpenReader(f)
  270. rows := xlsx1.GetRows("三位小数清单")
  271. service.ContractExec(rows)
  272. c.JSON(200, map[string]interface{}{"code": 200, "data": map[string]interface{}{"code": 200}, "msg": "ok"})
  273. }