Commit 7d29780d authored by tianbo's avatar tianbo

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents b5c0fbe1 15f1c883
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import java.io.Serializable;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yeejoin.amos.boot.module.common.api.excel.ExplicitConstraint;
import com.yeejoin.amos.boot.module.common.api.excel.RoleNameExplicitConstraint;
......@@ -16,6 +17,7 @@ public class MaintenancePersonExcleDto implements Serializable {
/**
*
*/
@ExcelIgnore
private static final long serialVersionUID = 1L;
@ExcelProperty(value = "序号", index = 0)
......@@ -31,10 +33,12 @@ public class MaintenancePersonExcleDto implements Serializable {
protected String code;
@ExplicitConstraint(indexNum = 3, sourceClass = RoleNameExplicitConstraint.class, method = "getCompanyAndDeparementTree") //固定下拉内容
@ExcelProperty(value = "所属单位及部门", index =3)
@ApiModelProperty(value = "所属单位及部门")
private String parentId;
@ExplicitConstraint(type = "XB", indexNum = 10, sourceClass = RoleNameExplicitConstraint.class)
@ExplicitConstraint(type = "XB", indexNum = 4, sourceClass = RoleNameExplicitConstraint.class)
@ExcelProperty(value = "性别", index =4)
@ApiModelProperty(value = "性别")
private String gender;
......@@ -60,14 +64,17 @@ public class MaintenancePersonExcleDto implements Serializable {
private String systemAccount;
@ExplicitConstraint(type = "WBRYZT", indexNum = 10, sourceClass = RoleNameExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "人员状态", index =10)
@ApiModelProperty(value = "人员状态")
private String status;
@ExplicitConstraint(type = "WBZYZS", indexNum = 11, sourceClass = RoleNameExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "职业资格证书", index =11)
@ApiModelProperty(value = "职业资格证书")
private String professionalCertificate;
@ExplicitConstraint(type = "WBZYZG", indexNum = 12, sourceClass = RoleNameExplicitConstraint.class) //动态下拉内容
@ExcelProperty(value = "职业资格", index =12)
@ApiModelProperty(value = "职业资格")
private String qualification;
......
......@@ -8,7 +8,6 @@ import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonExcleDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
/**
* 维保单位接口类
......@@ -157,4 +156,10 @@ public interface IMaintenanceCompanyService {
* @return
*/
public boolean saveMaintenanceCompanyBatch(List<MaintenanceCompany> companyList, List<DynamicFormInstance> list);
/**
* 将所有的维保人员导入到excle中
* @return
*/
public List<MaintenancePersonExcleDto> exportToMaintenancePersonExcel();
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonExcleDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.MaintenanceCompanyMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Function;
import java.util.stream.Collectors;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
/**
* 维保单位服务实现类
......@@ -60,11 +59,6 @@ public class MaintenanceCompanyServiceImpl
private static final String COMPANY = "COMPANY";
private static final String DEPARTMENT = "DEPARTMENT";
// private static final String[] INFORMATION_CARD_ARRAY = { "resourcesAdress", "name", "qualification",
// "professionalCertificate", "tel" };
// private static final String[] INFORMATION_DATA_ITEM = { "resourcesAdress", "name", "age", "qualification",
// "professionalCertificate", "tel", "systemAccount" };
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
......@@ -83,9 +77,6 @@ public class MaintenanceCompanyServiceImpl
@Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper;
@Autowired
SourceFileServiceImpl sourceFileService;
/**
* 分页查询
*/
......@@ -118,8 +109,6 @@ public class MaintenanceCompanyServiceImpl
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
e.printStackTrace();
return false;
......@@ -129,24 +118,21 @@ public class MaintenanceCompanyServiceImpl
}
@Override
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany) {
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr);
if (StringUtils.isBlank(maintenanceCompany.getCode())) {
// 添加人员时,当前的code 为单位code+6位随机数
maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
// 添加人员时,当前的orgcode 为单位code+6位随机数
maintenanceCompany.setCode(detail.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
}
maintenanceCompany.setSequenceNbr(sequence.nextId());
maintenanceCompany.setOrgCode(null);
if (ValidationUtil.isEmpty(maintenanceCompany.getBizCode())) {
maintenanceCompany.setBizCode(sequence.nextId() + "");
}
maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setParentId(parentId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
maintenanceCompany.setParentId(sequenceNbr);
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
return false;
}
......@@ -154,35 +140,6 @@ public class MaintenanceCompanyServiceImpl
}
/**
* 保存附件
*/
public void saveAttachments(MaintenanceCompany maintenanceCompany) {
if (!ValidationUtil.isEmpty(maintenanceCompany.getAttachments())) {
List<SourceFile> sourceFiles = Lists.newArrayList();
Map<String, List<AttachmentDto>> attachmentMap = maintenanceCompany.getAttachments();
attachmentMap.entrySet().forEach(entry -> {
List<AttachmentDto> atts = entry.getValue();
sourceFiles.addAll(attachment2SourceFile(entry.getKey(), atts));
});
sourceFileService.saveSourceFile(maintenanceCompany.getSequenceNbr(), sourceFiles);
}
}
private List<SourceFile> attachment2SourceFile(String type, List<AttachmentDto> attachmentDtoList) {
List<SourceFile> sourceFiles = Lists.newArrayList();
if (!ValidationUtil.isEmpty(attachmentDtoList)) {
attachmentDtoList.forEach(a -> {
SourceFile s = new SourceFile();
s.setFilePath(a.getUrl());
s.setFileName(a.getName());
s.setFileCategory(type);
sourceFiles.add(s);
});
}
return sourceFiles;
}
/**
* 添加维保单位人员信息
*
* @param maintenanceCompany
......@@ -206,24 +163,23 @@ public class MaintenanceCompanyServiceImpl
dynamicFormInstanceService.save(dynamicFormInstance);
}
return instanceId;
}
@Override
public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany) {
public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
MaintenanceCompany detaliCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
// 添加人员时,当前的orgcode 为单位code+6位随机数
maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setSequenceNbr(sequence.nextId());
maintenanceCompany.setCode(maintenanceCompany.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setOrgCode(null);
maintenanceCompany.setBizCode(sequence.nextId() + "");
maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
maintenanceCompany.setParentId(parentId);
maintenanceCompany.setParentId(sequenceNbr);
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
return false;
}
......@@ -244,8 +200,9 @@ public class MaintenanceCompanyServiceImpl
int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper);
if (number > 0) {
// 更新动态表单字段为删除状态
List<DynamicFormInstance> dyInstance =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
List<DynamicFormInstance> dyInstance = dynamicFormInstanceService
.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId,
maintenanceCompany.getInstanceId()));
dyInstance.forEach(i -> i.setIsDelete(true));
dynamicFormInstanceService.updateBatchById(dyInstance);
......@@ -275,7 +232,7 @@ public class MaintenanceCompanyServiceImpl
}
@Override
public List<Map<String, Object>> getAllMaintenanceList(String maintenanceType, String amosUserId) {
public List<Map<String, Object>> getAllMaintenanceList(String maintenanceType) {
String type = null;
switch (maintenanceType.toUpperCase()) {
case PERSON:
......@@ -294,6 +251,7 @@ public class MaintenanceCompanyServiceImpl
List<Map<String, Object>> dynamicFormList = dynamicFormInstanceService.listAll(type);
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
wrapper.eq(MaintenanceCompany::getIsDelete, false);
List<MaintenanceCompany> mintenanceCompany = this.list(wrapper);
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mintenanceCompany.stream()
......@@ -307,6 +265,12 @@ public class MaintenanceCompanyServiceImpl
return dynamicFormList;
}
public List<MaintenancePersonExcleDto> exportToMaintenancePersonExcel() {
List<Map<String, Object>> list = this.getAllMaintenanceList(PERSON);
return JSONArray.parseArray(list.toString(), MaintenancePersonExcleDto.class);
}
/**
* 维保单位人员信息分頁信息显示时的字段过滤
*
......@@ -349,20 +313,18 @@ public class MaintenanceCompanyServiceImpl
String maintenanceType = paramsMap.get("maintenanceType").toString().toUpperCase();
Map<String, String> filedParamsMap = null;
List<MaintenanceCompany> mainTableList;
String type;
List<MaintenanceCompany> mainTableList = null;
String type = null;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getIsDelete, false);
switch (maintenanceType) {
case PERSON:
type = MAINTENANCE_PERSON;
filedParamsMap = new HashMap<>();
if (paramsMap.containsKey("status")) {
filedParamsMap = new HashMap<String, String>();
filedParamsMap.put("status", paramsMap.get("status").toString());
}
mainTableList = this.checkMaintenanceCompanyList(wrapper, paramsMap);
List<Long> instanceIds = Lists.transform(mainTableList, MaintenanceCompany::getInstanceId);
filedParamsMap.put("instanceIds", Joiner.on(",").join(instanceIds));
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
......@@ -382,11 +344,11 @@ public class MaintenanceCompanyServiceImpl
}
IPage<Map<String, Object>> page = dynamicFormInstanceService.pageList(current, size, type, filedParamsMap);
Map<Long, MaintenanceCompany> maintenanceCompanyMap = mainTableList.stream()
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mainTableList.stream()
.collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
page.getRecords().forEach(r -> {
MaintenanceCompany detail = maintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
MaintenanceCompany detail = mintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
if (!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail));
}
......@@ -397,13 +359,10 @@ public class MaintenanceCompanyServiceImpl
public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper,
Map<String, Object> paramsMap) {
if (paramsMap.containsKey("name")) {
wrapper.like(MaintenanceCompany::getName, paramsMap.get("name").toString());
wrapper.likeRight(MaintenanceCompany::getName, paramsMap.get("name").toString());
}
if (paramsMap.containsKey("parentId") && !"-1".equals(paramsMap.get("parentId"))) {
Long parentId = Long.parseLong(paramsMap.get("parentId").toString());
MaintenanceCompany company =
getOne(new LambdaQueryWrapper<MaintenanceCompany>().eq(MaintenanceCompany::getSequenceNbr, parentId));
wrapper.likeRight(MaintenanceCompany::getCode, company.getCode());
wrapper.eq(MaintenanceCompany::getParentId, Long.parseLong(paramsMap.get("parentId").toString()));
}
wrapper.eq(MaintenanceCompany::getType, PERSON);
......@@ -426,68 +385,44 @@ public class MaintenanceCompanyServiceImpl
}
Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type);
mainMap.put("attachments", getAttachments(maintenanceCompany.getSequenceNbr()));
mainMap.put("dynamicFormValue", dynamicMap);
mainMap.put("dynamicResult", dynamicMap);
return mainMap;
}
private Map<String, List<AttachmentDto>> getAttachments(Long sequenceNbr) {
Map<String, List<AttachmentDto>> attachmentMap = Maps.newHashMap();
List<SourceFile> sourceFileList = sourceFileService.findBySourceId(sequenceNbr);
if (!ValidationUtil.isEmpty(sourceFileList)) {
List<AttachmentDto> attachmentList = sourceFile2AttachmentList(sourceFileList);
attachmentMap = attachmentList.stream().collect(Collectors.groupingBy(AttachmentDto::getType));
}
return attachmentMap;
}
private List<AttachmentDto> sourceFile2AttachmentList(List<SourceFile> sourceFileList) {
List<AttachmentDto> attachmentDtoList = Lists.newArrayList();
if (!ValidationUtil.isEmpty(sourceFileList)) {
sourceFileList.forEach(s -> {
AttachmentDto a = new AttachmentDto();
a.setName(s.getFileName());
a.setUrl(s.getFilePath());
a.setType(s.getFileCategory());
attachmentDtoList.add(a);
});
}
return attachmentDtoList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model) {
public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model, AgencyUserModel userInfo) {
// 先刪除,后添加
return updateMaintenanceDetail(model, COMPANY);
}
public boolean updateMaintenanceDetail(MaintenanceCompany model, String type) {
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
// 先刪除,后添加
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
// this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
this.updateDetail(model, type);
try {
this.updateDetail(model, userInfo, COMPANY);
} catch (Exception e) {
return false;
}
return true;
}
public boolean updateDetail(MaintenanceCompany model, String type) {
// 将数据存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
public boolean updateDetail(MaintenanceCompany model, AgencyUserModel userInfo, String type) {
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
Long instanceId = saveDynamicFormList(model);
// 拿到instanceId之后进行往主表中插入数据
model.setInstanceId(instanceId);
model.setRecUserId(userInfo.getUserId());
model.setRecDate(new Date());
model.setRecUserName(userInfo.getUserName());
model.setIsDelete(false);
model.setType(type);
try {
this.updateById(model);
// 更新附件
saveAttachments(model);
} catch (Exception e) {
e.printStackTrace();
return false;
......@@ -497,15 +432,49 @@ public class MaintenanceCompanyServiceImpl
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenancePersonDetail(MaintenanceCompany model) {
return updateMaintenanceDetail(model, PERSON);
@Transactional
public boolean updateMaintenancePersonDetail(MaintenanceCompany model, AgencyUserModel userInfo) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
// this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
try {
this.updateDetail(model, userInfo, PERSON);
} catch (Exception e) {
return false;
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenanceDepartmentDetail(MaintenanceCompany model) {
return updateMaintenanceDetail(model, DEPARTMENT);
@Transactional
public boolean updateMaintenancDepartmentDetail(MaintenanceCompany model, AgencyUserModel userInfo) {
// 先刪除,后添加
MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try {
if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
// this.removeById(maintenanceCompany.getSequenceNbr());
}
} catch (Exception e) {
return false;
}
try {
Map<String, Object> bean = Bean.BeantoMap(model);
this.updateDetail(model, userInfo, DEPARTMENT);
} catch (Exception e) {
return false;
}
return true;
}
@Override
......@@ -565,8 +534,8 @@ public class MaintenanceCompanyServiceImpl
wrapper.eq(MaintenanceCompany::getIsDelete, false);
wrapper.in(MaintenanceCompany::getType, Arrays.asList(PERSON, DEPARTMENT));
wrapper.likeRight(MaintenanceCompany::getCode, companyDetail.getCode());
List<MaintenanceCompany> maintenanceCompanyList = maintenanceCompanyMapper.selectList(wrapper);
return maintenanceCompanyList;
List<MaintenanceCompany> ss = maintenanceCompanyMapper.selectList(wrapper);
return maintenanceCompanyMapper.selectList(wrapper);
}
public List<MaintenanceCompany> getPersonList(long sequenceNbr) {
......@@ -610,58 +579,24 @@ public class MaintenanceCompanyServiceImpl
* @param pageNum
* @param pageSize
* @param seq
* @param amosUserId
* @return
*/
public Page<Map<String, Object>> queryOrgUsrMsgPage(int pageNum, int pageSize, Long seq, String amosUserId) {
MaintenanceCompany maintenanceCompany = new MaintenanceCompany();
if (ValidationUtil.isEmpty(seq)) {
maintenanceCompany = getMaintenanceCompany(amosUserId);
}
public List<Map<String, Object>> queryOrgUsrMsgPage(int pageNum, int pageSize, Long seq) {
if (ValidationUtil.isEmpty(this.queryBySeq(seq))) {
throw new BadRequest("参数校验失败.");
} else {
List<Map<String, Object>> companys = new ArrayList<>();
// 机场单位列表基本信息
if (pageNum == -1 || pageSize == -1) {
pageSize = Integer.MAX_VALUE;
}
Page page = new Page(pageNum, pageSize);
Page<Map<String, Object>> companys = new Page<>(pageNum, pageSize);
Page<OrgUsrDto> pageResult = this.baseMapper.selectOrgUsrPageList(page,
maintenanceCompany.getSequenceNbr());
List<Map<String, Object>> finalResultMap = Lists.newArrayList();
List<OrgUsrDto> orgUsrDtos = this.baseMapper.selectOrgUsrPageList(pageNum, pageSize, seq);
// 机场组装单位动态表单数据
pageResult.getRecords().forEach(orgUsrDto -> {
orgUsrDtos.forEach(orgUsrDto -> {
Map<String, Object> map = Bean.BeantoMap(orgUsrDto);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()), map);
finalResultMap.add(map);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()),
map);
companys.add(map);
});
companys.setRecords(finalResultMap);
companys.setTotal(pageResult.getTotal());
companys.setPages(pageResult.getPages());
return companys;
}
/**
* 根据平台用户id查询登陆人所属维保单位
*
* @param amosUserId
* @return
*/
public MaintenanceCompany getMaintenanceCompany(String amosUserId) {
MaintenanceCompany maintenanceCompany;
DynamicFormInstance dyFormInstance =
dynamicFormInstanceService.getOne(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getFieldCode, "amosAccount").eq(DynamicFormInstance::getFieldValue, amosUserId));
if (ValidationUtil.isEmpty(dyFormInstance)) {
throw new BadRequest("维保账号不存在或未关联系统账号.");
}
MaintenanceCompany person =
this.getOne(new LambdaQueryWrapper<MaintenanceCompany>().eq(MaintenanceCompany::getInstanceId,
dyFormInstance.getInstanceId()));
maintenanceCompany =
this.getOne(new LambdaQueryWrapper<MaintenanceCompany>().eq(MaintenanceCompany::getSequenceNbr,
person.getParentId()));
if (ValidationUtil.isEmpty(maintenanceCompany)) {
throw new BadRequest("维保账号不存在或未关联系统账号.");
}
return maintenanceCompany;
}
public List<Map<String, Object>> queryCompanyMsg() {
......@@ -754,50 +689,11 @@ public class MaintenanceCompanyServiceImpl
return false;
}
@Override
@Transactional(rollbackFor = Exception.class)
@Transactional
public boolean saveMaintenanceCompanyBatch(List<MaintenanceCompany> companyList, List<DynamicFormInstance> list) {
saveDynamicFormInstanceBatch(list);
this.saveBatch(companyList);
return false;
}
/**
* 查询当前登陆用户所在维保单位下的维保人员列表部门列表,不分页
*
* @param companyId
* @param userId
* @return
*/
public List<Map<String, Object>> getPersonListByCompanyId(Long companyId, String userId) {
MaintenanceCompany company;
if (ValidationUtil.isEmpty(companyId)) {
company = getMaintenanceCompany(userId);
if (ValidationUtil.isEmpty(company)) {
throw new BadRequest("用户不存在");
}
} else {
company = this.getById(companyId);
}
// 查询公司下人列表
List<MaintenanceCompany> personList =
list(new LambdaQueryWrapper<MaintenanceCompany>().eq(MaintenanceCompany::getIsDelete, false).eq(MaintenanceCompany::getType, PERSON).likeRight(MaintenanceCompany::getCode, company.getCode()
));
List<Long> instanceIdList = Lists.transform(personList, MaintenanceCompany::getInstanceId);
// 查询手机号
List<DynamicFormInstance> dynamicFormInstanceList =
dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getFieldCode, "tel").in(DynamicFormInstance::getInstanceId,
instanceIdList));
Map<Long, List<DynamicFormInstance>> dyMap =
dynamicFormInstanceList.stream().collect(Collectors.groupingBy(DynamicFormInstance::getInstanceId));
List<Map<String, Object>> resultList = Lists.newArrayList();
personList.forEach(person -> {
Map<String, Object> map = Maps.newHashMap();
map.put("sequenceNbr", person.getSequenceNbr());
map.put("name", person.getName());
map.put("tel", dyMap.get(person.getInstanceId()).get(0).getFieldValue());
resultList.add(map);
});
return resultList;
}
}
\ No newline at end of file
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