TInvoiceDeviceController.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.ruoyi.project.invoice.controller;
  2. import com.ruoyi.common.utils.StringUtils;
  3. import com.ruoyi.common.utils.poi.ExcelUtil;
  4. import com.ruoyi.framework.aspectj.lang.annotation.Log;
  5. import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
  6. import com.ruoyi.framework.web.controller.BaseController;
  7. import com.ruoyi.framework.web.domain.AjaxResult;
  8. import com.ruoyi.framework.web.page.TableDataInfo;
  9. import com.ruoyi.project.invoice.domain.TInvoiceDevice;
  10. import com.ruoyi.project.invoice.service.ITInvoiceDeviceService;
  11. import com.ruoyi.project.system.service.ISysDeptService;
  12. import com.ruoyi.project.system.service.ISysUserService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.security.access.prepost.PreAuthorize;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. /**
  18. * 装置区域管理Controller
  19. *
  20. * @author ruoyi
  21. * @date 2022-09-06
  22. */
  23. @RestController
  24. @RequestMapping("/invoice/device")
  25. public class TInvoiceDeviceController extends BaseController
  26. {
  27. @Autowired
  28. private ITInvoiceDeviceService tInvoiceDeviceService;
  29. @Autowired
  30. private ISysDeptService sysDeptService;
  31. @Autowired
  32. private ISysUserService sysUserService;
  33. /**
  34. * 查询装置区域管理列表
  35. */
  36. @PreAuthorize("@ss.hasPermi('invoice:device:list')")
  37. @GetMapping("/list")
  38. public TableDataInfo list(TInvoiceDevice tInvoiceDevice)
  39. {
  40. startPage();
  41. List<TInvoiceDevice> list = tInvoiceDeviceService.selectTInvoiceDeviceList(tInvoiceDevice);
  42. return getDataTable(list);
  43. }
  44. /**
  45. * 查询装置区域下拉列表数据
  46. */
  47. @GetMapping("/select")
  48. public AjaxResult select(TInvoiceDevice tInvoiceDevice)
  49. {
  50. List<String> list = tInvoiceDeviceService.selectTInvoiceDeviceAllList(tInvoiceDevice);
  51. return AjaxResult.success(list);
  52. }
  53. /**
  54. * 导出装置区域管理列表
  55. */
  56. @PreAuthorize("@ss.hasPermi('invoice:device:export')")
  57. @Log(title = "装置区域管理", businessType = BusinessType.EXPORT)
  58. @GetMapping("/export")
  59. public AjaxResult export(TInvoiceDevice tInvoiceDevice)
  60. {
  61. List<TInvoiceDevice> list = tInvoiceDeviceService.selectTInvoiceDeviceList(tInvoiceDevice);
  62. for (TInvoiceDevice invoiceDevice : list) {
  63. if (invoiceDevice.getDeptId()==4L){
  64. invoiceDevice.setDeptName("N/A");
  65. }
  66. String regionalHeadName="";
  67. for (String userId : invoiceDevice.getRegionalHead().split(",")) {
  68. regionalHeadName+=sysUserService.selectUserById(Long.parseLong(userId)).getNickName()+",";
  69. }
  70. if (StringUtils.isNotEmpty(regionalHeadName)) {
  71. invoiceDevice.setRegionalHeadName(regionalHeadName.substring(0,regionalHeadName.length()-1));
  72. }
  73. }
  74. ExcelUtil<TInvoiceDevice> util = new ExcelUtil<TInvoiceDevice>(TInvoiceDevice.class);
  75. return util.exportExcel(list, "device");
  76. }
  77. @GetMapping("/listRegionalHead")
  78. public AjaxResult listRegionalHead(){
  79. List<TInvoiceDevice> tInvoiceDevices = tInvoiceDeviceService.selectAllRegionalHead(new TInvoiceDevice());
  80. for (TInvoiceDevice tInvoiceDevice : tInvoiceDevices) {
  81. StringBuilder nickname = new StringBuilder();
  82. for (String userId : tInvoiceDevice.getRegionalHead().split(",")) {
  83. nickname.append(sysUserService.selectUserById(Long.valueOf(userId)).getNickName()).append(",");
  84. }
  85. tInvoiceDevice.setRegionalHeadName(nickname.substring(0,nickname.length()-1));
  86. }
  87. return AjaxResult.success(tInvoiceDevices);
  88. }
  89. /**
  90. * 获取装置区域管理详细信息
  91. */
  92. @PreAuthorize("@ss.hasPermi('invoice:device:query')")
  93. @GetMapping(value = "/{id}")
  94. public AjaxResult getInfo(@PathVariable("id") Long id)
  95. {
  96. return AjaxResult.success(tInvoiceDeviceService.selectTInvoiceDeviceById(id));
  97. }
  98. /**
  99. * 新增装置区域管理
  100. */
  101. @PreAuthorize("@ss.hasPermi('invoice:device:add')")
  102. @Log(title = "装置区域管理", businessType = BusinessType.INSERT)
  103. @PostMapping
  104. public AjaxResult add(@RequestBody TInvoiceDevice tInvoiceDevice)
  105. {
  106. tInvoiceDevice.setCreaterCode(getUserId().toString());
  107. return toAjax(tInvoiceDeviceService.insertTInvoiceDevice(tInvoiceDevice));
  108. }
  109. /**
  110. * 修改装置区域管理
  111. */
  112. @PreAuthorize("@ss.hasPermi('invoice:device:edit')")
  113. @Log(title = "装置区域管理", businessType = BusinessType.UPDATE)
  114. @PutMapping
  115. public AjaxResult edit(@RequestBody TInvoiceDevice tInvoiceDevice)
  116. {
  117. return toAjax(tInvoiceDeviceService.updateTInvoiceDevice(tInvoiceDevice));
  118. }
  119. /**
  120. * 删除装置区域管理
  121. */
  122. @PreAuthorize("@ss.hasPermi('invoice:device:remove')")
  123. @Log(title = "装置区域管理", businessType = BusinessType.DELETE)
  124. @DeleteMapping("/{ids}")
  125. public AjaxResult remove(@PathVariable Long[] ids)
  126. {
  127. return toAjax(tInvoiceDeviceService.deleteTInvoiceDeviceByIds(ids));
  128. }
  129. }