OmstruckOrderController.java 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.service.IOmstruckOrderService;
  3. import com.steerinfo.dil.util.BaseRESTfulController;
  4. import com.steerinfo.dil.util.ColumnDataUtil;
  5. import com.steerinfo.dil.util.PageListAdd;
  6. import com.steerinfo.framework.controller.RESTfulResult;
  7. import com.steerinfo.framework.service.pagehelper.PageHelper;
  8. import io.swagger.annotations.ApiImplicitParam;
  9. import io.swagger.annotations.ApiImplicitParams;
  10. import io.swagger.annotations.ApiOperation;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.math.BigDecimal;
  14. import java.util.HashMap;
  15. import java.util.List;
  16. import java.util.Map;
  17. /**
  18. * OmstruckOrder RESTful接口:
  19. * @author generator
  20. * @version 1.0-SNAPSHORT 2021-09-03 03:47
  21. * 类描述
  22. * 修订历史:
  23. * 日期:2021-09-03
  24. * 作者:TXF
  25. * 参考:
  26. * 描述:OmstruckOrder RESTful接口
  27. * @see null
  28. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  29. */
  30. @RestController
  31. @RequestMapping("/${api.version}/omstruckorders")
  32. public class OmstruckOrderController extends BaseRESTfulController {
  33. @Autowired
  34. IOmstruckOrderService omstruckOrderService;
  35. @Autowired
  36. ColumnDataUtil columnDataUtil;
  37. @ApiOperation(value="查询所有运输订单")
  38. @ApiImplicitParams({
  39. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  40. @ApiImplicitParam(name = "apiId(86)", value = "动态表头", required = false, dataType = "Integer"),
  41. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  42. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  43. @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
  44. })
  45. @PostMapping("/getAllTruckOrder")
  46. public RESTfulResult getAllTruckOrder(@RequestBody(required=false) Map<String,Object> mapValue,
  47. Integer apiId,
  48. Integer pageNum,
  49. Integer pageSize,
  50. Integer orderStatus,
  51. Integer planId,
  52. Integer orderType){
  53. if(mapValue == null){
  54. mapValue = new HashMap<>();
  55. }
  56. if(orderStatus != null){
  57. mapValue.put("orderStatus", orderStatus);
  58. }
  59. if(planId != null){
  60. mapValue.put("planId", planId);
  61. }
  62. if(orderType != null){
  63. mapValue.put("orderType", orderType);
  64. }
  65. //不分页筛选数据
  66. List<Map<String, Object>> allTruckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
  67. PageHelper.startPage(pageNum,pageSize);
  68. //分页数据
  69. List<Map<String, Object>> truckOrder = omstruckOrderService.getAllTruckOrder(mapValue);
  70. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allTruckOrder,truckOrder);
  71. return success(pageList);
  72. }
  73. @ApiOperation(value="不适用表头返回数据")
  74. @ApiImplicitParams({
  75. @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
  76. })
  77. @PostMapping("/getAllTruckOrderReturnListMap")
  78. public RESTfulResult getAllTruckOrder(
  79. Integer orderStatus,
  80. Integer planId,
  81. Integer orderType){
  82. Map<String, Object> map = new HashMap<>();
  83. if(orderStatus != null){
  84. map.put("orderStatus", orderStatus);
  85. }
  86. if(planId != null){
  87. map.put("planId", planId);
  88. }
  89. if(orderType != null){
  90. map.put("orderType", orderType);
  91. }
  92. List<Map<String, Object>> truckOrder = omstruckOrderService.getAllTruckOrder(map);
  93. return success(truckOrder);
  94. }
  95. @ApiOperation(value="查询所有空闲的运力信息")
  96. @ApiImplicitParams({
  97. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  98. @ApiImplicitParam(name = "apiId(85)", value = "动态表头", required = false, dataType = "Integer"),
  99. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  100. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  101. })
  102. @PostMapping("/getAllCapacity")
  103. public RESTfulResult getAllCapacity(@RequestBody(required=false) Map<String,Object> mapValue,
  104. Integer apiId,
  105. Integer pageNum,
  106. Integer pageSize,
  107. Integer carrierId
  108. ){
  109. if(mapValue == null){
  110. mapValue = new HashMap<>();
  111. }
  112. if(carrierId != null){
  113. mapValue.put("carrierId", carrierId);
  114. }
  115. mapValue.put("capacityTypeId", 1);
  116. mapValue.put("capacityStatus", 0);
  117. //不分页筛选数据
  118. List<Map<String, Object>> allCapacity = omstruckOrderService.getAllCapacity(mapValue);
  119. PageHelper.startPage(pageNum,pageSize);
  120. //分页数据
  121. List<Map<String, Object>> capacity = omstruckOrderService.getAllCapacity(mapValue);
  122. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allCapacity,capacity);
  123. return success(pageList);
  124. }
  125. @ApiOperation(value="分解运输计划后 新增订单 或者直接新增订单 ")
  126. @ApiImplicitParams({
  127. @ApiImplicitParam(name = "mapValue", value = "运输计划实绩对象", required = false, dataType = "Map"),
  128. })
  129. @PostMapping("/addPurOrder")
  130. public RESTfulResult addPurOrder(@RequestBody(required=false) Map<String,Object> mapValue){
  131. int i = omstruckOrderService.addPurOrder(mapValue);
  132. return success(i);
  133. }
  134. @ApiOperation(value="修改分派计划")
  135. @ApiImplicitParams({
  136. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  137. })
  138. @PostMapping("/updateOrder")
  139. public RESTfulResult updateOrder(@RequestBody Map<String, Object> map){
  140. int i = omstruckOrderService.updateOrder(map);
  141. return success(i);
  142. }
  143. @ApiOperation(value="派单")
  144. @ApiImplicitParams({
  145. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  146. })
  147. @PostMapping("/dispatchOrder/{orderId}")
  148. public RESTfulResult dispatchOrder(@PathVariable("orderId") Integer orderId){
  149. int i = omstruckOrderService.dispatchOrder(orderId);
  150. return success(i);
  151. }
  152. @ApiOperation(value="逻辑删除运单")
  153. @ApiImplicitParams({
  154. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  155. })
  156. @PostMapping("/deleteOrder")
  157. public RESTfulResult deleteOrder(@RequestBody(required = false) Map<String, Object> map,
  158. Integer planId){
  159. if(planId != null){
  160. map.put("planId", planId);
  161. }
  162. Object orderMaterialWeight = map.get("orderMaterialWeight");
  163. if(orderMaterialWeight != null){
  164. if(orderMaterialWeight instanceof Integer){
  165. map.put("orderMaterialWeight", -((Integer)orderMaterialWeight));
  166. }else if(orderMaterialWeight instanceof Double){
  167. map.put("orderMaterialWeight", -((Double)orderMaterialWeight));
  168. }
  169. //模拟前端传来新重量 复用
  170. map.put("weight", 0);
  171. }
  172. int i = omstruckOrderService.deleteOrder(map);
  173. return success(i);
  174. }
  175. @ApiOperation(value="司机接收、拒绝接单")
  176. @ApiImplicitParams({
  177. @ApiImplicitParam(name = "planId", value = "运输计划Id", required = false, dataType = "Integer"),
  178. })
  179. @PostMapping("/driverReceiveOrRefuse/{orderId}")
  180. public RESTfulResult driverReceiveOrRefuse(@PathVariable("orderId") Integer orderId, Integer orderReceiveStatus){
  181. Map<String, Object> map = new HashMap<>();
  182. map.put("orderId", orderId);
  183. map.put("orderReceiveStatus", orderReceiveStatus);
  184. int i = omstruckOrderService.driverReceiveOrRefuse(map);
  185. return success(i);
  186. }
  187. @ApiOperation(value="司机接单信息")
  188. @ApiImplicitParams({
  189. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  190. @ApiImplicitParam(name = "apiId(117)", value = "动态表头", required = false, dataType = "Integer"),
  191. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  192. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  193. })
  194. @PostMapping("/getReceiveRefuseOrder/{orderReceiveStatus}")
  195. public RESTfulResult getReceiveRefuseOrder(@RequestBody(required=false) Map<String,Object> mapValue,
  196. Integer apiId,
  197. Integer pageNum,
  198. Integer pageSize,
  199. @PathVariable Integer orderReceiveStatus,
  200. Integer orderType,
  201. Integer orderStatus
  202. ){
  203. if(mapValue == null){
  204. mapValue = new HashMap<>();
  205. }
  206. if(orderType != null){
  207. mapValue.put("orderTypee", orderType);
  208. }
  209. if(orderReceiveStatus != null){
  210. mapValue.put("orderReceiveStatus", orderReceiveStatus);
  211. }
  212. if(orderStatus != null){
  213. mapValue.put("orderStatus", orderStatus);
  214. }
  215. //不分页筛选数据
  216. List<Map<String, Object>> allOrder = omstruckOrderService.getReceiveRefuseOrder(mapValue);
  217. PageHelper.startPage(pageNum,pageSize);
  218. //分页数据
  219. List<Map<String, Object>> order = omstruckOrderService.getReceiveRefuseOrder(mapValue);
  220. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allOrder,order);
  221. return success(pageList);
  222. }
  223. @ApiOperation(value="司机APP端调用接口查询数据 4 已下发 5 已接收")
  224. @ApiImplicitParams({
  225. @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
  226. })
  227. @PostMapping("/sendMesToDriver")
  228. public RESTfulResult sendMesToDriver(String capacityNumber, Integer orderStatus){
  229. HashMap<String, Object> map = new HashMap<>();
  230. if(orderStatus != null)
  231. map.put("orderStatus", orderStatus);
  232. if(capacityNumber != null)
  233. map.put("capacityNumber", capacityNumber);
  234. List<Map<String, Object>> mesToDriver = omstruckOrderService.sendMesToDriver(map);
  235. return success(mesToDriver);
  236. }
  237. @ApiOperation(value="通过车牌获取所有已拒绝的订单")
  238. @ApiImplicitParams({
  239. @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
  240. })
  241. @PostMapping("/getRefuseOrderByCapacityNum")
  242. public RESTfulResult sendMesToDriver(String capacityNumber){
  243. HashMap<String, Object> map = new HashMap<>();
  244. map.put("capacityNumber", capacityNumber);
  245. List<Map<String, Object>> receiveRefuseOrderByCapacityId = omstruckOrderService.getReceiveRefuseOrderByCapacityId(map);
  246. return success(receiveRefuseOrderByCapacityId);
  247. }
  248. @ApiOperation(value="通过运输订单ID查询运单信息 包含各个作业路径")
  249. @ApiImplicitParams({
  250. @ApiImplicitParam(name = "capacityNumber", value = "运输计划Id", required = false, dataType = "String"),
  251. })
  252. @PostMapping("/getOrderMesByOrderNum/{orderId}")
  253. public RESTfulResult getOrderMesByOrderNum(@PathVariable("orderId") Integer orderId){
  254. HashMap<String, Object> map = new HashMap<>();
  255. map.put("orderId", orderId);
  256. List<Map<String, Object>> mesToDriver = omstruckOrderService.getOrderMesByOrderNum(map);
  257. return success(mesToDriver);
  258. }
  259. @ApiOperation(value="通过运输订单ID查询实绩地点和时间")
  260. @ApiImplicitParams({
  261. @ApiImplicitParam(name = "orderId", value = "运输订单Id", required = false, dataType = "Integer"),
  262. })
  263. @PostMapping("/selectPlaceAndTime/{orderId}")
  264. public RESTfulResult selectPlaceAndTime(@PathVariable("orderId") Integer orderId){
  265. List<Map<String, Object>> placeAndTime = omstruckOrderService.selectPlaceAndTime(new BigDecimal(orderId));
  266. return success(placeAndTime);
  267. }
  268. @ApiOperation(value="通过运输订单ID查询运单信息")
  269. @PostMapping("/selectOrderByOrderId/{orderId}")
  270. public RESTfulResult selectOrderByOrderId(@PathVariable("orderId") Integer orderId){
  271. List<Map<String, Object>> mapList = omstruckOrderService.getOrderByOrderId(new BigDecimal(orderId));
  272. return success(mapList);
  273. }
  274. @ApiOperation(value="查看运输派单")
  275. @ApiImplicitParams({
  276. @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
  277. @ApiImplicitParam(name = "apiId(117)", value = "动态表头", required = false, dataType = "Integer"),
  278. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  279. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  280. })
  281. @PostMapping("/getTransportDispatch/{orderReceiveStatus}")
  282. public RESTfulResult getTransportDispatch(@RequestBody(required=false) Map<String,Object> mapValue,
  283. Integer apiId,
  284. Integer pageNum,
  285. Integer pageSize,
  286. @PathVariable Integer orderReceiveStatus,
  287. Integer orderType,
  288. Integer orderStatus
  289. ){
  290. if(mapValue == null){
  291. mapValue = new HashMap<>();
  292. }
  293. if(orderType != null){
  294. mapValue.put("orderTypee", orderType);
  295. }
  296. if(orderReceiveStatus != null){
  297. mapValue.put("orderReceiveStatus", orderReceiveStatus);
  298. }
  299. if(orderStatus != null){
  300. mapValue.put("orderStatus", orderStatus);
  301. }
  302. //不分页筛选数据
  303. List<Map<String, Object>> allOrder = omstruckOrderService.getTransportDispatch(mapValue);
  304. PageHelper.startPage(pageNum,pageSize);
  305. //分页数据
  306. List<Map<String, Object>> order = omstruckOrderService.getTransportDispatch(mapValue);
  307. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, allOrder, order);
  308. return success(pageList);
  309. }
  310. }