feat: 老法规导入接口

This commit is contained in:
2023-11-17 09:15:15 +08:00
parent b2bc24d2e8
commit a74684973c
11 changed files with 565 additions and 89 deletions
@@ -0,0 +1,72 @@
package com.jero.modules.laws.oldSystem.controller;
/**
* @author: Mzaxd
* @Date: 2023/11/10 14:46
*/
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.Translation;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.modules.laws.oldSystem.service.OldSystemDepartRelationService;
import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpResponse;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
@ApiSupport(order = 10101)
@Api(tags="老法规系统")
@RestController
@RequestMapping("/oldSystem")
@Slf4j
public class OldSystemController {
@Resource
private OldSystemDepartRelationService oldSystemService;
/**
* 通过excel导入数据
*
* @return
*/
@PostMapping("/importExcel")
@ApiOperation(value = "老法规系统-老部门现部门关系导入", notes = "老法规系统-老部门现部门关系导入")
@ApiOperationSupport(order = 1)
@AutoLog(value = "老法规系统-老部门现部门关系导入")
public Result<?> importExcel(@ApiParam(value = "要上传的文件", required = true) @RequestParam("file") MultipartFile file) {
Map<String, Object> resultMap = oldSystemService.importData(file);
Object flag = resultMap.get("flag");
if (flag == YesOrNoEnum.YES.getValue()) {
return Result.OK(resultMap.get("dataList"));
} else {
return Result.error("导入失败", resultMap.get("msg"));
}
}
@Resource
private ILawsEnterpriseStandardService enterpriseStandardService;
@PostMapping("/importOldSystemESZip")
@AutoLog(value = "老法规系统-老法规企标国标数据库Zip导入")
@ApiOperation(value="老法规系统-老法规企标国标数据库Zip导入", notes="老法规系统-老法规企标国标数据库Zip导入", produces = "application/octet-stream")
@ApiOperationSupport(order = 2)
public void importOldSystemESZip(@RequestParam("file") MultipartFile file,
@ApiParam(value = "0不导入 1导入企标 2导入国标 3一起导入", required = true)
@RequestParam("type") String type,
HttpServletResponse response) {
enterpriseStandardService.importExcelOldSystem(file, type, response);
}
}
@@ -0,0 +1,69 @@
package com.jero.modules.laws.oldSystem.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
*
* @TableName old_system_depart_relation
*/
@TableName(value ="old_system_depart_relation")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OldSystemDepartRelation implements Serializable {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键ID")
private String id;
/**
* 组织部门
*/
@Excel(name = "组织部门", width = 15)
@ApiModelProperty(value = "组织部门")
private String oldOrgName;
/**
* 上级组织
*/
@Excel(name = "上级组织", width = 15)
@ApiModelProperty(value = "上级组织")
private String oldOrgSuperior;
/**
* 组织级别
*/
@Excel(name = "组织级别", width = 15)
@ApiModelProperty(value = "组织级别")
private String orgLevel;
/**
* 现组织部门
*/
@Excel(name = "现组织部门", width = 15)
@ApiModelProperty(value = "现组织部门")
private String curOrgName;
/**
* 上级组织
*/
@Excel(name = "现上级组织", width = 15)
@ApiModelProperty(value = "现上级组织")
private String curOrgSuperior;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,90 @@
package com.jero.modules.laws.oldSystem.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
*
* @TableName old_system_problem
*/
@TableName(value ="old_system_problem")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class OldSystemProblem implements Serializable {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键ID")
private String id;
/**
* 创建人
*/
private String createBy;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
* 所属部门
*/
private String orgCode;
/**
* 问题类型(1老法规国标导入 2老法规企标导入)
*/
@Excel(name = "问题类型", width = 15)
@ApiModelProperty(value = "问题类型")
private String problemType;
/**
* 问题描述
*/
@Excel(name = "问题描述", width = 15)
@ApiModelProperty(value = "问题描述")
private String problemDescription;
/**
* 问题标准号
*/
@Excel(name = "问题标准号", width = 15)
@ApiModelProperty(value = "问题标准号")
private String problemStandardNo;
/**
* 最终结果
*/
@Excel(name = "最终结果", width = 15)
@ApiModelProperty(value = "最终结果")
private String result;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
@@ -0,0 +1,18 @@
package com.jero.modules.laws.oldSystem.mapper;
import com.jero.modules.laws.oldSystem.entity.OldSystemDepartRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author ThinkBook
* @description 针对表【old_system_depart_relation】的数据库操作Mapper
* @createDate 2023-11-10 14:17:20
* @Entity com.jero.modules.laws.entity.OldSystemDepartRelation
*/
public interface OldSystemDepartRelationMapper extends BaseMapper<OldSystemDepartRelation> {
}
@@ -0,0 +1,18 @@
package com.jero.modules.laws.oldSystem.mapper;
import com.jero.modules.laws.oldSystem.entity.OldSystemProblem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author ThinkBook
* @description 针对表【old_system_problem】的数据库操作Mapper
* @createDate 2023-11-10 18:18:36
* @Entity com.jero.modules.laws.oldSystem.entity.OldSystemProblem
*/
public interface OldSystemProblemMapper extends BaseMapper<OldSystemProblem> {
}
@@ -0,0 +1,17 @@
package com.jero.modules.laws.oldSystem.service;
import com.jero.modules.laws.oldSystem.entity.OldSystemDepartRelation;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
/**
* @author ThinkBook
* @description 针对表【old_system_depart_relation】的数据库操作Service
* @createDate 2023-11-10 14:17:20
*/
public interface OldSystemDepartRelationService extends IService<OldSystemDepartRelation> {
Map<String, Object> importData(MultipartFile file);
}
@@ -0,0 +1,13 @@
package com.jero.modules.laws.oldSystem.service;
import com.jero.modules.laws.oldSystem.entity.OldSystemProblem;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author ThinkBook
* @description 针对表【old_system_problem】的数据库操作Service
* @createDate 2023-11-10 18:18:36
*/
public interface OldSystemProblemService extends IService<OldSystemProblem> {
}
@@ -0,0 +1,67 @@
package com.jero.modules.laws.oldSystem.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.SysDictItemCore;
import com.jero.modules.activiti.process.esAnnualInit.entity.ProcessEsAnnualInit;
import com.jero.modules.activiti.util.ExcelUtils;
import com.jero.modules.laws.oldSystem.entity.OldSystemDepartRelation;
import com.jero.modules.laws.oldSystem.service.OldSystemDepartRelationService;
import com.jero.modules.laws.oldSystem.mapper.OldSystemDepartRelationMapper;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author ThinkBook
* @description 针对表【old_system_depart_relation】的数据库操作Service实现
* @createDate 2023-11-10 14:17:20
*/
@Slf4j
@Service
@Transactional(rollbackFor = JeroBootException.class)
public class OldSystemDepartRelationServiceImpl extends ServiceImpl<OldSystemDepartRelationMapper, OldSystemDepartRelation>
implements OldSystemDepartRelationService {
@Override
public Map<String, Object> importData(MultipartFile file) {
Map<String, Object> resultMap = new HashMap<>();
List<String> errorMsgs = new ArrayList<>();
ImportParams params = new ImportParams();
params.setTitleRows(0);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<OldSystemDepartRelation> list = ExcelImportUtil.importExcel(file.getInputStream(), OldSystemDepartRelation.class, params);
saveBatch(list, list.size());
} catch (Exception e) {
errorMsgs.add("文件导入异常:" + e.getMessage());
resultMap.put("msg", errorMsgs);
resultMap.put("flag", YesOrNoEnum.NO.getValue());
log.error(e.getMessage(), e);
} finally {
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
return resultMap;
}
}
@@ -0,0 +1,22 @@
package com.jero.modules.laws.oldSystem.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.laws.oldSystem.entity.OldSystemProblem;
import com.jero.modules.laws.oldSystem.service.OldSystemProblemService;
import com.jero.modules.laws.oldSystem.mapper.OldSystemProblemMapper;
import org.springframework.stereotype.Service;
/**
* @author ThinkBook
* @description 针对表【old_system_problem】的数据库操作Service实现
* @createDate 2023-11-10 18:18:36
*/
@Service
public class OldSystemProblemServiceImpl extends ServiceImpl<OldSystemProblemMapper, OldSystemProblem>
implements OldSystemProblemService{
}