From 11d541c9a8ec391447bb00477027e9fc357b598d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 04 九月 2024 18:45:45 +0800 Subject: [PATCH] 考核指标详情页面权限控制 --- ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml | 1 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java | 25 ++-- ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml | 94 +++++++++------ ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java | 85 ++----------- ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java | 62 +++++++++ ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java | 33 ++-- ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 1 ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 1 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java | 21 +- 9 files changed, 174 insertions(+), 149 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java index 31e99cf..8fb2927 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/base/CheckIndex.java @@ -3,10 +3,15 @@ import annotation.Excel; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.Data; import java.util.Date; +import java.util.HashMap; import java.util.List; +import java.util.Map; +@Data public abstract class CheckIndex { @TableField("id") public Long id; @@ -34,76 +39,18 @@ public String examineTagStr; @TableField(exist = false) public List<Integer> deptIds; - public Long getId() { - return id; - } - public void setId(Long id) { - this.id = id; - } + /** 璇锋眰鍙傛暟 */ + @JsonInclude(JsonInclude.Include.NON_EMPTY) + @TableField(exist = false) + private Map<String, Object> params; - public String getDate() { - return date; - } - - public void setDate(String date) { - this.date = date; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public Long getDeptId() { - return deptId; - } - - public void setDeptId(Long deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public Short getExamineTag() { - return examineTag; - } - - public void setExamineTag(Short examineTag) { - this.examineTag = examineTag; - } - - public List<Integer> getDeptIds() { - return deptIds; - } - - - public String getDay() { - return day; - } - - public void setDay(String day) { - this.day = day; - } - - public void setDeptIds(List<Integer> deptIds) { - this.deptIds = deptIds; - } - - public String getExamineTagStr() { - return examineTagStr; - } - - public void setExamineTagStr(String examineTagStr) { - this.examineTagStr = examineTagStr; + public Map<String, Object> getParams() + { + if (params == null) + { + params = new HashMap<>(); + } + return params; } } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java index e7ce000..d7fda06 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexCar.java @@ -10,6 +10,7 @@ import org.springframework.lang.NonNull; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.List; /** @@ -68,22 +69,22 @@ @TableField(exist = false) private List<String> quarter; - + //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭 public static CheckIndexCarVO getExcelVo(@NonNull CheckIndexCar checkIndexCar) { CheckIndexCarVO checkIndexCarVo = new CheckIndexCarVO(); checkIndexCarVo.setDeptName(checkIndexCar.getDeptName()); - checkIndexCarVo.setDate(checkIndexCar.getDate()); + checkIndexCarVo.setCreateTime(checkIndexCar.getCreateTime()); checkIndexCarVo.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexCar.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳"); - checkIndexCarVo.setSiteOnlineText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleCaptureAccuracyText(checkIndexCar.getVehicleCaptureAccuracy().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setDeviceDirectoryConsistentText(checkIndexCar.getDeviceDirectoryConsistent().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleCaptureIntegrityText(checkIndexCar.getVehicleCaptureIntegrity().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleTimingAccuracyText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleUploadTimelinessText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setViewConnectStabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleUrlAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehiclePictureAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexCarVo.setVehicleInformationCollectionAccuracyText(checkIndexCar.getVehicleInformationCollectionAccuracy().multiply(new BigDecimal(100))+"%"); + checkIndexCarVo.setSiteOnlineText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleCaptureAccuracyText(checkIndexCar.getVehicleCaptureAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setDeviceDirectoryConsistentText(checkIndexCar.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleCaptureIntegrityText(checkIndexCar.getVehicleCaptureIntegrity().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleTimingAccuracyText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleUploadTimelinessText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setViewConnectStabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleUrlAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehiclePictureAvailabilityText(checkIndexCar.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexCarVo.setVehicleInformationCollectionAccuracyText(checkIndexCar.getVehicleInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); return checkIndexCarVo; } } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java index 15867f8..3ae107b 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexFace.java @@ -12,6 +12,7 @@ import org.springframework.lang.NonNull; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.List; @@ -77,20 +78,20 @@ @ExcelIgnore @TableField(exist = false) private List<String> quarter; - + //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭 public static CheckIndexFaceVO getExcelVo(@NonNull CheckIndexFace checkIndexFace) { CheckIndexFaceVO checkIndexFaceVo = new CheckIndexFaceVO(); checkIndexFaceVo.setDeptName(checkIndexFace.getDeptName()); - checkIndexFaceVo.setDate(checkIndexFace.getDate()); + checkIndexFaceVo.setCreateTime(checkIndexFace.getCreateTime()); checkIndexFaceVo.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexFace.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳"); - checkIndexFaceVo.setSiteOnlineText(checkIndexFace.getSiteOnline().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setFaceInformationCollectionAccuracyText(checkIndexFace.getFaceInformationCollectionAccuracy().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setFacePictureAvailabilityText(checkIndexFace.getFacePictureAvailability().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setDeviceDirectoryConsistentTextText(checkIndexFace.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setFaceTimingAccuracyText(checkIndexFace.getFaceTimingAccuracy().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setFacePictureQualificationText(checkIndexFace.getFacePictureQualification().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setViewConnectStabilityText(checkIndexFace.getViewConnectStability().multiply(new BigDecimal(100)) + "%"); - checkIndexFaceVo.setFaceUploadTimelinessText(checkIndexFace.getFaceUploadTimeliness().multiply(new BigDecimal(100)) + "%"); + checkIndexFaceVo.setSiteOnlineText(checkIndexFace.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setFaceInformationCollectionAccuracyText(checkIndexFace.getFaceInformationCollectionAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setFacePictureAvailabilityText(checkIndexFace.getFacePictureAvailability().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setDeviceDirectoryConsistentTextText(checkIndexFace.getDeviceDirectoryConsistent().multiply(new BigDecimal(100)) .setScale(2, RoundingMode.HALF_UP)+ "%"); + checkIndexFaceVo.setFaceTimingAccuracyText(checkIndexFace.getFaceTimingAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setFacePictureQualificationText(checkIndexFace.getFacePictureQualification().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setViewConnectStabilityText(checkIndexFace.getViewConnectStability().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); + checkIndexFaceVo.setFaceUploadTimelinessText(checkIndexFace.getFaceUploadTimeliness().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP) + "%"); return checkIndexFaceVo; } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java index 1e94d59..d747433 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckIndexVideo.java @@ -12,6 +12,7 @@ import org.springframework.lang.NonNull; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.Date; import java.util.List; @@ -114,26 +115,26 @@ @ExcelIgnore @TableField(exist = false) private List<String> quarter; - + //杞崲鎴愬瓧绗︿覆鐢ㄤ簬excel瀵煎嚭 public static CheckIndexVideoVO getExcelVo(@NonNull CheckIndexVideo checkIndexVideo) { CheckIndexVideoVO checkIndexVideoVO = new CheckIndexVideoVO(); checkIndexVideoVO.setDeptName(checkIndexVideo.getDeptName()); - checkIndexVideoVO.setDate(checkIndexVideo.getDate()); + checkIndexVideoVO.setCreateTime(checkIndexVideo.getCreateTime()); checkIndexVideoVO.setExamineTagStr(CheckConstants.Examine_Tag_Province.equals(checkIndexVideo.getExamineTag()) ? "鐪佸巺鑰冩牳" : "鍖哄幙鑰冩牳"); - checkIndexVideoVO.setSiteOnlineText(checkIndexVideo.getSiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setImageResourceSecurityText(checkIndexVideo.getImageResourceSecurity().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setArchivesRateText(checkIndexVideo.getArchivesRate().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setKeyAnnotationAccuracyText(checkIndexVideo.getKeyAnnotationAccuracy().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setKeyCommandImageOnlineText(checkIndexVideo.getKeyCommandImageOnline().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setKeyVideoAvailableText(checkIndexVideo.getKeyVideoAvailable().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setKeySiteOnlineText(checkIndexVideo.getKeySiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setKeyTimingAccuracyText(checkIndexVideo.getKeyTimingAccuracy().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setMinistryVideoAvailableText(checkIndexVideo.getMinistryVideoAvailable().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setVideoAvailableText(checkIndexVideo.getVideoAvailable().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setMinistrySiteOnlineText(checkIndexVideo.getMinistrySiteOnline().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setPlatformOnlineText(checkIndexVideo.getPlatformOnline().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setMonitorQualificationText(checkIndexVideo.getMonitorQualification().multiply(new BigDecimal(100))+"%"); - checkIndexVideoVO.setMonitorRegistrationText(checkIndexVideo.getMonitorRegistration().multiply(new BigDecimal(100))+"%"); + checkIndexVideoVO.setSiteOnlineText(checkIndexVideo.getSiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setImageResourceSecurityText(checkIndexVideo.getImageResourceSecurity().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setArchivesRateText(checkIndexVideo.getArchivesRate().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setKeyAnnotationAccuracyText(checkIndexVideo.getKeyAnnotationAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setKeyCommandImageOnlineText(checkIndexVideo.getKeyCommandImageOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setKeyVideoAvailableText(checkIndexVideo.getKeyVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setKeySiteOnlineText(checkIndexVideo.getKeySiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setKeyTimingAccuracyText(checkIndexVideo.getKeyTimingAccuracy().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setMinistryVideoAvailableText(checkIndexVideo.getMinistryVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setVideoAvailableText(checkIndexVideo.getVideoAvailable().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setMinistrySiteOnlineText(checkIndexVideo.getMinistrySiteOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setPlatformOnlineText(checkIndexVideo.getPlatformOnline().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setMonitorQualificationText(checkIndexVideo.getMonitorQualification().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); + checkIndexVideoVO.setMonitorRegistrationText(checkIndexVideo.getMonitorRegistration().multiply(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP)+"%"); return checkIndexVideoVO; } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java index 49f85e4..eb9098a 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java @@ -2,7 +2,9 @@ import annotation.DataScope; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.platform.base.CheckIndex; import com.ycl.platform.domain.dto.CheckScoreDTO; import com.ycl.platform.domain.dto.CheckScoreIndexDTO; import com.ycl.platform.domain.dto.ScoreIndexDTO; @@ -19,6 +21,7 @@ import com.ycl.platform.service.ICheckIndexFaceService; import com.ycl.platform.service.ICheckIndexVideoService; import com.ycl.platform.service.ICheckScoreService; +import com.ycl.system.entity.BaseEntity; import com.ycl.system.entity.SysRole; import com.ycl.system.entity.SysUser; import com.ycl.system.service.ISysDeptService; @@ -31,6 +34,7 @@ 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.util.CollectionUtils; import pojo.ExcelExp; import utils.poi.ExcelUtilManySheet; @@ -122,6 +126,8 @@ scoreIndexDTO.setDate(formatter.format(createTime)); } + //鏉冮檺鎺у埗 + roleControl(scoreIndexDTO); List<Map> map = scoreMapper.selectScoreIndex(scoreIndexDTO); scoreMap.put("tableData", checkRules); @@ -233,6 +239,7 @@ * @return 缁撴灉 */ @Override + @Transactional(rollbackFor = Exception.class) public int publishCheckScore(CheckScoreDTO checkScoreDTO) { if (CollectionUtils.isEmpty(checkScoreDTO.getId())) { return 0; @@ -245,8 +252,39 @@ } String code = publishType.getCode(); checkScoreDTO.setPublish(code); - - return scoreMapper.publishCheckScore(checkScoreDTO); + int i = scoreMapper.publishCheckScore(checkScoreDTO); + //鎺у埗index琛ㄧ殑鍙戝竷鐘舵�� + List<Integer> ids = checkScoreDTO.getId(); + QueryWrapper<CheckScore> queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",ids); + List<CheckScore> scoreList = scoreMapper.selectList(queryWrapper); + //鏈�澶氫负3娆″惊鐜� + for (CheckScore checkScore : scoreList) { + Short examineCategory = checkScore.getExamineCategory(); + if(CheckConstants.Rule_Category_Video.equals(examineCategory)){ + UpdateWrapper<CheckIndexVideo> updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("publish",code); + updateWrapper.eq("dept_id",checkScore.getDeptId()); + updateWrapper.eq("examine_tag",checkScore.getExamineTag()); + updateWrapper.between("create_time",DateUtils.getDayStart(checkScore.getCreateTime()),DateUtils.getDayEnd(checkScore.getCreateTime())); + indexVideoService.update(updateWrapper); + }else if(CheckConstants.Rule_Category_Car.equals(examineCategory)){ + UpdateWrapper<CheckIndexCar> updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("publish",code); + updateWrapper.eq("dept_id",checkScore.getDeptId()); + updateWrapper.eq("examine_tag",checkScore.getExamineTag()); + updateWrapper.between("create_time",DateUtils.getDayStart(checkScore.getCreateTime()),DateUtils.getDayEnd(checkScore.getCreateTime())); + indexCarService.update(updateWrapper); + }else if(CheckConstants.Rule_Category_Face.equals(examineCategory)){ + UpdateWrapper<CheckIndexFace> updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("publish",code); + updateWrapper.eq("dept_id",checkScore.getDeptId()); + updateWrapper.eq("examine_tag",checkScore.getExamineTag()); + updateWrapper.between("create_time",DateUtils.getDayStart(checkScore.getCreateTime()),DateUtils.getDayEnd(checkScore.getCreateTime())); + indexFaceService.update(updateWrapper); + } + } + return i; } /** @@ -271,6 +309,8 @@ CheckIndexCar checkIndexCar = new CheckIndexCar(); checkIndexCar.setDate(date); checkIndexCar.setQuarter(checkScoreDTO.getQuarter()); + //鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯� + roleControl(checkIndexCar); List<CheckIndexCar> checkIndexCars = indexCarService.selectCheckIndexCarList(checkIndexCar); List<CheckIndexCarVO> checkIndexCarVOS = new ArrayList<>(); for (CheckIndexCar indexCar : checkIndexCars) { @@ -282,6 +322,8 @@ CheckIndexFace checkIndexFace = new CheckIndexFace(); checkIndexFace.setDate(date); checkIndexFace.setQuarter(checkScoreDTO.getQuarter()); + //鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯� + roleControl(checkIndexFace); List<CheckIndexFace> checkIndexFaces = indexFaceService.selectCheckIndexFaceList(checkIndexFace); List<CheckIndexFaceVO> checkIndexFaceVOS = new ArrayList<>(); for (CheckIndexFace indexFace : checkIndexFaces) { @@ -293,6 +335,8 @@ CheckIndexVideo checkIndexVideo = new CheckIndexVideo(); checkIndexVideo.setDate(date); checkIndexVideo.setQuarter(checkScoreDTO.getQuarter()); + //鏉冮檺鎺у埗 鍙兘鏌ョ湅宸插彂甯� + roleControl(checkIndexVideo); List<CheckIndexVideo> checkIndexVideos = indexVideoService.selectCheckIndexVideoList(checkIndexVideo); List<CheckIndexVideoVO> checkIndexVideoVOS = new ArrayList<>(); for (CheckIndexVideo indexVideo : checkIndexVideos) { @@ -310,7 +354,19 @@ } - private void roleControl(CheckScore checkScore) { + private void roleControl(CheckIndex checkIndex) { + List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); + SysUser user = SecurityUtils.getLoginUser().getUser(); + if (!user.isAdmin()) { + for (SysRole role : roles) { + if (role.getPermissions().contains("check:score:role:publish")) { + Map<String, Object> params = checkIndex.getParams(); + params.put("publish", PublishType.PUBLISHED.getCode()); + } + } + } + } + private void roleControl(BaseEntity checkScore) { List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); SysUser user = SecurityUtils.getLoginUser().getUser(); if (!user.isAdmin()) { diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml index 0564240..7f624f8 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml @@ -43,6 +43,7 @@ <if test="vehicleUploadTimeliness != null "> and vehicle_upload_timeliness = #{vehicleUploadTimeliness}</if> <if test="vehicleUrlAvailability != null "> and vehicle_url_availability = #{vehicleUrlAvailability}</if> <if test="vehiclePictureAvailability != null "> and vehicle_picture_availability = #{vehiclePictureAvailability}</if> + <if test="params.publish != null and params.publish != ''">and publish = #{params.publish}</if> <if test="deptIds != null ">and tcic.dept_id in <foreach collection="deptIds" separator="," open="(" close=")" item="deptId"> #{deptId} diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml index 8570bc1..01203f4 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml @@ -39,6 +39,7 @@ <if test="faceTimingAccuracy != null "> and face_timing_accuracy = #{faceTimingAccuracy}</if> <if test="faceUploadTimeliness != null "> and face_upload_timeliness = #{faceUploadTimeliness}</if> <if test="facePictureAvailability != null "> and face_picture_availability = #{facePictureAvailability}</if> + <if test="params.publish != null and params.publish != ''">and publish = #{params.publish}</if> <if test="deptIds != null ">and tcif.dept_id in <foreach collection="deptIds" separator="," open="(" close=")" item="deptId"> #{deptId} diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml index d9428bf..eb5d13e 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml @@ -52,6 +52,7 @@ <if test="keyTimingAccuracy != null "> and key_timing_accuracy = #{keyTimingAccuracy}</if> <if test="keyCommandImageOnline != null "> and key_command_image_online = #{keyCommandImageOnline}</if> <if test="imageResourceSecurity != null "> and image_resource_security = #{imageResourceSecurity}</if> + <if test="params.publish != null and params.publish != ''">and publish = #{params.publish}</if> <if test="deptIds != null ">and tciv.dept_id in <foreach collection="deptIds" separator="," open="(" close=")" item="deptId"> #{deptId} diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml index df07d02..bede2bc 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml @@ -18,9 +18,18 @@ </resultMap> <sql id="selectCheckScoreVo"> - select id, score, tcs.dept_id, template_id, examine_tag, examine_category, - tcs.create_time,tcs.update_time,tcs.update_user, publish - from t_check_score tcs left join sys_dept d on tcs.dept_id = d.dept_id + select id, + score, + tcs.dept_id, + template_id, + examine_tag, + examine_category, + tcs.create_time, + tcs.update_time, + tcs.update_user, + publish + from t_check_score tcs + left join sys_dept d on tcs.dept_id = d.dept_id </sql> <select id="selectCheckScoreList" resultMap="CheckScoreResult"> @@ -87,7 +96,9 @@ </update> <delete id="deleteCheckScoreById" parameterType="Long"> - delete from t_check_score where id = #{id} + delete + from t_check_score + where id = #{id} </delete> <delete id="deleteCheckScoreByIds" parameterType="String"> @@ -107,17 +118,22 @@ <select id="selectScoreIndex" resultType="java.util.Map"> select t.* from ${tableName} t left join sys_dept d on t.dept_id = d.dept_id - where t.dept_id = #{deptId} - <if test="examineTag != null"> - and examine_tag = #{examineTag} - </if> - <if test="date != null"> - and date_format(t.create_time,'%Y-%m') = #{date} - </if> - <if test="quarter != null and quarter.size > 0"> - and date_format(t.create_time, '%Y-%m') between #{quarter[0]} and #{quarter[1]} - </if> - ${params.dataScope} + <where> + t.dept_id = #{deptId} + <if test="examineTag != null"> + and examine_tag = #{examineTag} + </if> + <if test="date != null"> + and date_format(t.create_time,'%Y-%m') = #{date} + </if> + <if test="quarter != null and quarter.size > 0"> + and date_format(t.create_time, '%Y-%m') between #{quarter[0]} and #{quarter[1]} + </if> + <if test="params.publish != null and params.publish != ''"> + and publish = #{params.publish} + </if> + ${params.dataScope} + </where> </select> <insert id="saveBatch"> @@ -140,15 +156,16 @@ LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id <where> examine_tag = #{examineTag} - AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND DATE_FORMAT(#{endDate}, '%Y-%m') + AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND + DATE_FORMAT(#{endDate}, '%Y-%m') <if test="params.publish != null and params.publish != ''">and publish = #{params.publish}</if> ${params.dataScope} </where> --- GROUP BY tcs.dept_id, tcs.examine_category, tcs.examine_tag + -- GROUP BY tcs.dept_id, tcs.examine_category, tcs.examine_tag </select> <select id="getLast" resultType="com.ycl.platform.domain.entity.CheckScore"> - select * from t_check_score tcs LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id + select * from t_check_score tcs LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id <where> tcs.examine_tag = #{examineTag} <if test="params.publish != null and params.publish != ''">and tcs.publish = #{params.publish}</if> @@ -158,33 +175,32 @@ </select> <select id="home" resultType="java.util.Map"> <![CDATA[ - SELECT - DATE_FORMAT(cs.create_time, '%Y-%m-%d %h:%i:%s') AS createTime, - d.area, - CASE WHEN cs.examine_tag = '0' THEN '鐪佸巺' WHEN cs.examine_tag = '1' THEN '甯傚眬' WHEN cs.examine_tag = '2' THEN '' END AS examineTag, - ct.template_name AS templateName, - cs.score - FROM - t_check_score cs - LEFT JOIN t_check_template ct ON cs.template_id = ct.id - LEFT JOIN sys_dept d ON cs.dept_id = d.dept_id + SELECT DATE_FORMAT(cs.create_time, '%Y-%m-%d %h:%i:%s') AS createTime, + d.area, + CASE + WHEN cs.examine_tag = '0' THEN '鐪佸巺' + WHEN cs.examine_tag = '1' THEN '甯傚眬' + WHEN cs.examine_tag = '2' THEN '' END AS examineTag, + ct.template_name AS templateName, + cs.score + FROM t_check_score cs + LEFT JOIN t_check_template ct ON cs.template_id = ct.id + LEFT JOIN sys_dept d ON cs.dept_id = d.dept_id WHERE cs.score < ct.alarm_score ORDER BY cs.create_time DESC ]]> </select> <select id="calculate" resultType="java.util.Map"> - SELECT - area AS deptName, - ROUND(AVG(score)) AS score - FROM - t_check_score tcs - LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id - WHERE - examine_tag = 1 - AND examine_category = #{category} - AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND DATE_FORMAT(#{endDate}, - '%Y-%m') + SELECT area AS deptName, + ROUND(AVG(score)) AS score + FROM t_check_score tcs + LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id + WHERE examine_tag = 1 + AND examine_category = #{category} + AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND DATE_FORMAT( + #{endDate}, + '%Y-%m') GROUP BY tcs.dept_id ORDER BY score DESC, tcs.dept_id </select> -- Gitblit v1.8.0