Commit 58a5849a authored by tangwei's avatar tangwei

机场单位人员导入

parent d4c32a46
......@@ -42,7 +42,7 @@ public class FirefightersExcelDto extends BaseDto {
@ApiModelProperty(value = "队伍")
private String fireTeam;
@ExcelProperty(value = "所属部门", index = 3)
@ExcelIgnore
@ApiModelProperty(value = "所属机构")
private String company;
......@@ -50,7 +50,8 @@ public class FirefightersExcelDto extends BaseDto {
@ApiModelProperty(value = "机构code")
private String companyCode;
@ExcelIgnore
@ExcelProperty(value = "所属部门", index = 3)
@ApiModelProperty(value = "机构名称")
private String companyName;
......@@ -134,11 +135,11 @@ public class FirefightersExcelDto extends BaseDto {
@ApiModelProperty(value = "紧急联系人电话")
private String emergencyContactPhone;
@ExcelProperty(value = "身份证正面", index = 20)
@ExcelIgnore
@ApiModelProperty(value = "身份证正面")
private String idPositive;
@ExcelProperty(value = "身份证反面", index = 21)
@ExcelIgnore
@ApiModelProperty(value = "身份证反面")
private String idReverse;
......
......@@ -69,7 +69,9 @@
</select>
<select id="exportToExcel" resultType="com.yeejoin.amos.boot.module.common.api.dto.FirefightersExcelDto">
select f.*, emergency_contact, relationship, emergency_contact_phone
select f.*,
(select cb_fire_team.name from cb_fire_team where cb_fire_team.sequence_nbr=f.fire_team_id) fireTeam,
emergency_contact, relationship, emergency_contact_phone
from cb_firefighters f
left join cb_firefighters_contacts fc on f.sequence_nbr = fc.firefighters_id
where f.is_delete = #{isDelete}
......
......@@ -556,6 +556,33 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue());
}
public void saveOrgPersonExcel(OrgUsrExcelDto OrgPersonVo) throws Exception {
OrgUsr orgUsr = new OrgUsr();
BeanUtils.copyProperties(OrgPersonVo, orgUsr);
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
if (OrgPersonVo.getParentId() != null) {
OrgUsr parent = getById(OrgPersonVo.getParentId());
if (parent != null && ObjectUtils.isEmpty(OrgPersonVo.getBizOrgCode())) {
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
}
} else {
orgUsr.setBizOrgCode(getOrgCodeStr());
}
if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
OrgPersonVo.setAmosOrgCode(user.getRealName());
}
saveOrgUsrDynamicFormInstance(orgUsr, OrgPersonVo.getDynamicFormValue());
}
@Override
public void updateByIdOrgUsr(OrgUsrDto OrgUsrVo, Long id) throws Exception {
// 修改单位信息
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.MenuFrom;
import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.ExcelEnums;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.ExcelServiceImpl;
......@@ -11,8 +12,11 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 导出导入
......@@ -65,11 +69,12 @@ public class ExcelController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导入公用")
@PostMapping("/upload/{type}")
public void upload(@RequestPart("file") MultipartFile multipartFile, @PathVariable(value = "type") String type) {
public ResponseModel<Object> upload(@RequestPart("file") MultipartFile multipartFile, @PathVariable(value = "type") String type) {
try {
ExcelEnums excelEnums= ExcelEnums.getByKey(type);
ExcelDto excelDto = new ExcelDto(excelEnums.getFileName(), excelEnums.getSheetName(), excelEnums.getClassUrl(), excelEnums.getType());
excelService.commonUpload(multipartFile, excelDto);
return ResponseHelper.buildResponse(null);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("系统异常!");
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
......@@ -24,10 +25,13 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.AircraftDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Aircraft;
import com.yeejoin.amos.boot.module.jcs.api.enums.ExcelEnums;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.ibatis.annotations.Case;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.elasticsearch.search.aggregations.metrics.ParsedSingleValueNumericMetricsAggregation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
......@@ -92,7 +96,8 @@ public class ExcelServiceImpl {
DutyShiftServiceImpl dutyShiftService;
@Autowired
IDutyPersonService iDutyPersonService;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl;
@Autowired
LinkageUnitServiceImpl linkageUnitServiceImpl;
......@@ -207,8 +212,10 @@ public class ExcelServiceImpl {
break;
case "JCDWRY":
excelImportOrgUsrExcelDto(multipartFile);
break;
case "LDDW":
excelImportLinkageUnitZhDto(multipartFile);
break;
}
return;
}
......@@ -242,11 +249,136 @@ public class ExcelServiceImpl {
}
private void excelImportOrgUsrExcelDto(MultipartFile multipartFile) throws Exception {
List<OrgUsrExcelDto> excelDtoList = ExcelUtil.readFirstSheetExcel(multipartFile,
OrgUsrExcelDto.class, 1);
// keySiteService.saveExcel(excelDtoList);
}
List<OrgUsrExcelDto> excelDtoList = ExcelUtil.readFirstSheetExcel(multipartFile,
OrgUsrExcelDto.class, 1);
if(excelDtoList!=null&&excelDtoList.size()>0){
excelDtoList.forEach(orgUsrExcelDto->{
if(orgUsrExcelDto.getParentId()!=null){
String[] certificates = orgUsrExcelDto.getParentId().split("@");
orgUsrExcelDto.setParentId(certificates[1]);
}
// 动态字段填充
List<DynamicFormInitDto> dynamicFormColumn = dynamicFormColumnServiceImpl.getFormlist("246");
List<DynamicFormInstanceDto> dynamicFormValue =new ArrayList<>();
List<DynamicFormInstance> dynamicFormInstancelist =new ArrayList<>();
dynamicFormColumn.forEach(DynamicFormInitDto->{
dynamicFormValue.add(DynamicFormInitDto.getFormItemDescr());
});
dynamicFormValue.forEach(dynamicFormInstanceDto->{
switch (dynamicFormInstanceDto.getFieldCode()) {
case "administrativePositionCode":
if(orgUsrExcelDto.getAdministrativePositionCode()!=null){
String[] certificates = orgUsrExcelDto.getAdministrativePositionCode().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "auditCycle":
if(orgUsrExcelDto.getAuditCycle()!=null){
String[] certificates = orgUsrExcelDto.getAuditCycle().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "certificatesNumber":
dynamicFormInstanceDto.setFieldValue(orgUsrExcelDto.getCertificatesNumber());
break;
case "certificatesTypeCode":
if(orgUsrExcelDto.getCertificatesTypeCode()!=null){
String[] certificates = orgUsrExcelDto.getCertificatesTypeCode().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "certificateType":
if(orgUsrExcelDto.getCertificateType()!=null){
String[] certificates = orgUsrExcelDto.getCertificateType().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
case "fireManagementPostCode":
if(orgUsrExcelDto.getFireManagementPostCode()!=null){
String[] certificates = orgUsrExcelDto.getFireManagementPostCode().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "gender":
dynamicFormInstanceDto.setFieldValue(orgUsrExcelDto.getGender());
break;
case "internalPositionCode":
if(orgUsrExcelDto.getInternalPositionCode()!=null){
String[] certificates = orgUsrExcelDto.getInternalPositionCode().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "personNumber":
dynamicFormInstanceDto.setFieldValue(orgUsrExcelDto.getPersonNumber());
break;
case "positionType":
if(orgUsrExcelDto.getPositionType()!=null){
String[] certificates = orgUsrExcelDto.getPositionType().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "safetyTraining":
if(orgUsrExcelDto.getSafetyTraining()!=null){
String[] certificates = orgUsrExcelDto.getSafetyTraining().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "stateCode":
if(orgUsrExcelDto.getStateCode()!=null){
String[] certificates = orgUsrExcelDto.getStateCode().split("@");
dynamicFormInstanceDto.setFieldValue(certificates[1]);
dynamicFormInstanceDto.setFieldValueLabel(certificates[0]);
}
break;
case "telephone":
dynamicFormInstanceDto.setFieldValue(orgUsrExcelDto.getTelephone());
break;
}
DynamicFormInstance dynamicFormInstance=new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
dynamicFormInstancelist.add(dynamicFormInstance);
});
orgUsrExcelDto.setDynamicFormValue(dynamicFormInstancelist);
try {
orgUsrService.saveOrgPersonExcel(orgUsrExcelDto);
} catch (Exception e) {
throw new RuntimeException("导入失败!");
}
});
}
}
......
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