AmsContractTransportPriceServiceImpl.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.AmsContractTransportPriceMapper;
  3. import com.steerinfo.dil.model.AmsContractTransportPrice;
  4. import com.steerinfo.dil.service.IAmsContractTransportPriceService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Service;
  7. import java.math.BigDecimal;
  8. import java.util.Date;
  9. import java.util.List;
  10. import java.util.Map;
  11. /**
  12. * @Description:
  13. * @Author:HuJianGuo
  14. * @GreateTime:2021/9/3 16:58
  15. * @Version:V2.0
  16. */
  17. @Service
  18. public class AmsContractTransportPriceServiceImpl implements IAmsContractTransportPriceService {
  19. @Autowired
  20. AmsContractTransportPriceMapper amsContractTransportPriceMapper;
  21. /**
  22. * 得到最大id
  23. * @return
  24. */
  25. @Override
  26. public BigDecimal selectMaxId() {
  27. return amsContractTransportPriceMapper.selectTransportId();
  28. }
  29. /**
  30. * 展示所有水运单价信息
  31. * @param mapValue
  32. * @return
  33. */
  34. @Override
  35. public List<Map<String, Object>> getShipPriceList(Map<String, Object> mapValue) {
  36. return amsContractTransportPriceMapper.getShipPriceList(mapValue);
  37. }
  38. /**
  39. * 新增水运单价
  40. * @param amsContractTransportPrice
  41. * @return
  42. */
  43. @Override
  44. public int insertShip(AmsContractTransportPrice amsContractTransportPrice) {
  45. BigDecimal priceId = selectMaxId();
  46. amsContractTransportPrice.setPriceId(priceId);
  47. // 设置常规字段
  48. amsContractTransportPrice.setInsertUsername("admin");
  49. amsContractTransportPrice.setInsertTime(new Date());
  50. amsContractTransportPrice.setType(new BigDecimal(3));
  51. amsContractTransportPrice.setUpdateTime(new Date());
  52. amsContractTransportPrice.setUpdateUsername("admin");
  53. amsContractTransportPrice.setInsertUpdateRemark("无");
  54. amsContractTransportPrice.setDeleted(new BigDecimal(0));
  55. return amsContractTransportPriceMapper.insertSelective(amsContractTransportPrice);
  56. }
  57. /**
  58. * 新增汽运单价
  59. * @param amsContractTransportPrice
  60. * @return
  61. */
  62. @Override
  63. public int insertTruck(AmsContractTransportPrice amsContractTransportPrice) {
  64. BigDecimal priceId = selectMaxId();
  65. amsContractTransportPrice.setPriceId(priceId);
  66. // 设置常规字段
  67. amsContractTransportPrice.setInsertUsername("admin");
  68. amsContractTransportPrice.setInsertTime(new Date());
  69. amsContractTransportPrice.setType(new BigDecimal(4));
  70. amsContractTransportPrice.setUpdateTime(new Date());
  71. amsContractTransportPrice.setUpdateUsername("admin");
  72. amsContractTransportPrice.setInsertUpdateRemark("无");
  73. amsContractTransportPrice.setDeleted(new BigDecimal(0));
  74. return amsContractTransportPriceMapper.insertSelective(amsContractTransportPrice);
  75. }
  76. /**
  77. * 逻辑删除
  78. * @param priceId
  79. * @return
  80. */
  81. @Override
  82. public int delete(BigDecimal priceId) {
  83. AmsContractTransportPrice amsContractTransportPrice = amsContractTransportPriceMapper.selectByPrimaryKey(priceId);
  84. amsContractTransportPrice.setDeleted(new BigDecimal(1));
  85. return amsContractTransportPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
  86. }
  87. /**
  88. * 修改
  89. * @param amsContractTransportPrice
  90. * @return
  91. */
  92. @Override
  93. public int updateByPrimaryKeySelective(AmsContractTransportPrice amsContractTransportPrice) {
  94. amsContractTransportPrice.setUpdateTime(new Date());
  95. return amsContractTransportPriceMapper.updateByPrimaryKeySelective(amsContractTransportPrice);
  96. }
  97. /**
  98. * 获得托运人id
  99. * @return
  100. */
  101. @Override
  102. public List<Map<String, Object>> getShipperId() {
  103. return amsContractTransportPriceMapper.getShipperId();
  104. }
  105. /**
  106. * 获得承运商id
  107. * @return
  108. */
  109. @Override
  110. public List<Map<String, Object>> getCarrierId() {
  111. return amsContractTransportPriceMapper.getCarrierId();
  112. }
  113. /**
  114. * 获得船运运力id
  115. * @return
  116. */
  117. @Override
  118. public List<Map<String, Object>> getCapacityId() {
  119. return amsContractTransportPriceMapper.getCapacityId();
  120. }
  121. /**
  122. * 获得汽运运力id
  123. * @return
  124. */
  125. @Override
  126. public List<Map<String, Object>> getTruckCapacityId() {
  127. return amsContractTransportPriceMapper.getTruckCapacityId();
  128. }
  129. /**
  130. * 获得物资id
  131. * @return
  132. */
  133. @Override
  134. public List<Map<String, Object>> getMaterialId() {
  135. return amsContractTransportPriceMapper.getMaterialId();
  136. }
  137. /**
  138. * 获得运输线路id
  139. * @return
  140. */
  141. @Override
  142. public List<Map<String, Object>> getLineId() {
  143. return amsContractTransportPriceMapper.getLineId();
  144. }
  145. /**
  146. * 获取采购汽运单价信息
  147. * @param map
  148. * @return
  149. */
  150. @Override
  151. public List<Map<String, Object>> getAmsContractTransportPrice(Map<String, Object> map) {
  152. return amsContractTransportPriceMapper.getTruckPriceList(map);
  153. }
  154. /**
  155. * 得到地址下拉框
  156. * @return
  157. */
  158. @Override
  159. public List<Map<String, Object>> getAddressDeliveryAddress() {
  160. return amsContractTransportPriceMapper.getAddressDeliveryAddress();
  161. }
  162. /**
  163. * 通过主键获取渲染
  164. * @param priceId
  165. * @return
  166. */
  167. @Override
  168. public List<Map<String, Object>> selectByPriceId(BigDecimal priceId) {
  169. return amsContractTransportPriceMapper.selectByPriceId(priceId);
  170. }
  171. /**
  172. * 得到油价
  173. * @return
  174. */
  175. @Override
  176. public List<Map<String, Object>> getOriginAndNowOilPrice() {
  177. return amsContractTransportPriceMapper.getOriginAndNowOilPrice();
  178. }
  179. /**
  180. * 通过油价修改汽运单价
  181. * @return
  182. */
  183. @Override
  184. public int batchUpdateTransportPriceByOilPrice() {
  185. //获取所有油价信息
  186. List<Map<String, Object>> originAndNowOilPrice = amsContractTransportPriceMapper.getOriginAndNowOilPrice();
  187. //原油价
  188. BigDecimal originOilPrice = new BigDecimal("1");
  189. //现油价
  190. BigDecimal nowOilPrice = new BigDecimal("0");
  191. for (int i = 0; i < 2; i++) {
  192. if(i==0){
  193. nowOilPrice = (BigDecimal) originAndNowOilPrice.get(i).get("priceValue");
  194. }else if(i==1){
  195. originOilPrice = (BigDecimal) originAndNowOilPrice.get(i).get("priceValue");
  196. }
  197. }
  198. //油价变动率
  199. Double updateOilPrice = nowOilPrice.doubleValue()/originOilPrice.doubleValue()-1;
  200. //获取原运价和吨公里数
  201. List<Map<String, Object>> priceValueAndPriceTonKilometer = amsContractTransportPriceMapper.getPriceValueAndPriceTonKilometer();
  202. if(updateOilPrice>0.05||updateOilPrice<-0.05){
  203. return amsContractTransportPriceMapper.batchUpdateTransportPriceByOilPrice(updateOilPrice);
  204. }
  205. return 0;
  206. }
  207. /**
  208. * 得到汽运单价
  209. * @return
  210. */
  211. @Override
  212. public List<Map<String, Object>> getPriceValueAndPriceTonKilometer() {
  213. return amsContractTransportPriceMapper.getPriceValueAndPriceTonKilometer();
  214. }
  215. /**
  216. * 修改渲染
  217. * @param priceId
  218. * @return
  219. */
  220. @Override
  221. public List<Map<String, Object>> selectPriceToUpdate(BigDecimal priceId) {
  222. return amsContractTransportPriceMapper.selectPriceToUpdate(priceId);
  223. }
  224. }