|
@@ -1,20 +1,3 @@
|
|
|
-/*
|
|
|
- * Copyright (c) 2018-2025, hnqz All rights reserved.
|
|
|
- *
|
|
|
- * Redistribution and use in source and binary forms, with or without
|
|
|
- * modification, are permitted provided that the following conditions are met:
|
|
|
- *
|
|
|
- * Redistributions of source code must retain the above copyright notice,
|
|
|
- * this list of conditions and the following disclaimer.
|
|
|
- * Redistributions in binary form must reproduce the above copyright
|
|
|
- * notice, this list of conditions and the following disclaimer in the
|
|
|
- * documentation and/or other materials provided with the distribution.
|
|
|
- * Neither the name of the pig4cloud.com developer nor the names of its
|
|
|
- * contributors may be used to endorse or promote products derived from
|
|
|
- * this software without specific prior written permission.
|
|
|
- * Author: hnqz
|
|
|
- */
|
|
|
-
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
@@ -56,6 +39,7 @@ import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeRecordMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
|
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
|
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
@@ -1729,117 +1713,128 @@ public class WmScorePackageController {
|
|
|
return R.ok(answerList);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
- * 新增分配积分包 二期 业务平台
|
|
|
+ * 新增积分包(大包)
|
|
|
+ * <p>
|
|
|
+ * 满足以下任一条件,则可以发包
|
|
|
+ * 1.存在积分充值配置,并且 发包积分 < 积分充值分配的积分
|
|
|
+ * 2.关联了上级积分包
|
|
|
*
|
|
|
- * @param wmScorePackage 积分包
|
|
|
- * @return R
|
|
|
+ * @param wmScorePackage 积分包信息
|
|
|
+ * @return 新增结果
|
|
|
*/
|
|
|
- @ApiOperation(value = "新增积分包", notes = "新增积分包")
|
|
|
@SysLog("新增积分包(大包)")
|
|
|
- @PostMapping("saves")
|
|
|
+ @PostMapping("/saves")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public R saves(@RequestBody WmScorePackage wmScorePackage) {
|
|
|
+ public R<?> saves(@RequestBody WmScorePackage wmScorePackage) {
|
|
|
+
|
|
|
log.info("新增积分包(大包)入参:{}", wmScorePackage);
|
|
|
+
|
|
|
+ HnqzUser operator = SecurityUtils.getUser();
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
+ List<Integer> roles = SecurityUtils.getRoles();
|
|
|
+ Integer deptId = operator.getDeptId();
|
|
|
+ Integer userId = operator.getId();
|
|
|
+
|
|
|
+
|
|
|
+ String relPkgId = wmScorePackage.getRelationScoreId();
|
|
|
+ boolean relatedScoreId = StrUtil.isNotBlank(relPkgId) && Integer.parseInt(relPkgId) > 0;
|
|
|
+ SysDeptRecharge deptRecharge = null;
|
|
|
+
|
|
|
+ // 校验积分值
|
|
|
if (wmScorePackage.getScore() <= 0) {
|
|
|
return R.failed("积分包分值必须大于0");
|
|
|
}
|
|
|
|
|
|
- Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
- Integer userId = SecurityUtils.getUser().getId();
|
|
|
+ // 校验积分包名称是否存在
|
|
|
+ if (StrUtil.isNotBlank(wmScorePackage.getScorePackageName())) {
|
|
|
|
|
|
- // 校验 满足以下任一条件,则可以发包
|
|
|
- // 1.存在积分充值配置,并且 发包积分 < 积分充值分配的积分
|
|
|
- // 2.关联了上级积分包
|
|
|
- boolean relatedScoreId = StrUtil.isNotBlank(wmScorePackage.getRelationScoreId()) && Integer.parseInt(wmScorePackage.getRelationScoreId()) > 0;
|
|
|
- LocalDateTime now = LocalDateTime.now();
|
|
|
- SysDeptRecharge deptRecharge = null;
|
|
|
+ int existed = wmScorePackageService.count(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
+ .eq(WmScorePackage::getDelFlag, "0")
|
|
|
+ .eq(WmScorePackage::getScorePackageName, wmScorePackage.getScorePackageName())
|
|
|
+ .eq(WmScorePackage::getDeptId, wmScorePackage.getDeptId()));
|
|
|
|
|
|
+ if (existed != 0) {
|
|
|
+ return R.failed("积分包名称已存在");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 校验积分值
|
|
|
if (!relatedScoreId) {
|
|
|
// 校验 发包积分 < 积分充值分配的积分 则可以发包
|
|
|
- deptRecharge = sysDeptRechargeMapper.selectOne(Wrappers.<SysDeptRecharge>lambdaQuery()
|
|
|
- .eq(SysDeptRecharge::getDeptId, deptId));
|
|
|
+ deptRecharge = sysDeptRechargeMapper.selectOne(Wrappers.<SysDeptRecharge>lambdaQuery().eq(SysDeptRecharge::getDeptId, deptId));
|
|
|
if (deptRecharge == null) {
|
|
|
- log.warn("未配置积分充值信息");
|
|
|
- throw new RuntimeException("积分余额:0。积分不足");
|
|
|
+ log.error("未配置积分充值信息");
|
|
|
+ throw new BizException("积分余额:0,积分不足");
|
|
|
}
|
|
|
int limitScore = deptRecharge.getScore() + deptRecharge.getOverdrawScore();
|
|
|
if (wmScorePackage.getScore() > limitScore) {
|
|
|
- log.warn("已分配积分不足,发包积分={},剩余积分={},透支额度={}",
|
|
|
- wmScorePackage.getScore(), deptRecharge.getScore(), limitScore);
|
|
|
- throw new RuntimeException(String.format("积分余额:%s。积分不足", deptRecharge.getScore()));
|
|
|
+ log.error("已分配积分不足,发包积分={},剩余积分={},透支额度={}", wmScorePackage.getScore(), deptRecharge.getScore(), limitScore);
|
|
|
+ throw new BizException(String.format("积分余额:%s,积分不足", deptRecharge.getScore()));
|
|
|
}
|
|
|
} else {
|
|
|
// 校验上级可分配积分值
|
|
|
- List<WmScorePackage> scorePackagekfpjf = wmScorePackageService.getScorePackagekfpjf(null, null, new String[]{"0", "1", "2"},
|
|
|
- new String[]{wmScorePackage.getRelationScoreId()});
|
|
|
+ List<WmScorePackage> scorePackagekfpjf =
|
|
|
+ wmScorePackageService.getScorePackagekfpjf(
|
|
|
+ null,
|
|
|
+ null,
|
|
|
+ new String[]{"0", "1", "2"},
|
|
|
+ new String[]{wmScorePackage.getRelationScoreId()});
|
|
|
|
|
|
if (CollUtil.isNotEmpty(scorePackagekfpjf)) {
|
|
|
int kfpjf = scorePackagekfpjf.get(0).getKfpjf();
|
|
|
if (wmScorePackage.getScore() > kfpjf) {
|
|
|
- throw new RuntimeException("可分配积分值不足");
|
|
|
+ log.error("可分配积分值不足");
|
|
|
+ throw new BizException("可分配积分值不足");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- wmScorePackage.setTypeid("");
|
|
|
wmScorePackage.setPackageType1("1");
|
|
|
wmScorePackage.setDelFlag("0");
|
|
|
wmScorePackage.setEnableFlag("0");
|
|
|
wmScorePackage.setPackageIsConduct("0");
|
|
|
- wmScorePackage.setDrugEntId("");//药企ID
|
|
|
- wmScorePackage.setCreateUser(userId);//用户ID
|
|
|
-// SysDept sysDeptId = new SysDept();
|
|
|
-// sysDeptId.setDeptId(SecurityUtils.getUser().getDeptId());
|
|
|
-// SysDept sysDept = sysDeptMapper.selectDeptId(sysDeptId);
|
|
|
- SysDept sysDept = sysDeptService.getById(deptId);
|
|
|
-
|
|
|
-// SysDept sysDeptRelatedServiceId = new SysDept();
|
|
|
-// sysDeptRelatedServiceId.setDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
|
|
|
-// SysDept sysDeptRelatedService = sysDeptMapper.selectDeptId(sysDeptRelatedServiceId);
|
|
|
-
|
|
|
- if (StringUtils.isNotEmpty(wmScorePackage.getRelationScoreId()) && ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList())) {
|
|
|
- WmScorePackage relateSp = wmScorePackageService.getById(wmScorePackage.getRelationScoreId());
|
|
|
+ wmScorePackage.setDrugEntId("");
|
|
|
+ wmScorePackage.setCreateUser(userId);
|
|
|
+ wmScorePackage.setCreateTime(now);
|
|
|
+ wmScorePackage.setUpdateTime(now);
|
|
|
+ wmScorePackage.setPackageFinishStatus("0");
|
|
|
+ wmScorePackage.setPackageAuditStatus("0");
|
|
|
+ wmScorePackage.setSendPackageDeptId(deptId.toString());
|
|
|
+ wmScorePackage.setAllocationDate(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(now));
|
|
|
+
|
|
|
+ if (StringUtils.isNotEmpty(relPkgId) && ArrayUtils.isEmpty(wmScorePackage.getDrugProducerList())) {
|
|
|
+ WmScorePackage relateSp = wmScorePackageService.getById(relPkgId);
|
|
|
if (relateSp != null) {
|
|
|
- Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relateSp
|
|
|
- .getDeptId()));
|
|
|
- wmScorePackage.setDrugProducerList(producerNames.toArray(new String[producerNames.size()]));
|
|
|
+ Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relateSp.getDeptId()));
|
|
|
+ wmScorePackage.setDrugProducerList(producerNames.toArray(new String[0]));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
SysDept sysDeptRelatedService = sysDeptService.getById(Integer.valueOf(wmScorePackage.getRelatedService()));
|
|
|
- if ("".equals(wmScorePackage.getTypeid())) {
|
|
|
- WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.selectByDeptId(sysDept.getDeptId());
|
|
|
+ if (StrUtil.isBlank(wmScorePackage.getTypeid())) {
|
|
|
+ WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.selectByDeptId(deptId);
|
|
|
if (wmDaDrugEnt != null) {
|
|
|
- if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
|
|
|
- .equals(wmDaDrugEnt.getId())) {
|
|
|
+ if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
|
|
|
WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
|
|
|
-// SysDept sysDept2 = new SysDept();
|
|
|
-// sysDept2.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
-// SysDept sysDepts = sysDeptMapper.selectDeptId(sysDept2);
|
|
|
-
|
|
|
SysDept sysDepts = sysDeptService.getById(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
if (sysDepts.getLevel() == 3) {
|
|
|
wmScorePackage.setLevel1Id(wmDaAgent.getId());
|
|
|
} else if (sysDepts.getLevel() == 4) {
|
|
|
wmScorePackage.setLevel2Id(wmDaAgent.getId());
|
|
|
}
|
|
|
- wmScorePackage.setDeptId(wmDaAgent.getDeptId() + "");
|
|
|
+ wmScorePackage.setDeptId(wmDaAgent.getDeptId());
|
|
|
wmScorePackage.setKfpjf(wmScorePackage.getScore());
|
|
|
- } else if (wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
|
|
|
- wmScorePackage.setDeptId(String.valueOf(SecurityUtils.getUser().getDeptId()));
|
|
|
+ } else if (wmDaDrugEnt.getId().equals(wmScorePackage.getAcceptSug())) {
|
|
|
+ wmScorePackage.setDeptId(deptId.toString());
|
|
|
wmScorePackage.setKfpjf(wmScorePackage.getScore());
|
|
|
}
|
|
|
} else {
|
|
|
if (sysDeptRelatedService.getLevel() == 2) {
|
|
|
WmDaDrugEnt wmDaDrugEnts = wmDaDrugEntService.selectByDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
|
|
|
- if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
|
|
|
- .equals(wmDaDrugEnts.getId())) {
|
|
|
+ if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaDrugEnts.getId())) {
|
|
|
WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
|
|
|
-// SysDept sysDept2 = new SysDept();
|
|
|
-// sysDept2.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
-// SysDept sysDepts = sysDeptMapper.selectDeptId(sysDept2);
|
|
|
-
|
|
|
SysDept sysDepts = sysDeptService.getById(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
|
|
|
if (sysDepts.getLevel() == 3) {
|
|
@@ -1847,7 +1842,7 @@ public class WmScorePackageController {
|
|
|
} else if (sysDepts.getLevel() == 4) {
|
|
|
wmScorePackage.setLevel2Id(wmDaAgent.getId());
|
|
|
}
|
|
|
- wmScorePackage.setDeptId(wmDaAgent.getDeptId() + "");
|
|
|
+ wmScorePackage.setDeptId(wmDaAgent.getDeptId());
|
|
|
wmScorePackage.setKfpjf(wmScorePackage.getScore());
|
|
|
} else if (wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
|
|
|
wmScorePackage.setDeptId(String.valueOf(SecurityUtils.getUser().getDeptId()));
|
|
@@ -1855,57 +1850,29 @@ public class WmScorePackageController {
|
|
|
}
|
|
|
} else if (sysDeptRelatedService.getLevel() == 3) {
|
|
|
WmDaAgent wmDaAgent1 = wmDaAgentService.selectByDeptId(Integer.valueOf(wmScorePackage.getRelatedService()));
|
|
|
- if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug()
|
|
|
- .equals(wmDaAgent1.getId())) {
|
|
|
+ if (null != wmScorePackage.getAcceptSug() && !wmScorePackage.getAcceptSug().equals(wmDaAgent1.getId())) {
|
|
|
WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getAcceptSug());
|
|
|
-
|
|
|
-// SysDept sysDept2 = new SysDept();
|
|
|
-// sysDept2.setDeptId(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
-// SysDept sysDepts = sysDeptMapper.selectDeptId(sysDept2);
|
|
|
-
|
|
|
SysDept sysDepts = sysDeptService.getById(Integer.valueOf(wmDaAgent.getDeptId()));
|
|
|
-
|
|
|
if (sysDepts.getLevel() == 3) {
|
|
|
wmScorePackage.setLevel1Id(wmDaAgent.getId());
|
|
|
} else if (sysDepts.getLevel() == 4) {
|
|
|
wmScorePackage.setLevel2Id(wmDaAgent.getId());
|
|
|
}
|
|
|
- wmScorePackage.setDeptId(wmDaAgent.getDeptId() + "");
|
|
|
+ wmScorePackage.setDeptId(wmDaAgent.getDeptId());
|
|
|
wmScorePackage.setKfpjf(wmScorePackage.getScore());
|
|
|
- } else if (wmScorePackage.getAcceptSug().equals(wmDaAgent1.getId())) {
|
|
|
- wmScorePackage.setDeptId(String.valueOf(SecurityUtils.getUser().getDeptId()));
|
|
|
+ } else if (wmDaAgent1.getId().equals(wmScorePackage.getAcceptSug())) {
|
|
|
+ wmScorePackage.setDeptId(deptId.toString());
|
|
|
wmScorePackage.setKfpjf(wmScorePackage.getScore());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (null != wmScorePackage.getScorePackageName() && !"".equals(wmScorePackage.getScorePackageName())) {
|
|
|
- WmScorePackage wmScorePackage1 = new WmScorePackage();
|
|
|
- wmScorePackage1.setDelFlag("0");
|
|
|
- wmScorePackage1.setScorePackageName(wmScorePackage.getScorePackageName());
|
|
|
- wmScorePackage1.setDeptId(wmScorePackage.getDeptId());
|
|
|
- List<WmScorePackage> wmScorePackageList = wmScorePackageService.list(Wrappers.query(wmScorePackage1));
|
|
|
- if (wmScorePackageList.size() > 0) {
|
|
|
- return R.failed("积分包名称已存在");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- wmScorePackage.setCreateTime(LocalDateTime.now());
|
|
|
- wmScorePackage.setPackageFinishStatus("0");
|
|
|
- wmScorePackage.setPackageAuditStatus("0");
|
|
|
- wmScorePackage.setSendPackageDeptId(SecurityUtils.getUser().getDeptId() + "");
|
|
|
- wmScorePackage.setAllocationDate(df.format(new Date()));
|
|
|
-
|
|
|
//药企规则ID
|
|
|
-// SysDept sysDept2 = new SysDept();
|
|
|
-// sysDept2.setDeptId(SecurityUtils.getUser().getDeptId());
|
|
|
-// SysDept sysDeptRuleId = sysDeptMapper.selectDeptId(sysDept2);
|
|
|
+ SysDept sysDeptRuleId = sysDeptService.getById(deptId);
|
|
|
+ Integer deptLevel = sysDeptRuleId.getLevel();
|
|
|
|
|
|
- SysDept sysDeptRuleId = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
|
|
|
-
|
|
|
- if (sysDeptRuleId.getLevel() == 2) {
|
|
|
+ if (deptLevel == 2) {
|
|
|
WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.selectByDeptId(sysDeptRuleId.getDeptId());
|
|
|
if (wmScorePackage.getAcceptSug().equals(wmDaDrugEnt.getId())) {
|
|
|
wmScorePackage.setRuleId(wmScorePackage.getAcceptSug());
|
|
@@ -1914,15 +1881,16 @@ public class WmScorePackageController {
|
|
|
WmTaskType wmTaskType = new WmTaskType();
|
|
|
wmTaskType.setRuleId(wmDaDrugEnt.getId() + wmScorePackage.getAcceptSug());
|
|
|
List<WmTaskType> wmTaskTypeList = wmTaskTypeService.selectByRuleId(wmTaskType);
|
|
|
- if (wmTaskTypeList.size() > 0) {
|
|
|
+ if (CollUtil.isNotEmpty(wmTaskTypeList)) {
|
|
|
wmScorePackage.setRuleId(wmDaDrugEnt.getId() + wmScorePackage.getAcceptSug());
|
|
|
wmScorePackage.setDrugEntId(wmDaDrugEnt.getId());
|
|
|
} else {
|
|
|
+ log.error("请药企给下级cso分配积分规则");
|
|
|
return R.failed("请药企给下级cso分配积分规则");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- } else if (sysDeptRuleId.getLevel() == 3) {
|
|
|
+ } else if (deptLevel == 3) {
|
|
|
//一级cso规则ID
|
|
|
WmDaAgent daAgent = wmDaAgentService.getOne(Wrappers.<WmDaAgent>lambdaQuery()
|
|
|
.eq(WmDaAgent::getEnableFlag, EnableEnum.ENABLE.val())
|
|
@@ -1935,6 +1903,7 @@ public class WmScorePackageController {
|
|
|
wmScorePackage.setRuleId(relationScorePackage.getRuleId());
|
|
|
wmScorePackage.setDrugEntId(relationScorePackage.getDrugEntId());
|
|
|
} else {
|
|
|
+ log.error("cso没有分配积分规则");
|
|
|
return R.failed("cso没有分配积分规则");
|
|
|
}
|
|
|
} else {
|
|
@@ -1945,100 +1914,66 @@ public class WmScorePackageController {
|
|
|
wmScorePackage.setRuleId(daAgent.getId());
|
|
|
wmScorePackage.setDrugEntId("");
|
|
|
} else {
|
|
|
+ log.error("cso没有分配积分规则");
|
|
|
return R.failed("cso没有分配积分规则");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- boolean isAnswer = wmScorePackageService.save(wmScorePackage);
|
|
|
-
|
|
|
- if (null != wmScorePackage.getWmScoreTaskTypeList() && wmScorePackage.getWmScoreTaskTypeList().size() > 0) {
|
|
|
- List<WmScoreTaskType> wmScoreTaskTypess = new ArrayList<>();
|
|
|
- for (WmScoreTaskType wmScoreTaskTypes : wmScorePackage.getWmScoreTaskTypeList()) {
|
|
|
- WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
|
|
|
- SysDept sysDept1 = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
|
|
|
- if ("".equals(wmScorePackage.getRelationScoreId())) {
|
|
|
- wmScoreTaskType.setScoreId(wmScorePackage.getId());
|
|
|
- wmScoreTaskType.setType("1");
|
|
|
- wmScoreTaskType.setTaskTypeId(wmScoreTaskTypes.getTaskTypeId());
|
|
|
- wmScoreTaskTypess.add(wmScoreTaskType);
|
|
|
- } else if (!"".equals(wmScorePackage.getRelationScoreId()) && sysDept1.getLevel() == 3) {
|
|
|
- wmScoreTaskType.setScoreId(wmScorePackage.getId());
|
|
|
- wmScoreTaskType.setType("1");
|
|
|
- wmScoreTaskType.setTaskTypeId(wmScoreTaskTypes.getTaskTypeId());
|
|
|
- wmScoreTaskTypess.add(wmScoreTaskType);
|
|
|
- }
|
|
|
+ // 保存积分包
|
|
|
+ String typeId = "";
|
|
|
+ if (roles.contains(4) || roles.contains(3)) {
|
|
|
+ if (deptLevel == 2) {
|
|
|
+ typeId = wmScorePackage.getDeptId().equals(deptId.toString()) ? "0" : "1";
|
|
|
+ } else if (deptLevel == 3) {
|
|
|
+ typeId = wmScorePackage.getDeptId().equals(deptId.toString()) ? "1" : "2";
|
|
|
}
|
|
|
- wmScoreTaskTypeService.deleteByScoreId(wmScorePackage.getId());
|
|
|
- wmScoreTaskTypeService.batchInsertType(wmScoreTaskTypess);
|
|
|
}
|
|
|
- if (isAnswer) {
|
|
|
-
|
|
|
- if (SecurityUtils.getRoles().contains(4) || SecurityUtils.getRoles().contains(3)) {
|
|
|
-
|
|
|
- //赋值typeid
|
|
|
-// SysDept sysDept1 = new SysDept();
|
|
|
-// sysDept1.setDeptId(SecurityUtils.getUser().getDeptId());
|
|
|
-// SysDept sysDeptTypeId = sysDeptMapper.selectDeptId(sysDept1);
|
|
|
-
|
|
|
- SysDept sysDeptTypeId = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
|
|
|
-
|
|
|
- if (sysDeptTypeId.getLevel() == 2 && wmScorePackage.getDeptId()
|
|
|
- .equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
|
|
|
- wmScorePackage.setTypeid("0");
|
|
|
- } else if (sysDeptTypeId.getLevel() == 2) {
|
|
|
- wmScorePackage.setTypeid("1");
|
|
|
- } else if (sysDeptTypeId.getLevel() == 3 && wmScorePackage.getDeptId()
|
|
|
- .equals(String.valueOf(sysDeptTypeId.getDeptId()))) {
|
|
|
- wmScorePackage.setTypeid("1");
|
|
|
- } else if (sysDeptTypeId.getLevel() == 3) {
|
|
|
- wmScorePackage.setTypeid("2");
|
|
|
- }
|
|
|
- wmScorePackageService.updateById(wmScorePackage);
|
|
|
- WmScorePackage queryWm = new WmScorePackage();
|
|
|
-
|
|
|
-// SysDept sysDept4 = new SysDept();
|
|
|
-// sysDept4.setDeptId(SecurityUtils.getUser().getDeptId());
|
|
|
-// SysDept sysDept3 = sysDeptMapper.selectDeptId(sysDept4);
|
|
|
+ wmScorePackage.setTypeid(typeId);
|
|
|
+ boolean isAnswer = wmScorePackageService.save(wmScorePackage);
|
|
|
|
|
|
- SysDept sysDept3 = sysDeptService.getById(SecurityUtils.getUser().getDeptId());
|
|
|
- if (sysDept3.getLevel() == 3) {
|
|
|
- queryWm.setDeptId(SecurityUtils.getUser().getDeptId() + "");
|
|
|
- } else {
|
|
|
- queryWm.setId("-1");
|
|
|
- }
|
|
|
+ // 发包成功 更新 上级包
|
|
|
+ if (isAnswer) {
|
|
|
+ if ((roles.contains(4) || roles.contains(3)) && deptLevel == 3) {
|
|
|
+ WmScorePackage relPkg = wmScorePackageService.getById(relPkgId);
|
|
|
+ // 是当前操作人所在企业的的关联包
|
|
|
+ if (relPkg != null && deptId.toString().equals(relPkg.getDeptId())) {
|
|
|
+ relPkg.setKfpjf((int) Math.ceil(relPkg.getKfpjf() - wmScorePackage.getScore()));
|
|
|
+ // 判断积分包是否被发放 (原有外包业务逻辑,不知道为什么)
|
|
|
+ int count = wmScorePackageService.count(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
+ .ne(WmScorePackage::getId, wmScorePackage.getId())
|
|
|
+ .eq(WmScorePackage::getId, relPkgId)
|
|
|
+ .eq(WmScorePackage::getEnableFlag, "0")
|
|
|
+ .notIn(WmScorePackage::getTypeid, 3, 4));
|
|
|
|
|
|
- List<WmScorePackage> wmScorePackageList = wmScorePackageService.list(Wrappers.query(queryWm));
|
|
|
- WmScorePackage wmId = wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
- if (wmScorePackageList.size() > 0) {
|
|
|
- for (WmScorePackage wms : wmScorePackageList) {
|
|
|
- if (wms.getId().equals(wmId.getRelationScoreId())) {
|
|
|
- wms.setKfpjf(new Double(Math.ceil(wms.getKfpjf() - wmId.getScore())).intValue());
|
|
|
- wmScorePackage.setPackageIsConduct("0");
|
|
|
- wmScorePackage.setPackageType1(wmScorePackage.getPackageType1());
|
|
|
- //判断积分包是否被发放
|
|
|
- List<WmScorePackage> wmScorePackages = wmScorePackageService.selectRelationScoreId(wmScorePackage
|
|
|
- .getId());
|
|
|
- if (wmScorePackages.size() > 0) {
|
|
|
- for (WmScorePackage wmScorePackage1 : wmScorePackages) {
|
|
|
- if (wmScorePackage1.getId().equals(wmScorePackage.getRelationScoreId())) {
|
|
|
- wms.setPackageIsConduct("1");
|
|
|
- break;
|
|
|
- } else {
|
|
|
- wms.setPackageIsConduct("0");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ relPkg.setPackageIsConduct(count == 0 ? "0" : "1");
|
|
|
}
|
|
|
+ wmScorePackageService.updateById(relPkg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 失败了
|
|
|
+ else {
|
|
|
+ return R.failed("下发积分包失败");
|
|
|
+ }
|
|
|
|
|
|
- wmScorePackageService.updateBatchById(wmScorePackageList);
|
|
|
+ List<WmScoreTaskType> taskTypeList = wmScorePackage.getWmScoreTaskTypeList();
|
|
|
+ if (CollUtil.isNotEmpty(taskTypeList)) {
|
|
|
|
|
|
+ if (StrUtil.isBlank(relPkgId) || (StrUtil.isNotBlank(relPkgId) && deptLevel == 3)) {
|
|
|
+ List<WmScoreTaskType> scoreTaskTypes = taskTypeList.stream().map(taskType -> {
|
|
|
+ WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
|
|
|
+ wmScoreTaskType.setScoreId(wmScorePackage.getId());
|
|
|
+ wmScoreTaskType.setType("1");
|
|
|
+ wmScoreTaskType.setTaskTypeId(taskType.getTaskTypeId());
|
|
|
|
|
|
+ return wmScoreTaskType;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ wmScoreTaskTypeService.deleteByScoreId(wmScorePackage.getId());
|
|
|
+ wmScoreTaskTypeService.batchInsertType(scoreTaskTypes);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
if (!relatedScoreId) {
|
|
|
// 更新积分充值信息
|
|
|
int currentScore = deptRecharge.getScore() - wmScorePackage.getScore();
|
|
@@ -2070,6 +2005,7 @@ public class WmScorePackageController {
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 终止积分包(大包)
|
|
|
*
|
|
@@ -2079,6 +2015,7 @@ public class WmScorePackageController {
|
|
|
@SysLog("终止积分包(大包)")
|
|
|
@PostMapping("/stopWmScorePackage")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
+
|
|
|
public R stopWmScorePackage(@RequestBody WmScorePackage wmScorePackage) {
|
|
|
log.info("终止积分包(大包)入参:{}", wmScorePackage);
|
|
|
if (StrUtil.isBlank(wmScorePackage.getId()) || !StrUtil.equalsAny(wmScorePackage.getEnableType(), "1", "2")) {
|