TMSController.java 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.annotaion.LogAround;
  3. import com.steerinfo.dil.annotaion.RequestLimit;
  4. import com.steerinfo.dil.feign.AmsFeign;
  5. import com.steerinfo.dil.feign.RmsFeign;
  6. import com.steerinfo.dil.feign.TmsFeign;
  7. import com.steerinfo.dil.mapper.UniversalMapper;
  8. import com.steerinfo.dil.util.BaseRESTfulController;
  9. import com.steerinfo.dil.util.ExcelToolUtils;
  10. import com.steerinfo.framework.controller.RESTfulResult;
  11. import io.swagger.annotations.ApiImplicitParam;
  12. import io.swagger.annotations.ApiImplicitParams;
  13. import io.swagger.annotations.ApiOperation;
  14. import oracle.jdbc.proxy.annotation.Post;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import org.springframework.web.multipart.MultipartFile;
  18. import java.io.File;
  19. import java.io.FileInputStream;
  20. import java.math.BigDecimal;
  21. import java.text.DateFormat;
  22. import java.text.ParseException;
  23. import java.text.SimpleDateFormat;
  24. import java.util.*;
  25. import java.util.stream.Collectors;
  26. import com.steerinfo.dil.util.DataChange;
  27. import org.springframework.web.multipart.MultipartRequest;
  28. /**
  29. * @author luobang
  30. * @create 2021-09-17 14:11
  31. */
  32. @RestController
  33. @RequestMapping("${api.version}/tms")
  34. public class TMSController extends BaseRESTfulController {
  35. @Autowired
  36. private TmsFeign tmsFeign;
  37. @Autowired
  38. private AmsFeign amsFeign;
  39. @Autowired
  40. private RmsFeign rmsFeign;
  41. @Autowired
  42. private UniversalMapper universalMapper;
  43. @ApiOperation(value = "车辆实绩")
  44. @ApiImplicitParams({
  45. @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
  46. @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
  47. @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
  48. @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
  49. })
  50. @PostMapping(value = "/getcomprehensiveresults")
  51. public Map<String, Object> getecomprehensiveresultslist(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
  52. Integer pageNum,
  53. Integer pageSize) {
  54. return tmsFeign.getAmsSalaryContracList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  55. }
  56. @ApiOperation(value = "新增车辆实绩")
  57. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  58. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
  59. @PostMapping("/addcomprehensiveresults")
  60. public Map<String, Object> insertcomprehensiveresults(@RequestBody(required = false) Map<String, Object> map) {
  61. return tmsFeign.addComprehensiveResult(map);
  62. }
  63. @ApiOperation(value = "车辆实绩删除")
  64. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  65. @PutMapping(value = "/comprehensiveresultslogicdelete")
  66. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
  67. public Map<String, Object> comprehensiveresultsLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
  68. return tmsFeign.logicdeleteAmsSaalryContrac(map);
  69. }
  70. @ApiOperation(value = "修改车辆实绩")
  71. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  72. @PostMapping(value = "/comprehensiveresultsupadete")
  73. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
  74. public Map<String, Object> comprehensiveresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
  75. return tmsFeign.updateAmsSalaryContrac(map);
  76. }
  77. @ApiOperation(value = "修改车辆实绩")
  78. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  79. @PostMapping(value = "/tmscomprehensiveresults/batchUpdate")
  80. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
  81. public Map<String, Object> tmscomprehensiveresultsBatchUpdate(@RequestBody(required = false) Map<String, Object> map) {
  82. return tmsFeign.tmscomprehensiveresultsBatchUpdate((List)map.get("list"));
  83. }
  84. @ApiOperation(value = "派发运输订单")
  85. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  86. @PostMapping(value = "/dispatchOrder")
  87. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  88. public Map<String, Object> dispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
  89. return tmsFeign.dispatchOrder(map);
  90. }
  91. @ApiOperation(value = "批量派发运输订单")
  92. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  93. @PostMapping(value = "/batchDispatch")
  94. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  95. public Map<String, Object> batchDispatch(@RequestBody(required = false) Map<String, Object> map) {
  96. return tmsFeign.batchDispatch(map);
  97. }
  98. @ApiOperation(value = "批量派发运输订单")
  99. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  100. @PostMapping(value = "/batchDispatchSc")
  101. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  102. public Map<String, Object> batchDispatchSc(@RequestBody(required = false) Map<String, Object> map) {
  103. return tmsFeign.batchDispatchSc(map);
  104. }
  105. @ApiOperation(value = "修改运输订单")
  106. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  107. @PostMapping(value = "/updateTransOrder")
  108. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  109. public Map<String, Object> updateTransOrder(@RequestBody(required = false) Map<String, Object> map) {
  110. return tmsFeign.updateTransOrder(map);
  111. }
  112. @ApiOperation(value = "合并运输订单")
  113. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  114. @PostMapping(value = "/mergeTransOrder")
  115. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  116. public Map<String, Object> mergeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
  117. return tmsFeign.mergeTransOrder(map);
  118. }
  119. @ApiOperation(value = "更改运输订单状态")
  120. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  121. @PostMapping(value = "/changeTransOrder")
  122. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  123. public Map<String, Object> changeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
  124. return tmsFeign.changeTransOrder(map);
  125. }
  126. @ApiOperation(value = "司机接收运单")
  127. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  128. @PostMapping(value = "/receiptOrder")
  129. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  130. public Map<String, Object> receiptOrder(@RequestBody(required = false) Map<String, Object> map) {
  131. return tmsFeign.receiptOrder(map);
  132. }
  133. @ApiOperation(value = "查询运输订单")
  134. @PostMapping("/getTransOrderList")
  135. public Map<String, Object> getTransOrderList(@RequestBody(required = false) Map<String, Object> map,
  136. Integer apiId,
  137. Integer pageNum,
  138. Integer pageSize) {
  139. return tmsFeign.getTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  140. }
  141. @ApiOperation(value = "查询运输订单所有运输实绩")
  142. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  143. @PostMapping(value = "/getTransResult")
  144. public Map<String, Object> getTransResult(@RequestBody(required = false) Map<String, Object> map) {
  145. return tmsFeign.getTransResult(map);
  146. }
  147. @ApiOperation(value = "同步进厂")
  148. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  149. @PostMapping(value = "/syncEnfactoryResult")
  150. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"进厂实绩"})
  151. public Map<String, Object> syncEnfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
  152. return tmsFeign.syncEnfactoryResult(map);
  153. }
  154. @ApiOperation(value = "同步出厂")
  155. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  156. @PostMapping(value = "/syncOutfactoryResult")
  157. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"出厂实绩"})
  158. public Map<String, Object> syncOutfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
  159. return tmsFeign.syncOutfactoryResult(map);
  160. }
  161. @ApiOperation(value = "同步计量")
  162. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  163. @PostMapping(value = "/syncWeightResult")
  164. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
  165. public Map<String, Object> syncWeightResult(@RequestBody(required = false) Map<String, Object> map) {
  166. return tmsFeign.syncWeightResult(map);
  167. }
  168. @ApiOperation(value="计时")
  169. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  170. @PostMapping(value = "/startend")
  171. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计时"})
  172. @RequestLimit
  173. public Map<String, Object> start(@RequestBody(required = false) Map<String, Object> map) {
  174. return tmsFeign.startend(map);
  175. }
  176. @ApiOperation(value = "查询计时")
  177. @PostMapping("/tmstimingresultsList")
  178. public Map<String, Object> tmstimingresultsList(@RequestBody(required = false) Map<String, Object> map,
  179. Integer apiId,
  180. Integer pageNum,
  181. Integer pageSize) {
  182. return tmsFeign.tmstimingresultsList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  183. }
  184. @ApiOperation(value = "修改计时")
  185. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  186. @PostMapping(value = "/tmstimingresultsUpdate")
  187. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"修改计时"})
  188. public Map<String, Object> tmstimingresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
  189. return tmsFeign.tmstimingresultsUpdate(map);
  190. }
  191. @ApiOperation(value = "销售派发运输订单")
  192. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  193. @PostMapping(value = "/saleDispatchOrder")
  194. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  195. public Map<String, Object> saleDispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
  196. return tmsFeign.saleDispatchOrder(map);
  197. }
  198. @ApiOperation(value = "批量销售派发运输订单")
  199. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  200. @PostMapping(value = "/saleDispatchOrderList")
  201. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
  202. public Map<String, Object> saleDispatchOrderList(@RequestBody(required = false) Map<String, Object> map) {
  203. return tmsFeign.saleDispatchOrderList(map);
  204. }
  205. @ApiOperation(value = "查询销售运输订单")
  206. @PostMapping("/getSaleTransOrderList")
  207. public Map<String, Object> getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> map,
  208. Integer apiId,
  209. Integer pageNum,
  210. Integer pageSize) {
  211. return tmsFeign.getSaleTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  212. }
  213. @ApiOperation(value = "同步质检")
  214. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  215. @PostMapping(value = "/syncQualityResult")
  216. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"质检实绩"})
  217. public Map<String, Object> syncQualityResult(@RequestBody(required = false) Map<String, Object> map) {
  218. return tmsFeign.syncQualityResult(map);
  219. }
  220. @ApiOperation(value = "签到")
  221. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  222. @PostMapping(value = "/signIn")
  223. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签到实绩"})
  224. public Map<String, Object> signIn(@RequestBody(required = false) Map<String, Object> map) {
  225. return tmsFeign.signIn(map);
  226. }
  227. @ApiOperation(value = "换车头")
  228. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  229. @PostMapping(value = "/replaceFront")
  230. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"换车头实绩"})
  231. public Map<String, Object> replaceFront(@RequestBody(required = false) Map<String, Object> map) {
  232. return tmsFeign.replaceFront(map);
  233. }
  234. @ApiOperation(value = "装货")
  235. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  236. @PostMapping(value = "/load")
  237. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
  238. public Map<String, Object> load(@RequestBody(required = false) Map<String, Object> map) {
  239. return tmsFeign.load(map);
  240. }
  241. @ApiOperation(value = "装货修改")
  242. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  243. @PostMapping(value = "/loadUpd")
  244. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
  245. public Map<String, Object> loadUpd(@RequestBody(required = false) Map<String, Object> map) {
  246. return tmsFeign.loadUpd(map);
  247. }
  248. @ApiOperation(value = "卸货")
  249. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  250. @PostMapping(value = "/unload")
  251. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
  252. public Map<String, Object> unload(@RequestBody(required = false) Map<String, Object> map) {
  253. return tmsFeign.unload(map);
  254. }
  255. @ApiOperation(value = "卸货修改")
  256. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  257. @PostMapping(value = "/unloadUpd")
  258. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
  259. public Map<String, Object> unloadUpd(@RequestBody(required = false) Map<String, Object> map) {
  260. return tmsFeign.unloadUpd(map);
  261. }
  262. @ApiOperation(value = "抵达")
  263. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  264. @PostMapping(value = "/arrival")
  265. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"抵达实绩"})
  266. public Map<String, Object> arrival(@RequestBody(required = false) Map<String, Object> map) {
  267. return tmsFeign.arrival(map);
  268. }
  269. @ApiOperation(value = "签收")
  270. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  271. @PostMapping(value = "/receipt")
  272. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签收实绩"})
  273. public Map<String, Object> receipt(@RequestBody(required = false) Map<String, Object> map) {
  274. return tmsFeign.receipt(map);
  275. }
  276. @ApiOperation(value = "查询厂内车辆数")
  277. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  278. @PostMapping(value = "/getCountEnfactory")
  279. public Map<String, Object> getCountEnfactory(@RequestBody(required = false) Map<String, Object> map) {
  280. return tmsFeign.getCountEnfactory(map == null ? new HashMap<>() : map);
  281. }
  282. @ApiOperation(value = "查询签到")
  283. @PostMapping("/getSignInResultList")
  284. public Map<String, Object> getSignInResultList(@RequestBody(required = false) Map<String, Object> map,
  285. Integer apiId,
  286. Integer pageNum,
  287. Integer pageSize) {
  288. return tmsFeign.getSignInResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  289. }
  290. @ApiOperation(value = "查询换车头")
  291. @PostMapping("/getReplaceFrontResultList")
  292. public Map<String, Object> getReplaceFrontResultList(@RequestBody(required = false) Map<String, Object> map,
  293. Integer apiId,
  294. Integer pageNum,
  295. Integer pageSize) {
  296. return tmsFeign.getReplaceFrontResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  297. }
  298. @ApiOperation(value = "查询进厂")
  299. @PostMapping("/getEnfactoryResultList")
  300. public Map<String, Object> getEnfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
  301. Integer apiId,
  302. Integer pageNum,
  303. Integer pageSize) {
  304. return tmsFeign.getEnfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  305. }
  306. @ApiOperation(value = "查询出厂")
  307. @PostMapping("/getOutfactoryResultList")
  308. public Map<String, Object> getTmsOutfactoryResultList
  309. (@RequestBody(required = false) Map<String, Object> map,
  310. Integer apiId,
  311. Integer pageNum,
  312. Integer pageSize) {
  313. return tmsFeign.getOutfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  314. }
  315. @ApiOperation(value = "查询装货")
  316. @PostMapping("/getLoadResultList")
  317. public Map<String, Object> getLoadResultList(@RequestBody(required = false) Map<String, Object> map,
  318. Integer apiId,
  319. Integer pageNum,
  320. Integer pageSize) {
  321. return tmsFeign.getLoadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  322. }
  323. @ApiOperation(value = "查询卸货")
  324. @PostMapping("/getUnloadResultList")
  325. public Map<String, Object> getUnloadResultList(@RequestBody(required = false) Map<String, Object> map,
  326. Integer apiId,
  327. Integer pageNum,
  328. Integer pageSize) {
  329. return tmsFeign.getUnloadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  330. }
  331. @ApiOperation(value = "查询计量")
  332. @PostMapping("/getWeightResultList")
  333. public Map<String, Object> getWeightResultList(@RequestBody(required = false) Map<String, Object> map,
  334. Integer apiId,
  335. Integer pageNum,
  336. Integer pageSize) {
  337. return tmsFeign.getWeightResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  338. }
  339. @ApiOperation(value = "查询质检")
  340. @PostMapping("/getQualityResultList")
  341. public Map<String, Object> getQualityResult(@RequestBody(required = false) Map<String, Object> map,
  342. Integer apiId,
  343. Integer pageNum,
  344. Integer pageSize) {
  345. return tmsFeign.getQualityResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  346. }
  347. @ApiOperation(value = "查询抵达")
  348. @PostMapping("/getArrivalResultList")
  349. public Map<String, Object> getArrivalResultList(@RequestBody(required = false) Map<String, Object> map,
  350. Integer apiId,
  351. Integer pageNum,
  352. Integer pageSize) {
  353. return tmsFeign.getArrivalResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  354. }
  355. @ApiOperation(value = "查询签收")
  356. @PostMapping("/getReceiptResultList")
  357. public Map<String, Object> getReceiptResultList(@RequestBody(required = false) Map<String, Object> map,
  358. Integer apiId,
  359. Integer pageNum,
  360. Integer pageSize) {
  361. return tmsFeign.getReceiptResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  362. }
  363. @ApiOperation(value = "采购火运装货作业")
  364. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  365. @PostMapping(value = "/purchaseTrainLoad")
  366. // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"装货实绩"})
  367. public Map<String, Object> purchaseTrainLoad(@RequestBody MultipartFile file,
  368. String businessType,
  369. String userId,
  370. String userName) throws Exception {
  371. Map<String, Object> map = new HashMap<>();
  372. //获取Excel中包含的对象数组
  373. List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
  374. map.put("list", list);
  375. //统计通知单的重量车数和车牌号
  376. Set<String> capacitySet = new HashSet<>();//车牌号
  377. List<String> requirementList = new ArrayList<>();
  378. String loadDate = null;
  379. for (Map<String, Object> item : list) {
  380. //校验行
  381. if(item.get("通知单号")==null || item.get("通知单号").equals("")
  382. || item.get("车号")==null || item.get("车号").equals("")
  383. || item.get("发站")==null || item.get("发站").equals("")
  384. || item.get("到站")==null || item.get("到站").equals("")
  385. || item.get("装车日期")==null || item.get("装车日期").equals("")
  386. || item.get("皮重")==null || item.get("皮重").equals("")
  387. || item.get("毛重")==null || item.get("毛重").equals("")){
  388. throw new Exception("单元格数据异常(通知单号/车号/装车日期/发站/到站/净重/皮重/毛重),请检查模板或数据是否正确!");
  389. }
  390. item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
  391. //通知单统计
  392. String requirementNumber = item.get("通知单号").toString();
  393. if (map.get(requirementNumber) != null) {
  394. //已存在,修改
  395. Map<String,Object> requirementMap =(Map<String, Object>) map.get(requirementNumber);
  396. BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
  397. BigDecimal truckNumber = DataChange.dataToBigDecimal(requirementMap.get("truckNumber"));
  398. String loadTime = requirementMap.get("loadTime").toString();
  399. List<Map<String,Object>> trainList = (ArrayList) requirementMap.get("trainList");
  400. weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
  401. truckNumber = truckNumber.add(new BigDecimal(1));
  402. trainList.add(item);
  403. requirementMap.put("weight", weight);
  404. requirementMap.put("truckNumber", truckNumber);
  405. requirementMap.put("trainList",trainList);
  406. if(!loadTime.equals(item.get("装车日期").toString())){
  407. throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
  408. }
  409. } else {
  410. //不存在,新增
  411. Map<String,Object> requirementMap = new HashMap<>();
  412. List<Map<String,Object>> trainList = new ArrayList<>();
  413. trainList.add(item);
  414. BigDecimal weight = DataChange.dataToBigDecimal(item.get("净重"));
  415. BigDecimal truckNumber = new BigDecimal(1);
  416. String loadTime = item.get("装车日期").toString();
  417. if(loadDate == null){
  418. loadDate = loadTime;
  419. map.put("loadDate",loadDate);
  420. }else if(!loadDate.equals(loadTime)){
  421. throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
  422. }
  423. requirementMap.put("requirementNumber", requirementNumber);
  424. requirementMap.put("weight", weight);
  425. requirementMap.put("truckNumber", truckNumber);
  426. requirementMap.put("loadTime",loadTime);
  427. requirementMap.put("trainList",trainList);
  428. requirementMap.put("userId",userId);
  429. requirementMap.put("userName",userName);
  430. requirementMap.put("businessType",businessType);
  431. requirementList.add(requirementNumber);
  432. map.put(requirementNumber, requirementMap);
  433. }
  434. //车牌号去重
  435. capacitySet.add(item.get("车号").toString());
  436. }
  437. //校验当前excel是否已经导入过
  438. if (universalMapper.countTrainLoad(map) > 0) {
  439. throw new Exception("存在重复的装车信息!不允许重复导入!");
  440. }
  441. //新增火车运力资源
  442. String[] capacities = capacitySet.toArray(new String[0]);//车牌号
  443. try{
  444. new Runnable() {
  445. @Override
  446. public void run() {
  447. Map<String, Object> capacityMap = new HashMap<>();
  448. capacityMap.put("capacities", capacities);
  449. capacityMap.put("userId", userId);
  450. capacityMap.put("userName", userName);
  451. rmsFeign.batchInsertCapacityTrain(capacityMap);
  452. }
  453. }.run();
  454. }catch (Exception e){e.printStackTrace();}
  455. //新增AMS及TMS
  456. map.put("userId",userId);
  457. map.put("userName",userName);
  458. map.put("businessType",businessType);
  459. map.put("requirementList",requirementList);
  460. return tmsFeign.purchaseTrainLoad(map);
  461. }
  462. @ApiOperation(value = "查询采购火运装货")
  463. @PostMapping("/purchaseTrainLoadList")
  464. public Map<String, Object> purchaseTrainLoadList(@RequestBody(required = false) Map<String, Object> map,
  465. Integer apiId,
  466. Integer pageNum,
  467. Integer pageSize) {
  468. return tmsFeign.purchaseTrainLoadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  469. }
  470. @ApiOperation(value = "查询采购火运装货报表")
  471. @PostMapping("/purchaseTrainLoadReport")
  472. public Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
  473. Integer apiId,
  474. Integer pageNum,
  475. Integer pageSize) {
  476. return tmsFeign.purchaseTrainLoadReport(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  477. }
  478. @ApiOperation(value = "修改火运装车")
  479. @PostMapping("/updateTrainLoad")
  480. public Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map){
  481. return tmsFeign.updateTrainLoad(map);
  482. }
  483. @ApiOperation(value = "修改火运装车序号")
  484. @PostMapping("/updateTrainLoadSeq")
  485. public Map<String, Object> updateTrainLoadSeq(@RequestBody(required = false) Map<String, Object> map){
  486. return tmsFeign.updateTrainLoadSeq(map);
  487. }
  488. @ApiOperation(value = "采购火运计量作业")
  489. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  490. @PostMapping(value = "/purchaseTrainWeight")
  491. // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
  492. public Map<String, Object> purchaseTrainWeight(@RequestBody MultipartFile file,
  493. String businessType,
  494. String userId,
  495. String userName) throws Exception {
  496. Map<String, Object> map = new HashMap<>();
  497. //获取Excel中包含的对象数组
  498. List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
  499. map.put("list", list);
  500. Set<String> capacitySet = new HashSet<>();//车牌号
  501. String weightTime = null;
  502. for (Map<String, Object> item : list) {
  503. //校验行
  504. if(item.get("通知单号")==null || item.get("通知单号").equals("")
  505. || item.get("车号")==null || item.get("车号").equals("")
  506. || item.get("计量日期")==null || item.get("计量日期").equals("")
  507. || item.get("皮重")==null || item.get("皮重").equals("")
  508. || item.get("毛重")==null || item.get("毛重").equals("")){
  509. throw new Exception("单元格数据异常(通知单号/车号/计量日期/净重/皮重/毛重),请检查模板或数据是否正确!");
  510. }
  511. item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
  512. //校验数据
  513. // if(weightTime == null){
  514. // weightTime = item.get("计量日期").toString();
  515. // }else if(!weightTime.equals(item.get("计量日期").toString())){
  516. // throw new Exception("同一个Excel只允许一批车辆,请检查计量日期!");
  517. // }
  518. //车牌号去重
  519. capacitySet.add(item.get("车号").toString());
  520. }
  521. String[] capacities = capacitySet.toArray(new String[0]);//车牌号
  522. if (capacities.length != list.size()) {
  523. throw new Exception("车号不允许重复!");
  524. }
  525. map.put("userId",userId);
  526. map.put("userName",userName);
  527. map.put("businessType",businessType);
  528. //获取火车运单及计量详情
  529. List<Map<String,Object>> orderListAll = universalMapper.findTrainWeight(map);
  530. if (orderListAll.size() <= 0) {
  531. throw new Exception("未查询到装车信息,请先上传装车作业!");
  532. }
  533. List<String> requireList = new ArrayList<>();
  534. for(Map<String,Object> order : orderListAll){
  535. if(order.get("unloadResultId") != null){
  536. throw new Exception(order.get("capacityId")+"已卸车,不允许再上传计量!");
  537. }
  538. String requireNumber = order.get("requireNumber").toString();
  539. Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
  540. if(requirementMap!=null){
  541. List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
  542. orderList.add(order);
  543. BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
  544. requirementMap.put("weight",weight.add(DataChange.dataToBigDecimal(order.get("netWeight"))));
  545. requirementMap.put("orderList",orderList);
  546. }else{
  547. requirementMap = new HashMap<>();
  548. List<Map<String,Object>> orderList = new ArrayList<>();
  549. orderList.add(order);
  550. BigDecimal weight = DataChange.dataToBigDecimal(order.get("netWeight"));
  551. requirementMap.put("transPlanId",order.get("transPlanId"));
  552. requirementMap.put("materialId",order.get("materialId"));
  553. requirementMap.put("weight",weight);
  554. requirementMap.put("weightTime",weightTime);
  555. requirementMap.put("userId",userId);
  556. requirementMap.put("userName",userName);
  557. requirementMap.put("orderList",orderList);
  558. requireList.add(requireNumber);
  559. }
  560. map.put(requireNumber,requirementMap);
  561. }
  562. Map<String,Object> result = null;
  563. for(String requireNumber : requireList){
  564. Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
  565. List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
  566. if(universalMapper.countTransOrder(requirementMap) != orderList.size()){
  567. throw new Exception("计量车数与装车车数不一致!");
  568. }
  569. result = tmsFeign.purchaseTrainWeight(requirementMap);
  570. if (!"succeed".equals(result.get("status"))) {
  571. throw new Exception("计量上传失败:" + result.get("message"));
  572. }
  573. }
  574. return result;
  575. }
  576. @ApiOperation(value = "查询采购火运计量")
  577. @PostMapping("/purchaseTrainWeightList")
  578. public Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> map,
  579. Integer apiId,
  580. Integer pageNum,
  581. Integer pageSize) {
  582. return tmsFeign.purchaseTrainWeightList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  583. }
  584. @ApiOperation(value = "采购火运卸车作业")
  585. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  586. @PostMapping(value = "/purchaseTrainUnload")
  587. // @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
  588. public Map<String, Object> purchaseTrainUnload(@RequestBody MultipartFile file,
  589. String businessType,
  590. String userId,
  591. String userName) throws Exception {
  592. Map<String, Object> map = new HashMap<>();
  593. //获取Excel中包含的对象数组
  594. List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
  595. map.put("list", list);
  596. Set<String> capacitySet = new HashSet<>();//车牌号
  597. String unloadTime = null;
  598. for (Map<String, Object> item : list) {
  599. //校验行
  600. if(item.get("通知单号")==null || item.get("通知单号").equals("")
  601. || item.get("车号")==null || item.get("车号").equals("")
  602. || item.get("卸车日期")==null || item.get("卸车日期").equals("")
  603. || item.get("皮重")==null || item.get("皮重").equals("")
  604. || item.get("毛重")==null || item.get("毛重").equals("")){
  605. throw new Exception("单元格数据异常(通知单号/车号/卸车日期/净重),请检查模板或数据是否正确!");
  606. }
  607. item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
  608. //校验数据
  609. // if(unloadTime == null){
  610. // unloadTime = item.get("卸车日期").toString();
  611. // }else if(!unloadTime.equals(item.get("卸车日期").toString())){
  612. // throw new Exception("同一个Excel只允许一批车辆,请检查卸车日期!");
  613. // }
  614. //车牌号去重
  615. capacitySet.add(item.get("车号").toString());
  616. }
  617. String[] capacities = capacitySet.toArray(new String[0]);//车牌号
  618. if (capacities.length != list.size()) {
  619. throw new Exception("车号不允许重复!");
  620. }
  621. map.put("userId",userId);
  622. map.put("userName",userName);
  623. map.put("businessType",businessType);
  624. //获取火车运单及计量详情
  625. List<Map<String,Object>> orderListAll = universalMapper.findTrainUnload(map);
  626. if (orderListAll.size() <= 0) {
  627. throw new Exception("未查询到装车信息,请先上传装车作业!");
  628. }
  629. List<String> requireList = new ArrayList<>();
  630. for(Map<String,Object> order : orderListAll){
  631. if(order.get("unloadResultId") != null){
  632. throw new Exception(order.get("capacityId")+"已卸车,不允许再上传!");
  633. }
  634. String requireNumber = order.get("requireNumber").toString();
  635. Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
  636. if(requirementMap!=null){
  637. List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
  638. orderList.add(order);
  639. requirementMap.put("orderList",orderList);
  640. }else{
  641. requirementMap = new HashMap<>();
  642. List<Map<String,Object>> orderList = new ArrayList<>();
  643. orderList.add(order);
  644. requirementMap.put("transPlanId",order.get("transPlanId"));
  645. requirementMap.put("materialId",order.get("materialId"));
  646. requirementMap.put("unloadPointId",order.get("unloadPointId"));
  647. requirementMap.put("unloadTime",unloadTime);
  648. requirementMap.put("userId",userId);
  649. requirementMap.put("userName",userName);
  650. requirementMap.put("orderList",orderList);
  651. requirementMap.put("requirementSerialNumber",requireNumber);
  652. requireList.add(requireNumber);
  653. }
  654. map.put(requireNumber,requirementMap);
  655. }
  656. Map<String,Object> result = null;
  657. for(String requireNumber : requireList){
  658. Map<String,Object> requirementMap =(Map<String, Object>) map.get(requireNumber);
  659. List<Map<String,Object>> orderList = (ArrayList) requirementMap.get("orderList");
  660. // if(universalMapper.countTransOrder(requirementMap) != orderList.size()){
  661. // throw new Exception("卸车车数与装车车数不一致!");
  662. // }
  663. result = tmsFeign.purchaseTrainUnload(requirementMap);
  664. if (!"succeed".equals(result.get("status"))) {
  665. throw new Exception("上传失败:" + result.get("message"));
  666. }
  667. }
  668. return result;
  669. }
  670. @ApiOperation(value = "查询采购火运卸车")
  671. @PostMapping("/purchaseTrainUnloadList")
  672. public Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
  673. Integer apiId,
  674. Integer pageNum,
  675. Integer pageSize) {
  676. return tmsFeign.purchaseTrainUnloadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  677. }
  678. @ApiOperation(value = "更改销售运输订单状态")
  679. @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
  680. @PostMapping(value = "/changeSaleTransOrder")
  681. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"销售运输订单"})
  682. public Map<String, Object> changeSaleTransOrder(@RequestBody(required = false) Map<String, Object> map) {
  683. return tmsFeign.changeSaleTransOrder(map);
  684. }
  685. @ApiOperation(value = "查询司机运输汇总")
  686. @PostMapping("/getDriverTotalResult")
  687. public Map<String, Object> getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
  688. Integer apiId,
  689. Integer pageNum,
  690. Integer pageSize) {
  691. return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  692. }
  693. @ApiOperation(value = "查询车辆运输汇总")
  694. @PostMapping("/getCapacityTotalResult")
  695. public Map<String, Object> getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
  696. Integer apiId,
  697. Integer pageNum,
  698. Integer pageSize) {
  699. return tmsFeign.getCapacityTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  700. }
  701. @ApiOperation("生产物流-调度任务新增")
  702. @PostMapping("/dispatchTask")
  703. Map<String,Object> dispatchTask(@RequestBody Map<String,Object> map) {
  704. return tmsFeign.dispatchTask(map);
  705. }
  706. @ApiOperation("获取销售派车单信息")
  707. @PostMapping("/getDlivDirnoSeqList/{id}")
  708. public RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id) {
  709. return tmsFeign.getDlivDirnoSeqList(id);
  710. }
  711. @ApiOperation("修改销售派车单信息")
  712. @PostMapping("/updateDlivDirnoSeq")
  713. @LogAround(foreignKeys = {"planChildId"}, foreignKeyTypes = {"修改销售运单"})
  714. public RESTfulResult updateDlivDirnoSeq(@RequestBody Map<String,Object> map) {
  715. return tmsFeign.updateDlivDirnoSeq(map);
  716. }
  717. @ApiOperation("查询销售派车单装车信息")
  718. @PostMapping("/selectDlivDirnoSeqDetails")
  719. public RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String,Object> map) {
  720. return tmsFeign.selectDlivDirnoSeqDetails(map);
  721. }
  722. @ApiOperation("查询订单厂内轨迹")
  723. @PostMapping("/getPathByOrder")
  724. public RESTfulResult getPathByOrder(@RequestBody Map<String,Object> map) {
  725. return tmsFeign.getPathByOrder(map);
  726. }
  727. @ApiOperation("上传定位,更新路径")
  728. @PostMapping("/uploadLocation")
  729. public RESTfulResult uploadLocation(@RequestBody Map<String,Object> map) {
  730. return tmsFeign.uploadLocation(map);
  731. }
  732. @ApiOperation("实收吨数")
  733. @PostMapping("/updateWeight")
  734. public RESTfulResult updateWeight(@RequestBody Map<String,Object> map) {
  735. return tmsFeign.updateWeight(map);
  736. }
  737. @ApiOperation("checkWeightResult")
  738. @PostMapping("/checkWeightResult")
  739. @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
  740. public Map<String,Object> checkWeightResult(@RequestBody Map<String,Object> map) {
  741. return tmsFeign.checkWeightResult(map);
  742. }
  743. @ApiOperation(value = "发运通知单直接派车", notes = "发运通知单直接派车")
  744. @ApiImplicitParams({
  745. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  746. })
  747. @PostMapping(value = "/saleDispatchList")
  748. public RESTfulResult saleDispatchList(@RequestBody Map<String, Object> map) {
  749. return tmsFeign.saleDispatchList(map);
  750. }
  751. @ApiOperation("多拼派车")
  752. @PostMapping("/saleDispatchDuoPin")
  753. RESTfulResult saleDispatchDuoPin(@RequestBody Map<String,Object> map) {return tmsFeign.saleDispatchDuoPin(map);}
  754. @ApiOperation("同步生产实绩")
  755. @PostMapping("/syncProductionResult")
  756. @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"调拨实绩"})
  757. RESTfulResult syncProductionResult(@RequestBody Map<String,Object> map) {
  758. return tmsFeign.syncProductionResult(map);
  759. }
  760. @ApiOperation("获取司机日工作量")
  761. @PostMapping("/getDriverDayJobForApp")
  762. RESTfulResult getDriverDayJobForApp(@RequestBody Map<String,Object> map,Integer apiId) {
  763. return tmsFeign.getDriverDayJobForApp(map,apiId);
  764. }
  765. @ApiOperation(value = "确认出库", notes = "确认出库")
  766. @ApiImplicitParams({
  767. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  768. })
  769. @PostMapping(value = "/outBound")
  770. public RESTfulResult outBound(@RequestBody Map<String, Object> map) {
  771. return tmsFeign.outBound(map);
  772. }
  773. @ApiOperation(value = "撤销出库", notes = "撤销出库")
  774. @ApiImplicitParams({
  775. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  776. })
  777. @PostMapping(value = "/revokeOutBound")
  778. public RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map) {
  779. return tmsFeign.revokeOutBound(map);
  780. }
  781. @ApiOperation(value = "查询车辆登记单信息")
  782. @PostMapping("/likeTransitOrders")
  783. public Map<String, Object> likeTransitOrders(@RequestBody(required = false) Map<String, Object> map,
  784. Integer apiId,
  785. Integer pageNum,
  786. Integer pageSize) {
  787. return tmsFeign.likeTransitOrders(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
  788. }
  789. @ApiOperation(value = "新增车辆登记单信息")
  790. @PostMapping("/insertTmsTransitOrder")
  791. public Map<String,Object> insertTmsTransitOrder(@RequestBody Map<String,Object> map) {
  792. return tmsFeign.insertTmsTransitOrder(map);
  793. }
  794. }