Commit b162e7b5 by ghxdhr

1.查询人员和检测量

2.按样品数据录入增加检测项目标记样品被修改
parent aeb546d1
......@@ -2,17 +2,18 @@ package com.patzn.cloud.service.lims.hmhj.mapper;
import com.baomidou.mybatisplus.annotations.SqlParser;
import com.baomidou.mybatisplus.plugins.Page;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import com.patzn.cloud.service.hmhj.entity.EntrustSampleItem;
import com.patzn.cloud.commons.mapper.BatchMapper;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;
import java.util.List;
import java.util.Map;
/**
* <p>
......@@ -51,5 +52,8 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<TesterWorkloadStatsVO> selectTesterWorkloadStatus(@Param("vo") QueryDTO queryDTO);
@SqlParser(filter = true)
List<LmsUserRelGroupVO> selectAllPersonWorkload(RowBounds rowBounds, @Param("rel") LmsUserRelGroup lmsUserRelGroup);
List<EntrustSampleCalcResultVO> selectSampleCalcResult(@Param("vo") QueryDTO queryDTO);
}
......@@ -81,5 +81,7 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
List<TesterWorkloadStatsVO> getTesterWorkloadStatusQuery(QueryDTO queryDTO);
Page<LmsUserRelGroupVO> selectAllPersonWorkload(Page<LmsUserRelGroupVO> page,LmsUserRelGroup rel);
List<EntrustSampleCalcResultVO> getSampleCalcResult(QueryDTO queryDTO);
}
......@@ -8,6 +8,8 @@ import com.patzn.cloud.commons.controller.Account;
import com.patzn.cloud.commons.controller.LoginHelper;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.commons.toolkit.FileUtils;
import com.patzn.cloud.commons.toolkit.MapMergeUtils;
import com.patzn.cloud.commons.toolkit.TimeWatch;
import com.patzn.cloud.feign.lims.base.client.LmsUserRelGroupClient;
import com.patzn.cloud.oss.starter.OssClient;
import com.patzn.cloud.oss.starter.OssFileResult;
......@@ -21,6 +23,7 @@ import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO;
import com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup;
import com.patzn.cloud.service.lims.base.vo.GroupUserVO;
import com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO;
import com.patzn.cloud.service.lims.common.CompareUtils;
import com.patzn.cloud.service.lims.hmhj.common.EntrustFlowUtils;
......@@ -47,6 +50,7 @@ import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.Executor;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 服务实现类
......@@ -826,59 +830,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override
public Page<LmsUserRelGroupVO> pageGroupUser(Page<LmsUserRelGroupVO> page, LmsUserRelGroup userRelGroup) {
Page<LmsUserRelGroup> relGroupPage = lmsUserRelGroupClient.getPageUser(userRelGroup).serviceData();
List<LmsUserRelGroup> groupList = relGroupPage.getRecords();
if (CollectionUtils.isEmpty(groupList)){
return page;
}
List<Long> userIdsList = groupList.stream().map(r->{
return r.getUserId();
}).collect(Collectors.toList());
/* 检测中的所有项目 */
List<EntrustSampleItem> experimentList = super.list(Condition.create().in("tester_id",userIdsList).eq("status",EntrustSampleItemStatusEnum.TEST));
/* 未检测 -- 还未填写原始记录 */
List<EntrustSampleItem> notTestingItems = experimentList.stream().
filter(item -> isNotTesting(item)).collect(Collectors.toList());
/* 真正的检测中 */
experimentList.removeAll(notTestingItems);
/* 已完成 */
List<EntrustSampleItem> TestedItem = super.list(Condition.create().in("tester_id", userIdsList).eq("status", EntrustSampleItemStatusEnum.END));
List<LmsUserRelGroupVO> groupVOS = new ArrayList<>();
for (LmsUserRelGroup group:groupList) {
LmsUserRelGroupVO vo = group.convert(LmsUserRelGroupVO.class);
int num = 0,notTestingNum = 0,TestedNum = 0;
for (EntrustSampleItem experiment:experimentList) {
if (experiment.getTesterId().equals(group.getUserId())){
num++;
}
}
/* 未检测 */
for (EntrustSampleItem notTestingItem : notTestingItems) {
if (notTestingItem.getTesterId().equals(group.getUserId())){
notTestingNum++;
}
}
/* 已完成 */
for (EntrustSampleItem notTestingItem : TestedItem) {
if (notTestingItem.getTesterId().equals(group.getUserId())){
TestedNum++;
}
}
vo.setTotal(num);
vo.setNotTesting(notTestingNum);
vo.setTested(TestedNum);
groupVOS.add(vo);
}
page.setRecords(groupVOS);
page.setCurrent(relGroupPage.getCurrent());
page.setSize(relGroupPage.getSize());
page.setTotal(relGroupPage.getTotal());
return page;
return selectAllPersonWorkload(page, userRelGroup);
}
@Override
......@@ -887,6 +839,12 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
@Override
public Page<LmsUserRelGroupVO> selectAllPersonWorkload(Page<LmsUserRelGroupVO> page,LmsUserRelGroup rel) {
return page.setRecords(baseMapper.selectAllPersonWorkload(page, rel));
}
@Override
public List<EntrustSampleCalcResultVO> getSampleCalcResult(QueryDTO queryDTO){
return baseMapper.selectSampleCalcResult(queryDTO);
}
......
......@@ -1208,6 +1208,10 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
List<EntrustSampleItem> saveItemList = new ArrayList<>();
for (Long sampleId : sampleIdsList) {
/* 标记该样品被更改过 */
EntrustSample sample = new EntrustSample().setModified(1);
sample.setId(sampleId);
this.updateById(sample);
for (EntrustSampleItem item : itemList) {
EntrustSampleItem add = item.convert(EntrustSampleItem.class);
add.setEntrustSampleId(sampleId);
......
......@@ -441,4 +441,29 @@
t.sum_compare,
t.sum_value
</select>
<!-- 所有人员检测任务量查询 -->
<select id="selectAllPersonWorkload" resultType="com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO">
select
ug.user_id,
ug.group_id,
ug.realname,
sum(case when i.status = 50 then 1 else 0 end ) "tested",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) > 0 then 1 else 0 end ) "total",
sum(case when i.status = 20 and coalesce(ii.fill_num,0) = 0 then 1 else 0 end ) "notTesting"
from v_lms_user_group ug
left join entrust_sample_item i on ug.user_id = i.tester_Id
left join (
select ii.entrust_sample_item_id,count(1) "fill_num" from entrust_sample_item_index ii
where ii.deleted = 0 group by ii.entrust_sample_item_id
) ii on ii.entrust_sample_item_id = i.id
where 1 = 1
<if test="rel.realname != null">
and ug.realname like concat('%',#{rel.realname},'%')
</if>
<if test="rel.groupId != null">
and ug.group_id = #{rel.groupId}
</if>
GROUP BY ug.user_id,ug.group_id,ug.realname
</select>
</mapper>
--ghx
--ghx
ALTER TABLE "public"."entrust_sample"
ADD COLUMN "modified" int2 DEFAULT 0;
COMMENT ON COLUMN "public"."entrust_sample"."modified" IS '是否被更改【0-未修改,1-被修改】';
ALTER TABLE "public"."entrust_sample_item"
ADD COLUMN "in_report" int2 DEFAULT 1;
COMMENT ON COLUMN "public"."entrust_sample_item"."in_report" IS '是否在报告中显示(0否1是)';
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment