AmsSaleOrderController.java 76 KB

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