config_data_breed.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. package backend
  2. import (
  3. "kpt-pasture/model"
  4. pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow"
  5. "gitee.com/xuyiping_admin/pkg/logger/zaplog"
  6. "go.uber.org/zap"
  7. )
  8. func (s *StoreEntry) LactEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  9. configLactList := make([]*model.ConfigLact, 0)
  10. pref := s.DB.Model(new(model.ConfigLact)).
  11. Where("is_show =? ", pasturePb.IsShow_Ok).
  12. Where("pasture_id =? ", userModel.AppPasture.Id)
  13. if isAll == model.IsAllYes {
  14. pref = pref.Where("kind >= ?", 0)
  15. } else {
  16. pref = pref.Where("kind > ?", 0)
  17. }
  18. if err := pref.Order("kind ASC").
  19. Find(&configLactList).Error; err != nil {
  20. zaplog.Error("LactEnumList", zap.Any("err", err))
  21. return make([]*pasturePb.ConfigOptionsList, 0)
  22. }
  23. return model.ConfigLactSlice(configLactList).ToPB(userModel.Language)
  24. /*
  25. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  26. Value: int32(1),
  27. Label: "1",
  28. Disabled: true,
  29. }, &pasturePb.ConfigOptionsList{
  30. Value: int32(2),
  31. Label: "2",
  32. Disabled: true,
  33. }, &pasturePb.ConfigOptionsList{
  34. Value: int32(3),
  35. Label: "3",
  36. Disabled: true,
  37. }, &pasturePb.ConfigOptionsList{
  38. Value: int32(4),
  39. Label: ">3",
  40. Disabled: true,
  41. })
  42. return configOptions
  43. */
  44. }
  45. func (s *StoreEntry) DiseaseAnalysisMethodEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  46. dataList := make([]*model.ConfigDiseaseAnalysisMethod, 0)
  47. pref := s.DB.Model(new(model.ConfigDiseaseAnalysisMethod)).
  48. Where("is_show =? ", pasturePb.IsShow_Ok).
  49. Where("pasture_id =? ", userModel.AppPasture.Id)
  50. if isAll == model.IsAllYes {
  51. pref = pref.Where("kind >= ?", pasturePb.DiseaseAnalysisMethod_Invalid)
  52. } else {
  53. pref = pref.Where("kind > ?", pasturePb.DiseaseAnalysisMethod_Invalid)
  54. }
  55. if err := pref.Order("kind ASC").
  56. Find(&dataList).Error; err != nil {
  57. zaplog.Error("DiseaseAnalysisMethodEnumList", zap.Any("err", err))
  58. return make([]*pasturePb.ConfigOptionsList, 0)
  59. }
  60. return model.ConfigDiseaseAnalysisMethodSlice(dataList).ToPB(userModel.Language)
  61. /*
  62. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  63. Value: int32(pasturePb.DiseaseAnalysisMethod_Months),
  64. Label: "按月份",
  65. Disabled: true,
  66. }, &pasturePb.ConfigOptionsList{
  67. Value: int32(pasturePb.DiseaseAnalysisMethod_Disease_Category),
  68. Label: "疾病分类",
  69. Disabled: true,
  70. }, &pasturePb.ConfigOptionsList{
  71. Value: int32(pasturePb.DiseaseAnalysisMethod_Disease),
  72. Label: "疾病名称",
  73. Disabled: true,
  74. }, &pasturePb.ConfigOptionsList{
  75. Value: int32(pasturePb.DiseaseAnalysisMethod_Operator),
  76. Label: "兽医",
  77. Disabled: true,
  78. }, &pasturePb.ConfigOptionsList{
  79. Value: int32(pasturePb.DiseaseAnalysisMethod_Prescription),
  80. Label: "处方",
  81. Disabled: true,
  82. })
  83. return configOptions
  84. */
  85. }
  86. func (s *StoreEntry) diseaseTypeEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  87. configDiseaseTypeList := make([]*model.ConfigDiseaseType, 0)
  88. if err := s.DB.Model(new(model.ConfigDiseaseType)).
  89. Where("pasture_id = ?", userModel.AppPasture.Id).
  90. Where("is_show = ?", pasturePb.IsShow_Ok).
  91. Find(&configDiseaseTypeList).Error; err != nil {
  92. zaplog.Error("diseaseTypeEnumList", zap.Any("Find", err))
  93. return make([]*pasturePb.ConfigOptionsList, 0)
  94. }
  95. return model.ConfigDiseaseTypeSlice(configDiseaseTypeList).ToPB3(userModel.Language)
  96. }
  97. func (s *StoreEntry) SingleFactorAnalysisMethodEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  98. dataList := make([]*model.ConfigSingleFactorAnalysisMethod, 0)
  99. pref := s.DB.Model(new(model.ConfigSingleFactorAnalysisMethod)).
  100. Where("is_show =? ", pasturePb.IsShow_Ok).
  101. Where("pasture_id =? ", userModel.AppPasture.Id)
  102. if isAll == model.IsAllYes {
  103. pref = pref.Where("kind >= ?", pasturePb.DiseaseAnalysisMethod_Invalid)
  104. } else {
  105. pref = pref.Where("kind > ?", pasturePb.DiseaseAnalysisMethod_Invalid)
  106. }
  107. if err := pref.Order("kind ASC").
  108. Find(&dataList).Error; err != nil {
  109. zaplog.Error("SingleFactorAnalysisMethodEnumList", zap.Any("err", err))
  110. return make([]*pasturePb.ConfigOptionsList, 0)
  111. }
  112. return model.ConfigSingleFactorAnalysisMethodSlice(dataList).ToPB(userModel.Language)
  113. /*
  114. func (s *StoreEntry) SingleFactorAnalysisMethodEnumList(isAll string) []*pasturePb.ConfigOptionsList {
  115. configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  116. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  117. Value: int32(pasturePb.SingleFactorAnalysisMethod_Cycle),
  118. Label: "按周期分析",
  119. Disabled: true,
  120. }, &pasturePb.ConfigOptionsList{
  121. Value: int32(pasturePb.SingleFactorAnalysisMethod_Months),
  122. Label: "按月份分析",
  123. Disabled: true,
  124. }, &pasturePb.ConfigOptionsList{
  125. Value: int32(pasturePb.SingleFactorAnalysisMethod_Mating_Times),
  126. Label: "按配种次数分析",
  127. Disabled: true,
  128. }, &pasturePb.ConfigOptionsList{
  129. Value: int32(pasturePb.SingleFactorAnalysisMethod_Breeding_Method),
  130. Label: "按配种方式分析",
  131. Disabled: true,
  132. }, &pasturePb.ConfigOptionsList{
  133. Value: int32(pasturePb.SingleFactorAnalysisMethod_Breeding_Company),
  134. Label: "按育种公司分析",
  135. Disabled: true,
  136. }, &pasturePb.ConfigOptionsList{
  137. Value: int32(pasturePb.SingleFactorAnalysisMethod_Operation),
  138. Label: "按兽医人员分析",
  139. Disabled: true,
  140. }, &pasturePb.ConfigOptionsList{
  141. Value: int32(pasturePb.SingleFactorAnalysisMethod_Mating_Interval),
  142. Label: "按配种间隔分析",
  143. Disabled: true,
  144. }, &pasturePb.ConfigOptionsList{
  145. Value: int32(pasturePb.SingleFactorAnalysisMethod_Bull),
  146. Label: "按公牛号分析",
  147. Disabled: true,
  148. }, &pasturePb.ConfigOptionsList{
  149. Value: int32(pasturePb.SingleFactorAnalysisMethod_Breeding_Cycle),
  150. Label: "按配种周期分析",
  151. Disabled: true,
  152. }, &pasturePb.ConfigOptionsList{
  153. Value: int32(pasturePb.SingleFactorAnalysisMethod_Week),
  154. Label: "按星期分析",
  155. Disabled: true,
  156. }, &pasturePb.ConfigOptionsList{
  157. Value: int32(pasturePb.SingleFactorAnalysisMethod_Lact),
  158. Label: "按胎次分析",
  159. Disabled: true,
  160. })
  161. return configOptions
  162. */
  163. }
  164. func (s *StoreEntry) LactIntervalSymbolEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  165. dataList := make([]*model.ConfigLactIntervalSymbol, 0)
  166. pref := s.DB.Model(new(model.ConfigLactIntervalSymbol)).
  167. Where("is_show =? ", pasturePb.IsShow_Ok).
  168. Where("pasture_id =? ", userModel.AppPasture.Id)
  169. if isAll == model.IsAllYes {
  170. pref = pref.Where("kind >= ?", pasturePb.CompareSymbol_Invalid)
  171. } else {
  172. pref = pref.Where("kind > ?", pasturePb.CompareSymbol_Invalid)
  173. }
  174. if err := pref.Order("kind ASC").
  175. Find(&dataList).Error; err != nil {
  176. zaplog.Error("LactIntervalSymbolEnumList", zap.Any("err", err))
  177. return make([]*pasturePb.ConfigOptionsList, 0)
  178. }
  179. return model.ConfigLactIntervalSymbolSlice(dataList).ToPB(userModel.Language)
  180. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  181. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  182. Value: int32(pasturePb.CompareSymbol_Less_Than),
  183. Label: "<",
  184. Disabled: true,
  185. }, &pasturePb.ConfigOptionsList{
  186. Value: int32(pasturePb.CompareSymbol_Less_Than_Or_Equal_To),
  187. Label: "<=",
  188. Disabled: true,
  189. }, &pasturePb.ConfigOptionsList{
  190. Value: int32(pasturePb.CompareSymbol_Greater_Than),
  191. Label: ">",
  192. Disabled: true,
  193. }, &pasturePb.ConfigOptionsList{
  194. Value: int32(pasturePb.CompareSymbol_Greater_Than_Or_Equal_To),
  195. Label: ">=",
  196. Disabled: true,
  197. }, &pasturePb.ConfigOptionsList{
  198. Value: int32(pasturePb.CompareSymbol_Equal_To),
  199. Label: "=",
  200. Disabled: true,
  201. }, &pasturePb.ConfigOptionsList{
  202. Value: int32(pasturePb.CompareSymbol_Not_Equal_To),
  203. Label: "!=",
  204. Disabled: true,
  205. }, &pasturePb.ConfigOptionsList{
  206. Value: int32(pasturePb.CompareSymbol_Between),
  207. Label: "区间",
  208. Disabled: true,
  209. }, &pasturePb.ConfigOptionsList{
  210. Value: int32(pasturePb.CompareSymbol_Include),
  211. Label: "包含",
  212. Disabled: true,
  213. }, &pasturePb.ConfigOptionsList{
  214. Value: int32(pasturePb.CompareSymbol_Not_Include),
  215. Label: "不包含",
  216. Disabled: true,
  217. })
  218. return configOptions*/
  219. }
  220. func (s *StoreEntry) MultiFactorAnalysisMethodEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  221. dataList := make([]*model.ConfigMultiFactorAnalysisMethod, 0)
  222. pref := s.DB.Model(new(model.ConfigMultiFactorAnalysisMethod)).
  223. Where("is_show =? ", pasturePb.IsShow_Ok).
  224. Where("pasture_id =? ", userModel.AppPasture.Id)
  225. if isAll == model.IsAllYes {
  226. pref = pref.Where("kind >= ?", pasturePb.CompareSymbol_Invalid)
  227. } else {
  228. pref = pref.Where("kind > ?", pasturePb.CompareSymbol_Invalid)
  229. }
  230. if err := pref.Order("kind ASC").
  231. Find(&dataList).Error; err != nil {
  232. zaplog.Error("LactIntervalSymbolEnumList", zap.Any("err", err))
  233. return make([]*pasturePb.ConfigOptionsList, 0)
  234. }
  235. return model.ConfigMultiFactorAnalysisMethodSlice(dataList).ToPB(userModel.Language)
  236. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  237. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  238. Value: int32(pasturePb.MultiFactorAnalysisMethod_Months),
  239. Label: "月份",
  240. Props: "months",
  241. Disabled: true,
  242. }, &pasturePb.ConfigOptionsList{
  243. Value: int32(pasturePb.MultiFactorAnalysisMethod_Week),
  244. Label: "周",
  245. Props: "week",
  246. Disabled: true,
  247. }, &pasturePb.ConfigOptionsList{
  248. Value: int32(pasturePb.MultiFactorAnalysisMethod_Operation),
  249. Label: "配种员",
  250. Props: "operationName",
  251. Disabled: true,
  252. }, &pasturePb.ConfigOptionsList{
  253. Value: int32(pasturePb.MultiFactorAnalysisMethod_Bull),
  254. Label: "公牛",
  255. Props: "bull",
  256. Disabled: true,
  257. }, &pasturePb.ConfigOptionsList{
  258. Value: int32(pasturePb.MultiFactorAnalysisMethod_Lact),
  259. Label: "胎次",
  260. Props: "lact",
  261. Disabled: true,
  262. }, &pasturePb.ConfigOptionsList{
  263. Value: int32(pasturePb.MultiFactorAnalysisMethod_Mating_Times),
  264. Label: "配次",
  265. Props: "matingTimes",
  266. Disabled: true,
  267. }, &pasturePb.ConfigOptionsList{
  268. Value: int32(pasturePb.MultiFactorAnalysisMethod_Breeding_Method),
  269. Label: "配种方式",
  270. Props: "exposeEstrusType",
  271. Disabled: true,
  272. })
  273. return configOptions*/
  274. }
  275. func (s *StoreEntry) SaleCowAnalysisMethodEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  276. dataList := make([]*model.ConfigSaleCowAnalysisMethod, 0)
  277. pref := s.DB.Model(new(model.ConfigSaleCowAnalysisMethod)).
  278. Where("is_show =? ", pasturePb.IsShow_Ok).
  279. Where("pasture_id =? ", userModel.AppPasture.Id)
  280. if isAll == model.IsAllYes {
  281. pref = pref.Where("kind >= ?", pasturePb.CompareSymbol_Invalid)
  282. } else {
  283. pref = pref.Where("kind > ?", pasturePb.CompareSymbol_Invalid)
  284. }
  285. if err := pref.Order("kind ASC").
  286. Find(&dataList).Error; err != nil {
  287. zaplog.Error("LactIntervalSymbolEnumList", zap.Any("err", err))
  288. return make([]*pasturePb.ConfigOptionsList, 0)
  289. }
  290. return model.ConfigSaleCowAnalysisMethodSlice(dataList).ToPB(userModel.Language)
  291. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  292. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  293. Value: int32(pasturePb.SaleCowAnalysisMethod_Months),
  294. Label: "月份",
  295. Disabled: true,
  296. }, &pasturePb.ConfigOptionsList{
  297. Value: int32(pasturePb.SaleCowAnalysisMethod_Dealer),
  298. Label: "经销商",
  299. Disabled: true,
  300. })
  301. return configOptions*/
  302. }
  303. func (s *StoreEntry) NeckRingIsBindEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  304. dataList := make([]*model.ConfigNeckRingIsBind, 0)
  305. pref := s.DB.Model(new(model.ConfigNeckRingStatus)).
  306. Where("is_show =? ", pasturePb.IsShow_Ok).
  307. Where("pasture_id =? ", userModel.AppPasture.Id)
  308. if isAll == model.IsAllYes {
  309. pref = pref.Where("kind >= ?", pasturePb.NeckRingIsBind_Invalid)
  310. } else {
  311. pref = pref.Where("kind > ?", pasturePb.NeckRingIsBind_Invalid)
  312. }
  313. if err := pref.Order("kind ASC").
  314. Find(&dataList).Error; err != nil {
  315. zaplog.Error("NeckRingIsBindEnumList", zap.Any("err", err))
  316. return make([]*pasturePb.ConfigOptionsList, 0)
  317. }
  318. return model.ConfigNeckRingIsBindSlice(dataList).ToPB(userModel.Language)
  319. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  320. if isAll == model.IsAllYes {
  321. configOptions = append(configOptions,
  322. &pasturePb.ConfigOptionsList{
  323. Value: int32(pasturePb.NeckRingIsBind_Invalid),
  324. Label: "全部",
  325. Disabled: true,
  326. })
  327. }
  328. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  329. Value: int32(pasturePb.NeckRingIsBind_Bind),
  330. Label: "已绑定",
  331. Disabled: true,
  332. }, &pasturePb.ConfigOptionsList{
  333. Value: int32(pasturePb.NeckRingIsBind_Unbind),
  334. Label: "未绑定",
  335. Disabled: true,
  336. })
  337. return configOptions*/
  338. }
  339. func (s *StoreEntry) NeckRingStatusEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  340. dataList := make([]*model.ConfigNeckRingStatus, 0)
  341. pref := s.DB.Model(new(model.ConfigNeckRingStatus)).
  342. Where("is_show =? ", pasturePb.IsShow_Ok).
  343. Where("pasture_id =? ", userModel.AppPasture.Id)
  344. if isAll == model.IsAllYes {
  345. pref = pref.Where("kind >= ?", pasturePb.NeckRingStatus_Invalid)
  346. } else {
  347. pref = pref.Where("kind > ?", pasturePb.NeckRingStatus_Invalid)
  348. }
  349. if err := pref.Order("kind ASC").
  350. Find(&dataList).Error; err != nil {
  351. zaplog.Error("NeckRingStatusEnumList", zap.Any("err", err))
  352. return make([]*pasturePb.ConfigOptionsList, 0)
  353. }
  354. return model.ConfigNeckRingStatusSlice(dataList).ToPB(userModel.Language)
  355. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  356. if isAll == model.IsAllYes {
  357. configOptions = append(configOptions,
  358. &pasturePb.ConfigOptionsList{
  359. Value: int32(pasturePb.NeckRingStatus_Invalid),
  360. Label: "全部",
  361. Disabled: true,
  362. })
  363. }
  364. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  365. Value: int32(pasturePb.NeckRingStatus_Normal),
  366. Label: "正常",
  367. Disabled: true,
  368. }, &pasturePb.ConfigOptionsList{
  369. Value: int32(pasturePb.NeckRingStatus_Abnormal),
  370. Label: "异常",
  371. Disabled: true,
  372. })
  373. return configOptions*/
  374. }
  375. func (s *StoreEntry) CalendarTypeEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  376. dataList := make([]*model.ConfigCalendarType, 0)
  377. pref := s.DB.Model(new(model.ConfigCalendarType)).
  378. Where("is_show =? ", pasturePb.IsShow_Ok).
  379. Where("pasture_id =? ", userModel.AppPasture.Id)
  380. if isAll == model.IsAllYes {
  381. pref = pref.Where("kind >= ?", pasturePb.CalendarType_Invalid)
  382. } else {
  383. pref = pref.Where("kind > ?", pasturePb.CalendarType_Invalid)
  384. }
  385. if err := pref.Order("kind ASC").
  386. Find(&dataList).Error; err != nil {
  387. zaplog.Error("CalendarTypeEnumList", zap.Any("err", err))
  388. return make([]*pasturePb.ConfigOptionsList, 0)
  389. }
  390. return model.ConfigCalendarTypeSlice(dataList).ToPB(userModel.Language)
  391. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  392. if isAll == model.IsAllYes {
  393. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  394. Value: int32(pasturePb.CalendarType_Invalid),
  395. Label: "全部",
  396. Disabled: true,
  397. })
  398. }
  399. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  400. Value: int32(pasturePb.CalendarType_Immunisation),
  401. Label: "免疫",
  402. Disabled: true,
  403. }, &pasturePb.ConfigOptionsList{
  404. Value: int32(pasturePb.CalendarType_PG),
  405. Label: "同期PG",
  406. Disabled: true,
  407. }, &pasturePb.ConfigOptionsList{
  408. Value: int32(pasturePb.CalendarType_RnGH),
  409. Label: "同期RnGH",
  410. Disabled: true,
  411. }, &pasturePb.ConfigOptionsList{
  412. Value: int32(pasturePb.CalendarType_Pregnancy_Check),
  413. Label: "孕检",
  414. Disabled: true,
  415. }, &pasturePb.ConfigOptionsList{
  416. Value: int32(pasturePb.CalendarType_Weaning),
  417. Label: "断奶",
  418. Disabled: true,
  419. }, &pasturePb.ConfigOptionsList{
  420. Value: int32(pasturePb.CalendarType_Disease),
  421. Label: "疾病",
  422. Disabled: true,
  423. }, &pasturePb.ConfigOptionsList{
  424. Value: int32(pasturePb.CalendarType_Mating),
  425. Label: "配种",
  426. Disabled: true,
  427. }, &pasturePb.ConfigOptionsList{
  428. Value: int32(pasturePb.CalendarType_Calving),
  429. Label: "产犊",
  430. Disabled: true,
  431. }, &pasturePb.ConfigOptionsList{
  432. Value: int32(pasturePb.CalendarType_DryMilk),
  433. Label: "干奶",
  434. Disabled: true,
  435. })
  436. return configOptions*/
  437. }
  438. func (s *StoreEntry) AbortionReasonsEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  439. dataList := make([]*model.ConfigAbortionReasons, 0)
  440. pref := s.DB.Model(new(model.ConfigAbortionReasons)).
  441. Where("is_show =? ", pasturePb.IsShow_Ok).
  442. Where("pasture_id =? ", userModel.AppPasture.Id)
  443. if isAll == model.IsAllYes {
  444. pref = pref.Where("kind >= ?", pasturePb.AbortionReasons_Invalid)
  445. } else {
  446. pref = pref.Where("kind > ?", pasturePb.AbortionReasons_Invalid)
  447. }
  448. if err := pref.Order("kind ASC").
  449. Find(&dataList).Error; err != nil {
  450. zaplog.Error("AbortionReasonsEnumList", zap.Any("err", err))
  451. return make([]*pasturePb.ConfigOptionsList, 0)
  452. }
  453. return model.ConfigAbortionReasonsSlice(dataList).ToPB(userModel.Language)
  454. }
  455. func (s *StoreEntry) CalvingAnalysisMethodEnumList(userModel *model.UserModel, isAll string) []*pasturePb.ConfigOptionsList {
  456. dataList := make([]*model.ConfigCalvingAnalysisMethod, 0)
  457. pref := s.DB.Model(new(model.ConfigCalvingAnalysisMethod)).
  458. Where("is_show =? ", pasturePb.IsShow_Ok).
  459. Where("pasture_id =? ", userModel.AppPasture.Id)
  460. if isAll == model.IsAllYes {
  461. pref = pref.Where("kind >= ?", pasturePb.CalvingAnalysisMethod_Invalid)
  462. } else {
  463. pref = pref.Where("kind > ?", pasturePb.CalvingAnalysisMethod_Invalid)
  464. }
  465. if err := pref.Order("kind ASC").
  466. Find(&dataList).Error; err != nil {
  467. zaplog.Error("CalvingAnalysisMethodEnumList", zap.Any("err", err))
  468. return make([]*pasturePb.ConfigOptionsList, 0)
  469. }
  470. return model.ConfigCalvingAnalysisMethodSlice(dataList).ToPB(userModel.Language)
  471. /*configOptions := make([]*pasturePb.ConfigOptionsList, 0)
  472. if isAll == model.IsAllYes {
  473. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  474. Value: int32(pasturePb.CalvingAnalysisMethod_Invalid),
  475. Label: "全部",
  476. Disabled: true,
  477. })
  478. }
  479. configOptions = append(configOptions, &pasturePb.ConfigOptionsList{
  480. Value: int32(pasturePb.CalvingAnalysisMethod_Months),
  481. Label: "按月份统计",
  482. Disabled: true,
  483. }, &pasturePb.ConfigOptionsList{
  484. Value: int32(pasturePb.CalvingAnalysisMethod_CowKind),
  485. Label: "按照品种统计",
  486. Disabled: true,
  487. })
  488. return configOptions*/
  489. }