AmsContractTruckPriceController.java 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. package com.steerinfo.dil.controller;
  2. import com.steerinfo.dil.feign.ColumnDataFeign;
  3. import com.steerinfo.dil.feign.ESFeign;
  4. import com.steerinfo.dil.mapper.AmsContractTruckPriceMapper;
  5. import com.steerinfo.dil.model.AmsContractTransportPrice;
  6. import com.steerinfo.dil.service.IAmsContractTruckPriceService;
  7. import com.steerinfo.dil.util.BaseRESTfulController;
  8. import com.steerinfo.dil.util.ColumnDataUtil;
  9. import com.steerinfo.dil.util.PageListAdd;
  10. import com.steerinfo.framework.controller.RESTfulResult;
  11. import com.steerinfo.framework.service.pagehelper.PageHelper;
  12. import io.swagger.annotations.ApiImplicitParam;
  13. import io.swagger.annotations.ApiImplicitParams;
  14. import io.swagger.annotations.ApiModelProperty;
  15. import io.swagger.annotations.ApiOperation;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.math.BigDecimal;
  19. import java.text.ParseException;
  20. import java.util.*;
  21. /**
  22. * AmsContractTransportPrice RESTful接口:
  23. * @author generator
  24. * @version 1.0-SNAPSHORT 2021-09-06 07:10
  25. * 类描述
  26. * 修订历史:
  27. * 日期:2021-09-06
  28. * 作者:generator
  29. * 参考:
  30. * 描述:AmsContractTransportPrice RESTful接口
  31. * @see null
  32. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  33. */
  34. @RestController
  35. @RequestMapping("/${api.version}/amscontracttruckprices")
  36. public class AmsContractTruckPriceController extends BaseRESTfulController {
  37. @Autowired
  38. IAmsContractTruckPriceService amsContractTruckPriceService;
  39. @Autowired
  40. ColumnDataFeign columnDataFeign;
  41. @Autowired
  42. ColumnDataUtil columnDataUtil;
  43. @Autowired
  44. ESFeign esFeign;
  45. @Autowired
  46. AmsContractTruckPriceMapper amsContractTruckPriceMapper;
  47. @ApiOperation(value="查询汽运单价信息")
  48. @ApiImplicitParams({
  49. @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
  50. })
  51. @PostMapping("/getAmsContractTransportPrice1")
  52. public RESTfulResult getAmsContractTransportPrice(@RequestBody(required=false) Map<String,Object> mapValue,
  53. Integer apiId,
  54. Integer pageNum,
  55. Integer pageSize,
  56. String con,
  57. Integer deleted){
  58. if(deleted != null) {
  59. mapValue.put("deleted", deleted);
  60. }
  61. if(con !=null){
  62. mapValue.put("con",con);
  63. }
  64. PageHelper.startPage(pageNum,pageSize);
  65. List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getAmsContractTransportPrice(mapValue);
  66. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsContractTransportPrice1);
  67. return success(pageList);
  68. }
  69. @ApiOperation(value="查询内转汽运单价信息")
  70. @ApiImplicitParams({
  71. @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
  72. })
  73. @PostMapping("/getInwardContractPrice")
  74. public RESTfulResult getInwardContractPrice(@RequestBody(required=false) Map<String,Object> mapValue,
  75. Integer apiId,
  76. Integer pageNum,
  77. Integer pageSize,
  78. Integer deleted,
  79. String con){
  80. if(deleted != null) {
  81. mapValue.put("deleted", deleted);
  82. }
  83. if (con != null && !con.equals("undefined")) {
  84. mapValue.put("con","%" + con + "%");
  85. }
  86. PageHelper.startPage(pageNum,pageSize);
  87. if ("materialNames".equals(mapValue.get("orderField"))){
  88. mapValue.put("orderField",null);
  89. }
  90. List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getInwardContractPrice(mapValue);
  91. if (mapValue.get("materialNames")!=null && !"".equals(mapValue.get("materialNames"))) {
  92. String materialNames = mapValue.get("materialNames").toString();
  93. List<Map<String, Object>> amsContractTransportPrice2=new ArrayList<>();
  94. amsContractTransportPrice1.forEach(map->{
  95. if (map.get("materialNames")!=null && !"".equals(map.get("materialNames"))) {
  96. if (materialNames.equals("["+map.get("materialNames")+"]")) {
  97. amsContractTransportPrice2.add(map);
  98. }
  99. }
  100. });
  101. amsContractTransportPrice1=amsContractTransportPrice2;
  102. }
  103. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsContractTransportPrice1);
  104. return success(pageList);
  105. }
  106. /**
  107. * 新增汽运单价
  108. * @param mapValue
  109. * @return
  110. */
  111. @ApiOperation(value="新增汽运单价")
  112. @ApiImplicitParams({
  113. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  114. })
  115. @PostMapping(value = "/addAmsContractTransportPrice1")
  116. public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) Map<String,Object> mapValue){
  117. int i = amsContractTruckPriceService.addAmsContractTransportPrice(mapValue);
  118. return success(i);
  119. }
  120. /**
  121. * 新增内转汽运单价
  122. * @param mapValue
  123. * @return
  124. */
  125. @ApiOperation(value="新增内转汽运单价")
  126. @ApiImplicitParams({
  127. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  128. })
  129. @PostMapping(value = "/insertInwardPrice")
  130. public RESTfulResult insertInwardPrice(@RequestBody(required = false) Map<String,Object> mapValue){
  131. int i = amsContractTruckPriceService.insertInwardPrice(mapValue);
  132. return success(i);
  133. }
  134. /**
  135. * 通过主键删除汽运单价
  136. * @param priceId
  137. * @return
  138. */
  139. @ApiOperation(value="通过主键删除汽运单价")
  140. @ApiImplicitParams({
  141. @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  142. })
  143. @PostMapping(value = "/deleteAmsContractTransportPrice1")
  144. public RESTfulResult deleteAmsContractTransportPrice(BigDecimal priceId){
  145. int i = amsContractTruckPriceService.deleteAmsContractTransportPrice(priceId);
  146. return success(i);
  147. }
  148. /**
  149. * 通过主键渲染汽运单价信息
  150. * @param priceId
  151. * @return
  152. */
  153. @ApiOperation(value="通过主键渲染汽运单价信息")
  154. @ApiImplicitParams({
  155. @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  156. })
  157. @PostMapping(value = "/getAmsContractTransportPriceByPriceId1")
  158. public RESTfulResult getAmsContractTransportPriceByPriceId(@RequestParam BigDecimal priceId){
  159. List<Map<String, Object>> maps = amsContractTruckPriceService.selectByPriceId(priceId);
  160. return success(maps);
  161. }
  162. /**
  163. * 通过主键修改汽运单价
  164. * @param amsContractTransportPrice
  165. * @return
  166. */
  167. @ApiOperation(value="通过主键修改汽运单价")
  168. @ApiImplicitParams({
  169. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  170. })
  171. @PostMapping(value = "/updateAmsContractTransportPrice1")
  172. public RESTfulResult updateAmsContractTransportPrice(@RequestParam AmsContractTransportPrice amsContractTransportPrice){
  173. int i = amsContractTruckPriceService.updateAmsContractTransportPrice(amsContractTransportPrice);
  174. return success(i);
  175. }
  176. /**
  177. * 油价联动导致运价变动,批量修改运价
  178. * @param
  179. * @return
  180. */
  181. @ApiOperation(value="油价联动导致运价变动,批量修改运价")
  182. @ApiImplicitParams({
  183. })
  184. @PostMapping(value = "/batchUpdateTransportPriceByOilPrice1")
  185. public RESTfulResult batchUpdateTransportPriceByOilPrice(@RequestBody Map<String,Object> map) throws ParseException {
  186. int i = amsContractTruckPriceService.batchUpdateTransportPriceByOilPrice(map);
  187. return success(i);
  188. }
  189. /**
  190. * 获取承运商名称
  191. * @param
  192. * @return
  193. */
  194. @ApiOperation(value="获取承运商名称")
  195. @ApiImplicitParams({
  196. })
  197. @GetMapping(value = "/getCarrierName")
  198. public RESTfulResult getCarrierName(){
  199. return success(amsContractTruckPriceService.getCarrierName());
  200. }
  201. /**
  202. * 获取线路编号
  203. * @param
  204. * @return
  205. */
  206. @ApiOperation(value="获取线路编号")
  207. @ApiImplicitParams({
  208. })
  209. @GetMapping(value = "/getLineNo")
  210. public RESTfulResult getLineNo(){
  211. return success(amsContractTruckPriceService.getLineNo());
  212. }
  213. /**
  214. * 获取运力编号
  215. * @param
  216. * @return
  217. */
  218. @ApiOperation(value="获取运力编号")
  219. @ApiImplicitParams({
  220. })
  221. @GetMapping(value = "/getCapacityNumber")
  222. public RESTfulResult getCapacityNumber(){
  223. return success(amsContractTruckPriceService.getCapacityNumber());
  224. }
  225. /**
  226. * 获取收货地址
  227. * @param
  228. * @return
  229. */
  230. @ApiOperation(value="获取收货地址")
  231. @ApiImplicitParams({
  232. @ApiImplicitParam(name = "apiId" ,value = "255")
  233. })
  234. @PostMapping (value = "/getAddressDeliveryAddress")
  235. public RESTfulResult getAddressDeliveryAddress(@RequestBody(required=false) Map<String,Object> mapValue,
  236. Integer apiId,
  237. Integer pageNum,
  238. Integer pageSize,
  239. String con){
  240. if (con != null && !con.equals("undefined")) {
  241. mapValue.put("con","%" + con + "%");
  242. }
  243. //不分页筛选数据
  244. PageHelper.startPage(pageNum,pageSize);
  245. //分页数据
  246. List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
  247. List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
  248. int i=0;
  249. for (Map<String, Object> columnData : columnDataList) {
  250. //每个表头字段的过滤条件
  251. columnData.put("filters", setListMap(saleOrderList, columnData.get("prop").toString()));
  252. if (i==0){
  253. columnData.put("min-width","78px");
  254. }else if (i==2){
  255. columnData.put("min-width","94px");
  256. }
  257. i++;
  258. }
  259. PageListAdd pageList = new PageListAdd(saleOrderList);
  260. pageList.setColumnData(columnDataList);
  261. //PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  262. return success(pageList);
  263. }
  264. private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
  265. Set<Map<String, Object>> setString = new HashSet<>();
  266. for (Map<String, Object> map : list) {//遍历每条数据
  267. Map<String, Object> map1 = new HashMap<>();
  268. //map.get(name)获取每条数据中对应表头字段的数据
  269. map1.put("text", map.get(name));
  270. if (map.get(name) != null) {
  271. map1.put("value", map.get(name));
  272. setString.add(map1);
  273. }
  274. }
  275. return setString;
  276. }
  277. /**
  278. * 获取货物类型
  279. * @param
  280. * @return
  281. */
  282. @ApiOperation(value="获取货物类型")
  283. @ApiImplicitParams({
  284. })
  285. @GetMapping(value = "/getCargoName")
  286. public RESTfulResult getCargoName(){
  287. return success(amsContractTruckPriceService.getCargoName());
  288. }
  289. /**
  290. * 获取油品名称
  291. * @param
  292. * @return
  293. */
  294. @ApiOperation(value="获取油品名称")
  295. @ApiImplicitParams({
  296. })
  297. @GetMapping(value = "/getOilTypeName")
  298. public RESTfulResult getOilTypeName(){
  299. return success(amsContractTruckPriceService.getOilTypeName());
  300. }
  301. @ApiModelProperty(value = "边输边查具体地址")
  302. @PostMapping("/getRealAddressByLike")
  303. public RESTfulResult getRealAddressByLike(@RequestParam Integer addressId,@RequestParam String index){
  304. if (index != null ) {
  305. if (index.length() == 0 || index.equals("undefined")) {
  306. index = null;
  307. }
  308. else {
  309. index = "%" + index + "%";
  310. }
  311. }
  312. Map<String,Object> map = new HashMap<>();
  313. map.put("addressId",addressId);
  314. map.put("index",index);
  315. List<Map<String,Object>> mapList = amsContractTruckPriceService.getRealAddressByLike(map);
  316. return success(mapList);
  317. }
  318. @ApiOperation("通过物资,车型,承运起止范围匹配运输单价")
  319. @PostMapping("/getInwardPriceBy")
  320. public Map<String,Object> getInwardPriceBy(@RequestBody(required = false) Map<String,Object> mapvalue){
  321. //接受结算是内转计重还是计时还是计数
  322. String settleMentType = (String) mapvalue.get("requirementType");
  323. String insertUpdateRemark = (String) mapvalue.get("insertUpdateRemark");
  324. BigDecimal type = null;
  325. if("计重".equals(settleMentType)){
  326. if(insertUpdateRemark!=null && !"".equals(insertUpdateRemark) && insertUpdateRemark.contains("计时且过计量")){
  327. //计重且计时,走计时流程
  328. type = new BigDecimal(5);
  329. }else{
  330. //在单价表里内转计重是2
  331. type = new BigDecimal(2);
  332. }
  333. }else if("计时".equals(settleMentType)){
  334. //在单价表里内转计时是5
  335. type = new BigDecimal(5);
  336. }else if("计次".equals(settleMentType)){
  337. //在单价表里内转计时是6
  338. type = new BigDecimal(6);
  339. }
  340. mapvalue.put("type",type);
  341. List<Map<String,Object>> mapList = amsContractTruckPriceService.selectInwardPrice(mapvalue);
  342. if(mapList.size()!=0){
  343. return mapList.get(0);
  344. }
  345. else{
  346. return null;
  347. }
  348. }
  349. @ApiOperation(value = "承运起止范围与装货点")
  350. @PostMapping("/getRangePoint")
  351. public RESTfulResult getRangePoint(@RequestBody(required = false)Map<String,Object>mapValue,
  352. Integer apiId,
  353. Integer pageNum,
  354. Integer pageSize,
  355. String con){
  356. if (con != null && !con.equals("undefined")) {
  357. mapValue.put("con","%" + con + "%");
  358. }
  359. //不分页筛选数据
  360. PageHelper.startPage(pageNum,pageSize);
  361. //分页数据
  362. List<Map<String, Object>> rangePointList = amsContractTruckPriceService.getRangePoint(mapValue);
  363. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,rangePointList);
  364. return success(pageList);
  365. }
  366. @ApiOperation(value = "插入承运起止范围与装货点")
  367. @PostMapping("/insertLineNodePoint")
  368. public RESTfulResult insertLineNodePoint(@RequestBody(required = false)Map<String,Object>map){
  369. return success(amsContractTruckPriceService.insertLineNodePoint(map));
  370. }
  371. @ApiOperation("根据汽运ID修改单价")
  372. @PostMapping("updatePriceById")
  373. public RESTfulResult updatePriceById(@RequestBody(required = false) Map<String,Object> map) {
  374. //
  375. int i = amsContractTruckPriceService.updatePriceById(map);
  376. return success(i);
  377. }
  378. @ApiOperation(value = "查询出收货地址ID")
  379. @PostMapping("/queryPlaceId")
  380. public BigDecimal queryPlaceId(@RequestBody(required = false) BigDecimal bigDecimal){
  381. List<Map<String, Object>> maps = amsContractTruckPriceMapper.selectByPriceId(bigDecimal);
  382. BigDecimal b=BigDecimal.ZERO;
  383. for (Map<String, Object> map : maps) {
  384. b = (BigDecimal) map.get("PLACE_ID");
  385. }
  386. return b;
  387. }
  388. @ApiOperation(value="修改内转汽运单价")
  389. @PostMapping("/updateTransPrice")
  390. public RESTfulResult updateTransPrice(@RequestBody(required=false) Map<String,Object> map){
  391. int i = amsContractTruckPriceService.updatePriceByPriceId(map);
  392. return success(i);
  393. }
  394. @ApiOperation(value="查询物资")
  395. @PostMapping("/getwz")
  396. public RESTfulResult getwz(@RequestBody(required=false) Map<String,Object> map){
  397. List<Map<String, Object>> i = amsContractTruckPriceService.getwz(map);
  398. return success(i);
  399. }
  400. @ApiOperation(value="查询联动公式数据")
  401. @PostMapping("/getcargonameId")
  402. public RESTfulResult getcargonameId(@RequestBody(required=false) Map<String,Object> map){
  403. Map<String, Object> i = amsContractTruckPriceService.getcargonameId(map);
  404. return success(i);
  405. }
  406. }