智慧食堂
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

hdl_enterprise.go 22 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. package hdl
  2. import (
  3. enum2 "applet/app/admin/enum"
  4. "applet/app/admin/lib/validate"
  5. "applet/app/admin/md"
  6. "applet/app/admin/svc"
  7. "applet/app/db"
  8. "applet/app/db/model"
  9. "applet/app/e"
  10. "applet/app/enum"
  11. "applet/app/utils"
  12. "github.com/gin-gonic/gin"
  13. "time"
  14. )
  15. func EnterpriseList(c *gin.Context) {
  16. var req md.EnterpriseListReq
  17. err := c.ShouldBindJSON(&req)
  18. if err != nil {
  19. err = validate.HandleValidateErr(err)
  20. err1 := err.(e.E)
  21. e.OutErr(c, err1.Code, err1.Error())
  22. return
  23. }
  24. if req.Limit == 0 {
  25. req.Limit = 10
  26. }
  27. if req.Page == 0 {
  28. req.Page = 10
  29. }
  30. admin := svc.GetUser(c)
  31. enterprises, total, err := svc.EnterpriseList(*admin, req)
  32. if err != nil {
  33. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  34. return
  35. }
  36. e.OutSuc(c, map[string]interface{}{
  37. "list": enterprises,
  38. "total": total,
  39. "state": []map[string]interface{}{
  40. {
  41. "name": enum.EnterpriseState(enum.EnterpriseStateForNormal).String(),
  42. "value": enum.EnterpriseStateForNormal,
  43. },
  44. {
  45. "name": enum.EnterpriseState(enum.EnterpriseStateForFreeze).String(),
  46. "value": enum.EnterpriseStateForFreeze,
  47. },
  48. },
  49. "kind": []map[string]interface{}{
  50. {
  51. "name": enum.EnterprisePvd(enum.EnterprisePvdByCentralKitchenForSchool).String(),
  52. "value": enum.EnterprisePvdByCentralKitchenForSchool,
  53. },
  54. {
  55. "name": enum.EnterprisePvd(enum.EnterprisePvdByCentralKitchenForFactory).String(),
  56. "value": enum.EnterprisePvdByCentralKitchenForFactory,
  57. },
  58. {
  59. "name": enum.EnterprisePvd(enum.EnterprisePvdBySelfSupportForSchool).String(),
  60. "value": enum.EnterprisePvdBySelfSupportForSchool,
  61. },
  62. {
  63. "name": enum.EnterprisePvd(enum.EnterprisePvdBySelfSupportForFactory).String(),
  64. "value": enum.EnterprisePvdBySelfSupportForFactory,
  65. },
  66. {
  67. "name": enum.EnterprisePvd(enum.EnterprisePvdByNursingHome).String(),
  68. "value": enum.EnterprisePvdByNursingHome,
  69. },
  70. },
  71. }, nil)
  72. return
  73. }
  74. func Detail(c *gin.Context) {
  75. enterpriseId := c.DefaultQuery("id", "")
  76. enterpriseDb := db.EnterpriseDb{}
  77. enterpriseDb.Set()
  78. enterprise, err := enterpriseDb.GetEnterprise(utils.StrToInt(enterpriseId))
  79. if err != nil {
  80. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  81. return
  82. }
  83. if enterprise.Kind == enum.EnterprisePvdBySelfSupportForSchool {
  84. detail, err := svc.EnterpriseDetailV2(utils.StrToInt(enterpriseId))
  85. if err != nil {
  86. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  87. return
  88. }
  89. e.OutSuc(c, detail, nil)
  90. return
  91. }
  92. detail, err := svc.EnterpriseDetail(utils.StrToInt(enterpriseId))
  93. if err != nil {
  94. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  95. return
  96. }
  97. e.OutSuc(c, detail, nil)
  98. return
  99. }
  100. func SchoolBelowGrade(c *gin.Context) {
  101. enterpriseId := c.DefaultQuery("enterprise_id", "")
  102. gradeDb := db.GradeDb{}
  103. gradeDb.Set(utils.StrToInt(enterpriseId))
  104. gradeList, err := gradeDb.FindGrade()
  105. if err != nil {
  106. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  107. return
  108. }
  109. e.OutSuc(c, map[string]interface{}{
  110. "list": gradeList,
  111. }, nil)
  112. return
  113. }
  114. func PeriodBelowGrade(c *gin.Context) {
  115. periodId := c.DefaultQuery("period_id", "")
  116. gradeDb := db.GradeDb{}
  117. gradeDb.Set(0)
  118. gradeList, err := gradeDb.FindGradeByPeriodId(utils.StrToInt(periodId))
  119. if err != nil {
  120. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  121. return
  122. }
  123. e.OutSuc(c, map[string]interface{}{
  124. "list": gradeList,
  125. }, nil)
  126. return
  127. }
  128. func SchoolBelowPeriod(c *gin.Context) {
  129. enterpriseId := c.DefaultQuery("enterprise_id", "")
  130. periodDb := db.PeriodDb{}
  131. periodDb.Set(utils.StrToInt(enterpriseId))
  132. periodList, err := periodDb.FindPeriod()
  133. if err != nil {
  134. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  135. return
  136. }
  137. e.OutSuc(c, map[string]interface{}{
  138. "list": periodList,
  139. }, nil)
  140. return
  141. }
  142. func SchoolGradeBelowClass(c *gin.Context) {
  143. gradeId := c.DefaultQuery("grade_id", "")
  144. enterpriseId := c.DefaultQuery("enterprise_id", "")
  145. classDb := db.ClassDb{}
  146. if gradeId != "" {
  147. classDb.Set(utils.StrToInt(gradeId))
  148. classList, err := classDb.FindClass()
  149. if err != nil {
  150. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  151. return
  152. }
  153. e.OutSuc(c, map[string]interface{}{
  154. "list": classList,
  155. }, nil)
  156. } else {
  157. classDb.Set(0)
  158. classList, err := classDb.FindClassByEnterprise(enterpriseId)
  159. if err != nil {
  160. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  161. return
  162. }
  163. e.OutSuc(c, map[string]interface{}{
  164. "list": classList,
  165. }, nil)
  166. }
  167. return
  168. }
  169. func EnterpriseAdd(c *gin.Context) {
  170. var req md.EnterpriseAddReq
  171. err := c.ShouldBindJSON(&req)
  172. if err != nil {
  173. err = validate.HandleValidateErr(err)
  174. err1 := err.(e.E)
  175. e.OutErr(c, err1.Code, err1.Error())
  176. return
  177. }
  178. enterpriseDb := db.EnterpriseDb{}
  179. enterpriseDb.Set()
  180. now := time.Now()
  181. var pvd = 2
  182. if req.Kind == enum.EnterprisePvdByCentralKitchenForSchool || req.Kind == enum.EnterprisePvdByCentralKitchenForFactory {
  183. pvd = 1
  184. }
  185. enterprise := model.Enterprise{
  186. Name: req.Name,
  187. Pvd: int32(pvd),
  188. Kind: req.Kind,
  189. CompanyId: req.CompanyId,
  190. State: enum2.CompanyStateForNormal,
  191. Memo: req.Memo,
  192. CreateAt: now.Format("2006-01-02 15:04:05"),
  193. UpdateAt: now.Format("2006-01-02 15:04:05"),
  194. }
  195. enterpriseId, err := enterpriseDb.EnterpriseInsert(&enterprise)
  196. if err != nil {
  197. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  198. return
  199. }
  200. if req.Kind == enum.EnterprisePvdByCentralKitchenForSchool {
  201. //新增 `central_kitchen_for_school_set` && `central_kitchen_for_school_with_spec`
  202. centralKitchenForSchoolSetDb := db.CentralKitchenForSchoolSetDb{}
  203. centralKitchenForSchoolSetDb.Set(enterpriseId)
  204. centralKitchenForSchoolSetDb.CentralKitchenForSchoolSetInsert(&model.CentralKitchenForSchoolSet{
  205. EnterpriseId: enterpriseId,
  206. IsOpenTeacherReportMeal: 1,
  207. IsOpenReportMealForDay: 1,
  208. IsOpenReportMealForMonth: 1,
  209. IsOpenReportMealForSemester: 1,
  210. IsOpenTeacherReportMealForDay: 1,
  211. IsOpenTeacherReportMealForMonth: 1,
  212. IsOpenTeacherReportMealForSemester: 1,
  213. CreateAt: now.Format("2006-01-02 15:04:05"),
  214. UpdateAt: now.Format("2006-01-02 15:04:05"),
  215. })
  216. centralKitchenForSchoolWithSpec := db.CentralKitchenForSchoolWithSpec{}
  217. centralKitchenForSchoolWithSpec.Set(enterpriseId)
  218. centralKitchenForSchoolWithSpec.CentralKitchenForSchoolWithSpecInsert(&model.CentralKitchenForSchoolWithSpec{
  219. EnterpriseId: enterpriseId,
  220. IsOpenBreakfast: 1,
  221. IsOpenLunch: 1,
  222. IsOpenDinner: 1,
  223. BreakfastUnitPrice: "0.00",
  224. LunchUnitPrice: "0.00",
  225. DinnerUnitPrice: "0.00",
  226. BreakfastUnitPriceForTeacher: "0.00",
  227. LunchUnitPriceForTeacher: "0.00",
  228. DinnerUnitPriceForTeacher: "0.00",
  229. CreateAt: now.Format("2006-01-02 15:04:05"),
  230. UpdateAt: now.Format("2006-01-02 15:04:05"),
  231. })
  232. }
  233. if req.Kind == enum.EnterprisePvdByNursingHome {
  234. //新增 `nursing_home_set` && `nursing_home_with_spec`
  235. nursingHomeSetDb := db.NursingHomeSetDb{}
  236. nursingHomeSetDb.Set(enterpriseId)
  237. nursingHomeSetDb.NursingHomeSetInsert(&model.NursingHomeSet{
  238. EnterpriseId: enterpriseId,
  239. IsOpenReportMealForDay: 1,
  240. IsOpenReportMealForMonth: 1,
  241. IsOpenReportMealForYear: 1,
  242. CreateAt: now.Format("2006-01-02 15:04:05"),
  243. UpdateAt: now.Format("2006-01-02 15:04:05"),
  244. })
  245. nursingHomeWithSpec := db.NursingHomeWithSpec{}
  246. nursingHomeWithSpec.Set(enterpriseId)
  247. nursingHomeWithSpec.NursingHomeWithSpecInsert(&model.NursingHomeWithSpec{
  248. EnterpriseId: enterpriseId,
  249. IsOpenBreakfast: 1,
  250. IsOpenLunch: 1,
  251. IsOpenDinner: 1,
  252. BreakfastUnitPrice: "0.00",
  253. LunchUnitPrice: "0.00",
  254. DinnerUnitPrice: "0.00",
  255. CreateAt: now.Format("2006-01-02 15:04:05"),
  256. UpdateAt: now.Format("2006-01-02 15:04:05"),
  257. })
  258. }
  259. e.OutSuc(c, "success", nil)
  260. return
  261. }
  262. func EnterpriseDelete(c *gin.Context) {
  263. var req md.EnterpriseDeleteReq
  264. err := c.ShouldBindJSON(&req)
  265. if err != nil {
  266. err = validate.HandleValidateErr(err)
  267. err1 := err.(e.E)
  268. e.OutErr(c, err1.Code, err1.Error())
  269. return
  270. }
  271. err = svc.EnterpriseDelete(req.EnterpriseIds)
  272. if err != nil {
  273. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  274. return
  275. }
  276. e.OutSuc(c, "success", nil)
  277. return
  278. }
  279. func CentralKitchenForSchoolUpdate(c *gin.Context) {
  280. var req md.CentralKitchenForSchoolUpdateReq
  281. err := c.ShouldBindJSON(&req)
  282. if err != nil {
  283. err = validate.HandleValidateErr(err)
  284. err1 := err.(e.E)
  285. e.OutErr(c, err1.Code, err1.Error())
  286. return
  287. }
  288. //1、更新 enterprise
  289. enterpriseDb := db.EnterpriseDb{}
  290. enterpriseDb.Set()
  291. enterprise, err := enterpriseDb.GetEnterprise(req.Id)
  292. if err != nil {
  293. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  294. return
  295. }
  296. if enterprise == nil {
  297. e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
  298. return
  299. }
  300. var pvd = 2
  301. if req.Kind == enum.EnterprisePvdByCentralKitchenForSchool || req.Kind == enum.EnterprisePvdByCentralKitchenForFactory || req.Kind == enum.EnterprisePvdByNursingHome {
  302. pvd = 1
  303. }
  304. now := time.Now()
  305. enterprise.Name = req.Name
  306. enterprise.Memo = req.Memo
  307. enterprise.Pvd = int32(pvd)
  308. enterprise.Kind = req.Kind
  309. enterprise.CompanyId = req.CompanyId
  310. enterprise.UpdateAt = now.Format("2006-01-02 15:04:05")
  311. _, err = enterpriseDb.EnterpriseUpdate(enterprise, "name", "memo", "pvd", "kind", "company_id", "update_at")
  312. if err != nil {
  313. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  314. return
  315. }
  316. //2、更新 period && grade && class 数据
  317. periodDb := db.PeriodDb{}
  318. periodDb.Set(req.Id)
  319. gradeDb := db.GradeDb{}
  320. gradeDb.Set(req.Id)
  321. classDb := db.ClassDb{}
  322. classDb.Set(0)
  323. //新增 grade 数据 && class 数据
  324. var classes []*model.Class
  325. for _, v := range req.PeriodList {
  326. if v.Id == 0 {
  327. //TODO::新增
  328. insertId, err1 := periodDb.PeriodInsert(&model.Period{
  329. EnterpriseId: req.Id,
  330. Name: v.Name,
  331. BreakfastUnitPrice: "0.00",
  332. LunchUnitPrice: "0.00",
  333. DinnerUnitPrice: "0.00",
  334. CreateAt: now.Format("2006-01-02 15:04:05"),
  335. UpdateAt: now.Format("2006-01-02 15:04:05"),
  336. })
  337. if err1 != nil {
  338. e.OutErr(c, e.ERR_DB_ORM, err1.Error())
  339. return
  340. }
  341. for _, v1 := range v.GradeList {
  342. insertId1, err2 := gradeDb.GradeInsert(&model.Grade{
  343. Name: v1.Name,
  344. Memo: "",
  345. PeriodId: insertId,
  346. EnterpriseId: req.Id,
  347. CreateAt: now.Format("2006-01-02 15:04:05"),
  348. UpdateAt: now.Format("2006-01-02 15:04:05"),
  349. })
  350. if err2 != nil {
  351. e.OutErr(c, e.ERR_DB_ORM, err2.Error())
  352. return
  353. }
  354. for _, v2 := range v1.ClassList {
  355. classes = append(classes, &model.Class{
  356. Name: v2.Name,
  357. Memo: "",
  358. GradeId: insertId1,
  359. EnterpriseId: req.Id,
  360. CreateAt: now.Format("2006-01-02 15:04:05"),
  361. UpdateAt: now.Format("2006-01-02 15:04:05"),
  362. })
  363. }
  364. }
  365. } else {
  366. //TODO::编辑
  367. period, err1 := periodDb.GetPeriod(v.Id)
  368. if err1 != nil {
  369. e.OutErr(c, e.ERR_DB_ORM, err1.Error())
  370. return
  371. }
  372. if period == nil {
  373. e.OutErr(c, e.ERR_NO_DATA, "未查询到相关学段信息")
  374. return
  375. }
  376. period.Name = v.Name
  377. _, err2 := periodDb.PeriodUpdate(period, "name")
  378. if err2 != nil {
  379. e.OutErr(c, e.ERR_DB_ORM, err2.Error())
  380. return
  381. }
  382. for _, v1 := range v.GradeList {
  383. var gradeId int
  384. if v1.Id == 0 {
  385. gradeId, err2 = gradeDb.GradeInsert(&model.Grade{
  386. Name: v1.Name,
  387. Memo: "",
  388. PeriodId: period.Id,
  389. EnterpriseId: req.Id,
  390. CreateAt: now.Format("2006-01-02 15:04:05"),
  391. UpdateAt: now.Format("2006-01-02 15:04:05"),
  392. })
  393. if err2 != nil {
  394. e.OutErr(c, e.ERR_DB_ORM, err2.Error())
  395. return
  396. }
  397. } else {
  398. grade, err3 := gradeDb.GetGrade(v1.Id)
  399. if err3 != nil {
  400. e.OutErr(c, e.ERR_DB_ORM, err3.Error())
  401. return
  402. }
  403. if grade == nil {
  404. e.OutErr(c, e.ERR_NO_DATA, "未查询到相关年级信息")
  405. return
  406. }
  407. grade.Name = v1.Name
  408. _, err4 := gradeDb.GradeUpdate(grade, "name")
  409. if err4 != nil {
  410. e.OutErr(c, e.ERR_DB_ORM, err4.Error())
  411. return
  412. }
  413. gradeId = grade.Id
  414. }
  415. for _, v2 := range v1.ClassList {
  416. if v2.Id == 0 {
  417. //新增
  418. classes = append(classes, &model.Class{
  419. Name: v2.Name,
  420. Memo: "",
  421. GradeId: gradeId,
  422. EnterpriseId: req.Id,
  423. CreateAt: now.Format("2006-01-02 15:04:05"),
  424. UpdateAt: now.Format("2006-01-02 15:04:05"),
  425. })
  426. } else {
  427. //编辑
  428. class, err4 := classDb.GetClass(v2.Id)
  429. if err4 != nil {
  430. e.OutErr(c, e.ERR_DB_ORM, err4.Error())
  431. return
  432. }
  433. if class == nil {
  434. e.OutErr(c, e.ERR_NO_DATA, "未查询到相关班级信息")
  435. return
  436. }
  437. class.Name = v2.Name
  438. _, err6 := classDb.ClassUpdate(class, "name")
  439. if err6 != nil {
  440. e.OutErr(c, e.ERR_DB_ORM, err6.Error())
  441. return
  442. }
  443. }
  444. }
  445. }
  446. }
  447. }
  448. if len(classes) > 0 {
  449. _, err2 := classDb.BatchAddClass(classes)
  450. if err2 != nil {
  451. e.OutErr(c, e.ERR_DB_ORM, err2.Error())
  452. return
  453. }
  454. }
  455. e.OutSuc(c, "success", nil)
  456. return
  457. }
  458. func SelfSupportForSchoolUpdate(c *gin.Context) {
  459. var req md.SelfSupportForSchoolUpdateReq
  460. err := c.ShouldBindJSON(&req)
  461. if err != nil {
  462. err = validate.HandleValidateErr(err)
  463. err1 := err.(e.E)
  464. e.OutErr(c, err1.Code, err1.Error())
  465. return
  466. }
  467. //1、更新 enterprise
  468. enterpriseDb := db.EnterpriseDb{}
  469. enterpriseDb.Set()
  470. enterprise, err := enterpriseDb.GetEnterprise(req.Id)
  471. if err != nil {
  472. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  473. return
  474. }
  475. if enterprise == nil {
  476. e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
  477. return
  478. }
  479. var pvd = 2
  480. if req.Kind == enum.EnterprisePvdByCentralKitchenForSchool || req.Kind == enum.EnterprisePvdByCentralKitchenForFactory || req.Kind == enum.EnterprisePvdByNursingHome {
  481. pvd = 1
  482. }
  483. now := time.Now()
  484. enterprise.Name = req.Name
  485. enterprise.Memo = req.Memo
  486. enterprise.Pvd = int32(pvd)
  487. enterprise.Kind = req.Kind
  488. enterprise.CompanyId = req.CompanyId
  489. enterprise.UpdateAt = now.Format("2006-01-02 15:04:05")
  490. _, err = enterpriseDb.EnterpriseUpdate(enterprise, "name", "memo", "pvd", "kind", "company_id", "update_at")
  491. if err != nil {
  492. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  493. return
  494. }
  495. //2、更新 grade && class 数据
  496. //2、删除 grade && class 数据
  497. gradeDb := db.GradeDb{}
  498. gradeDb.Set(req.Id)
  499. //_, err = gradeDb.ClassDeleteBySessionForEnterprise(db.Db.NewSession(), req.Id)
  500. //if err != nil {
  501. // e.OutErr(c, e.ERR_DB_ORM, err.Error())
  502. // return
  503. //}
  504. classDb := db.ClassDb{}
  505. classDb.Set(0)
  506. //_, err = classDb.ClassDeleteBySessionForEnterprise(db.Db.NewSession(), req.Id)
  507. //if err != nil {
  508. // e.OutErr(c, e.ERR_DB_ORM, err.Error())
  509. // return
  510. //}
  511. //新增 grade 数据 && class 数据
  512. for _, v := range req.GradeList {
  513. var classes []*model.Class
  514. if v.Id == 0 {
  515. //TODO::新增
  516. insertId, err1 := gradeDb.GradeInsert(&model.Grade{
  517. EnterpriseId: req.Id,
  518. Name: v.Name,
  519. Memo: "",
  520. CreateAt: now.Format("2006-01-02 15:04:05"),
  521. UpdateAt: now.Format("2006-01-02 15:04:05"),
  522. })
  523. if err1 != nil {
  524. e.OutErr(c, e.ERR_DB_ORM, err1.Error())
  525. return
  526. }
  527. for _, v1 := range v.ClassList {
  528. classes = append(classes, &model.Class{
  529. Name: v1.Name,
  530. Memo: "",
  531. GradeId: insertId,
  532. EnterpriseId: req.Id,
  533. CreateAt: now.Format("2006-01-02 15:04:05"),
  534. UpdateAt: now.Format("2006-01-02 15:04:05"),
  535. })
  536. }
  537. } else {
  538. //TODO::编辑
  539. grade, err3 := gradeDb.GetGrade(v.Id)
  540. if err3 != nil {
  541. e.OutErr(c, e.ERR_DB_ORM, err3.Error())
  542. return
  543. }
  544. if grade == nil {
  545. e.OutErr(c, e.ERR_NO_DATA, "未查询到相关年级信息")
  546. return
  547. }
  548. grade.Name = v.Name
  549. _, err4 := gradeDb.GradeUpdate(grade, "name")
  550. if err4 != nil {
  551. e.OutErr(c, e.ERR_DB_ORM, err4.Error())
  552. return
  553. }
  554. for _, v1 := range v.ClassList {
  555. if v1.Id == 0 {
  556. //新增
  557. classes = append(classes, &model.Class{
  558. Name: v1.Name,
  559. Memo: "",
  560. GradeId: grade.Id,
  561. EnterpriseId: req.Id,
  562. CreateAt: now.Format("2006-01-02 15:04:05"),
  563. UpdateAt: now.Format("2006-01-02 15:04:05"),
  564. })
  565. } else {
  566. //编辑
  567. class, err5 := classDb.GetClass(v1.Id)
  568. if err5 != nil {
  569. e.OutErr(c, e.ERR_DB_ORM, err5.Error())
  570. return
  571. }
  572. if class == nil {
  573. e.OutErr(c, e.ERR_NO_DATA, "未查询到相关班级信息")
  574. return
  575. }
  576. class.Name = v1.Name
  577. _, err6 := classDb.ClassUpdate(class, "name")
  578. if err6 != nil {
  579. e.OutErr(c, e.ERR_DB_ORM, err6.Error())
  580. return
  581. }
  582. }
  583. }
  584. }
  585. if len(classes) > 0 {
  586. _, err2 := classDb.BatchAddClass(classes)
  587. if err2 != nil {
  588. e.OutErr(c, e.ERR_DB_ORM, err2.Error())
  589. return
  590. }
  591. }
  592. }
  593. e.OutSuc(c, "success", nil)
  594. return
  595. }
  596. func EnterpriseAddGrade(c *gin.Context) {
  597. var req md.EnterpriseUpdateStateReq
  598. err := c.ShouldBindJSON(&req)
  599. if err != nil {
  600. err = validate.HandleValidateErr(err)
  601. err1 := err.(e.E)
  602. e.OutErr(c, err1.Code, err1.Error())
  603. return
  604. }
  605. enterpriseDb := db.EnterpriseDb{}
  606. enterpriseDb.Set()
  607. enterprise, err := enterpriseDb.GetEnterprise(req.Id)
  608. if err != nil {
  609. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  610. return
  611. }
  612. if enterprise == nil {
  613. e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
  614. return
  615. }
  616. now := time.Now()
  617. enterprise.State = req.State
  618. enterprise.UpdateAt = now.Format("2006-01-02 15:04:05")
  619. _, err = enterpriseDb.EnterpriseUpdate(enterprise, "state", "update_at")
  620. if err != nil {
  621. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  622. return
  623. }
  624. e.OutSuc(c, "success", nil)
  625. return
  626. }
  627. func EnterpriseUpdateState(c *gin.Context) {
  628. var req md.EnterpriseUpdateStateReq
  629. err := c.ShouldBindJSON(&req)
  630. if err != nil {
  631. err = validate.HandleValidateErr(err)
  632. err1 := err.(e.E)
  633. e.OutErr(c, err1.Code, err1.Error())
  634. return
  635. }
  636. enterpriseDb := db.EnterpriseDb{}
  637. enterpriseDb.Set()
  638. enterprise, err := enterpriseDb.GetEnterprise(req.Id)
  639. if err != nil {
  640. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  641. return
  642. }
  643. if enterprise == nil {
  644. e.OutErr(c, e.ERR_NO_DATA, "未查询到对应记录")
  645. return
  646. }
  647. now := time.Now()
  648. enterprise.State = req.State
  649. enterprise.UpdateAt = now.Format("2006-01-02 15:04:05")
  650. _, err = enterpriseDb.EnterpriseUpdate(enterprise, "state", "update_at")
  651. if err != nil {
  652. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  653. return
  654. }
  655. e.OutSuc(c, "success", nil)
  656. return
  657. }
  658. func ListCentralKitchenForSchoolPackageForSystem(c *gin.Context) {
  659. var req md.ListCentralKitchenForSchoolPackageForSystemReq
  660. err := c.ShouldBindJSON(&req)
  661. if err != nil {
  662. err = validate.HandleValidateErr(err)
  663. err1 := err.(e.E)
  664. e.OutErr(c, err1.Code, err1.Error())
  665. return
  666. }
  667. centralKitchenForSchoolPackageForSystemDb := db.CentralKitchenForSchoolPackageForSystemDb{}
  668. centralKitchenForSchoolPackageForSystemDb.Set()
  669. list, total, err := centralKitchenForSchoolPackageForSystemDb.CentralKitchenForSchoolPackageForSystemList(req)
  670. if err != nil {
  671. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  672. return
  673. }
  674. e.OutSuc(c, map[string]interface{}{
  675. "list": list,
  676. "total": total,
  677. }, nil)
  678. return
  679. }
  680. func SetCentralKitchenForSchoolWithSpecForSystem(c *gin.Context) {
  681. var req md.SetCentralKitchenForSchoolWithSpecForSystemReq
  682. err := c.ShouldBindJSON(&req)
  683. if err != nil {
  684. err = validate.HandleValidateErr(err)
  685. err1 := err.(e.E)
  686. e.OutErr(c, err1.Code, err1.Error())
  687. return
  688. }
  689. centralKitchenForSchoolWithSpecForSystemDb := db.CentralKitchenForSchoolWithSpecForSystem{}
  690. centralKitchenForSchoolWithSpecForSystemDb.Set()
  691. system, err := centralKitchenForSchoolWithSpecForSystemDb.GetCentralKitchenForSchoolWithSpecForSystem()
  692. if err != nil {
  693. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  694. return
  695. }
  696. system.BreakfastUnitPrice = req.BreakfastUnitPrice
  697. system.LunchUnitPrice = req.LunchUnitPrice
  698. system.DinnerUnitPrice = req.DinnerUnitPrice
  699. system.BreakfastUnitPriceForTeacher = req.BreakfastUnitPriceForTeacher
  700. system.LunchUnitPriceForTeacher = req.LunchUnitPriceForTeacher
  701. system.DinnerUnitPriceForTeacher = req.DinnerUnitPriceForTeacher
  702. system.UpdateAt = time.Now().Format("2006-01-02 15:04:05")
  703. updateAffected, err := centralKitchenForSchoolWithSpecForSystemDb.CentralKitchenForSchoolWithSpecForSystemUpdate(system.Id, system)
  704. if err != nil {
  705. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  706. return
  707. }
  708. if updateAffected <= 0 {
  709. e.OutErr(c, e.ERR, "更新数据失败")
  710. return
  711. }
  712. e.OutSuc(c, "success", nil)
  713. return
  714. }
  715. func GetCentralKitchenForSchoolWithSpecForSystem(c *gin.Context) {
  716. centralKitchenForSchoolWithSpecForSystemDb := db.CentralKitchenForSchoolWithSpecForSystem{}
  717. centralKitchenForSchoolWithSpecForSystemDb.Set()
  718. system, err := centralKitchenForSchoolWithSpecForSystemDb.GetCentralKitchenForSchoolWithSpecForSystem()
  719. if err != nil {
  720. e.OutErr(c, e.ERR_DB_ORM, err.Error())
  721. return
  722. }
  723. e.OutSuc(c, map[string]interface{}{
  724. "data": system,
  725. }, nil)
  726. return
  727. }
  728. func SaveCentralKitchenForSchoolPackageForSystem(c *gin.Context) {
  729. var req md.SaveCentralKitchenForSchoolPackageForSystemReq
  730. err := c.ShouldBindJSON(&req)
  731. if err != nil {
  732. err = validate.HandleValidateErr(err)
  733. err1 := err.(e.E)
  734. e.OutErr(c, err1.Code, err1.Error())
  735. return
  736. }
  737. //判断是新增 / 编辑
  738. if req.Id > 0 {
  739. err = svc.UpdateCentralKitchenForSchoolPackageForSystem(req)
  740. if err != nil {
  741. e.OutErr(c, e.ERR, err.Error())
  742. return
  743. }
  744. } else {
  745. err = svc.AddCentralKitchenForSchoolPackageForSystem(req)
  746. if err != nil {
  747. e.OutErr(c, e.ERR, err.Error())
  748. return
  749. }
  750. }
  751. e.OutSuc(c, "success", nil)
  752. return
  753. }
  754. func SyncCentralKitchenForSchoolPackageForSystem(c *gin.Context) {
  755. var req md.SyncCentralKitchenForSchoolPackageForSystemReq
  756. err := c.ShouldBindJSON(&req)
  757. if err != nil {
  758. err = validate.HandleValidateErr(err)
  759. err1 := err.(e.E)
  760. e.OutErr(c, err1.Code, err1.Error())
  761. return
  762. }
  763. err = svc.SyncCentralKitchenForSchoolPackageForSystem(req)
  764. if err != nil {
  765. e.OutErr(c, e.ERR, err.Error())
  766. return
  767. }
  768. e.OutSuc(c, "success", nil)
  769. return
  770. }
  771. func DeleteCentralKitchenForSchoolPackageForSystem(c *gin.Context) {
  772. id := c.Param("id")
  773. err := svc.DeleteCentralKitchenForSchoolPackageForSystem(utils.StrToInt(id))
  774. if err != nil {
  775. e.OutErr(c, e.ERR, err.Error())
  776. return
  777. }
  778. e.OutSuc(c, "success", nil)
  779. return
  780. }