OmstruckOrderSeparateController.java 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.feign.ESFeign;
  3. import com.steerinfo.dil.feign.TmsTruckFeign;
  4. import com.steerinfo.dil.model.OmstruckOrder;
  5. import com.steerinfo.dil.service.impl.OmstruckOrderSeparateServiceImpl;
  6. import com.steerinfo.dil.util.BaseRESTfulController;
  7. import com.steerinfo.dil.util.ColumnDataUtil;
  8. import com.steerinfo.dil.util.PageListAdd;
  9. import com.steerinfo.framework.controller.RESTfulResult;
  10. import com.steerinfo.framework.service.pagehelper.PageHelper;
  11. import io.swagger.annotations.ApiImplicitParam;
  12. import io.swagger.annotations.ApiImplicitParams;
  13. import io.swagger.annotations.ApiOperation;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.math.BigDecimal;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * @ author :TXF
  22. * @ time :2021/12/3 15:07
  23. */
  24. @RestController
  25. @RequestMapping("/${api.version}/omstruckorderseparates")
  26. public class OmstruckOrderSeparateController extends BaseRESTfulController {
  27. @Autowired
  28. OmstruckOrderSeparateServiceImpl omstruckOrderSeparateService;
  29. @Autowired
  30. private TmsTruckFeign tmsTruckFeign;
  31. @Autowired
  32. ColumnDataUtil columnDataUtil;
  33. @Autowired
  34. ESFeign esFeign;
  35. @PostMapping("/getOrderMes")
  36. public RESTfulResult getMes(@RequestBody(required = false) Map<String, Object> map){
  37. Integer integer = tmsTruckFeign.addTotalResult(map);
  38. return success(integer);
  39. }
  40. /**
  41. * 添加退货实绩关闭当前订单
  42. * @param map
  43. * @return
  44. */
  45. @PostMapping("/returnOrderCloseOrder")
  46. public RESTfulResult returnOrderCloseOrder(@RequestBody(required = false) Map<String, Object> map){
  47. Integer result = omstruckOrderSeparateService.returnOrderCloseOrder(map);
  48. return success(result);
  49. }
  50. /**
  51. * 根据运单id查询实绩位置
  52. * @param map
  53. * @return
  54. */
  55. @PostMapping("/getOrderResult")
  56. public List<Map<String,Object>> getOrderResult(@RequestBody Map<String,Object> map){
  57. Integer orderId = (Integer) map.get("orderId");
  58. String orderNumber = (String) map.get("orderNumber");
  59. List<Map<String, Object>> result = null;
  60. if (orderId != null) {
  61. result = omstruckOrderSeparateService.getOrderResult(new BigDecimal(orderId));
  62. }
  63. else {
  64. result = omstruckOrderSeparateService.getOrderNumberResult(orderNumber);
  65. }
  66. return result;
  67. }
  68. /**
  69. * 发送消息到 websocket 推送消息
  70. * @param map
  71. */
  72. @PostMapping("/pushMesToWebsocket")
  73. public RESTfulResult pushMesToWebsocket(@RequestBody Map<String,Object> map) {
  74. String s = omstruckOrderSeparateService.pushMesToWebsocket(map);
  75. return success(s);
  76. }
  77. @ApiOperation(value = "查看承运商所属的订单")
  78. @ApiImplicitParams({
  79. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  80. @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
  81. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  82. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  83. @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
  84. })
  85. @PostMapping("/getInputOrderList")
  86. public RESTfulResult getInputOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
  87. Integer apiId,
  88. Integer pageNum,
  89. Integer pageSize,
  90. Integer carrierId,
  91. Integer orderType,
  92. Integer orderStatus,
  93. String con) {
  94. int count = 0;
  95. if (orderStatus != null) {
  96. mapValue.put("orderStatus", orderStatus);
  97. count++;
  98. }
  99. if (orderType != null) {
  100. mapValue.put("orderType", orderType);
  101. count++;
  102. }
  103. if (carrierId != null) {
  104. mapValue.put("carrierId", carrierId);
  105. count++;
  106. }
  107. //框计算
  108. if (con != null) {
  109. if (!"undefined".equals(con)) {
  110. String index = "get_input_order_list";//设置要查询的索引名称
  111. return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
  112. }
  113. }
  114. //不分页筛选数据
  115. List<Map<String, Object>> allTruckOrder = null;
  116. //如果有条件查询则跳过初始化,和创建索引
  117. if (mapValue.size() == count) {
  118. //将查询结果存入索引中
  119. allTruckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
  120. Map<String, Object> map = new HashMap<>();
  121. //添加索引
  122. map.put("index", "get_input_order_list");
  123. //添加id
  124. map.put("indexId", "truckOrderId");
  125. allTruckOrder.add(map);
  126. //新建索引
  127. esFeign.insertIndex(allTruckOrder);
  128. //删除
  129. allTruckOrder.remove(allTruckOrder.size() - 1);
  130. }
  131. if (allTruckOrder == null)
  132. allTruckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
  133. PageHelper.startPage(pageNum, pageSize);
  134. //分页数据
  135. List<Map<String, Object>> truckOrder = omstruckOrderSeparateService.getInputOrderList(mapValue);
  136. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder, truckOrder);
  137. return success(pageList);
  138. }
  139. @ApiOperation(value = "查询所有的零星物资订单")
  140. @ApiImplicitParams({
  141. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  142. @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
  143. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  144. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  145. @ApiImplicitParam(name = "orderStatus", value = "状态码", required = false, dataType = "Integer"),
  146. })
  147. @PostMapping("/getOthersOrderMesToSend")
  148. public RESTfulResult getOthersOrderMesToSend(@RequestBody(required = false) Map<String, Object> mapValue,
  149. Integer apiId,
  150. Integer pageNum,
  151. Integer pageSize,
  152. Integer type,
  153. Integer orderStatus,
  154. String carrierId,
  155. String con) {
  156. int count = 0;
  157. if (orderStatus != null) {
  158. mapValue.put("status", orderStatus);
  159. count++;
  160. }
  161. if (type != null) {
  162. mapValue.put("type", type);
  163. count++;
  164. }
  165. if (carrierId != null && !"undefined".equals(carrierId)) {
  166. mapValue.put("carrierId", carrierId);
  167. count++;
  168. }
  169. //框计算
  170. if (con != null) {
  171. if (!"undefined".equals(con)) {
  172. String index = "get_others_order_list";//设置要查询的索引名称
  173. return success(esFeign.getConResult(mapValue, index, apiId, pageNum, pageSize, con));//获取查询结果
  174. }
  175. }
  176. //不分页筛选数据
  177. List<Map<String, Object>> allMes = null;
  178. //如果有条件查询则跳过初始化,和创建索引
  179. if (mapValue.size() == count) {
  180. //将查询结果存入索引中
  181. allMes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
  182. Map<String, Object> map = new HashMap<>();
  183. //添加索引
  184. map.put("index", "get_others_order_list");
  185. //添加id
  186. map.put("indexId", "othersOrderId");
  187. allMes.add(map);
  188. //新建索引
  189. esFeign.insertIndex(allMes);
  190. //删除
  191. allMes.remove(allMes.size() - 1);
  192. }
  193. if (allMes == null)
  194. allMes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
  195. PageHelper.startPage(pageNum, pageSize);
  196. //分页数据
  197. List<Map<String, Object>> mes = omstruckOrderSeparateService.getOthersOrderMesToSend(mapValue);
  198. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allMes, mes);
  199. return success(pageList);
  200. }
  201. /**
  202. * 根据运输订单id修改运力id
  203. * @param omstruckOrder
  204. */
  205. @PostMapping("/updateOmstruckOrder")
  206. public RESTfulResult updateOmstruckOrder(@RequestBody(required = false) OmstruckOrder omstruckOrder){
  207. int i = omstruckOrderSeparateService.updateOmstruckOrder(omstruckOrder);
  208. return success(i);
  209. }
  210. @PostMapping("getUnloadOrderMaterial")
  211. public RESTfulResult getUnloadOrderMaterial(@RequestBody(required = false) Map<String,Object>map) {
  212. return success(omstruckOrderSeparateService.getUnloadOrderMaterial(map));
  213. }
  214. /**
  215. * 承运商销售分派运输订单给司机
  216. * @param mapValue
  217. * @return
  218. */
  219. @PostMapping("/addSaleTruckOrder")
  220. public RESTfulResult addSaleTruckOrder(@RequestBody Map<String, Object> mapValue){
  221. Integer result = omstruckOrderSeparateService.addSaleTruckOrder(mapValue);
  222. return success(result);
  223. }
  224. }