From cebbcb63dfd7c9599868959c7fc36f16ed3b1911 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期三, 24 四月 2024 13:54:11 +0800
Subject: [PATCH] 合同导入模板生成、导入合同及规则、合同规则展示
---
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
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 810cd7b..c3e1b55 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
@@ -12,13 +12,17 @@
import com.ycl.platform.mapper.TContractMapper;
import com.ycl.platform.service.ICalculateRuleService;
import com.ycl.platform.service.ITContractService;
+import com.ycl.system.AjaxResult;
import com.ycl.utils.DateUtils;
import com.ycl.utils.StringUtils;
+import enumeration.general.RuleDeductCategoryEnum;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.multipart.MultipartFile;
import java.net.URLEncoder;
@@ -77,19 +81,19 @@
calculateRule1.setRuleName("瑙嗛骞冲潎鍦ㄧ嚎鐜�");
calculateRule1.setRuleDesc("锛�1锛夎棰戝湪绾跨巼=瑙嗛鍦ㄧ嚎鏁伴噺梅鍓嶇鏈嶅姟閰嶇疆鏁帮紙搴旀墸闄や笉鍙姉鍔涙垨涓庝腑鏍囦汉鏈嶅姟鏃犲叧閫犳垚鐨勬帀绾块櫎澶栥�傦級");
calculateRule1.setRuleCondition("鈮�98%");
- calculateRule1.setDeductCategory("鎵f寚瀹氬垎鏁�");
+ calculateRule1.setDeductCategory(RuleDeductCategoryEnum.DEDUCT_POINTS);
calculateRule1.setCalcFraction(0.00);
list.add(calculateRule1);
CalculateRule calculateRule2 = new CalculateRule();
calculateRule2.setRuleDesc("锛�2锛夎棰戝钩鍧囧湪绾跨巼锛氬綋鏈堟瘡鏃ヨ棰戝湪绾跨巼鐨勫钩鍧囧�笺��");
calculateRule2.setRuleCondition("95%鈮よ棰戝钩鍧囧湪绾跨巼锛�98%");
- calculateRule2.setDeductCategory("鎵f寚瀹氬垎鏁�");
+ calculateRule2.setDeductCategory(RuleDeductCategoryEnum.DEDUCT_POINTS);
calculateRule2.setCalcFraction(5.00);
list.add(calculateRule2);
CalculateRule calculateRule3 = new CalculateRule();
calculateRule3.setRuleDesc("锛�3锛夎棰戝湪绾跨巼淇濈暀鏁存暟骞朵笖鍚戜笅鍙栨暣銆�");
calculateRule3.setRuleCondition("90%鈮よ棰戝钩鍧囧湪绾跨巼锛�95%");
- calculateRule3.setDeductCategory("鎵f寚瀹氬垎鏁�");
+ calculateRule3.setDeductCategory(RuleDeductCategoryEnum.DEDUCT_POINTS);
calculateRule3.setCalcFraction(10.00);
list.add(calculateRule3);
CalculateRule calculateRule4 = new CalculateRule();
@@ -97,7 +101,7 @@
calculateRule4.setRuleName("鍓嶇鎰熺煡婧愭不鐞嗗伐浣�");
calculateRule4.setRuleDesc("鏃堕挓鍚屾锛堣秴杩嚶�3绉掍负涓嶅悎鏍硷級");
calculateRule4.setRuleCondition("瑙嗛鐩戞帶鎽勫儚鏈烘椂閽熶笉鍚屾锛�24灏忔椂鍐呮湭淇鐨�");
- calculateRule4.setDeductCategory("鍒嗘暟涔樹互鏁伴噺");
+ calculateRule4.setDeductCategory(RuleDeductCategoryEnum.MULTIPLY_POINTS_BY_QUANTITY);
calculateRule4.setCalcFraction(0.1);
list.add(calculateRule4);
CalculateRule calculateRule7 = new CalculateRule();
@@ -113,7 +117,7 @@
calculateRule5.setRuleName("鍚庡彴绯荤粺鐨勪繚闅�");
calculateRule5.setRuleDesc("鍦ㄤ釜鍒澶囨晠闅滀絾涓嶅奖鍝嶈鍔熻兘妯″潡鏁翠綋搴旂敤鎯呭喌涓嬶紝椤诲湪72灏忔椂浠ュ唴鎺掗櫎鏁呴殰銆�");
calculateRule5.setRuleCondition("鍗曟鏁呴殰鏃堕暱鑻ヨ秴鍑�144灏忔椂浠ュ悗锛屾瘡瓒呭嚭12灏忔椂锛堜笉瓒�12灏忔椂鎸�12灏忔椂璁★級");
- calculateRule5.setDeductCategory("闄や互鏁伴噺鍚庝箻浠ュ垎鏁�");
+ calculateRule5.setDeductCategory(RuleDeductCategoryEnum.MULTIPLY_POINTS_AFTER_DIVIDING_QUANTITY);
calculateRule5.setCalcFraction(2.00);
calculateRule5.setCalcUnit(12);
list.add(calculateRule5);
@@ -122,7 +126,8 @@
@Override
@Transactional
- public void importData(MultipartFile file, TContract tContract) {
+ public AjaxResult importData(MultipartFile file, TContract tContract) {
+ // 淇濆瓨鍚堝悓
tContract.setCreateTime(DateUtils.getNowDate());
tContract.setDeleted("0");
save(tContract);
@@ -132,7 +137,20 @@
List<CalculateRule> calculateRulesToSave = new ArrayList<>();
CalculateRule temp = new CalculateRule();
for (CalculateRule calculateRule : list) {
- // 鐖惰鍒�
+ // 鍒ゆ柇鏁版嵁瀹屾暣鎬�
+ if (ObjectUtils.isEmpty(calculateRule.getDeductCategory())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.warn("璇烽�夋嫨" + calculateRule.getRuleName() + calculateRule.getRuleCondition() + "鎵e垎鏂瑰紡");
+ }
+ if (RuleDeductCategoryEnum.MULTIPLY_POINTS_AFTER_DIVIDING_QUANTITY.equals(calculateRule.getDeductCategory()) && ObjectUtils.isEmpty(calculateRule.getCalcUnit())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.warn("璇峰~鍐�" + calculateRule.getRuleName() + calculateRule.getRuleCondition() + "闄や互鏁伴噺");
+ }
+ if(ObjectUtils.isEmpty(calculateRule.getCalcFraction())) {
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return AjaxResult.warn("璇峰~鍐�" + calculateRule.getRuleName() + calculateRule.getRuleCondition() + "鎵e垎鏁板��");
+ }
+ // 淇濆瓨鐖惰鍒欒幏鍙栫埗id
if (StringUtils.isNotBlank(calculateRule.getRuleName())) {
CalculateRule fu = new CalculateRule();
fu.setContractId(tContract.getId().intValue());
@@ -150,6 +168,7 @@
}
// 鎵归噺淇濆瓨瑙勫垯
calculateRuleService.saveBatch(calculateRulesToSave);
+ return AjaxResult.success("鎿嶄綔鎴愬姛");
}
@Override
--
Gitblit v1.8.0