质量bug修复
This commit is contained in:
parent
9531b644c2
commit
5dbb44b1cb
@ -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));
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -244,7 +244,6 @@ public class QualityInspectionRecord implements Serializable {
|
||||
@ApiModelProperty(value = "合作单位id")
|
||||
private Long enterpriseId;
|
||||
|
||||
|
||||
/**
|
||||
* 分部工程名称
|
||||
*/
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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);
|
||||
|
||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user