OmstruckOrderSeparateController.java 11 KB

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