SysDictDataController.java 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. package com.tzy.web.controller.system;
  2. import com.alibaba.fastjson.JSON;
  3. import com.tzy.common.annotation.Log;
  4. import com.tzy.common.core.controller.BaseController;
  5. import com.tzy.common.core.domain.MsgResult;
  6. import com.tzy.common.core.domain.entity.SysDictData;
  7. import com.tzy.common.core.page.TableDataInfo;
  8. import com.tzy.common.enums.BusinessType;
  9. import com.tzy.common.utils.ShiroUtils;
  10. import com.tzy.common.utils.poi.ExcelUtil;
  11. import com.tzy.framework.datasource.DBChangeService;
  12. import com.tzy.framework.datasource.DynamicDataSourceContextHolder;
  13. import com.tzy.framework.util.SysUtils;
  14. import com.tzy.system.service.ISysDictDataService;
  15. import org.apache.shiro.authz.annotation.RequiresPermissions;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.ui.ModelMap;
  19. import org.springframework.validation.annotation.Validated;
  20. import org.springframework.web.bind.annotation.*;
  21. import java.util.List;
  22. /**
  23. * 数据字典信息
  24. *
  25. * @author zheng
  26. */
  27. @Controller
  28. @RequestMapping("/system/dict/data")
  29. public class SysDictDataController extends BaseController
  30. {
  31. private String prefix = "system/dict/data";
  32. @Autowired
  33. private ISysDictDataService dictDataService;
  34. @Autowired
  35. private DBChangeService dbChangeService;
  36. @Autowired
  37. private SysUtils SysUtils;
  38. /**
  39. * 平台管理
  40. * @return
  41. */
  42. @RequiresPermissions("system:dict:view")
  43. @GetMapping()
  44. public String dictData()
  45. {
  46. return prefix + "/data_list";
  47. }
  48. /**
  49. * 用户管理 通用字典
  50. * @return
  51. */
  52. @GetMapping("/local")
  53. public String localData()
  54. {
  55. return prefix + "/data_local_list";
  56. }
  57. @PostMapping("/list")
  58. @RequiresPermissions("system:dict:list")
  59. @ResponseBody
  60. public TableDataInfo list(SysDictData dictData)
  61. {
  62. startPage();
  63. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  64. return getDataTable(list);
  65. }
  66. //获取字典数据
  67. @GetMapping("/GetDictDataList")
  68. @ResponseBody
  69. public String GetDictDataByType(SysDictData dictData,@RequestParam("dictType") String dictType)
  70. {
  71. dictData.setDictType(dictType);
  72. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  73. return JSON.toJSONString(list);
  74. }
  75. //获取本地字典数据
  76. @GetMapping("/GetLocationDictDataList")
  77. @ResponseBody
  78. public String GetLocationDictDataByType(SysDictData dictData,@RequestParam("dictType") String dictType)
  79. {
  80. try {
  81. dbChangeService.userDb();
  82. dictData.setDictType(dictType);
  83. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  84. return JSON.toJSONString(list);
  85. } catch (Exception e) {
  86. e.printStackTrace();
  87. return "";
  88. } finally {
  89. DynamicDataSourceContextHolder.clearDataSource();
  90. }
  91. }
  92. @Log(title = "字典数据", businessType = BusinessType.EXPORT)
  93. @RequiresPermissions("system:dict:export")
  94. @PostMapping("/export")
  95. @ResponseBody
  96. public MsgResult export(SysDictData dictData)
  97. {
  98. List<SysDictData> list = dictDataService.selectDictDataList(dictData);
  99. ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
  100. return util.exportExcel(list, "字典数据");
  101. }
  102. /**
  103. * 新增字典类型
  104. */
  105. @GetMapping("/add/{dictType}")
  106. public String add(@PathVariable("dictType") String dictType, ModelMap mmap)
  107. {
  108. mmap.put("dictType", dictType);
  109. return prefix + "/add_data";
  110. }
  111. /**
  112. * 新增本地字典类型
  113. */
  114. @GetMapping("/addLocation/{dictType}")
  115. public String addLocation(@PathVariable("dictType") String dictType, ModelMap mmap)
  116. {
  117. mmap.put("dictType", dictType);
  118. return prefix + "/add_location_data";
  119. }
  120. /**
  121. * 新增保存字典类型
  122. */
  123. @Log(title = "字典数据", businessType = BusinessType.INSERT)
  124. @RequiresPermissions("system:dict:add")
  125. @PostMapping("/addSave")
  126. @ResponseBody
  127. public MsgResult addSave(@Validated SysDictData dict)
  128. {
  129. dict.setCreateBy(ShiroUtils.getLoginName());
  130. return toReturn(dictDataService.insertDictData(dict));
  131. }
  132. /**
  133. * 新增本地保存字典类型
  134. */
  135. @PostMapping("/addLocationSave")
  136. @ResponseBody
  137. public MsgResult addLocationSave(@Validated SysDictData dict)
  138. {
  139. try {
  140. dbChangeService.userDb();
  141. dict.setCreateBy(ShiroUtils.getLoginName());
  142. return toReturn(dictDataService.insertDictData(dict));
  143. } catch (Exception e) {
  144. e.printStackTrace();
  145. return toReturn(-1);
  146. } finally {
  147. DynamicDataSourceContextHolder.clearDataSource();
  148. }
  149. }
  150. /**
  151. * 修改字典类型
  152. */
  153. @GetMapping("/edit/{dictCode}")
  154. public String edit(@PathVariable("dictCode") Long dictCode, ModelMap mmap)
  155. {
  156. mmap.put("dict", dictDataService.selectDictDataById(dictCode));
  157. return prefix + "/edit_data";
  158. }
  159. /**
  160. * 本地修改字典类型
  161. */
  162. @GetMapping("/editLocation/{dictCode}")
  163. public String editLocation(@PathVariable("dictCode") Long dictCode, ModelMap mmap)
  164. {
  165. try {
  166. dbChangeService.userDb();
  167. mmap.put("dict", dictDataService.selectDictDataById(dictCode));
  168. } catch (Exception e) {
  169. e.printStackTrace();
  170. } finally {
  171. DynamicDataSourceContextHolder.clearDataSource();
  172. }
  173. return prefix + "/edit_location_data";
  174. }
  175. /**
  176. * 修改保存字典类型
  177. */
  178. @Log(title = "字典数据", businessType = BusinessType.UPDATE)
  179. @RequiresPermissions("system:dict:edit")
  180. @PostMapping("/editSave")
  181. @ResponseBody
  182. public MsgResult editSave(@Validated SysDictData dict)
  183. {
  184. try
  185. {
  186. dict.setUpdateBy(ShiroUtils.getLoginName());
  187. return toReturn(dictDataService.updateDictData(dict));
  188. }
  189. catch(Exception ex) {
  190. return toReturn(-1,ex.getMessage());
  191. }
  192. }
  193. /**
  194. * 本地修改保存字典类型
  195. */
  196. @PostMapping("/editLocationSave")
  197. @ResponseBody
  198. public MsgResult editLocationSave(@Validated SysDictData dict)
  199. {
  200. try
  201. {
  202. dict.setUpdateBy(ShiroUtils.getLoginName());
  203. dbChangeService.userDb();
  204. return toReturn(dictDataService.updateDictData(dict));
  205. }
  206. catch(Exception ex) {
  207. return toReturn(-1,ex.getMessage());
  208. }finally {
  209. DynamicDataSourceContextHolder.clearDataSource();
  210. }
  211. }
  212. @Log(title = "字典数据", businessType = BusinessType.DELETE)
  213. @RequiresPermissions("system:dict:remove")
  214. @PostMapping("/remove")
  215. @ResponseBody
  216. public MsgResult remove(String keyValue)
  217. {
  218. try
  219. {
  220. return toReturn(dictDataService.deleteDictDataById(keyValue));
  221. }
  222. catch (Exception ex) {
  223. return toReturn(-1,ex.getMessage());
  224. }
  225. }
  226. /**
  227. * 本地移除
  228. * @param keyValue
  229. * @return
  230. */
  231. @PostMapping("/removeLocation")
  232. @ResponseBody
  233. public MsgResult removeLocation(String keyValue)
  234. {
  235. try {
  236. dbChangeService.userDb();
  237. try
  238. {
  239. return toReturn(dictDataService.deleteDictDataById(keyValue));
  240. }
  241. catch (Exception ex) {
  242. return toReturn(-1,ex.getMessage());
  243. }
  244. } catch (Exception e) {
  245. e.printStackTrace();
  246. return toReturn(-1);
  247. } finally {
  248. DynamicDataSourceContextHolder.clearDataSource();
  249. }
  250. }
  251. }