DispatchEnergyLogController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. package com.steerinfo.ems.dispatchenergylog.controller;
  2. import com.steerinfo.framework.controller.BaseRESTfulController;
  3. import com.steerinfo.framework.controller.RESTfulResult;
  4. import com.steerinfo.framework.service.pagehelper.PageList;
  5. import com.steerinfo.framework.utils.collection.ListUtils;
  6. import com.alibaba.fastjson.JSONArray;
  7. import com.alibaba.fastjson.JSONObject;
  8. import com.steerinfo.ems.dispatchenergylog.model.DispatchEnergyLog;
  9. import com.steerinfo.ems.dispatchenergylog.service.IDispatchEnergyLogService;
  10. import com.steerinfo.ems.dispatchenergylogact.model.DispatchEnergyLogAct;
  11. import com.steerinfo.ems.dispatchenergylogact.service.IDispatchEnergyLogActService;
  12. import io.swagger.annotations.ApiImplicitParam;
  13. import io.swagger.annotations.ApiImplicitParams;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.apache.shiro.authz.annotation.RequiresPermissions;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.*;
  19. import java.util.Arrays;
  20. import java.util.HashMap;
  21. import java.util.List;
  22. import java.util.Map;
  23. import java.util.ArrayList;
  24. import java.math.BigDecimal;
  25. /**
  26. * DispatchEnergyLog RESTful接口:
  27. * @author generator
  28. * @version 1.0-SNAPSHORT 2020-08-08 11:44
  29. * 类描述
  30. * 修订历史:
  31. * 日期:2020-08-08
  32. * 作者:generator
  33. * 参考:
  34. * 描述:DispatchEnergyLog RESTful接口
  35. * @see null
  36. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  37. */
  38. @RestController
  39. @RequestMapping("/${api.version}/dispatchenergylogs")
  40. public class DispatchEnergyLogController extends BaseRESTfulController {
  41. @Autowired
  42. IDispatchEnergyLogService dispatchEnergyLogService;
  43. @Autowired
  44. IDispatchEnergyLogActService dispatchEnergyLogActService;
  45. @ApiOperation(value="获取列表", notes="分页查询")
  46. @ApiImplicitParams({
  47. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  48. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
  49. })
  50. //@RequiresPermissions("dispatchenergylog:view")
  51. @GetMapping(value = "/")
  52. public RESTfulResult list(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
  53. PageList<DispatchEnergyLog> list = dispatchEnergyLogService.queryForPage(parmas, pageNum, pageSize);
  54. return success(list);
  55. }
  56. @ApiOperation(value="获取列表", notes="分页模糊查询")
  57. @ApiImplicitParams({
  58. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  59. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
  60. })
  61. //@RequiresPermissions("dispatchenergylog:view")
  62. @GetMapping(value = "/like/")
  63. public RESTfulResult listLike(@RequestParam HashMap parmas,Integer pageNum, Integer pageSize){
  64. PageList<DispatchEnergyLog> list = dispatchEnergyLogService.queryLikeForPage(parmas, pageNum, pageSize);
  65. return success(list);
  66. }
  67. @ApiOperation(value="创建", notes="根据DispatchEnergyLog对象创建")
  68. @ApiImplicitParam(name = "dispatchEnergyLog", value = "详细实体dispatchEnergyLog", required = true, dataType = "DispatchEnergyLog")
  69. //@RequiresPermissions("dispatchenergylog:create")
  70. @PostMapping(value = "/")
  71. public RESTfulResult add(@RequestBody Map<String,Object> maps){
  72. if(maps.get("clock") == null){
  73. return failed(null, "请传入日志日期");
  74. }
  75. String clock = maps.get("clock").toString();
  76. String dLog = maps.get("dLog") == null ? "" : maps.get("dLog").toString(); // 重要记事
  77. String orderLog = maps.get("orderLog") == null ? "" : maps.get("orderLog").toString(); // 上级命令
  78. DispatchEnergyLog t = dispatchEnergyLogService.getById(clock);
  79. DispatchEnergyLog model = new DispatchEnergyLog();
  80. model.setClock(clock);
  81. model.setDlog(dLog);
  82. model.setOrderLog(orderLog);
  83. if(t!=null){
  84. dispatchEnergyLogService.modify(model);
  85. }else{
  86. dispatchEnergyLogService.add(model);
  87. }
  88. // 日志详情
  89. JSONArray ja = new JSONArray();
  90. if(maps.get("data")!=null){
  91. ja = (JSONArray)maps.get("data");
  92. HashMap<String, Object> params = new HashMap<>();
  93. params.put("clock", clock);
  94. dispatchEnergyLogActService.deleteByParams(params);
  95. if (ja != null && !ja.isEmpty()) {
  96. for (int i = 0; i < ja.size(); i++) {
  97. JSONObject jo = (JSONObject) ja.get(i);
  98. DispatchEnergyLogAct da = new DispatchEnergyLogAct();
  99. da.setClock(clock);
  100. da.setTim(jo.getString("tim"));
  101. da.setActLog(jo.getString("actLog"));
  102. da.setDataLog(jo.getString("dataLog"));
  103. dispatchEnergyLogActService.add(da);
  104. }
  105. }
  106. }
  107. return success();
  108. }
  109. @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")
  110. @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
  111. //@RequiresPermissions("dispatchenergylog:view")
  112. @GetMapping(value = "/{id}")
  113. public RESTfulResult get(@PathVariable String id){
  114. DispatchEnergyLog dispatchEnergyLog = dispatchEnergyLogService.getById(id);
  115. String orderLog = "";
  116. String dLog = "";
  117. List<DispatchEnergyLogAct> list = new ArrayList<DispatchEnergyLogAct>();
  118. if(dispatchEnergyLog !=null) {
  119. dLog = dispatchEnergyLog.getDlog();
  120. orderLog = dispatchEnergyLog.getOrderLog();
  121. HashMap<String, Object> params = new HashMap<>();
  122. params.put("clock", dispatchEnergyLog.getClock());
  123. list = dispatchEnergyLogActService.query(params);
  124. }
  125. Map<String, Object> m = new HashMap<String, Object>();
  126. m.put("orderLog", orderLog);
  127. m.put("dLog", dLog);
  128. m.put("list", list);
  129. return success(m);
  130. }
  131. @ApiOperation(value="更新详细信息", notes="根据url的id来指定更新对象,并根据传过来的dispatchEnergyLog信息来更新详细信息")
  132. @ApiImplicitParams({
  133. @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String"),
  134. @ApiImplicitParam(name = "dispatchEnergyLog", value = "详细实体dispatchEnergyLog", required = true, dataType = "DispatchEnergyLog")
  135. })
  136. //@RequiresPermissions("dispatchenergylog:update")
  137. @PutMapping(value = "/{id}", produces = "application/json;charset=UTF-8")
  138. public RESTfulResult update(@PathVariable String id, @RequestBody DispatchEnergyLog model){
  139. model.setId(id);
  140. DispatchEnergyLog dispatchEnergyLog = dispatchEnergyLogService.modify(model);
  141. return success(dispatchEnergyLog);
  142. }
  143. @ApiOperation(value="删除", notes="根据url的id来指定删除对象")
  144. @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "String")
  145. //@RequiresPermissions("dispatchenergylog:delete")
  146. @DeleteMapping(value = "/{id}")//String
  147. public RESTfulResult delete(@PathVariable String id){
  148. List<String> list = Arrays.asList(id.split(","));
  149. if(ListUtils.isNotEmpty(list)) {
  150. List<String> ids = ListUtils.convertList(list);
  151. dispatchEnergyLogService.delete(ids);
  152. }
  153. return success();
  154. }
  155. }