|
@@ -9,6 +9,7 @@ import com.rongwei.bscommon.system.dao.QhsePointsUnitRecordDao;
|
|
|
import com.rongwei.bscommon.system.service.QhsePointsUnitDetailsService;
|
|
|
import com.rongwei.bscommon.system.service.QhsePointsUnitRecordService;
|
|
|
import com.rongwei.bscommon.system.utils.QHSEUtils;
|
|
|
+import com.rongwei.bsentity.domain.QhsePointsDetailsUserDo;
|
|
|
import com.rongwei.bsentity.domain.QhsePointsUnitDetailsDo;
|
|
|
import com.rongwei.bsentity.domain.QhsePointsUnitRecordDo;
|
|
|
import com.rongwei.bsentity.dto.QhsePointsUnitFileDto;
|
|
@@ -77,23 +78,16 @@ public class QhsePointsUnitRecordServiceImpl extends ServiceImpl<QhsePointsUnitR
|
|
|
public R calUnitScore(List<String> ids) {
|
|
|
//获取要更新的主表信息
|
|
|
List<QhsePointsUnitRecordDo> mainUpdates =new ArrayList<>();
|
|
|
- List<String> detailIds =new ArrayList<>();
|
|
|
QhsePointsUnitRecordDo qhsePointsUnitRecordDo =null;
|
|
|
|
|
|
//获取对应的加分记录数据
|
|
|
Map<String, List<QhsePointsUnitDetailsDo>> details = qhsePointsUnitDetailsService.getBaseMapper().selectList(
|
|
|
new LambdaQueryWrapper<QhsePointsUnitDetailsDo>().eq(QhsePointsUnitDetailsDo::getDeleted, "0")
|
|
|
- .in(QhsePointsUnitDetailsDo::getPointsunitid, ids)
|
|
|
+ .in(QhsePointsUnitDetailsDo::getId, ids)
|
|
|
.ne(QhsePointsUnitDetailsDo::getPoints, 0)).stream().collect(Collectors.groupingBy(
|
|
|
- QhsePointsUnitDetailsDo::getPointsunitid, Collectors.collectingAndThen(
|
|
|
- Collectors.toList(),
|
|
|
- list -> {
|
|
|
- // 按inserttime降序排序
|
|
|
- list.sort(Comparator.comparing(QhsePointsUnitDetailsDo::getCreatedate));
|
|
|
- return list;
|
|
|
- }
|
|
|
- )
|
|
|
+ QhsePointsUnitDetailsDo::getPointsunitid
|
|
|
));
|
|
|
+ SysUserVo currentUser = QHSEUtils.getCurrentUser();
|
|
|
|
|
|
for (String key: details.keySet()){
|
|
|
qhsePointsUnitRecordDo = new QhsePointsUnitRecordDo();
|
|
@@ -105,26 +99,20 @@ public class QhsePointsUnitRecordServiceImpl extends ServiceImpl<QhsePointsUnitR
|
|
|
qhsePointsUnitRecordDo.setCumulativescore(0);
|
|
|
//分值大于0 累加到 加分分值,加分描述追加 ,反之 累加 扣分分值,扣分描述
|
|
|
for (QhsePointsUnitDetailsDo qhsePointsUnitDetailsDo : details.get(key)) {
|
|
|
- String description ="分值:"+ qhsePointsUnitDetailsDo.getPoints() + " 描述:" +qhsePointsUnitDetailsDo.getRuledescription() +";";
|
|
|
if (qhsePointsUnitDetailsDo.getPoints()>0){
|
|
|
qhsePointsUnitRecordDo.setBonuspoints(qhsePointsUnitDetailsDo.getPoints()+qhsePointsUnitRecordDo.getBonuspoints());
|
|
|
- qhsePointsUnitRecordDo.setBonusdescription(qhsePointsUnitRecordDo.getBonusdescription()+description);
|
|
|
}else{
|
|
|
qhsePointsUnitRecordDo.setDeductionpoints(qhsePointsUnitDetailsDo.getPoints()+qhsePointsUnitRecordDo.getDeductionpoints());
|
|
|
- qhsePointsUnitRecordDo.setDeductiondescription(qhsePointsUnitRecordDo.getDeductiondescription()+description);
|
|
|
}
|
|
|
qhsePointsUnitRecordDo.setCumulativescore(qhsePointsUnitRecordDo.getCumulativescore() + qhsePointsUnitDetailsDo.getPoints());
|
|
|
- detailIds.add(qhsePointsUnitRecordDo.getId());
|
|
|
-
|
|
|
}
|
|
|
mainUpdates.add(qhsePointsUnitRecordDo);
|
|
|
-
|
|
|
}
|
|
|
//更新主表
|
|
|
- qhsePointsUnitRecordDao.updateScoreInfo(mainUpdates);
|
|
|
+ qhsePointsUnitRecordDao.updateScoreInfo(mainUpdates,currentUser);
|
|
|
//更新子表
|
|
|
LambdaUpdateWrapper<QhsePointsUnitDetailsDo> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.in(QhsePointsUnitDetailsDo::getId, detailIds).set(QhsePointsUnitDetailsDo::getState, "1");
|
|
|
+ wrapper.in(QhsePointsUnitDetailsDo::getId, ids).set(QhsePointsUnitDetailsDo::getState, "1");
|
|
|
qhsePointsUnitDetailsService.update(wrapper);
|
|
|
return R.ok();
|
|
|
}
|
|
@@ -140,5 +128,53 @@ public class QhsePointsUnitRecordServiceImpl extends ServiceImpl<QhsePointsUnitR
|
|
|
return R.ok();
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional
|
|
|
+ public R delUnitScore(List<String> ids) {
|
|
|
+ List<QhsePointsUnitDetailsDo> qhsePointsUnitDetailsDos = qhsePointsUnitDetailsService.list(new LambdaQueryWrapper<QhsePointsUnitDetailsDo>()
|
|
|
+ .eq(QhsePointsUnitDetailsDo::getState, 1).in(QhsePointsUnitDetailsDo::getId, ids));
|
|
|
+ if(qhsePointsUnitDetailsDos.isEmpty()){
|
|
|
+ log.error("无法获取单位积分信息");
|
|
|
+ return R.error("参数异常");
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, List<QhsePointsUnitDetailsDo>> details = qhsePointsUnitDetailsDos.stream().collect(Collectors.groupingBy(
|
|
|
+ QhsePointsUnitDetailsDo::getPointsunitid
|
|
|
+ ));
|
|
|
+
|
|
|
+ //获取要更新的主表信息
|
|
|
+ List<QhsePointsUnitRecordDo> mainUpdates =new ArrayList<>();
|
|
|
+ QhsePointsUnitRecordDo qhsePointsUnitRecordDo =null;
|
|
|
+
|
|
|
+ for (String key: details.keySet()){
|
|
|
+ qhsePointsUnitRecordDo = new QhsePointsUnitRecordDo();
|
|
|
+ qhsePointsUnitRecordDo.setId(key);
|
|
|
+ qhsePointsUnitRecordDo.setBonuspoints(0);
|
|
|
+ qhsePointsUnitRecordDo.setBonusdescription("");
|
|
|
+ qhsePointsUnitRecordDo.setDeductionpoints(0);
|
|
|
+ qhsePointsUnitRecordDo.setDeductiondescription("");
|
|
|
+ qhsePointsUnitRecordDo.setCumulativescore(0);
|
|
|
+ //分值大于0 累加到 加分分值,反之 累加 扣分分值 //删除功能 数据全部负数
|
|
|
+ for (QhsePointsUnitDetailsDo qhsePointsUnitDetailsDo : details.get(key)) {
|
|
|
+ if (qhsePointsUnitDetailsDo.getPoints()>0){
|
|
|
+ qhsePointsUnitRecordDo.setBonuspoints(qhsePointsUnitDetailsDo.getPoints() - qhsePointsUnitRecordDo.getBonuspoints());
|
|
|
+ }else{
|
|
|
+ qhsePointsUnitRecordDo.setDeductionpoints(qhsePointsUnitDetailsDo.getPoints() - qhsePointsUnitRecordDo.getDeductionpoints());
|
|
|
+ }
|
|
|
+ qhsePointsUnitRecordDo.setCumulativescore(qhsePointsUnitRecordDo.getCumulativescore() + qhsePointsUnitDetailsDo.getPoints());
|
|
|
+ }
|
|
|
+
|
|
|
+ mainUpdates.add(qhsePointsUnitRecordDo);
|
|
|
+ }
|
|
|
+
|
|
|
+ //更新主表
|
|
|
+ SysUserVo currentUser = QHSEUtils.getCurrentUser();
|
|
|
+ qhsePointsUnitRecordDao.updateScoreInfo(mainUpdates,currentUser);
|
|
|
+ // 用户扣分记录删除
|
|
|
+ qhsePointsUnitDetailsService.removeByIds(ids);
|
|
|
+
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
}
|
|
|
|