AmstruckPurplanController.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.feign.ESFeign;
  3. import com.steerinfo.dil.model.AmstruckPurplan;
  4. import com.steerinfo.dil.service.IAmstruckPurplanMaterialService;
  5. import com.steerinfo.dil.service.IAmstruckPurplanService;
  6. import com.steerinfo.dil.util.BaseRESTfulController;
  7. import com.steerinfo.dil.util.ColumnDataUtil;
  8. import com.steerinfo.dil.util.DataChange;
  9. import com.steerinfo.dil.util.PageListAdd;
  10. import com.steerinfo.framework.controller.RESTfulResult;
  11. import com.steerinfo.framework.service.pagehelper.PageHelper;
  12. import io.swagger.annotations.ApiImplicitParam;
  13. import io.swagger.annotations.ApiImplicitParams;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.math.BigDecimal;
  18. import java.util.Date;
  19. import java.util.HashMap;
  20. import java.util.List;
  21. import java.util.Map;
  22. /**
  23. * AmstruckPurplan RESTful接口:
  24. * @author generator
  25. * @version 1.0-SNAPSHORT 2021-09-02 10:38
  26. * 类描述
  27. * 修订历史:
  28. * 日期:2021-09-02
  29. * 作者:TXF
  30. * 参考:
  31. * 描述:AmstruckPurplan RESTful接口
  32. * @see null
  33. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  34. */
  35. @RestController
  36. @RequestMapping("/${api.version}/amstruckpurplans")
  37. public class AmstruckPurplanController extends BaseRESTfulController {
  38. @Autowired
  39. IAmstruckPurplanMaterialService amstruckPurplanMaterialService;
  40. @Autowired
  41. IAmstruckPurplanService amstruckPurplanService;
  42. @Autowired
  43. ColumnDataUtil columnDataUtil;
  44. @Autowired
  45. ESFeign esFeign;
  46. @ApiOperation(value="查询运输预约")
  47. @ApiImplicitParams({
  48. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  49. @ApiImplicitParam(name = "apiId(79)", value = "动态表头", required = false, dataType = "Integer"),
  50. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  51. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  52. @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
  53. })
  54. @PostMapping("/getAllPurPlan")
  55. public RESTfulResult getAllPurPlan(@RequestBody(required=false) Map<String,Object> mapValue,
  56. Integer apiId,
  57. Integer pageNum,
  58. Integer pageSize,
  59. Integer status,String con){
  60. mapValue.put("planStatus", status);
  61. //框计算
  62. if(con != null){
  63. if(!"undefined".equals(con)){
  64. //设置要查询的索引名称
  65. String index="get_pur_plan_list";
  66. //获取查询结果
  67. return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));
  68. }
  69. }
  70. //初始化过滤
  71. List<Map<String, Object>> allPurPlan = null;
  72. //如果有条件查询则跳过初始化,和创建索引
  73. if(mapValue.size() == 1){
  74. //将查询结果存入索引中
  75. allPurPlan = amstruckPurplanService.getAllPurPlan(mapValue);
  76. DataChange.changeDateToDayDate(allPurPlan, "planTruckTime", "planIncomingTime");
  77. Map<String, Object> map = new HashMap<>();
  78. //添加索引
  79. map.put("index","get_pur_plan_list");
  80. //添加id
  81. map.put("indexId","purPlanId");
  82. allPurPlan.add(map);
  83. //新建索引
  84. esFeign.insertIndex(allPurPlan);
  85. //删除
  86. allPurPlan.remove(allPurPlan.size()-1);
  87. }
  88. if(allPurPlan == null) {
  89. allPurPlan = amstruckPurplanService.getAllPurPlan(mapValue);
  90. }
  91. PageHelper.startPage(pageNum,pageSize);
  92. //分页数据
  93. List<Map<String, Object>> purPlan = amstruckPurplanService.getAllPurPlan(mapValue);
  94. DataChange.changeDateToDayDate(purPlan, "planTruckTime", "planIncomingTime");
  95. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allPurPlan,purPlan);
  96. return success(pageList);
  97. }
  98. @ApiOperation(value="通过Id查询运输计划")
  99. @PostMapping ("/getPurPlanById/{planId}")
  100. public RESTfulResult getPurPlanById(@PathVariable("planId")Integer planId){
  101. List<Map<String, Object>> purPlanById = amstruckPurplanService.getPurPlanById(planId);
  102. return success(purPlanById);
  103. }
  104. @ApiOperation(value="新增运输计划 状态:0")
  105. @ApiImplicitParams({
  106. @ApiImplicitParam(name = "amstruckPurplan", value = "运输计划实绩对象", required = false, dataType = "AmstruckPurplan"),
  107. })
  108. @PostMapping("/addPurPlan")
  109. public RESTfulResult addPurPlan(@RequestBody AmstruckPurplan amstruckPurplan){
  110. int i = amstruckPurplanService.addPurPlan(amstruckPurplan);
  111. return success(i);
  112. }
  113. @ApiOperation(value="修改运输计划")
  114. @ApiImplicitParams({
  115. @ApiImplicitParam(name = "amstruckPurplan", value = "请车作业实绩对象", required = false, dataType = "AmstruckPurplan"),
  116. })
  117. @PostMapping("/updatePurPlan")
  118. public RESTfulResult updatePurPlan(@RequestBody AmstruckPurplan amstruckPurplan){
  119. amstruckPurplan.setUpdateTime(new Date()); //设置更新时间
  120. int i = amstruckPurplanService.updatePurPlan(amstruckPurplan);
  121. return success(i);
  122. }
  123. @ApiOperation(value="下发运输计划 状态:1")
  124. @ApiImplicitParams({
  125. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  126. })
  127. @PostMapping("/sendPurPlan/{planId}")
  128. public RESTfulResult sendPurPlan(@PathVariable("planId")Integer planId){
  129. AmstruckPurplan amstruckPurplan = new AmstruckPurplan();
  130. amstruckPurplan.setPlanId(new BigDecimal(planId));
  131. amstruckPurplan.setPlanStatus(new BigDecimal(1));
  132. int i = amstruckPurplanService.sendPurPlan(amstruckPurplan);
  133. return success(i);
  134. }
  135. @ApiOperation(value="接收运输计划 状态:2")
  136. @ApiImplicitParams({
  137. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  138. })
  139. @PostMapping("/receptionPurPlan/{planId}")
  140. public RESTfulResult receptionPurPlan(@PathVariable("planId")Integer planId){
  141. AmstruckPurplan amstruckPurplan = new AmstruckPurplan();
  142. amstruckPurplan.setPlanId(new BigDecimal(planId));
  143. amstruckPurplan.setPlanStatus(new BigDecimal(2));
  144. int i = amstruckPurplanService.receptionPurPlan(amstruckPurplan);
  145. return success(i);
  146. }
  147. @ApiOperation(value="逻辑删除运输计划 状态:3")
  148. @ApiImplicitParams({
  149. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  150. })
  151. @PostMapping("/deletePurPlan/{planId}")
  152. public RESTfulResult deletePurPlan(@PathVariable("planId")Integer planId){
  153. AmstruckPurplan amstruckPurplan = new AmstruckPurplan();
  154. amstruckPurplan.setPlanId(new BigDecimal(planId));
  155. amstruckPurplan.setPlanStatus(new BigDecimal(3));
  156. int i = amstruckPurplanService.deletePurPlan(amstruckPurplan);
  157. return success(i);
  158. }
  159. // ******************************************************************************************************************
  160. @ApiOperation(value="查询要分派的计划")
  161. @ApiImplicitParams({
  162. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  163. @ApiImplicitParam(name = "apiId(82)", value = "动态表头", required = false, dataType = "Integer"),
  164. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  165. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  166. @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
  167. })
  168. @PostMapping("/getDecomposedPlan")
  169. public RESTfulResult getDecomposedPlan(@RequestBody(required=false) Map<String,Object> mapValue,
  170. Integer apiId,
  171. Integer pageNum,
  172. Integer pageSize,
  173. Integer planId,
  174. Integer status,String con){
  175. int count = 0;
  176. if(planId != null){
  177. mapValue.put("planId", planId);
  178. count++;
  179. }
  180. if(status != null){
  181. mapValue.put("planStatus", status);
  182. count++;
  183. }
  184. //框计算
  185. if(con != null){
  186. if(!"undefined".equals(con)){
  187. String index="get_decomposed_list"; //设置要查询的索引名称
  188. return success(esFeign.getConResult(mapValue,index,apiId,pageNum,pageSize,con));//获取查询结果
  189. }
  190. }
  191. //不分页筛选数据
  192. List<Map<String, Object>> allPlan = null;
  193. //如果有条件查询则跳过初始化,和创建索引
  194. if(mapValue.size() == count){
  195. //将查询结果存入索引中
  196. allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
  197. DataChange.changeDateToDayDate(allPlan, "planTruckTime", "planIncomingTime");
  198. Map<String, Object> map = new HashMap<>();
  199. //添加索引
  200. map.put("index","get_decomposed_list");
  201. //添加id
  202. map.put("indexId","decomposedPlanId");
  203. allPlan.add(map);
  204. //新建索引
  205. esFeign.insertIndex(allPlan);
  206. //删除
  207. allPlan.remove(allPlan.size()-1);
  208. }
  209. if(allPlan == null) {
  210. allPlan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
  211. }
  212. PageHelper.startPage(pageNum,pageSize);
  213. //分页数据
  214. List<Map<String, Object>> plan = amstruckPurplanMaterialService.getDecomposedPlan(mapValue);
  215. DataChange.changeDateToDayDate(plan, "planTruckTime", "planIncomingTime");
  216. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allPlan,plan);
  217. return success(pageList);
  218. }
  219. }