From e23edcf2619ad46fd77a710fca6c21de78234bc0 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 07 一月 2025 17:33:06 +0800 Subject: [PATCH] 核算重构完成 --- ycl-server/src/main/java/com/ycl/task/HKTask.java | 35 +++--- ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java | 4 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java | 2 ycl-server/src/main/java/com/ycl/task/ContractResultTask.java | 23 +++- ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 70 ++++++++----- ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml | 16 ++- ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java | 3 ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java | 2 ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java | 2 ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 41 ++++++-- ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java | 25 ++++ ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 4 ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 3 ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java | 8 ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java | 1 18 files changed, 162 insertions(+), 83 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java index 4160aca..30daa2b 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResult.java @@ -45,4 +45,7 @@ private Integer deleted; private Date updateTime; + + private Integer whichYear; + private Integer whichMonth; } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java index 7a6cb83..1239d93 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java @@ -40,7 +40,7 @@ * 鍒嗘暟 */ @ExcelProperty({"鑷础甯傚叕鍏辫棰戠洃鎺х郴缁熺画缁村悎鍚�", "鍒嗘暟"}) - private Integer score; + private BigDecimal score; /** * 閲戦 diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java index 88650ea..3c630d7 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java @@ -28,5 +28,6 @@ private Integer contractId; private Integer whichYear; + } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java index 0dbfcf4..6af1baa 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java @@ -54,6 +54,8 @@ private List<CalculateRecordVO> recordList; private Integer whichYear; + private Integer whichMonth; + private Integer latestMonth; public static CalculateReportVO getVoByEntity(@NonNull CalculateReport entity, CalculateReportVO vo) { if(vo == null) { diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java index ca7956c..ce5e3f5 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/ContractResultVO.java @@ -49,4 +49,6 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date createEndTime; + private Integer whichYear; + private Integer whichMonth; } diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java index 945bbaf..74a671a 100644 --- a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java +++ b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java @@ -69,8 +69,8 @@ @PostMapping("/export") @ApiOperation(value = "瀵煎嚭", notes = "瀵煎嚭") @PreAuthorize("@ss.hasPermi('system:calculate:report:export')") - public void export(Integer contractId, HttpServletResponse response) { - calculateReportService.export(contractId, response); + public void export(Integer calculateId,Integer contractId, HttpServletResponse response) { + calculateReportService.export(calculateId,contractId, response); } } diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java index dea68e4..5f1d47d 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java @@ -42,5 +42,5 @@ * 瀵煎嚭鏁版嵁 * @return 鏁版嵁 */ - List<CalculateExport> exportData(Integer contractId); + List<CalculateExport> exportData(Integer calculateId); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java index 8503154..5dc44c8 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java @@ -55,7 +55,7 @@ /** * 鏍规嵁id鏌ユ壘 - * @param id + * @param * @return */ Result detail(CalculateReportQuery query); @@ -77,14 +77,14 @@ /** * 淇敼鍙戝竷鐘舵�� * - * @param reportId + * @param * @return */ Result updatePublishStatus(Integer contractId,Integer whichYear); /** * 淇敼鍙戝竷鐘舵�� * - * @param reportId + * @param * @return */ Result updatePublishStatusById(Integer id,String status); @@ -92,5 +92,5 @@ * 瀵煎嚭 * @param response 鍝嶅簲 */ - void export(Integer contractId, HttpServletResponse response); + void export(Integer calculateId,Integer contractId, HttpServletResponse response); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java index 839dde9..5921403 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java @@ -16,14 +16,18 @@ import com.ycl.platform.domain.query.CalculateReportQuery; import com.ycl.platform.domain.vo.CalculateReportDetailVO; import com.ycl.platform.domain.vo.CalculateReportVO; +import com.ycl.platform.domain.vo.ContractResultVO; import com.ycl.platform.mapper.CalculateRecordMapper; import com.ycl.platform.mapper.CalculateReportMapper; import com.ycl.platform.service.CalculateReportService; import com.ycl.platform.service.ICalculateRuleService; import com.ycl.system.Result; +import com.ycl.system.entity.SysRole; +import com.ycl.system.entity.SysUser; import com.ycl.system.page.PageUtil; import com.ycl.utils.SecurityUtils; import enumeration.general.CalculateReportStatusEnum; +import enumeration.general.PublishType; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; @@ -34,6 +38,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; +import java.math.RoundingMode; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.Date; @@ -125,7 +130,10 @@ @Override public Result page(CalculateReportQuery query) { IPage<CalculateReportVO> page = PageUtil.getPage(query, CalculateReportVO.class); + //鍙兘鐪嬭嚜宸卞崟浣� query.setUnitId(SecurityUtils.getUnitId()); + //鍙兘鐪嬪凡鍙戝竷 + roleControl(query); baseMapper.page(query, page); page.getRecords().stream().forEach(item -> { if (Objects.isNull(item)) { @@ -139,23 +147,29 @@ /** * 鏍规嵁id鏌ユ壘 - * @param id + * @param * @return */ @Override public Result detail(CalculateReportQuery query) { + roleControl(query); // 鏄庣粏鍒楄〃 CalculateReportDetailVO detail = baseMapper.getById(query); - if (Objects.nonNull(detail) && ! CollectionUtils.isEmpty(detail.getRecordList())) { - if (CalculateReportStatusEnum.NOT_PUBLISH.equals(detail.getStatus())) { - detail.getRecordList().get(0).setLatest(Boolean.TRUE); - } else { - detail.getRecordList().get(0).setLatest(Boolean.FALSE); - } - } return Result.ok().data(detail); } + private void roleControl(CalculateReportQuery query) { + List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); + SysUser user = SecurityUtils.getLoginUser().getUser(); + if (!user.isAdmin()) { + for (SysRole role : roles) { + //鑿滃崟鐨勫湴鏂瑰鍔犱簡涓�涓寜閽紝瑙掕壊鏉冮檺缂栬緫濡傛灉鍕句笂浜嗚鏄庡彧鑳芥煡鐪嬪凡鍙戝竷 + if (role.getPermissions().contains("check:contract:role:publish")) { + query.setStatus(PublishType.PUBLISHED.getCode()); + } + } + } + } /** * 鍒楄〃 * @return @@ -211,13 +225,18 @@ @Override @SneakyThrows - public void export(Integer contractId, HttpServletResponse response) { + public void export(Integer calculateId,Integer contractId, HttpServletResponse response) { // 鑾峰彇鏁版嵁 - List<CalculateExport> list = baseMapper.exportData(contractId); + List<CalculateExport> list = baseMapper.exportData(calculateId); CalculateExport calculateExport = new CalculateExport(); calculateExport.setRuleName("鍚堣"); calculateExport.setNum(list.stream().mapToInt(CalculateExport::getNum).sum()); - calculateExport.setScore(100 + list.stream().mapToInt(CalculateExport::getScore).sum()); + + calculateExport.setScore(list.stream() + .map(CalculateExport::getScore) + .reduce(BigDecimal.ZERO, BigDecimal::add) // 璁$畻鎬诲拰 + .add(BigDecimal.valueOf(100)) // 鍔犱笂100 + .setScale(1, RoundingMode.HALF_UP)); list.add(calculateExport); // 鑾峰彇瑙勫垯 List<CalculateRule> ruleList = calculateRuleService.list(new LambdaQueryWrapper<CalculateRule>().eq(CalculateRule::getContractId, contractId)); diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java index 8843ace..80320a1 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractResultServiceImpl.java @@ -8,7 +8,11 @@ import com.ycl.platform.mapper.ContractResultMapper; import com.ycl.platform.mapper.ContractResultRecordMapper; import com.ycl.platform.service.IContractResultService; +import com.ycl.system.entity.BaseEntity; +import com.ycl.system.entity.SysRole; +import com.ycl.system.entity.SysUser; import com.ycl.utils.SecurityUtils; +import enumeration.general.PublishType; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -16,6 +20,7 @@ import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.Objects; /** @@ -52,7 +57,7 @@ @Override public List<ContractResultVO> selectCheckResultList(ContractResultVO contractResult) { //閬垮厤鏌ヨ鏉′欢澶辨晥 - if(contractResult.getUnitId()==null) { + if (contractResult.getUnitId() == null) { Integer unitId = SecurityUtils.getUnitId(); Long uid = null; if (Objects.nonNull(unitId)) { @@ -60,8 +65,22 @@ } contractResult.setUnitId(uid); } + roleControl(contractResult); return checkResultMapper.selectCheckResultList(contractResult); } + + private void roleControl(ContractResultVO contractResult) { + List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles(); + SysUser user = SecurityUtils.getLoginUser().getUser(); + if (!user.isAdmin()) { + for (SysRole role : roles) { + if (role.getPermissions().contains("check:contract:role:publish")) { + contractResult.setPublish(1); + } + } + } + } + /** * 鏂板鑰冩牳缁撴灉 @@ -122,9 +141,11 @@ @Override public Boolean publish(Long id) { + ContractResult contractResult = checkResultMapper.selectById(id); + return new LambdaUpdateChainWrapper<>(checkResultMapper) .eq(ContractResult::getId, id) - .set(ContractResult::getPublish, 1) + .set(ContractResult::getPublish, contractResult.getPublish() == 0 ? 1 : 0) .set(ContractResult::getPublishId, SecurityUtils.getLoginUser().getUserId()) .update(); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 81b9299..4e40269 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -1155,6 +1155,7 @@ Boolean deptTag = false; List<String> dynamicTags = new ArrayList<>(); for (TMonitorResult tagVO : monitorVOS) { + //鐪佸巺鏍囩閫氳繃ip鍒ゆ柇 (杩愮淮瑕佹眰) if(tagVO.getIp().equals(result.getIp())){ if(tagVO.getProvinceTagVideo()) provinceTagVideo = true; if(tagVO.getProvinceTagCar()) provinceTagCar = true; @@ -1162,6 +1163,9 @@ if(tagVO.getImportantTag()) importantTag = true; if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true; if(tagVO.getDeptTag()) deptTag = true; + } + //鍔ㄦ�佸垪鏍规嵁鍥芥爣鍒ゆ柇 + if (tagVO.getNo().equals(result.getSerialNumber())) { //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲� if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) { List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList(); diff --git a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java index a20c5bd..ce627db 100644 --- a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java @@ -9,6 +9,7 @@ import com.ycl.utils.DateUtils; import com.ycl.utils.bean.BeanUtils; import enumeration.general.CalculateReportStatusEnum; +import enumeration.general.PublishType; import lombok.Data; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -48,23 +49,28 @@ // 涓婁釜鏈堟墸鍒嗚褰� List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime); // 鏂板鑰冩牳缁撴灉 + //鑾峰彇涓婁釜鏈堟椂闂� + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.MONTH, -1); ContractResult contractResult = getCheckResult(tContract, contractScore); + contractResult.setWhichMonth(calendar.get(Calendar.MONTH)+1); + contractResult.setWhichYear(calendar.get(Calendar.YEAR)); checkResultService.save(contractResult); - // 鏂板鑰冩牳缁撴灉璁板綍 - List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult); - checkResultService.saveBatchRecord(contractResultRecord); +// // 鏂板鑰冩牳缁撴灉璁板綍 +// List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult); +// checkResultService.saveBatchRecord(contractResultRecord); // 鏂板鏍哥畻鏄庣粏璁板綍 CalculateRecord calculateRecord = new CalculateRecord(); - calculateRecord.setScore(contractResult.getScore()); + //鏀逛负鐩存帴鍘绘煡 +// calculateRecord.setScore(contractResult.getScore()); calculateRecord.setContractId(Integer.parseInt(tContract.getId()+"")); calculateRecord.setCreateTime(new Date()); calculateRecord.setUpdateTime(new Date()); - calculateRecord.setStatus(CalculateReportStatusEnum.NOT_PUBLISH.getValue()); - Calendar calendar = Calendar.getInstance(); + calculateRecord.setStatus(PublishType.UNPUBLISHED.getCode()); + calculateRecord.setWhichYear(calendar.get(Calendar.YEAR)); calculateRecord.setWhichMonth(calendar.get(Calendar.MONTH)+1); calculateRecordMapper.insert(calculateRecord); - } } @@ -100,7 +106,8 @@ contractResult.setContractId(tContract.getId()); contractResult.setPublish(0); contractResult.setCheckTime(DateUtils.getNowDate()); - contractResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get())); + //鏀逛负鐩存帴鍘绘煡 +// contractResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get())); return contractResult; } diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java index 77ea50f..91b9159 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -204,23 +204,24 @@ TMonitor monitor = map.get(item.getExternalIndexCode()); item.setIp(monitor.getIp()); }); - List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> { - UpdateOnlineVO vo = new UpdateOnlineVO(); - vo.setOnline(item.getDataCount() > 0 ? 1 : -1); - vo.setIp(map.get(item.getExternalIndexCode()).getIp()); - vo.setUpdateTime(now); - return vo; - }).collect(Collectors.toList()); - monitorMapper.updateOnlineFromUyOrHk(willUpdateList); - //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� - List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream() - .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount() > 0 ? 1 : -1)) - .collect(Collectors.toMap( - SnapshotDataMonitorResult::getIp, - Function.identity(), - (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� - )).values()); - uyErrorTypeCheckService.hkOnlineCheck(workOrders); + //娴峰悍涓嶅仛鍦ㄧ嚎鐩戞祴 +// List<UpdateOnlineVO> willUpdateList = totalResult.stream().map(item -> { +// UpdateOnlineVO vo = new UpdateOnlineVO(); +// vo.setOnline(item.getDataCount() > 0 ? 1 : -1); +// vo.setIp(map.get(item.getExternalIndexCode()).getIp()); +// vo.setUpdateTime(now); +// return vo; +// }).collect(Collectors.toList()); +// monitorMapper.updateOnlineFromUyOrHk(willUpdateList); +// //绂荤嚎鐢熸垚宸ュ崟,涓�涓猧p鍙敓鎴愪竴涓伐鍗� +// List<SnapshotDataMonitorResult> workOrders = new ArrayList<>(totalResult.stream() +// .filter(item -> ApiConstants.UY_OnlineSite_Offline.equals(item.getDataCount() > 0 ? 1 : -1)) +// .collect(Collectors.toMap( +// SnapshotDataMonitorResult::getIp, +// Function.identity(), +// (existing, replacement) -> existing // 濡傛灉閬囧埌鐩稿悓鐨� IP锛屼繚鐣欑涓�涓紙existing锛� +// )).values()); +// uyErrorTypeCheckService.hkOnlineCheck(workOrders); } log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); } diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java index b57ea36..d3f2964 100644 --- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java +++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java @@ -104,7 +104,6 @@ //鍑嗗鎻掑叆鐐逛綅琛ㄧ殑鏁版嵁 List<YwPoint> ywPointList = new ArrayList<>(); - //鍏ㄥ勾鐣欏瓨 for (MonitorQualifyResult result : oneMachineFileResults) { TMonitor monitor = getMonitor(result, monitorVOMap, osdMap); @@ -132,7 +131,7 @@ //鑰佽澶囩姸鎬佹敼涓轰笉鍙備笌鑰冩牳 if (!points.contains(key)) { value.setExamineStatus(Boolean.FALSE); - //鍗曚綅璁剧疆涓虹┖锛圱ODO锛氫负鍟ワ級 + //鍗曚綅璁剧疆涓虹┖ value.setUnitId(null); ywPointList.add(value); } diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml index 55a3ad0..1782835 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml @@ -30,7 +30,7 @@ </update> <update id="batchPublish"> - update t_calculate_record set status = 'publish' + update t_calculate_record set status = 'PUBLISHED' where contract_id = #{contractId} and which_year =#{whichYear} </update> diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml index 9733db3..67e03ba 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml @@ -52,8 +52,9 @@ tyu.unit_name, tc.name as contractName, tcr.which_year, + tcr.which_month, SUM(tcr.deduct_money) AS deductMoney, - MAX(tcr.create_time) AS latest_time, + MAX(tcr.which_month) AS latest_month, ( SELECT deduct_money FROM t_calculate_record @@ -84,7 +85,7 @@ <result column="status" property="status"/> <collection property="ruleList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO" select="selectRuleByContractId"/> - <collection property="recordList" column="{contractId=contract_id, whichYear=which_year}" ofType="com.ycl.platform.domain.vo.CalculateRecordVO" + <collection property="recordList" column="{contractId=contract_id, whichYear=which_year,status=status}" ofType="com.ycl.platform.domain.vo.CalculateRecordVO" select="selectRecordByContractId"/> </resultMap> @@ -99,44 +100,57 @@ <select id="selectRecordByContractId" resultType="com.ycl.platform.domain.vo.CalculateRecordVO"> SELECT - id, - create_time as createTime, - score, - deduct_money as deductMoney, - which_year as whichYear, - which_month as whichMonth, - status + tcr.id, + tcr.create_time as createTime, + (IFNULL(-SUM(tcs.score), 0) + 100) AS score, + tcr.deduct_money as deductMoney, + tcr.which_year as whichYear, + tcr.which_month as whichMonth, + tcr.status FROM - t_calculate_record - WHERE - contract_id = #{contractId} AND which_year = #{whichYear} AND deleted = 0 + t_calculate_record tcr + LEFT JOIN t_contract_score tcs + ON tcr.contract_id =tcs.contract_id + AND tcs.deleted=0 + AND YEAR(tcs.create_time) = #{whichYear} + AND MONTH(tcs.create_time) = tcr.which_month + AND tcs.auditing_status = 'PASS' + <where> + tcr.contract_id = #{contractId} AND tcr.which_year = #{whichYear} AND tcr.deleted = 0 + <if test="status!=null"> + AND tcr.status=#{status} + </if> + </where> ORDER BY - create_time + tcr.create_time </select> <select id="getById" resultMap="DetailResultMap"> SELECT tyu.unit_name, - tc.name, - tcr.id, - tcr.contract_id, - tcr.create_time, - tcr.update_time, - tcr.which_year + tc.name, + tcr.id, + tcr.contract_id, + tcr.create_time, + tcr.update_time, + tcr.which_year, + #{query.status} as status FROM t_calculate_record tcr - INNER JOIN t_contract tc ON tcr.contract_id = tc.id - INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id - WHERE tcr.contract_id = #{query.contractId} AND tcr.which_year = #{query.whichYear} + INNER JOIN t_contract tc ON tcr.contract_id = tc.id + INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id + <where> + tcr.contract_id = #{query.contractId} AND tcr.which_year = #{query.whichYear} + </where> limit 1 </select> <select id="exportData" resultType="com.ycl.platform.domain.excel.CalculateExport"> - SELECT - a.rule_name, - COUNT(b.id) AS num, - IFNULL(-SUM(score), 0) AS score + SELECT a.rule_name, + COUNT(b.id) AS num, + IFNULL(-SUM(b.score), 0) AS score FROM t_calculate_rule a - LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0 - WHERE a.contract_id = #{contractId} AND a.deleted = 0 + LEFT JOIN t_calculate_record tcr ON a.contract_id = tcr.contract_id And tcr.id = #{calculateId} + LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0 AND YEAR (b.create_time) = tcr.which_year + WHERE a.deleted = 0 GROUP BY a.rule_name </select> diff --git a/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml index 2206157..589615f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/ContractResultMapper.xml @@ -4,7 +4,8 @@ <select id="selectCheckResultList" resultType="com.ycl.platform.domain.vo.ContractResultVO"> - SELECT c.*, + SELECT c.id,c.publish,c.contract_id,c.check_time,c.unit_id,c.which_year,c.which_month, + (IFNULL(-SUM(b.score), 0) + 100) AS score, u.unit_name AS unitName, ct.name AS contractName FROM t_contract_result c @@ -12,7 +13,8 @@ t_yw_unit u ON c.unit_id = u.id and u.deleted = 0 LEFT JOIN t_contract ct ON c.contract_id = ct.id and ct.deleted = 0 - where + LEFT JOIN t_contract_score b ON b.contract_id = c.contract_id AND auditing_status = 'PASS' AND b.deleted = 0 AND MONTH(b.create_time) = c.which_month AND YEAR(b.create_time) = c.which_year + <where> c.deleted = 0 <if test="unitId != null"> AND c.unit_id = #{unitId} @@ -23,16 +25,20 @@ <if test="publish != null"> AND c.publish = #{publish} </if> + </where> + GROUP BY c.id </select> <select id="selectCheckResultRecordList" resultType="com.ycl.platform.domain.entity.ContractResultRecord"> SELECT a.rule_name, COUNT(b.id) AS num, - IFNULL(-SUM(score), 0) AS score + IFNULL(-SUM(b.score), 0) AS score FROM t_calculate_rule a - LEFT JOIN t_contract_result_record b ON SUBSTRING_INDEX(b.rule_ids, ',', -1) = a.id AND b.deleted = 0 AND b.result_id = #{resultId} - WHERE a.contract_id = #{contractId} AND a.deleted = 0 + LEFT JOIN t_contract_result tcr on a.contract_id = tcr.contract_id AND tcr.id = #{resultId} + LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0 AND MONTH(b.create_time) = tcr.which_month AND YEAR(b.create_time) = tcr.which_year + WHERE + a.contract_id = #{contractId} AND a.deleted = 0 GROUP BY a.rule_name </select> </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml index 23091ce..79d645f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/TMonitorMapper.xml @@ -701,7 +701,7 @@ select m.ip,m.serial_number as no,p.id as pointId,p.province_tag_video,p.province_tag_car,p.province_tag_face,p.dept_tag,p.important_tag,p.important_command_image_tag from t_monitor m left join t_yw_point p on m.serial_number = p.serial_number - where m.ip in + where p.examine_status = 1 and m.ip in <foreach collection="ipList" item="ip" separator="," close=")" open="("> #{ip} </foreach> -- Gitblit v1.8.0