package com.estate.expert.admin.initdata;
|
|
import com.estate.expert.admin.domain.business.archive.ArchiveDto;
|
import com.estate.expert.admin.domain.business.archive.ArchiveType;
|
import com.estate.expert.admin.domain.business.car.CarDto;
|
import com.estate.expert.admin.domain.business.client.ClientDto;
|
import com.estate.expert.admin.domain.business.client.ClientType;
|
import com.estate.expert.admin.domain.business.contract.ContractDto;
|
import com.estate.expert.admin.domain.business.device.DeviceDto;
|
import com.estate.expert.admin.domain.business.device.DeviceType;
|
import com.estate.expert.admin.domain.common.EntityRef;
|
import com.estate.expert.admin.domain.user.UserDto;
|
import com.estate.expert.admin.initdata.common.ImportUtil;
|
import com.estate.expert.admin.service.*;
|
import lombok.Builder;
|
|
import java.io.File;
|
import java.util.List;
|
import java.util.TreeMap;
|
|
/**
|
* 导入业务数据
|
*/
|
@Builder
|
public class ImportBusinessJob {
|
|
private RoleService roleService;
|
|
private UserService userService;
|
|
private UserFileService userFileService;
|
|
private ClientService clientService;
|
|
private ContractService contractService;
|
|
private CarService carService;
|
|
private DeviceService deviceService;
|
|
private ReportTemplateService reportTemplateService;
|
|
private ArchiveService archiveService;
|
|
public void importRoles() {
|
roleService.createDefaultRoles();
|
}
|
|
public void importUsers() {
|
userService.createSystemUser();
|
|
ImportUtil.doImport(i -> {
|
var user = UserDto.builder()
|
.name("user" + i)
|
.mobile(String.format("138%08d", i))
|
.departmentPath("/0")
|
.email(String.format("138%08d@example.com", i))
|
.remark("测试用户" + i)
|
.roleId(2) // 检查人员
|
.build();
|
userService.add(userService.getSystemUser(), user);
|
});
|
}
|
|
public void importSampleFiles(){
|
var userFile = userFileService.upload(userService.getSystemUser(),
|
new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample.jpg"));
|
|
var userFile2 = userFileService.upload(userService.getSystemUser(),
|
new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/data/sample_doc.docx"));
|
|
var userFile3 = userFileService.upload(userService.getSystemUser(),
|
new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/data/sample_pdf.pdf"));
|
|
userFileService.upload(userService.getSystemUser(),
|
new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample_1.png"));
|
|
userFileService.upload(userService.getSystemUser(),
|
new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample_2.png"));
|
}
|
|
public void importArchives() {
|
ImportUtil.doImport(i -> {
|
var archive = ArchiveDto.builder()
|
.file(EntityRef.of(1))
|
.type(ArchiveType.values()[i % 5])
|
.remark("测试档案" + i)
|
.build();
|
archiveService.add(userService.getSystemUser(), archive);
|
});
|
}
|
|
public void importClients() {
|
ImportUtil.doImport(i -> {
|
var client = ClientDto.builder()
|
.name("测试委托方" + i)
|
.type(ClientType.DEVELOPER)
|
.intention("测试意向" + i)
|
.build();
|
clientService.add(userService.getSystemUser(), client);
|
});
|
}
|
|
public void importContracts(){
|
ImportUtil.doImport(i -> {
|
var contract = ContractDto.builder()
|
.name("NO_" + i)
|
.client(EntityRef.of(1))
|
.contractFile(EntityRef.of(1))
|
.techServiceFile(EntityRef.of(2))
|
.build();
|
contractService.add(userService.getSystemUser(), contract);
|
});
|
}
|
|
public void importCars() {
|
ImportUtil.doImport(i -> {
|
var car = CarDto.builder()
|
.name("车牌号" + i)
|
.model("车辆型号" + i)
|
.driver(EntityRef.of(i))
|
.initialMileage(1000 + i * 100)
|
.departmentPath("/0")
|
.images(List.of(EntityRef.of(1)))
|
.build();
|
carService.add(userService.getSystemUser(), car);
|
});
|
}
|
|
public void importDevices() {
|
for(int i = 0; i < 20; i++)
|
{
|
var properties = new TreeMap<String, String>();
|
properties.put("使用单位", "使用单位" + i);
|
properties.put("设备出厂日期", "2021-01-01");
|
properties.put("设备型号", "设备型号" + i);
|
properties.put("工程起重机械生产单位", "生产单位" + i);
|
properties.put("工程起重机械租赁单位", "租赁单位" + i);
|
properties.put("工程起重机械维保单位", "维保单位" + i);
|
properties.put("工程起重机械安拆单位", "安拆单位" + i);
|
properties.put("工程起重机械设备备案登记证号", "备案证号" + i);
|
properties.put("设备备案登记日期", "2021-01-01");
|
properties.put("备案机构", "备案机构" + i);
|
properties.put("设备备案登记有效期", "2021-01-01");
|
properties.put("设备使用登记证号", "使用证号" + i);
|
properties.put("使用登记日期", "2021-01-01");
|
properties.put("使用登记机构", "使用登记机构" + i);
|
properties.put("使用登记有效期截止日期", "2021-01-01");
|
properties.put("初装高度", "100" + i);
|
properties.put("最大安装高度", "200" + i);
|
properties.put("最终安装高度", "300" + i);
|
properties.put("验收日期", "2021-01-01");
|
properties.put("安拆人员证件号", "安拆证号" + i);
|
|
var device = DeviceDto.builder()
|
.type(DeviceType.values()[i % 10])
|
.name("设备编号" + i)
|
.manufacturerNumber("NO_" + i)
|
.properties(properties)
|
.build();
|
deviceService.add(userService.getSystemUser(), device);
|
}
|
}
|
|
public void importReportTemplates(){
|
reportTemplateService.createDefaultTemplates();
|
}
|
}
|