From 387d3aca6fab1a07618bb8342ee522b3da2db9b1 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期日, 28 四月 2024 10:09:26 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 14 +++
ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java | 7 +
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java | 8 ++
ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java | 11 ++
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java | 86 +++++++--------------
ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java | 49 +++--------
ycl-server/src/main/java/com/ycl/platform/controller/ContractScoreController.java | 19 ----
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java | 24 ++++++
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java | 7 +
9 files changed, 114 insertions(+), 111 deletions(-)
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 e4c77d9..61dc0e0 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
@@ -9,9 +9,22 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.DeserializationContext;
+import com.fasterxml.jackson.databind.JsonDeserializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.IOException;
+import java.util.Arrays;
import java.util.Date;
+import java.util.List;
/**
* 杩愮淮鍚堝悓瀵硅薄 t_contract
@@ -35,6 +48,7 @@
/**
* 鍗曚綅id
*/
+ @NotBlank
private Integer unitId;
@TableField(exist = false)
@@ -43,18 +57,21 @@
/**
* 鍚堝悓鍚嶇О
*/
+ @NotBlank
private String name;
/**
* 寮�濮嬫椂闂�
*/
@JsonFormat(pattern = "yyyy-MM-dd hh-mm-ss")
+ @NotNull
private Date startTime;
/**
* 缁撴潫鏃堕棿
*/
@JsonFormat(pattern = "yyyy-MM-dd hh-mm-ss")
+ @NotNull
private Date endTime;
/**
@@ -69,4 +86,11 @@
@TableLogic
private String deleted;
+ @TableField(exist = false)
+ @NotBlank
+ private String ruleList;
+ @TableField(exist = false)
+ @NotNull
+ private MultipartFile file;
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/ContractScoreController.java b/ycl-server/src/main/java/com/ycl/platform/controller/ContractScoreController.java
index b9a4395..298cf96 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/ContractScoreController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/ContractScoreController.java
@@ -6,10 +6,8 @@
import com.ycl.system.AjaxResult;
import com.ycl.system.controller.BaseController;
import com.ycl.system.page.TableDataInfo;
-import com.ycl.utils.DateUtils;
import com.ycl.utils.poi.ExcelUtil;
import enumeration.BusinessType;
-import enumeration.general.AuditingStatus;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -17,7 +15,6 @@
import java.util.Arrays;
import java.util.List;
-import java.util.stream.Collectors;
/**
* 鍚堝悓鎵撳垎Controller
@@ -59,9 +56,7 @@
@PreAuthorize("@ss.hasPermi('platform:score:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
- ContractScore contractScore = defaultScoreService.getById(id);
- contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
- return success(contractScore);
+ return success(defaultScoreService.getById(id));
}
/**
@@ -71,11 +66,6 @@
@Log(title = "鍚堝悓鎵撳垎", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ContractScore contractScore) {
- contractScore.setCreateUserId(getUserId());
- contractScore.setCreateUser(getUsername());
- contractScore.setAuditingStatus(AuditingStatus.WAIT);
- contractScore.setDeleted("0");
- contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
return toAjax(defaultScoreService.save(contractScore));
}
@@ -86,7 +76,6 @@
@Log(title = "鍚堝悓鎵撳垎", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ContractScore contractScore) {
- contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
return toAjax(defaultScoreService.updateById(contractScore));
}
@@ -97,11 +86,7 @@
@Log(title = "鍚堝悓鎵撳垎瀹℃牳", businessType = BusinessType.UPDATE)
@PostMapping("/auditing")
public AjaxResult audit(@RequestBody ContractScore contractScore) {
- contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
- contractScore.setAuditingTime(DateUtils.getNowDate());
- contractScore.setAuditingUser(getUsername());
- contractScore.setAuditingUserId(getUserId());
- return toAjax(defaultScoreService.updateById(contractScore));
+ return toAjax(defaultScoreService.audit(contractScore));
}
/**
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java b/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java
index a4f51da..3ad75a8 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/TContractController.java
@@ -2,6 +2,7 @@
import annotation.Log;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.query.YwUnitQuery;
@@ -40,6 +41,12 @@
return tContractService.selectAll();
}
+ @PreAuthorize("@ss.hasPermi('system:contract:query')")
+ @GetMapping("/selectMoneyRules")
+ public AjaxResult selectMoneyRules(Integer contractId) {
+ return success(tContractService.selectMoneyRules(contractId));
+ }
+
/**
* 鍚堝悓瀵煎叆妯℃澘
*/
@@ -58,8 +65,8 @@
@Log(title = "鍚堝悓瀵煎叆", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
- public AjaxResult importData(MultipartFile file, TContract tContract) {
- return tContractService.importData(file, tContract);
+ public AjaxResult importData(TContract tContract) {
+ return tContractService.importData(tContract.getFile(), tContract);
}
/**
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java b/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java
index d67e2f2..14287b2 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/CalculateMoneyRuleService.java
@@ -62,4 +62,11 @@
* @return
*/
Result all();
+
+ /**
+ * 鏍规嵁鍚堝悓id鏌ヨ
+ * @param contractId 鍚堝悓id
+ * @return 鏁版嵁
+ */
+ List<CalculateMoneyRule> selectMoneyRules(Integer contractId);
}
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 8ca27c1..123ad3b 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
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.entity.ContractScore;
+import java.io.Serializable;
import java.util.List;
/**
@@ -11,15 +12,7 @@
* @author ruoyi
* @date 2024-04-01
*/
-public interface IContractScoreService extends IService<ContractScore>
-{
- /**
- * 鏌ヨ鍚堝悓鎵撳垎
- *
- * @param id 鍚堝悓鎵撳垎涓婚敭
- * @return 鍚堝悓鎵撳垎
- */
- public ContractScore selectDefaultScoreById(Long id);
+public interface IContractScoreService extends IService<ContractScore> {
/**
* 鏌ヨ鍚堝悓鎵撳垎鍒楄〃
@@ -29,35 +22,21 @@
*/
public List<ContractScore> selectDefaultScoreList(ContractScore contractScore);
- /**
- * 鏂板鍚堝悓鎵撳垎
- *
- * @param contractScore 鍚堝悓鎵撳垎
- * @return 缁撴灉
- */
- public int insertDefaultScore(ContractScore contractScore);
+
+ @Override
+ ContractScore getById(Serializable id);
+
+ @Override
+ boolean save(ContractScore contractScore);
+
+ @Override
+ boolean updateById(ContractScore contractScore);
/**
- * 淇敼鍚堝悓鎵撳垎
+ * 瀹℃牳
*
- * @param contractScore 鍚堝悓鎵撳垎
+ * @param contractScore 鏁版嵁
* @return 缁撴灉
*/
- public int updateDefaultScore(ContractScore contractScore);
-
- /**
- * 鎵归噺鍒犻櫎鍚堝悓鎵撳垎
- *
- * @param ids 闇�瑕佸垹闄ょ殑鍚堝悓鎵撳垎涓婚敭闆嗗悎
- * @return 缁撴灉
- */
- public int deleteDefaultScoreByIds(Long[] ids);
-
- /**
- * 鍒犻櫎鍚堝悓鎵撳垎淇℃伅
- *
- * @param id 鍚堝悓鎵撳垎涓婚敭
- * @return 缁撴灉
- */
- public int deleteDefaultScoreById(Long id);
+ boolean audit(ContractScore contractScore);
}
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 338ad78..d101b61 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
@@ -1,6 +1,7 @@
package com.ycl.platform.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.system.AjaxResult;
import jakarta.servlet.http.HttpServletResponse;
@@ -31,4 +32,11 @@
AjaxResult importData(MultipartFile file, TContract tContract);
List<TContract> selectAll();
+
+ /**
+ * 鏍规嵁鍚堝悓id鏌ヨ閽辨牳绠楄鍒�
+ * @param contractId 鍚堝悓id
+ * @return 瑙勫垯
+ */
+ List<CalculateMoneyRule> selectMoneyRules(Integer contractId);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
index df1a3a5..3c36e50 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateMoneyRuleServiceImpl.java
@@ -142,4 +142,11 @@
.collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+ @Override
+ public List<CalculateMoneyRule> selectMoneyRules(Integer contractId) {
+ return new LambdaQueryChainWrapper<>(baseMapper)
+ .eq(CalculateMoneyRule::getContractId, contractId)
+ .list();
+ }
}
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 441b357..c979ea1 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
@@ -9,15 +9,17 @@
import com.ycl.platform.mapper.TContractMapper;
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.IContractScoreService;
+import com.ycl.system.entity.SysUser;
+import com.ycl.utils.SecurityUtils;
+import enumeration.general.AuditingStatus;
import org.apache.commons.lang3.ObjectUtils;
-import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import utils.DateUtils;
-import java.util.ArrayList;
+import java.io.Serializable;
import java.util.Arrays;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 鍚堝悓鎵撳垎Service涓氬姟灞傚鐞�
@@ -26,8 +28,7 @@
* @date 2024-04-01
*/
@Service
-public class ContractScoreServiceImpl extends ServiceImpl<ContractScoreMapper, ContractScore> implements IContractScoreService
-{
+public class ContractScoreServiceImpl extends ServiceImpl<ContractScoreMapper, ContractScore> implements IContractScoreService {
@Autowired
private ContractScoreMapper contractScoreMapper;
@Autowired
@@ -38,26 +39,13 @@
private CalculateRuleMapper calculateRuleMapper;
/**
- * 鏌ヨ鍚堝悓鎵撳垎
- *
- * @param id 鍚堝悓鎵撳垎涓婚敭
- * @return 鍚堝悓鎵撳垎
- */
- @Override
- public ContractScore selectDefaultScoreById(Long id)
- {
- return contractScoreMapper.selectDefaultScoreById(id);
- }
-
- /**
* 鏌ヨ鍚堝悓鎵撳垎鍒楄〃
*
* @param contractScore 鍚堝悓鎵撳垎
* @return 鍚堝悓鎵撳垎
*/
@Override
- public List<ContractScore> selectDefaultScoreList(ContractScore contractScore)
- {
+ public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) {
return new LambdaQueryChainWrapper<>(contractScoreMapper)
.eq(ObjectUtils.isNotEmpty(contractScore.getUnitId()), ContractScore::getUnitId, contractScore.getUnitId())
.between(ObjectUtils.isNotEmpty(contractScore.getCreateStartTime()), ContractScore::getCreateTime, contractScore.getCreateStartTime(), contractScore.getCreateEndTime())
@@ -76,53 +64,37 @@
).toList();
}
- /**
- * 鏂板鍚堝悓鎵撳垎
- *
- * @param contractScore 鍚堝悓鎵撳垎
- * @return 缁撴灉
- */
@Override
- public int insertDefaultScore(ContractScore contractScore)
- {
- contractScore.setCreateTime(DateUtils.getNowDate());
- return contractScoreMapper.insertDefaultScore(contractScore);
+ public ContractScore getById(Serializable id) {
+ ContractScore contractScore = super.getById(id);
+ contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+ return contractScore;
}
- /**
- * 淇敼鍚堝悓鎵撳垎
- *
- * @param contractScore 鍚堝悓鎵撳垎
- * @return 缁撴灉
- */
@Override
- public int updateDefaultScore(ContractScore contractScore)
- {
- contractScore.setUpdateTime(DateUtils.getNowDate());
- return contractScoreMapper.updateDefaultScore(contractScore);
+ public boolean save(ContractScore contractScore) {
+ SysUser user = SecurityUtils.getLoginUser().getUser();
+ contractScore.setCreateUserId(user.getUserId());
+ contractScore.setCreateUser(user.getNickName());
+ contractScore.setAuditingStatus(AuditingStatus.WAIT);
+ contractScore.setDeleted("0");
+ contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+ return super.save(contractScore);
}
- /**
- * 鎵归噺鍒犻櫎鍚堝悓鎵撳垎
- *
- * @param ids 闇�瑕佸垹闄ょ殑鍚堝悓鎵撳垎涓婚敭
- * @return 缁撴灉
- */
@Override
- public int deleteDefaultScoreByIds(Long[] ids)
- {
- return contractScoreMapper.deleteDefaultScoreByIds(ids);
+ public boolean updateById(ContractScore contractScore) {
+ contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+ return super.updateById(contractScore);
}
- /**
- * 鍒犻櫎鍚堝悓鎵撳垎淇℃伅
- *
- * @param id 鍚堝悓鎵撳垎涓婚敭
- * @return 缁撴灉
- */
@Override
- public int deleteDefaultScoreById(Long id)
- {
- return contractScoreMapper.deleteDefaultScoreById(id);
+ 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);
}
}
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 9ea9b05..eeb6d56 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
@@ -3,10 +3,13 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.merge.LoopMergeStrategy;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.handler.CommentWriteHandler;
import com.ycl.handler.CustomSheetWriteHandler;
+import com.ycl.platform.domain.entity.CalculateMoneyRule;
import com.ycl.platform.domain.entity.CalculateRule;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.platform.mapper.TContractMapper;
@@ -30,6 +33,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 銆愯濉啓鍔熻兘鍚嶇О銆慡ervice涓氬姟灞傚鐞�
@@ -42,6 +46,7 @@
public class TContractServiceImpl extends ServiceImpl<TContractMapper, TContract> implements ITContractService {
private final ICalculateRuleService calculateRuleService;
+ private final CalculateMoneyRuleServiceImpl calculateMoneyRuleService;
private final YwUnitServiceImpl ywUnitService;
@Override
@@ -184,6 +189,10 @@
}
// 鎵归噺淇濆瓨瑙勫垯
calculateRuleService.saveBatch(calculateRulesToSave);
+ //鎵归噺淇濆瓨鑰冩牳缁撴灉搴旂敤瑙勫垯
+ calculateMoneyRuleService.saveBatch(JSON.parseArray(tContract.getRuleList(), CalculateMoneyRule.class).stream().peek(
+ calculateMoneyRule -> calculateMoneyRule.setContractId(tContract.getId().intValue())
+ ).collect(Collectors.toList()));
return AjaxResult.success("鎿嶄綔鎴愬姛");
}
@@ -195,4 +204,9 @@
tContract -> tContract.setUnitName(ywUnitService.getById(tContract.getUnitId()).getUnitName())
).toList();
}
+
+ @Override
+ public List<CalculateMoneyRule> selectMoneyRules(Integer contractId) {
+ return calculateMoneyRuleService.selectMoneyRules(contractId);
+ }
}
--
Gitblit v1.8.0