Commit 9ca5203f authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs' of http://39.98.45.134:8090/moa/amos-boot-biz into develop_tzs

parents 19a89992 a2dd619b
...@@ -395,26 +395,30 @@ public class EquipmentCategoryController extends BaseController { ...@@ -395,26 +395,30 @@ public class EquipmentCategoryController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/exportImageZip") @GetMapping(value = "/exportImageZip")
@ApiOperation(httpMethod = "GET", value = "设备信息导出", notes = "设备信息导出") @ApiOperation(httpMethod = "GET", value = "设备监管码、电梯码批量导出压缩包", notes = "设备监管码、电梯码批量导出压缩包")
public void exportImageZip(HttpServletResponse response, EquipExportDto dto, @RequestParam("type") String type) throws IOException { public void exportImageZip(HttpServletResponse response, EquipExportDto dto, @RequestParam("type") String type) throws IOException {
ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type); ImageSizeEnums imageSizeEnums = ImageSizeEnums.getEnumByCode(type);
//创建list 存放图片 //创建list 存放图片
List<File> fileList = new ArrayList<>(); List<File> fileList = new ArrayList<>();
List<EquipExportVo> equipExportData = equipmentCategoryServiceImpl.getEquipExportData(dto); List<EquipExportVo> equipExportData = equipmentCategoryServiceImpl.getEquipExportData(dto);
List<EquipExportVo> unique = equipExportData.stream().collect( List<EquipExportVo> unique = equipExportData.stream().filter(item -> !ObjectUtils.isEmpty(item.getSupervisoryCode())).collect(
Collectors. collectingAndThen( Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getSupervisoryCode() + ";" + o.getCode96333()))), ArrayList::new) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(EquipExportVo::getSupervisoryCode))), ArrayList::new)
);
List<EquipExportVo> collect = unique.stream().filter(item -> !ObjectUtils.isEmpty(item.getCode96333())).collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(EquipExportVo::getCode96333))), ArrayList::new)
); );
for (EquipExportVo equipExportDatum : unique) { for (EquipExportVo equipExportDatum : collect) {
InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/"+imageSizeEnums.getBgPath()); InputStream bgImgFile = getClass().getClassLoader().getResourceAsStream("temp/" + imageSizeEnums.getBgPath());
if ("DT".equals(type) && !ObjectUtils.isEmpty(equipExportDatum.getCode96333())) { if ("DT".equals(type) && !ObjectUtils.isEmpty(equipExportDatum.getCode96333())) {
File QrCodeFile = File.createTempFile(equipExportDatum.getCode96333(), ".png"); File QrCodeFile = File.createTempFile(equipExportDatum.getCode96333() + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getCode96333(), "", equipExportDatum.getCode96333(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y()); ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.getCode96333(), "", equipExportDatum.getCode96333(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File( QrCodeFile.getAbsolutePath())); fileList.add(new File(QrCodeFile.getAbsolutePath()));
} else if (!ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) { } else if (!ObjectUtils.isEmpty(equipExportDatum.getSupervisoryCode())) {
File QrCodeFile = File.createTempFile(equipExportDatum.getSupervisoryCode(), ".png"); File QrCodeFile = File.createTempFile(equipExportDatum.getSupervisoryCode() + "+", ".png");
ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX+equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getSupervisoryCode(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y()); ImageUtils.creatQRCode(QrCodeFile, bgImgFile, imageSizeEnums.getWith(), imageSizeEnums.getHeight(), REGULATORY_CODE_PREFIX + equipExportDatum.getSupervisoryCode(), "", equipExportDatum.getSupervisoryCode(), imageSizeEnums.getSize(), imageSizeEnums.getImagesX(), imageSizeEnums.getImagesY(), imageSizeEnums.getText1X(), imageSizeEnums.getText1Y(), imageSizeEnums.getText2X(), imageSizeEnums.getText2Y());
fileList.add(new File( QrCodeFile.getAbsolutePath())); fileList.add(new File(QrCodeFile.getAbsolutePath()));
} }
bgImgFile.close(); bgImgFile.close();
} }
......
...@@ -466,11 +466,12 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD ...@@ -466,11 +466,12 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
if (equipCategory.startsWith("3") && !XIAN.equals(city)) { if (equipCategory.startsWith("3") && !XIAN.equals(city)) {
//判断数据是否携带96333电梯码,携带则使用,不携带则生成 //判断数据是否携带96333电梯码,携带则使用,不携带则生成
if("null".equals(code96333)){ if("null".equals(code96333)){
prefix = getPrefix(EquipmentCategoryEnum.XZQHDT.getCode(), city); Map<String, Object> elevatorMap = equipmentCategoryMapper.getAdministrativeDivision(EquipmentCategoryEnum.XZQHDT.getCode(), county);
prefix = ObjectUtils.isEmpty(elevatorMap) ? equipmentCategoryMapper.getAdministrativeDivision(EquipmentCategoryEnum.XZQHDT.getCode(), city).get("code").toString() : elevatorMap.get("code").toString();
//查询未使用的电梯码 //查询未使用的电梯码
categoryOtherInfo = categoryOtherInfoMapper.selectElevatorCode(prefix, EquipmentCategoryEnum.WSY.getCode()); categoryOtherInfo = categoryOtherInfoMapper.selectElevatorCode(prefix, EquipmentCategoryEnum.WSY.getCode());
//如果存在未使用的电梯码则启用未使用的否则创建 //如果存在未使用的电梯码则启用未使用的否则创建
String elevator = ObjectUtils.isEmpty(categoryOtherInfo) ? createElevatorCode(city, county) : categoryOtherInfo.getCode(); String elevator = ObjectUtils.isEmpty(categoryOtherInfo) ? createElevatorCode(prefix) : categoryOtherInfo.getCode();
if(!ObjectUtils.isEmpty(categoryOtherInfo)){ if(!ObjectUtils.isEmpty(categoryOtherInfo)){
supervisoryCodeInfoMapper.delete(new QueryWrapper<SupervisoryCodeInfo>().eq("code96333",categoryOtherInfo.getCode())); supervisoryCodeInfoMapper.delete(new QueryWrapper<SupervisoryCodeInfo>().eq("code96333",categoryOtherInfo.getCode()));
} }
...@@ -555,20 +556,17 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD ...@@ -555,20 +556,17 @@ public class EquipmentCategoryServiceImpl extends BaseService<EquipmentCategoryD
/** /**
* 生成96333电梯识别码 * 生成96333电梯识别码
* *
* @param city 行政区划市 * @param prefix 电梯码前缀
* @param county 行政区划区
* @return 96333电梯识别码 * @return 96333电梯识别码
*/ */
public String createElevatorCode(String city, String county) { public String createElevatorCode(String prefix) {
StringBuilder elevatorCode = new StringBuilder(); StringBuilder elevatorCode = new StringBuilder();
//生成生成96333电梯码前缀 //生成生成96333电梯码前缀
Map<String, Object> elevatorMap = equipmentCategoryMapper.getAdministrativeDivision(EquipmentCategoryEnum.XZQHDT.getCode(), county); elevatorCode.append(prefix);
String elevator = ObjectUtils.isEmpty(elevatorMap) ? equipmentCategoryMapper.getAdministrativeDivision(EquipmentCategoryEnum.XZQHDT.getCode(), city).get("code").toString() : elevatorMap.get("code").toString();
elevatorCode.append(elevator);
String initCode = elevatorCode + EquipmentCategoryEnum.getValue.get(elevatorCode.toString()); String initCode = elevatorCode + EquipmentCategoryEnum.getValue.get(elevatorCode.toString());
CategoryOtherInfo initSupervisoryCode = categoryOtherInfoMapper.queryInitCode(initCode); // 查询是否已经生成过初始值 CategoryOtherInfo initSupervisoryCode = categoryOtherInfoMapper.queryInitCode(initCode); // 查询是否已经生成过初始值
if (ValidationUtil.isEmpty(initSupervisoryCode)) { if (ValidationUtil.isEmpty(initSupervisoryCode)) {
elevatorCode.append(EquipmentCategoryEnum.getValue.get(elevator)); elevatorCode.append(EquipmentCategoryEnum.getValue.get(prefix));
} else { } else {
//获取行政区划区县、市是否存在历史96333电梯码 //获取行政区划区县、市是否存在历史96333电梯码
CategoryOtherInfo elevatorOtherInfo = categoryOtherInfoMapper.selectElevatorCode(elevatorCode.toString(), null); CategoryOtherInfo elevatorOtherInfo = categoryOtherInfoMapper.selectElevatorCode(elevatorCode.toString(), null);
......
...@@ -5,6 +5,7 @@ import com.google.zxing.EncodeHintType; ...@@ -5,6 +5,7 @@ import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter; import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix; import com.google.zxing.common.BitMatrix;
import com.itextpdf.text.pdf.qrcode.ErrorCorrectionLevel; import com.itextpdf.text.pdf.qrcode.ErrorCorrectionLevel;
import org.apache.commons.lang.StringUtils;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -254,7 +255,7 @@ public class ImageUtils { ...@@ -254,7 +255,7 @@ public class ImageUtils {
for (File srcFile : srcFiles) { for (File srcFile : srcFiles) {
fileInputStream = new FileInputStream(srcFile); fileInputStream = new FileInputStream(srcFile);
// 实例化 ZipEntry 对象,源文件数组中的当前文件 // 实例化 ZipEntry 对象,源文件数组中的当前文件
zipEntry = new ZipEntry(srcFile.getName()); zipEntry = new ZipEntry(StringUtils.substringBefore(srcFile.getName(), "+") + ".png");
zipOutputStream.putNextEntry(zipEntry); zipOutputStream.putNextEntry(zipEntry);
// 该变量记录每次真正读的字节个数 // 该变量记录每次真正读的字节个数
int len; int len;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment