AmsSaleOrderController.java 81 KB

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