TCntrnoServiceImpl.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  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. tCntrno.setfStatus("T");
  69. return tCntrnoMapper.insertTCntrno(tCntrno);
  70. }
  71. /**
  72. * 修改集装箱号
  73. *
  74. * @param tCntrno 集装箱号
  75. * @return 结果
  76. */
  77. @Override
  78. public int updateTCntrno(List<TCntrno> tCntrno)
  79. {
  80. int update = 0;
  81. if (CollectionUtils.isNotEmpty(tCntrno)){
  82. for (TCntrno cntrno : tCntrno) {
  83. TCntrno tCntrnoById = tCntrnoMapper.selectTCntrnoById(cntrno.getfId());
  84. tCntrnoById.setUpdateTime(DateUtils.getNowDate());
  85. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  86. //最新时间
  87. if (cntrno.getFoldtime() == null){
  88. cntrno.setfUpdatetime(new Date());
  89. }else {
  90. cntrno.setfUpdatetime(cntrno.getFoldtime());
  91. }
  92. //调入地点
  93. if (StringUtils.isNotEmpty(cntrno.getFoldSite())){
  94. cntrno.setfUpdateaddress(cntrno.getFoldSite());
  95. }
  96. //调入空重
  97. if (StringUtils.isNotEmpty(cntrno.getFoldFUpdateef())){
  98. cntrno.setfUpdateef(cntrno.getFoldFUpdateef());
  99. }
  100. //调入状态
  101. if (StringUtils.isNotEmpty(cntrno.getFoldFCntrstatus())){
  102. cntrno.setfCntrstatus(cntrno.getFoldFCntrstatus());
  103. }
  104. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  105. TCntrtracking setfield = setfield(tCntrnoById);
  106. setfield.setfId(null);
  107. if (setfield.getfStatus().equals("T") ||setfield.getfStatus().equals("正常")){
  108. setfield.setfStatus("T");
  109. }else {
  110. setfield.setfStatus("F");
  111. }
  112. tCntrtrackingMapper.insertTCntrtracking(setfield);
  113. //更改t_cntro表信息
  114. if (cntrno.getfUpdatetime() == null){
  115. cntrno.setUpdateTime(DateUtils.getNowDate());
  116. }
  117. cntrno.setUpdateBy(SecurityUtils.getUsername());
  118. update = tCntrnoMapper.updateTCntrno((cntrno));
  119. }
  120. }
  121. return update;
  122. }
  123. @Override
  124. public int updateTCntrnoMessage(TCntrno tCntrno) {
  125. TCntrno tCntrnoById = tCntrnoMapper.selectTCntrnoById(tCntrno.getfId());
  126. tCntrnoById.setUpdateTime(DateUtils.getNowDate());
  127. tCntrnoById.setUpdateBy(SecurityUtils.getUsername());
  128. if (tCntrnoById.getfStatus().equals("T") ||tCntrnoById.getfStatus().equals("正常")){
  129. tCntrnoById.setfStatus("T");
  130. }else {
  131. tCntrnoById.setfStatus("F");
  132. }
  133. TCntrtracking setfield = setfield(tCntrnoById);
  134. tCntrtrackingMapper.insertTCntrtracking(setfield);
  135. //更改t_cntro表信息
  136. tCntrno.setUpdateTime(DateUtils.getNowDate());
  137. tCntrno.setUpdateBy(SecurityUtils.getUsername());
  138. return tCntrnoMapper.updateTCntrno((tCntrno));
  139. }
  140. /**
  141. * 批量删除集装箱号
  142. *
  143. * @param fIds 需要删除的集装箱号ID
  144. * @return 结果
  145. */
  146. @Override
  147. public int deleteTCntrnoByIds(Long[] fIds)
  148. {
  149. return tCntrnoMapper.deleteTCntrnoByIds(fIds);
  150. }
  151. /**
  152. * 删除集装箱号信息
  153. *
  154. * @param fId 集装箱号ID
  155. * @return 结果
  156. */
  157. @Override
  158. public int deleteTCntrnoById(Long fId)
  159. {
  160. return tCntrnoMapper.deleteTCntrnoById(fId);
  161. }
  162. /**
  163. * 批量更新数据状态将正常状态改为停用
  164. * @param fIds
  165. * @return
  166. */
  167. @Override
  168. public int updateTcntrnoStatus(Long[] fIds) {
  169. return tCntrnoMapper.updateTcntrnoStatus(fIds);
  170. }
  171. @Override
  172. public List<TCntrno> selectTcntrnoMessage(TCntrno tCntrno) {
  173. return tCntrnoMapper.selectTcntrnoMessage(tCntrno);
  174. }
  175. @Override
  176. public List<Map<String, Object>> getTCntrnoMessage(TCntrno tCntrno) {
  177. StringBuffer stringBuffer = new StringBuffer();
  178. List<String> list = tCntrMapper.selectTCntrFNo();
  179. String sql = null;
  180. if (CollectionUtils.isNotEmpty(list)){
  181. for (String s : list) {
  182. stringBuffer.append("MAX( CASE WHEN tt.f_no = '"+s);
  183. stringBuffer.append("' THEN tt.typeidCount ELSE 0 END ) AS '" +s +"',");
  184. }
  185. sql = stringBuffer.subSequence(0,stringBuffer.length() -1).toString();
  186. }
  187. return tCntrnoMapper.getTCntrnoMessage(sql,tCntrno);
  188. }
  189. @Override
  190. public List<TCntrno> getTCntrnoDistribute(TCntrno tCntrno) {
  191. //箱类型不为空查箱类型id
  192. if (StringUtils.isNotEmpty(tCntrno.getTypeidName())){
  193. Long fId = tCntrMapper.selectRcntrFId(tCntrno.getTypeidName());
  194. tCntrno.setfTypeid(fId);
  195. }
  196. //箱状态不为空查箱状态
  197. if (StringUtils.isNotEmpty(tCntrno.getCntrstatusName())){
  198. String cntrstatus = sysDictDataMapper.selectDictValue("f_cntrstatus", tCntrno.getCntrstatusName());
  199. tCntrno.setfCntrstatus(cntrstatus);
  200. }
  201. //箱空重部位空查空重
  202. if (StringUtils.isNotEmpty(tCntrno.getUpdateEFName())){
  203. String cntrstatus = sysDictDataMapper.selectDictValue("f_updateEF", tCntrno.getUpdateEFName());
  204. tCntrno.setfUpdateef(cntrstatus);
  205. }
  206. return tCntrnoMapper.selectTcntrnoMessage(tCntrno);
  207. }
  208. @Override
  209. public List<String> getTCntrnoChange(TCntrno tCntrno) {
  210. List<String> key = new ArrayList<>();
  211. key.add("地点");
  212. List<String> list = tCntrMapper.selectTCntrFNo();
  213. key.addAll(list);
  214. key.add("空");
  215. key.add("重");
  216. key.add("好");
  217. key.add("坏");
  218. return key;
  219. }
  220. /**
  221. * set字段
  222. * @param tCntrno
  223. * @return
  224. */
  225. public TCntrtracking setfield(TCntrno tCntrno){
  226. TCntrtracking tCntrtracking = new TCntrtracking();
  227. BeanUtils.copyProperties(tCntrno,tCntrtracking);
  228. tCntrtracking.setfId(null);
  229. return tCntrtracking;
  230. }
  231. public List<String> GetMapKey(List<Map<String, Object>> listResult)
  232. {
  233. if ((listResult != null) && (!listResult.isEmpty()))
  234. {
  235. List listKey = new ArrayList();
  236. Map mapResult = (Map)listResult.get(0);
  237. Set mapKeySet = mapResult.keySet();
  238. String listHead = "";
  239. Iterator iteratorKey = mapKeySet.iterator();
  240. while (iteratorKey.hasNext()) {
  241. listHead = iteratorKey.next().toString();
  242. listKey.add(listHead);
  243. }
  244. return listKey;
  245. }
  246. return null;
  247. }
  248. }