Commit 53594d82 authored by 韩桐桐's avatar 韩桐桐

需求:3309

parent 0a0688a2
package com.yeejoin.amos.boot.module.tcm.api.service; package com.yeejoin.amos.boot.module.tcm.api.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
...@@ -40,6 +41,10 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> { ...@@ -40,6 +41,10 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
Boolean personnelTransferOut(String userSeqNbrs); Boolean personnelTransferOut(String userSeqNbrs);
JSONObject statisticsOfPersonnelTypes(String type);
JSONObject statisticsOfPersonnelTypesByPatentCode(String parentId);
Map<String,Integer> getArrangementStatistic(String companyCode); Map<String,Integer> getArrangementStatistic(String companyCode);
Map<String,Object> getCompanyType(); Map<String,Object> getCompanyType();
......
...@@ -377,8 +377,22 @@ public class TzsUserInfoController extends BaseController { ...@@ -377,8 +377,22 @@ public class TzsUserInfoController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/statisticsOfPersonnelTypes")
@ApiOperation(httpMethod = "GET", value = "人员类型统计", notes = "人员类型统计")
public ResponseModel<JSONObject> statisticsOfPersonnelTypes(@RequestParam(value = "type") String type) {
return ResponseHelper.buildResponse(tzsUserInfoService.statisticsOfPersonnelTypes(type));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/statisticsOfPersonnelTypesByPatentCode")
@ApiOperation(httpMethod = "GET", value = "人员类型统计", notes = "人员类型统计")
public ResponseModel<JSONObject> statisticsOfPersonnelTypesByPatentCode(@RequestParam(value = "parentId") String parentId) {
return ResponseHelper.buildResponse(tzsUserInfoService.statisticsOfPersonnelTypesByPatentCode(parentId));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/historicalOperatorHandling") @GetMapping(value = "/historicalOperatorHandling")
@ApiOperation(httpMethod = "GET", value = "需求3309 人员管理调整后:历史的维保人员(作业人员含电梯维修资质的刷入子类型:持证人员)", notes = "需求3309 人员管理调整后:历史的维保人员(作业人员含电梯维修资质的刷入子类型:持证人员)") @ApiOperation(httpMethod = "GET", value = "【调用一次即可】需求3309 人员管理调整后:历史的维保人员(作业人员含电梯维修资质的刷入子类型:持证人员)", notes = "【调用一次即可】需求3309 人员管理调整后:历史的维保人员(作业人员含电梯维修资质的刷入子类型:持证人员)")
public ResponseModel<Object> historicalOperatorHandling() { public ResponseModel<Object> historicalOperatorHandling() {
// userinfo表中旧的post字段保存了旧字典值6618(维保人员) // userinfo表中旧的post字段保存了旧字典值6618(维保人员)
List<Long> sesqNbrs = tzsUserInfoService.getBaseMapper() List<Long> sesqNbrs = tzsUserInfoService.getBaseMapper()
......
...@@ -80,6 +80,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -80,6 +80,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 平台用户锁定状态 // 平台用户锁定状态
private final String UNLOCK = "UNLOCK"; private final String UNLOCK = "UNLOCK";
private final String LOCK = "LOCK"; private final String LOCK = "LOCK";
private final String TOTALTYPESTEMPLATE = "{\"records\":[{\"name\":\"人员总数(人)\",\"value\":%s}]}";
@Autowired @Autowired
DataDictionaryServiceImpl iDataDictionaryService; DataDictionaryServiceImpl iDataDictionaryService;
@Autowired @Autowired
...@@ -755,6 +756,74 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -755,6 +756,74 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return Boolean.TRUE; return Boolean.TRUE;
} }
@Override
public JSONObject statisticsOfPersonnelTypes(String type) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String companyCode = reginParams.getCompany().getCompanyCode();
if ("total".equals(type)) {
int total = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getUnitCode, companyCode)
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)
).size();
return JSONObject.parseObject(String.format(TOTALTYPESTEMPLATE, total));
}else if ("subType".equals(type)) {
ArrayList<JSONObject> jsonObjects = this.getSubTypeCount(companyCode);
return new JSONObject().fluentPut("records",jsonObjects);
}
return null;
}
@Override
public JSONObject statisticsOfPersonnelTypesByPatentCode(String parentId) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String companyCode = reginParams.getCompany().getCompanyCode();
DataDictionary dictionary = iDataDictionaryService.getBaseMapper().selectOne(new LambdaQueryWrapper<DataDictionary>().select(DataDictionary::getCode, DataDictionary::getName).eq(DataDictionary::getCode, parentId));
ArrayList<String> seriesData = new ArrayList<>();
ArrayList<String> axisData = new ArrayList<>();
iDataDictionaryService.getBaseMapper().selectList(new LambdaQueryWrapper<DataDictionary>()
.select(DataDictionary::getName, DataDictionary::getCode)
.eq(DataDictionary::getParent, parentId))
.forEach(item -> {
axisData.add(item.getName() + "(人)");
int size = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getUnitCode, companyCode)
.like(TzsUserInfo::getSubPost, item.getCode())
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)
).size();
seriesData.add(Objects.toString(size));
});
return new JSONObject().fluentPut("records", Arrays.asList(new JSONObject()
.fluentPut("name", dictionary.getName()+ "(人)")
.fluentPut("value", tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getUnitCode, companyCode)
.like(TzsUserInfo::getNewPost, dictionary.getCode())
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)
).size())
.fluentPut("seriesData", seriesData)
.fluentPut("axisData", axisData)));
}
private ArrayList<JSONObject> getSubTypeCount(String companyCode) {
List<DataDictionary> allUserType = this.getAllUserType();
ArrayList<JSONObject> jsonObjects = new ArrayList<>();
allUserType.forEach(item -> {
String postCode = item.getCode();
int size = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getUnitCode, companyCode)
.like(TzsUserInfo::getNewPost, postCode)
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)
).size();
jsonObjects.add(new JSONObject().fluentPut("name",item.getName() + "(人)").fluentPut("value",size));
});
return jsonObjects;
}
public List<LinkedHashMap> screenData(List<LinkedHashMap> result, List<LinkedHashMap> data, String id) { public List<LinkedHashMap> screenData(List<LinkedHashMap> result, List<LinkedHashMap> data, String id) {
if (!ObjectUtils.isEmpty(result)) { if (!ObjectUtils.isEmpty(result)) {
return result; return result;
...@@ -897,33 +966,33 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -897,33 +966,33 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
throw new BadRequest("未指定人员归属单位信息"); throw new BadRequest("未指定人员归属单位信息");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType()) .eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum()) .eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum())
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户证件号码重复,请核对!"); throw new BadRequest("本单位下用户证件号码重复,请核对!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType()) .eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum()) .eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum())
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!"); throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone()) .eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户联系电话重复,请核对!"); throw new BadRequest("本单位下用户联系电话重复,请核对!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone()) .eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户手机号已被其他单位人员绑定!"); throw new BadRequest("该用户手机号已被其他单位人员绑定!");
} }
...@@ -977,33 +1046,35 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -977,33 +1046,35 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
throw new BadRequest("未指定人员归属单位信息"); throw new BadRequest("未指定人员归属单位信息");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType()) .eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType())
.ne(TzsUserInfo::getSequenceNbr, rowId)
.eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum()) .eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum())
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户证件号码重复,请核对!"); throw new BadRequest("本单位下用户证件号码重复,请核对!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType()) .eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum()) .eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum())
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!"); throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.ne(TzsUserInfo::getSequenceNbr, rowId)
.eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone()) .eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户联系电话重复,请核对!"); throw new BadRequest("本单位下用户联系电话重复,请核对!");
} }
if (!ObjectUtils.isEmpty(tzsUserInfoMapper.selectOne(new LambdaQueryWrapper<TzsUserInfo>() if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode()) .ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone()) .eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone())
.eq(TzsUserInfo::getIsDelete, false)))) { .eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户手机号已被其他单位人员绑定!"); throw new BadRequest("该用户手机号已被其他单位人员绑定!");
} }
......
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