IntelligentRecognition/ah-jjsp-service/.svn/pristine/d9/d96b77f1931ca66341bec03304a...

359 lines
12 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
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);
}
}