From 528583047b08f74df27ac538705627741363602e Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期日, 28 四月 2024 18:06:26 +0800
Subject: [PATCH] 合同积分详情,合同考核结果展示
---
ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml | 7
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 8
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java | 123 +-----------
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java | 1
ycl-server/src/main/java/com/ycl/task/ContractResultTask.java | 79 ++++++++
ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java | 14 +
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java | 6
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java | 18 +
ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java | 7
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java | 77 +++++---
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java | 50 +++++
ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java | 54 -----
ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml | 6
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java | 31 +++
ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml | 2
ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java | 15 +
ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java | 7
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java | 2
18 files changed, 309 insertions(+), 198 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java
index f4e22b8..02d972c 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java
@@ -1,140 +1,49 @@
package com.ycl.platform.domain.entity;
import annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ycl.system.entity.BaseEntity;
-import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.lang.builder.ToStringStyle;
+import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 鑰冩牳缁撴灉瀵硅薄 t_check_result
- *
+ *
* @author ruoyi
* @date 2024-04-01
*/
-public class CheckResult extends BaseEntity
-{
+@TableName("t_contract_result")
+@Data
+public class CheckResult {
private static final long serialVersionUID = 1L;
- /** */
private Long id;
- /** 鑰冩牳瀵硅薄 */
@Excel(name = "鑰冩牳瀵硅薄")
- private Long deptId;
+ private Long unitId;
- /** 鑰冩牳鍙戝竷 */
+ @Excel(name = "杩愮淮鍚堝悓")
+ private Long contractId;
+
@Excel(name = "鑰冩牳鍙戝竷")
private Long publishId;
- /** 鑰冩牳绫诲瀷 */
- @Excel(name = "鑰冩牳绫诲瀷")
- private Long examineCategory;
-
- /** 鑰冩牳鍒嗘暟 */
@Excel(name = "鑰冩牳鍒嗘暟")
- private BigDecimal checkScore;
+ private BigDecimal score;
- /** 鏄惁鍙戝竷 */
@Excel(name = "鏄惁鍙戝竷")
- private Long publish;
+ private Integer publish;
- /** 鑰冩牳鏃堕棿 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "鑰冩牳鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
private Date checkTime;
- /** 閫昏緫鍒犻櫎 */
+ @TableLogic
private String deleted;
- public void setId(Long id)
- {
- this.id = id;
- }
-
- public Long getId()
- {
- return id;
- }
- public void setDeptId(Long deptId)
- {
- this.deptId = deptId;
- }
-
- public Long getDeptId()
- {
- return deptId;
- }
- public void setPublishId(Long publishId)
- {
- this.publishId = publishId;
- }
-
- public Long getPublishId()
- {
- return publishId;
- }
- public void setExamineCategory(Long examineCategory)
- {
- this.examineCategory = examineCategory;
- }
-
- public Long getExamineCategory()
- {
- return examineCategory;
- }
- public void setCheckScore(BigDecimal checkScore)
- {
- this.checkScore = checkScore;
- }
-
- public BigDecimal getCheckScore()
- {
- return checkScore;
- }
- public void setPublish(Long publish)
- {
- this.publish = publish;
- }
-
- public Long getPublish()
- {
- return publish;
- }
- public void setCheckTime(Date checkTime)
- {
- this.checkTime = checkTime;
- }
-
- public Date getCheckTime()
- {
- return checkTime;
- }
- public void setDeleted(String deleted)
- {
- this.deleted = deleted;
- }
-
- public String getDeleted()
- {
- return deleted;
- }
-
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
- .append("id", getId())
- .append("deptId", getDeptId())
- .append("publishId", getPublishId())
- .append("examineCategory", getExamineCategory())
- .append("checkScore", getCheckScore())
- .append("publish", getPublish())
- .append("checkTime", getCheckTime())
- .append("updateTime", getUpdateTime())
- .append("deleted", getDeleted())
- .toString();
- }
+ private Date updateTime;
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java
new file mode 100644
index 0000000..88c766c
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java
@@ -0,0 +1,31 @@
+package com.ycl.platform.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author ghl
+ * @since 2024/4/28 涓嬪崍 5:45
+ */
+
+@Data
+@TableName("t_contract_result_record")
+public class ContractResultRecord {
+
+ @TableId
+ private Integer id;
+ private Integer resultId;
+ private String ruleIds;
+ private String ruleName;
+ private String num;
+ private Double score;
+ private Date createTime;
+ private Date auditTime;
+ @TableLogic
+ private String deleted;
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
index 9b0f1d8..55a21ba 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
@@ -43,7 +43,6 @@
private Long[] ruleIdsArray;
@Excel(name = "瑙勫垯")
- @TableField(exist = false)
private String ruleName;
@Excel(name = "鎸囨爣")
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java
index 61dc0e0..60b01ab 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java
@@ -49,7 +49,7 @@
* 鍗曚綅id
*/
@NotBlank
- private Integer unitId;
+ private Long unitId;
@TableField(exist = false)
private String unitName;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java
new file mode 100644
index 0000000..a8fec3f
--- /dev/null
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java
@@ -0,0 +1,50 @@
+package com.ycl.platform.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ycl.platform.domain.entity.CheckResult;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.beans.BeanUtils;
+import org.springframework.lang.NonNull;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author gonghl
+ */
+@Data
+@Accessors(chain = true)
+public class CheckResultVO {
+ private Long id;
+
+ private Long unitId;
+
+ private String unitName;
+
+ private Long contractId;
+
+ private String contractName;
+
+ private Long publishId;
+
+ private BigDecimal score;
+
+ private Integer publish;
+
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date checkTime;
+
+ private String deleted;
+
+ private Date updateTime;
+
+ public static CheckResultVO getVoByEntity(@NonNull CheckResult entity, CheckResultVO vo) {
+ if (vo == null) {
+ vo = new CheckResultVO();
+ }
+ BeanUtils.copyProperties(entity, vo);
+ return vo;
+ }
+
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java
index 527c258..8511159 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java
@@ -2,6 +2,7 @@
import annotation.Log;
import com.ycl.platform.domain.entity.CheckResult;
+import com.ycl.platform.domain.vo.CheckResultVO;
import com.ycl.platform.service.ICheckResultService;
import com.ycl.system.AjaxResult;
import com.ycl.system.controller.BaseController;
@@ -36,7 +37,7 @@
public TableDataInfo list(CheckResult checkResult)
{
startPage();
- List<CheckResult> list = checkResultService.selectCheckResultList(checkResult);
+ List<CheckResultVO> list = checkResultService.selectCheckResultList(checkResult);
return getDataTable(list);
}
@@ -48,8 +49,8 @@
@PostMapping("/export")
public void export(HttpServletResponse response, CheckResult checkResult)
{
- List<CheckResult> list = checkResultService.selectCheckResultList(checkResult);
- ExcelUtil<CheckResult> util = new ExcelUtil<CheckResult>(CheckResult.class);
+ List<CheckResult> list = checkResultService.selectCheckResult(checkResult);
+ ExcelUtil<CheckResult> util = new ExcelUtil<>(CheckResult.class);
util.exportExcel(response, list, "鑰冩牳缁撴灉鏁版嵁");
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java
index 0129ff5..615207b 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java
@@ -3,61 +3,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.CheckResult;
-import java.util.List;
-
/**
* 鑰冩牳缁撴灉Mapper鎺ュ彛
- *
+ *
* @author ruoyi
* @date 2024-04-01
*/
-public interface CheckResultMapper extends BaseMapper<CheckResult>
-{
- /**
- * 鏌ヨ鑰冩牳缁撴灉
- *
- * @param id 鑰冩牳缁撴灉涓婚敭
- * @return 鑰冩牳缁撴灉
- */
- public CheckResult selectCheckResultById(Long id);
-
- /**
- * 鏌ヨ鑰冩牳缁撴灉鍒楄〃
- *
- * @param checkResult 鑰冩牳缁撴灉
- * @return 鑰冩牳缁撴灉闆嗗悎
- */
- public List<CheckResult> selectCheckResultList(CheckResult checkResult);
-
- /**
- * 鏂板鑰冩牳缁撴灉
- *
- * @param checkResult 鑰冩牳缁撴灉
- * @return 缁撴灉
- */
- public int insertCheckResult(CheckResult checkResult);
-
- /**
- * 淇敼鑰冩牳缁撴灉
- *
- * @param checkResult 鑰冩牳缁撴灉
- * @return 缁撴灉
- */
- public int updateCheckResult(CheckResult checkResult);
-
- /**
- * 鍒犻櫎鑰冩牳缁撴灉
- *
- * @param id 鑰冩牳缁撴灉涓婚敭
- * @return 缁撴灉
- */
- public int deleteCheckResultById(Long id);
-
- /**
- * 鎵归噺鍒犻櫎鑰冩牳缁撴灉
- *
- * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteCheckResultByIds(Long[] ids);
+public interface CheckResultMapper extends BaseMapper<CheckResult> {
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java
new file mode 100644
index 0000000..0554d45
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java
@@ -0,0 +1,15 @@
+package com.ycl.platform.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.platform.domain.entity.ContractResultRecord;
+
+/**
+ * @author gonghl
+ */
+public interface ContractResultRecordMapper extends BaseMapper<ContractResultRecord> {
+
+}
+
+
+
+
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java b/ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java
index fe0a755..32d9b35 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java
@@ -1,6 +1,9 @@
package com.ycl.platform.service;
+import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.entity.CheckResult;
+import com.ycl.platform.domain.entity.ContractResultRecord;
+import com.ycl.platform.domain.vo.CheckResultVO;
import java.util.List;
@@ -10,7 +13,7 @@
* @author ruoyi
* @date 2024-04-01
*/
-public interface ICheckResultService
+public interface ICheckResultService extends IService<CheckResult>
{
/**
* 鏌ヨ鑰冩牳缁撴灉
@@ -26,7 +29,8 @@
* @param checkResult 鑰冩牳缁撴灉
* @return 鑰冩牳缁撴灉闆嗗悎
*/
- public List<CheckResult> selectCheckResultList(CheckResult checkResult);
+ public List<CheckResultVO> selectCheckResultList(CheckResult checkResult);
+ public List<CheckResult> selectCheckResult(CheckResult checkResult);
/**
* 鏂板鑰冩牳缁撴灉
@@ -59,4 +63,10 @@
* @return 缁撴灉
*/
public int deleteCheckResultById(Long id);
+
+ /**
+ * 鎵归噺淇濆瓨鑰冩牳缁撴灉
+ * @param contractResultRecord 闆嗗悎
+ */
+ void saveBatchRecord(List<ContractResultRecord> contractResultRecord);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java b/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
index 123ad3b..a55cfce 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
@@ -39,4 +39,11 @@
* @return 缁撴灉
*/
boolean audit(ContractScore contractScore);
+
+ /**
+ * 鏍规嵁鍚堝悓id鏌ヨ鏈湀鍚堝悓鎵撳垎
+ * @param id id
+ * @return 鏁版嵁
+ */
+ List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java b/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java
index d101b61..15d8e8c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java
@@ -39,4 +39,10 @@
* @return 瑙勫垯
*/
List<CalculateMoneyRule> selectMoneyRules(Integer contractId);
+
+ /**
+ * 鏌ヨ鎵�鏈夋鍦ㄤ娇鐢ㄧ殑鍚堝悓
+ * @return 鏁版嵁
+ */
+ List<TContract> selectUsingContract();
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java
index d8ba31d..6ac8771 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java
@@ -2,96 +2,119 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.entity.CheckResult;
+import com.ycl.platform.domain.entity.ContractResultRecord;
+import com.ycl.platform.domain.vo.CheckResultVO;
import com.ycl.platform.mapper.CheckResultMapper;
+import com.ycl.platform.mapper.ContractResultRecordMapper;
import com.ycl.platform.service.ICheckResultService;
+import com.ycl.platform.service.ITContractService;
+import com.ycl.platform.service.YwUnitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import utils.DateUtils;
+import java.util.Arrays;
import java.util.List;
/**
* 鑰冩牳缁撴灉Service涓氬姟灞傚鐞�
- *
+ *
* @author ruoyi
* @date 2024-04-01
*/
@Service
-public class CheckResultServiceImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements ICheckResultService
-{
+public class CheckResultServiceImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements ICheckResultService {
@Autowired
private CheckResultMapper checkResultMapper;
+ @Autowired
+ private ContractResultRecordMapper contractResultRecordMapper;
+ @Autowired
+ private YwUnitService unitService;
+ @Autowired
+ private ITContractService contractService;
+
/**
* 鏌ヨ鑰冩牳缁撴灉
- *
+ *
* @param id 鑰冩牳缁撴灉涓婚敭
* @return 鑰冩牳缁撴灉
*/
@Override
- public CheckResult selectCheckResultById(Long id)
- {
- return checkResultMapper.selectCheckResultById(id);
+ public CheckResult selectCheckResultById(Long id) {
+ return checkResultMapper.selectById(id);
}
/**
* 鏌ヨ鑰冩牳缁撴灉鍒楄〃
- *
+ *
* @param checkResult 鑰冩牳缁撴灉
* @return 鑰冩牳缁撴灉
*/
@Override
- public List<CheckResult> selectCheckResultList(CheckResult checkResult)
- {
- return checkResultMapper.selectCheckResultList(checkResult);
+ public List<CheckResultVO> selectCheckResultList(CheckResult checkResult) {
+ return checkResultMapper.selectList(null).stream().map(
+ item -> {
+ CheckResultVO checkResultVO = CheckResultVO.getVoByEntity(item, null);
+ checkResultVO.setUnitName(unitService.getById(item.getUnitId()).getUnitName());
+ checkResultVO.setContractName(contractService.getById(item.getContractId()).getName());
+ return checkResultVO;
+ }
+ ).toList();
+ }
+
+ @Override
+ public List<CheckResult> selectCheckResult(CheckResult checkResult) {
+ return checkResultMapper.selectList(null);
}
/**
* 鏂板鑰冩牳缁撴灉
- *
+ *
* @param checkResult 鑰冩牳缁撴灉
* @return 缁撴灉
*/
@Override
- public int insertCheckResult(CheckResult checkResult)
- {
- return checkResultMapper.insertCheckResult(checkResult);
+ public int insertCheckResult(CheckResult checkResult) {
+ return checkResultMapper.insert(checkResult);
}
/**
* 淇敼鑰冩牳缁撴灉
- *
+ *
* @param checkResult 鑰冩牳缁撴灉
* @return 缁撴灉
*/
@Override
- public int updateCheckResult(CheckResult checkResult)
- {
+ public int updateCheckResult(CheckResult checkResult) {
checkResult.setUpdateTime(DateUtils.getNowDate());
- return checkResultMapper.updateCheckResult(checkResult);
+ return checkResultMapper.updateById(checkResult);
}
/**
* 鎵归噺鍒犻櫎鑰冩牳缁撴灉
- *
+ *
* @param ids 闇�瑕佸垹闄ょ殑鑰冩牳缁撴灉涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteCheckResultByIds(Long[] ids)
- {
- return checkResultMapper.deleteCheckResultByIds(ids);
+ public int deleteCheckResultByIds(Long[] ids) {
+ return checkResultMapper.deleteBatchIds(Arrays.asList(ids));
}
/**
* 鍒犻櫎鑰冩牳缁撴灉淇℃伅
- *
+ *
* @param id 鑰冩牳缁撴灉涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteCheckResultById(Long id)
- {
- return checkResultMapper.deleteCheckResultById(id);
+ public int deleteCheckResultById(Long id) {
+ return checkResultMapper.deleteById(id);
+ }
+
+ @Override
+ public void saveBatchRecord(List<ContractResultRecord> contractResultRecord) {
+ // contractResultRecordMapper
}
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
index c979ea1..6adf720 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -10,6 +10,7 @@
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.IContractScoreService;
import com.ycl.system.entity.SysUser;
+import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
import enumeration.general.AuditingStatus;
import org.apache.commons.lang3.ObjectUtils;
@@ -57,9 +58,6 @@
item -> {
item.setUnitName(ywunitMapper.selectById(item.getUnitId()).getUnitName());
item.setContractName(contractMapper.selectById(item.getContractId()).getName());
- item.setRuleIdsArray(Arrays.stream(item.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
- List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, item.getRuleIdsArray()).list();
- item.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
}
).toList();
}
@@ -79,6 +77,9 @@
contractScore.setAuditingStatus(AuditingStatus.WAIT);
contractScore.setDeleted("0");
contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+ contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+ List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, contractScore.getRuleIdsArray()).list();
+ contractScore.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
return super.save(contractScore);
}
@@ -91,10 +92,19 @@
@Override
public boolean audit(ContractScore contractScore) {
SysUser user = SecurityUtils.getLoginUser().getUser();
- contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
contractScore.setAuditingTime(com.ycl.utils.DateUtils.getNowDate());
contractScore.setAuditingUser(user.getNickName());
contractScore.setAuditingUserId(user.getUserId());
return super.updateById(contractScore);
}
+
+ @Override
+ public List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime) {
+ return new LambdaQueryChainWrapper<>(contractScoreMapper)
+ .eq(ContractScore::getContractId, id)
+ .between(ContractScore::getCreateTime, startTime, endTime)
+ .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS)
+ .list();
+ }
+
}
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 eeb6d56..f26f06f 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
@@ -209,4 +209,12 @@
public List<CalculateMoneyRule> selectMoneyRules(Integer contractId) {
return calculateMoneyRuleService.selectMoneyRules(contractId);
}
+
+ @Override
+ public List<TContract> selectUsingContract() {
+ return new LambdaQueryChainWrapper<>(baseMapper)
+ .gt(TContract::getStartTime, DateUtils.getNowDate())
+ .lt(TContract::getEndTime, DateUtils.getNowDate())
+ .list();
+ }
}
diff --git a/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
new file mode 100644
index 0000000..22a195b
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -0,0 +1,79 @@
+package com.ycl.task;
+
+import com.ycl.platform.domain.entity.CheckResult;
+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.service.ICheckResultService;
+import com.ycl.platform.service.IContractScoreService;
+import com.ycl.platform.service.ITContractService;
+import com.ycl.utils.DateUtils;
+import com.ycl.utils.bean.BeanUtils;
+import jakarta.annotation.PostConstruct;
+import lombok.Data;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author ghl
+ * @since 2024/4/28 涓嬪崍 4:14
+ */
+
+@Component
+@Data
+public class ContractResultTask {
+
+ private final ITContractService contractService;
+ private final IContractScoreService contractScoreService;
+ private final ICheckResultService checkResultService;
+
+ private String startTime;
+ private String endTime;
+
+ /**
+ * 姣忎釜鏈�1鍙锋墽琛�
+ */
+ @Scheduled(cron = "0 0 0 1 * ?")
+ // @PostConstruct
+ // 澶氳〃
+ public void contractResultTask() {
+ // 鏌ヨ鏈夋晥鏈熷唴鐨勫悎鍚�
+ List<TContract> list = contractService.selectUsingContract();
+ getLastMonth();
+ for (TContract tContract : list) {
+ // 涓婁釜鏈堟墸鍒嗚褰�
+ List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime);
+ // 鏂板鑰冩牳缁撴灉
+ CheckResult checkResult = new CheckResult();
+ checkResult.setUnitId(tContract.getUnitId());
+ checkResult.setContractId(tContract.getId());
+ checkResult.setPublish(0);
+ checkResult.setCheckTime(DateUtils.getNowDate());
+ checkResultService.save(checkResult);
+ // 鏂板鑰冩牳缁撴灉璁板綍
+ List<ContractResultRecord> contractResultRecord = new ArrayList<>();
+ BeanUtils.copyBeanProp(contractResultRecord, contractScore);
+ checkResultService.saveBatchRecord(contractResultRecord);
+ }
+ }
+
+
+ /**
+ * 鑾峰彇涓婁釜鏈堢殑绗竴澶╁拰鏈�鍚庝竴澶�
+ */
+ public void getLastMonth() {
+ LocalDate currentDate = LocalDate.now().minusMonths(1);
+ LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1);
+ String firstDay = firstDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
+ String lastDay = lastDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
+ this.startTime = firstDay;
+ this.endTime = lastDay;
+ }
+
+}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
index d04f8d5..f012b50 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
@@ -47,7 +47,7 @@
from t_calculate_rule
where deleted = 0
and contract_id
- in (select id from t_contract where unit_id = #{unitId})
+ in (select id from t_contract where unit_id = #{unitId} and deleted = 0 and start_time <![CDATA[ <= ]]> now() and end_time >= now() )
</select>
<insert id="insertDefaultRule" useGeneratedKeys="true" keyProperty="id">
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml
new file mode 100644
index 0000000..b5e1958
--- /dev/null
+++ b/ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.platform.mapper.CheckResultMapper">
+
+
+</mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml
new file mode 100644
index 0000000..2aca478
--- /dev/null
+++ b/ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.platform.mapper.ContractResultRecordMapper">
+
+</mapper>
--
Gitblit v1.8.0