Bläddra i källkod

Merge branch 'master' into feature-platformaudittask-210901

lixuesong 3 år sedan
förälder
incheckning
fe7509744c

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

@@ -842,15 +842,20 @@ public class WmScorePackageSettleNoteServiceImpl extends ServiceImpl<WmScorePack
 				return updateEntity;
 			}).collect(Collectors.toList());
 
-			this.saveBatch(updateList);
-
-			// 更新积分包状态
-			log.info("更新积分包状态:{}", tmp);
-			WmScorePackage wmScorePackage = new WmScorePackage();
-			wmScorePackage.setId(tmp.getPackageId());
-			wmScorePackage.setSettleStatus(settleStatus);
-			wmScorePackage.setUpdateTime(LocalDateTime.now());
-			wmScorePackageMapper.updateById(wmScorePackage);
+			this.updateBatchById(updateList);
+
+			WmScorePackage scorePackage = wmScorePackageMapper.selectById(tmp.getPackageId());
+
+			// 遥领不修改
+			if (!"1611890566".equals(scorePackage.getSendPackageDeptId())){
+				// 更新积分包状态
+				log.info("更新积分包状态:{}", tmp);
+				WmScorePackage wmScorePackage = new WmScorePackage();
+				wmScorePackage.setId(tmp.getPackageId());
+				wmScorePackage.setSettleStatus(settleStatus);
+				wmScorePackage.setUpdateTime(LocalDateTime.now());
+				wmScorePackageMapper.updateById(wmScorePackage);
+			}
 
 			// 如果结算失败删除缓存
 			if (settleStatus == 2) {

+ 6 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskServiceImpl.java

@@ -2007,19 +2007,20 @@ public class WmTaskServiceImpl extends ServiceImpl<WmTaskMapper, WmTask> impleme
 				}
 
 				// 校验结算金额 0.5~2
-				double min = new BigDecimal(scorePackage.getUserScore())
-						.divide(new BigDecimal(scorePackage.getTaskNum()))
+				double min = new BigDecimal(scorePackage.getScore())
+						.divide(new BigDecimal(scorePackage.getTaskNum()),2,RoundingMode.HALF_EVEN)
 						.multiply(new BigDecimal("0.5"))
 						.setScale(2, RoundingMode.HALF_EVEN)
 						.doubleValue();
-				double max = new BigDecimal(scorePackage.getUserScore())
-						.divide(new BigDecimal(scorePackage.getTaskNum()))
+				double max = new BigDecimal(scorePackage.getScore())
+						.divide(new BigDecimal(scorePackage.getTaskNum()),2,RoundingMode.HALF_EVEN)
 						.multiply(new BigDecimal("2.0"))
 						.setScale(2, RoundingMode.HALF_EVEN)
 						.doubleValue();
 				double amount = commonEvidenceDTO.getAmount().doubleValue();
+
 				if (amount < min || amount > max) {
-					log.error("结算金额不在范围内");
+					log.error("结算金额不在范围内, min:[{}], max:[{}], amount:[{}]", min, max, amount);
 					errorMap(errorMap, "结算金额不在范围内", commonEvidenceDTO.getId());
 					return;
 				}