TCntrnoServiceImpl.java 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. package com.ruoyi.shipping.service.impl;
  2. import java.util.*;
  3. import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  4. import com.ruoyi.common.utils.DateUtils;
  5. import com.ruoyi.common.utils.SecurityUtils;
  6. import com.ruoyi.common.utils.StringUtils;
  7. import com.ruoyi.shipping.domain.TCntrtracking;
  8. import com.ruoyi.shipping.mapper.TCntrMapper;
  9. import com.ruoyi.shipping.mapper.TCntrtrackingMapper;
  10. import com.ruoyi.system.mapper.SysDictDataMapper;
  11. import org.springframework.beans.BeanUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import com.ruoyi.shipping.mapper.TCntrnoMapper;
  15. import com.ruoyi.shipping.domain.TCntrno;
  16. import com.ruoyi.shipping.service.ITCntrnoService;
  17. /**
  18. * 集装箱号Service业务层处理
  19. *
  20. * @author ruoyi
  21. * @date 2021-03-22
  22. */
  23. @Service
  24. public class TCntrnoServiceImpl implements ITCntrnoService
  25. {
  26. @Autowired
  27. private TCntrnoMapper tCntrnoMapper;
  28. @Autowired
  29. private TCntrtrackingMapper tCntrtrackingMapper;
  30. @Autowired
  31. private TCntrMapper tCntrMapper;
  32. @Autowired
  33. private SysDictDataMapper sysDictDataMapper;
  34. /**
  35. * 查询集装箱号
  36. *
  37. * @param fId 集装箱号ID
  38. * @return 集装箱号
  39. */
  40. @Override
  41. public TCntrno selectTCntrnoById(Long fId)
  42. {
  43. return tCntrnoMapper.selectTCntrnoById(fId);
  44. }
  45. /**
  46. * 查询集装箱号列表
  47. *
  48. * @param tCntrno 集装箱号
  49. * @return 集装箱号
  50. */
  51. @Override
  52. public List<TCntrno> selectTCntrnoList(TCntrno tCntrno)
  53. {
  54. return tCntrnoMapper.selectTCntrnoList(tCntrno);
  55. }
  56. /**
  57. * 新增集装箱号
  58. *
  59. * @param tCntrno 集装箱号
  60. * @return 结果
  61. */
  62. @Override
  63. public int insertTCntrno(TCntrno tCntrno)
  64. {
  65. tCntrno.setCreateTime(DateUtils.getNowDate());
  66. tCntrno.setCreateBy(SecurityUtils.getUsername());
  67. tCntrno.setfUpdatetime(DateUtils.getNowDate());
  68. return tCntrnoMapper.insertTCntrno(tCntrno);
  69. }
  70. /**
  71. * 修改集装箱号
  72. *
  73. * @param tCntrno 集装箱号
  74. * @return 结果
  75. */
  76. @Override
  77. public int updateTCntrno(List<TCntrno> tCntrno)
  78. {
  79. int update = 0;
  80. if (CollectionUtils.isNotEmpty(tCntrno)){
  81. for (TCntrno cntrno : tCntrno) {
  82. TCntrno tCntrnoById = tCntrnoMapper.selectTCntrnoById(cntrno.getfId());
  83. tCntrnoById.setUpdateTime(DateUtils.getNowDate());
  84. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  85. //最新时间
  86. if (cntrno.getFoldtime() == null){
  87. cntrno.setfUpdatetime(new Date());
  88. }else {
  89. cntrno.setfUpdatetime(cntrno.getFoldtime());
  90. }
  91. //调入地点
  92. if (StringUtils.isNotEmpty(cntrno.getFoldSite())){
  93. cntrno.setfUpdateaddress(cntrno.getFoldSite());
  94. }
  95. //调入空重
  96. if (StringUtils.isNotEmpty(cntrno.getFoldFUpdateef())){
  97. cntrno.setfUpdateef(cntrno.getFoldFUpdateef());
  98. }
  99. //调入状态
  100. if (StringUtils.isNotEmpty(cntrno.getFoldFCntrstatus())){
  101. cntrno.setfCntrstatus(cntrno.getFoldFCntrstatus());
  102. }
  103. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  104. TCntrtracking setfield = setfield(tCntrnoById);
  105. setfield.setfId(null);
  106. if (setfield.getfStatus().equals("T") ||setfield.getfStatus().equals("正常")){
  107. setfield.setfStatus("T");
  108. }else {
  109. setfield.setfStatus("F");
  110. }
  111. tCntrtrackingMapper.insertTCntrtracking(setfield);
  112. //更改t_cntro表信息
  113. if (cntrno.getfUpdatetime() == null){
  114. cntrno.setUpdateTime(DateUtils.getNowDate());
  115. }
  116. cntrno.setUpdateBy(SecurityUtils.getUsername());
  117. update = tCntrnoMapper.updateTCntrno((cntrno));
  118. }
  119. }
  120. return update;
  121. }
  122. @Override
  123. public int updateTCntrnoMessage(TCntrno tCntrno) {
  124. TCntrno tCntrnoById = tCntrnoMapper.selectTCntrnoById(tCntrno.getfId());
  125. tCntrnoById.setUpdateTime(DateUtils.getNowDate());
  126. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  127. if (tCntrnoById.getfStatus().equals("T") ||tCntrnoById.getfStatus().equals("正常")){
  128. tCntrnoById.setfStatus("T");
  129. }else {
  130. tCntrnoById.setfStatus("F");
  131. }
  132. TCntrtracking setfield = setfield(tCntrnoById);
  133. tCntrtrackingMapper.insertTCntrtracking(setfield);
  134. //更改t_cntro表信息
  135. tCntrno.setUpdateTime(DateUtils.getNowDate());
  136. tCntrno.setUpdateBy(SecurityUtils.getUsername());
  137. return tCntrnoMapper.updateTCntrno((tCntrno));
  138. }
  139. /**
  140. * 批量删除集装箱号
  141. *
  142. * @param fIds 需要删除的集装箱号ID
  143. * @return 结果
  144. */
  145. @Override
  146. public int deleteTCntrnoByIds(Long[] fIds)
  147. {
  148. return tCntrnoMapper.deleteTCntrnoByIds(fIds);
  149. }
  150. /**
  151. * 删除集装箱号信息
  152. *
  153. * @param fId 集装箱号ID
  154. * @return 结果
  155. */
  156. @Override
  157. public int deleteTCntrnoById(Long fId)
  158. {
  159. return tCntrnoMapper.deleteTCntrnoById(fId);
  160. }
  161. /**
  162. * 批量更新数据状态将正常状态改为停用
  163. * @param fIds
  164. * @return
  165. */
  166. @Override
  167. public int updateTcntrnoStatus(Long[] fIds) {
  168. return tCntrnoMapper.updateTcntrnoStatus(fIds);
  169. }
  170. @Override
  171. public List<TCntrno> selectTcntrnoMessage(TCntrno tCntrno) {
  172. return tCntrnoMapper.selectTcntrnoMessage(tCntrno);
  173. }
  174. @Override
  175. public List<Map<String, Object>> getTCntrnoMessage(TCntrno tCntrno) {
  176. StringBuffer stringBuffer = new StringBuffer();
  177. List<String> list = tCntrMapper.selectTCntrFNo();
  178. for (String s : list) {
  179. stringBuffer.append("MAX( CASE WHEN tt.f_no = '"+s);
  180. stringBuffer.append("' THEN tt.typeidCount ELSE 0 END ) AS '" +s +"',");
  181. }
  182. String sql = stringBuffer.subSequence(0,stringBuffer.length() -1).toString();
  183. return tCntrnoMapper.getTCntrnoMessage(sql,tCntrno);
  184. }
  185. @Override
  186. public List<TCntrno> getTCntrnoDistribute(TCntrno tCntrno) {
  187. //箱类型不为空查箱类型id
  188. if (StringUtils.isNotEmpty(tCntrno.getTypeidName())){
  189. Long fId = tCntrMapper.selectRcntrFId(tCntrno.getTypeidName());
  190. tCntrno.setfTypeid(fId);
  191. }
  192. //箱状态不为空查箱状态
  193. if (StringUtils.isNotEmpty(tCntrno.getCntrstatusName())){
  194. String cntrstatus = sysDictDataMapper.selectDictValue("f_cntrstatus", tCntrno.getCntrstatusName());
  195. tCntrno.setfCntrstatus(cntrstatus);
  196. }
  197. //箱空重部位空查空重
  198. if (StringUtils.isNotEmpty(tCntrno.getUpdateEFName())){
  199. String cntrstatus = sysDictDataMapper.selectDictValue("f_updateEF", tCntrno.getUpdateEFName());
  200. tCntrno.setfUpdateef(cntrstatus);
  201. }
  202. return tCntrnoMapper.selectTcntrnoMessage(tCntrno);
  203. }
  204. @Override
  205. public List<String> getTCntrnoChange(TCntrno tCntrno) {
  206. List<String> key = new ArrayList<>();
  207. key.add("地点");
  208. List<String> list = tCntrMapper.selectTCntrFNo();
  209. key.addAll(list);
  210. key.add("空");
  211. key.add("重");
  212. key.add("好");
  213. key.add("坏");
  214. return key;
  215. }
  216. /**
  217. * set字段
  218. * @param tCntrno
  219. * @return
  220. */
  221. public TCntrtracking setfield(TCntrno tCntrno){
  222. TCntrtracking tCntrtracking = new TCntrtracking();
  223. BeanUtils.copyProperties(tCntrno,tCntrtracking);
  224. return tCntrtracking;
  225. }
  226. public List<String> GetMapKey(List<Map<String, Object>> listResult)
  227. {
  228. if ((listResult != null) && (!listResult.isEmpty()))
  229. {
  230. List listKey = new ArrayList();
  231. Map mapResult = (Map)listResult.get(0);
  232. Set mapKeySet = mapResult.keySet();
  233. String listHead = "";
  234. Iterator iteratorKey = mapKeySet.iterator();
  235. while (iteratorKey.hasNext()) {
  236. listHead = iteratorKey.next().toString();
  237. listKey.add(listHead);
  238. }
  239. return listKey;
  240. }
  241. return null;
  242. }
  243. }