RmsCarrierServiceImpl.java 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.mapper.RmsBidAreaMapper;
  3. import com.steerinfo.dil.mapper.RmsCarrierMapper;
  4. import com.steerinfo.dil.model.RmsCarrier;
  5. import com.steerinfo.dil.model.RmsShipper;
  6. import com.steerinfo.dil.service.IRmsCarrierService;
  7. import com.steerinfo.dil.util.DataChange;
  8. import com.steerinfo.framework.utils.misc.IdGenerator;
  9. import com.steerinfo.framework.utils.upload.UploadUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.web.multipart.MultipartFile;
  13. import java.math.BigDecimal;
  14. import java.text.ParseException;
  15. import java.text.SimpleDateFormat;
  16. import java.util.Date;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * RmsCarrier服务实现:
  22. * @author generator
  23. * @version 1.0-SNAPSHORT 2021-11-18 08:46
  24. * 类描述
  25. * 修订历史:
  26. * 日期:2021-11-18
  27. * 作者:generator
  28. * 参考:
  29. * 描述:RmsCarrier服务实现
  30. * @see null
  31. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  32. */
  33. @Service(value = "rmsCarrierService")
  34. public class RmsCarrierServiceImpl implements IRmsCarrierService {
  35. @Autowired
  36. RmsCarrierMapper rmsCarrierMapper;
  37. @Autowired
  38. private RmsBidAreaMapper rmsBidAreaMapper;
  39. /**
  40. * 查询承运商表
  41. *
  42. * @return
  43. */
  44. public List<Map<String, Object>> getCarrierList(Map<String, Object> mapVal) {
  45. return rmsCarrierMapper.getCarrierList(mapVal);
  46. }
  47. /**
  48. * 删除承运商
  49. *
  50. * @param id
  51. * @return
  52. */
  53. @Override
  54. public int deleteCarrier(BigDecimal id) {
  55. RmsCarrier rmsCarrier = rmsCarrierMapper.selectByPrimaryKey(id);
  56. rmsCarrier.setDeleted(new BigDecimal(1));
  57. return rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier);
  58. }
  59. /**
  60. * 修改承运商信息
  61. *
  62. * @param mapValue
  63. * @return
  64. */
  65. @Override
  66. public int updateCarrier(Map<String, Object> mapValue) throws ParseException {
  67. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
  68. RmsCarrier rmsCarrier = new RmsCarrier();
  69. Map<String, Object> map1 = (Map<String, Object>) mapValue.get("RmsCarrier");
  70. Map<String, Object> registerDate = (Map<String, Object>) mapValue.get("registerDate");
  71. Integer transportType = (Integer) map1.get("carrierTransportType");
  72. Date date = new Date(0);
  73. String registerDates = (String) registerDate.get("registerDate");
  74. Date registerDate2 = simpleDateFormat.parse(registerDates);
  75. if (transportType != null) {
  76. if (transportType.equals(1)) {
  77. rmsCarrier.setCarrierTransportType("危化品");
  78. }
  79. if (transportType.equals(2)) {
  80. rmsCarrier.setCarrierTransportType("其他");
  81. }
  82. }
  83. rmsCarrier.setUpdateUsername("admin");
  84. rmsCarrier.setUpdateTime(new Date());
  85. rmsCarrier.setRegisterDate(rmsCarrier.getRegisterDate());
  86. rmsCarrier.setRegisterDate(registerDate2);
  87. if (registerDate.get("registerDate").equals(date)) {
  88. rmsCarrier.setRegisterDate(null);
  89. }
  90. String carrierId = (String) map1.get("carrierId");
  91. rmsCarrier.setCarrierId(new BigDecimal(carrierId));
  92. rmsCarrier.setCarrierName((String) map1.get("carrierName"));
  93. rmsCarrier.setCarrierAbbreviation((String) map1.get("carrierAbbreviation"));
  94. rmsCarrier.setCarrierAddress((String) map1.get("carrierAddress"));
  95. rmsCarrier.setRegisterNo((String) map1.get("registerNo"));
  96. Integer carrierBidAreaId = (Integer) map1.get("carrierBidAreaId");
  97. rmsCarrier.setCarrierBidAreaId(new BigDecimal(carrierBidAreaId));
  98. rmsCarrier.setCarrierLegalRepresentative((String) map1.get("carrierLegalRepresentative"));
  99. rmsCarrier.setRegisterCapital((String) map1.get("registerCapital"));
  100. rmsCarrier.setBusinessScope((String) map1.get("businessScope"));
  101. rmsCarrier.setAnnualDate((String) map1.get("annualDate"));
  102. rmsCarrier.setCompanyStatusDesc((String) map1.get("companyStatusDesc"));
  103. rmsCarrier.setCompanyTypeDesc((String) map1.get("companyTypeDesc"));
  104. rmsCarrier.setOperationPeriod((String) map1.get("operationPeriod"));
  105. rmsCarrier.setRegisterOrganization((String) map1.get("registerOrganization"));
  106. rmsCarrier.setRegisterAptitudes((String) map1.get("registerAptitudes"));
  107. rmsCarrier.setContactsName((String) map1.get("contactsName"));
  108. rmsCarrier.setCarrierContactNumber((String) map1.get("carrierContactNumber"));
  109. rmsCarrier.setCarrierType((String) map1.get("carrierType"));
  110. return rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier);
  111. }
  112. /**
  113. * 添加承运商信息
  114. *
  115. * @param map
  116. * @return
  117. */
  118. @Override
  119. public int insertCarrier(Map<String, Object> map){
  120. //承运商数据
  121. Map<String, Object> formMap = (Map<String, Object>) map.get("from");
  122. //获取承运商名称查看是否已存在数据库中
  123. String carrierName = (String) formMap.get("carrierName");
  124. Integer size = rmsCarrierMapper.selectParameterCarrierName(carrierName);
  125. if(size != null){
  126. return 0;
  127. }
  128. RmsCarrier rmsCarrier = new RmsCarrier();
  129. rmsCarrier.setId(rmsCarrierMapper.getCarrierId());
  130. rmsCarrier.setCarrierName(carrierName);
  131. rmsCarrier.setCarrierType((String) formMap.get("carrierType"));
  132. BigDecimal carrierTransportType = DataChange.dataToBigDecimal(formMap.get("carrierTransportType"));
  133. rmsCarrier.setCarrierTransportType(carrierTransportType.intValue() == 1 ? "危化品" : "其他"); //运输类别
  134. //承运商公司注册日期
  135. if(formMap.get("registerDate") != null) {
  136. rmsCarrier.setRegisterDate(new Date((long) formMap.get("registerDate")));
  137. }
  138. rmsCarrier.setCarrierAddress((String) formMap.get("carrierAddress")); //公司地址
  139. rmsCarrier.setCarrierAbbreviation((String) formMap.get("carrierAbbreviation"));//别名
  140. rmsCarrier.setRegisterNo((String) formMap.get("registerNo")); //注册编号
  141. rmsCarrier.setCarrierBidAreaId(DataChange.dataToBigDecimal(formMap.get("carrierBidAreaId"))); //所属区域
  142. rmsCarrier.setCarrierLegalRepresentative((String) formMap.get("carrierLegalRepresentative")); //
  143. rmsCarrier.setRegisterCapital((String) formMap.get("registerCapital"));
  144. rmsCarrier.setBusinessScope((String) formMap.get("businessScope"));
  145. rmsCarrier.setAnnualDate((String) formMap.get("annualDate"));
  146. rmsCarrier.setCompanyStatusDesc((String) formMap.get("companyStatusDesc"));
  147. rmsCarrier.setCompanyTypeDesc((String) formMap.get("companyTypeDesc"));
  148. rmsCarrier.setOperationPeriod((String) formMap.get("operationPeriod"));
  149. rmsCarrier.setRegisterOrganization((String) formMap.get("registerOrganization"));
  150. rmsCarrier.setRegisterAptitudes((String) formMap.get("registerAptitudes"));
  151. rmsCarrier.setContactsName((String) formMap.get("contactsName"));
  152. //添加SSO主键
  153. String userId =(String) map.get("userId");
  154. rmsCarrier.setCarrierSsoId(userId);
  155. //添加三张图片路径
  156. Map<String,Object> photosUrlMap =(Map<String, Object>) map.get("imageUrls");
  157. rmsCarrier.setCarrierTransportCertificate((String) photosUrlMap.get("imageUrl1"));//运输证
  158. rmsCarrier.setCarrierBusinessLicense((String) photosUrlMap.get("imageUrl2"));//经营许可证
  159. rmsCarrier.setCarrierBusinessAblelicense((String) photosUrlMap.get("imageUrl3"));//营业执照
  160. //常规字段
  161. rmsCarrier.setInsertTime(new Date());
  162. rmsCarrier.setInsertUsername("admin");
  163. rmsCarrier.setDeleted(new BigDecimal(0));
  164. return rmsCarrierMapper.insertSelective(rmsCarrier);
  165. }
  166. /**
  167. * 通过id值查询承运商信息
  168. * @param id
  169. * @return
  170. */
  171. @Override
  172. public List<Map<String, Object>> getCarrierById(BigDecimal id){
  173. return rmsCarrierMapper.selectCarrierById(id);
  174. }
  175. /**
  176. * 展示中标区域
  177. */
  178. @Override
  179. public List<Map<String, Object>> getCarrierBidAreaList (Map < String, Object > mapVal){
  180. return rmsBidAreaMapper.getCarrierBidAreaList();
  181. }
  182. // 对承运商的照片进行处理
  183. @Override
  184. public int uploadCarrier (MultipartFile multipartFile, String str){
  185. int result = 0;
  186. // 根据str判断当前照片类型
  187. String name = multipartFile.getName();
  188. Long workId = 0L;
  189. Long datacenterId = 0L;
  190. // id自动生成器
  191. IdGenerator idGenerator = new IdGenerator(workId, datacenterId);
  192. // 图片存储的地址
  193. String uploadPath = "C:/workspaces/stworkspace/12.22/image/";
  194. // 图片名称默认为空
  195. String imagePath = str;
  196. // 创建一个map用来存储三张照片的地址
  197. Map<String, Object> map=new HashMap<>();
  198. String FileNames = UploadUtils.uploadFile(multipartFile, idGenerator, uploadPath, imagePath);
  199. System.out.println(FileNames);
  200. // 判断照片是否能上传成功
  201. if (FileNames!=null){
  202. map.put(str,FileNames);
  203. // 将照片的二进制插入到数据库
  204. RmsCarrier rmsCarrier=new RmsCarrier();
  205. rmsCarrier.setCarrierId(rmsCarrierMapper.getMaxCarrierId());
  206. if (map.get("运输证")!=null){
  207. rmsCarrier.setCarrierTransportCertificate((String) map.get("运输证"));
  208. }
  209. if (map.get("经营许可证")!=null){
  210. rmsCarrier.setCarrierBusinessLicense((String)map.get("经营许可证"));
  211. }
  212. if (map.get("营业执照")!=null){
  213. rmsCarrier.setCarrierBusinessAblelicense((String)map.get("营业执照"));
  214. }
  215. result+=rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier);
  216. }else{
  217. result=-1;
  218. }
  219. // 当图片的没有插入成功的时候,代表整条数据没有成功,需要删除
  220. if (result<1){
  221. RmsCarrier rmsCarrier=new RmsCarrier();
  222. rmsCarrier.setCarrierId(new BigDecimal(1));
  223. rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier);
  224. }
  225. return result;
  226. }
  227. @Override
  228. public Map<String,Object> getCarrierNameById(BigDecimal id) {
  229. return rmsCarrierMapper.getCarrierNameById(id);
  230. }
  231. }