Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -15,4 +15,10 @@ public interface EntrustMarkConstants {
|
||||
|
||||
String PUBLIC_SECURITY_BUREAU = "公安局";
|
||||
|
||||
/***** datasource *******/
|
||||
Integer LOCAL_SYSTEM = 0; // 本系统数据
|
||||
|
||||
Integer THIRD_PARTY_SYSTEM = 1; // 大数据平台同步过来的数据
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@@ -46,7 +47,7 @@ public class EntrustMaterialCheckoutResultController {
|
||||
|
||||
@ApiOperation("保存检出得定性定量结果")
|
||||
@PostMapping("/save")
|
||||
public R save(@RequestBody EntrustMaterialCheckoutResultDTO dto) {
|
||||
public R save(@RequestBody @Valid EntrustMaterialCheckoutResultDTO dto) {
|
||||
boolean success = false;
|
||||
try {
|
||||
success = entrustMaterialCheckoutResultService.save(dto);
|
||||
|
||||
@@ -190,7 +190,7 @@ public class EntrustmentController {
|
||||
.eq(StrUtil.isNotBlank(caseId), "e.case_id", caseId)
|
||||
.in((statuses != null) && (statuses.size() > 0), "e.status", statuses)
|
||||
.eq(dataSources != null, "e.data_sources", dataSources)
|
||||
// .inSql(checkoutQuery.equals(1), "e.id", "SELECT entrust_id FROM b_entrust_material_checkout_result") // 筛选检材检出结果记录不为0 的委托
|
||||
.inSql(checkoutQuery.equals(1), "e.id", "SELECT entrust_id FROM b_entrust_material_checkout_result") // 筛选检材检出结果记录不为0 的委托
|
||||
.like(StrUtil.isNotBlank(caseName), "c.case_name", caseName)
|
||||
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 9, "CAST(SUBSTRING(e.accept_no, 1,4) AS UNSIGNED)", "CAST(SUBSTRING(e.accept_no, 6) AS UNSIGNED)")
|
||||
.orderByDesc(statuses != null && statuses.size() > 0 && statuses.get(0) == 7, "CAST(SUBSTRING(e.entrustment_no, 4,4) AS UNSIGNED)", "CAST(SUBSTRING(e.entrustment_no, 9) AS UNSIGNED)")
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
package digital.laboratory.platform.entrustment.convert;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import digital.laboratory.platform.entrustment.dto.EntrustMaterialCheckoutResultDTO;
|
||||
import digital.laboratory.platform.entrustment.entity.EntrustMaterialCheckoutResult;
|
||||
import digital.laboratory.platform.entrustment.vo.EntrustMaterialCheckoutResultVO;
|
||||
import digital.laboratory.platform.sys.entity.DrugLite;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 托检材--检出定性定量结果信息 转换类
|
||||
@@ -24,7 +19,7 @@ public class EntrustMaterialCheckoutResultConvert {
|
||||
} else {
|
||||
entrustMaterialCheckoutResult.setQualitativeResult(null);
|
||||
}
|
||||
entrustMaterialCheckoutResult.setQuantitativeResult(dto.getQuantitativeResult().stream().collect(Collectors.joining("、")));
|
||||
entrustMaterialCheckoutResult.setQuantitativeResult(dto.getQuantitativeResult());
|
||||
entrustMaterialCheckoutResult.setOtherResult(dto.getOtherResult());
|
||||
entrustMaterialCheckoutResult.setCheckoutRemark(dto.getCheckoutRemark());
|
||||
return entrustMaterialCheckoutResult;
|
||||
|
||||
@@ -1,17 +1,11 @@
|
||||
package digital.laboratory.platform.entrustment.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
import digital.laboratory.platform.common.mybatis.base.BaseEntity;
|
||||
import digital.laboratory.platform.sys.entity.DrugLite;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -25,6 +19,7 @@ public class EntrustMaterialCheckoutResultDTO {
|
||||
* 委托检材id
|
||||
*/
|
||||
@ApiModelProperty("委托检材id列表, 支持批量")
|
||||
@NotEmpty(message = "请选择设置的委托检材!")
|
||||
private List<String> ids;
|
||||
|
||||
/**
|
||||
@@ -43,7 +38,7 @@ public class EntrustMaterialCheckoutResultDTO {
|
||||
* 定量结果
|
||||
*/
|
||||
@ApiModelProperty("定量结果")
|
||||
private List<String> quantitativeResult;
|
||||
private String quantitativeResult;
|
||||
|
||||
/**
|
||||
* 其他鉴定结果
|
||||
|
||||
@@ -712,7 +712,7 @@ public class Entrustment extends BaseEntity {
|
||||
/**
|
||||
* 数据来源,用于区别数据来自自身系统还是外部系统
|
||||
*/
|
||||
@ApiModelProperty(value="数据来源")
|
||||
@ApiModelProperty(value="数据来源, 0 本系统 | 1 大数据平台")
|
||||
private Integer dataSources;
|
||||
|
||||
/**
|
||||
|
||||
@@ -77,7 +77,7 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
|
||||
}
|
||||
|
||||
List<EntrustMaterialCheckoutResultVO> materialCheckoutResults = checkoutResultList.stream().filter(o -> StrUtil.isNotBlank(o.getQualitativeResult())).collect(Collectors.toList());
|
||||
List<EntrustMaterialCheckoutResultVO> materialNotCheckoutResults = checkoutResultList.stream().filter(o -> StrUtil.isEmpty(o.getQualitativeResult())).collect(Collectors.toList());
|
||||
List<EntrustMaterialCheckoutResultVO> materialNotCheckoutResults = checkoutResultList.stream().filter(o -> StrUtil.isBlank(o.getQualitativeResult())).collect(Collectors.toList());
|
||||
|
||||
List<String> resultStrList = new ArrayList<>();
|
||||
// 对检测结果进行分组
|
||||
@@ -92,11 +92,12 @@ public class EntrustMaterialCheckoutResultServiceImpl extends ServiceImpl<Entrus
|
||||
.append("]");
|
||||
resultStrList.add(builder.toString());
|
||||
});
|
||||
List<String> sortedResult = resultStrList.stream().sorted().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(materialNotCheckoutResults)) {
|
||||
String notCheckoutStr = materialNotCheckoutResults.stream().map(result -> result.getOrderNo() + "号检材").sorted().collect(Collectors.joining("、")) + materialNotCheckoutResults.get(0).getCheckoutRemark();
|
||||
return resultStrList.stream().sorted().collect(Collectors.joining("\n")) + notCheckoutStr;
|
||||
sortedResult.add(notCheckoutStr);
|
||||
}
|
||||
return resultStrList.stream().sorted().collect(Collectors.joining("\n"));
|
||||
return sortedResult.stream().collect(Collectors.joining("\n"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -79,6 +79,7 @@ import java.math.RoundingMode;
|
||||
import java.security.Principal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -3046,21 +3047,20 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
|
||||
|
||||
markersVOS.addAll(sewageMarkers);
|
||||
|
||||
List<Entrustment> entrustmentList1 = this.list(new LambdaQueryWrapper<Entrustment>().eq(Entrustment::getClientOrgId, orgId)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_CREATED.getStatus()));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustmentList1.size(), "待提交"));
|
||||
// 获取该机构的委托
|
||||
List<Entrustment> entrustList = this.list(new LambdaQueryWrapper<Entrustment>().eq(Entrustment::getClientOrgId, orgId));
|
||||
// 根据状态进行分组
|
||||
Map<Integer, List<Entrustment>> entrustGroupByStatusMap = entrustList.stream().collect(Collectors.groupingBy(Entrustment::getStatus));
|
||||
|
||||
List<Entrustment> entrustmentList2 = this.list(new LambdaQueryWrapper<Entrustment>().eq(Entrustment::getClientOrgId, orgId)
|
||||
.in(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_DELIVER.getStatus(), EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_CONFIRM.getStatus()));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustmentList2.size(), "待送检"));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_CREATED.getStatus(), Collections.EMPTY_LIST).size(), "待提交"));
|
||||
|
||||
List<Entrustment> entrustmentList3 = this.list(new LambdaQueryWrapper<Entrustment>().eq(Entrustment::getClientOrgId, orgId)
|
||||
.eq(Entrustment::getReturnOrNot, -1));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustmentList3.size(), "已退回"));
|
||||
int deliverCount = entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_DELIVER.getStatus(), Collections.EMPTY_LIST).size()
|
||||
+ entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_CONFIRM.getStatus(), Collections.EMPTY_LIST).size();
|
||||
markersVOS.add(new MarkersVO("案件委托", deliverCount, "待送检"));
|
||||
|
||||
List<Entrustment> entrustmentList4 = this.list(new LambdaQueryWrapper<Entrustment>().eq(Entrustment::getClientOrgId, orgId)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_COMPLETED.getStatus()));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustmentList4.size(), "已完成"));
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustList.stream().filter(entrust -> entrust.getReturnOrNot() != null &&entrust.getReturnOrNot().equals(-1)).collect(Collectors.toList()).size(), "已退回"));
|
||||
|
||||
markersVOS.add(new MarkersVO("案件委托", entrustGroupByStatusMap.getOrDefault(EntrustmentStatusConstants.ENTRUSTMENT_STATUS_COMPLETED.getStatus(), Collections.EMPTY_LIST).size(), "已完成"));
|
||||
|
||||
Integer entrustAlterApplyCount = (int) entrustAlterApplyService.count(Wrappers.<EntrustAlterApply>lambdaQuery()
|
||||
.eq(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.APPLY_SUCCESS.getStatus())
|
||||
@@ -3229,29 +3229,11 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
|
||||
public List<MarkersVO> getMarkersForEntrustment() {
|
||||
|
||||
List<MarkersVO> markersVOS = new ArrayList<>();
|
||||
Map<String, List<Entrustment>> entrustListMap = this.list().stream().collect(Collectors.groupingBy(entrust -> entrust.getDataSources() + "_" + entrust.getStatus()));
|
||||
|
||||
List<Entrustment> entrustmentList1 = this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.eq(Entrustment::getDataSources, 0)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()));
|
||||
|
||||
List<Entrustment> entrustmentList2 = this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.eq(Entrustment::getDataSources, 1)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()));
|
||||
|
||||
List<Entrustment> entrustmentList3 = this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.eq(Entrustment::getDataSources, 0)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()));
|
||||
|
||||
List<Entrustment> entrustmentList4 = this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.eq(Entrustment::getDataSources, 1)
|
||||
.eq(Entrustment::getStatus, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()));
|
||||
|
||||
List<Integer> integers1 = new ArrayList<>();
|
||||
List<Integer> integers2 = new ArrayList<>();
|
||||
integers1.add(1);
|
||||
integers1.add(2);
|
||||
integers2.add(3);
|
||||
integers2.add(4);
|
||||
// 使用常量定义状态集合,避免重复创建
|
||||
final List<Integer> REVIEW_STATUS_GROUP1 = Arrays.asList(1, 2);
|
||||
final List<Integer> REVIEW_STATUS_GROUP2 = Arrays.asList(3, 4);
|
||||
// 创建一个污水系统的统计DTO 初始化统计数量为0
|
||||
StatisticsDiffStatusJobDTO statisticsDiffStatusSewageJobDTO = new StatisticsDiffStatusJobDTO(
|
||||
0, 0, 0, 0, 0);
|
||||
@@ -3262,29 +3244,58 @@ public class EntrustmentServiceImpl extends ServiceImpl<EntrustmentMapper, Entru
|
||||
log.error("通过查询接口调用获取污水系统统计数据失败!失败原因:{}", statisticsDiffStatusJobDTOR.getMsg());
|
||||
}
|
||||
|
||||
ArrayList<Integer> integers = new ArrayList<>();
|
||||
integers.add(2);
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList1.size(), String.format("待受理(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList2.size(), "待受理 (大数据平台)"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList4.size(), "已受理 (大数据平台)"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT, entrustmentList3.size(), "检测结果"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT,
|
||||
entrustListMap.getOrDefault(
|
||||
StrUtil.join("_", EntrustMarkConstants.LOCAL_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()),
|
||||
Collections.EMPTY_LIST
|
||||
).size(),
|
||||
String.format("待受理(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT,
|
||||
entrustListMap.getOrDefault(
|
||||
StrUtil.join("_", EntrustMarkConstants.THIRD_PARTY_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_WAITING_ACCEPT.getStatus()),
|
||||
Collections.EMPTY_LIST
|
||||
).size(),
|
||||
"待受理 (大数据平台)"));
|
||||
List<Entrustment> entrustListMapOrDefault = entrustListMap.getOrDefault(
|
||||
StrUtil.join("_", EntrustMarkConstants.LOCAL_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()), Collections.EMPTY_LIST
|
||||
);
|
||||
// o.getAcceptTime().isAfter(LocalDateTime.of(LocalDate.now().withDayOfYear(1), LocalTime.MIN)) 筛选出当年的数据
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT,
|
||||
entrustListMapOrDefault.stream().filter(o -> o.getAcceptTime().isAfter(LocalDateTime.of(LocalDate.now().withDayOfYear(1), LocalTime.MIN))).collect(Collectors.toList()).size(),
|
||||
String.format("已受理 (%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT,
|
||||
entrustListMap.getOrDefault(
|
||||
StrUtil.join("_", EntrustMarkConstants.THIRD_PARTY_SYSTEM, EntrustmentStatusConstants.ENTRUSTMENT_STATUS_ACCEPTED.getStatus()), Collections.EMPTY_LIST
|
||||
).size(),
|
||||
"已受理 (大数据平台)"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.CASE_ACCEPT,
|
||||
this.list(Wrappers.<Entrustment>lambdaQuery().inSql(Entrustment::getId, "SELECT entrust_id FROM b_entrust_material_checkout_result"))
|
||||
.stream()
|
||||
.filter(o -> o.getAcceptTime().isAfter(LocalDateTime.of(LocalDate.now().withDayOfYear(1), LocalTime.MIN)))
|
||||
.collect(Collectors.toList())
|
||||
.size(),
|
||||
"检测结果")
|
||||
);
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
|
||||
this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.in(Entrustment::getStatus, integers1)
|
||||
.eq(Entrustment::getDataSources, 0)).size(), String.format("委托审核(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
REVIEW_STATUS_GROUP1.stream()
|
||||
.mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size())
|
||||
.sum(),
|
||||
String.format("委托审核(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
|
||||
this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.in(Entrustment::getStatus, integers2)
|
||||
.eq(Entrustment::getDataSources, 0)).size(), String.format("委托审批(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
REVIEW_STATUS_GROUP2.stream()
|
||||
.mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size())
|
||||
.sum(),
|
||||
String.format("委托审批(%s)", EntrustMarkConstants.PUBLIC_SECURITY_BUREAU)));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
|
||||
this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.in(Entrustment::getStatus, integers1)
|
||||
.eq(Entrustment::getDataSources, 1)).size(), "委托审核(大数据平台)"));
|
||||
REVIEW_STATUS_GROUP1.stream()
|
||||
.mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.THIRD_PARTY_SYSTEM + "_" + status, Collections.emptyList()).size())
|
||||
.sum(),
|
||||
"委托审核(大数据平台)"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
|
||||
this.list(new LambdaQueryWrapper<Entrustment>()
|
||||
.in(Entrustment::getStatus, integers2)
|
||||
.eq(Entrustment::getDataSources, 1)).size(), "委托审批(大数据平台)"));
|
||||
REVIEW_STATUS_GROUP2.stream()
|
||||
.mapToInt(status -> entrustListMap.getOrDefault(EntrustMarkConstants.LOCAL_SYSTEM + "_" + status, Collections.emptyList()).size())
|
||||
.sum(),
|
||||
"委托审批(大数据平台)"));
|
||||
markersVOS.add(new MarkersVO(EntrustMarkConstants.REVIEW_OR_APPROVAL,
|
||||
(int) entrustAlterApplyService.count(Wrappers.<EntrustAlterApply>lambdaQuery()
|
||||
.eq(EntrustAlterApply::getStatus, EntrustAlterApplyStatus.SUBMITTED_WAIT_APPROVE.getStatus())),
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
emr.qualitative_result,
|
||||
emr.quantitative_result,
|
||||
emr.other_result,
|
||||
emr.checkout_remark,
|
||||
emr.create_time,
|
||||
emr.create_by,
|
||||
emr.update_time,
|
||||
@@ -42,6 +43,7 @@
|
||||
emr.qualitative_result,
|
||||
emr.quantitative_result,
|
||||
emr.other_result,
|
||||
emr.checkout_remark,
|
||||
em.name,
|
||||
em.entrustment_id,
|
||||
em.accept_no,
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
where i.id = e.identification_id
|
||||
) as identification_no,
|
||||
(
|
||||
SELECT COUNT(*) FROM b_entrust_material_checkout_result emr WHERE emr.entrust_id = e.id AND qualitative_result != '' AND qualitative_result IS NOT NULL
|
||||
SELECT COUNT(*) FROM b_entrust_material_checkout_result emr WHERE emr.entrust_id = e.id
|
||||
) AS checkout_result_count
|
||||
|
||||
FROM b_entrustment e
|
||||
|
||||
Reference in New Issue
Block a user