质量bug修复

This commit is contained in:
guoshengxiong 2024-04-29 21:14:46 +08:00
parent 9531b644c2
commit 5dbb44b1cb
9 changed files with 118 additions and 45 deletions

View File

@ -102,7 +102,7 @@ public class QualityRegionController {
* @return
*/
@ApiOperation(value = "通过id查询质量—检查部位信息", notes = "通过id查询质量—检查部位信息", httpMethod = "POST")
@ApiImplicitParam(name = "id", value = "质量—检查部位ID", paramType = "body", required = true, dataType = "Integer")
@ApiImplicitParam(name = "id", value = "质量—检查部位ID", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/queryById")
public Result<QualityRegion> queryById(@RequestBody Map<String, Object> map) {
return Result.success(qualityRegionService.queryById(map));

View File

@ -89,6 +89,8 @@ public class DangerItemRecord implements Serializable {
@ApiModelProperty(value = "记录状态0 启用1禁用")
private java.lang.Integer recordStatus;
@ApiModelProperty(value="编码")
private java.lang.String itemCode ;
@ApiModelProperty(value = "编码")
private java.lang.String itemCode;
@ApiModelProperty(value = "扣分数")
private Double deductScore;
}

View File

@ -244,7 +244,6 @@ public class QualityInspectionRecord implements Serializable {
@ApiModelProperty(value = "合作单位id")
private Long enterpriseId;
/**
* 分部工程名称
*/

View File

@ -8,21 +8,23 @@
<collection property="enterpriseInfos" ofType="com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo">
<id property="id" column="enterprise_info_id"/>
<id property="enterpriseName" column="enterpriseName"/>
<id property="enterpriseSn" column="enterprise_sn"/>
</collection>
<collection property="systemUsers" ofType="com.zhgd.xmgl.modules.basicdata.entity.SystemUser">
<id property="id" column="user_id"/>
<id property="userId" column="user_id"/>
<id property="realName" column="real_name"/>
</collection>
</resultMap>
<select id="selectQualityRegionList" resultMap="selectQualityRegionListRm">
SELECT qr.*,ei.id as enterprise_info_id,ei.enterprise_name as enterpriseName,su.user_id,su.real_name
SELECT qr.*,ei.id as enterprise_info_id,ei.enterprise_name as
enterpriseName,su.user_id,su.real_name,ei.enterprise_sn
from quality_region qr
LEFT JOIN quality_region_to_enterprise te ON te.quality_region_id=qr.id
LEFT JOIN enterprise_info ei on ei.id=te.enterprise_id
LEFT JOIN quality_region_to_user qrtu on qr.id = qrtu.quality_region_id and te.enterprise_id =
qrtu.enterprise_id
LEFT JOIN system_user su on su.user_id=qrtu.id = su.user_id
LEFT JOIN system_user su ON su.user_id = qrtu.user_id
WHERE qr.project_sn = #{projectSn}
order by qr.region_code
</select>

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.quality.service.impl;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
@ -200,6 +201,7 @@ public class DangerTypeRecordServiceImpl extends ServiceImpl<DangerTypeRecordMap
}
String code = importInfo.get("编码").trim();
String taskName = importInfo.get("检查任务");
Double deductScore = Convert.toDouble(importInfo.get("扣分"));
String newCode = CodeUtils.subCode(code);
if (StringUtils.isNotEmpty(taskName)) {
QueryWrapper<DangerTypeRecord> queryWrapper = new QueryWrapper<>();
@ -264,6 +266,7 @@ public class DangerTypeRecordServiceImpl extends ServiceImpl<DangerTypeRecordMap
itemRecord.setChangeLimit(Integer.valueOf(changeLimit));
itemRecord.setDangerTypeId(hiddenDangerLibrary.getId());
itemRecord.setItemCode(code);
itemRecord.setDeductScore(deductScore);
dangerItemRecordMapper.insert(itemRecord);
} else {
itemRecord.setContent(problemDescription);
@ -273,6 +276,7 @@ public class DangerTypeRecordServiceImpl extends ServiceImpl<DangerTypeRecordMap
itemRecord.setChangeLimit(Integer.valueOf(changeLimit));
itemRecord.setItemCode(code);
itemRecord.setDangerTypeId(hiddenDangerLibrary.getId());
itemRecord.setDeductScore(deductScore);
dangerItemRecordMapper.updateById(itemRecord);
}
}

View File

@ -18,18 +18,26 @@ import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.quality.entity.DangerItemRecord;
import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord;
import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord;
import com.zhgd.xmgl.modules.quality.entity.QualityRegion;
import com.zhgd.xmgl.modules.quality.entity.dto.DepartmentRectifiedRankDto;
import com.zhgd.xmgl.modules.quality.entity.vo.*;
import com.zhgd.xmgl.modules.quality.mapper.DangerItemRecordMapper;
import com.zhgd.xmgl.modules.quality.mapper.QualityInspectionRecordMapper;
import com.zhgd.xmgl.modules.quality.mapper.QualityRectifyRecordMapper;
import com.zhgd.xmgl.modules.quality.mapper.QualityRegionMapper;
import com.zhgd.xmgl.modules.quality.service.IQualityInspectionRecordService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
import com.zhgd.xmgl.modules.xz.entity.XzDeductScoreRecord;
import com.zhgd.xmgl.modules.xz.mapper.XzDeductScoreRecordMapper;
import com.zhgd.xmgl.util.JxlExcelUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
@ -52,19 +60,60 @@ import java.util.*;
@Service
@Transactional(rollbackFor = Exception.class)
public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspectionRecordMapper, QualityInspectionRecord> implements IQualityInspectionRecordService {
@Autowired
SanjiangDataCall sanjiangDataCall;
@Autowired
DangerItemRecordMapper dangerItemRecordMapper;
@Autowired
SystemUserMapper systemUserMapper;
@Autowired
WorkerInfoMapper workerInfoMapper;
@Autowired
XzDeductScoreRecordMapper xzDeductScoreRecordMapper;
@Autowired
private QualityRegionMapper qualityRegionMapper;
@Autowired
private EnterpriseInfoMapper enterpriseInfoMapper;
@Autowired
SanjiangDataCall sanjiangDataCall;
@Autowired
private QualityInspectionRecordMapper qualityInspectionRecordMapper;
@Autowired
private QualityRectifyRecordMapper qualityRectifyRecordMapper;
@Autowired
private INoticeService noticeService;
private static List<Long> getChildrenByQualityRegionId(Long regionId, List<QualityRegion> all) {
ArrayList<Long> list = new ArrayList<>();
for (QualityRegion qualityRegion : all) {
if (Objects.equals(qualityRegion.getParentRegion(), regionId)) {
list.add(qualityRegion.getId());
list.addAll(getChildrenByQualityRegionId(qualityRegion.getId(), all));
}
}
return list;
}
public static List<String> getDayList() {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date today = new Date();
String date = fmt.format(today);
String minDateStr = "";
Calendar calc = Calendar.getInstance();
List<String> datefor30List = new ArrayList<>();
try {
for (int i = 0; i < 30; i++) {
calc.setTime(fmt.parse(date));
calc.add(Calendar.DATE, -i);
Date minDate = calc.getTime();
minDateStr = fmt.format(minDate);
datefor30List.add(minDateStr);
}
} catch (ParseException e1) {
e1.printStackTrace();
}
return datefor30List;
}
@Override
public QualityInspectionRecordVo selectQualityInspectionRecordById(Map<String, Object> map) {
QualityInspectionRecordVo vo = qualityInspectionRecordMapper.selectQualityInspectionRecordById(map);
@ -106,17 +155,6 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
vo.setProblemDescription(StringUtils.isNotBlank(problemDescription) ? problemDescription : vo.getDangerItemContent());
}
private static List<Long> getChildrenByQualityRegionId(Long regionId, List<QualityRegion> all) {
ArrayList<Long> list = new ArrayList<>();
for (QualityRegion qualityRegion : all) {
if (Objects.equals(qualityRegion.getParentRegion(), regionId)) {
list.add(qualityRegion.getId());
list.addAll(getChildrenByQualityRegionId(qualityRegion.getId(), all));
}
}
return list;
}
@Override
public SelectQualityStatisticsVo selectQualityStatistics(Map<String, Object> map) {
SelectQualityStatisticsVo selectQualityStatisticsVo = new SelectQualityStatisticsVo();
@ -227,6 +265,52 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
}
sanjiangDataCall.sendAddQualityInspectionRecord(qualityInspectionRecord);
deductScoreIf(qualityInspectionRecord);
}
private void deductScoreIf(QualityInspectionRecord hiddenDangerInspectRecord) {
if (hiddenDangerInspectRecord.getRecordType() == null || hiddenDangerInspectRecord.getRecordType() == 2) {
return;
}
Long inspectHiddenDangerItemRecordId = hiddenDangerInspectRecord.getDangerItemId();
DangerItemRecord item = dangerItemRecordMapper.selectById(inspectHiddenDangerItemRecordId);
if (item == null || item.getDeductScore() == null) {
return;
}
Double ds = item.getDeductScore();
if (ds == null || ds == 0) {
return;
}
Long changeUser = hiddenDangerInspectRecord.getChangeId();
if (changeUser == null) {
return;
}
SystemUser systemUser = systemUserMapper.selectById(changeUser);
if (systemUser == null) {
return;
}
WorkerInfo workerInfo = workerInfoMapper.selectById(systemUser.getWorkerId());
if (workerInfo == null) {
return;
}
//扣分
HashMap<String, Object> map = new HashMap<>();
map.put("id", workerInfo.getId());
map.put("deductScore", ds);
workerInfoMapper.updateScore(map);
//存记录
XzDeductScoreRecord vo = new XzDeductScoreRecord();
vo.setProjectSn(hiddenDangerInspectRecord.getProjectSn());
vo.setWorkerId(workerInfo.getId());
vo.setTypeName(item.getContent());
vo.setDeductScore(item.getDeductScore());
vo.setType(1);
vo.setCreateDate(new Date());
vo.setCurScore(workerInfo.getSafeScore() - item.getDeductScore());
vo.setDeductReason(StrUtil.format("您在{}发现安全隐患({}-{})扣{}分", DateUtil.format(vo.getCreateDate(), "yyyy年MM月dd日HH:mm:ss"), "质量检査", vo.getTypeName() == null ? "" : vo.getTypeName(), item.getDeductScore()));
xzDeductScoreRecordMapper.insert(vo);
}
@Override
@ -391,27 +475,5 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
allDataVO.setAllNoCloseRatio(allTotal != 0 ? NumberUtil.div(NumberUtil.mul(allNoClose, 100), allTotal, 2) : 0);
}
public static List<String> getDayList() {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Date today = new Date();
String date = fmt.format(today);
String minDateStr = "";
Calendar calc = Calendar.getInstance();
List<String> datefor30List = new ArrayList<>();
try {
for (int i = 0; i < 30; i++) {
calc.setTime(fmt.parse(date));
calc.add(Calendar.DATE, -i);
Date minDate = calc.getTime();
minDateStr = fmt.format(minDate);
datefor30List.add(minDateStr);
}
} catch (ParseException e1) {
e1.printStackTrace();
}
return datefor30List;
}
}

