Commit 1b051b6a authored by tianbo's avatar tianbo

解决冲突代码

parent 7d29780d
...@@ -69,7 +69,7 @@ public interface IMaintenanceCompanyService { ...@@ -69,7 +69,7 @@ public interface IMaintenanceCompanyService {
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门) * @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return * @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 { ...@@ -113,8 +113,7 @@ public class MaintenanceCompanyController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门列表,不分页", notes = "所有维保人员列表") @ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门列表,不分页", notes = "所有维保人员列表")
public ResponseModel<List<Map<String, Object>>> getAllMaintenanceList(@RequestParam String maintenanceType) { public ResponseModel<List<Map<String, Object>>> getAllMaintenanceList(@RequestParam String maintenanceType) {
AgencyUserModel amosUser = getUserInfo(); AgencyUserModel amosUser = getUserInfo();
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType, return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType));
amosUser.getUserId()));
} }
/** /**
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; 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.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence; import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonExcleDto; 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.dto.OrgUsrDto;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn; 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.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.MaintenanceCompany; 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.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper; 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.mapper.MaintenanceCompanyMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService; import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService; 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 ...@@ -77,6 +79,9 @@ public class MaintenanceCompanyServiceImpl
@Autowired @Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper; DynamicFormInstanceMapper dynamicFormInstanceMapper;
@Autowired
SourceFileServiceImpl sourceFileService;
/** /**
* 分页查询 * 分页查询
*/ */
...@@ -109,6 +114,8 @@ public class MaintenanceCompanyServiceImpl ...@@ -109,6 +114,8 @@ public class MaintenanceCompanyServiceImpl
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase()); maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
try { try {
this.save(maintenanceCompany); this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false; return false;
...@@ -118,21 +125,24 @@ public class MaintenanceCompanyServiceImpl ...@@ -118,21 +125,24 @@ public class MaintenanceCompanyServiceImpl
} }
@Override @Override
public boolean savePersonDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) { public boolean savePersonDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany); Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detail = maintenanceCompanyMapper.selectById(sequenceNbr); Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
if (StringUtils.isBlank(maintenanceCompany.getCode())) { if (StringUtils.isBlank(maintenanceCompany.getCode())) {
// 添加人员时,当前的orgcode 为单位code+6位随机数 // 添加人员时,当前的code 为单位code+6位随机数
maintenanceCompany.setCode(detail.getCode() + OrgUsrServiceImpl.getOrgCodeStr()); maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
} }
maintenanceCompany.setSequenceNbr(sequence.nextId());
maintenanceCompany.setOrgCode(null); maintenanceCompany.setOrgCode(null);
maintenanceCompany.setBizCode(sequence.nextId() + ""); if (ValidationUtil.isEmpty(maintenanceCompany.getBizCode())) {
maintenanceCompany.setBizCode(sequence.nextId() + "");
}
maintenanceCompany.setInstanceId(instanceId); maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase()); maintenanceCompany.setParentId(parentId);
maintenanceCompany.setParentId(sequenceNbr);
try { try {
this.save(maintenanceCompany); this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
...@@ -140,6 +150,35 @@ public class MaintenanceCompanyServiceImpl ...@@ -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 * @param maintenanceCompany
...@@ -163,23 +202,24 @@ public class MaintenanceCompanyServiceImpl ...@@ -163,23 +202,24 @@ public class MaintenanceCompanyServiceImpl
dynamicFormInstanceService.save(dynamicFormInstance); dynamicFormInstanceService.save(dynamicFormInstance);
} }
return instanceId; return instanceId;
} }
@Override @Override
public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany, long sequenceNbr) { public boolean saveDepartmentDetail(MaintenanceCompany maintenanceCompany) {
Long instanceId = saveDynamicFormList(maintenanceCompany); Long instanceId = saveDynamicFormList(maintenanceCompany);
MaintenanceCompany detaliCompany = maintenanceCompanyMapper.selectById(sequenceNbr); Long parentId = maintenanceCompany.getParentId();
MaintenanceCompany parent = maintenanceCompanyMapper.selectById(parentId);
// 添加人员时,当前的orgcode 为单位code+6位随机数 // 添加人员时,当前的orgcode 为单位code+6位随机数
maintenanceCompany.setSequenceNbr(sequence.nextId()); maintenanceCompany.setCode(parent.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setCode(maintenanceCompany.getCode() + OrgUsrServiceImpl.getOrgCodeStr());
maintenanceCompany.setOrgCode(null); maintenanceCompany.setOrgCode(null);
maintenanceCompany.setBizCode(sequence.nextId() + ""); maintenanceCompany.setBizCode(sequence.nextId() + "");
maintenanceCompany.setInstanceId(instanceId); maintenanceCompany.setInstanceId(instanceId);
maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase()); maintenanceCompany.setType(maintenanceCompany.getType().toUpperCase());
maintenanceCompany.setParentId(sequenceNbr); maintenanceCompany.setParentId(parentId);
try { try {
this.save(maintenanceCompany); this.save(maintenanceCompany);
saveAttachments(maintenanceCompany);
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
...@@ -200,9 +240,8 @@ public class MaintenanceCompanyServiceImpl ...@@ -200,9 +240,8 @@ public class MaintenanceCompanyServiceImpl
int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper); int number = maintenanceCompanyMapper.update(maintenanceCompany, wrapper);
if (number > 0) { if (number > 0) {
// 更新动态表单字段为删除状态 // 更新动态表单字段为删除状态
List<DynamicFormInstance> dyInstance = dynamicFormInstanceService List<DynamicFormInstance> dyInstance =
.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, dynamicFormInstanceService.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
maintenanceCompany.getInstanceId()));
dyInstance.forEach(i -> i.setIsDelete(true)); dyInstance.forEach(i -> i.setIsDelete(true));
dynamicFormInstanceService.updateBatchById(dyInstance); dynamicFormInstanceService.updateBatchById(dyInstance);
...@@ -238,12 +277,11 @@ public class MaintenanceCompanyServiceImpl ...@@ -238,12 +277,11 @@ public class MaintenanceCompanyServiceImpl
case PERSON: case PERSON:
type = MAINTENANCE_PERSON; type = MAINTENANCE_PERSON;
break; break;
case COMPANY:
type = MAINTENANCE_COMPANY;
break;
case DEPARTMENT: case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT; type = MAINTENANCE_DEPARTMENT;
break; break;
default:
type = MAINTENANCE_COMPANY;
} }
if (StringUtils.isBlank(type)) { if (StringUtils.isBlank(type)) {
return null; return null;
...@@ -252,12 +290,12 @@ public class MaintenanceCompanyServiceImpl ...@@ -252,12 +290,12 @@ public class MaintenanceCompanyServiceImpl
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase()); wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
wrapper.eq(MaintenanceCompany::getIsDelete, false); 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())); .collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
dynamicFormList.forEach(r -> { 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)) { if (!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail)); r.putAll(Bean.BeantoMap(detail));
} }
...@@ -265,6 +303,7 @@ public class MaintenanceCompanyServiceImpl ...@@ -265,6 +303,7 @@ public class MaintenanceCompanyServiceImpl
return dynamicFormList; return dynamicFormList;
} }
@Override
public List<MaintenancePersonExcleDto> exportToMaintenancePersonExcel() { public List<MaintenancePersonExcleDto> exportToMaintenancePersonExcel() {
List<Map<String, Object>> list = this.getAllMaintenanceList(PERSON); List<Map<String, Object>> list = this.getAllMaintenanceList(PERSON);
return JSONArray.parseArray(list.toString(), MaintenancePersonExcleDto.class); return JSONArray.parseArray(list.toString(), MaintenancePersonExcleDto.class);
...@@ -313,18 +352,20 @@ public class MaintenanceCompanyServiceImpl ...@@ -313,18 +352,20 @@ public class MaintenanceCompanyServiceImpl
String maintenanceType = paramsMap.get("maintenanceType").toString().toUpperCase(); String maintenanceType = paramsMap.get("maintenanceType").toString().toUpperCase();
Map<String, String> filedParamsMap = null; Map<String, String> filedParamsMap = null;
List<MaintenanceCompany> mainTableList = null; List<MaintenanceCompany> mainTableList;
String type = null; String type;
LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<MaintenanceCompany> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(MaintenanceCompany::getIsDelete, false); wrapper.eq(MaintenanceCompany::getIsDelete, false);
switch (maintenanceType) { switch (maintenanceType) {
case PERSON: case PERSON:
type = MAINTENANCE_PERSON; type = MAINTENANCE_PERSON;
filedParamsMap = new HashMap<>();
if (paramsMap.containsKey("status")) { if (paramsMap.containsKey("status")) {
filedParamsMap = new HashMap<String, String>();
filedParamsMap.put("status", paramsMap.get("status").toString()); filedParamsMap.put("status", paramsMap.get("status").toString());
} }
mainTableList = this.checkMaintenanceCompanyList(wrapper, paramsMap); mainTableList = this.checkMaintenanceCompanyList(wrapper, paramsMap);
List<Long> instanceIds = Lists.transform(mainTableList, MaintenanceCompany::getInstanceId);
filedParamsMap.put("instanceIds", Joiner.on(",").join(instanceIds));
break; break;
case COMPANY: case COMPANY:
type = MAINTENANCE_COMPANY; type = MAINTENANCE_COMPANY;
...@@ -336,19 +377,19 @@ public class MaintenanceCompanyServiceImpl ...@@ -336,19 +377,19 @@ public class MaintenanceCompanyServiceImpl
wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase()); wrapper.eq(MaintenanceCompany::getType, maintenanceType.toUpperCase());
mainTableList = this.list(wrapper); mainTableList = this.list(wrapper);
break; break;
default: default:
throw new IllegalStateException("Unexpected maintenanceType: " + maintenanceType); throw new IllegalStateException("Unexpected maintenanceType: " + maintenanceType);
} }
if (StringUtils.isBlank(type)) { if (StringUtils.isBlank(type)) {
return null; return null;
} }
IPage<Map<String, Object>> page = dynamicFormInstanceService.pageList(current, size, type, filedParamsMap); 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())); .collect(Collectors.toMap(MaintenanceCompany::getInstanceId, Function.identity()));
page.getRecords().forEach(r -> { 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)) { if (!ObjectUtils.isEmpty(detail)) {
r.putAll(Bean.BeantoMap(detail)); r.putAll(Bean.BeantoMap(detail));
} }
...@@ -357,12 +398,15 @@ public class MaintenanceCompanyServiceImpl ...@@ -357,12 +398,15 @@ public class MaintenanceCompanyServiceImpl
} }
public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper, public List<MaintenanceCompany> checkMaintenanceCompanyList(LambdaQueryWrapper<MaintenanceCompany> wrapper,
Map<String, Object> paramsMap) { Map<String, Object> paramsMap) {
if (paramsMap.containsKey("name")) { 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"))) { 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); wrapper.eq(MaintenanceCompany::getType, PERSON);
...@@ -374,55 +418,78 @@ public class MaintenanceCompanyServiceImpl ...@@ -374,55 +418,78 @@ public class MaintenanceCompanyServiceImpl
MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr); MaintenanceCompany maintenanceCompany = maintenanceCompanyMapper.selectById(sequenceNbr);
String type; String type;
switch (maintenanceCompany.getType()) { switch (maintenanceCompany.getType()) {
case PERSON: case PERSON:
type = MAINTENANCE_PERSON; type = MAINTENANCE_PERSON;
break; break;
case DEPARTMENT: case DEPARTMENT:
type = MAINTENANCE_DEPARTMENT; type = MAINTENANCE_DEPARTMENT;
break; break;
default: default:
type = MAINTENANCE_COMPANY; type = MAINTENANCE_COMPANY;
} }
Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany); Map<String, Object> mainMap = Bean.BeantoMap(maintenanceCompany);
Map<String, Object> dynamicMap = dynamicFormInstanceService.getOneMap(maintenanceCompany.getInstanceId(), type); 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; 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 @Override
@Transactional(rollbackFor = Exception.class) @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()); MaintenanceCompanyDto maintenanceCompany = this.queryBySeq(model.getSequenceNbr());
try { try {
if (maintenanceCompany != null) { if (maintenanceCompany != null) {
dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>() dynamicFormInstanceService.remove(new LambdaQueryWrapper<DynamicFormInstance>()
.eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId())); .eq(DynamicFormInstance::getInstanceId, maintenanceCompany.getInstanceId()));
// this.removeById(maintenanceCompany.getSequenceNbr());
} }
} catch (Exception e) { this.updateDetail(model, type);
return false;
}
try {
this.updateDetail(model, userInfo, COMPANY);
} catch (Exception e) { } catch (Exception e) {
return false; return false;
} }
return true; return true;
} }
public boolean updateDetail(MaintenanceCompany model, AgencyUserModel userInfo, String type) { public boolean updateDetail(MaintenanceCompany model, String type) {
// 将数据西安存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId // 将数据存入扩展表操作service提供的公共保存方法,以便拿到对应的instanceId
Long instanceId = saveDynamicFormList(model); Long instanceId = saveDynamicFormList(model);
// 拿到instanceId之后进行往主表中插入数据 // 拿到instanceId之后进行往主表中插入数据
model.setInstanceId(instanceId); model.setInstanceId(instanceId);
model.setRecUserId(userInfo.getUserId());
model.setRecDate(new Date());
model.setRecUserName(userInfo.getUserName());
model.setIsDelete(false);
model.setType(type); model.setType(type);
try { try {
this.updateById(model); this.updateById(model);
// 更新附件
saveAttachments(model);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return false; return false;
...@@ -432,49 +499,15 @@ public class MaintenanceCompanyServiceImpl ...@@ -432,49 +499,15 @@ public class MaintenanceCompanyServiceImpl
} }
@Override @Override
@Transactional @Transactional(rollbackFor = Exception.class)
public boolean updateMaintenancePersonDetail(MaintenanceCompany model, AgencyUserModel userInfo) { public boolean updateMaintenancePersonDetail(MaintenanceCompany model) {
// 先刪除,后添加 return updateMaintenanceDetail(model, PERSON);
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 @Override
@Transactional @Transactional(rollbackFor = Exception.class)
public boolean updateMaintenancDepartmentDetail(MaintenanceCompany model, AgencyUserModel userInfo) { public boolean updateMaintenanceDepartmentDetail(MaintenanceCompany model) {
// 先刪除,后添加 return updateMaintenanceDetail(model, DEPARTMENT);
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 @Override
...@@ -534,8 +567,8 @@ public class MaintenanceCompanyServiceImpl ...@@ -534,8 +567,8 @@ public class MaintenanceCompanyServiceImpl
wrapper.eq(MaintenanceCompany::getIsDelete, false); wrapper.eq(MaintenanceCompany::getIsDelete, false);
wrapper.in(MaintenanceCompany::getType, Arrays.asList(PERSON, DEPARTMENT)); wrapper.in(MaintenanceCompany::getType, Arrays.asList(PERSON, DEPARTMENT));
wrapper.likeRight(MaintenanceCompany::getCode, companyDetail.getCode()); wrapper.likeRight(MaintenanceCompany::getCode, companyDetail.getCode());
List<MaintenanceCompany> ss = maintenanceCompanyMapper.selectList(wrapper); List<MaintenanceCompany> maintenanceCompanyList = maintenanceCompanyMapper.selectList(wrapper);
return maintenanceCompanyMapper.selectList(wrapper); return maintenanceCompanyList;
} }
public List<MaintenanceCompany> getPersonList(long sequenceNbr) { public List<MaintenanceCompany> getPersonList(long sequenceNbr) {
...@@ -579,24 +612,58 @@ public class MaintenanceCompanyServiceImpl ...@@ -579,24 +612,58 @@ public class MaintenanceCompanyServiceImpl
* @param pageNum * @param pageNum
* @param pageSize * @param pageSize
* @param seq * @param seq
* @param amosUserId
* @return * @return
*/ */
public List<Map<String, Object>> queryOrgUsrMsgPage(int pageNum, int pageSize, Long seq) { public Page<Map<String, Object>> queryOrgUsrMsgPage(int pageNum, int pageSize, Long seq, String amosUserId) {
if (ValidationUtil.isEmpty(this.queryBySeq(seq))) { MaintenanceCompany maintenanceCompany = new MaintenanceCompany();
throw new BadRequest("参数校验失败."); if (ValidationUtil.isEmpty(seq)) {
} else { maintenanceCompany = getMaintenanceCompany(amosUserId);
List<Map<String, Object>> companys = new ArrayList<>(); }
// 机场单位列表基本信息 // 机场单位列表基本信息
List<OrgUsrDto> orgUsrDtos = this.baseMapper.selectOrgUsrPageList(pageNum, pageSize, seq); if (pageNum == -1 || pageSize == -1) {
// 机场组装单位动态表单数据 pageSize = Integer.MAX_VALUE;
orgUsrDtos.forEach(orgUsrDto -> { }
Map<String, Object> map = Bean.BeantoMap(orgUsrDto); Page page = new Page(pageNum, pageSize);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()), Page<Map<String, Object>> companys = new Page<>(pageNum, pageSize);
map); Page<OrgUsrDto> pageResult = this.baseMapper.selectOrgUsrPageList(page,
companys.add(map); maintenanceCompany.getSequenceNbr());
}); List<Map<String, Object>> finalResultMap = Lists.newArrayList();
return companys; // 机场组装单位动态表单数据
} pageResult.getRecords().forEach(orgUsrDto -> {
Map<String, Object> map = Bean.BeantoMap(orgUsrDto);
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() { public List<Map<String, Object>> queryCompanyMsg() {
...@@ -689,11 +756,50 @@ public class MaintenanceCompanyServiceImpl ...@@ -689,11 +756,50 @@ public class MaintenanceCompanyServiceImpl
return false; return false;
} }
@Transactional @Override
@Transactional(rollbackFor = Exception.class)
public boolean saveMaintenanceCompanyBatch(List<MaintenanceCompany> companyList, List<DynamicFormInstance> list) { public boolean saveMaintenanceCompanyBatch(List<MaintenanceCompany> companyList, List<DynamicFormInstance> list) {
saveDynamicFormInstanceBatch(list); saveDynamicFormInstanceBatch(list);
this.saveBatch(companyList); this.saveBatch(companyList);
return false; 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