LabelRuleController.java 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. package com.yijia.label.controller;
  2. import java.util.List;
  3. import com.yijia.common.core.domain.entity.SysDept;
  4. import com.yijia.common.core.domain.model.LoginUser;
  5. import com.yijia.common.utils.DateUtils;
  6. import com.yijia.common.utils.SecurityUtils;
  7. import com.yijia.common.utils.poi.ExcelUtil;
  8. import com.yijia.label.domain.LabelRule;
  9. import com.yijia.label.domain.LabelRuleDetail;
  10. import com.yijia.label.domain.RequsetSysDept;
  11. import com.yijia.label.service.ILabelRuleDetailService;
  12. import com.yijia.label.service.ILabelRuleService;
  13. import com.yijia.system.service.ISysDeptService;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import org.springframework.web.bind.annotation.*;
  18. import com.yijia.common.annotation.Log;
  19. import com.yijia.common.core.controller.BaseController;
  20. import com.yijia.common.core.domain.AjaxResult;
  21. import com.yijia.common.enums.BusinessType;
  22. import com.yijia.common.core.page.TableDataInfo;
  23. /**
  24. * 标签规则
  25. Controller
  26. *
  27. * @author yijia
  28. * @date 2021-06-15
  29. */
  30. @RestController
  31. @RequestMapping("/label/rule")
  32. public class LabelRuleController extends BaseController
  33. {
  34. @Autowired
  35. private ILabelRuleService labelRuleService;
  36. @Autowired
  37. private ISysDeptService deptService;
  38. @Autowired
  39. private ILabelRuleDetailService labelRuleDetailService;
  40. /**
  41. * 查询标签规则列表
  42. */
  43. @GetMapping("/list")
  44. public TableDataInfo list(LabelRule labelRule)
  45. {
  46. LoginUser currentUser = SecurityUtils.getLoginUser();
  47. labelRule.setStationId(currentUser.getUser().getDeptId());
  48. labelRule.setDelFlag("0");
  49. startPage();
  50. List<LabelRule> list = labelRuleService.selectLabelRuleList(labelRule);
  51. return getDataTable(list);
  52. }
  53. /**
  54. * 导出标签规则列表
  55. */
  56. @Log(title = "标签规则", businessType = BusinessType.EXPORT)
  57. @GetMapping("/export")
  58. public AjaxResult export(LabelRule labelRule)
  59. {
  60. List<LabelRule> list = labelRuleService.selectLabelRuleList(labelRule);
  61. ExcelUtil<LabelRule> util = new ExcelUtil<LabelRule>(LabelRule.class);
  62. return util.exportExcel(list, "rule");
  63. }
  64. /**
  65. * 获取标签规则详细信息
  66. */
  67. @GetMapping(value = "/{id}")
  68. public AjaxResult getInfo(@PathVariable("id") Integer id)
  69. {
  70. return AjaxResult.success(labelRuleService.selectLabelRuleById(id));
  71. }
  72. /**
  73. *标签功能是否开启,标签名
  74. */
  75. @GetMapping("/sysDeptDemoList")
  76. public AjaxResult sysDeptDemoList()
  77. {
  78. LoginUser currentUser = SecurityUtils.getLoginUser();
  79. SysDept dept = deptService.selectDeptById(currentUser.getUser().getDeptId());
  80. RequsetSysDept requsetSysDept = new RequsetSysDept();
  81. BeanUtils.copyProperties(dept,requsetSysDept);
  82. LabelRule labelRule =new LabelRule();
  83. labelRule.setStationId(currentUser.getUser().getDeptId());
  84. labelRule.setDelFlag("0");
  85. List<LabelRule> list = labelRuleService.selectLabelRuleList(labelRule);
  86. requsetSysDept.setLabelArr(list);
  87. return AjaxResult.success(requsetSysDept);
  88. }
  89. @GetMapping("/selectLabelList")
  90. public AjaxResult selectLabelList()
  91. {
  92. LoginUser currentUser = SecurityUtils.getLoginUser();
  93. SysDept dept = deptService.selectDeptById(currentUser.getUser().getDeptId());
  94. RequsetSysDept requsetSysDept = new RequsetSysDept();
  95. BeanUtils.copyProperties(dept,requsetSysDept);
  96. if(requsetSysDept!=null && requsetSysDept.getLabelFlag()!=null && requsetSysDept.getLabelFlag().equals("1")){
  97. LabelRule labelRule =new LabelRule();
  98. labelRule.setStationId(currentUser.getUser().getDeptId());
  99. labelRule.setDelFlag("0");
  100. startPage();
  101. List<LabelRule> list = labelRuleService.selectLabelRuleList(labelRule);
  102. if(list!=null && list.size()>0){
  103. for(LabelRule rule:list){
  104. LabelRuleDetail detail =new LabelRuleDetail();
  105. detail.setParentId(rule.getId());
  106. detail.setDelFlag("0");
  107. List<LabelRuleDetail> labelRuleDetailList = labelRuleDetailService.selectLabelRuleDetailList(detail);
  108. if(labelRuleDetailList!=null && labelRuleDetailList.size()>0){
  109. rule.setLabelRuleDetailList(labelRuleDetailList);
  110. }
  111. }
  112. }
  113. requsetSysDept.setLabelArr(list);
  114. }
  115. return AjaxResult.success(requsetSysDept);
  116. }
  117. @Log(title = "标签规则", businessType = BusinessType.INSERT)
  118. @PostMapping("/addlabel")
  119. @Transactional
  120. public AjaxResult addlabel(@RequestBody RequsetSysDept requsetSysDept)
  121. {
  122. int i =0;
  123. LoginUser currentUser = SecurityUtils.getLoginUser();
  124. //根据demo获取添加数据
  125. if(requsetSysDept!=null){
  126. SysDept dept =new SysDept();
  127. dept.setDeptId(currentUser.getUser().getDeptId());
  128. dept.setLabelFlag(requsetSysDept.getLabelFlag());
  129. dept.setUpdateBy(currentUser.getUser().getUserId()+"");
  130. dept.setUpdateTime(DateUtils.getNowDate());
  131. i = deptService.updateDeptInfo(dept);
  132. if(requsetSysDept.getLabelArr()!=null && requsetSysDept.getLabelArr().size()>0){
  133. for(LabelRule labelRule : requsetSysDept.getLabelArr()) {
  134. if(labelRule.getId()!=null){
  135. labelRule.setUpdateBy(currentUser.getUser().getUserId()+"");
  136. i=labelRuleService.updateLabelRule(labelRule);
  137. }else{
  138. labelRule.setStationId(currentUser.getUser().getDeptId());
  139. labelRule.setCreateBy(currentUser.getUser().getUserId()+"");
  140. labelRule.setDelFlag("0");
  141. i=labelRuleService.insertLabelRule(labelRule);
  142. }
  143. }
  144. }
  145. if(requsetSysDept.getDelArr()!=null &&requsetSysDept.getDelArr().size()>0){
  146. List<Integer> idlist =requsetSysDept.getDelArr();
  147. Integer[] ints = idlist.toArray(new Integer[0]);
  148. for(Integer ids :idlist){
  149. LabelRule labelRule =new LabelRule();
  150. labelRule.setId(ids);
  151. labelRule.setDelFlag("1");
  152. labelRuleService.updateLabelRule(labelRule);
  153. LabelRuleDetail detil =new LabelRuleDetail();
  154. detil.setParentId(ids);
  155. List<LabelRuleDetail> detailList =labelRuleDetailService.selectLabelRuleDetailList(detil);
  156. for( LabelRuleDetail detail:detailList){
  157. detail.setDelFlag("1");
  158. labelRuleDetailService.updateLabelRuleDetail(detail);
  159. }
  160. }
  161. }
  162. }
  163. return toAjax(i);
  164. }
  165. /**
  166. * 修改标签规则
  167. */
  168. @Log(title = "标签规则", businessType = BusinessType.UPDATE)
  169. @PutMapping
  170. public AjaxResult edit(@RequestBody LabelRule labelRule)
  171. {
  172. LoginUser currentUser = SecurityUtils.getLoginUser();
  173. labelRule.setUpdateBy(currentUser.getUser().getUserId()+"");
  174. return toAjax(labelRuleService.updateLabelRule(labelRule));
  175. }
  176. /**
  177. * 删除标签规则
  178. */
  179. @Log(title = "标签规则", businessType = BusinessType.DELETE)
  180. @DeleteMapping("/{ids}")
  181. public AjaxResult remove(@PathVariable Integer[] ids)
  182. {
  183. return toAjax(labelRuleService.deleteLabelRuleByIds(ids));
  184. }
  185. }