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