Commit a8009615 by wangweidong

委托进度查询

parent 9921c89b
......@@ -740,4 +740,21 @@ public class EntrustController extends ServiceController {
return success(entrustService.pageEntrustJudge(getPage(), entrust));
}
@ApiOperation("委托进度查询")
@ApiImplicitParams({
@ApiImplicitParam(name = RestConstants.PAGE_PAGE, value = "请求数据的页码", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_ROWS, value = "每页条数", required = true, paramType = "query", dataTypeClass = Integer.class),
@ApiImplicitParam(name = RestConstants.PAGE_SIDX, value = "排序字段", paramType = "query", dataTypeClass = String.class),
@ApiImplicitParam(name = RestConstants.PAGE_SORD, value = "排序方式", paramType = "query", dataTypeClass = String.class),
})
@PostMapping("/page_entrust_progress")
public RestResult<Page<EntrustVO>> getPageEntrustProgress(EntrustVO entrust) {
return success(entrustService.pageEntrustProgress(getPage(), entrust));
}
}
......@@ -25,4 +25,6 @@ public interface EntrustMapper extends BatchMapper<Entrust> {
List<EntrustVO> selectEntrustSampleReceive(RowBounds rowBounds, @Param("vo")EntrustVO entrust);
List<EntrustVO> selectVOList(RowBounds rowBounds, @Param("vo")EntrustVO entrust);
List<EntrustVO> selectEntrustProgressList(RowBounds rowBounds, @Param("vo")EntrustVO entrust);
}
......@@ -38,4 +38,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List<EntrustSampleItemVO> selectListVOByIds(@Param("ids")List<Long> expIdsList);
List<EntrustSampleItemVO> selectByOriginalRecordId(@Param("originalRecordId") Long originalRecordId);
List<EntrustSampleItemVO> selectMinStatusBySampleIds(@Param("sampleIds")List<Long> sampleIds);
}
......@@ -22,4 +22,6 @@ public interface EntrustSampleMapper extends BatchMapper<EntrustSample> {
List<EntrustSampleVO> selectSampleReceiveList(RowBounds rowBounds, @Param("vo") EntrustSampleVO entrustSample);
List<EntrustSampleVO> selectVOList(RowBounds rowBounds, @Param("vo") EntrustSampleVO entrustSample);
List<EntrustSampleVO> selectMinStatusByEntrustIds(@Param("entrustIds") List<Long> entrustIds);
}
......@@ -65,4 +65,6 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
List<EntrustSampleItemVO> getListBySampleId(Long sampleId);
boolean updateQualityJudge(Long[] ids, Account account);
List<EntrustSampleItemVO> listMinStatusBySampleIds(List<Long> entrustIds);
}
......@@ -47,4 +47,6 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
Page<EntrustSampleVO> pageVO(Page<EntrustSampleVO> page, EntrustSampleVO entrustSample);
boolean submitToAcceptanceResultInput(Long[] ids, Account account);
List<EntrustSampleVO> listMinStatusByEntrustIds(List<Long> entrustIds);
}
......@@ -62,4 +62,6 @@ public interface IEntrustService extends IBaseService<Entrust> {
boolean outInputSubmitToQualityCheck(Long[] ids, Account account);
Page<EntrustVO> pageVO(Page<EntrustVO> page, EntrustVO entrust);
Page<EntrustVO> pageEntrustProgress(Page<EntrustVO> page, EntrustVO entrust);
}
......@@ -630,6 +630,11 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return false;
}
@Override
public List<EntrustSampleItemVO> listMinStatusBySampleIds(List<Long> sampleIds) {
return baseMapper.selectMinStatusBySampleIds(sampleIds);
}
/**
* 不合格判定
*
......
......@@ -131,6 +131,11 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
@Override
public List<EntrustSampleVO> listMinStatusByEntrustIds(List<Long> entrustIds) {
return baseMapper.selectMinStatusByEntrustIds(entrustIds);
}
@Override
public boolean removeByIds(List<Long> ids) {
return baseMapper.deleteBatchIds(ids) > 0;
}
......
......@@ -9,6 +9,8 @@ import com.patzn.cloud.service.hmhj.dto.EntrustDTO;
import com.patzn.cloud.service.hmhj.dto.EntrustSampleDTO;
import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.hmhj.vo.EntrustVO;
import com.patzn.cloud.service.lims.common.service.ILmsMsgService;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustMapper;
......@@ -642,5 +644,86 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return page.setRecords(baseMapper.selectVOList(page,entrust));
}
@Override
public Page<EntrustVO> pageEntrustProgress(Page<EntrustVO> page, EntrustVO entrust) {
List<EntrustVO> voList = baseMapper.selectEntrustProgressList(page,entrust);
if (CollectionUtils.isEmpty(voList)){
return page;
}
List<Long> entrustIds= voList.stream().map(e->{
return e.getId();
}).collect(Collectors.toList());
List<EntrustSampleVO> sampleVOList = entrustSampleService.listMinStatusByEntrustIds(entrustIds);
Map<Long,EntrustSampleVO> sampleVOMap = new HashMap<>();
for (EntrustSampleVO vo : sampleVOList) {
sampleVOMap.put(vo.getEntrustId(),vo);
}
Map<Long, EntrustSampleItemVO> itemVOMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(sampleVOList)){
List<Long> sampleIds= sampleVOList.stream().map(e->{
return e.getId();
}).collect(Collectors.toList());
List<EntrustSampleItemVO> itemVOList = entrustSampleItemService.listMinStatusBySampleIds(sampleIds);
for (EntrustSampleItemVO entrustSampleItemVO : itemVOList) {
itemVOMap.put(entrustSampleItemVO.getEntrustSampleId(),entrustSampleItemVO);
}
}
for (EntrustVO vo : voList) {
EntrustSampleVO sampleVO = sampleVOMap.get(vo.getId());
if (vo.getStatus().equals(EntrustStatusEnum.DRAFT)){
vo.setNowStatus("委托登记");
}else if (vo.getStatus().equals(EntrustStatusEnum.OUT_DRAFT)){
vo.setNowStatus("委托登记");
}else if (vo.getStatus().equals(EntrustStatusEnum.CHECK)){
vo.setNowStatus("委托评审");
}else if (vo.getStatus().equals(EntrustStatusEnum.MAKE)){
vo.setNowStatus("样品制备");
}
if (sampleVO==null){
continue;
}
if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.DRAFT)){
continue;
}
if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.RECEIVE)){
vo.setNowStatus("样品接收");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.TEST)){
EntrustSampleItemVO itemVO= itemVOMap.get(sampleVO.getId());
if (null!=itemVO&&itemVO.getStatus().equals(EntrustSampleItemStatusEnum.ALLOT)){
vo.setNowStatus("任务分配");
}else if (null!=itemVO&&itemVO.getStatus().equals(EntrustSampleItemStatusEnum.TEST)){
vo.setNowStatus("试样检测");
}
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.REPORT_MAKE)){
vo.setNowStatus("报告编制");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.REPORT_CHECK)){
vo.setNowStatus("报告审核中");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.REPORT_ALLOW)){
vo.setNowStatus("报告审核中");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.REPORT_ISSUE)){
vo.setNowStatus("报告发放");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.REPORT_SEND)){
vo.setNowStatus("报告发放");
}else if (sampleVO.getStatus().equals(EntrustSampleStatusEnum.END)){
vo.setNowStatus("质量判定");
}
}
return page.setRecords(voList);
}
}
......@@ -58,4 +58,40 @@
order by entrust_time desc
</select>
<select id="selectEntrustProgressList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT id,code,client,client_tel,entrust_time,assignor,test_side,status,progress FROM entrust WHERE deleted = 0
<if test="null!=vo.idsList">
AND id IN
<foreach collection="vo.idsList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="null!=vo.client">
AND client LIKE CONCAT('%',#{vo.client},'%')
</if>
<if test="null!=vo.code">
AND code LIKE CONCAT('%',#{vo.code},'%')
</if>
<if test="null!=vo.testSide">
AND test_side LIKE CONCAT('%',#{vo.testSide},'%')
</if>
<if test="null!=vo.statusList">
AND status IN
<foreach collection="vo.statusList" index="index" item="status" open="(" separator="," close=")">
#{status}
</foreach>
</if>
<if test="null!=vo.groupNameList">
AND test_side IN
<foreach collection="vo.groupNameList" index="index" item="groupName" open="(" separator="," close=")">
#{groupName}
</foreach>
</if>
order by entrust_time desc
</select>
</mapper>
......@@ -262,4 +262,35 @@
</foreach>
ORDER BY s.code , i.name
</select>
<select id="selectMinStatusBySampleIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
WITH summary AS (
SELECT p.id,
p.entrust_sample_id,
p.company_id,
p.status,
ROW_NUMBER() OVER(PARTITION BY p.entrust_sample_id ORDER BY p.status ASC) AS ranks
FROM entrust_sample_item p
WHERE p.deleted = 0
AND p.entrust_sample_id IN
<foreach collection="sampleIds" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
)
SELECT s.id,
s.entrust_sample_id,
s.status
FROM summary s
WHERE s.ranks = 1
</select>
</mapper>
......@@ -60,4 +60,39 @@
</if>
</select>
<select id="selectMinStatusByEntrustIds" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
WITH summary AS (
SELECT p.id,
p.name,
p.code,
p.entrust_id,
p.company_id,
p.status,
ROW_NUMBER() OVER(PARTITION BY p.entrust_id ORDER BY p.status ASC) AS ranks
FROM entrust_sample p
WHERE p.deleted = 0
<if test="null!=entrustIds">
AND p.entrust_id IN
<foreach collection="entrustIds" index="index" item="entrustId" open="(" separator="," close=")">
#{entrustId}
</foreach>
</if>
)
SELECT s.id,
s.name,
s.code,
s.entrust_id,
s.status
FROM summary s
WHERE s.ranks = 1
</select>
</mapper>
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