AmsContractTruckPriceController.java 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843
  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.mapper.RmsReceivePlaceMapper;
  6. import com.steerinfo.dil.model.AmsContractTransportPrice;
  7. import com.steerinfo.dil.model.RmsReceivePlace;
  8. import com.steerinfo.dil.service.IAmsContractTruckPriceService;
  9. import com.steerinfo.dil.util.BaseRESTfulController;
  10. import com.steerinfo.dil.util.ColumnDataUtil;
  11. import com.steerinfo.dil.util.DataChange;
  12. import com.steerinfo.dil.util.PageListAdd;
  13. import com.steerinfo.framework.controller.RESTfulResult;
  14. import com.steerinfo.framework.service.pagehelper.PageHelper;
  15. import io.swagger.annotations.ApiImplicitParam;
  16. import io.swagger.annotations.ApiImplicitParams;
  17. import io.swagger.annotations.ApiModelProperty;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.*;
  21. import java.math.BigDecimal;
  22. import java.text.ParseException;
  23. import java.text.SimpleDateFormat;
  24. import java.util.*;
  25. import java.util.stream.Collectors;
  26. /**
  27. * AmsContractTransportPrice RESTful接口:
  28. * @author generator
  29. * @version 1.0-SNAPSHORT 2021-09-06 07:10
  30. * 类描述
  31. * 修订历史:
  32. * 日期:2021-09-06
  33. * 作者:generator
  34. * 参考:
  35. * 描述:AmsContractTransportPrice RESTful接口
  36. * @see null
  37. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  38. */
  39. @RestController
  40. @RequestMapping("/${api.version}/amscontracttruckprices")
  41. public class AmsContractTruckPriceController extends BaseRESTfulController {
  42. @Autowired
  43. IAmsContractTruckPriceService amsContractTruckPriceService;
  44. @Autowired
  45. ColumnDataFeign columnDataFeign;
  46. @Autowired
  47. ColumnDataUtil columnDataUtil;
  48. @Autowired
  49. ESFeign esFeign;
  50. @Autowired
  51. AmsContractTruckPriceMapper amsContractTruckPriceMapper;
  52. @Autowired
  53. RmsReceivePlaceMapper rmsReceivePlaceMapper;
  54. @ApiOperation(value="导入单价的数据写入数据库")
  55. @PostMapping("/importDataForAmsContractTransportPrice")
  56. public RESTfulResult importDataForAmsContractTransportPrice(@RequestBody(required = false) List<Map<String,Object>> mapList,
  57. BigDecimal importPriceValue,String importPriceDate) throws ParseException {
  58. //mapList为导入的数据,遍历导入进来的数据,如果数据存在在单价当中则将旧单价改为1,新增单价为0
  59. //如果数据查找不到就在收货地址表新增地址,在新增单价
  60. //1.查询所有单价数据
  61. //所有时间定为统一的值
  62. Date date=new Date();
  63. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  64. for (Map<String, Object> stringObjectMap : mapList) {
  65. String address="";
  66. String addressProvince="";
  67. String addressDistrict="";
  68. String addressDdp="";
  69. //省份
  70. String s = (String) stringObjectMap.get("addressProvince");
  71. if(s!=null){
  72. addressProvince= s.replaceAll("省", "").replace("市","");
  73. }
  74. //市
  75. String s1 = (String) stringObjectMap.get("addressDistrict");
  76. if(s1!=null){
  77. addressDistrict = s1.replaceAll("市", "");
  78. }
  79. //县
  80. String addressTown = (String) stringObjectMap.get("addressTown");
  81. if (addressTown==null){
  82. addressTown=addressDistrict;
  83. addressDistrict=addressProvince;
  84. }
  85. //具体地址
  86. String addressDeliveryAddress = (String) stringObjectMap.get("addressDeliveryAddress");
  87. if (addressDeliveryAddress==null){
  88. addressDeliveryAddress=addressTown;
  89. }
  90. //单价价格
  91. BigDecimal priceValue = DataChange.dataToBigDecimal(stringObjectMap.get("priceValue"));
  92. if (priceValue==null){
  93. continue;
  94. }
  95. //参考运距
  96. BigDecimal haulDistance = DataChange.dataToBigDecimal(stringObjectMap.get("haulDistance"));
  97. //吨/公里
  98. BigDecimal priceTonKilometer = DataChange.dataToBigDecimal(stringObjectMap.get("priceTonKilometer"));
  99. //1.把省市县地址合起来
  100. addressDdp="%"+addressProvince+addressDistrict+addressTown+"%";
  101. //2.把所有地址合起来
  102. address="%"+addressProvince+addressDistrict+addressTown+addressDeliveryAddress+"%";
  103. //把地址去数据库查询数据
  104. Map<String, Object> amsPriceForImport = amsContractTruckPriceMapper.getAmsContractTransportPriceForImport(address);
  105. //旧单价
  106. BigDecimal priceId=BigDecimal.ZERO;
  107. BigDecimal placeId=BigDecimal.ZERO;
  108. if (amsPriceForImport!=null){
  109. if (amsPriceForImport.get("priceId")!=null){
  110. priceId= DataChange.dataToBigDecimal(amsPriceForImport.get("priceId"));
  111. }
  112. placeId= DataChange.dataToBigDecimal(amsPriceForImport.get("placeId"));
  113. }
  114. BigDecimal addressId = amsContractTruckPriceMapper.getAddressIdForImport(addressDdp);
  115. //如果区都没有的话就要把区给加上
  116. if (addressId==null){
  117. amsContractTruckPriceMapper.insertIntoRRAForImport(addressProvince,addressDistrict,addressTown);
  118. }
  119. //新增单价的数据
  120. //新增的运输类型
  121. AmsContractTransportPrice amsContractTransportPrice = new AmsContractTransportPrice();
  122. //生成主键id
  123. amsContractTransportPrice.setType(new BigDecimal(1));
  124. amsContractTransportPrice.setInsertUsername("admin");
  125. amsContractTransportPrice.setInsertTime(date);
  126. amsContractTransportPrice.setUpdateUsername("admin");
  127. amsContractTransportPrice.setUpdateTime(date);
  128. amsContractTransportPrice.setInsertUpdateRemark("无");
  129. amsContractTransportPrice.setDeleted(new BigDecimal(0));
  130. amsContractTransportPrice.setShipperId(new BigDecimal(1));
  131. amsContractTransportPrice.setOilpriceChangeThreshold(new BigDecimal(0.05));
  132. amsContractTransportPrice.setOilTypeId(new BigDecimal(10));
  133. amsContractTransportPrice.setCargonameId(new BigDecimal(14));
  134. amsContractTransportPrice.setPriceValue(priceValue);
  135. amsContractTransportPrice.setPriceDate(simpleDateFormat.parse(importPriceDate));
  136. amsContractTransportPrice.setOilpriceBase(importPriceValue);
  137. if (haulDistance!=null){
  138. amsContractTransportPrice.setHaulDistance(haulDistance);
  139. }
  140. if (priceTonKilometer!=null){
  141. amsContractTransportPrice.setPriceTonKilometer(priceTonKilometer);
  142. }
  143. if (amsPriceForImport==null||amsPriceForImport.get("placeId")==null){
  144. //2.如果收货地址为空则先新增收货地址再新增单价
  145. RmsReceivePlace rmsReceivePlace = new RmsReceivePlace();
  146. rmsReceivePlace.setAddressId(addressId);
  147. rmsReceivePlace.setAddressDeliveryAddress(addressDeliveryAddress);
  148. rmsReceivePlace.setPlaceId(rmsReceivePlaceMapper.selectMaxId());
  149. amsContractTransportPrice.setPlaceId(rmsReceivePlace.getPlaceId());
  150. rmsReceivePlaceMapper.insertSelective(rmsReceivePlace);
  151. }else {
  152. amsContractTransportPrice.setPlaceId(placeId);
  153. }
  154. //承运商数据
  155. String carrierName = (String) stringObjectMap.get("carrierName");
  156. if (amsPriceForImport!=null&&amsPriceForImport.get("priceId")!=null){
  157. //1.如果数据不为空(收货地址存在或者单价存在),旧单价置为1,新单价新增
  158. //旧单价有值才会进行单价
  159. /*List<BigDecimal> carrierIdForImport = amsContractTruckPriceMapper.getCarrierIdForImport(address);
  160. for (BigDecimal bigDecimal : carrierIdForImport) {
  161. amsContractTransportPrice.setCarrierId(bigDecimal);
  162. }*/
  163. //旧单价置为1
  164. amsContractTruckPriceMapper.updateForImport(priceId,simpleDateFormat.format(date));
  165. if (carrierName!=null){
  166. String[] split = carrierName.split("/");
  167. for (String s2 : split) {
  168. BigDecimal carrierIdForCarrierName = amsContractTruckPriceMapper.getCarrierIdForCarrierName(s2);
  169. amsContractTransportPrice.setCarrierId(carrierIdForCarrierName);
  170. amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
  171. amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
  172. }
  173. }else {
  174. amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
  175. amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
  176. }
  177. }else {
  178. if (carrierName!=null){
  179. String[] split = carrierName.split("/");
  180. for (String s2 : split) {
  181. BigDecimal carrierIdForCarrierName = amsContractTruckPriceMapper.getCarrierIdForCarrierName(s2);
  182. amsContractTransportPrice.setCarrierId(carrierIdForCarrierName);
  183. amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
  184. amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
  185. }
  186. }else {
  187. amsContractTransportPrice.setPriceId(amsContractTruckPriceMapper.selectMaxId());
  188. amsContractTruckPriceMapper.insertSelective(amsContractTransportPrice);
  189. }
  190. }
  191. }
  192. return success("导入成功");
  193. }
  194. @ApiOperation(value="查询汽运单价信息")
  195. @ApiImplicitParams({
  196. @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
  197. })
  198. @PostMapping("/getAmsContractTransportPrice1")
  199. public RESTfulResult getAmsContractTransportPrice(@RequestBody(required=false) Map<String,Object> mapValue,
  200. Integer apiId,
  201. Integer pageNum,
  202. Integer pageSize,
  203. String con,
  204. Integer deleted){
  205. if(deleted != null) {
  206. mapValue.put("deleted", deleted);
  207. }
  208. if(con !=null){
  209. mapValue.put("con",con);
  210. }
  211. if(pageNum==null&&pageSize==null){
  212. }else {
  213. PageHelper.startPage(pageNum, pageSize);
  214. }
  215. List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getAmsContractTransportPrice(mapValue);
  216. //PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsContractTransportPrice1);
  217. List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
  218. int i=0;
  219. for (Map<String, Object> columnData : columnDataList) {
  220. //每个表头字段的过滤条件
  221. if(columnData.get("isFilter") == null || DataChange.dataToBigDecimal(columnData.get("isFilter")).intValue() == 1) {
  222. columnData.put("filters", setListMap(amsContractTransportPrice1, columnData.get("prop").toString()));
  223. if (i==0){
  224. columnData.put("min-width",62);
  225. }else if (i==1){
  226. columnData.put("min-width",69);
  227. }else if (i==3){
  228. columnData.put("min-width",130);
  229. }else if (i==4){
  230. columnData.put("min-width",138);
  231. }else if (i==5){
  232. columnData.put("min-width",82);
  233. }else if (i==6){
  234. columnData.put("min-width",154);
  235. }else if (i==7){
  236. columnData.put("min-width",324);
  237. }
  238. i++;
  239. }
  240. }
  241. PageListAdd pageList = new PageListAdd(amsContractTransportPrice1);
  242. pageList.setColumnData(columnDataList);
  243. return success(pageList);
  244. }
  245. @ApiOperation(value="删除单价信息")
  246. @PostMapping("/deleteSalelPrice")
  247. public RESTfulResult deleteSalelPrice(@RequestBody(required=false) Map<String,Object> mapValue){
  248. int i = amsContractTruckPriceService.deleteSalePrice(mapValue);
  249. if (i>0){
  250. return success("删除成功");
  251. }else{
  252. return failed("删除失败");
  253. }
  254. }
  255. @ApiModelProperty(value = "更新卸货地址")
  256. @PostMapping("/updateaddressDeliveryAddress")
  257. public RESTfulResult updateaddressDeliveryAddress(@RequestBody(required = false) Map<String,Object> mapValue) {
  258. int i = amsContractTruckPriceService.updateaddressDeliveryAddress(mapValue);
  259. if (i>0){
  260. return success("更新卸货地址成功");
  261. }else {
  262. return failed("更新卸货地址失败");
  263. }
  264. }
  265. @ApiModelProperty(value = "更新单价")
  266. @PostMapping("/updatePriceValue")
  267. public RESTfulResult updatePriceValue(@RequestBody(required = false) Map<String,Object> mapValue) {
  268. int i = amsContractTruckPriceService.updatePriceValue(mapValue);
  269. if (i>0){
  270. return success("更新单价成功");
  271. }else {
  272. return failed("更新单价失败");
  273. }
  274. }
  275. @ApiModelProperty(value = "查询承运商")
  276. @PostMapping("/getCarrierListByAddress")
  277. public RESTfulResult getCarrierListByAddress(@RequestBody(required = false) Map<String,Object> mapValue){
  278. List<Map<String, Object>> carrierListByAddress = amsContractTruckPriceService.getCarrierListByAddress(mapValue);
  279. return success(carrierListByAddress);
  280. }
  281. @ApiModelProperty(value = "修改承运商")
  282. @PostMapping("/updateCarrierName")
  283. public RESTfulResult updateCarrierName(@RequestBody(required = false) Map<String,Object> mapValue) throws ParseException {
  284. int i = amsContractTruckPriceService.updateCarrierName(mapValue);
  285. if (i>0){
  286. return success("修改承运商成功");
  287. }else {
  288. return failed("修改承运商失败");
  289. }
  290. }
  291. @ApiModelProperty(value = "模糊查询承运商")
  292. @PostMapping("/getCarrierListByPrice")
  293. public RESTfulResult getCarrierListByPrice(@RequestBody(required = false) Map<String,Object> mapValue) {
  294. String index = (String) mapValue.get("index");
  295. if(index != null){
  296. if(index.length() == 0){
  297. index = null;
  298. }else {
  299. index = "%" + index + "%";
  300. }
  301. }
  302. mapValue.put("index",index);
  303. /*Integer pageNum = (Integer) mapValue.get("pageNum");
  304. Integer pageSize = (Integer) mapValue.get("pageSize");
  305. if (pageNum==null){
  306. mapValue.put("pageNum",1);
  307. }
  308. if (pageSize==null){
  309. mapValue.put("pageSize",10);
  310. }*/
  311. List<Map<String, Object>> carrierListByPrice = amsContractTruckPriceService.getCarrierListByPrice(mapValue);
  312. return success(carrierListByPrice);
  313. }
  314. @ApiOperation(value="查询汽运单价信息")
  315. @ApiImplicitParams({
  316. @ApiImplicitParam(name = "apiId(519)", value = "表头", required = false, dataType = "Interger")
  317. })
  318. @PostMapping("/getAmsContractTransportPriceForDetail")
  319. public RESTfulResult getAmsContractTransportPriceForDetail(@RequestBody(required=false) Map<String,Object> mapValue,
  320. Integer apiId,
  321. Integer pageNum,
  322. Integer pageSize,
  323. String con,String userId) throws ParseException {
  324. if (con != null && !con.equals("undefined")) {
  325. mapValue.put("con","%" + con + "%");
  326. }else {
  327. mapValue.put("con","%" +"%");
  328. }
  329. // if (userId != null && !userId.equals("undefined")) {
  330. // //查询承运商ID
  331. // String carrierName1 = amsContractTruckPriceService.getCarrierNameForDetail(userId);
  332. // mapValue.put("carrierName1","%" + carrierName1 + "%");
  333. // }
  334. //1.先查询出收货地址的所有收货ID
  335. List<Map<String, Object>> receiveAddress = amsContractTruckPriceService.getReceiveAddressId(mapValue);
  336. //2.查询出该收货所有的单价信息
  337. List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAmsContractTransportPriceForDetail(mapValue);
  338. //3.遍历查询出最近的单价信息
  339. List<Map<String,Object>> salePriceList=new LinkedList<>();
  340. //格式化
  341. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  342. //获取数据的订单时间
  343. Date orderTime = simpleDateFormat.parse((String) mapValue.get("orderTime"));
  344. //最近的留下
  345. for (Map<String, Object> address : receiveAddress) {
  346. String address1 = (String) address.get("address");
  347. //BigDecimal placeId = bigDecimal;
  348. Map<String,Object> map1=new HashMap<>();
  349. int flag=0;
  350. for (Map<String, Object> stringObjectMap : saleOrderList) {
  351. String address2 = (String) stringObjectMap.get("address");
  352. //单价的执行日期
  353. Date priceDate = (Date) stringObjectMap.get("priceDate");
  354. if (address2 ==null||priceDate==null){
  355. continue;
  356. }
  357. String format = simpleDateFormat.format(priceDate);
  358. Date parse = simpleDateFormat.parse(format);
  359. //Date parse1 = simpleDateFormat.parse("2022-12-10")
  360. if (parse.before(orderTime)||parse.equals(orderTime)){
  361. if (address2.equals(address1)){
  362. flag=1;
  363. if (map1.size()==0){
  364. map1.putAll(stringObjectMap);
  365. }else{
  366. //比较日期(如果日期在存入的日期之后,则存入该日期)
  367. Date priceDate1 = (Date) map1.get("priceDate");
  368. String format1 = simpleDateFormat.format(priceDate1);
  369. Date parse1 = simpleDateFormat.parse(format1);
  370. if (parse.after(parse1)){
  371. map1.clear();
  372. map1.putAll(stringObjectMap);
  373. }
  374. }
  375. }
  376. }
  377. }
  378. if (flag==1){
  379. salePriceList.add(map1);
  380. }
  381. }
  382. return success(salePriceList);
  383. }
  384. @ApiOperation(value="查询汽运单价信息")
  385. @ApiImplicitParams({
  386. @ApiImplicitParam(name = "apiId(519)", value = "表头", required = false, dataType = "Interger")
  387. })
  388. @PostMapping("/updatenewdata")
  389. public RESTfulResult updatenewdata(@RequestBody(required=false) Map<String,Object> mapValue,
  390. Integer apiId,
  391. Integer pageNum,
  392. Integer pageSize,
  393. String con,String userId) throws ParseException {
  394. if (con != null && !con.equals("undefined")) {
  395. mapValue.put("con","%" + con + "%");
  396. }else {
  397. mapValue.put("con","%" +"%");
  398. }
  399. // if (userId != null && !userId.equals("undefined")) {
  400. // //查询承运商ID
  401. // String carrierName1 = amsContractTruckPriceService.getCarrierNameForDetail(userId);
  402. // mapValue.put("carrierName1","%" + carrierName1 + "%");
  403. // }
  404. //1.先查询出收货地址的所有收货ID
  405. List<Map<String, Object>> receiveAddress = amsContractTruckPriceService.getReceiveAddressId(mapValue);
  406. //2.查询出该收货所有的单价信息
  407. List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAmsContractTransportPriceForDetail(mapValue);
  408. //3.遍历查询出最近的单价信息
  409. List<Map<String,Object>> salePriceList=new LinkedList<>();
  410. //格式化
  411. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
  412. //获取数据的订单时间
  413. Date orderTime = simpleDateFormat.parse((String) mapValue.get("orderTime"));
  414. //最近的留下
  415. for (Map<String, Object> address : receiveAddress) {
  416. String address1 = (String) address.get("address");
  417. //BigDecimal placeId = bigDecimal;
  418. Map<String,Object> map1=new HashMap<>();
  419. int flag=0;
  420. for (Map<String, Object> stringObjectMap : saleOrderList) {
  421. String address2 = (String) stringObjectMap.get("address");
  422. //单价的执行日期
  423. Date priceDate = (Date) stringObjectMap.get("priceDate");
  424. if (address2 ==null||priceDate==null){
  425. continue;
  426. }
  427. String format = simpleDateFormat.format(priceDate);
  428. Date parse = simpleDateFormat.parse(format);
  429. //Date parse1 = simpleDateFormat.parse("2022-12-10")
  430. if (parse.before(orderTime)||parse.equals(orderTime)){
  431. if (address2.equals(address1)){
  432. flag=1;
  433. if (map1.size()==0){
  434. map1.putAll(stringObjectMap);
  435. }else{
  436. //比较日期(如果日期在存入的日期之后,则存入该日期)
  437. Date priceDate1 = (Date) map1.get("priceDate");
  438. String format1 = simpleDateFormat.format(priceDate1);
  439. Date parse1 = simpleDateFormat.parse(format1);
  440. if (parse.after(parse1)){
  441. map1.clear();
  442. map1.putAll(stringObjectMap);
  443. }
  444. }
  445. }
  446. }
  447. }
  448. if (flag==1){
  449. BigDecimal priceid = (BigDecimal) map1.get("priceid");
  450. amsContractTruckPriceMapper.updateDeletedTemplate(priceid);
  451. salePriceList.add(map1);
  452. }
  453. }
  454. return success(salePriceList);
  455. }
  456. @ApiOperation(value="查询内转汽运单价信息")
  457. @ApiImplicitParams({
  458. @ApiImplicitParam(name = "apiId(109)", value = "表头", required = false, dataType = "Interger")
  459. })
  460. @PostMapping("/getInwardContractPrice")
  461. public RESTfulResult getInwardContractPrice(@RequestBody(required=false) Map<String,Object> mapValue,
  462. Integer apiId,
  463. Integer pageNum,
  464. Integer pageSize,
  465. Integer deleted,
  466. String con){
  467. if(deleted != null) {
  468. mapValue.put("deleted", deleted);
  469. }
  470. if (con != null && !con.equals("undefined")) {
  471. mapValue.put("con","%" + con + "%");
  472. }
  473. PageHelper.startPage(pageNum,pageSize);
  474. if ("materialNames".equals(mapValue.get("orderField"))){
  475. mapValue.put("orderField",null);
  476. }
  477. List<Map<String, Object>> amsContractTransportPrice1 = amsContractTruckPriceService.getInwardContractPrice(mapValue);
  478. if (mapValue.get("materialNames")!=null && !"".equals(mapValue.get("materialNames"))) {
  479. String materialNames = mapValue.get("materialNames").toString();
  480. List<Map<String, Object>> amsContractTransportPrice2=new ArrayList<>();
  481. amsContractTransportPrice1.forEach(map->{
  482. if (map.get("materialNames")!=null && !"".equals(map.get("materialNames"))) {
  483. if (materialNames.equals("["+map.get("materialNames")+"]")) {
  484. amsContractTransportPrice2.add(map);
  485. }
  486. }
  487. });
  488. amsContractTransportPrice1=amsContractTransportPrice2;
  489. }
  490. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,amsContractTransportPrice1);
  491. return success(pageList);
  492. }
  493. /**
  494. * 新增汽运单价
  495. * @param mapValue
  496. * @return
  497. */
  498. @ApiOperation(value="新增汽运单价")
  499. @ApiImplicitParams({
  500. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  501. })
  502. @PostMapping(value = "/addAmsContractTransportPrice1")
  503. public RESTfulResult addAmsContractTransportPrice(@RequestBody(required = false) Map<String,Object> mapValue){
  504. int i = amsContractTruckPriceService.addAmsContractTransportPrice(mapValue);
  505. return success(i);
  506. }
  507. /**
  508. * 新增内转汽运单价
  509. * @param mapValue
  510. * @return
  511. */
  512. @ApiOperation(value="新增内转汽运单价")
  513. @ApiImplicitParams({
  514. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  515. })
  516. @PostMapping(value = "/insertInwardPrice")
  517. public RESTfulResult insertInwardPrice(@RequestBody(required = false) Map<String,Object> mapValue){
  518. int i = amsContractTruckPriceService.insertInwardPrice(mapValue);
  519. return success(i);
  520. }
  521. /**
  522. * 通过主键删除汽运单价
  523. * @param priceId
  524. * @return
  525. */
  526. @ApiOperation(value="通过主键删除汽运单价")
  527. @ApiImplicitParams({
  528. @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  529. })
  530. @PostMapping(value = "/deleteAmsContractTransportPrice1")
  531. public RESTfulResult deleteAmsContractTransportPrice(BigDecimal priceId){
  532. int i = amsContractTruckPriceService.deleteAmsContractTransportPrice(priceId);
  533. return success(i);
  534. }
  535. /**
  536. * 通过主键渲染汽运单价信息
  537. * @param priceId
  538. * @return
  539. */
  540. @ApiOperation(value="通过主键渲染汽运单价信息")
  541. @ApiImplicitParams({
  542. @ApiImplicitParam(name = "priceId", value = "主键Id", required = false, dataType = "java.math.BigDecimal")
  543. })
  544. @PostMapping(value = "/getAmsContractTransportPriceByPriceId1")
  545. public RESTfulResult getAmsContractTransportPriceByPriceId(@RequestParam BigDecimal priceId){
  546. List<Map<String, Object>> maps = amsContractTruckPriceService.selectByPriceId(priceId);
  547. return success(maps);
  548. }
  549. /**
  550. * 通过主键修改汽运单价
  551. * @param amsContractTransportPrice
  552. * @return
  553. */
  554. @ApiOperation(value="通过主键修改汽运单价")
  555. @ApiImplicitParams({
  556. @ApiImplicitParam(name = "amsContractTransportPrice", value = "销售订单对象", required = false, dataType = "AmsContractTransportPrice")
  557. })
  558. @PostMapping(value = "/updateAmsContractTransportPrice1")
  559. public RESTfulResult updateAmsContractTransportPrice(@RequestParam AmsContractTransportPrice amsContractTransportPrice){
  560. int i = amsContractTruckPriceService.updateAmsContractTransportPrice(amsContractTransportPrice);
  561. return success(i);
  562. }
  563. /**
  564. * 油价联动导致运价变动,批量修改运价
  565. * @param
  566. * @return
  567. */
  568. @ApiOperation(value="油价联动导致运价变动,批量修改运价")
  569. @ApiImplicitParams({
  570. })
  571. @PostMapping(value = "/batchUpdateTransportPriceByOilPrice1")
  572. public RESTfulResult batchUpdateTransportPriceByOilPrice(@RequestBody Map<String,Object> map) throws ParseException {
  573. int i = amsContractTruckPriceService.batchUpdateTransportPriceByOilPrice(map);
  574. return success(i);
  575. }
  576. /**
  577. * 获取承运商名称
  578. * @param
  579. * @return
  580. */
  581. @ApiOperation(value="获取承运商名称")
  582. @ApiImplicitParams({
  583. })
  584. @GetMapping(value = "/getCarrierName")
  585. public RESTfulResult getCarrierName(){
  586. return success(amsContractTruckPriceService.getCarrierName());
  587. }
  588. /**
  589. * 获取线路编号
  590. * @param
  591. * @return
  592. */
  593. @ApiOperation(value="获取线路编号")
  594. @ApiImplicitParams({
  595. })
  596. @GetMapping(value = "/getLineNo")
  597. public RESTfulResult getLineNo(){
  598. return success(amsContractTruckPriceService.getLineNo());
  599. }
  600. /**
  601. * 获取运力编号
  602. * @param
  603. * @return
  604. */
  605. @ApiOperation(value="获取运力编号")
  606. @ApiImplicitParams({
  607. })
  608. @GetMapping(value = "/getCapacityNumber")
  609. public RESTfulResult getCapacityNumber(){
  610. return success(amsContractTruckPriceService.getCapacityNumber());
  611. }
  612. /**
  613. * 获取收货地址
  614. * @param
  615. * @return
  616. */
  617. @ApiOperation(value="获取收货地址")
  618. @ApiImplicitParams({
  619. @ApiImplicitParam(name = "apiId" ,value = "255")
  620. })
  621. @PostMapping (value = "/getAddressDeliveryAddress")
  622. public RESTfulResult getAddressDeliveryAddress(@RequestBody(required=false) Map<String,Object> mapValue,
  623. Integer apiId,
  624. Integer pageNum,
  625. Integer pageSize,
  626. String con){
  627. if (con != null && !con.equals("undefined")) {
  628. mapValue.put("con","%" + con + "%");
  629. }
  630. //不分页筛选数据
  631. PageHelper.startPage(pageNum,pageSize);
  632. //分页数据
  633. List<Map<String, Object>> saleOrderList = amsContractTruckPriceService.getAddressDeliveryAddress(mapValue);
  634. List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
  635. int i=0;
  636. for (Map<String, Object> columnData : columnDataList) {
  637. //每个表头字段的过滤条件
  638. columnData.put("filters", setListMap(saleOrderList, columnData.get("prop").toString()));
  639. if (i==0){
  640. columnData.put("min-width","78px");
  641. }else if (i==2){
  642. columnData.put("min-width","94px");
  643. }
  644. i++;
  645. }
  646. PageListAdd pageList = new PageListAdd(saleOrderList);
  647. pageList.setColumnData(columnDataList);
  648. //PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,saleOrderList);
  649. return success(pageList);
  650. }
  651. private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
  652. Set<Map<String, Object>> setString = new HashSet<>();
  653. for (Map<String, Object> map : list) {//遍历每条数据
  654. Map<String, Object> map1 = new HashMap<>();
  655. //map.get(name)获取每条数据中对应表头字段的数据
  656. map1.put("text", map.get(name));
  657. if (map.get(name) != null) {
  658. map1.put("value", map.get(name));
  659. setString.add(map1);
  660. }
  661. }
  662. return setString;
  663. }
  664. /**
  665. * 获取货物类型
  666. * @param
  667. * @return
  668. */
  669. @ApiOperation(value="获取货物类型")
  670. @ApiImplicitParams({
  671. })
  672. @GetMapping(value = "/getCargoName")
  673. public RESTfulResult getCargoName(){
  674. return success(amsContractTruckPriceService.getCargoName());
  675. }
  676. /**
  677. * 获取油品名称
  678. * @param
  679. * @return
  680. */
  681. @ApiOperation(value="获取油品名称")
  682. @ApiImplicitParams({
  683. })
  684. @GetMapping(value = "/getOilTypeName")
  685. public RESTfulResult getOilTypeName(){
  686. return success(amsContractTruckPriceService.getOilTypeName());
  687. }
  688. @ApiModelProperty(value = "边输边查具体地址")
  689. @PostMapping("/getRealAddressByLike")
  690. public RESTfulResult getRealAddressByLike(@RequestParam Integer addressId,@RequestParam String index){
  691. if (index != null ) {
  692. if (index.length() == 0 || index.equals("undefined")) {
  693. index = null;
  694. }
  695. else {
  696. index = "%" + index + "%";
  697. }
  698. }
  699. Map<String,Object> map = new HashMap<>();
  700. map.put("addressId",addressId);
  701. map.put("index",index);
  702. List<Map<String,Object>> mapList = amsContractTruckPriceService.getRealAddressByLike(map);
  703. return success(mapList);
  704. }
  705. @ApiOperation("通过物资,车型,承运起止范围匹配运输单价")
  706. @PostMapping("/getInwardPriceBy")
  707. public Map<String,Object> getInwardPriceBy(@RequestBody(required = false) Map<String,Object> mapvalue){
  708. //接受结算是内转计重还是计时还是计数
  709. String settleMentType = (String) mapvalue.get("requirementType");
  710. String insertUpdateRemark = (String) mapvalue.get("insertUpdateRemark");
  711. BigDecimal type = null;
  712. if("计重".equals(settleMentType)){
  713. if(insertUpdateRemark!=null && !"".equals(insertUpdateRemark) && insertUpdateRemark.contains("计时且过计量")){
  714. //计重且计时,走计时流程
  715. type = new BigDecimal(5);
  716. }else{
  717. //在单价表里内转计重是2
  718. type = new BigDecimal(2);
  719. }
  720. }else if("计时".equals(settleMentType)){
  721. //在单价表里内转计时是5
  722. type = new BigDecimal(5);
  723. }else if("计次".equals(settleMentType)){
  724. //在单价表里内转计时是6
  725. type = new BigDecimal(6);
  726. }
  727. List<Map<String,Object>> mapList=new LinkedList<>();
  728. try{
  729. mapvalue.put("type",type);
  730. mapList=mapList = amsContractTruckPriceService.selectInwardPrice(mapvalue);
  731. }catch (Exception e){
  732. System.out.println("e"+e.getMessage());
  733. }
  734. if(mapList.size()!=0){
  735. return mapList.get(0);
  736. }
  737. else{
  738. return null;
  739. }
  740. }
  741. @ApiOperation(value = "承运起止范围与装货点")
  742. @PostMapping("/getRangePoint")
  743. public RESTfulResult getRangePoint(@RequestBody(required = false)Map<String,Object>mapValue,
  744. Integer apiId,
  745. Integer pageNum,
  746. Integer pageSize,
  747. String con){
  748. if (con != null && !con.equals("undefined")) {
  749. mapValue.put("con","%" + con + "%");
  750. }
  751. //不分页筛选数据
  752. PageHelper.startPage(pageNum,pageSize);
  753. //分页数据
  754. List<Map<String, Object>> rangePointList = amsContractTruckPriceService.getRangePoint(mapValue);
  755. PageListAdd pageList = columnDataUtil.tableColumnData(apiId, null,rangePointList);
  756. return success(pageList);
  757. }
  758. @ApiOperation(value = "插入承运起止范围与装货点")
  759. @PostMapping("/insertLineNodePoint")
  760. public RESTfulResult insertLineNodePoint(@RequestBody(required = false)Map<String,Object>map){
  761. return success(amsContractTruckPriceService.insertLineNodePoint(map));
  762. }
  763. @ApiOperation("根据汽运ID修改单价")
  764. @PostMapping("updatePriceById")
  765. public RESTfulResult updatePriceById(@RequestBody(required = false) Map<String,Object> map) {
  766. //
  767. int i = amsContractTruckPriceService.updatePriceById(map);
  768. return success(i);
  769. }
  770. @ApiOperation(value = "查询出收货地址ID")
  771. @PostMapping("/queryPlaceId")
  772. public BigDecimal queryPlaceId(@RequestBody(required = false) BigDecimal bigDecimal){
  773. List<Map<String, Object>> maps = amsContractTruckPriceMapper.selectByPriceId(bigDecimal);
  774. BigDecimal b=BigDecimal.ZERO;
  775. for (Map<String, Object> map : maps) {
  776. b = (BigDecimal) map.get("PLACE_ID");
  777. }
  778. return b;
  779. }
  780. @ApiOperation(value="修改内转汽运单价")
  781. @PostMapping("/updateTransPrice")
  782. public RESTfulResult updateTransPrice(@RequestBody(required=false) Map<String,Object> map){
  783. int i = amsContractTruckPriceService.updatePriceByPriceId(map);
  784. return success(i);
  785. }
  786. @ApiOperation(value="查询物资")
  787. @PostMapping("/getwz")
  788. public RESTfulResult getwz(@RequestBody(required=false) Map<String,Object> map){
  789. List<Map<String, Object>> i = amsContractTruckPriceService.getwz(map);
  790. return success(i);
  791. }
  792. @ApiOperation(value="查询联动公式数据")
  793. @PostMapping("/getcargonameId")
  794. public RESTfulResult getcargonameId(@RequestBody(required=false) Map<String,Object> map){
  795. Map<String, Object> i = amsContractTruckPriceService.getcargonameId(map);
  796. return success(i);
  797. }
  798. }