Commit ff1cfde0 authored by tianbo's avatar tianbo

维保单位接口修改

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