Commit 1b051b6a authored by tianbo's avatar tianbo

解决冲突代码

parent 7d29780d
......@@ -69,7 +69,7 @@ public interface IMaintenanceCompanyService {
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType, String amosUserId);
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType);
/**
* 查询分页展示的维保人员/单位/部门列表信息
......
......@@ -113,8 +113,7 @@ public class MaintenanceCompanyController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门列表,不分页", notes = "所有维保人员列表")
public ResponseModel<List<Map<String, Object>>> getAllMaintenanceList(@RequestParam String maintenanceType) {
AgencyUserModel amosUser = getUserInfo();
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType,
amosUser.getUserId()));
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType));
}
/**
......
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 com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
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;
/**
* 维保单位服务实现类
......@@ -77,6 +79,9 @@ public class MaintenanceCompanyServiceImpl
@Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper;
@Autowired
SourceFileServiceImpl sourceFileService;
/**
* 分页查询
*/
......@@ -109,6 +114,8 @@ public class MaintenanceCompanyServiceImpl
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
e.printStackTrace();
return false;
......@@ -118,21 +125,24 @@ public class MaintenanceCompanyServiceImpl
}
@Override
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr);
Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
if (StringUtils.isBlank(maintenanceCompany.getCode())) {
// 添加人员时,当前的orgcode 为单位code+6位随机数
maintenanceCompany.setCode(detail.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
// 添加人员时,当前的code 为单位code+6位随机数
maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
}
maintenanceCompany.setSequenceNbr(sequence.nextId());
maintenanceCompany.setOrgCode(null);
if (ValidationUtil.isEmpty(maintenanceCompany.getBizCode())) {
maintenanceCompany.setBizCode(sequence.nextId() + "");
}
maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
maintenanceCompany.setParentId(sequenceNbr);
maintenanceCompany.setParentId(parentId);
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
return false;
}
......@@ -140,6 +150,35 @@ 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
......@@ -163,23 +202,24 @@ public class MaintenanceCompanyServiceImpl
dynamicFormInstanceService.save(dynamicFormInstance);
}
return instanceId;
}
@Override
public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) {
public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detaliCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
// 添加人员时,当前的orgcode 为单位code+6位随机数
maintenanceCompany.setSequenceNbr(sequence.nextId());
maintenanceCompany.setCode(maintenanceCompany.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setOrgCode(null);
maintenanceCompany.setBizCode(sequence.nextId() + "");
maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
maintenanceCompany.setParentId(sequenceNbr);
maintenanceCompany.setParentId(parentId);
try {
this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) {
return false;
}
......@@ -200,9 +240,8 @@ 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);
......@@ -238,12 +277,11 @@ public class MaintenanceCompanyServiceImpl
case PERSON:
type = MAINTENANCE_PERSON;
break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT;
break;
default:
type = MAINTENANCE_COMPANY;
}
if (StringUtils.isBlank(type)) {
return null;
......@@ -252,12 +290,12 @@ public class MaintenanceCompanyServiceImpl
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
wrapper.eq(MaintenanceCompany::getIsDelete, false);
List<MaintenanceCompany> mintenanceCompany = this.list(wrapper);
List<MaintenanceCompany> maintenanceCompany = this.list(wrapper);
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mintenanceCompany.stream()
Map<Long, MaintenanceCompany> maintenanceCompanyMap = maintenanceCompany.stream()
.collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
dynamicFormList.forEach(r -> {
MaintenanceCompany detail = mintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
MaintenanceCompany detail = maintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
if (!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail));
}
......@@ -265,6 +303,7 @@ public class MaintenanceCompanyServiceImpl
return dynamicFormList;
}
@Override
public List<MaintenancePersonExcleDto> exportToMaintenancePersonExcel() {
List<Map<String, Object>> list = this.getAllMaintenanceList(PERSON);
return JSONArray.parseArray(list.toString(), MaintenancePersonExcleDto.class);
......@@ -313,18 +352,20 @@ public class MaintenanceCompanyServiceImpl
String maintenanceType = paramsMap.get("maintenanceType").toString().toUpperCase();
Map<String, String> filedParamsMap = null;
List<MaintenanceCompany> mainTableList = null;
String type = null;
List<MaintenanceCompany> mainTableList;
String type;
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;
......@@ -344,11 +385,11 @@ public class MaintenanceCompanyServiceImpl
}
IPage<Map<String, Object>> page = dynamicFormInstanceService.pageList(current, size, type, filedParamsMap);
Map<Long, MaintenanceCompany> mintenanceCompanyMap = mainTableList.stream()
Map<Long, MaintenanceCompany> maintenanceCompanyMap = mainTableList.stream()
.collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
page.getRecords().forEach(r -> {
MaintenanceCompany detail = mintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
MaintenanceCompany detail = maintenanceCompanyMap.get(Long.parseLong(r.get("instanceId").toString()));
if (!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail));
}
......@@ -359,10 +400,13 @@ public class MaintenanceCompanyServiceImpl
public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper,
Map<String, Object> paramsMap) {
if (paramsMap.containsKey("name")) {
wrapper.likeRight(MaintenanceCompany::getName, paramsMap.get("name").toString());
wrapper.like(MaintenanceCompany::getName, paramsMap.get("name").toString());
}
if (paramsMap.containsKey("parentId") && !"-1".equals(paramsMap.get("parentId"))) {
wrapper.eq(MaintenanceCompany::getParentId, Long.parseLong(paramsMap.get("parentId").toString()));
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::getType, PERSON);
......@@ -385,44 +429,67 @@ public class MaintenanceCompanyServiceImpl
}
Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type);
mainMap.put("dynamicResult", dynamicMap);
mainMap.put("attachments", getAttachments(maintenanceCompany.getSequenceNbr()));
mainMap.put("dynamicFormValue", 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, AgencyUserModel userInfo) {
public boolean updateMaintenanceCompanyDetail(MaintenanceCompany model) {
// 先刪除,后添加
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;
}
try {
this.updateDetail(model, userInfo, COMPANY);
this.updateDetail(model, type);
} catch (Exception e) {
return false;
}
return true;
}
public boolean updateDetail(MaintenanceCompany model, AgencyUserModel userInfo, String type) {
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
public boolean updateDetail(MaintenanceCompany model, 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;
......@@ -432,49 +499,15 @@ public class MaintenanceCompanyServiceImpl
}
@Override
@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;
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenancePersonDetail(MaintenanceCompany model) {
return updateMaintenanceDetail(model, PERSON);
}
@Override
@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;
@Transactional(rollbackFor = Exception.class)
public boolean updateMaintenanceDepartmentDetail(MaintenanceCompany model) {
return updateMaintenanceDetail(model, DEPARTMENT);
}
@Override
......@@ -534,8 +567,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> ss = maintenanceCompanyMapper.selectList(wrapper);
return maintenanceCompanyMapper.selectList(wrapper);
List<MaintenanceCompany> maintenanceCompanyList = maintenanceCompanyMapper.selectList(wrapper);
return maintenanceCompanyList;
}
public List<MaintenanceCompany> getPersonList(long sequenceNbr) {
......@@ -579,24 +612,58 @@ public class MaintenanceCompanyServiceImpl
* @param pageNum
* @param pageSize
* @param seq
* @param amosUserId
* @return
*/
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<>();
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);
}
// 机场单位列表基本信息
List<OrgUsrDto> orgUsrDtos = this.baseMapper.selectOrgUsrPageList(pageNum, pageSize, seq);
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();
// 机场组装单位动态表单数据
orgUsrDtos.forEach(orgUsrDto -> {
pageResult.getRecords().forEach(orgUsrDto -> {
Map<String, Object> map = Bean.BeantoMap(orgUsrDto);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()),
map);
companys.add(map);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()), map);
finalResultMap.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() {
......@@ -689,11 +756,50 @@ public class MaintenanceCompanyServiceImpl
return false;
}
@Transactional
@Override
@Transactional(rollbackFor = Exception.class)
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