359 lines
12 KiB
Plaintext
359 lines
12 KiB
Plaintext
|
|
package com.sercurityControl.proteam.service.impl;
|
||
|
|
|
||
|
|
import com.google.common.collect.Maps;
|
||
|
|
import com.securityControl.common.core.utils.StringUtils;
|
||
|
|
import com.securityControl.common.core.utils.aes.DateTimeHelper;
|
||
|
|
import com.securityControl.common.core.utils.aes.ListHelper;
|
||
|
|
import com.securityControl.common.core.web.domain.AjaxResult;
|
||
|
|
import com.securityControl.common.security.utils.SecurityUtils;
|
||
|
|
import com.sercurityControl.proteam.domain.*;
|
||
|
|
import com.sercurityControl.proteam.domain.vo.TeamLabelVo;
|
||
|
|
import com.sercurityControl.proteam.mapper.TeamMapper;
|
||
|
|
import com.sercurityControl.proteam.service.TeamService;
|
||
|
|
import lombok.extern.slf4j.Slf4j;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Service;
|
||
|
|
import org.springframework.transaction.annotation.Transactional;
|
||
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||
|
|
|
||
|
|
import javax.validation.constraints.Size;
|
||
|
|
import java.util.*;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @author bonus
|
||
|
|
* @data 2022/12/8 9:47
|
||
|
|
* @description 班组
|
||
|
|
*/
|
||
|
|
@Slf4j
|
||
|
|
@Service
|
||
|
|
public class TeamServiceImpl implements TeamService {
|
||
|
|
|
||
|
|
@Autowired
|
||
|
|
private TeamMapper mapper;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取班组详细信息
|
||
|
|
*
|
||
|
|
* @param teamData 条件
|
||
|
|
* @return 班组集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public List<TeamData> getTeamList(TeamData teamData) {
|
||
|
|
if (StringUtils.isNotBlank(teamData.getStatus())) {
|
||
|
|
String[] riskLevelArr = teamData.getStatus().split(",");
|
||
|
|
List<String> riskLevelList = Arrays.asList(riskLevelArr);
|
||
|
|
teamData.setTeamStatus(riskLevelList);
|
||
|
|
}
|
||
|
|
List<TeamData> teamList = mapper.getTeamList(teamData);
|
||
|
|
if(ListHelper.isNotEmpty(teamList)){
|
||
|
|
teamList.forEach(item->{
|
||
|
|
Integer num1 = mapper.getTodayNum(item.getTeamId());
|
||
|
|
if(num1==null){
|
||
|
|
num1=0;
|
||
|
|
}
|
||
|
|
item.setDayNum(num1.toString());
|
||
|
|
Integer num2 = mapper.getYesNum(item.getTeamId());
|
||
|
|
if(num2==null){
|
||
|
|
num2=0;
|
||
|
|
}
|
||
|
|
item.setYeNum(num2.toString());
|
||
|
|
int num = mapper.getTeamVoiNum(item.getTeamId());
|
||
|
|
item.setVzNum(num + "");
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
return teamList;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取班组详细信息
|
||
|
|
*
|
||
|
|
* @param teamEvaData 条件
|
||
|
|
* @return 班组评价集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public List<TeamEvaData> getTeamEvaList(TeamEvaData teamEvaData) {
|
||
|
|
return mapper.getTeamEvaList(teamEvaData);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取班组黑名单信息
|
||
|
|
*
|
||
|
|
* @param teamBlackData 条件
|
||
|
|
* @return 班组黑名单集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public List<TeamBlackData> getTeamBlackList(TeamBlackData teamBlackData) {
|
||
|
|
List<TeamBlackData> teamBlackList = mapper.getTeamBlackList(teamBlackData);
|
||
|
|
for (TeamBlackData data : teamBlackList) {
|
||
|
|
if (data.getPhone() >= 6 && data.getPhone() < 12) {
|
||
|
|
data.setContent("重点关注人员");
|
||
|
|
}
|
||
|
|
if (data.getPhone() >= 12) {
|
||
|
|
data.setContent("拉黑人员");
|
||
|
|
}
|
||
|
|
List<String> teamScoreList = mapper.getTeamScoreList(data.getIdNumber());
|
||
|
|
StringBuilder str = new StringBuilder();
|
||
|
|
for (int i = 0; i < teamScoreList.size(); i++) {
|
||
|
|
str.append("第").append(convert(i + 1)).append("次违章扣分:").append(teamScoreList.get(i)).append(";");
|
||
|
|
}
|
||
|
|
data.setZhpj(String.valueOf(str));
|
||
|
|
data.setList(teamScoreList);
|
||
|
|
}
|
||
|
|
return teamBlackList;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取班组人员信息
|
||
|
|
*
|
||
|
|
* @param entity 条件
|
||
|
|
* @return 获取班组人员信息
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public List<PeopleEntity> getTeamPeople(PeopleEntity entity) {
|
||
|
|
return mapper.getTeamPeople(entity);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 新增班组评价信息
|
||
|
|
*
|
||
|
|
* @param teamEvaData 条件
|
||
|
|
* @return 班组评价集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
@Transactional(rollbackFor = Exception.class)
|
||
|
|
public AjaxResult insertTeamEva(TeamEvaData teamEvaData) {
|
||
|
|
try {
|
||
|
|
teamEvaData.setCreatetDay(DateTimeHelper.getNowTime());
|
||
|
|
teamEvaData.setCreatetTime(DateTimeHelper.getNowTime());
|
||
|
|
Long userid = SecurityUtils.getLoginUser().getUserid();
|
||
|
|
String nickName = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
||
|
|
teamEvaData.setUserId(userid + "");
|
||
|
|
teamEvaData.setUserName(nickName);
|
||
|
|
Integer integer = mapper.insertTeamEva(teamEvaData);
|
||
|
|
Integer avg = mapper.getAvg(teamEvaData);
|
||
|
|
teamEvaData.setZhpj(String.valueOf(avg));
|
||
|
|
if (avg <= 4) {
|
||
|
|
teamEvaData.setAqwm("1");
|
||
|
|
} else {
|
||
|
|
teamEvaData.setAqwm("0");
|
||
|
|
}
|
||
|
|
//班组业务需要修改
|
||
|
|
|
||
|
|
//
|
||
|
|
mapper.updateTeamEva(teamEvaData);
|
||
|
|
mapper.updateClasscheck(teamEvaData);
|
||
|
|
mapper.addTeamLabelData(teamEvaData);
|
||
|
|
if (integer > 0) {
|
||
|
|
return AjaxResult.success("班组评价成功");
|
||
|
|
} else {
|
||
|
|
return AjaxResult.error("班组评价失败");
|
||
|
|
}
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||
|
|
return AjaxResult.error("服务异常,请稍后重试");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取班组黑名单信息
|
||
|
|
*
|
||
|
|
* @param classData 条件
|
||
|
|
* @return 班组黑名单集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public List<ClassData> getClassList(ClassData classData) {
|
||
|
|
if (StringUtils.isNotBlank(classData.getOrg())) {
|
||
|
|
String[] arr = classData.getOrg().split(",");
|
||
|
|
List<String> list = Arrays.asList(arr);
|
||
|
|
classData.setOrgList(list);
|
||
|
|
}
|
||
|
|
if (StringUtils.isNotBlank(classData.getRiskLevel())) {
|
||
|
|
String[] arr = classData.getRiskLevel().split(",");
|
||
|
|
List<String> list = Arrays.asList(arr);
|
||
|
|
classData.setRiskList(list);
|
||
|
|
}
|
||
|
|
return mapper.getClassList(classData);
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 插入班组拉黑
|
||
|
|
*
|
||
|
|
* @param teamEvaData 条件
|
||
|
|
* @return 条数
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public AjaxResult insertTeamBlack(TeamEvaData teamEvaData) {
|
||
|
|
try {
|
||
|
|
teamEvaData.setCreatetDay(DateTimeHelper.getNowTime());
|
||
|
|
teamEvaData.setCreatetTime(DateTimeHelper.getNowTime());
|
||
|
|
Integer integer = mapper.insertTeamBlack(teamEvaData);
|
||
|
|
if (integer > 0) {
|
||
|
|
return AjaxResult.success("拉黑成功");
|
||
|
|
} else {
|
||
|
|
return AjaxResult.error("拉黑失败");
|
||
|
|
}
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
return AjaxResult.error("拉黑失败");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 移出班组拉黑
|
||
|
|
*
|
||
|
|
* @param teamEvaData 条件
|
||
|
|
* @return 条数
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public AjaxResult deleteTeamBlack(TeamEvaData teamEvaData) {
|
||
|
|
try {
|
||
|
|
Integer integer = mapper.deleteTeamBlack(teamEvaData);
|
||
|
|
if (integer > 0) {
|
||
|
|
return AjaxResult.success("移出成功");
|
||
|
|
} else {
|
||
|
|
return AjaxResult.error("移出失败");
|
||
|
|
}
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
return AjaxResult.error("移出失败");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 查询组织机构下拉选
|
||
|
|
*
|
||
|
|
* @return 集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public AjaxResult getOrgSelected() {
|
||
|
|
return AjaxResult.success(mapper.getOrgSelected());
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 查询组织机构下拉选
|
||
|
|
*
|
||
|
|
* @return 集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public AjaxResult getSelectParams(String code) {
|
||
|
|
return AjaxResult.success(mapper.getSelectParams(code));
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 查询数量
|
||
|
|
*
|
||
|
|
* @return 集合
|
||
|
|
*/
|
||
|
|
@Override
|
||
|
|
public AjaxResult getPerNum(TeamData entity) {
|
||
|
|
Map<String, Object> map= Maps.newHashMap();
|
||
|
|
try {
|
||
|
|
List<Map<String, Object>> lists=new ArrayList<>();
|
||
|
|
List<String> list = mapper.getPerNum(entity);
|
||
|
|
if (ListHelper.isNotEmpty(list)) {
|
||
|
|
map.put("dTeam", list.get(0));
|
||
|
|
map.put("dZTeam", list.get(1));
|
||
|
|
map.put("dPer", list.get(2));
|
||
|
|
map.put("dZPer", list.get(3));
|
||
|
|
map.put("dWTeam", list.get(4));
|
||
|
|
map.put("xZteam", list.get(5));
|
||
|
|
map.put("yTeam", list.get(6));
|
||
|
|
map.put("yPer", list.get(7));
|
||
|
|
int num = mapper.getMonthPeopleNum();
|
||
|
|
map.put("yPer", num);
|
||
|
|
lists.add(map);
|
||
|
|
}
|
||
|
|
return AjaxResult.success(lists);
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error(e.toString(), e);
|
||
|
|
}
|
||
|
|
return AjaxResult.success(mapper.getPerNum(entity));
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
public String convert(int number) {
|
||
|
|
//数字对应的汉字
|
||
|
|
String[] num = {"一", "二", "三", "四", "五", "六", "七", "八", "九"};
|
||
|
|
//单位
|
||
|
|
String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万亿"};
|
||
|
|
//将该字符串分割为数组存放
|
||
|
|
String result = String.valueOf(number);
|
||
|
|
char[] ch = result.toCharArray();
|
||
|
|
//结果 字符串
|
||
|
|
String str = "";
|
||
|
|
int length = ch.length;
|
||
|
|
for (int i = 0; i < length; i++) {
|
||
|
|
int c = (int) ch[i] - 48;
|
||
|
|
if (c != 0) {
|
||
|
|
str += num[c - 1] + unit[length - i - 1];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
return str;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
@Transactional(rollbackFor = Exception.class)
|
||
|
|
public AjaxResult addTeamLabel(TeamLabelVo vo) {
|
||
|
|
try {
|
||
|
|
int result = mapper.labelIsRepeat(vo);
|
||
|
|
if (result > 0) {
|
||
|
|
return AjaxResult.error("标签已存在");
|
||
|
|
}
|
||
|
|
vo.setUserId(SecurityUtils.getUserId() + "");
|
||
|
|
vo.setCreateTime(DateTimeHelper.getNowTime());
|
||
|
|
mapper.addTeamLabel(vo);
|
||
|
|
} catch (Exception e) {
|
||
|
|
//手动回滚异常
|
||
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||
|
|
log.error("添加班组评价标签",e);
|
||
|
|
return AjaxResult.error();
|
||
|
|
}
|
||
|
|
return AjaxResult.success();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public AjaxResult getTeamLabel() {
|
||
|
|
List<TeamLabelVo> list = new ArrayList<>();
|
||
|
|
try {
|
||
|
|
list = mapper.getTeamLabel();
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error("获取班组评价标签",e);
|
||
|
|
}
|
||
|
|
return AjaxResult.success(list);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
@Transactional(rollbackFor = Exception.class)
|
||
|
|
public AjaxResult delTeamLabel(TeamLabelVo vo) {
|
||
|
|
try {
|
||
|
|
mapper.delTeamLabel(vo);
|
||
|
|
} catch (Exception e) {
|
||
|
|
//手动回滚异常
|
||
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||
|
|
log.error("删除班组评价标签",e);
|
||
|
|
return AjaxResult.error();
|
||
|
|
}
|
||
|
|
return AjaxResult.success();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public AjaxResult getTeamLabelIds(TeamLabelVo vo) {
|
||
|
|
Map<String, Object> map = new HashMap<>(16);
|
||
|
|
try {
|
||
|
|
if(StringUtils.isNotEmpty(vo.getLabelName())){
|
||
|
|
String[] labelNameArr = vo.getLabelName().split(",");
|
||
|
|
List<String> labelNameList = Arrays.asList(labelNameArr);
|
||
|
|
vo.setLabelNameList(labelNameList);
|
||
|
|
List<Integer> list = mapper.getTeamLabelIds(vo);
|
||
|
|
map.put("nameList",labelNameList);
|
||
|
|
map.put("valueList",list);
|
||
|
|
}
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error("查询班组标签真实ID",e);
|
||
|
|
}
|
||
|
|
return AjaxResult.success(map);
|
||
|
|
}
|
||
|
|
}
|