AmsSaleOrderController.java 84 KB

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