package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.RmsBidAreaMapper; import com.steerinfo.dil.mapper.RmsCarrierMapper; import com.steerinfo.dil.model.RmsCarrier; import com.steerinfo.dil.model.RmsShipper; import com.steerinfo.dil.service.IRmsCarrierService; import com.steerinfo.dil.util.DataChange; import com.steerinfo.framework.utils.misc.IdGenerator; import com.steerinfo.framework.utils.upload.UploadUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * RmsCarrier服务实现: * @author generator * @version 1.0-SNAPSHORT 2021-11-18 08:46 * 类描述 * 修订历史: * 日期:2021-11-18 * 作者:generator * 参考: * 描述:RmsCarrier服务实现 * @see null * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved. */ @Service(value = "rmsCarrierService") public class RmsCarrierServiceImpl implements IRmsCarrierService { @Autowired RmsCarrierMapper rmsCarrierMapper; @Autowired private RmsBidAreaMapper rmsBidAreaMapper; /** * 查询承运商表 * * @return */ public List> getCarrierList(Map mapVal) { return rmsCarrierMapper.getCarrierList(mapVal); } /** * 删除承运商 * * @param id * @return */ @Override public int deleteCarrier(BigDecimal id) { RmsCarrier rmsCarrier = rmsCarrierMapper.selectByPrimaryKey(id); rmsCarrier.setDeleted(new BigDecimal(1)); return rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier); } /** * 修改承运商信息 * * @param mapValue * @return */ @Override public int updateCarrier(Map mapValue) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); RmsCarrier rmsCarrier = new RmsCarrier(); Map map1 = (Map) mapValue.get("RmsCarrier"); Map registerDate = (Map) mapValue.get("registerDate"); Integer transportType = (Integer) map1.get("carrierTransportType"); Date date = new Date(0); String registerDates = (String) registerDate.get("registerDate"); Date registerDate2 = simpleDateFormat.parse(registerDates); if (transportType != null) { if (transportType.equals(1)) { rmsCarrier.setCarrierTransportType("危化品"); } if (transportType.equals(2)) { rmsCarrier.setCarrierTransportType("其他"); } } rmsCarrier.setUpdateUsername("admin"); rmsCarrier.setUpdateTime(new Date()); rmsCarrier.setRegisterDate(rmsCarrier.getRegisterDate()); rmsCarrier.setRegisterDate(registerDate2); if (registerDate.get("registerDate").equals(date)) { rmsCarrier.setRegisterDate(null); } String carrierId = (String) map1.get("carrierId"); rmsCarrier.setCarrierId(new BigDecimal(carrierId)); rmsCarrier.setCarrierName((String) map1.get("carrierName")); rmsCarrier.setCarrierAbbreviation((String) map1.get("carrierAbbreviation")); rmsCarrier.setCarrierAddress((String) map1.get("carrierAddress")); rmsCarrier.setRegisterNo((String) map1.get("registerNo")); Integer carrierBidAreaId = (Integer) map1.get("carrierBidAreaId"); rmsCarrier.setCarrierBidAreaId(new BigDecimal(carrierBidAreaId)); rmsCarrier.setCarrierLegalRepresentative((String) map1.get("carrierLegalRepresentative")); rmsCarrier.setRegisterCapital((String) map1.get("registerCapital")); rmsCarrier.setBusinessScope((String) map1.get("businessScope")); rmsCarrier.setAnnualDate((String) map1.get("annualDate")); rmsCarrier.setCompanyStatusDesc((String) map1.get("companyStatusDesc")); rmsCarrier.setCompanyTypeDesc((String) map1.get("companyTypeDesc")); rmsCarrier.setOperationPeriod((String) map1.get("operationPeriod")); rmsCarrier.setRegisterOrganization((String) map1.get("registerOrganization")); rmsCarrier.setRegisterAptitudes((String) map1.get("registerAptitudes")); rmsCarrier.setContactsName((String) map1.get("contactsName")); rmsCarrier.setCarrierContactNumber((String) map1.get("carrierContactNumber")); rmsCarrier.setCarrierType((String) map1.get("carrierType")); return rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier); } /** * 添加承运商信息 * * @param map * @return */ @Override public int insertCarrier(Map map){ //承运商数据 Map formMap = (Map) map.get("from"); //获取承运商名称查看是否已存在数据库中 String carrierName = (String) formMap.get("carrierName"); Integer size = rmsCarrierMapper.selectParameterCarrierName(carrierName); if(size != null){ return 0; } RmsCarrier rmsCarrier = new RmsCarrier(); rmsCarrier.setId(rmsCarrierMapper.getCarrierId()); rmsCarrier.setCarrierName(carrierName); rmsCarrier.setCarrierType((String) formMap.get("carrierType")); BigDecimal carrierTransportType = DataChange.dataToBigDecimal(formMap.get("carrierTransportType")); rmsCarrier.setCarrierTransportType(carrierTransportType.intValue() == 1 ? "危化品" : "其他"); //运输类别 //承运商公司注册日期 if(formMap.get("registerDate") != null) { rmsCarrier.setRegisterDate(new Date((long) formMap.get("registerDate"))); } rmsCarrier.setCarrierAddress((String) formMap.get("carrierAddress")); //公司地址 rmsCarrier.setCarrierAbbreviation((String) formMap.get("carrierAbbreviation"));//别名 rmsCarrier.setRegisterNo((String) formMap.get("registerNo")); //注册编号 rmsCarrier.setCarrierBidAreaId(DataChange.dataToBigDecimal(formMap.get("carrierBidAreaId"))); //所属区域 rmsCarrier.setCarrierLegalRepresentative((String) formMap.get("carrierLegalRepresentative")); // rmsCarrier.setRegisterCapital((String) formMap.get("registerCapital")); rmsCarrier.setBusinessScope((String) formMap.get("businessScope")); rmsCarrier.setAnnualDate((String) formMap.get("annualDate")); rmsCarrier.setCompanyStatusDesc((String) formMap.get("companyStatusDesc")); rmsCarrier.setCompanyTypeDesc((String) formMap.get("companyTypeDesc")); rmsCarrier.setOperationPeriod((String) formMap.get("operationPeriod")); rmsCarrier.setRegisterOrganization((String) formMap.get("registerOrganization")); rmsCarrier.setRegisterAptitudes((String) formMap.get("registerAptitudes")); rmsCarrier.setContactsName((String) formMap.get("contactsName")); //添加SSO主键 String userId =(String) map.get("userId"); rmsCarrier.setCarrierSsoId(userId); //添加三张图片路径 Map photosUrlMap =(Map) map.get("imageUrls"); rmsCarrier.setCarrierTransportCertificate((String) photosUrlMap.get("imageUrl1"));//运输证 rmsCarrier.setCarrierBusinessLicense((String) photosUrlMap.get("imageUrl2"));//经营许可证 rmsCarrier.setCarrierBusinessAblelicense((String) photosUrlMap.get("imageUrl3"));//营业执照 //常规字段 rmsCarrier.setInsertTime(new Date()); rmsCarrier.setInsertUsername("admin"); rmsCarrier.setDeleted(new BigDecimal(0)); return rmsCarrierMapper.insertSelective(rmsCarrier); } /** * 通过id值查询承运商信息 * @param id * @return */ @Override public List> getCarrierById(BigDecimal id){ return rmsCarrierMapper.selectCarrierById(id); } /** * 展示中标区域 */ @Override public List> getCarrierBidAreaList (Map < String, Object > mapVal){ return rmsBidAreaMapper.getCarrierBidAreaList(); } // 对承运商的照片进行处理 @Override public int uploadCarrier (MultipartFile multipartFile, String str){ int result = 0; // 根据str判断当前照片类型 String name = multipartFile.getName(); Long workId = 0L; Long datacenterId = 0L; // id自动生成器 IdGenerator idGenerator = new IdGenerator(workId, datacenterId); // 图片存储的地址 String uploadPath = "C:/workspaces/stworkspace/12.22/image/"; // 图片名称默认为空 String imagePath = str; // 创建一个map用来存储三张照片的地址 Map map=new HashMap<>(); String FileNames = UploadUtils.uploadFile(multipartFile, idGenerator, uploadPath, imagePath); System.out.println(FileNames); // 判断照片是否能上传成功 if (FileNames!=null){ map.put(str,FileNames); // 将照片的二进制插入到数据库 RmsCarrier rmsCarrier=new RmsCarrier(); rmsCarrier.setCarrierId(rmsCarrierMapper.getMaxCarrierId()); if (map.get("运输证")!=null){ rmsCarrier.setCarrierTransportCertificate((String) map.get("运输证")); } if (map.get("经营许可证")!=null){ rmsCarrier.setCarrierBusinessLicense((String)map.get("经营许可证")); } if (map.get("营业执照")!=null){ rmsCarrier.setCarrierBusinessAblelicense((String)map.get("营业执照")); } result+=rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier); }else{ result=-1; } // 当图片的没有插入成功的时候,代表整条数据没有成功,需要删除 if (result<1){ RmsCarrier rmsCarrier=new RmsCarrier(); rmsCarrier.setCarrierId(new BigDecimal(1)); rmsCarrierMapper.updateByPrimaryKeySelective(rmsCarrier); } return result; } @Override public Map getCarrierNameById(BigDecimal id) { return rmsCarrierMapper.getCarrierNameById(id); } }