Commit ff1cfde0 authored by tianbo's avatar tianbo

维保单位接口修改

parent 76b1019f
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.common.api.mapper;
import java.util.List;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -24,10 +25,9 @@ public interface MaintenanceCompanyMapper extends BaseMapper<MaintenanceCompany>
/**
* 查询机场单位信息 (带分页)
* @param pageNum
* @param pageSize
* @param page
* @param seq
* @return
*/
public List<OrgUsrDto> selectOrgUsrPageList (@Param("pageNum")int pageNum,@Param("pageSize")int pageSize,@Param("seq") Long seq);
public List<OrgUsrDto> selectOrgUsrPageList (Page page, @Param("seq") Long seq);
}
......@@ -71,7 +71,7 @@ public interface IMaintenanceCompanyService {
* @param maintenanceType 类型(COMPANY单位,PERSON人员,DEPARTMENT部门)
* @return
*/
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType);
List<Map<String, Object>> getAllMaintenanceList(String maintenanceType, String amosUserId);
/**
* 查询分页展示的维保人员/单位/部门列表信息
......@@ -158,5 +158,4 @@ public interface IMaintenanceCompanyService {
* @return
*/
public boolean saveMaintenanceCompanyBatch(List<MaintenanceCompany> companyList, List<DynamicFormInstance> list);
}
......@@ -36,6 +36,5 @@ WHERE
sequence_nbr IN ( SELECT DISTINCT signed_company_id FROM cb_contract WHERE company_id = #{seq} )
AND biz_org_type = "COMPANY"
AND is_delete = 0
limit #{pageNum},#{pageSize}
</select>
</mapper>
package com.yeejoin.amos.boot.module.common.biz.controller;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
......@@ -120,9 +121,9 @@ public class ContractController extends BaseController {
Page<ContractDto> page = new Page<ContractDto>();
page.setCurrent(current);
page.setSize(size);
AgencyUserModel amosUser = getUserInfo();
return ResponseHelper.buildResponse(contractServiceImpl.queryForContractPage(page, false, companyId,
signedCompanyId, name,
typeCode, signedDate));
signedCompanyId, name, typeCode, signedDate, amosUser.getUserId()));
}
/**
......
......@@ -5,6 +5,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
......@@ -112,7 +113,24 @@ public class MaintenanceCompanyController extends BaseController {
@GetMapping(value = "/allList")
@ApiOperation(httpMethod = "GET", value = "所有维保人员/单位/部门列表,不分页", notes = "所有维保人员列表")
public ResponseModel<List<Map<String, Object>>> getAllMaintenanceList(@RequestParam String maintenanceType) {
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType));
AgencyUserModel amosUser = getUserInfo();
return ResponseHelper.buildResponse(maintenanceCompanyService.getAllMaintenanceList(maintenanceType,
amosUser.getUserId()));
}
/**
* 查询当前登陆用户所在维保单位下的维保人员列表,不分页
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/simple/list")
@ApiOperation(httpMethod = "GET", value = "查询当前登陆用户所在维保单位下的维保人员列表部门列表,不分页", notes = "查询当前登陆用户所在维保单位下的维保人员列表,不分页")
public ResponseModel<List<Map<String, Object>>> getPersonListByCompanyId(@RequestParam(required = false) Long companyId) {
AgencyUserModel amosUser = getUserInfo();
List<Map<String, Object>> result = maintenanceCompanyServiceImpl.getPersonListByCompanyId(companyId,
amosUser.getUserId());
return ResponseHelper.buildResponse(result);
}
/**
......@@ -297,12 +315,14 @@ public class MaintenanceCompanyController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "queryCompanyPages/{sequenceNbr}")
@GetMapping(value = "queryCompanyPages")
@ApiOperation(httpMethod = "GET", value = "根据维保单位查询所有机场单位(带分页)", notes = "根据维保单位查询所有机场单位(带分页)")
public ResponseModel<List<Map<String, Object>>> seleteCompanyPages(@RequestParam(value = "pageNum") int pageNum,
@RequestParam(value = "pageSize") int pageSize, @PathVariable Long sequenceNbr) {
public ResponseModel<List<Map<String, Object>>> selectCompanyPages(@RequestParam(value = "pageNum") int pageNum,
@RequestParam(value = "pageSize") int pageSize, @RequestParam(required = false) Long sequenceNbr) {
AgencyUserModel amosUser = getUserInfo();
return ResponseHelper
.buildResponse(maintenanceCompanyServiceImpl.queryOrgUsrMsgPage(pageNum, pageSize, sequenceNbr));
.buildResponse(maintenanceCompanyServiceImpl.queryOrgUsrMsgPage(pageNum, pageSize, sequenceNbr,
amosUser.getUserId()));
}
/**
......
......@@ -2,10 +2,10 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.api.dto.ContractDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.entity.*;
import com.yeejoin.amos.boot.module.common.api.entity.Contract;
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.mapper.ContractMapper;
import com.yeejoin.amos.boot.module.common.api.service.IContractService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -24,10 +24,8 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.DataNotFound;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
......@@ -42,10 +40,24 @@ public class ContractServiceImpl extends BaseService<ContractDto, Contract, Cont
@Autowired
SourceFileServiceImpl sourceFileServiceImpl;
@Autowired
MaintenanceCompanyServiceImpl maintenanceCompanyService;
/**
* 分页查询
*/
public Page<ContractDto> queryForContractPage(Page<ContractDto> page, Boolean isDelete,
public Page<ContractDto> queryForContractPage(Page<ContractDto> page, Boolean isDelete, Long companyId,
Long signedCompanyId, String name, Long typeCode, Date signedDate,
String amosUserId) {
if (ValidationUtil.isEmpty(companyId)) {
MaintenanceCompany company = maintenanceCompanyService.getMaintenanceCompany(amosUserId);
companyId = company.getSequenceNbr();
}
return queryForContractPageByParam(page, isDelete, companyId, signedCompanyId, name, typeCode,
signedDate);
}
public Page<ContractDto> queryForContractPageByParam(Page<ContractDto> page, Boolean isDelete,
@Condition(Operator.eq) Long companyId,
@Condition(Operator.eq) Long signedCompanyId,
@Condition(Operator.like) String name,
......@@ -255,6 +267,5 @@ public class ContractServiceImpl extends BaseService<ContractDto, Contract, Cont
contractDto.setAttachment(sourceFiles);
return contractDto;
}
}
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.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.MaintenanceCompanyDto;
import com.yeejoin.amos.boot.module.common.api.dto.MaintenancePersonExcleDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgUsrDto;
......@@ -40,6 +19,27 @@ 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.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;
/**
* 维保单位服务实现类
......@@ -237,7 +237,7 @@ public class MaintenanceCompanyServiceImpl
}
@Override
public List<Map<String, Object>> getAllMaintenanceList(String maintenanceType) {
public List<Map<String, Object>> getAllMaintenanceList(String maintenanceType, String amosUserId) {
String type = null;
switch (maintenanceType.toUpperCase()) {
case PERSON:
......@@ -579,24 +579,55 @@ 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<>();
// 机场单位列表基本信息
List<OrgUsrDto> orgUsrDtos = this.baseMapper.selectOrgUsrPageList(pageNum, pageSize, seq);
// 机场组装单位动态表单数据
orgUsrDtos.forEach(orgUsrDto -> {
Map<String, Object> map = Bean.BeantoMap(orgUsrDto);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()),
map);
companys.add(map);
});
return companys;
}
public List<Map<String, Object>> queryOrgUsrMsgPage(int pageNum, int pageSize, Long seq, String amosUserId) {
MaintenanceCompany maintenanceCompany = new MaintenanceCompany();
if (ValidationUtil.isEmpty(seq)) {
maintenanceCompany = getMaintenanceCompany(amosUserId);
}
List<Map<String, Object>> companys = new ArrayList<>();
// 机场单位列表基本信息
if (pageNum == -1 || pageSize == -1) {
pageSize = Integer.MAX_VALUE;
}
Page page = new Page(pageNum, pageSize);
List<OrgUsrDto> orgUsrDtos = this.baseMapper.selectOrgUsrPageList(page,
maintenanceCompany.getSequenceNbr());
// 机场组装单位动态表单数据
orgUsrDtos.forEach(orgUsrDto -> {
Map<String, Object> map = Bean.BeantoMap(orgUsrDto);
mapCopy(dynamicFormInstanceService.getOneMap(orgUsrDto.getSequenceNbr(), OrgPersonEnum.公司.getKey()),
map);
companys.add(map);
});
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,12 +720,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