AmsSaleOrderController.java 78 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687
  1. package com.steerinfo.dil.controller;
  2. import com.alibaba.druid.support.json.JSONUtils;
  3. import com.steerinfo.dil.feign.ColumnDataFeign;
  4. import com.steerinfo.dil.feign.ESFeign;
  5. import com.steerinfo.dil.feign.JoinFeign;
  6. import com.steerinfo.dil.mapper.AmsDispatchSaleOrderMapper;
  7. import com.steerinfo.dil.mapper.AmsSaleOrderMapper;
  8. import com.steerinfo.dil.model.AmsDispatchSaleOrder;
  9. import com.steerinfo.dil.service.IAmsSaleOrderService;
  10. import com.steerinfo.dil.service.impl.AmsDispatchSaleOrderServiceImpl;
  11. import com.steerinfo.dil.service.impl.AmsSaleOrderCarrierServiceImpl;
  12. import com.steerinfo.dil.service.impl.AmsSaleOrderMaterialServiceImpl;
  13. import com.steerinfo.dil.util.*;
  14. import com.steerinfo.framework.controller.RESTfulResult;
  15. import com.steerinfo.framework.service.pagehelper.PageHelper;
  16. import io.swagger.annotations.ApiImplicitParam;
  17. import io.swagger.annotations.ApiImplicitParams;
  18. import io.swagger.annotations.ApiModelProperty;
  19. import io.swagger.annotations.ApiOperation;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.scheduling.annotation.Scheduled;
  22. import org.springframework.transaction.annotation.Transactional;
  23. import org.springframework.web.bind.annotation.*;
  24. import java.math.BigDecimal;
  25. import java.text.ParseException;
  26. import java.text.SimpleDateFormat;
  27. import java.util.*;
  28. //import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
  29. /**
  30. * AmsSaleOrder RESTful接口:
  31. * @author generator
  32. * @version 1.0-SNAPSHORT 2021-09-06 07:10
  33. * 类描述
  34. * 修订历史:
  35. * 日期:2021-09-06
  36. * 作者:generator
  37. * 参考:
  38. * 描述:AmsSaleOrder RESTful接口
  39. * @see null
  40. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  41. */
  42. @RestController
  43. @RequestMapping("/${api.version}/amssaleorders")
  44. public class AmsSaleOrderController<RedisTemplate> extends BaseRESTfulController {
  45. @Autowired
  46. IAmsSaleOrderService amsSaleOrderService;
  47. @Autowired
  48. AmsSaleOrderMaterialServiceImpl amsSaleOrderMaterialService;
  49. @Autowired
  50. AmsDispatchSaleOrderServiceImpl amsDispatchSaleOrderService;
  51. @Autowired
  52. ColumnDataFeign columnDataFeign;
  53. @Autowired
  54. AmsDispatchSaleOrderMapper amsDispatchSaleOrderMapper;
  55. @Autowired
  56. ColumnDataUtil columnDataUtil;
  57. @Autowired
  58. ESFeign esFeign;
  59. @Autowired
  60. AmsSaleOrderCarrierServiceImpl amsSaleOrderCarrierService;
  61. @Autowired
  62. EASTestUtil easTestUtil;
  63. @Autowired
  64. EASUtil easUtil;
  65. @Autowired
  66. JoinFeign joinFeign;
  67. @Autowired
  68. EASDeleteUtil easDeleteUtil;
  69. @Autowired
  70. EASCapacityTestUtil easCapacityTestUtil;
  71. @Autowired
  72. private AmsSaleOrderMapper amsSaleOrderMapper;
  73. private final SimpleDateFormat sdfDateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  74. private List< List<Map<String,Object>> > retryQueen=new ArrayList<>();
  75. @ApiOperation(value="查询未上报销售订单信息")
  76. @ApiImplicitParams({
  77. @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger")
  78. })
  79. @PostMapping("/getSaleOrderInfo")
  80. public RESTfulResult getSaleOrderInfo(@RequestBody(required=false) Map<String,Object> mapValue,
  81. Integer apiId,
  82. Integer pageNum,
  83. Integer pageSize){
  84. PageHelper.startPage(pageNum,pageSize);
  85. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfo(mapValue);
  86. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
  87. return success(pageList);
  88. }
  89. @ApiOperation(value="查询已上报销售订单信息")
  90. @ApiImplicitParams({
  91. @ApiImplicitParam(name = "apiId(98)", value = "表头", required = false, dataType = "Interger")
  92. })
  93. @PostMapping("/getSaleOrderReported")
  94. public RESTfulResult getSaleOrderReported(@RequestBody(required=false) Map<String,Object> mapValue,
  95. Integer apiId,
  96. Integer pageNum,
  97. Integer pageSize){
  98. PageHelper.startPage(pageNum,pageSize);
  99. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReported(mapValue);
  100. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
  101. return success(pageList);
  102. }
  103. @ApiOperation(value="查询财务已审批销售订单信息")
  104. @ApiImplicitParams({
  105. @ApiImplicitParam(name = "apiId(105)", value = "表头", required = false, dataType = "Interger")
  106. })
  107. @PostMapping("/getAmsSaleOrderApproved")
  108. public RESTfulResult getAmsSaleOrderApproved(@RequestBody(required=false) Map<String,Object> mapValue,
  109. Integer apiId,
  110. Integer pageNum,
  111. Integer pageSize){
  112. PageHelper.startPage(pageNum,pageSize);
  113. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApproved(mapValue);
  114. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
  115. return success(pageList);
  116. }
  117. @ApiOperation(value="根据销售订单号查询销售订单详细信息")
  118. @ApiImplicitParams({
  119. @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger")
  120. })
  121. @PostMapping("/getSaleOrderDetail")
  122. public RESTfulResult getSaleOrderDetail(BigDecimal saleOrderId,@RequestBody(required=false) Map<String,Object> mapValue,
  123. Integer apiId,
  124. Integer pageNum,
  125. Integer pageSize){
  126. if (mapValue == null) {
  127. mapValue = new HashMap<>();
  128. }
  129. mapValue.put("saleOrderId",saleOrderId);
  130. PageHelper.startPage(pageNum,pageSize);
  131. List<Map<String, Object>> amsSaleOrderDetail1 = amsSaleOrderService.getSaleOrderDetail(mapValue);
  132. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrderDetail1);
  133. return success(pageList);
  134. }
  135. /**
  136. * 上传销售订单
  137. * @param saleOrderId
  138. * @return
  139. */
  140. @ApiOperation(value="上传销售订单")
  141. @ApiImplicitParams({
  142. @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal")
  143. })
  144. @PostMapping(value = "/uploadSaleOrder")
  145. public RESTfulResult uploadSaleOrder(@RequestParam BigDecimal saleOrderId) throws Exception {
  146. int i = amsSaleOrderService.uploadSaleOrder(saleOrderId);
  147. return success(i);
  148. }
  149. /**
  150. * 新增销售订单
  151. * @param map
  152. * @return
  153. */
  154. @ApiOperation(value="新增销售订单")
  155. @ApiImplicitParams({
  156. @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
  157. })
  158. @PostMapping(value = "/addAmsSaleOrder")
  159. public RESTfulResult addAmsSaleOrder(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
  160. int i = amsSaleOrderService.addAmsSaleOrder(map);
  161. return success(i);
  162. }
  163. /**
  164. * 通过主键渲染销售订单信息
  165. * @param saleOrderId
  166. * @return
  167. */
  168. @ApiOperation(value="通过主键渲染销售订单信息")
  169. @ApiImplicitParams({
  170. @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  171. })
  172. @PostMapping(value = "/getAmsSaleOrderBySaleOrderId")
  173. public RESTfulResult getAmsSaleOrderBySaleOrderId(@RequestParam BigDecimal saleOrderId){
  174. Map<String, Object> maps = amsSaleOrderService.selectInfoBySaleOrderId(saleOrderId);
  175. List<Map<String, Object>> maps1= amsSaleOrderService.selectMaterialInfoBySaleOrderId(saleOrderId);
  176. Map map=new HashMap();
  177. map.put("maps",maps);
  178. map.put("maps1",maps1);
  179. return success(map);
  180. }
  181. /**steelMaterialId
  182. * 通过主键修改销售订单
  183. * @param map
  184. * @return
  185. */
  186. @ApiOperation(value="通过主键修改销售订单")
  187. @ApiImplicitParams({
  188. @ApiImplicitParam(name = "amsSaleOrder", value = "销售订单对象", required = false, dataType = "AmsSaleOrder")
  189. })
  190. @PostMapping(value = "/updateAmsSaleOrder")
  191. public RESTfulResult updateAmsSaleOrder(@RequestBody(required = false) Map<String,Object> map) throws ParseException {
  192. int i = amsSaleOrderService.updateAmsSaleOrder(map);
  193. return success(i);
  194. }
  195. /**
  196. * 通过主键删除销售订单
  197. * @param saleOrderIds
  198. * @return
  199. */
  200. @ApiOperation(value="通过主键删除销售订单")
  201. @ApiImplicitParams({
  202. @ApiImplicitParam(name = "saleOrderId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  203. })
  204. @PostMapping(value = "/deleteAmsSaleOrderBySaleOrderId")
  205. public RESTfulResult deleteAmsSaleOrderBySaleOrderId(@RequestBody(required = false)List<Map<String,Object>> saleOrderIds) throws Exception {
  206. if(saleOrderIds==null || saleOrderIds.size()<=0){
  207. return failed("没有选中数据");
  208. }
  209. int i = 0;
  210. for(Map<String,Object> temp:saleOrderIds){
  211. i += amsSaleOrderService.deleteAmsSaleOrderBySaleOrderId(DataChange.dataToBigDecimal(temp.get("saleOrderId")));
  212. }
  213. return success(i);
  214. }
  215. @ApiOperation(value="根据销售订单号查询销售订单修改日志")
  216. @ApiImplicitParams({
  217. @ApiImplicitParam(name = "apiId(100)", value = "表头", required = false, dataType = "Interger")
  218. })
  219. @PostMapping("/getSaleOrderUpdateLog")
  220. public RESTfulResult getSaleOrderUpdateLog(BigDecimal saleOrderId,@RequestBody(required=false) Map<String,Object> mapValue,
  221. Integer apiId,
  222. Integer pageNum,
  223. Integer pageSize){
  224. if (mapValue == null) {
  225. mapValue = new HashMap<>();
  226. }
  227. mapValue.put("saleOrderId",saleOrderId);
  228. PageHelper.startPage(pageNum,pageSize);
  229. List<Map<String, Object>> amsSaleOrderUpdate1 = amsSaleOrderService.getSaleOrderUpdateLog(mapValue);
  230. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrderUpdate1);
  231. return success(pageList);
  232. }
  233. /**
  234. * 获取销售计划名称
  235. * @param
  236. * @return
  237. */
  238. @ApiOperation(value="获取销售计划名称")
  239. @ApiImplicitParams({
  240. })
  241. @GetMapping(value = "/getSalePlanName")
  242. public RESTfulResult getSalePlanName(){
  243. return success(amsSaleOrderService.getSalePlanName());
  244. }
  245. /**
  246. * 获取发货单位
  247. * @param
  248. * @return
  249. */
  250. @ApiOperation(value="获取发货单位")
  251. @ApiImplicitParams({
  252. })
  253. @GetMapping(value = "/getShipperName")
  254. public RESTfulResult getShipperName(){
  255. return success(amsSaleOrderService.getShipperName());
  256. }
  257. /**
  258. * 获取收货单位
  259. * @param
  260. * @return
  261. */
  262. @ApiOperation(value="获取收货单位")
  263. @ApiImplicitParams({
  264. })
  265. @GetMapping(value = "/getConsigneeCompanyName")
  266. public RESTfulResult getConsigneeCompanyName(){
  267. return success(amsSaleOrderService.getConsigneeCompanyName());
  268. }
  269. /**
  270. * 展示销售公司已审核销售订单的车序号列表
  271. * @param mapValue
  272. * @param pageNum
  273. * @param pageSize
  274. * @param apiId
  275. * @return
  276. */
  277. @ApiModelProperty(value = "展示销售公司已审核销售订单的车序号列表")
  278. @ApiImplicitParams({
  279. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  280. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  281. @ApiImplicitParam(name = "apiId", value = "181", required = false, dataType = "BigDecimal")
  282. })
  283. @PostMapping("/getSaleOrderList")
  284. public RESTfulResult getSaleOrderList(@RequestBody(required = false) Map<String,Object> mapValue,
  285. Integer pageNum,
  286. Integer pageSize,
  287. Integer apiId,
  288. Integer status,
  289. String con) {
  290. if (status!=null){
  291. mapValue.put("status",status);
  292. }
  293. PageHelper.startPage(pageNum,pageSize);
  294. //分页数据
  295. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderList(mapValue);
  296. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  297. return success(pageList);
  298. }
  299. /**
  300. * 销售公司查询已审核的订单
  301. *
  302. */
  303. @ApiModelProperty(value = "展示销售公司已审核销售订单的车序号列表")
  304. @ApiImplicitParams({
  305. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  306. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  307. @ApiImplicitParam(name = "apiId", value = "181", required = false, dataType = "BigDecimal")
  308. })
  309. @PostMapping("/getSaleOrderListBySaleCompany")
  310. public RESTfulResult getSaleOrderListBySaleCompany(@RequestBody(required = false) Map<String,Object> mapValue,
  311. Integer pageNum,
  312. Integer pageSize,
  313. Integer apiId) {
  314. PageHelper.startPage(pageNum,pageSize);
  315. //分页数据
  316. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompany(mapValue);
  317. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  318. return success(pageList);
  319. }
  320. /**
  321. * 固定派单:通过车序号查询收货地址,截取收货地址的区域,去资源管理中查询对应的承运商,将车序号与承运商绑定
  322. */
  323. @PostMapping("/addAmsDispatchSaleOrder")
  324. public RESTfulResult addAmsDispatchSaleOrder(@RequestBody(required = false) List<Map<String,Object>> mapValue){
  325. // if(mapValue==null){
  326. // return failed();
  327. // }
  328. // for (Map<String,Object> m:mapValue
  329. // ) {
  330. // Integer id = Integer.parseInt(m.get("saleOrderMaterialId").toString()) ;
  331. // System.out.println(id);
  332. // //通过主键Id获取地址id
  333. // Integer a=amsSaleOrderMaterialService.selectById(new BigDecimal(id));
  334. // //通过地址id查询省市县
  335. // Map<String,Object> province = amsSaleOrderService.getCarrier(a);
  336. // //根据省市县查询承运商
  337. // List<Map<String,Object>> carrierList=amsSaleOrderService.selectCarrierIdByprovince(province);
  338. // //判断是否只有一个承运商
  339. // //如果收货地区为成都重庆,则有多个一个地区对应多个承运商
  340. // if(carrierList.size()==1) {
  341. // //新增固定派单
  342. // AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder();
  343. // ad.setDispatchId(DataChange.dataToBigDecimal(m.get("dispatchId")));
  344. // ad.setSaleOrderMaterialId(new BigDecimal(id));
  345. // ad.setCarrierId(carrierList.get(0));
  346. // ad.setDispatchDealTime(new Date());
  347. // ad.setDispatchTime(new Date());
  348. // //成交类型(0:定向派单;1:公开抢单)
  349. // ad.setDispatchType(new BigDecimal(0));
  350. // //销售订单车序号状态(0:已下发;1:未下发)
  351. // ad.setDispatchStatus(new BigDecimal(0));
  352. // int i = amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(ad);
  353. // return success(i);
  354. // }
  355. // }
  356. int result = amsSaleOrderService.addAmsDispatchSaleOrder(mapValue);
  357. return success(result);
  358. }
  359. /**
  360. * 公开派单:查询未分派车辆的销售订单的车序号
  361. */
  362. @ApiModelProperty(value = "展示车序号列表")
  363. @ApiImplicitParams({
  364. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  365. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  366. @ApiImplicitParam(name = "apiId", value = "182", required = false, dataType = "BigDecimal")
  367. })
  368. @PostMapping("/getAmsSaleOrderMaterial")
  369. public RESTfulResult getAmsSaleOrderMaterial(@RequestBody(required = false) Map<String,Object> mapValue,
  370. Integer pageNum,
  371. Integer pageSize,
  372. Integer apiId,
  373. Integer status) {
  374. mapValue.put("status",status);
  375. PageHelper.startPage(pageNum, pageSize);
  376. //分页查询数据
  377. List<Map<String, Object>> columnList = amsSaleOrderMaterialService.getSaleMaterial(mapValue);
  378. PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
  379. return success(data);
  380. }
  381. /**
  382. * 公开派单:新增公开派单
  383. */
  384. @PostMapping("/addOpenAmsDispatchSaleOrder/{orderMaterialId}")
  385. public RESTfulResult addOpenAmsDispatchSaleOrder(@PathVariable("orderMaterialId") BigDecimal orderMaterialId){
  386. if(orderMaterialId==null){
  387. return failed();
  388. }
  389. //新增公开派单
  390. AmsDispatchSaleOrder ad = new AmsDispatchSaleOrder();
  391. Integer id = amsDispatchSaleOrderMapper.selectDispatchIdBySaleOrderMaterialId(orderMaterialId.intValue());
  392. ad.setDispatchId(DataChange.dataToBigDecimal(id));
  393. ad.setSaleOrderMaterialId(orderMaterialId);
  394. //成交类型(0:定向派单;1:公开抢单)
  395. ad.setDispatchType(new BigDecimal(1));
  396. //销售订单车序号状态(0:已下发;1:未下发)
  397. ad.setDispatchStatus(new BigDecimal(1));
  398. //更新公开派单状态
  399. amsDispatchSaleOrderMapper.updateByPrimaryKeySelective(ad);
  400. return success("更新成功");
  401. }
  402. /**
  403. * 删除公开派单
  404. */
  405. @PostMapping("/deleteAmsDispatchSaleOrder/{dispatchId}")
  406. public RESTfulResult deleteAmsDispatchSaleOrder(@PathVariable("dispatchId") BigDecimal dispatchId) {
  407. amsDispatchSaleOrderService.delete(dispatchId);
  408. return success("删除成功");
  409. }
  410. /**
  411. * 公开派单:查询公开派单
  412. */
  413. @ApiModelProperty(value = "展示公开派单")
  414. @ApiImplicitParams({
  415. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  416. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  417. @ApiImplicitParam(name = "apiId", value = "181", required = false, dataType = "BigDecimal")
  418. })
  419. @PostMapping("/getOpenDispatchSaleOrder")
  420. public RESTfulResult getOpenDispatchSaleOrder(@RequestBody(required = false) Map<String,Object> mapValue,
  421. Integer pageNum,
  422. Integer pageSize,
  423. Integer apiId) {
  424. PageHelper.startPage(pageNum, pageSize);
  425. //分页查询数据
  426. List<Map<String, Object>> columnList = amsDispatchSaleOrderService.getOpenDispatchSaleOrder(mapValue);
  427. PageListAdd data = columnDataUtil.tableColumnData(apiId, null, columnList);
  428. return success(data);
  429. }
  430. /**
  431. *公开派单:修改公开派单
  432. */
  433. @PostMapping("/updateOpenDispatchSaleOrder")
  434. public RESTfulResult updateOpenDispatchSaleOrder(@RequestBody AmsDispatchSaleOrder amsDispatchSaleOrder) {
  435. if(amsDispatchSaleOrder.getCarrierId()!=null){
  436. amsDispatchSaleOrder.setDispatchStatus(new BigDecimal(1));
  437. }
  438. amsDispatchSaleOrder.setDispatchDealTime(new Date());
  439. amsDispatchSaleOrder.setUpdateTime(new Date());
  440. amsDispatchSaleOrder.setUpdateUsername("admin");
  441. amsDispatchSaleOrderService.modify(amsDispatchSaleOrder);
  442. return success("修改成功");
  443. }
  444. @ApiOperation(value="查询未上报的销售订单信息")
  445. @ApiImplicitParams({
  446. @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
  447. })
  448. @PostMapping("/getSaleOrderInfoes")
  449. public RESTfulResult getSaleOrderInfoes(@RequestBody(required=false) Map<String,Object> mapValue,
  450. Integer apiId,
  451. Integer pageNum,
  452. Integer pageSize,
  453. String consigneeSsoId,
  454. String con,
  455. String startTime,
  456. String endTime,
  457. String saler
  458. ){
  459. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  460. mapValue.put("consigneeSsoId",consigneeSsoId);
  461. }
  462. if (con != null && !"".equals(con) && !"null".equals(con)) {
  463. mapValue.put("con",con);
  464. }
  465. if (saler != null && !"".equals(saler) && !"null".equals(saler)){
  466. mapValue.put("saler","%" + saler + "%");
  467. }
  468. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  469. PageHelper.startPage(pageNum,pageSize);
  470. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderInfoes(mapValue);
  471. //调整列宽
  472. List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
  473. int i=0;
  474. for (Map<String, Object> columnData : columnDataList) {
  475. //每个表头字段的过滤条件
  476. if (i==0){
  477. columnData.put("min-width","155px");
  478. }else if (i==1){
  479. columnData.put("min-width","127px");
  480. }else if (i==2){
  481. columnData.put("min-width","88px");
  482. }else if (i==3){
  483. columnData.put("min-width","98px");
  484. }
  485. if (DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() != 0) {
  486. columnData.put("filters", setListMap(amsSaleOrder1, columnData.get("prop").toString()));
  487. }
  488. i++;
  489. }
  490. PageListAdd pageList = new PageListAdd(amsSaleOrder1);
  491. pageList.setColumnData(columnDataList);
  492. //PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null,amsSaleOrder1);
  493. return success(pageList);
  494. }
  495. //列宽调整条件
  496. private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
  497. Set<Map<String, Object>> setString = new HashSet<>();
  498. for (Map<String, Object> map : list) {//遍历每条数据
  499. Map<String, Object> map1 = new HashMap<>();
  500. //map.get(name)获取每条数据中对应表头字段的数据
  501. map1.put("text", map.get(name));
  502. if (map.get(name) != null) {
  503. map1.put("value", map.get(name));
  504. setString.add(map1);
  505. }
  506. }
  507. return setString;
  508. }
  509. @ApiOperation(value="查询已上报销售订单信息")
  510. @ApiImplicitParams({
  511. @ApiImplicitParam(name = "apiId(408)", value = "表头", required = false, dataType = "Interger")
  512. })
  513. @PostMapping("/getSaleOrderReportedes")
  514. public RESTfulResult getSaleOrderReportedes(@RequestBody(required=false) Map<String,Object> mapValue,
  515. Integer apiId,
  516. Integer pageNum,
  517. Integer pageSize,
  518. String consigneeSsoId,
  519. String con,
  520. String startTime,
  521. String endTime,
  522. String saler){
  523. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  524. mapValue.put("consigneeSsoId",consigneeSsoId);
  525. }
  526. if (con != null && !"".equals(con) && !"null".equals(con)) {
  527. mapValue.put("con",con);
  528. }
  529. if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
  530. mapValue.put("saler","%" + saler + "%");
  531. }
  532. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  533. PageHelper.startPage(pageNum,pageSize);
  534. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getSaleOrderReportedes(mapValue);
  535. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
  536. return success(pageList);
  537. }
  538. @ApiModelProperty(value = "展示已审核销售订单列表")
  539. @ApiImplicitParams({
  540. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  541. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  542. @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal")
  543. })
  544. @PostMapping("/getSaleOrderListBySaleCompanyes")
  545. public RESTfulResult getSaleOrderListBySaleCompanyes(@RequestBody(required = false) Map<String,Object> mapValue,
  546. Integer pageNum,
  547. Integer pageSize,
  548. Integer apiId,
  549. String con,
  550. Integer shipperId,
  551. @RequestParam(required = false) Integer saleType,
  552. String consigneeSsoId,
  553. @RequestParam(required = false) String startTime,
  554. @RequestParam(required = false)String endTime,
  555. String saler
  556. ) {
  557. if (con != null && !"".equals(con) && !"null".equals(con)) {
  558. mapValue.put("con", "%" + con + "%");
  559. }
  560. if(shipperId != null && !"".equals(shipperId) && !"null".equals(shipperId)){
  561. mapValue.put("shipperId", shipperId);
  562. }
  563. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  564. mapValue.put("consigneeSsoId",consigneeSsoId);
  565. }
  566. if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
  567. mapValue.put("saler","%" + saler + "%");
  568. }
  569. mapValue.put("saleType",saleType);
  570. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  571. //不分页筛选数据
  572. PageHelper.startPage(pageNum,pageSize);
  573. //分页数据
  574. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListBySaleCompanyes(mapValue);
  575. //调整列宽
  576. List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
  577. int i=0;
  578. for (Map<String, Object> columnData : columnDataList) {
  579. //每个表头字段的过滤条件
  580. if (i==0){
  581. columnData.put("min-width","155px");
  582. }else if (i==1){
  583. columnData.put("min-width","127px");
  584. }else if (i==2){
  585. columnData.put("min-width","88px");
  586. }else if (i==3){
  587. columnData.put("min-width","96px");
  588. }
  589. if (DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() != 0) {
  590. columnData.put("filters", setListMap(saleOrderList,columnData.get("prop").toString()));
  591. }
  592. i++;
  593. }
  594. PageListAdd pageList = new PageListAdd(saleOrderList);
  595. pageList.setColumnData(columnDataList);
  596. //PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null,saleOrderList);
  597. return success(pageList);
  598. }
  599. @ApiOperation(value="查询财务已审批销售订单信息")
  600. @ApiImplicitParams({
  601. @ApiImplicitParam(name = "apiId(409)", value = "表头", required = false, dataType = "Interger")
  602. })
  603. @PostMapping("/getAmsSaleOrderApprovedes")
  604. public RESTfulResult getAmsSaleOrderApprovedes(@RequestBody(required=false) Map<String,Object> mapValue,
  605. Integer apiId,
  606. Integer pageNum,
  607. Integer pageSize,
  608. @RequestParam String con){
  609. if (con != null && !"undefined".equals(con)) {
  610. mapValue.put("con", con);
  611. }
  612. PageHelper.startPage(pageNum,pageSize);
  613. List<Map<String, Object>> amsSaleOrder1 = amsSaleOrderService.getAmsSaleOrderApprovedes(mapValue);
  614. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsSaleOrder1);
  615. return success(pageList);
  616. }
  617. /*
  618. * 根据销售订单主键展示销售基本信息、物资信息
  619. * apiId:410
  620. * */
  621. @PostMapping(value="/getSaleOrderAndMaterialById")
  622. public RESTfulResult getSaleOrderAndMaterialById(@RequestBody(required=false) Map<String,Object> mapValue,
  623. Integer apiId,
  624. Integer pageNum,
  625. Integer pageSize,
  626. BigDecimal saleOrderId){
  627. if (mapValue == null) {
  628. mapValue = new HashMap<>();
  629. }
  630. mapValue.put("saleOrderId",saleOrderId);
  631. PageHelper.startPage(pageNum,pageSize);
  632. List<Map<String, Object>> columndata = amsSaleOrderService.getSaleOrderAndMaterialById(mapValue);
  633. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,columndata);
  634. return success(pageList);
  635. }
  636. @ApiModelProperty(value = "展示销售焦炭订单列表")
  637. @ApiImplicitParams({
  638. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  639. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  640. @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal")
  641. })
  642. @PostMapping("/getCokeSaleOrderList")
  643. public RESTfulResult getCokeSaleOrderList(@RequestBody(required = false) Map<String,Object> mapValue,
  644. Integer pageNum,
  645. Integer pageSize,
  646. Integer apiId,
  647. String con) {
  648. if (con != null && !con.equals("undefined")) {
  649. mapValue.put("con","%" + con + "%");
  650. }
  651. //不分页筛选数据
  652. PageHelper.startPage(pageNum,pageSize);
  653. //分页数据
  654. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getCokeSaleOrderList(mapValue);
  655. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  656. return success(pageList);
  657. }
  658. @ApiModelProperty(value = "销售订单批量授权给承运商")
  659. @PostMapping("/saleOrderEmpowerCarrier")
  660. public RESTfulResult saleOrderEmpowerCarrier(@RequestBody(required = false) Map<String,Object> mapValue) {
  661. //获得订单ID集合 saleOrderIds
  662. List<Map<String,Integer>> saleOrderIds= (List<Map<String, Integer>>) mapValue.get("saleOrderIds");
  663. //获得承运商 carrierId
  664. BigDecimal carrierId= new BigDecimal(mapValue.get("carrierId").toString());
  665. //销售订单授权承运商中间表
  666. int i= amsSaleOrderCarrierService.addAmsSaleOrderCarrier(carrierId,saleOrderIds);
  667. return success(i);
  668. }
  669. @ApiModelProperty(value = "展示销售公司下发给承运商的销售订单列表")
  670. @ApiImplicitParams({
  671. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  672. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  673. @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal")
  674. })
  675. @PostMapping("/getSaleOrderListByCarrierSsoId")
  676. public RESTfulResult getSaleOrderListByCarrierSsoId(@RequestBody(required = false) Map<String,Object> mapValue,
  677. String carrierSsoId,
  678. Integer pageNum,
  679. Integer pageSize,
  680. Integer apiId,
  681. String con) {
  682. if (con != null && !"".equals(con) && !"null".equals(con)) {
  683. mapValue.put("con", con);
  684. }
  685. if (carrierSsoId!=null){
  686. mapValue.put("carrierSsoId",carrierSsoId);
  687. }
  688. //不分页筛选数据
  689. PageHelper.startPage(pageNum,pageSize);
  690. //分页数据
  691. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListByCarrierSsoId(mapValue);
  692. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  693. return success(pageList);
  694. }
  695. @ApiModelProperty(value = "新增钢材销售订单")
  696. @PostMapping("/addSteelSaleOrder")
  697. public RESTfulResult addSteelSaleOrder(@RequestBody Map<String,Object> mapValue){
  698. System.out.println(mapValue);
  699. try {
  700. // 成功
  701. int result = amsSaleOrderService.addSteelSaleOrder(mapValue);
  702. return success(result);
  703. } catch (Exception e) {
  704. // 失败
  705. return failed(e.getMessage());
  706. }
  707. }
  708. @ApiModelProperty(value = "展示销售订单下的车序号和物资")
  709. @PostMapping("/getTruckNoAndMaterialList")
  710. public RESTfulResult getTruckNoAndMaterialList(@RequestParam Integer saleOrderId) {
  711. List<Map<String,Object>> mapList = amsSaleOrderService.getTruckNoAndMaterialList(new BigDecimal(saleOrderId));
  712. return success(mapList);
  713. }
  714. @ApiModelProperty(value = "钢材派单")
  715. @PostMapping("/dispatchSteelOrder")
  716. public RESTfulResult dispatchSteelOrder(@RequestBody List<Map<String,Object>> mapList) throws Exception {
  717. int result;
  718. try {
  719. result = amsSaleOrderService.dispatchSteelOrder(mapList);
  720. } catch (Exception e) {
  721. e.printStackTrace();
  722. return failed(e.getMessage());
  723. }
  724. if (result == 0) {
  725. return failed("匹配不到车牌号!");
  726. }
  727. else {
  728. // 调用EAS接口将车牌号传给金蝶
  729. Map<String,Object> input = joinFeign.findCarNumberByOrderList(mapList);
  730. Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
  731. totalMap.put("input",input);
  732. System.out.println(totalMap);
  733. String json = JSONUtils.toJSONString(totalMap);
  734. System.out.println(json);
  735. Map<String,Object> s = joinFeign.pushCarNumberToEas(totalMap);
  736. if (s == null || s.size() == 0) {
  737. try{
  738. //失败,存入重试队列,准备重试
  739. retryQueen.add(mapList);
  740. }catch (Exception e){
  741. System.out.println("保存失败车牌失败");
  742. }
  743. throw new Exception("登录金蝶失败");
  744. }
  745. System.out.println(s);
  746. return success(result);
  747. }
  748. }
  749. @ApiModelProperty(value = "钢材继续装派单")
  750. @PostMapping("/continueSteelOrder")
  751. public RESTfulResult continueSteelOrder(@RequestBody List<Map<String,Object>> mapList) throws Exception {
  752. int result;
  753. try {
  754. result = amsSaleOrderService.continueSteelOrder(mapList);
  755. } catch (Exception e) {
  756. e.printStackTrace();
  757. return failed(e.getMessage());
  758. }
  759. // 调用EAS接口将车牌号传给金蝶
  760. Map<String,Object> input = joinFeign.findCarNumberByOrderList(mapList);
  761. Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
  762. totalMap.put("input",input);
  763. System.out.println(totalMap);
  764. String json = JSONUtils.toJSONString(totalMap);
  765. System.out.println(json);
  766. Map<String,Object> s = joinFeign.pushCarNumberToEas(totalMap);
  767. if (s == null || s.size() == 0) {
  768. try{
  769. //失败,存入重试队列,准备重试
  770. retryQueen.add(mapList);
  771. }catch (Exception e){
  772. System.out.println("保存失败车牌失败");
  773. }
  774. throw new Exception("登录金蝶失败");
  775. }
  776. System.out.println(s);
  777. return success(result);
  778. }
  779. @ApiModelProperty(value = "根据详细地址匹配承运商")
  780. @GetMapping("/getCarrierByPlace")
  781. public RESTfulResult getCarrierByPlace(@RequestParam Integer placeId) {
  782. List<Map<String,Object>> result = amsSaleOrderService.getCarrierByPlace(new BigDecimal(placeId));
  783. return success(result);
  784. }
  785. @ApiModelProperty(value = "根据详细地址和承运商匹配单价")
  786. @PostMapping("/getPriceByCarrierAndPlace")
  787. public RESTfulResult getPriceByCarrierAndPlace(@RequestBody Map<String,Object> mapValue) {
  788. Map<String,Object> result = amsSaleOrderService.getPriceByCarrierAndPlace(mapValue);
  789. return success(result);
  790. }
  791. @ApiModelProperty(value = "将车序号下发给承运商")
  792. @PostMapping("/dispatchToCarrier")
  793. public RESTfulResult dispatchToCarrier(@RequestBody(required = false) List<Map<String,Object>> mapList) {
  794. int result = amsSaleOrderService.dispatchToCarrier(mapList);
  795. return success(result);
  796. }
  797. @ApiModelProperty(value = "销售钢材承运商查询销售订单")
  798. @ApiImplicitParams({
  799. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  800. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  801. @ApiImplicitParam(name = "apiId", value = "409", required = false, dataType = "BigDecimal")
  802. })
  803. @PostMapping("/getSaleOrderListToCarrier")
  804. public RESTfulResult getSaleOrderListToCarrier(@RequestBody(required = false) Map<String, Object> mapValue,
  805. Integer pageNum,
  806. Integer pageSize,
  807. Integer apiId,
  808. String carrierSsoId,
  809. String con,
  810. @RequestParam(required = false) String startTime,
  811. @RequestParam(required = false) String endTime) {
  812. if (con != null && !"".equals(con) && !"null".equals(con)) {
  813. mapValue.put("con", "%" + con + "%");
  814. }
  815. if ((carrierSsoId != null && !"".equals(carrierSsoId)) && !"undefined".equals(carrierSsoId) && !"null".equals(carrierSsoId)) {
  816. mapValue.put("carrierSsoId", carrierSsoId);
  817. }
  818. DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
  819. //不分页筛选数据
  820. PageHelper.startPage(pageNum, pageSize);
  821. //分页数据
  822. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleOrderListToCarrier(mapValue);
  823. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, saleOrderList);
  824. return success(pageList);
  825. }
  826. /**
  827. * 展示未匹配承运商的车序号
  828. *
  829. * @param mapValue
  830. * @return
  831. */
  832. @ApiOperation(value = "展示未匹配承运商的车序号")
  833. @ApiImplicitParams({
  834. @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
  835. @ApiImplicitParam(name = "apiId", value = "411", required = false, dataType = "java.util.Map")
  836. })
  837. @PostMapping(value = "/getSteelTruckNoList")
  838. public RESTfulResult getSteelTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
  839. Integer apiId,
  840. Integer pageNum,
  841. Integer pageSize,
  842. String con,
  843. @RequestParam(required = false) String startTime,
  844. @RequestParam(required = false)String endTime) {
  845. if (con != null && !con.equals("undefined") && !con.equals("null")) {
  846. mapValue.put("con", "%" + con + "%");
  847. }
  848. DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
  849. PageHelper.startPage(pageNum, pageSize);
  850. //分页数据
  851. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSteelTruckNoList(mapValue);
  852. PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
  853. return success(pageList);
  854. }
  855. @ApiModelProperty(value = "展示销售订单下的车序号和物资")
  856. @PostMapping("/getTruckNoMaterial")
  857. public RESTfulResult getTruckNoMaterial(@RequestParam Integer saleOrderMaterialId) {
  858. List<Map<String,Object>> mapList = amsSaleOrderService.getTruckNoMaterial(new BigDecimal(saleOrderMaterialId));
  859. return success(mapList);
  860. }
  861. /**
  862. * 展示已分配承运商但未派车的车序号
  863. *
  864. * @param mapValue
  865. * @return
  866. */
  867. @ApiOperation(value = "展示已分配承运商但未派车的车序号")
  868. @ApiImplicitParams({
  869. @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
  870. @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map")
  871. })
  872. @PostMapping(value = "/getNoCarTruckNoList")
  873. public RESTfulResult getNoCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
  874. Integer apiId,
  875. Integer pageNum,
  876. Integer pageSize,
  877. String con,
  878. @RequestParam(required = false) String startTime,
  879. @RequestParam(required = false)String endTime) {
  880. if (con != null && !con.equals("undefined") && !con.equals("null")) {
  881. mapValue.put("con", "%" + con + "%");
  882. }
  883. DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);//根据时间段查询数据
  884. PageHelper.startPage(pageNum, pageSize);
  885. //分页数据
  886. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getNoCarTruckNoList(mapValue);
  887. PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
  888. return success(pageList);
  889. }
  890. /**
  891. * 展示已派车的车序号
  892. *
  893. * @param mapValue
  894. * @return
  895. */
  896. @ApiOperation(value = "展示已派车的车序号")
  897. @ApiImplicitParams({
  898. @ApiImplicitParam(name = "map", value = "销售订单物资信息map", required = false, dataType = "java.util.Map"),
  899. @ApiImplicitParam(name = "apiId", value = "466", required = false, dataType = "java.util.Map")
  900. })
  901. @PostMapping(value = "/getHaveCarTruckNoList")
  902. public RESTfulResult getHaveCarTruckNoList(@RequestBody(required = false) Map<String, Object> mapValue,
  903. Integer apiId,
  904. Integer pageNum,
  905. Integer pageSize,
  906. String con,
  907. String startTime,
  908. String endTime) {
  909. if (con != null && !con.equals("undefined") && !con.equals("null")) {
  910. mapValue.put("con", "%" + con + "%");
  911. }
  912. DataChange.queryDataByDateTime(startTime, endTime, mapValue,sdfDateTime);
  913. //根据时间段查询数据
  914. if(pageNum ==null && pageSize==null){
  915. }else {
  916. PageHelper.startPage(pageNum, pageSize);
  917. }
  918. //分页数据
  919. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getHaveCarTruckNoList(mapValue);
  920. PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
  921. return success(pageList);
  922. }
  923. @ApiModelProperty(value = "删除上一条销售订单")
  924. @PostMapping("/deleteSaleOrderById")
  925. public RESTfulResult deleteSaleOrderById(@RequestParam Integer saleOrderId) {
  926. int result = amsSaleOrderService.deleteSaleOrderById(new BigDecimal(saleOrderId));
  927. return success(result);
  928. }
  929. @ApiModelProperty(value = "检查规格型号的格式对不对")
  930. @PostMapping("/queryFormat")
  931. public RESTfulResult queryFormat(@RequestBody List<Map<String,Object>> mapList){
  932. for (Map<String, Object> map : mapList) {
  933. String specification = (String) map.get("Specification");
  934. Integer count = amsDispatchSaleOrderMapper.queryFormatCount(specification);
  935. if (count.compareTo(0)==0){
  936. return failed(count);
  937. }
  938. }
  939. return success();
  940. }
  941. @ApiModelProperty(value = "查询物资ID并赋值")
  942. @PostMapping(value = "/queryMaterial")
  943. RESTfulResult queryMaterial(@RequestBody List<Map<String,Object>> mapList){
  944. List<Map<String,Object>> mapList1=mapList;
  945. for (Map<String, Object> map : mapList1) {
  946. String specification = (String) map.get("Specification");
  947. String materialName = (String) map.get("materialName");
  948. BigDecimal materialid = amsDispatchSaleOrderMapper.queryMaterial(specification, materialName);
  949. if (materialid ==null){
  950. return failed();
  951. }
  952. map.remove("materialId");
  953. map.put("materialId",materialid);
  954. }
  955. return success(mapList1);
  956. }
  957. @ApiModelProperty(value = "查询出销售订单下的所有数据")
  958. @PostMapping("/getAllSaleMessages")
  959. public RESTfulResult getAllSaleMessages(@RequestParam Integer saleOrderId) {
  960. Map<String,Object> saleMap = amsSaleOrderService.getAllSaleMessages(new BigDecimal(saleOrderId));
  961. return success(saleMap);
  962. }
  963. @ApiModelProperty(value = "修改承运商授权")
  964. @PostMapping("/updateTruckNoCarrier")
  965. public RESTfulResult updateTruckNoCarrier(@RequestBody Map<String,Object> mapValue) {
  966. int result = amsSaleOrderService.updateTruckNoCarrier(mapValue);
  967. try {
  968. List<Map<String,Object>> mapList = new ArrayList<>();
  969. mapList.add(mapValue);
  970. Map<String, Object> input = joinFeign.findCarNumberByOrderList(mapList);
  971. Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
  972. totalMap.put("input", input);
  973. System.out.println(totalMap);
  974. String json = JSONUtils.toJSONString(totalMap);
  975. System.out.println(json);
  976. Map<String, Object> s = joinFeign.pushCarNumberToEas(totalMap);
  977. System.out.println("-------------------------------------");
  978. System.out.println(s);
  979. System.out.println("-------------------------------------");
  980. if (s == null || s.size() == 0) {
  981. //失败,存入重试队列,准备重试
  982. retryQueen.add(mapList);
  983. }
  984. return success(result);
  985. } catch (Exception e) {
  986. e.printStackTrace();
  987. }
  988. return success(result);
  989. }
  990. /**
  991. * 批量上传销售订单
  992. * @param saleOrderIdList
  993. * @return
  994. */
  995. @ApiOperation(value="批量上传销售订单")
  996. @ApiImplicitParams({
  997. @ApiImplicitParam(name = "saleOrderId", value = "销售订单ID", required = false, dataType = "java.math.BigDecimal")
  998. })
  999. @PostMapping(value = "/uploadSaleOrderList")
  1000. public RESTfulResult uploadSaleOrderList(@RequestBody List<Map<String,Object>> saleOrderIdList){
  1001. int i = amsSaleOrderService.uploadSaleOrderList(saleOrderIdList);
  1002. return success(i);
  1003. }
  1004. @ApiModelProperty(value = "新增钒渣销售订单(未被使用,实际是走水渣的路线)")
  1005. @PostMapping("/addVanadiumSaleOrder")
  1006. public RESTfulResult addVanadiumSaleOrder(@RequestBody Map<String,Object> mapValue) {
  1007. int result = amsSaleOrderService.addVanadiumSaleOrder(mapValue);
  1008. return success(result);
  1009. }
  1010. @ApiModelProperty(value = "自动匹配出最近的一个地址")
  1011. @PostMapping("/matchingAddressRecently")
  1012. public RESTfulResult matchingAddressRecently(@RequestParam BigDecimal receiveId) {
  1013. List<Map<String,Object>> mapList = amsSaleOrderService.matchingAddressRecently(receiveId);
  1014. return success(mapList);
  1015. }
  1016. @ApiModelProperty(value = "自动匹配上一条运单的司机电话")
  1017. @PostMapping("/matchingDriverTelRecently")
  1018. public RESTfulResult matchingDriverTelRecently(@RequestParam String capacityNumber) {
  1019. String driverTel = amsSaleOrderService.matchingDriverTelRecently(capacityNumber);
  1020. return success(driverTel);
  1021. }
  1022. /**
  1023. * 查询内转焦炭订单
  1024. *
  1025. * @param mapValue
  1026. * @return
  1027. */
  1028. @ApiOperation(value = "查询内转焦炭订单")
  1029. @ApiImplicitParams({
  1030. @ApiImplicitParam(name = "map", value = "查询内转焦炭订单", required = false, dataType = "java.util.Map"),
  1031. @ApiImplicitParam(name = "apiId", value = "168", required = false, dataType = "java.util.Map")
  1032. })
  1033. @PostMapping(value = "/getCokeInwardOrderList")
  1034. public RESTfulResult getCokeInwardOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
  1035. Integer apiId,
  1036. Integer pageNum,
  1037. Integer pageSize,
  1038. Integer orderStatus,
  1039. String con) {
  1040. if (con != null && !con.equals("undefined") && !con.equals("null")) {
  1041. mapValue.put("con", "%" + con + "%");
  1042. }
  1043. if (orderStatus != null) {
  1044. mapValue.put("orderStatus",orderStatus);
  1045. }
  1046. PageHelper.startPage(pageNum, pageSize);
  1047. //分页数据
  1048. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getCokeInwardOrderList(mapValue);
  1049. PageListAdd pageList = columnDataUtil.tableColumnData(apiId,null, saleOrderList);
  1050. return success(pageList);
  1051. }
  1052. /**
  1053. * 修改收货地址
  1054. *
  1055. * @param mapValue
  1056. * @return
  1057. */
  1058. @ApiOperation(value = "修改收货地址")
  1059. @ApiImplicitParams({
  1060. @ApiImplicitParam(name = "map", value = "修改收货地址", required = false, dataType = "java.util.Map")
  1061. })
  1062. @PostMapping(value = "/updateCarAddress")
  1063. @Transactional
  1064. public RESTfulResult updateCarAddress(@RequestBody Map<String, Object> mapValue) throws Exception {
  1065. int result = amsSaleOrderService.updateCarAddress(mapValue);
  1066. //查询单拼的数据
  1067. try {
  1068. BigDecimal orderId = DataChange.dataToBigDecimal(mapValue.get("orderId"));
  1069. BigDecimal capacityIdS=amsSaleOrderMapper.queueSingle(orderId);
  1070. if (capacityIdS !=null){
  1071. //删除单拼
  1072. amsSaleOrderMapper.delectQueueS(capacityIdS);
  1073. }
  1074. }catch (Exception e){
  1075. e.printStackTrace();
  1076. }
  1077. if (result == 0) {
  1078. // 如果返回结果为0,则认定是关闭了车辆
  1079. BigDecimal saleOrderMaterialId = DataChange.dataToBigDecimal(mapValue.get("saleOrderMaterialId"));
  1080. List<Map<String, Object>> saleMaterialIdList = amsSaleOrderService.getSaleMaterialId(saleOrderMaterialId);
  1081. String wholeOrder = "0";
  1082. String status = "close";
  1083. String reason = "收货地址修改超过片区范围";
  1084. // 循环调用关闭金蝶分录接口
  1085. for (Map<String, Object> head : saleMaterialIdList) {
  1086. head.put("wholeOrder", wholeOrder);
  1087. head.put("status", status);
  1088. head.put("reason", reason);
  1089. Map<String, Object> input = new HashMap<>();
  1090. input.put("head", head);
  1091. Map<String, Object> totalMap = easUtil.getTotalMap();
  1092. totalMap.put("input", input);
  1093. String json = JSONUtils.toJSONString(totalMap);
  1094. System.out.println("--------------------------------------------");
  1095. System.out.println(json);
  1096. System.out.println("--------------------------------------------");
  1097. Map<String, Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
  1098. System.out.println("--------------------------------------------");
  1099. System.out.println(resultMap);
  1100. //Map<String,Object> outMap = (Map<String,Object>) resultMap.get("output");
  1101. //JSONObject jsonObject = new JSONObject(outMap);
  1102. //System.out.println(jsonObject);
  1103. }
  1104. }
  1105. return success(result);
  1106. }
  1107. /**
  1108. * 修改销售订单中的物资
  1109. *
  1110. * @param mapValue
  1111. * @return
  1112. */
  1113. @ApiOperation(value = "修改销售订单中的物资")
  1114. @ApiImplicitParams({
  1115. @ApiImplicitParam(name = "map", value = "修改收货地址", required = false, dataType = "java.util.Map")
  1116. })
  1117. @PostMapping(value = "/updateAllMaterialInSale")
  1118. public RESTfulResult updateAllMaterialInSale(@RequestBody Map<String, Object> mapValue) {
  1119. //分页数据
  1120. int result = amsSaleOrderService.updateAllMaterialInSale(mapValue);
  1121. BigDecimal saleOrderId = DataChange.dataToBigDecimal(mapValue.get("saleOrderId"));
  1122. // 调用金蝶接口,将销售订单推送到金蝶系统
  1123. Map<String, Object> input = joinFeign.getSaleOrder(saleOrderId);
  1124. Map<String, Object> head = (Map<String, Object>) input.get("head");
  1125. head.put("status", "update");
  1126. // 获得金蝶接口配置:正式
  1127. // Map<String, Object> totalMap = easUtil.getTotalMap();
  1128. // 获得金蝶接口配置:测试
  1129. Map<String, Object> totalMap = easUtil.getTotalMap();
  1130. // 组装报文
  1131. totalMap.put("input", input);
  1132. System.out.println(totalMap);
  1133. String json = JSONUtils.toJSONString(totalMap);
  1134. System.out.println(json);
  1135. Map<String,Object> resultMap = joinFeign.pushSaleOrderToEas(totalMap);
  1136. System.out.println(resultMap);
  1137. return success(result);
  1138. }
  1139. @ApiModelProperty(value = "展示副产品销售订单列表")
  1140. @ApiImplicitParams({
  1141. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  1142. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  1143. @ApiImplicitParam(name = "apiId", value = "481", required = false, dataType = "BigDecimal")
  1144. })
  1145. @PostMapping("/getFuSaleOrderList")
  1146. public RESTfulResult getFuSaleOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
  1147. Integer pageNum,
  1148. Integer pageSize,
  1149. Integer apiId,
  1150. String con,
  1151. BigDecimal deleted,
  1152. @RequestParam(required = false) String startTime,
  1153. @RequestParam(required = false)String endTime
  1154. ) {
  1155. if (con != null && !"".equals(con) && !"null".equals(con)) {
  1156. mapValue.put("con", con);
  1157. }
  1158. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  1159. mapValue.put("deleted",deleted);
  1160. //不分页筛选数据
  1161. PageHelper.startPage(pageNum, pageSize);
  1162. //分页数据
  1163. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getFuSaleOrderList(mapValue);
  1164. PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, saleOrderList);
  1165. return success(pageList);
  1166. }
  1167. @ApiModelProperty(value = "同步关闭金蝶订单")
  1168. @PostMapping("/deleteSaleOrderSame")
  1169. public RESTfulResult deleteSaleOrderSame(@RequestBody Map<String,Object> mapValue) {
  1170. int result = amsSaleOrderService.deleteSaleOrderSame(mapValue);
  1171. return success(result);
  1172. }
  1173. @ApiModelProperty(value = "展示反审批的钢材订单")
  1174. @ApiImplicitParams({
  1175. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  1176. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  1177. @ApiImplicitParam(name = "apiId", value = "481", required = false, dataType = "BigDecimal")
  1178. })
  1179. @PostMapping("/getSteelOrderDeletedList")
  1180. public RESTfulResult getSteelOrderDeletedList(@RequestBody(required = false) Map<String, Object> mapValue,
  1181. Integer pageNum,
  1182. Integer pageSize,
  1183. Integer apiId,
  1184. String con,
  1185. String consigneeSsoId,
  1186. @RequestParam(required = false) String startTime,
  1187. @RequestParam(required = false) String endTime,String saler
  1188. ) {
  1189. if (con != null && !"".equals(con) && !"null".equals(con)) {
  1190. mapValue.put("con", con);
  1191. }
  1192. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  1193. mapValue.put("consigneeSsoId", consigneeSsoId);
  1194. }
  1195. if (saler != null && !"".equals(saler) && !"null".equals(saler)) {
  1196. mapValue.put("saler", saler);
  1197. }
  1198. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  1199. //不分页筛选数据
  1200. PageHelper.startPage(pageNum, pageSize);
  1201. //分页数据
  1202. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSteelOrderDeletedList(mapValue);
  1203. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null, saleOrderList);
  1204. return success(pageList);
  1205. }
  1206. @ApiModelProperty(value = "展示所有状态销售订单列表")
  1207. @ApiImplicitParams({
  1208. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  1209. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  1210. @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal")
  1211. })
  1212. @PostMapping("/getAllSteelSaleOrderList")
  1213. public RESTfulResult getAllSteelSaleOrderList(@RequestBody(required = false) Map<String,Object> mapValue,
  1214. Integer pageNum,
  1215. Integer pageSize,
  1216. Integer apiId,
  1217. String con,
  1218. Integer shipperId,
  1219. @RequestParam(required = false) Integer saleType,
  1220. String consigneeSsoId
  1221. // String startDate,
  1222. // String endDate
  1223. ) {
  1224. if (con != null && !"".equals(con) && !"null".equals(con)) {
  1225. mapValue.put("con", con);
  1226. }
  1227. if(shipperId != null && !"".equals(shipperId) && !"null".equals(shipperId)){
  1228. mapValue.put("shipperId", shipperId);
  1229. }
  1230. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  1231. mapValue.put("consigneeSsoId",consigneeSsoId);
  1232. }
  1233. mapValue.put("saleType",saleType);
  1234. // SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  1235. // if(startDate != null && !"".equals(startDate) && !"null".equals(startDate)){
  1236. // Date startTime=new Date(Long.parseLong(startDate));
  1237. // String startTime1=simpleDateFormat.format(startTime);
  1238. // mapValue.put("startTime",startTime1);
  1239. // }
  1240. // if(endDate != null && !"".equals(endDate) && !"null".equals(endDate)){
  1241. // Date endTime=new Date(Long.parseLong(endDate));
  1242. // String endTime1=simpleDateFormat.format(endTime);
  1243. // mapValue.put("endTime",endTime1);
  1244. // }
  1245. //不分页筛选数据
  1246. PageHelper.startPage(pageNum,pageSize);
  1247. //分页数据
  1248. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getAllSteelSaleOrderList(mapValue);
  1249. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  1250. return success(pageList);
  1251. }
  1252. @ApiModelProperty(value = "修改厂内未装货车辆的运单车牌号")
  1253. @PostMapping("/updateCapacityNumberInFactory")
  1254. public RESTfulResult updateCapacityNumberInFactory(@RequestBody Map<String,Object> mapValue) {
  1255. Map<String, Object> result = new HashMap<>();
  1256. try{
  1257. result = amsSaleOrderService.updateCapacityNumberInFactory(mapValue);
  1258. }catch (Exception e){
  1259. e.printStackTrace();
  1260. return failed(e.getMessage());
  1261. }
  1262. int result1= (int) result.get("result");
  1263. if (result1 == 0) {
  1264. return failed("已装货车辆不允许修改车牌");
  1265. }
  1266. else {
  1267. // 调用EAS接口将车牌号传给金蝶
  1268. List<Map<String,Object>> mapList = new ArrayList<>();
  1269. mapList.add(mapValue);
  1270. Map<String, Object> input = joinFeign.findCarNumberByOrderList(mapList);
  1271. Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
  1272. totalMap.put("input", input);
  1273. System.out.println(totalMap);
  1274. String json = JSONUtils.toJSONString(totalMap);
  1275. System.out.println(json);
  1276. Map<String, Object> s = joinFeign.pushCarNumberToEas(totalMap);
  1277. System.out.println("-------------------------------------");
  1278. System.out.println(s);
  1279. System.out.println("-------------------------------------");
  1280. if (s == null || s.size() == 0) {
  1281. //失败,存入重试队列,准备重试
  1282. retryQueen.add(mapList);
  1283. }
  1284. return success(result);
  1285. }
  1286. }
  1287. @ApiModelProperty(value = "修改收货客户的电话(销售)")
  1288. @PostMapping("/updateConsigneeTel")
  1289. public RESTfulResult updateConsigneeTel(@RequestBody Map<String,Object> mapValue){
  1290. int result=amsSaleOrderService.updateConsigneeTel(mapValue);
  1291. if (result ==0){
  1292. return failed("更新收货客户电话失败");
  1293. }else {
  1294. return success("更新收货客户电话成功");
  1295. }
  1296. }
  1297. @ApiModelProperty(value = "展示下发给承运商的车序号和物资")
  1298. @PostMapping("/getCarrierTruckNoAndMaterialList")
  1299. public RESTfulResult getCarrierTruckNoAndMaterialList(@RequestBody Map<String,Object> map) {
  1300. List<Map<String,Object>> mapList = amsSaleOrderService.getCarrierTruckNoAndMaterialList(map);
  1301. return success(mapList);
  1302. }
  1303. @ApiModelProperty(value = "关闭单个钢材物资分录")
  1304. @PostMapping("/closeSteelMaterialId")
  1305. public RESTfulResult closeSteelMaterialId(@RequestBody Map<String, Object> mapValue) {
  1306. int result = amsSaleOrderService.closeSteelMaterialId(mapValue);
  1307. if (result == 0) {
  1308. return failed("该物资已装货,无法关闭物资分录!!");
  1309. }
  1310. if (mapValue.get("closeEntryFlag") != null && DataChange.dataToBigDecimal(mapValue.get("closeEntryFlag")).intValue() == 1) {
  1311. return success(result);
  1312. }
  1313. String reason = (String) mapValue.get("reason");
  1314. String number = (String) mapValue.get("number");
  1315. String closeEntryId = (String) mapValue.get("closeEntryId");
  1316. BigDecimal closeWlEntryId = DataChange.dataToBigDecimal(mapValue.get("saleMaterialId"));
  1317. String wholeOrder = "0";
  1318. String status = "close";
  1319. Map<String,Object> head = new HashMap<>();
  1320. // 销售订单号
  1321. head.put("number",number);
  1322. // 关闭原因
  1323. head.put("reason",reason);
  1324. // 金蝶分录
  1325. head.put("closeEntryId",closeEntryId);
  1326. // 是否整单:(0:分录,1:整单)
  1327. head.put("wholeOrder",wholeOrder);
  1328. // 物流销售订单分录主键
  1329. head.put("closeWlEntryId",closeWlEntryId);
  1330. // 状态:close为关闭
  1331. head.put("status",status);
  1332. Map<String,Object> input = new HashMap<>();
  1333. Map<String, Object> totalMap = easUtil.getTotalMap();
  1334. input.put("head",head);
  1335. totalMap.put("input",input);
  1336. // 调用金蝶关闭接口
  1337. String json = JSONUtils.toJSONString(totalMap);
  1338. System.out.println(json);
  1339. Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
  1340. System.out.println(resultMap);
  1341. return success(result);
  1342. }
  1343. /**
  1344. * @author:zyf
  1345. * @version:1.0
  1346. * @Date:2022-10-20
  1347. * @Description:批量关闭分录
  1348. */
  1349. @ApiOperation(value = "关闭分录")
  1350. @ApiImplicitParams({
  1351. @ApiImplicitParam(name = "list", value = "批量关闭分录", required = false, dataType = "java.util.List")
  1352. })
  1353. @PostMapping(value = "/closingEntries")
  1354. @Transactional
  1355. public RESTfulResult closingEntries(@RequestBody List<Map<String, Object>> mapList){
  1356. if (mapList.isEmpty()){
  1357. return failed("没有分录数据");
  1358. }else {
  1359. try{
  1360. for (Map<String, Object> map : mapList) {
  1361. String reason="关闭每日八点之前的订单";
  1362. String number="";
  1363. String closeEntryId="";
  1364. BigDecimal closeWlEntryId=BigDecimal.ZERO;
  1365. if (!("".equals(map.get("number")))&&map.get("number")!=null){
  1366. number = (String)map.get("number");
  1367. }else {
  1368. continue;
  1369. }
  1370. if (!("".equals(map.get("closeEntryId")))&&map.get("closeEntryId")!=null){
  1371. closeEntryId =(String) map.get("closeEntryId");
  1372. }else {
  1373. continue;
  1374. }
  1375. if (!("".equals(map.get("saleMaterialId")))&&map.get("saleMaterialId")!=null){
  1376. closeWlEntryId=DataChange.dataToBigDecimal(map.get("saleMaterialId"));
  1377. }else {
  1378. continue;
  1379. }
  1380. amsSaleOrderService.updateAMSDeleted(closeWlEntryId);
  1381. String wholeOrder = "0";
  1382. String status = "close";
  1383. //需要的数据
  1384. Map<String,Object> head = new HashMap<>();
  1385. // 销售订单号
  1386. head.put("number",number);
  1387. // 关闭原因
  1388. head.put("reason",reason);
  1389. // 金蝶分录
  1390. head.put("closeEntryId",closeEntryId);
  1391. // 是否整单:(0:分录,1:整单)
  1392. head.put("wholeOrder",wholeOrder);
  1393. // 物流销售订单分录主键
  1394. head.put("closeWlEntryId",closeWlEntryId);
  1395. // 状态:close为关闭
  1396. head.put("status",status);
  1397. Map<String,Object> input = new HashMap<>();
  1398. Map<String, Object> totalMap = easUtil.getTotalMap();
  1399. input.put("head",head);
  1400. totalMap.put("input",input);
  1401. // 调用金蝶关闭接口
  1402. String json = JSONUtils.toJSONString(totalMap);
  1403. System.out.println(json);
  1404. Map<String,Object> resultMap = joinFeign.deleteSaleOrderToEas(totalMap);
  1405. System.out.println(resultMap);
  1406. }
  1407. }catch (Exception e){
  1408. System.out.println("e"+e.getMessage());
  1409. }
  1410. }
  1411. return success("分录成功删除");
  1412. }
  1413. @ApiModelProperty(value = "展示已审核化产焦炭销售订单列表")
  1414. @ApiImplicitParams({
  1415. @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
  1416. @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
  1417. @ApiImplicitParam(name = "apiId", value = "409/475", required = false, dataType = "BigDecimal")
  1418. })
  1419. @PostMapping("/getSaleCokeOrder")
  1420. public RESTfulResult getSaleCokeOrder(@RequestBody(required = false) Map<String, Object> mapValue,
  1421. Integer pageNum,
  1422. Integer pageSize,
  1423. Integer apiId,
  1424. String con,
  1425. String consigneeSsoId,
  1426. Integer shipperId,
  1427. @RequestParam(required = false) String startTime,
  1428. @RequestParam(required = false) String endTime
  1429. ) {
  1430. if (con != null && !"".equals(con) && !"null".equals(con)) {
  1431. mapValue.put("con", con);
  1432. }
  1433. if (consigneeSsoId != null && !"".equals(consigneeSsoId) && !"null".equals(consigneeSsoId)) {
  1434. mapValue.put("consigneeSsoId",consigneeSsoId);
  1435. }
  1436. if (shipperId != null && !"".equals(shipperId) && !"null".equals(shipperId)) {
  1437. mapValue.put("shipperId", shipperId);
  1438. }
  1439. DataChange.queryDataByDateTime(startTime, endTime, mapValue, sdfDateTime);//根据时间段查询数据
  1440. //不分页筛选数据
  1441. PageHelper.startPage(pageNum, pageSize);
  1442. //分页数据
  1443. List<Map<String, Object>> saleOrderList = amsSaleOrderService.getSaleCokeOrder(mapValue);
  1444. PageListAdd pageList = columnDataUtil.tableColumnData4(apiId, null, saleOrderList);
  1445. return success(pageList);
  1446. }
  1447. @ApiModelProperty(value = "反关闭金蝶单个分录")
  1448. @PostMapping("/adverseCloseSaleMaterial")
  1449. public RESTfulResult adverseCloseSaleMaterial(@RequestParam Integer saleMaterialId) {
  1450. int result = amsSaleOrderService.adverseCloseSaleMaterial(new BigDecimal(saleMaterialId));
  1451. return success(result);
  1452. }
  1453. @ApiModelProperty(value = "金蝶反关闭单个分录")
  1454. @PostMapping("/adverseCloseSaleMaterialByEas")
  1455. public RESTfulResult adverseCloseSaleMaterialByEas(@RequestParam BigDecimal saleMaterialId) {
  1456. int result = amsSaleOrderService.adverseCloseSaleMaterialByEas(saleMaterialId);
  1457. return success(result);
  1458. }
  1459. @ApiModelProperty(value = "反关闭金蝶整个销售订单")
  1460. @PostMapping("/adverseCloseSaleOrder")
  1461. public RESTfulResult adverseCloseSaleOrder(@RequestParam Integer saleOrderId) {
  1462. int result = amsSaleOrderService.adverseCloseSaleOrder(new BigDecimal(saleOrderId));
  1463. return success(result);
  1464. }
  1465. //库存调拨单
  1466. @ApiOperation(value = "库存调拨单")
  1467. @PostMapping("/getKucunList")
  1468. public RESTfulResult getKucunList(@RequestBody(required = false)Map<String,Object>map,
  1469. String startTime,
  1470. String endTime,
  1471. String remark,
  1472. String transferIndep,
  1473. String consigneeName,
  1474. String totheStation){
  1475. if(remark != null && !"null".equals(remark)&&!"".equals(remark)){
  1476. map.put("remark","%" + remark + "%");
  1477. }
  1478. if(transferIndep != null && !"null".equals(transferIndep) && !"".equals(transferIndep)){
  1479. map.put("transferIndep","%" + transferIndep + "%");
  1480. }
  1481. if(consigneeName != null && !"null".equals(consigneeName) && !"".equals(consigneeName)){
  1482. map.put("consigneeName","%" + consigneeName + "%");
  1483. }
  1484. if(totheStation != null && !"null".equals(totheStation) && !"".equals(totheStation)){
  1485. map.put("totheStation","%" + totheStation + "%");
  1486. }
  1487. DataChange.queryDataByDateTime(startTime, endTime, map, sdfDateTime);//根据时间段查询数据
  1488. List<Map<String,Object>> mapList = amsSaleOrderService.getKucunList(map);
  1489. return success(mapList);
  1490. }
  1491. @ApiOperation("批量新增销售订单")
  1492. @PostMapping("addSteelSaleOrderList")
  1493. @Transactional(rollbackFor = Exception.class)
  1494. public RESTfulResult addSteelSaleOrderList(@RequestBody List<Map<String,Object>> mapList) throws Exception {
  1495. int count = 0;
  1496. String saleOrderNo = null;
  1497. System.out.println("------销售订单批量导入Excel导入-----");
  1498. System.out.println(mapList);
  1499. System.out.println("------销售订单批量导入Excel导入-----");
  1500. try {
  1501. for (Map<String,Object> map:mapList
  1502. ) {
  1503. saleOrderNo = map.get("saleOrderNo").toString();
  1504. count++;
  1505. int saleOrderId= amsSaleOrderService.addSteelSaleOrder(map);
  1506. }
  1507. } catch (Exception e) {
  1508. System.out.println(e);
  1509. throw new Exception("销售订单编号为:" + saleOrderNo + e.getMessage());
  1510. //return failed("销售订单编号为:" + saleOrderNo + e.getMessage());
  1511. }
  1512. return success(count);
  1513. }
  1514. @ApiOperation("反关闭运单")
  1515. @PostMapping("reverseCloseOrder")
  1516. public RESTfulResult reverseCloseOrder(@RequestBody(required = false) Map<String,Object> map){
  1517. //反关闭运单
  1518. int result = amsSaleOrderService.reverseCloseOrder(map);
  1519. return success(result);
  1520. }
  1521. @ApiOperation("查询销售订单状态")
  1522. @PostMapping("getSaleOrderStatus")
  1523. public RESTfulResult getSaleOrderStatus(@RequestParam String saleNumber){
  1524. int result = amsSaleOrderService.getSaleOrderStatus(saleNumber);
  1525. return success(result);
  1526. }
  1527. @ApiOperation("批量新增未装销售订单")
  1528. @PostMapping("addUnloadSteelSaleOrderList")
  1529. public RESTfulResult addUnloadSteelSaleOrderList(@RequestBody List<Map<String,Object>> mapList){
  1530. int count = 0;
  1531. String saleOrderNo = null;
  1532. System.out.println("------销售订单批量导入Excel导入-----");
  1533. System.out.println(mapList);
  1534. System.out.println("------销售订单批量导入Excel导入-----");
  1535. try {
  1536. for (Map<String,Object> map:mapList
  1537. ) {
  1538. saleOrderNo = map.get("saleOrderNo").toString();
  1539. count++;
  1540. int saleOrderId= amsSaleOrderService.addSteelSaleOrder(map);
  1541. if (map.get("isUploadEas") != null && saleOrderId != 0) {
  1542. amsSaleOrderService.uploadSaleOrder(new BigDecimal(saleOrderId));
  1543. }
  1544. }
  1545. } catch (Exception e) {
  1546. return failed("销售订单编号为:" + saleOrderNo + e.getMessage());
  1547. }
  1548. return success(count);
  1549. }
  1550. /**
  1551. * 重试上传车牌号到金蝶,5min一次
  1552. */
  1553. @Scheduled(fixedRate=1000*60*5)
  1554. public void retryPushCarNumberToEas(){
  1555. List<List<Map<String,Object>>> newRetry=new ArrayList<>();
  1556. if(retryQueen.size()<=0){
  1557. //没有需要重传的,直接退出
  1558. return;
  1559. }
  1560. System.out.println("开始重传,目前失败数量:"+retryQueen.size());
  1561. for(List<Map<String,Object>> mapList:retryQueen){
  1562. // 调用EAS接口将车牌号传给金蝶
  1563. Map<String,Object> input = joinFeign.findCarNumberByOrderList(mapList);
  1564. Map<String, Object> totalMap = easCapacityTestUtil.getTotalMap();
  1565. totalMap.put("input",input);
  1566. System.out.println(totalMap);
  1567. String json = JSONUtils.toJSONString(totalMap);
  1568. System.out.println(json);
  1569. Map<String,Object> s = joinFeign.pushCarNumberToEas(totalMap);
  1570. if (s == null || s.size() == 0) {
  1571. //失败,存入新的重试队列,准备下一次重试
  1572. newRetry.add(mapList);
  1573. System.out.println("重试:登录金蝶失败");
  1574. }else{
  1575. System.out.println("重试:上传车牌成功");
  1576. }
  1577. }
  1578. //结束,替换掉旧的队列
  1579. retryQueen=newRetry;
  1580. System.out.println("重传结束,剩余失败数量:"+retryQueen.size());
  1581. }
  1582. }