TCtnpriceServiceImpl.java 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.ruoyi.shipping.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import com.alibaba.fastjson.JSONArray;
  7. import com.alibaba.fastjson.JSONObject;
  8. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  9. import com.ruoyi.common.core.domain.AjaxResult;
  10. import com.ruoyi.common.utils.DateUtils;
  11. import com.ruoyi.common.utils.SecurityUtils;
  12. import com.ruoyi.shipping.domain.TCtnpriceItems;
  13. import com.ruoyi.shipping.mapper.TCtnpriceItemsMapper;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import com.ruoyi.shipping.mapper.TCtnpriceMapper;
  17. import com.ruoyi.shipping.domain.TCtnprice;
  18. import com.ruoyi.shipping.service.ITCtnpriceService;
  19. import org.springframework.transaction.annotation.Transactional;
  20. /**
  21. * 海运运价Service业务层处理
  22. *
  23. * @author ruoyi
  24. * @date 2021-04-06
  25. */
  26. @Service
  27. public class TCtnpriceServiceImpl implements ITCtnpriceService
  28. {
  29. @Autowired
  30. private TCtnpriceMapper tCtnpriceMapper;
  31. @Autowired
  32. private TCtnpriceItemsMapper tCtnpriceItemsMapper;
  33. /**
  34. * 查询海运运价
  35. *
  36. * @param fId 海运运价ID
  37. * @return 海运运价
  38. */
  39. @Override
  40. public TCtnprice selectTCtnpriceById(Long fId)
  41. {
  42. return tCtnpriceMapper.selectTCtnpriceById(fId);
  43. }
  44. @Override
  45. public AjaxResult selectTCtnprice(Long fId) {
  46. Map<String, Object> map = new HashMap<>();
  47. TCtnprice tCtnprice = tCtnpriceMapper.selectTCtnpriceById(fId);
  48. TCtnpriceItems tCtnpriceItems = new TCtnpriceItems();
  49. tCtnpriceItems.setfPid(fId);
  50. List<TCtnpriceItems> ctnpriceItems = tCtnpriceItemsMapper.selectTCtnpriceItemsList(tCtnpriceItems);
  51. map.put("tCtnprice",tCtnprice);
  52. map.put("ctnpriceItems",ctnpriceItems);
  53. return AjaxResult.success("成功",map);
  54. }
  55. /**
  56. * 查询海运运价列表
  57. *
  58. * @param tCtnprice 海运运价
  59. * @return 海运运价
  60. */
  61. @Override
  62. public List<TCtnprice> selectTCtnpriceList(TCtnprice tCtnprice)
  63. {
  64. return tCtnpriceMapper.selectTCtnpriceList(tCtnprice);
  65. }
  66. /**
  67. * 新增海运运价
  68. *
  69. * @param tCtnprice 海运运价
  70. * @return 结果
  71. */
  72. @Override
  73. public int insertTCtnprice(TCtnprice tCtnprice)
  74. {
  75. tCtnprice.setCreateTime(DateUtils.getNowDate());
  76. tCtnprice.setCreateBy(SecurityUtils.getUsername());
  77. return tCtnpriceMapper.insertTCtnprice(tCtnprice);
  78. }
  79. @Override
  80. @Transactional
  81. public AjaxResult insertTCtnpriceNew(String tCtnprice, String tCtnpriceItems) {
  82. TCtnprice ctnprice = JSONArray.parseObject(tCtnprice, TCtnprice.class);
  83. if (ctnprice.getfPortofloadid() == null){
  84. return AjaxResult.error("装货港不能为空");
  85. }
  86. if (ctnprice.getfDistinationid() == null){
  87. return AjaxResult.error("目的港不能为空");
  88. }
  89. if (ctnprice.getfPortoftransshipment() == null){
  90. return AjaxResult.error("中转港不能为空");
  91. }
  92. if (ctnprice.getfEtd() == null){
  93. return AjaxResult.error("预计开船日期不能为空");
  94. }
  95. if (ctnprice.getfEta() == null){
  96. return AjaxResult.error("预计到达日期不能为空");
  97. }
  98. if (ctnprice.getfBegindate() == null){
  99. return AjaxResult.error("有效期止不能为空");
  100. }
  101. List<TCtnpriceItems> ctnpriceItems = new ArrayList<>();
  102. if (ctnprice.getfId() == null){
  103. ctnprice.setCreateTime(DateUtils.getNowDate());
  104. ctnprice.setCreateBy(SecurityUtils.getUsername());
  105. if (ctnprice.getfDays()==null){
  106. long dateDay = DateUtils.getDateDay(ctnprice.getfEta(),ctnprice.getfEtd());
  107. ctnprice.setfDays(dateDay);
  108. }
  109. int i = tCtnpriceMapper.insertTCtnprice(ctnprice);
  110. JSONArray warehouseJSON = JSONArray.parseArray(tCtnpriceItems);
  111. ctnpriceItems = JSONObject.parseArray(warehouseJSON.toJSONString(), TCtnpriceItems.class);
  112. if (CollectionUtils.isNotEmpty(ctnpriceItems)){
  113. for (TCtnpriceItems ctnpriceItem : ctnpriceItems) {
  114. ctnpriceItem.setfPid(ctnprice.getfId());
  115. ctnpriceItem.setCreateTime(DateUtils.getNowDate());
  116. ctnpriceItem.setCreateBy(SecurityUtils.getUsername());
  117. int items = tCtnpriceItemsMapper.insertTCtnpriceItems(ctnpriceItem);
  118. }
  119. }
  120. }else {
  121. ctnprice.setUpdateTime(DateUtils.getNowDate());
  122. ctnprice.setUpdateBy(SecurityUtils.getUsername());
  123. if (ctnprice.getfDays()==null){
  124. long dateDay = DateUtils.getDateDay(ctnprice.getfEta(),ctnprice.getfEtd());
  125. ctnprice.setfDays(dateDay);
  126. }
  127. if (ctnprice.getfStatus().equals("T") ||ctnprice.getfStatus().equals("正常")){
  128. ctnprice.setfStatus("T");
  129. }else {
  130. ctnprice.setfStatus("F");
  131. }
  132. int updateTCtnprice = tCtnpriceMapper.updateTCtnprice(ctnprice);
  133. JSONArray warehouseJSON = JSONArray.parseArray(tCtnpriceItems);
  134. ctnpriceItems = JSONObject.parseArray(warehouseJSON.toJSONString(), TCtnpriceItems.class);
  135. if (CollectionUtils.isNotEmpty(ctnpriceItems)){
  136. tCtnpriceItemsMapper.deleteTCtnpriceItemsByfPid(ctnprice.getfId());
  137. for (TCtnpriceItems ctnpriceItem : ctnpriceItems) {
  138. ctnpriceItem.setfPid(ctnprice.getfId());
  139. ctnpriceItem.setCreateTime(DateUtils.getNowDate());
  140. ctnpriceItem.setCreateBy(SecurityUtils.getUsername());
  141. if (ctnpriceItem.getfStatus().equals("T") ||ctnpriceItem.getfStatus().equals("正常")){
  142. ctnpriceItem.setfStatus("T");
  143. }else {
  144. ctnpriceItem.setfStatus("F");
  145. }
  146. int items = tCtnpriceItemsMapper.insertTCtnpriceItems(ctnpriceItem);
  147. }
  148. }
  149. }
  150. Map<String, Object> map = new HashMap<>();
  151. map.put("ctnprice",ctnprice);
  152. map.put("ctnpriceItems",ctnpriceItems);
  153. return AjaxResult.success("成功",map);
  154. }
  155. /**
  156. * 修改海运运价
  157. *
  158. * @param tCtnprice 海运运价
  159. * @return 结果
  160. */
  161. @Override
  162. public int updateTCtnprice(TCtnprice tCtnprice)
  163. {
  164. tCtnprice.setUpdateTime(DateUtils.getNowDate());
  165. tCtnprice.setUpdateBy(SecurityUtils.getUsername());
  166. return tCtnpriceMapper.updateTCtnprice(tCtnprice);
  167. }
  168. /**
  169. * 批量删除海运运价
  170. *
  171. * @param fIds 需要删除的海运运价ID
  172. * @return 结果
  173. */
  174. @Override
  175. @Transactional
  176. public int deleteTCtnpriceByIds(Long[] fIds)
  177. {
  178. int i;
  179. i = tCtnpriceMapper.deleteTCtnpriceByIds(fIds);
  180. i = tCtnpriceItemsMapper.deleteTCtnpriceItemsByfPids(fIds);
  181. return i;
  182. }
  183. /**
  184. * 删除海运运价信息
  185. *
  186. * @param fId 海运运价ID
  187. * @return 结果
  188. */
  189. @Override
  190. public int deleteTCtnpriceById(Long fId)
  191. {
  192. return tCtnpriceMapper.deleteTCtnpriceById(fId);
  193. }
  194. @Override
  195. public List<TCtnprice> freightSelect(TCtnprice tCtnprice) {
  196. List<TCtnprice> tCtnprices = tCtnpriceMapper.selectTCtnpriceList(tCtnprice);
  197. if (CollectionUtils.isNotEmpty(tCtnprices)){
  198. for (TCtnprice ctnprice : tCtnprices) {
  199. TCtnpriceItems items = new TCtnpriceItems();
  200. items.setfPid(ctnprice.getfId());
  201. List<TCtnpriceItems> tCtnpriceItems = tCtnpriceItemsMapper.selectTCtnpriceItemsList(items);
  202. ctnprice.settCtnpriceItemsList(tCtnpriceItems);
  203. }
  204. }
  205. return tCtnprices;
  206. }
  207. }