OmsTransOrderController.java 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
  1. package com.steerinfo.dil.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.steerinfo.dil.config.WebExceptionHandler;
  4. import com.steerinfo.dil.feign.DzFeign;
  5. import com.steerinfo.dil.feign.ReportFeign;
  6. import com.steerinfo.dil.mapper.*;
  7. import com.steerinfo.dil.model.*;
  8. import com.steerinfo.dil.service.impl.OmsTransOrderServiceImpl;
  9. import com.steerinfo.dil.util.ColumnDataUtil;
  10. import com.steerinfo.dil.util.DaZongUtil;
  11. import com.steerinfo.dil.util.DataChange;
  12. import com.steerinfo.dil.util.PageListAdd;
  13. import com.steerinfo.framework.controller.BaseRESTfulController;
  14. import com.steerinfo.framework.controller.RESTfulResult;
  15. import com.steerinfo.framework.service.pagehelper.PageHelper;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiImplicitParam;
  18. import io.swagger.annotations.ApiImplicitParams;
  19. import io.swagger.annotations.ApiOperation;
  20. import lombok.SneakyThrows;
  21. import oracle.jdbc.proxy.annotation.Post;
  22. import org.apache.log4j.Logger;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.math.BigDecimal;
  26. import java.text.SimpleDateFormat;
  27. import java.util.*;
  28. import java.util.logging.SimpleFormatter;
  29. /**
  30. * OmsTransOrder RESTful接口:
  31. * @author generator
  32. * @version 1.0-SNAPSHORT 2023-11-02 02:31
  33. * 类描述
  34. * 修订历史:
  35. * 日期:2023-11-02
  36. * 作者:generator
  37. * 参考:
  38. * 描述:OmsTransOrder RESTful接口
  39. * @see null
  40. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  41. */
  42. @RestController
  43. @RequestMapping("/${api.version}/omstransorders")
  44. public class OmsTransOrderController extends BaseRESTfulController {
  45. static final Logger log = Logger.getLogger(OmsTransOrderController.class);
  46. @Autowired
  47. OmsTransOrderServiceImpl omsTransOrderService;
  48. @Autowired
  49. ColumnDataUtil columnDataUtil;
  50. @Autowired
  51. OmsTransOrderMapper omsTransOrderMapper;
  52. @Autowired
  53. SyncProductListMapper syncProductListMapper;
  54. @Autowired
  55. DzFeign dzFeign;
  56. @Autowired
  57. ReportFeign reportFeign;
  58. @Autowired
  59. DaZongUtil daZongUtil;
  60. @Autowired
  61. CommonMapper commonMapper;
  62. @Autowired
  63. AmsTransRequirementMapper amsTransRequirementMapper;
  64. @Autowired
  65. AmsRequirementChildMapper amsRequirementChildMapper;
  66. @ApiOperation(value="派单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  67. @PostMapping("/dispatchOrder")
  68. public RESTfulResult dispatchOrder(@RequestBody Map<String,Object> map){
  69. try{
  70. String result = omsTransOrderService.dispatchOrder(map);
  71. return success(map,result);
  72. }catch (Exception e){
  73. e.printStackTrace();
  74. return failed(e.getMessage(),e.getMessage());
  75. }
  76. }
  77. @ApiOperation(value="批量派单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  78. @PostMapping("/batchDispatch")
  79. public RESTfulResult batchDispatch(@RequestBody Map<String,Object> map){
  80. try{
  81. String result = omsTransOrderService.batchDispatch(map);
  82. return success(map.get("list"),result);
  83. }catch (NullPointerException e){
  84. e.printStackTrace();
  85. return failed(e.getMessage(),"操作失败,缺乏必要参数!");
  86. }catch (Exception e){
  87. e.printStackTrace();
  88. return failed(e.getMessage(),e.getMessage());
  89. }
  90. }
  91. @ApiOperation(value="批量派单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  92. @PostMapping("/batchDispatchSc")
  93. public RESTfulResult batchDispatchSc(@RequestBody Map<String,Object> map){
  94. try{
  95. String result = omsTransOrderService.batchDispatchSc(map);
  96. return success(map.get("list"),result);
  97. }catch (NullPointerException e){
  98. e.printStackTrace();
  99. return failed(e.getMessage(),"操作失败,缺乏必要参数!");
  100. }catch (Exception e){
  101. e.printStackTrace();
  102. return failed(e.getMessage(),e.getMessage());
  103. }
  104. }
  105. @ApiOperation(value="修改运输订单", notes="仅允许修改司机、车号、运输路线")
  106. @PostMapping("/updateTransOrder")
  107. public RESTfulResult updateTransOrder(@RequestBody Map<String,Object> map){
  108. try{
  109. String result = omsTransOrderService.updateTransOrder(map);
  110. return success(map,result);
  111. }catch (IndexOutOfBoundsException e){
  112. e.printStackTrace();
  113. return failed(map,"操作失败,无法迁移实绩到目标线路!");
  114. }catch (NullPointerException e){
  115. e.printStackTrace();
  116. return failed(map,"操作失败,缺乏必要参数!");
  117. }catch (Exception e){
  118. e.printStackTrace();
  119. return failed(map,e.getMessage());
  120. }
  121. }
  122. @ApiOperation(value="合并运输订单", notes="list , lineId")
  123. @PostMapping("/mergeTransOrder")
  124. public RESTfulResult mergeTransOrder(@RequestBody Map<String,Object> map){
  125. try{
  126. String result = omsTransOrderService.mergeTransOrder(map);
  127. return success(map,result);
  128. }catch (NullPointerException e){
  129. e.printStackTrace();
  130. return failed(e.getMessage(),"操作失败,缺乏必要参数!");
  131. }catch (Exception e){
  132. e.printStackTrace();
  133. return failed(e.getMessage(),e.getMessage());
  134. }
  135. }
  136. @ApiOperation(value = "查询运输订单")
  137. @PostMapping("/getTransOrderList")
  138. public RESTfulResult getTransOrderList(@RequestBody(required = false) Map<String, Object> map,
  139. Integer apiId,
  140. Integer pageNum,
  141. Integer pageSize) {
  142. if("app".equals(map.get("terminalCode"))) {
  143. pageSize = 100;
  144. }
  145. PageHelper.startPage(pageNum, pageSize);
  146. //分页查询数据
  147. List<Map<String,Object>> list = omsTransOrderService.getTransOrderList(map);
  148. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  149. return success(pageList);
  150. }
  151. @ApiOperation(value="接单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  152. @PostMapping("/receiptOrder")
  153. public RESTfulResult receiptOrder(@RequestBody Map<String,Object> map){
  154. try{
  155. String result = omsTransOrderService.receiptOrder(map);
  156. return success(map,result);
  157. }catch (NullPointerException e){
  158. e.printStackTrace();
  159. return failed(e.getMessage(),"操作失败,缺乏必要参数!");
  160. }catch (Exception e){
  161. e.printStackTrace();
  162. return failed(e.getStackTrace(),e.getMessage());
  163. }
  164. }
  165. @ApiOperation(value="修改运输订单状态", notes="")
  166. @PostMapping("/changeTransOrder")
  167. public RESTfulResult changeTransOrder(@RequestBody Map<String,Object> map){
  168. try{
  169. String result = omsTransOrderService.changeTransOrder(map);
  170. return success(map,result);
  171. }catch (NullPointerException e){
  172. e.printStackTrace();
  173. return failed("操作失败,缺乏必要参数!","操作失败,缺乏必要参数!");
  174. }catch (Exception e){
  175. e.printStackTrace();
  176. return failed(e.getMessage(),e.getMessage());
  177. }
  178. }
  179. @ApiOperation(value="火运大宗销售订单 删除销售运输订单", notes="")
  180. @PostMapping("/changeTransOrderH")
  181. public RESTfulResult changeSaleTransOrderH(@RequestBody Map<String,Object> map){
  182. try{
  183. String result = omsTransOrderService.changeTransOrderH(map);
  184. if (!result.equals("OK")){
  185. return failed(null, "500", "运单删除失败!");
  186. }
  187. return success(map);
  188. }catch (NullPointerException e){
  189. e.printStackTrace();
  190. return failed("操作失败,缺乏必要参数!","操作失败,缺乏必要参数!");
  191. }catch (Exception e){
  192. e.printStackTrace();
  193. return failed(e.getMessage(),e.getMessage());
  194. }
  195. }
  196. @ApiOperation(value="删除销售运输订单", notes="")
  197. @PostMapping("/changeSaleTransOrder")
  198. public RESTfulResult changeSaleTransOrder(@RequestBody Map<String,Object> map){
  199. try{
  200. // Integer integer = omsTransOrderService.selectDlivDirnoSeqCount(map.get("dlivDirnoSeq").toString());
  201. // if (integer > 0) {
  202. // return failed("派车单已装车,删除失败!","派车单已装车,删除失败!");
  203. // }
  204. String result = omsTransOrderService.changeTransOrder(map);
  205. if (!result.equals("OK")){
  206. return failed(null, "500", "运单删除失败!");
  207. }
  208. // String dlivDirnoSeq = omsTransOrderService.deleteSlmDlivDirListByDlivDirnoSeq(map.get("dlivDirnoSeq").toString());
  209. // if (!dlivDirnoSeq.equals("OK")) {
  210. // return failed(null, "500", "WMS中派车单删除失败!");
  211. // }
  212. return success(map);
  213. }catch (NullPointerException e){
  214. e.printStackTrace();
  215. return failed("操作失败,缺乏必要参数!","操作失败,缺乏必要参数!");
  216. }catch (Exception e){
  217. e.printStackTrace();
  218. return failed(e.getMessage(),e.getMessage());
  219. }
  220. }
  221. @ApiOperation(value="关闭计划底下所有运输订单", notes="关闭未接收运输订单")
  222. @PostMapping("/closeTransOrderByPlan")
  223. public RESTfulResult closeTransOrderByPlan(@RequestBody Map<String,Object> map){
  224. try{
  225. String result = omsTransOrderService.closeTransOrderByPlan(map);
  226. return success(map,result);
  227. }catch (Exception e){
  228. e.printStackTrace();
  229. return failed(e.getMessage(),e.getMessage());
  230. }
  231. }
  232. @ApiOperation(value = "查询运输订单所有运输实绩")
  233. @PostMapping("/getTransResult")
  234. public RESTfulResult getTransResult(@RequestBody(required = false) Map<String, Object> map) {
  235. try{
  236. List<Map<String,Object>> list = omsTransOrderService.getTransResult(map);
  237. return success(list,"查询成功!");
  238. }catch (Exception e){
  239. e.printStackTrace();
  240. return failed(e.getMessage(),e.getMessage());
  241. }
  242. }
  243. @ApiOperation(value="销售派单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  244. @PostMapping("/saleDispatchOrder")
  245. public RESTfulResult saleDispatchOrder(@RequestBody Map<String,Object> map){
  246. try{
  247. int max = 1;
  248. List<Map<String, Object>> planChildren = (ArrayList) map.get("children");
  249. for (Map<String, Object> planChild : planChildren) {
  250. planChild.put("dlivDirnoSeq", omsTransOrderService.selectMax(max));
  251. max++;
  252. }
  253. String result = omsTransOrderService.saleDispatchOrder(map);
  254. return success(result);
  255. }catch (Exception e){
  256. e.printStackTrace();
  257. return failed(e.getMessage(),e.getMessage());
  258. }
  259. }
  260. @ApiOperation(value="批量销售派单接口", notes="根据lineId、planChildId、capacityId来新增运输订单")
  261. @PostMapping("/saleDispatchOrderList")
  262. public RESTfulResult saleDispatchOrderList(@RequestBody Map<String,Object> map){
  263. try{
  264. String result = omsTransOrderService.saleDispatchOrderList(map);
  265. return success(result);
  266. }catch (Exception e){
  267. e.printStackTrace();
  268. return failed(e.getMessage(),e.getMessage());
  269. }
  270. }
  271. @ApiOperation(value = "查询销售运输订单")
  272. @PostMapping("/getSaleTransOrderList")
  273. public RESTfulResult getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> map,
  274. Integer apiId,
  275. Integer pageNum,
  276. Integer pageSize) {
  277. PageHelper.startPage(pageNum, pageSize);
  278. //分页查询数据
  279. List<Map<String, Object>> list = omsTransOrderService.getSaleTransOrderList(map);
  280. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  281. return success(pageList);
  282. }
  283. @ApiOperation(value = "查询厂内车辆数")
  284. @PostMapping("/getCountEnfactory")
  285. public RESTfulResult getCountEnfactory(@RequestBody(required = false) Map<String, Object> map) {
  286. return success(omsTransOrderService.getCountEnfactory(map));
  287. }
  288. @ApiOperation(value = "查询司机运输汇总")
  289. @PostMapping("/getDriverTotalResult")
  290. public RESTfulResult getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
  291. Integer apiId,
  292. Integer pageNum,
  293. Integer pageSize) {
  294. DataChange.getMonthStartEnd(map);
  295. if(map.containsKey("noPage")) {
  296. return success(omsTransOrderService.getDriverTotalResult(map));
  297. }else{
  298. PageHelper.startPage(pageNum, pageSize);
  299. //分页查询数据
  300. List<Map<String, Object>> list = omsTransOrderService.getDriverTotalResult(map);
  301. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  302. return success(pageList);
  303. }
  304. }
  305. @ApiOperation(value = "查询车辆运输汇总")
  306. @PostMapping("/getCapacityTotalResult")
  307. public RESTfulResult getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
  308. Integer apiId,
  309. Integer pageNum,
  310. Integer pageSize) {
  311. DataChange.getMonthStartEnd(map);
  312. if(map.containsKey("noPage")) {
  313. return success(omsTransOrderService.getCapacityTotalResult(map));
  314. }else{
  315. PageHelper.startPage(pageNum, pageSize);
  316. //分页查询数据
  317. List<Map<String, Object>> list = omsTransOrderService.getCapacityTotalResult(map);
  318. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  319. return success(pageList);
  320. }
  321. }
  322. @ApiOperation("生产物流-调度任务")
  323. @PostMapping("/dispatchTask")
  324. public RESTfulResult dispatchTask(@RequestBody Map<String, Object> map) throws Exception {
  325. Map<String,Object> resMap = omsTransOrderService.dispatchTask(map);
  326. if("failed".equals(resMap.get("status"))) {
  327. return failed(resMap.get("errorMessage"),resMap.get("errorMessage").toString());
  328. }
  329. return success(map,"任务调度成功");
  330. }
  331. @ApiOperation("获取销售派车单信息")
  332. @PostMapping("/getDlivDirnoSeqList/{id}")
  333. public RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id) {
  334. Map<String, Object> dlivDirnoSeqList = omsTransOrderService.getDlivDirnoSeqList(id);
  335. return success(dlivDirnoSeqList);
  336. }
  337. @ApiOperation("修改销售派车单信息")
  338. @PostMapping("/updateDlivDirnoSeq")
  339. public Map<String, Object> updateDlivDirnoSeq(@RequestBody Map<String, Object> map) throws Exception {
  340. Map<String,Object> params = omsTransOrderService.updateDlivDirnoSeq(map);
  341. return params;
  342. }
  343. @ApiOperation("获取销售派车单信息装货信息")
  344. @PostMapping("/selectDlivDirnoSeqDetails")
  345. public RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String, Object> map) {
  346. return success(omsTransOrderService.selectDlivDirnoSeqDetails(map));
  347. }
  348. @SneakyThrows
  349. @ApiOperation("获取销售派车单信息装货信息")
  350. @PostMapping("/creatTransResult")
  351. public void creatTransResult(BigDecimal lineId, BigDecimal transOrderId,BigDecimal planChildId, String userName) throws Exception {
  352. omsTransOrderService.creatTransResult(lineId, transOrderId,planChildId,userName);
  353. }
  354. @ApiOperation("获取销售派车单信息装货信息")
  355. @PostMapping("/dispatchPush")
  356. public void dispatchPush(BigDecimal businessType,
  357. BigDecimal capacityId,
  358. BigDecimal driverId,
  359. OmsTransOrder omsTransOrder,
  360. OmsOrderChild omsOrderChild,
  361. Map<String,Object> planDetails) throws Exception {
  362. omsTransOrderService.dispatchPush(businessType,
  363. capacityId,
  364. driverId,
  365. omsTransOrder,
  366. omsOrderChild,
  367. planDetails);
  368. }
  369. @ApiOperation("匹配运输路径,并自动生产实绩")
  370. @PostMapping("/matchLineAndCreatResult")
  371. public RESTfulResult matchLineAndCreatResult(@RequestBody Map<String, Object> map) {
  372. try {
  373. Map<String, Object> result = omsTransOrderService.matchLineAndCreatResult(map);
  374. return success(result,"匹配成功!");
  375. }catch (NullPointerException e){
  376. e.printStackTrace();
  377. return failed("操作失败,缺乏必要参数!","操作失败,缺乏必要参数!");
  378. }catch (Exception e){
  379. e.printStackTrace();
  380. return failed(e.getMessage(),e.getMessage());
  381. }
  382. }
  383. @ApiOperation(value = "发运通知单直接派车", notes = "发运通知单直接派车")
  384. @ApiImplicitParams({
  385. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  386. })
  387. @PostMapping(value = "/saleDispatchList")
  388. public RESTfulResult saleDispatchList(@RequestBody Map<String, Object> map) throws Exception {
  389. try {
  390. String result = omsTransOrderService.saleDispatchList(map);
  391. return success(map, result);
  392. } catch (NullPointerException e) {
  393. e.printStackTrace();
  394. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  395. } catch (Exception e) {
  396. e.printStackTrace();
  397. log.info(e.getMessage());
  398. return failed(e.getMessage(), e.getMessage());
  399. }
  400. }
  401. @ApiOperation(value = "多拼派单", notes = "多拼派单")
  402. @ApiImplicitParams({
  403. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  404. })
  405. @PostMapping("/saleDispatchDuoPin")
  406. public RESTfulResult saleDispatchDuoPin(@RequestBody Map<String, Object> map) throws Exception {
  407. try {
  408. String result = omsTransOrderService.saleDispatchDuoPin(map);
  409. return success(map, result);
  410. } catch (NullPointerException e) {
  411. e.printStackTrace();
  412. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  413. } catch (Exception e) {
  414. e.printStackTrace();
  415. return failed(e.getMessage(), e.getMessage());
  416. }
  417. }
  418. @ApiOperation(value = "确认出库", notes = "确认出库")
  419. @ApiImplicitParams({
  420. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  421. })
  422. @PostMapping("/outBound")
  423. public RESTfulResult outBound(@RequestBody Map<String, Object> map) throws Exception {
  424. try {
  425. String result = omsTransOrderService.outBound(map);
  426. return success(map, result);
  427. } catch (NullPointerException e) {
  428. e.printStackTrace();
  429. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  430. } catch (Exception e) {
  431. e.printStackTrace();
  432. return failed(e.getMessage(), e.getMessage());
  433. }
  434. }
  435. @ApiOperation(value = "撤销出库", notes = "撤销出库")
  436. @ApiImplicitParams({
  437. @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
  438. })
  439. @PostMapping("/revokeOutBound")
  440. public RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map) throws Exception {
  441. try {
  442. String result = omsTransOrderService.revokeOutBound(map);
  443. return success(map, result);
  444. } catch (NullPointerException e) {
  445. e.printStackTrace();
  446. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  447. } catch (Exception e) {
  448. e.printStackTrace();
  449. return failed(e.getMessage(), e.getMessage());
  450. }
  451. }
  452. @ApiOperation(value = "关闭过期运输订单", notes = "多拼派单")
  453. @PostMapping("/closeExpireTransOrder")
  454. public RESTfulResult closeExpireTransOrder(@RequestBody Map<String, Object> map) throws Exception {
  455. try {
  456. int affect = omsTransOrderMapper.closeExpireTransOrder();
  457. return success(map, "关闭过期运输订单数量:"+affect);
  458. } catch (NullPointerException e) {
  459. e.printStackTrace();
  460. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  461. } catch (Exception e) {
  462. e.printStackTrace();
  463. return failed(e.getMessage(), e.getMessage());
  464. }
  465. }
  466. @ApiOperation(value = "同步生产实绩", notes = "同步生产实绩")
  467. @PostMapping("/syncProductionResult")
  468. public RESTfulResult syncProductionResult(@RequestBody Map<String, Object> map){
  469. try {
  470. if(map.containsKey("wlpl")) {
  471. List<Map<String,Object>> mapList = (List<Map<String, Object>>) map.get("mapList");
  472. for(Map<String,Object> map1 : mapList) {
  473. if(map.containsKey("flag")) {
  474. map1.put("flag","update");
  475. }
  476. omsTransOrderService.syncProductionResult(map1);
  477. //判断单据有没有同步成功
  478. BigDecimal orderId = omsTransOrderMapper.selectOrderInfoByDB(map1);
  479. SyncProductList syncProductList = new SyncProductList();
  480. if(orderId == null) {
  481. syncProductList.setDeleted(1);
  482. }else{
  483. syncProductList.setDeleted(0);
  484. }
  485. JSONObject jsonObject = new JSONObject(map1);
  486. syncProductList.setPrimaryId(syncProductListMapper.nextId());
  487. syncProductList.setDjlx("调拨");
  488. syncProductList.setDjbh(map1.get("djbh").toString());
  489. syncProductList.setMaterialName(map1.get("materialName") == null ? "" : map1.get("materialName").toString());
  490. syncProductList.setProductList(jsonObject.toString());
  491. syncProductListMapper.insert(syncProductList);
  492. }
  493. return success("更新成功");
  494. }
  495. String result = omsTransOrderService.syncProductionResult(map);
  496. //判断单据有没有同步成功
  497. BigDecimal orderId = omsTransOrderMapper.selectOrderInfoByDB(map);
  498. SyncProductList syncProductList = new SyncProductList();
  499. if(orderId == null) {
  500. syncProductList.setDeleted(1);
  501. }else{
  502. syncProductList.setDeleted(0);
  503. }
  504. JSONObject jsonObject = new JSONObject(map);
  505. syncProductList.setPrimaryId(syncProductListMapper.nextId());
  506. syncProductList.setDjlx("调拨");
  507. syncProductList.setDjbh(map.get("djbh").toString());
  508. syncProductList.setMaterialName(map.get("materialName") == null ? "" : map.get("materialName").toString());
  509. syncProductList.setProductList(jsonObject.toString());
  510. syncProductListMapper.insert(syncProductList);
  511. return success(map, result);
  512. } catch (NullPointerException e) {
  513. e.printStackTrace();
  514. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  515. } catch (Exception e) {
  516. e.printStackTrace();
  517. return failed(e.getMessage(), e.getMessage());
  518. }
  519. }
  520. @ApiOperation(value = "获取司机日工作量", notes = "获取司机日工作量")
  521. @PostMapping("/getDriverDayJobForApp")
  522. public RESTfulResult getDriverDayJobForApp(@RequestBody Map<String, Object> map,Integer apiId){
  523. //分页查询数据
  524. List<Map<String,Object>> list = omsTransOrderService.getDriverDayJob(map);
  525. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  526. return success(pageList);
  527. }
  528. @ApiOperation(value = "再次同步WMS派车单", notes = "再次同步WMS派车单")
  529. @PostMapping("/slmDlivDirList")
  530. public RESTfulResult slmDlivDirList(@RequestBody Map<String, Object> map) throws Exception {
  531. String s = omsTransOrderService.slmDlivDirList(map);
  532. return success(s);
  533. }
  534. @ApiOperation(value = "火运出库后修改车号", notes = "火运出库后修改车号")
  535. @PostMapping("/updateCarNo")
  536. public RESTfulResult updateCarNo(@RequestBody Map<String, Object> map) throws Exception {
  537. try {
  538. String s = omsTransOrderService.updateCarNo(map);
  539. return success(map, s);
  540. } catch (NullPointerException e) {
  541. e.printStackTrace();
  542. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  543. } catch (Exception e) {
  544. e.printStackTrace();
  545. return failed(e.getMessage(), e.getMessage());
  546. }
  547. }
  548. @ApiOperation(value = "禁用/启用运输订单")
  549. @PostMapping("/banTransOrder")
  550. public RESTfulResult banTransOrder(@RequestBody Map<String, Object> map) throws Exception {
  551. try {
  552. String s = omsTransOrderService.banTransOrder(map);
  553. return success(map, s);
  554. } catch (NullPointerException e) {
  555. e.printStackTrace();
  556. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  557. } catch (Exception e) {
  558. e.printStackTrace();
  559. return failed(e.getMessage(), e.getMessage());
  560. }
  561. }
  562. @ApiOperation(value = "查询销售火运装车", notes = "")
  563. @PostMapping("/loadingOperation")
  564. public RESTfulResult loadingOperation(@RequestBody Map<String, Object> map,
  565. Integer apiId,
  566. Integer pageNum,
  567. Integer pageSize) {
  568. PageHelper.startPage(pageNum, pageSize);
  569. //分页查询数据
  570. List<Map<String, Object>> list = omsTransOrderService.loadingOperation(map);
  571. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  572. return success(pageList);
  573. }
  574. @ApiOperation(value = "修改火运装车列序号")
  575. @PostMapping("/updateTrainOrderSeq")
  576. public RESTfulResult updateTrainOrderSeq(@RequestBody Map<String, Object> map) throws Exception {
  577. try {
  578. String s = omsTransOrderService.updateTrainOrderSeq(map);
  579. return success(map, s);
  580. } catch (NullPointerException e) {
  581. e.printStackTrace();
  582. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  583. } catch (Exception e) {
  584. e.printStackTrace();
  585. return failed(e.getMessage(), e.getMessage());
  586. }
  587. }
  588. @ApiOperation(value = "查询销售火运装车明细", notes = "")
  589. @PostMapping("/purchaseTrainsOrderList")
  590. public RESTfulResult purchaseTrainsOrderList(@RequestBody Map<String, Object> map,
  591. Integer apiId,
  592. Integer pageNum,
  593. Integer pageSize) {
  594. PageHelper.startPage(pageNum, pageSize);
  595. //分页查询数据
  596. List<Map<String, Object>> list = omsTransOrderService.purchaseTrainsOrderList(map);
  597. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  598. return success(pageList);
  599. }
  600. @ApiOperation(value = "重传火运实绩->环保")
  601. @PostMapping("/trainResultResend")
  602. public RESTfulResult trainResultResend() throws Exception{
  603. List<Map<String, Object>> listXt = omsTransOrderMapper.getTrainResultForSend(null);
  604. //List<Map<String, Object>> listHa = omsTransOrderMapper.getTrainResultForSend("宏安");
  605. int index= 0,section = 300;//分片大小
  606. while(index * section < listXt.size()) {
  607. index++;
  608. List<Map<String, Object>> tempList = null;
  609. if (index * section < listXt.size()) {
  610. tempList = listXt.subList((index - 1) * section, index * section);
  611. } else {
  612. tempList = listXt.subList((index - 1) * section, listXt.size());
  613. }
  614. Map<String,Object>[] paramArray = tempList.toArray(new Map[tempList.size()]);
  615. daZongUtil.executeEnvironment("/train/saveOrUpdate", paramArray);
  616. }
  617. //while(index * section < listHa.size()) {
  618. // index++;
  619. // List<Map<String, Object>> tempList = null;
  620. // if (index * section < listHa.size()) {
  621. // tempList = listHa.subList((index - 1) * section, index * section);
  622. // } else {
  623. // tempList = listHa.subList((index - 1) * section, listHa.size());
  624. // }
  625. // Map<String,Object>[] paramArray = tempList.toArray(new Map[tempList.size()]);
  626. // daZongUtil.executeEnvironment("/ha/train/saveOrUpdate", paramArray);
  627. //}
  628. return success("OK");
  629. }
  630. @ApiOperation(value = "采购-修改原发数量")
  631. @PostMapping("/modifyChange")
  632. public RESTfulResult modifyChange(@RequestBody Map<String, Object> params) {
  633. try {
  634. String s = omsTransOrderService.modifyChange(params);
  635. return success(params, s);
  636. } catch (NullPointerException e) {
  637. e.printStackTrace();
  638. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  639. } catch (Exception e) {
  640. e.printStackTrace();
  641. return failed(e.getMessage(), e.getMessage());
  642. }
  643. }
  644. @ApiOperation(value = "获取大宗净重")
  645. @PostMapping("/getNetWeight")
  646. public RESTfulResult getNetWeight(@RequestBody Map<String, Object> params) {
  647. try {
  648. String s = omsTransOrderService.getNetWeight(params);
  649. return success(params, s);
  650. } catch (NullPointerException e) {
  651. e.printStackTrace();
  652. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  653. } catch (Exception e) {
  654. e.printStackTrace();
  655. return failed(e.getMessage(), e.getMessage());
  656. }
  657. }
  658. @ApiOperation(value = "同步报表数据")
  659. @PostMapping("/getgenerateOperateDaily")
  660. public RESTfulResult generateOperateDaily(@RequestBody Map<String, Object> params) {
  661. try {
  662. List<Map<String, Object>> omsTransOrder = omsTransOrderMapper.getTransOrderList(params);
  663. if (omsTransOrder!=null&&omsTransOrder.size()>0){
  664. for (int i = 0; i <omsTransOrder.size() ; i++) {
  665. reportFeign.generateOperateDaily( omsTransOrder.get(i));
  666. }
  667. }
  668. return success(params);
  669. } catch (NullPointerException e) {
  670. e.printStackTrace();
  671. return failed(e.getMessage(), "操作失败,缺乏必要参数!");
  672. } catch (Exception e) {
  673. e.printStackTrace();
  674. return failed(e.getMessage(), e.getMessage());
  675. }
  676. }
  677. @ApiOperation("对数据进行纠错")
  678. @PostMapping("/correctTransOrder")
  679. public RESTfulResult correctTransOrder(@RequestBody Map<String,Object> map) {
  680. String result = null;
  681. try {
  682. result = omsTransOrderService.correctTransOrder(map);
  683. return success(result);
  684. } catch (Exception e) {
  685. e.printStackTrace();
  686. return failed(e.getMessage());
  687. }
  688. }
  689. @ApiOperation("固定派车")
  690. @PostMapping("/fixedDispatch")
  691. public RESTfulResult fixedDispatch() throws Exception {
  692. omsTransOrderService.fixedDispatch();
  693. return success();
  694. }
  695. @ApiOperation("查询需求派车")
  696. @PostMapping("/getDispatchRules")
  697. public RESTfulResult getDispatchRules(@RequestBody Map<String,Object> map) {
  698. //获取是否派车;
  699. List<BigDecimal> orderList = commonMapper.getOrderListByChild(DataChange.dataToBigDecimal(map.get("requirementChildId")));
  700. if(orderList.size() > 0) {
  701. return failed("该需求已派车,无需查看!");
  702. }
  703. //没有需求
  704. Map<String,Object> objectMap = new HashMap<>();
  705. AmsTransRequirement amsTransRequirement = amsTransRequirementMapper.selectByPrimaryKey(DataChange.dataToBigDecimal(map.get("transRequirementId")));
  706. AmsRequirementChild amsRequirementChild = amsRequirementChildMapper.selectByPrimaryKey(DataChange.dataToBigDecimal(map.get("requirementChildId")));
  707. Date dispatchTime = new Date((long) (amsTransRequirement.getRequirementStartTime().getTime() - 1.5 * 60 * 60 * 1000));
  708. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  709. objectMap.put("dispatchTime",simpleDateFormat.format(dispatchTime));
  710. //计算派车车号
  711. BigDecimal capacityTypeId = amsTransRequirement.getCapacityTypeId();
  712. Date requirementStartTime = amsTransRequirement.getRequirementStartTime();
  713. Date requirementEndTime = amsTransRequirement.getRequirementEndTime();
  714. Calendar startTimeCal = Calendar.getInstance();
  715. startTimeCal.setTime(requirementStartTime);
  716. Calendar endTimeCal = Calendar.getInstance();
  717. endTimeCal.setTime(requirementEndTime);
  718. // 获取开始时间
  719. int startHours = startTimeCal.get(Calendar.HOUR_OF_DAY);
  720. // 获取结束时间
  721. int endHours = endTimeCal.get(Calendar.HOUR_OF_DAY);
  722. List<Integer> startArrayList1 = Arrays.asList(7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19);
  723. List<Integer> endArrayList1 = Arrays.asList(7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19);
  724. List<Integer> startArrayList2 = Arrays.asList(19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 6);
  725. List<Integer> endArrayList2 = Arrays.asList(19, 20, 21, 22, 23, 24, 0, 1, 2, 3, 4, 5, 6, 7,8);
  726. //如果开始时间大于七点,并且结束时间小于19点,就是早班
  727. String flag = "";
  728. if(startArrayList1.contains(startHours) && endArrayList1.contains(endHours)) {
  729. flag = "白班";
  730. }
  731. if(startArrayList2.contains(startHours) && endArrayList2.contains(endHours)) {
  732. flag = "夜班";
  733. }
  734. String personnelNo = map.get("alternateFields8").toString();
  735. if("无".equals(personnelNo)) {
  736. //不需要吊挂工;
  737. personnelNo = "0";
  738. }
  739. BigDecimal personnelNumber = DataChange.dataToBigDecimal(personnelNo);
  740. //空闲中的、运力、司机数据
  741. Map<String, Object> objectObjectHashMap = new HashMap<>();
  742. objectObjectHashMap.put("capacityTypeId",capacityTypeId);
  743. objectObjectHashMap.put("shift",flag);
  744. objectObjectHashMap.put("operationName",amsRequirementChild.getOperationName());
  745. objectObjectHashMap.put("operationRangeName",amsRequirementChild.getOperationRangeName());
  746. if(DataChange.dataToBigDecimal(map.get("dispatchSqe")).compareTo(new BigDecimal(7)) == 0) {
  747. objectObjectHashMap.put("allShift","1");
  748. objectMap.put("operationNameType","外出业务");
  749. }else{
  750. objectMap.put("operationNameType","站台装卸业务");
  751. }
  752. objectMap.put("capacityTypeName",amsTransRequirement.getCapacityTypeName());
  753. // 查询该班次,所有异常的司机
  754. List<Map<String,Object>> capacityDriverList = commonMapper.selectAbnormalCapacityDriverList(objectObjectHashMap);
  755. objectMap.put("capacityDriverList",capacityDriverList);
  756. return success(objectMap);
  757. }
  758. @ApiOperation("查询站台装卸")
  759. @PostMapping("getZtZxShiji")
  760. public RESTfulResult getZtZxShiji(@RequestBody Map<String, Object> map,
  761. Integer apiId,
  762. Integer pageNum,
  763. Integer pageSize) {
  764. PageHelper.startPage(pageNum, pageSize);
  765. //分页查询数据
  766. List<Map<String, Object>> list = omsTransOrderService.getZtZxShiji(map);
  767. PageListAdd pageList = columnDataUtil.tableColumnDataByUserId(apiId, null, list, map.get("userId").toString());
  768. return success(pageList);
  769. }
  770. @PostMapping("disposeMatchLoadData")
  771. public RESTfulResult disposeMatchLoadData(@RequestBody Map<String, Object> map) {
  772. String result = omsTransOrderService.disposeMatchLoadData(map);
  773. return success(result) ;
  774. }
  775. @PostMapping("resendWmsResult")
  776. public RESTfulResult resendWmsResult(@RequestBody Map<String, Object> map) {
  777. // 推送实绩
  778. String result = null;
  779. try {
  780. result = omsTransOrderService.resendWmsResult(map);
  781. } catch (Exception e) {
  782. return failed(e.getMessage());
  783. }
  784. return success(result);
  785. }
  786. @PostMapping("correctTransOrderTest")
  787. public RESTfulResult correctTransOrderTest(@RequestParam BigDecimal transOrderId) throws Exception {
  788. omsTransOrderService.correctTransOrder(transOrderId);
  789. return success();
  790. }
  791. }