Commit d05adf1a authored by KeYong's avatar KeYong

提交使用单位、维保单位查询接口

parent 2483254e
package com.yeejoin.amos.boot.module.elevator.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.List;
/**
* @author keyong
* @title: BaseEnterpriseInfoDto
* <pre>
* @description: TODO
* </pre>
* @date 2023/7/28 11:07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_base_enterprise_info")
@ApiModel(value = "BaseEnterpriseInfoDto", description = "BaseEnterpriseInfoDto")
public class BaseEnterpriseInfoDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "统一社会信用代码")
@TableField("use_code")
private String socialCreditCode;
@ApiModelProperty(value = "维护保养单位名称")
@TableField("supervise_org_name")
private String unitName;
@ApiModelProperty(value = "省份")
@TableField("province")
private String province;
@ApiModelProperty(value = "地市")
@TableField("city")
private String city;
@ApiModelProperty(value = "区县")
@TableField("district")
private String district;
@ApiModelProperty(value = "区域代码")
@TableField("district")
private String regionCode;
@ApiModelProperty(value = "地址(详细地址,包括道路、门牌号码)")
@TableField("address")
private String address;
@ApiModelProperty(value = "经度")
@TableField("longitude")
private String longitude;
@ApiModelProperty(value = "纬度")
@TableField("latitude")
private String latitude;
// @ApiModelProperty(value = "法人id")
// private Long legalPersonId;
@ApiModelProperty(value = "法人")
@TableField("legal_person")
private String legalPerson;
@ApiModelProperty(value = "法人电话/注册电话")
@TableField("legal_phone")
private String legalPersonPhone;
// @ApiModelProperty(value = "企业资质等级")
// private String qualificationLevel;
//
// @ApiModelProperty(value = "信用级别")
// private Integer creditLevel;
// @ApiModelProperty(value = "许可证编号")
// private String licenseNum;
@ApiModelProperty(value = "值班电话")
@TableField("contact_phone")
private String dutyPhone;
// @ApiModelProperty(value = "紧急电话号码")
// private String emergencyPhone;
@ApiModelProperty(value = "主要负责人1")
@TableField("safety_one")
private String principalFirst;
@ApiModelProperty(value = "主要负责人1手机号码")
@TableField("safety_one_phone")
private String principalFirstPhone;
@ApiModelProperty(value = "主要负责人1id")
@TableField("safety_one_id")
private Long principalFirstId;
@ApiModelProperty(value = "主要负责人2")
@TableField("safety_two")
private String principalSecond;
@ApiModelProperty(value = "主要负责人2手机号码")
@TableField("safety_two_phone")
private String principalSecondPhone;
@ApiModelProperty(value = "主要负责人2id")
@TableField("safety_two_id")
private Long principalSecondId;
// @ApiModelProperty(value = "原始表id(来自历史数据库)")
// private String originalId;
@ApiModelProperty(value = "单位类型")
@TableField("unit_type")
private String unitType;
@ApiModelProperty(value = "人员信息")
@TableField(exist = false)
List<DutyPersonDto> dutyPersonList;
}
package com.yeejoin.amos.boot.module.elevator.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @author ky
* @date 2023-07-28
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tz_base_enterprise_info")
@ApiModel(value = "BaseEnterpriseInfo对象", description = "BaseEnterpriseInfo对象")
public class EnterpriseInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "统一社会信用代码")
@TableField("use_code")
private String socialCreditCode;
@ApiModelProperty(value = "维护保养单位名称")
@TableField("supervise_org_name")
private String unitName;
@ApiModelProperty(value = "省份")
@TableField("province")
private String province;
@ApiModelProperty(value = "地市")
@TableField("city")
private String city;
@ApiModelProperty(value = "区县")
@TableField("district")
private String district;
@ApiModelProperty(value = "区域代码")
@TableField("district")
private String regionCode;
@ApiModelProperty(value = "地址(详细地址,包括道路、门牌号码)")
@TableField("address")
private String address;
@ApiModelProperty(value = "经度")
@TableField("longitude")
private String longitude;
@ApiModelProperty(value = "纬度")
@TableField("latitude")
private String latitude;
@ApiModelProperty(value = "法人")
@TableField("legal_person")
private String legalPerson;
@ApiModelProperty(value = "法人电话/注册电话")
@TableField("legal_phone")
private String legalPersonPhone;
@ApiModelProperty(value = "值班电话")
@TableField("contact_phone")
private String dutyPhone;
@ApiModelProperty(value = "主要负责人1")
@TableField("safety_one")
private String principalFirst;
@ApiModelProperty(value = "主要负责人1手机号码")
@TableField("safety_one_phone")
private String principalFirstPhone;
@ApiModelProperty(value = "主要负责人1id")
@TableField("safety_one_id")
private Long principalFirstId;
@ApiModelProperty(value = "主要负责人2")
@TableField("safety_two")
private String principalSecond;
@ApiModelProperty(value = "主要负责人2手机号码")
@TableField("safety_two_phone")
private String principalSecondPhone;
@ApiModelProperty(value = "主要负责人2id")
@TableField("safety_two_id")
private Long principalSecondId;
@ApiModelProperty(value = "单位类型")
@TableField("unit_type")
private String unitType;
}
package com.yeejoin.amos.boot.module.elevator.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.elevator.api.entity.EnterpriseInfo;
/**
* @author keyong
* @title: EnterpriseInfoMapper
* <pre>
* @description: TODO
* </pre>
* @date 2023/7/28 14:20
*/
public interface EnterpriseInfoMapper extends BaseMapper<EnterpriseInfo> {
}
package com.yeejoin.amos.boot.module.elevator.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.module.elevator.api.entity.EnterpriseInfo;
/**
* @author keyong
* @title: IEnterpriseInfoService
* <pre>
* @description: TODO
* </pre>
* @date 2023/7/28 14:17
*/
public interface IEnterpriseInfoService extends IService<EnterpriseInfo> {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.elevator.api.mapper.EnterpriseInfoMapper">
</mapper>
......@@ -5,12 +5,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.elevator.api.dto.BaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.MaintenanceUnitDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.MaintenanceUnitNameDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.EnterpriseInfo;
import com.yeejoin.amos.boot.module.elevator.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.elevator.api.service.IEnterpriseInfoService;
import com.yeejoin.amos.boot.module.elevator.api.service.IMaintenanceUnitService;
import com.yeejoin.amos.boot.module.elevator.api.service.ITzBaseEnterpriseInfoService;
import com.yeejoin.amos.boot.module.elevator.biz.service.impl.ElevatorServiceImpl;
import com.yeejoin.amos.boot.module.elevator.biz.utils.BeanDtoVoUtils;
import io.swagger.annotations.Api;
......@@ -53,6 +57,9 @@ public class MaintenanceUnitController extends BaseController {
IMaintenanceUnitService iMaintenanceUnitService;
@Autowired
IEnterpriseInfoService iEnterpriseInfoService;
@Autowired
ElevatorServiceImpl elevatorServiceImpl;
/**
......@@ -224,6 +231,65 @@ public class MaintenanceUnitController extends BaseController {
}
/**
* 分页查询维保单位/使用单位信息
*
* @param pageNum 当前页
* @param pageSize 每页大小
* @return 返回结果
*/
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/query_agency_unit_list/ocp/{unitType}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "分页查询维保单位/使用单位信息", notes = "分页查询维保单位/使用单位信息")
public ResponseModel<IPage<BaseEnterpriseInfoDto>> queryMaintenanceUnitList(String pageNum, String pageSize,
@PathVariable(required = false) String unitType,
EnterpriseInfo enterpriseInfoDto) {
enterpriseInfoDto.setUnitType(unitType);
EnterpriseInfo enterpriseInfo = BeanDtoVoUtils.convert(enterpriseInfoDto, EnterpriseInfo.class);
Page<EnterpriseInfo> pageBean;
QueryWrapper<EnterpriseInfo> enterpriseInfoQueryWrapper = new QueryWrapper<>();
Class<? extends EnterpriseInfo> aClass = enterpriseInfo.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(enterpriseInfo);
if (o != null) {
String name = NameUtils.camel2Underline(field.getName());
if ("city".equalsIgnoreCase(name) || "district".equalsIgnoreCase(name) || "qualification_level".equalsIgnoreCase(name)) {
String fileValue = (String) o;
enterpriseInfoQueryWrapper.eq(name, fileValue);
} else if ("credit_level".equalsIgnoreCase(name)) {
Integer fileValue = (Integer) o;
enterpriseInfoQueryWrapper.eq(name, fileValue);
} else if ("unit_type".equalsIgnoreCase(name)) {
// 1 维保单位,2 使用单位
String fileValue = (String) o;
if ("1".equals(fileValue)) {
// 此处由于写接口时表数据还未进行整理,所以此处先默认用文字做查询
enterpriseInfoQueryWrapper.like(name, "使用单位");
} else {
enterpriseInfoQueryWrapper.notLike(name, "使用单位");
}
} else {
String fileValue = (String) o;
enterpriseInfoQueryWrapper.like(name, fileValue);
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
});
IPage<EnterpriseInfo> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iEnterpriseInfoService.page(pageBean, enterpriseInfoQueryWrapper);
IPage<BaseEnterpriseInfoDto> enterpriseInfoDtoIPage = BeanDtoVoUtils.enterpriseInfoIPageDto(page);
return ResponseHelper.buildResponse(enterpriseInfoDtoIPage);
}
/**
* 根据名称查询维保单位列表
*
* @param unitName 维保单位名称
......
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.elevator.api.entity.EnterpriseInfo;
import com.yeejoin.amos.boot.module.elevator.api.mapper.EnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.elevator.api.service.IEnterpriseInfoService;
import org.springframework.stereotype.Service;
/**
* @author keyong
* @title: EnterpriseInfoServiceImpl
* <pre>
* @description: TODO
* </pre>
* @date 2023/7/28 14:19
*/
@Service
public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper, EnterpriseInfo> implements IEnterpriseInfoService {
}
......@@ -2,9 +2,11 @@ package com.yeejoin.amos.boot.module.elevator.biz.utils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.feign.AmosFeignService;
import com.yeejoin.amos.boot.module.elevator.api.dto.BaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.ElevatorDto;
import com.yeejoin.amos.boot.module.elevator.api.dto.MaintenanceUnitDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.Elevator;
import com.yeejoin.amos.boot.module.elevator.api.entity.EnterpriseInfo;
import com.yeejoin.amos.boot.module.elevator.api.entity.MaintenanceUnit;
import com.yeejoin.amos.boot.module.elevator.flc.api.dto.CylinderInfoDto;
import com.yeejoin.amos.boot.module.elevator.flc.api.dto.EquipmentDto;
......@@ -251,6 +253,60 @@ public class BeanDtoVoUtils {
}
/**
* 将MaintenanceUnit转换为IPage<MaintenanceUnitVo>
*
* @param page 原分页对象
* @return 转换后的分页对象
*/
public static IPage<BaseEnterpriseInfoDto> enterpriseInfoIPageDto(IPage<EnterpriseInfo> page) {
try {
getMaintenanceUnitDictionaryByDictCode();
} catch (Exception e) {
return null;
}
return page.convert(item -> {
try {
return convertEnterpriseInfoToVo(item, true);
} catch (Exception e) {
return null;
}
});
}
/**
* 将MaintenanceUnit转换为Vo
*
* @param source 源对象
* @param isBatch 是否批量
* @return 转换后的Vo
*/
public static BaseEnterpriseInfoDto convertEnterpriseInfoToVo(EnterpriseInfo source, boolean isBatch) {
// 判断source是否为空
if (source == null) {
return null;
}
try {
// 创建新的对象实例
BaseEnterpriseInfoDto target = new BaseEnterpriseInfoDto();
// 把原对象数据拷贝到新对象
BeanUtils.copyProperties(source, target);
target.setDistrict(target.getCity() + target.getDistrict());
// 返回新对象
// 根据数据字典设置值
// if (!isBatch) {
// getMaintenanceUnitDictionaryByDictCode();
// }
// List<DictionarieValueModel> qualificationLevelValue =
// qualificationLevel.stream().filter(e -> e.getDictDataKey().equals(source.getQualificationLevel())).collect(Collectors.toList());
// target.setQualificationLevel(qualificationLevelValue.isEmpty() ? "" :
// qualificationLevelValue.get(0).getDictDataDesc());
return target;
} catch (Exception e) {
return null;
}
}
/**
* 将企业注册实体类转换为Vo
*
* @param page 原分页对象
......
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