Ver código fonte

feat: 任务中心/结算报告审批/企业承接任务-完成积分值加上审核管理费

lixuesong 1 ano atrás
pai
commit
d70c798530

+ 12 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -644,9 +644,19 @@ public class WmScorePackageController {
 					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
 			).intValue();
 			ext.setYsh(actualScore);
-			ext.setYtjtt(ytjtt);
 
-			ext.setPayScore(total1);
+			// ytjtt(ytjtt = 完成积分值 * (1+审核管理费比例))
+			int actualYtjtt = BigDecimal.valueOf(ytjtt).multiply(
+					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+			).intValue();
+			ext.setYtjtt(actualYtjtt);
+
+			// total1(total1 = 完成积分值 * (1+审核管理费比例))
+			int actualTotal1 = BigDecimal.valueOf(total1).multiply(
+					ext.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+			).intValue();
+			ext.setPayScore(actualTotal1);
+
 			BigDecimal fin = new BigDecimal(ext.getYsh()).multiply(BigDecimal.valueOf(100)).divide(new BigDecimal(ext.getScore()), 1, RoundingMode.HALF_UP);
 			BigDecimal fin1 = BigDecimal.valueOf(100.00);
 			if (fin.compareTo(fin1) == 1) {

+ 9 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmReportServiceImpl.java

@@ -94,6 +94,8 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -151,6 +153,8 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 
 		List<WmReport> records = reportListPage.getRecords();
 
+		WmScorePackage scorePackage = wmScorePackageService.getById(scoreId);
+
 		for (WmReport report : records){
 
 			// word报告状态
@@ -230,6 +234,11 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
 			}
 			report.setExcelReportOpt(excelPpt);
 
+			// 完成积分值(最终完成积分值 = 完成积分值 * (1+审核管理费比例))
+			int actualScore = new BigDecimal(report.getTotalScore()).multiply(
+					scorePackage.getAuditManagementFeeRates().divide(new BigDecimal("100.00"), RoundingMode.HALF_EVEN).add(BigDecimal.ONE)
+			).intValue();
+			report.setTotalScore(String.valueOf(actualScore));
 		}
 
 		return reportListPage;

+ 54 - 13
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml

@@ -162,7 +162,8 @@
 		       p2p_service_amount,
 		       bb.ytj,
 		       bb.ysh,
-		       bb.dsh
+		       bb.dsh,
+			   audit_management_fee_rates
 		from wm_score_package LEFT JOIN (
 		select score_package_id,sum(if(task_status>0,score,0)) ytj,sum(if(task_status=3,score,0))
 		ysh,sum(if(task_status=2,score,0)) dsh from wm_task where score_package_id is not null and wm_task.del_flag=0
@@ -287,18 +288,58 @@
 
 
 	<select id="listWmScorePackageAndTaskExt2" resultMap="wmScorePackageMap">
-		select id, task_rule_id, drug_ent_id, score_id, score_name, score, agent_type_id, level1_id, level2_id,
-		zb_id,score_package_status,settlement_date,
-		xxdb_id, typeid, package_finish_status, dept_id, del_flag, enable_flag, tenant_id, create_time,
-		create_user,send_package_dept_id,old_package,
-		update_time,p2p_amount,p2p_service_amount,
-		update_user,belong_date,allocation_date,score_package_name,package_type1,relation_score_id,ywctt,settle_status,finish_rate
-		,bb.ytj,bb.ysh,bb.dsh from wm_score_package LEFT JOIN (
-		select score_package_id,sum(if(task_status>0,score,0)) ytj,sum(if(task_status=3,score,0))
-		ysh,sum(if(task_status=2,score,0)) dsh from wm_task where score_package_id is not null and wm_task.del_flag=0
-		and wm_task.enable_flag=0 and wm_task.real_flag = '0' group by score_package_id)
-		bb
-		on wm_score_package.id =bb.score_package_id
+		select id,
+			task_rule_id,
+			drug_ent_id,
+			score_id,
+			score_name,
+			score,
+			agent_type_id,
+			level1_id,
+			level2_id,
+			zb_id,
+			score_package_status,
+			settlement_date,
+			xxdb_id,
+			typeid,
+			package_finish_status,
+			dept_id,
+			del_flag,
+			enable_flag,
+			tenant_id,
+			create_time,
+			create_user,
+			send_package_dept_id,
+			old_package,
+			update_time,
+			p2p_amount,
+			p2p_service_amount,
+			update_user,
+			belong_date,
+			allocation_date,
+			score_package_name,
+			package_type1,
+			relation_score_id,
+			ywctt,
+			settle_status,
+			finish_rate,
+			bb.ytj,
+			bb.ysh,
+			bb.dsh,
+			audit_management_fee_rates
+		from wm_score_package
+		LEFT JOIN (select score_package_id,
+			sum(if(task_status > 0, score, 0)) ytj,
+			sum(if(task_status = 3, score, 0))
+			ysh,
+			sum(if(task_status = 2, score, 0)) dsh
+			from wm_task
+			where score_package_id is not null
+			and wm_task.del_flag = 0
+			and wm_task.enable_flag = 0
+			and wm_task.real_flag = '0'
+			group by score_package_id) bb
+		on wm_score_package.id = bb.score_package_id
 		<where>
 			wm_score_package.del_flag='0' and wm_score_package.enable_flag='0'
 			and wm_score_package.package_type1='1'