Basic.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. package controllers
  2. import (
  3. "ERP_storage/Nats/NatsServer"
  4. "ERP_storage/conf"
  5. "ERP_storage/models/Account"
  6. "ERP_storage/models/Basic"
  7. "ERP_storage/models/Stock"
  8. userlibs "git.baozhida.cn/ERP_libs/User"
  9. "git.baozhida.cn/ERP_libs/lib"
  10. "github.com/beego/beego/v2/adapter/orm"
  11. beego "github.com/beego/beego/v2/server/web"
  12. "math"
  13. "strconv"
  14. )
  15. type BasicController struct {
  16. beego.Controller
  17. User userlibs.User
  18. }
  19. func (c *BasicController) Prepare() {
  20. c.User = *Account.User_r
  21. }
  22. func (c *BasicController) Depot_List() {
  23. // 分页参数 初始化
  24. page, _ := c.GetInt("page")
  25. if page < 1 {
  26. page = 1
  27. }
  28. page_z, _ := c.GetInt("page_z")
  29. if page_z < 1 {
  30. page_z = conf.Page_size
  31. }
  32. // 查询
  33. T_name := c.GetString("T_name")
  34. R_List, R_cnt := Basic.Read_Depot_List(T_name, page, page_z)
  35. var r_jsons lib.R_JSONS
  36. r_jsons.Num = R_cnt
  37. r_jsons.Data = R_List
  38. r_jsons.Page = page
  39. r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z)))
  40. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  41. c.ServeJSON()
  42. return
  43. }
  44. func (c *BasicController) Depot_Add() {
  45. T_name := c.GetString("T_name")
  46. var_ := Basic.Depot{
  47. T_name: T_name,
  48. T_State: 1,
  49. }
  50. Id, err := Basic.Add_Depot(var_)
  51. if err != nil {
  52. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  53. c.ServeJSON()
  54. return
  55. }
  56. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "添加", var_)
  57. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  58. c.ServeJSON()
  59. return
  60. }
  61. func (c *BasicController) Depot_Edit() {
  62. T_id, _ := c.GetInt("T_id")
  63. T_name := c.GetString("T_name")
  64. Depot_r, err := Basic.Read_Depot_ById(T_id)
  65. if err != nil {
  66. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  67. c.ServeJSON()
  68. return
  69. }
  70. if len(T_name) > 0 {
  71. Depot_r.T_name = T_name
  72. }
  73. if err = Basic.Update_Depot(Depot_r, "T_name"); err != nil {
  74. c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"}
  75. c.ServeJSON()
  76. return
  77. }
  78. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "修改", Depot_r)
  79. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  80. c.ServeJSON()
  81. return
  82. }
  83. func (c *BasicController) Depot_Del() {
  84. T_id, _ := c.GetInt("T_id")
  85. Depot_r, err := Basic.Read_Depot_ById(T_id)
  86. if err != nil {
  87. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  88. c.ServeJSON()
  89. return
  90. }
  91. StockDao := Stock.NewStock(orm.NewOrm())
  92. count := StockDao.Read_Stock_Count_ByT_depot_id(Depot_r.Id)
  93. if count > 0 {
  94. c.Data["json"] = lib.JSONS{Code: 202, Msg: "该仓库库存不为空,禁止删除!"}
  95. c.ServeJSON()
  96. return
  97. }
  98. if err = Basic.Delete_Depot(Depot_r); err != nil {
  99. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  100. c.ServeJSON()
  101. return
  102. }
  103. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "删除", strconv.Itoa(T_id))
  104. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  105. c.ServeJSON()
  106. return
  107. }
  108. // 产品型号
  109. func (c *BasicController) ProductModel_List() {
  110. // 查询
  111. T_name := c.GetString("T_name")
  112. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Basic.Read_ProductModel_List(T_name)}
  113. c.ServeJSON()
  114. return
  115. }
  116. func (c *BasicController) ProductName_List() {
  117. // 查询
  118. T_name := c.GetString("T_name")
  119. T_class, _ := c.GetInt("T_class")
  120. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Basic.Read_ProductName_List(T_name, T_class)}
  121. c.ServeJSON()
  122. return
  123. }
  124. // 产品规格
  125. func (c *BasicController) ProductSpec_List() {
  126. // 查询
  127. T_name := c.GetString("T_name")
  128. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Basic.Read_ProductSpec_List(T_name)}
  129. c.ServeJSON()
  130. return
  131. }
  132. func (c *BasicController) ProductClass_List() {
  133. // 分页参数 初始化
  134. page, _ := c.GetInt("page")
  135. if page < 1 {
  136. page = 1
  137. }
  138. page_z, _ := c.GetInt("page_z")
  139. if page_z < 1 {
  140. page_z = conf.Page_size
  141. }
  142. // 查询
  143. T_name := c.GetString("T_name")
  144. R_List, R_cnt := Basic.Read_ProductClass_List(T_name, page, page_z)
  145. var r_jsons lib.R_JSONS
  146. r_jsons.Num = R_cnt
  147. r_jsons.Data = R_List
  148. r_jsons.Page = page
  149. r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z)))
  150. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  151. c.ServeJSON()
  152. return
  153. }
  154. func (c *BasicController) ProductClass_Add() {
  155. T_name := c.GetString("T_name")
  156. var_ := Basic.ProductClass{
  157. T_name: T_name,
  158. T_State: 1,
  159. }
  160. Id, err := Basic.Add_ProductClass(var_)
  161. if err != nil {
  162. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  163. c.ServeJSON()
  164. return
  165. }
  166. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "添加", var_)
  167. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  168. c.ServeJSON()
  169. return
  170. }
  171. func (c *BasicController) ProductClass_Edit() {
  172. T_id, _ := c.GetInt("T_id")
  173. T_name := c.GetString("T_name")
  174. ProductClass_r, err := Basic.Read_ProductClass_ById(T_id)
  175. if err != nil {
  176. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  177. c.ServeJSON()
  178. return
  179. }
  180. if len(T_name) > 0 {
  181. ProductClass_r.T_name = T_name
  182. }
  183. if err = Basic.Update_ProductClass(ProductClass_r, "T_name"); err != nil {
  184. c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"}
  185. c.ServeJSON()
  186. return
  187. }
  188. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "修改", ProductClass_r)
  189. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  190. c.ServeJSON()
  191. return
  192. }
  193. func (c *BasicController) ProductClass_Del() {
  194. T_id, _ := c.GetInt("T_id")
  195. ProductClass_r, err := Basic.Read_ProductClass_ById(T_id)
  196. if err != nil {
  197. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  198. c.ServeJSON()
  199. return
  200. }
  201. if err = Basic.Delete_ProductClass(ProductClass_r); err != nil {
  202. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  203. c.ServeJSON()
  204. return
  205. }
  206. NatsServer.AddUserLogs(c.User.T_uuid, "仓库", "删除", strconv.Itoa(T_id))
  207. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  208. c.ServeJSON()
  209. return
  210. }
  211. func (c *BasicController) Product_List() {
  212. // 分页参数 初始化
  213. page, _ := c.GetInt("page")
  214. if page < 1 {
  215. page = 1
  216. }
  217. page_z, _ := c.GetInt("page_z")
  218. if page_z < 1 {
  219. page_z = conf.Page_size
  220. }
  221. // 查询
  222. T_name := c.GetString("T_name")
  223. T_model := c.GetString("T_model")
  224. T_class, _ := c.GetInt("T_class")
  225. T_VerifyContract, _ := c.GetInt("T_VerifyContract")
  226. R_List, R_cnt := Basic.Read_Product_List(T_name, T_model, T_class, T_VerifyContract, page, page_z)
  227. var r_jsons lib.R_JSONS
  228. r_jsons.Num = R_cnt
  229. r_jsons.Data = R_List
  230. r_jsons.Page = page
  231. r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z)))
  232. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  233. c.ServeJSON()
  234. return
  235. }
  236. func (c *BasicController) Product_Add() {
  237. T_name := c.GetString("T_name")
  238. T_class, _ := c.GetInt("T_class")
  239. T_model := c.GetString("T_model")
  240. T_spec := c.GetString("T_spec")
  241. T_relation_sn, _ := c.GetInt("T_relation_sn")
  242. T_price, _ := c.GetFloat("T_price")
  243. T_img := c.GetString("T_img")
  244. T_remark := c.GetString("T_remark")
  245. if len(T_name) == 0 {
  246. c.Data["json"] = lib.JSONS{Code: 202, Msg: "产品名称不能为空!"}
  247. c.ServeJSON()
  248. return
  249. }
  250. product, err := Basic.Read_Product_ByT_name(T_name, T_model, T_spec)
  251. if err != nil && err.Error() != orm.ErrNoRows.Error() {
  252. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  253. c.ServeJSON()
  254. return
  255. }
  256. if product.Id > 0 {
  257. c.Data["json"] = lib.JSONS{Code: 203, Msg: "该产品已存在"}
  258. c.ServeJSON()
  259. return
  260. }
  261. var_ := Basic.Product{
  262. T_name: T_name,
  263. T_class: T_class,
  264. T_model: T_model,
  265. T_spec: T_spec,
  266. T_price: float32(T_price),
  267. T_relation_sn: T_relation_sn,
  268. T_img: T_img,
  269. T_remark: T_remark,
  270. T_State: 1,
  271. }
  272. Id, err := Basic.Add_Product(var_)
  273. if err != nil {
  274. c.Data["json"] = lib.JSONS{Code: 203, Msg: "添加失败"}
  275. c.ServeJSON()
  276. return
  277. }
  278. NatsServer.AddUserLogs(c.User.T_uuid, "产品", "添加", var_)
  279. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: Id}
  280. c.ServeJSON()
  281. return
  282. }
  283. func (c *BasicController) Product_Edit() {
  284. T_id, _ := c.GetInt("T_id")
  285. T_name := c.GetString("T_name")
  286. T_class, _ := c.GetInt("T_class")
  287. T_model := c.GetString("T_model")
  288. T_spec := c.GetString("T_spec")
  289. T_price, _ := c.GetFloat("T_price")
  290. T_relation_sn, _ := c.GetInt("T_relation_sn")
  291. T_img := c.GetString("T_img")
  292. T_remark := c.GetString("T_remark")
  293. Product_r, err := Basic.Read_Product_ById(T_id)
  294. if err != nil {
  295. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  296. c.ServeJSON()
  297. return
  298. }
  299. if len(T_name) > 0 {
  300. Product_r.T_name = T_name
  301. }
  302. if T_class > 0 {
  303. Product_r.T_class = T_class
  304. }
  305. if len(T_model) > 0 {
  306. Product_r.T_model = T_model
  307. }
  308. if len(T_spec) > 0 {
  309. Product_r.T_spec = T_spec
  310. }
  311. if T_relation_sn > 0 {
  312. Product_r.T_relation_sn = T_relation_sn
  313. }
  314. if len(T_img) > 0 {
  315. Product_r.T_img = T_img
  316. }
  317. if len(T_remark) > 0 {
  318. Product_r.T_remark = T_remark
  319. }
  320. if T_price > 0 {
  321. Product_r.T_price = float32(T_price)
  322. }
  323. if err = Basic.Update_Product(Product_r, "T_name", "T_class", "T_model", "T_spec", "T_price", "T_relation_sn", "T_img", "T_remark"); err != nil {
  324. c.Data["json"] = lib.JSONS{Code: 203, Msg: "修改失败"}
  325. c.ServeJSON()
  326. return
  327. }
  328. NatsServer.AddUserLogs(c.User.T_uuid, "产品", "修改", Product_r)
  329. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
  330. c.ServeJSON()
  331. return
  332. }
  333. func (c *BasicController) Product_Del() {
  334. T_id, _ := c.GetInt("T_id")
  335. Product_r, err := Basic.Read_Product_ById(T_id)
  336. if err != nil {
  337. c.Data["json"] = lib.JSONS{Code: 203, Msg: "T_id Err!"}
  338. c.ServeJSON()
  339. return
  340. }
  341. if err = Basic.Delete_Product(Product_r); err != nil {
  342. c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
  343. c.ServeJSON()
  344. return
  345. }
  346. NatsServer.AddUserLogs(c.User.T_uuid, "产品", "删除", strconv.Itoa(T_id))
  347. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_id}
  348. c.ServeJSON()
  349. return
  350. }
  351. // 验证项目
  352. func (c *BasicController) VerifyItem_List() {
  353. // 分页参数 初始化
  354. page, _ := c.GetInt("page")
  355. if page < 1 {
  356. page = 1
  357. }
  358. page_z, _ := c.GetInt("page_z")
  359. if page_z < 1 {
  360. page_z = conf.Page_size
  361. }
  362. // 查询
  363. T_type, _ := c.GetInt("T_type")
  364. R_List, R_cnt := Basic.Read_VerifyItem_List(T_type, page, page_z)
  365. var r_jsons lib.R_JSONS
  366. r_jsons.Num = R_cnt
  367. r_jsons.Data = R_List
  368. r_jsons.Page = page
  369. r_jsons.Page_size = int(math.Ceil(float64(R_cnt) / float64(page_z)))
  370. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
  371. c.ServeJSON()
  372. return
  373. }