From 7a93f4097430703dc60c4aee0240ed348a0ab1df Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 06 一月 2025 18:12:00 +0800 Subject: [PATCH] 核算重构 --- ycl-server/src/main/java/com/ycl/task/ContractTask.java | 3 ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java | 23 +++- ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java | 6 + ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 2 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java | 2 ycl-server/src/main/java/com/ycl/task/ContractResultTask.java | 25 +++- ycl-server/src/main/resources/application-dev.yml | 2 ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 88 +++++++++++------ ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java | 2 ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml | 22 ++++ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java | 1 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateRecord.java | 4 ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java | 12 +- ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 64 ++++++------ ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java | 1 ycl-common/src/main/java/enumeration/ErrorType.java | 2 ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java | 12 + ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java | 5 + 18 files changed, 187 insertions(+), 89 deletions(-) diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java index 4c4b3f1..51d3f61 100644 --- a/ycl-common/src/main/java/enumeration/ErrorType.java +++ b/ycl-common/src/main/java/enumeration/ErrorType.java @@ -27,6 +27,8 @@ STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈","VIDEO"), SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅","VIDEO"), ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�","VIDEO"), + //鏂板鐨勫浘鍍忓紓甯革紝鍚堝苟鍓嶉潰鎵�鏈夊紓甯哥被鍨� + ABNORMAL_PIC("ABNORMALPIC", "鍥惧儚寮傚父","VIDEO"), // ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父","VIDEO"), OSD_ERROR("OSD", "osd寮傚父","VIDEO"), // VIDEO_LOSS("VIDEOMISS", "褰曞儚缂哄け","VIDEO"), diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateRecord.java index 06fc99d..5bbd972 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateRecord.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateRecord.java @@ -47,5 +47,7 @@ @TableField("which_month") private Integer whichMonth; - + @ApiModelProperty("鍙戝竷鐘舵��") + @TableField("status") + private String status; } 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 c96a6a5..88650ea 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 @@ -23,5 +23,10 @@ private Integer unitId; + private String status; + + private Integer contractId; + + private Integer whichYear; } diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java index ee49511..f311d58 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateRecordVO.java @@ -49,6 +49,7 @@ /** 鏈�鏂颁竴鏉℃牳绠楁爣璇� */ private Boolean latest; + private String status; public static CalculateRecordVO getVoByEntity(@NonNull CalculateRecord entity, CalculateRecordVO vo) { if(vo == null) { vo = new CalculateRecordVO(); diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java index 4f6d8e4..2717bf1 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportDetailVO.java @@ -30,6 +30,7 @@ /** 鍚堝悓 */ private Integer contractId; + private Integer whichYear; /** 杩愮淮鍗曚綅 */ private String unitName; 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 ea5e790..0dbfcf4 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 @@ -53,6 +53,8 @@ /** 鏄庣粏 */ private List<CalculateRecordVO> recordList; + private Integer whichYear; + public static CalculateReportVO getVoByEntity(@NonNull CalculateReport entity, CalculateReportVO vo) { if(vo == null) { vo = new CalculateReportVO(); 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 7c23eea..945bbaf 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 @@ -1,5 +1,6 @@ package com.ycl.platform.controller; +import com.ycl.platform.domain.entity.CalculateRecord; import com.ycl.platform.domain.form.CalculateReportBackfillForm; import com.ycl.platform.domain.query.CalculateReportQuery; import com.ycl.platform.service.CalculateReportService; @@ -41,20 +42,30 @@ return calculateReportService.backfill(form); } - @GetMapping("/{id}") + @GetMapping("/{contractId}/{whichYear}") @ApiOperation(value = "璇︽儏", notes = "璇︽儏") @PreAuthorize("@ss.hasPermi('system:calculate:report:detail')") - public Result detail(@PathVariable("id") Long id) { - return calculateReportService.detail(id); + public Result detail(@PathVariable("contractId") Integer contractId,@PathVariable("whichYear") Integer whichYear) { + CalculateReportQuery query = new CalculateReportQuery(); + query.setContractId(contractId); + query.setWhichYear(whichYear); + return calculateReportService.detail(query); } - @PutMapping("/status/{reportId}") + @PutMapping("/status/{contractId}/{whichYear}") @ApiOperation(value = "淇敼鍙戝竷鐘舵��", notes = "淇敼鍙戝竷鐘舵��") @PreAuthorize("@ss.hasPermi('system:calculate:report:status')") - public Result updatePublishStatus(@PathVariable("reportId") Long reportId) { - return calculateReportService.updatePublishStatus(reportId); + public Result updatePublishStatus(@PathVariable("contractId") Integer contractId,@PathVariable("whichYear") Integer whichYear) { + return calculateReportService.updatePublishStatus(contractId,whichYear); } + @PutMapping("/status/detail/{id}/{status}") + @ApiOperation(value = "淇敼鍙戝竷鐘舵��", notes = "淇敼鍙戝竷鐘舵��") + @PreAuthorize("@ss.hasPermi('system:calculate:report:status')") + public Result updatePublishStatusById(@PathVariable("id") Integer id,@PathVariable("status") String status) { + + return calculateReportService.updatePublishStatusById(id,status); + } @PostMapping("/export") @ApiOperation(value = "瀵煎嚭", notes = "瀵煎嚭") @PreAuthorize("@ss.hasPermi('system:calculate:report:export')") diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java index 08a00f2..71e2687 100644 --- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java +++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateRecordMapper.java @@ -2,6 +2,7 @@ import com.ycl.platform.domain.entity.CalculateRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.platform.domain.form.CalculateReportBackfillForm; import com.ycl.platform.domain.vo.CalculateRecordVO; import com.ycl.platform.domain.form.CalculateRecordForm; @@ -19,4 +20,9 @@ @Mapper public interface CalculateRecordMapper extends BaseMapper<CalculateRecord> { + public void updateBatch(List<CalculateReportBackfillForm.RecordForm> list); + + void batchPublish(Integer contractId, Integer whichYear); + + void updatePublishById(Integer id, String status); } 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 8b5e223..dea68e4 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 @@ -36,7 +36,7 @@ * @param id 鏍哥畻ID * @return */ - CalculateReportDetailVO getById(@Param("id") Long id); + CalculateReportDetailVO getById(@Param("query") CalculateReportQuery query); /** * 瀵煎嚭鏁版嵁 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 96d9dd8..8503154 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 @@ -58,7 +58,7 @@ * @param id * @return */ - Result detail(Long id); + Result detail(CalculateReportQuery query); /** * 鍒楄〃 @@ -80,8 +80,14 @@ * @param reportId * @return */ - Result updatePublishStatus(Long reportId); - + Result updatePublishStatus(Integer contractId,Integer whichYear); + /** + * 淇敼鍙戝竷鐘舵�� + * + * @param reportId + * @return + */ + Result updatePublishStatusById(Integer id,String status); /** * 瀵煎嚭 * @param 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 10c8a12..839dde9 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 @@ -143,9 +143,9 @@ * @return */ @Override - public Result detail(Long id) { + public Result detail(CalculateReportQuery query) { // 鏄庣粏鍒楄〃 - CalculateReportDetailVO detail = baseMapper.getById(id); + 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); @@ -172,40 +172,40 @@ @Override @Transactional(rollbackFor = Exception.class) public Result backfill(CalculateReportBackfillForm form) { - CalculateReport report = baseMapper.selectById(form.getId()); - if (Objects.isNull(report)) { - throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪"); - } - if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) { - throw new RuntimeException("鏈�鏂颁竴娆℃牳绠楁姤鍛婂凡缁忓彂甯冿紝鏃犳硶淇敼"); - } - CalculateReportBackfillForm.RecordForm latestRecord = form.getRecordList().get(0); - CalculateRecord beforeRecord = calculateRecordMapper.selectById(latestRecord.getId()); - if (Objects.isNull(beforeRecord)) { - throw new RuntimeException("鏈�杩戜竴娆℃牳绠楄褰曚笉瀛樺湪"); - } - // 璁$畻寰楀埌鎵f鎬婚锛堝彧绠楁渶杩戜竴鏉★級 - BigDecimal totalDeduct = report.getDeductMoney().subtract(latestRecord.getDeductMoney()).add(latestRecord.getDeductMoney()); - report.setDeductMoney(totalDeduct); - baseMapper.updateById(report); - - beforeRecord.setDeductMoney(latestRecord.getDeductMoney()); - calculateRecordMapper.updateById(beforeRecord); +// CalculateReport report = baseMapper.selectById(form.getId()); +// if (Objects.isNull(report)) { +// throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪"); +// } +// if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) { +// throw new RuntimeException("鏈�鏂颁竴娆℃牳绠楁姤鍛婂凡缁忓彂甯冿紝鏃犳硶淇敼"); +// } +// CalculateReportBackfillForm.RecordForm latestRecord = form.getRecordList().get(0); +// CalculateRecord beforeRecord = calculateRecordMapper.selectById(latestRecord.getId()); +// if (Objects.isNull(beforeRecord)) { +// throw new RuntimeException("鏈�杩戜竴娆℃牳绠楄褰曚笉瀛樺湪"); +// } +// // 璁$畻寰楀埌鎵f鎬婚锛堝彧绠楁渶杩戜竴鏉★級 +// BigDecimal totalDeduct = report.getDeductMoney().subtract(latestRecord.getDeductMoney()).add(latestRecord.getDeductMoney()); +// report.setDeductMoney(totalDeduct); +// baseMapper.updateById(report); +// +// beforeRecord.setDeductMoney(latestRecord.getDeductMoney()); +// calculateRecordMapper.updateById(beforeRecord); + List<CalculateReportBackfillForm.RecordForm> recordList = form.getRecordList(); + if(!CollectionUtils.isEmpty(recordList)) calculateRecordMapper.updateBatch(recordList); return Result.ok("鎿嶄綔鎴愬姛"); } @Override - public Result updatePublishStatus(Long reportId) { - CalculateReport report = baseMapper.selectById(reportId); - if (Objects.isNull(report)) { - throw new RuntimeException("璇ユ牳绠楁姤鍛婁笉瀛樺湪"); - } - if (CalculateReportStatusEnum.NOT_PUBLISH.equals(report.getStatus())) { - report.setStatus(CalculateReportStatusEnum.PUBLISHED); - } else if (CalculateReportStatusEnum.PUBLISHED.equals(report.getStatus())) { - report.setStatus(CalculateReportStatusEnum.NOT_PUBLISH); - } - baseMapper.updateById(report); + public Result updatePublishStatus(Integer contractId,Integer whichYear) { + + calculateRecordMapper.batchPublish(contractId,whichYear); + return Result.ok("鎿嶄綔鎴愬姛"); + } + + @Override + public Result updatePublishStatusById(Integer id, String status) { + calculateRecordMapper.updatePublishById(id,status); return Result.ok("鎿嶄綔鎴愬姛"); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java index 0e0e896..a3d1960 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java @@ -155,6 +155,8 @@ calculateMoneyRuleService.saveBatch(JSON.parseArray(tContract.getRuleList(), CalculateMoneyRule.class).stream().peek( calculateMoneyRule -> calculateMoneyRule.setContractId(tContract.getId().intValue()) ).collect(Collectors.toList())); + + return AjaxResult.success("鎿嶄綔鎴愬姛"); } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java index 2236f58..b52a9a4 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java @@ -56,27 +56,27 @@ WorkOrder workOrder = new WorkOrder(); // 淇″彿缂哄け if (-1 == item.getSigna1()) { - this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鐢婚潰鍋忚壊 if (-1 == item.getColor()) { - this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 闆姳骞叉壈 if (-1 == item.getSnow()) { - this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鏉$汗骞叉壈 if (-1 == item.getStripe()) { - this.genWorkOrder(workOrder, ErrorType.STRIPE_INTERFERENCE, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 鐢婚潰閬尅 if (-1 == item.getShade()) { - this.genWorkOrder(workOrder, ErrorType.SCREEN_OCCLUSION, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // 娓呮櫚搴﹀紓甯� if (-1 == item.getBlur()) { - this.genWorkOrder(workOrder, ErrorType.ABNORMAL_CLARITY, item.getDeviceId()); + this.genWorkOrder(workOrder, ErrorType.ABNORMAL_PIC, item.getDeviceId()); } // // 浜害寮傚父 // if (-1 == item.getLight()) { 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 339f924..a20c5bd 100644 --- a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java @@ -1,14 +1,14 @@ package com.ycl.task; -import com.ycl.platform.domain.entity.ContractResult; -import com.ycl.platform.domain.entity.ContractResultRecord; -import com.ycl.platform.domain.entity.ContractScore; -import com.ycl.platform.domain.entity.TContract; +import com.ycl.platform.domain.entity.*; +import com.ycl.platform.mapper.CalculateRecordMapper; +import com.ycl.platform.service.CalculateRecordService; import com.ycl.platform.service.IContractResultService; import com.ycl.platform.service.IContractScoreService; import com.ycl.platform.service.ITContractService; import com.ycl.utils.DateUtils; import com.ycl.utils.bean.BeanUtils; +import enumeration.general.CalculateReportStatusEnum; import lombok.Data; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -16,6 +16,8 @@ import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Calendar; +import java.util.Date; import java.util.List; /** @@ -30,7 +32,7 @@ private final ITContractService contractService; private final IContractScoreService contractScoreService; private final IContractResultService checkResultService; - + private final CalculateRecordMapper calculateRecordMapper; private String startTime; private String endTime; @@ -38,7 +40,6 @@ * 姣忎釜鏈�1鍙锋墽琛岋紝缁熻鑰冩牳缁撴灉 */ @Transactional - // @PostConstruct //鍚姩鏃舵墽琛屼竴娆� public void contractResultTask() { // 鏌ヨ鏈夋晥鏈熷唴鐨勫悎鍚� List<TContract> list = contractService.selectUsingContract(); @@ -52,6 +53,18 @@ // 鏂板鑰冩牳缁撴灉璁板綍 List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult); checkResultService.saveBatchRecord(contractResultRecord); + // 鏂板鏍哥畻鏄庣粏璁板綍 + CalculateRecord calculateRecord = new CalculateRecord(); + 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.setWhichYear(calendar.get(Calendar.YEAR)); + calculateRecord.setWhichMonth(calendar.get(Calendar.MONTH)+1); + calculateRecordMapper.insert(calculateRecord); + } } diff --git a/ycl-server/src/main/java/com/ycl/task/ContractTask.java b/ycl-server/src/main/java/com/ycl/task/ContractTask.java index 7767e99..a31b5e5 100644 --- a/ycl-server/src/main/java/com/ycl/task/ContractTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ContractTask.java @@ -120,7 +120,6 @@ //鏈堝簳璁$畻鍦ㄧ嚎鐜囧垎鏁� public void calculateOnlineScore() { - //TODO:妫�鏌ヨ〃 log.info("寮�濮嬭绠楀悎鍚岀偣浣嶅湪绾跨巼鍒嗘暟"); //鏈堝簳闇�瑕佺粺璁″钩鍧囧湪绾跨巼鐒跺悗杩涜绉垎鎵i櫎 String mouthStart = DateUtils.getMouthStart(new Date()); @@ -261,7 +260,7 @@ } } //鐐逛綅寮傚父鎯呭喌澶勭悊锛堥暅澶村紓甯搞�佹憚鍍忓ご閬尅绛夛級 - if (ErrorType.SCREEN_OCCLUSION.getValue().equals(errorType) || ErrorType.SIGNAL_LOSS.getValue().equals(errorType) || ErrorType.SCREEN_COLOR_DEVIATION.getValue().equals(errorType) || ErrorType.SNOW_STORM.getValue().equals(errorType) || ErrorType.STRIPE_INTERFERENCE.getValue().equals(errorType) || ErrorType.ABNORMAL_CLARITY.getValue().equals(errorType)) { + if (ErrorType.ABNORMAL_PIC.getValue().equals(errorType)) { if (!CollectionUtils.isEmpty(monitorRuleMap)) { siteRuleMap.forEach((contractId, rules) -> { Integer unitId = rules.get(0).getUnitId(); diff --git a/ycl-server/src/main/resources/application-dev.yml b/ycl-server/src/main/resources/application-dev.yml index 0a4d4be..3d5e6c0 100644 --- a/ycl-server/src/main/resources/application-dev.yml +++ b/ycl-server/src/main/resources/application-dev.yml @@ -131,7 +131,7 @@ mongodb: # uri: mongodb://root1:yunwei%402024@192.168.3.88:27017/zgyw?authSource=admin uri: mongodb://localhost:27017/zgyw - auto-index-creation: true +# auto-index-creation: true # 鎷夊彇鏁版嵁璇锋眰閰嶇疆 request: diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml index b8944a7..55a3ad0 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateRecordMapper.xml @@ -14,6 +14,28 @@ <collection property="recordList" column="contract_id" select="selectByContractId" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO"/> </resultMap> + <update id="updateBatch" parameterType="java.util.List"> + update t_calculate_record + <trim prefix="set" suffixOverrides=","><!-- 琛ㄧず鍦ㄧ敓鎴愮殑 SQL 璇彞鍓嶉潰娣诲姞 set 鍏抽敭瀛楋紝骞剁Щ闄ゆ湯灏鹃�楀彿 --> + <trim prefix="deduct_money =case" suffix="end,"><!-- 鏋勯�燾ase璇硶 鏈熬鍔犱笂end锛屽鏋滈渶瑕佹洿鏂板涓瓧娈靛鍒惰繖涓猼rim --> + <foreach collection="list" item="item"> + when id=#{item.id} then #{item.deductMoney} + </foreach> + </trim> + </trim> + where id in + <foreach collection="list" index="index" item="item" separator="," open="(" close=")"> + #{item.id,jdbcType=BIGINT} + </foreach> + </update> + <update id="batchPublish"> + update t_calculate_record set status = 'publish' + where contract_id = #{contractId} and which_year =#{whichYear} + </update> + <update id="updatePublishById"> + update t_calculate_record set status = #{status} + where id = #{id} + </update> </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml index 2f3ec80..9733db3 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml @@ -18,46 +18,73 @@ <result column="latestDeductMoney" property="latestDeductMoney"/> </resultMap> - <select id="page" resultMap="BaseResultMap"> +<!-- <select id="page" resultMap="BaseResultMap">--> +<!-- SELECT--> +<!-- tcr.contract_id,--> +<!-- tyu.unit_name,--> +<!-- tc.name,--> +<!-- tcr.id,--> +<!-- tcr.status,--> +<!-- tcr.deduct_money,--> +<!-- tcr.create_time,--> +<!-- tcr.update_time,--> +<!-- tcr.calculate_time,--> +<!-- tcr.latest_time,--> +<!-- (SELECT a.deduct_money FROM (SELECT deduct_money,which_year, which_month FROM t_calculate_record WHERE contract_id = tcr.contract_id ORDER BY which_year, which_month DESC limit 1) a) as latestDeductMoney--> +<!-- FROM--> +<!-- t_calculate_report 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>--> +<!-- AND tcr.deleted = 0 AND tc.deleted = 0 AND tyu.deleted = 0--> +<!-- <if test="query.unitName != null and query.unitName != '' ">--> +<!-- AND tyu.unit_name like concat('%', #{query.unitName}, '%')--> +<!-- </if>--> +<!-- <if test="query.unitId != null">--> +<!-- AND tyu.id = #{query.unitId}--> +<!-- </if>--> +<!-- </where>--> +<!-- </select>--> + <select id="page" resultType="com.ycl.platform.domain.vo.CalculateReportVO"> SELECT - tcr.contract_id, - tyu.unit_name, - tc.name, - tcr.id, - tcr.status, - tcr.deduct_money, - tcr.create_time, - tcr.update_time, - tcr.calculate_time, - tcr.latest_time, - (SELECT a.deduct_money FROM (SELECT deduct_money,which_year, which_month FROM t_calculate_record WHERE contract_id = tcr.contract_id ORDER BY which_year, which_month DESC limit 1) a) as latestDeductMoney + tcr.id, + tcr.contract_id, + tyu.unit_name, + tc.name as contractName, + tcr.which_year, + SUM(tcr.deduct_money) AS deductMoney, + MAX(tcr.create_time) AS latest_time, + ( + SELECT deduct_money + FROM t_calculate_record + WHERE contract_id = tcr.contract_id + AND which_year = tcr.which_year + ORDER BY which_month DESC + LIMIT 1 + ) AS latestDeductMoney FROM - t_calculate_report tcr + 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> AND tcr.deleted = 0 AND tc.deleted = 0 AND tyu.deleted = 0 - <if test="query.unitName != null and query.unitName != '' "> - AND tyu.unit_name like concat('%', #{query.unitName}, '%') - </if> - <if test="query.unitId != null"> - AND tyu.id = #{query.unitId} + <if test="query.status!=null and query.status !=''"> + AND tcr.status = #{query.status} </if> </where> + group by contract_id,which_year </select> - <resultMap id="DetailResultMap" type="com.ycl.platform.domain.vo.CalculateReportDetailVO"> <result column="id" property="id"/> <result column="create_time" property="createTime"/> <result column="unit_name" property="unitName"/> <result column="name" property="contractName"/> <result column="contract_id" property="contractId"/> - <result column="calculate_time" property="calculateTime"/> - <result column="deduct_money" property="deductMoney"/> + <result column="which_year" property="whichYear"/> <result column="status" property="status"/> <collection property="ruleList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateMoneyRuleVO" select="selectRuleByContractId"/> - <collection property="recordList" column="contract_id" ofType="com.ycl.platform.domain.vo.CalculateRecordVO" + <collection property="recordList" column="{contractId=contract_id, whichYear=which_year}" ofType="com.ycl.platform.domain.vo.CalculateRecordVO" select="selectRecordByContractId"/> </resultMap> @@ -77,14 +104,14 @@ score, deduct_money as deductMoney, which_year as whichYear, - which_month as whichMonth + which_month as whichMonth, + status FROM t_calculate_record WHERE - contract_id = #{contractId} AND deleted = 0 + contract_id = #{contractId} AND which_year = #{whichYear} AND deleted = 0 ORDER BY - create_time DESC - + create_time </select> <select id="getById" resultMap="DetailResultMap"> @@ -92,15 +119,14 @@ tc.name, tcr.id, tcr.contract_id, - tcr.deduct_money, tcr.create_time, tcr.update_time, - tcr.calculate_time, - tcr.status - FROM t_calculate_report tcr + tcr.which_year + 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.id = #{id} + WHERE tcr.contract_id = #{query.contractId} AND tcr.which_year = #{query.whichYear} + limit 1 </select> <select id="exportData" resultType="com.ycl.platform.domain.excel.CalculateExport"> -- Gitblit v1.8.0