View File

@ -59,7 +59,7 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
for (QualityRegion qualityRegion : list) {
List<SystemUser> systemUsers = qualityRegion.getSystemUsers();
if (CollUtil.isNotEmpty(systemUsers)) {
qualityRegion.setDutyName(StrUtil.join(",", systemUsers.stream().map(SystemUser::getRealName).collect(Collectors.toList())));
qualityRegion.setDutyUserName(StrUtil.join(",", systemUsers.stream().map(SystemUser::getRealName).collect(Collectors.toList())));
}
List<EnterpriseInfo> enterpriseInfos = qualityRegion.getEnterpriseInfos();
if (CollUtil.isNotEmpty(enterpriseInfos)) {
@ -172,9 +172,13 @@ public class QualityRegionServiceImpl extends ServiceImpl<QualityRegionMapper, Q
}
if (CollUtil.isNotEmpty(systemUsers)) {
HashMap<String, Object> map = new HashMap<>();
map.put("enterpriseIdList", StrUtil.join(",", enterpriseInfos.stream().map(EnterpriseInfo::getId).collect(Collectors.toList())));
map.put("enterpriseIdList", enterpriseInfos.stream().map(EnterpriseInfo::getId).collect(Collectors.toList()));
map.put("projectSn", qualityRegion.getProjectSn());
List<SystemUser> systemUserList = systemUserService.getProjectChilderSystemUserList(map);
Map<Long, SystemUser> userMap = systemUserList.stream().collect(Collectors.toMap(SystemUser::getUserId, Function.identity()));
if (CollUtil.isEmpty(userMap)) {
return;
}
for (SystemUser systemUser : systemUsers) {
Long userId = systemUser.getUserId();
if (userId == null) {

View File

@ -29,7 +29,7 @@ public class HikvisionUtil {
headers.put("Accept", "*/*");
headers.put("Content-Type", "application/json");
//Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT);
Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT * 10);
Request request = new Request(Method.POST_STRING, host, path, appKey, appSecret, Constants.DEFAULT_TIMEOUT * 30);
request.setHeaders(headers);
request.setQuerys(querys);
request.setStringBody(body);