|
@@ -28,6 +28,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskSupervision;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.excel.WmScorePackageCheckStatusExcelModel;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.excel.WmScorePackageInfoExcelModel;
|
|
@@ -36,6 +37,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntDrugtableMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskSupervisionMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysCheckChainNodeCheckHistoryService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
@@ -117,6 +119,7 @@ public class WmPackageManager {
|
|
|
private final WmPackageTaskTypeQtyService packageTaskTypeQtyService;
|
|
|
private final SysDeptRelationMapper sysDeptRelationMapper;
|
|
|
private final SysCheckChainNodeCheckHistoryMapper sysCheckChainNodeCheckHistoryMapper;
|
|
|
+ private final WmTaskSupervisionMapper taskSupervisionMapper;
|
|
|
|
|
|
/**
|
|
|
* 创建执行包兑付通知
|
|
@@ -189,11 +192,12 @@ public class WmPackageManager {
|
|
|
.eq(WmPackageRedemptionNotice::getCreateBy, user.getUsername());
|
|
|
|
|
|
List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
- .eq(StrUtil.isNotBlank(query.getPkgId()), WmScorePackage::getId, query.getPkgId())
|
|
|
- .eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
|
- .eq(StrUtil.isNotBlank(query.getProvAbbr()), WmScorePackage::getProvAbbr, query.getProvAbbr())
|
|
|
- .in(CollUtil.isNotEmpty(skuIds), WmScorePackage::getDrugtable, skuIds)
|
|
|
- .between(WmScorePackage::getStartTime, issueDate, expiryDate));
|
|
|
+ .eq(StrUtil.isNotBlank(query.getPkgId()), WmScorePackage::getId, query.getPkgId())
|
|
|
+ .eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
|
+ .eq(StrUtil.isNotBlank(query.getProvAbbr()), WmScorePackage::getProvAbbr, query.getProvAbbr())
|
|
|
+ .in(CollUtil.isNotEmpty(skuIds), WmScorePackage::getDrugtable, skuIds)
|
|
|
+ .between(StrUtil.isAllNotBlank(query.getYear(), query.getQuarter()), WmScorePackage::getStartTime, issueDate,
|
|
|
+ expiryDate));
|
|
|
|
|
|
if (CollUtil.isEmpty(pkgs)) {
|
|
|
return res;
|
|
@@ -254,7 +258,8 @@ public class WmPackageManager {
|
|
|
.eq(StrUtil.isNotBlank(query.getProvAbbr()), WmScorePackage::getProvAbbr, query.getProvAbbr())
|
|
|
.in(CollUtil.isNotEmpty(skuIds), WmScorePackage::getDrugtable, skuIds)
|
|
|
.in(WmScorePackage::getSendPackageDeptId, entIds).in(WmScorePackage::getDrugtable, drugIds)
|
|
|
- .between(WmScorePackage::getStartTime, issueDate, expiryDate));
|
|
|
+ .between(StrUtil.isAllNotBlank(query.getYear(), query.getQuarter()), WmScorePackage::getStartTime, issueDate,
|
|
|
+ expiryDate));
|
|
|
|
|
|
if (CollUtil.isEmpty(pkgs)) {
|
|
|
return res;
|
|
@@ -624,6 +629,22 @@ public class WmPackageManager {
|
|
|
// 接包企业
|
|
|
result.put("toEntId", scorePackage.getDeptId());
|
|
|
|
|
|
+ // 监督扣减分值:取上方所选的执行包下,所有监督流程走完的任务,在第一个监督员角色(四个角色)下监督意见为“监督不通过”的任务分值总和
|
|
|
+ // 开发理解的取值逻辑:取监督结果为不通过,监察状态为CKT2(待人用疫苗事业部总经理审核),且不可修改的数据对应的任务分值总和,即为监督扣减分值
|
|
|
+ List<WmTaskSupervision> taskSupervisions = taskSupervisionMapper.selectList(Wrappers
|
|
|
+ .<WmTaskSupervision>lambdaQuery().eq(WmTaskSupervision::getPackageId, packageId)
|
|
|
+ .eq(WmTaskSupervision::getSupervisionResult, Boolean.FALSE).eq(WmTaskSupervision::getModifiable, Boolean.FALSE)
|
|
|
+ .eq(WmTaskSupervision::getSupervisionState, UpmsState.TaskSupervisionState.CKT2));
|
|
|
+
|
|
|
+ Set<String> supRegTaskIds =
|
|
|
+ taskSupervisions.stream().map(task -> String.valueOf(task.getTaskId())).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ double supervisionDeductScore = CollUtil.isEmpty(taskSupervisions) ? 0
|
|
|
+ : taskId2EntityMap.entrySet().stream().filter(entry -> supRegTaskIds.contains(entry.getKey()))
|
|
|
+ .mapToDouble(entry -> entry.getValue().getScore()).sum();
|
|
|
+ // 监督扣减分值
|
|
|
+ result.put("supervisionDeductScore", supervisionDeductScore);
|
|
|
+
|
|
|
return result;
|
|
|
}
|
|
|
|