Commit ac8d44c8 by lijingjing

修改样品历史查询和不同阶段样品编号显示;

parent 07963575
...@@ -87,4 +87,8 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> { ...@@ -87,4 +87,8 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
boolean makeSingleReport(Long sampleId, Long[] itemIds, Long templateId, Account account); boolean makeSingleReport(Long sampleId, Long[] itemIds, Long templateId, Account account);
List<EntrustSampleVO> getMakeInfoList(EntrustSampleVO entrustSampleVO, Account account); List<EntrustSampleVO> getMakeInfoList(EntrustSampleVO entrustSampleVO, Account account);
boolean updateSampleCodeByEntrustId(Long entrustId, int level);
boolean updateSampleCodeByIds(List<Long> sampleIdsList, int level);
} }
...@@ -14,10 +14,7 @@ import com.patzn.cloud.service.hmhj.entity.Entrust; ...@@ -14,10 +14,7 @@ import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.EntrustReport; import com.patzn.cloud.service.hmhj.entity.EntrustReport;
import com.patzn.cloud.service.hmhj.entity.EntrustReportRelSample; import com.patzn.cloud.service.hmhj.entity.EntrustReportRelSample;
import com.patzn.cloud.service.hmhj.entity.EntrustSample; import com.patzn.cloud.service.hmhj.entity.EntrustSample;
import com.patzn.cloud.service.hmhj.enums.EntrustFlowEnum; import com.patzn.cloud.service.hmhj.enums.*;
import com.patzn.cloud.service.hmhj.enums.EntrustReportStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil; import com.patzn.cloud.service.lims.hmhj.common.LabreOfficeUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustReportMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustReportMapper;
import com.patzn.cloud.service.lims.hmhj.service.*; import com.patzn.cloud.service.lims.hmhj.service.*;
...@@ -206,6 +203,14 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe ...@@ -206,6 +203,14 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
entrustService.submitToNextNode(entrust, account); entrustService.submitToNextNode(entrust, account);
} else { } else {
String remark = (fromFlowStatus.getValue() < toFlowStatus.getValue() ? "提交至" : "驳回至") + toFlowStatus.getDisplay(); String remark = (fromFlowStatus.getValue() < toFlowStatus.getValue() ? "提交至" : "驳回至") + toFlowStatus.getDisplay();
// 若提交至 -> 质量判定,那么需要更改委托状态
if(toFlowStatus == EntrustFlowEnum.QUALITY_JUDGE){
entrust.setStatus(EntrustStatusEnum.QUALITY_CHECK);
entrustService.updateById(entrust);
// 更改样品编码显示形式,由三级变为一级
entrustSampleService.updateSampleCodeByEntrustId(entrust.getId(),1);
}
entrustRecordService.record(new Long[]{entrust.getId()}, fromFlowStatus.getDisplay(), toFlowStatus.getDisplay(), 0, account, remark); entrustRecordService.record(new Long[]{entrust.getId()}, fromFlowStatus.getDisplay(), toFlowStatus.getDisplay(), 0, account, remark);
} }
return true; return true;
......
...@@ -173,6 +173,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp ...@@ -173,6 +173,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
saveBatch(savePrepare); saveBatch(savePrepare);
// 根据样品IDS更新样品编号
// 样品制备 -> 样品接收 相当于从二级编码 变为 三级编码
entrustSampleService.updateSampleCodeByIds(sampleIdsList,3);
List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("status", EntrustSampleStatusEnum.DRAFT)); List<EntrustSample> checkMakeList = entrustSampleService.list(Condition.create().eq("entrust_id", entrust.getId()).eq("status", EntrustSampleStatusEnum.DRAFT));
if (CollectionUtils.isEmpty(checkMakeList)) { if (CollectionUtils.isEmpty(checkMakeList)) {
// String flowStatus = entrust.getFlowStatus(); // String flowStatus = entrust.getFlowStatus();
......
...@@ -409,9 +409,37 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -409,9 +409,37 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
itemStatus = EntrustSampleItemStatusEnum.END; itemStatus = EntrustSampleItemStatusEnum.END;
} }
// 哪一级别
int whichLevel = 1;
int nextFlowVal = nextFlowStatus.getValue().intValue();
// 用数字代码写的少,小于3,草稿和委托评审,对于编码级别不变
// 在等于4,用于二级编码
// 在大于4,小于14,用三级编码,若三级编码不存在,用二级编码
// 在大于等于14,用一级编码
if (nextFlowVal == 4) {
whichLevel = 2;
} else if (nextFlowVal > 4 && nextFlowVal < 14) {
whichLevel = 3;
}
if (null != sampleStatus) { if (null != sampleStatus) {
updateSample.setStatus(sampleStatus); updateSample.setStatus(sampleStatus);
update(updateSample, Condition.create().eq("entrust_id", entrust.getId())); for (EntrustSample sample : sampleList) {
String firstCode = sample.getFirstCode(),
secondCode = sample.getSecondCode(),
thirdCode = sample.getThirdCode();
String sampleCode = firstCode;
if (2 == whichLevel) {
sampleCode = StringUtils.isNotBlank(secondCode) ? secondCode : firstCode;
} else if (3 == whichLevel) {
sampleCode = StringUtils.isNotBlank(thirdCode) ? thirdCode : (StringUtils.isNotBlank(secondCode) ? secondCode : firstCode);
}
sample.setCode(sampleCode);
sample.setStatus(sampleStatus).setProgress(sampleStatus);
}
// update(updateSample, Condition.create().eq("entrust_id", entrust.getId()));
// 批量更新样品编号和状态
updateBatchById(sampleList);
} }
if (null != itemStatus) { if (null != itemStatus) {
updateItem.setStatus(itemStatus); updateItem.setStatus(itemStatus);
...@@ -1651,4 +1679,34 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe ...@@ -1651,4 +1679,34 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
return entrustSamplePrepareService.submitSampleReceive(prepareIds, "扫码接收", account); return entrustSamplePrepareService.submitSampleReceive(prepareIds, "扫码接收", account);
} }
@Override
public boolean updateSampleCodeByEntrustId(Long entrustId, int level) {
if (null == entrustId || 0 == entrustId.longValue()) {
return false;
}
// 根据级别更新样品编号
String fromFiled = "first_code";
if (3 == level) {
fromFiled = " COALESCE(third_code,COALESCE(second_code,first_code)) ";
} else if (2 == level) {
fromFiled = " COALESCE(second_code,first_code) ";
}
return baseMapper.updateForSet(String.format("code=%s", fromFiled), new EntityWrapper<EntrustSample>().eq("entrust_id", entrustId)) > 0;
}
@Override
public boolean updateSampleCodeByIds(List<Long> sampleIdsList, int level) {
if (CollectionUtils.isEmpty(sampleIdsList)) {
return false;
}
// 根据级别更新样品编号
String fromFiled = "first_code";
if (3 == level) {
fromFiled = " COALESCE(third_code,COALESCE(second_code,first_code)) ";
} else if (2 == level) {
fromFiled = " COALESCE(second_code,first_code) ";
}
return baseMapper.updateForSet(String.format("code=%s", fromFiled), new EntityWrapper<EntrustSample>().in("id", sampleIdsList)) > 0;
}
} }
\ No newline at end of file
...@@ -358,6 +358,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -358,6 +358,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
e.setProgress(EntrustStatusEnum.MAKE); e.setProgress(EntrustStatusEnum.MAKE);
e.setFlowStatus(EntrustFlowEnum.MAKE.getName()); e.setFlowStatus(EntrustFlowEnum.MAKE.getName());
updateById(e); updateById(e);
entrustSampleService.updateSampleCodeByEntrustId(e.getId(), 2);
entrustRecordService.record(new Long[]{e.getId()}, EntrustStatusEnum.CHECK.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "提交至样品待制备"); entrustRecordService.record(new Long[]{e.getId()}, EntrustStatusEnum.CHECK.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "提交至样品待制备");
} }
} }
...@@ -385,6 +386,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust> ...@@ -385,6 +386,8 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
e.setFlowStatus(EntrustFlowEnum.MAKE.getName()); e.setFlowStatus(EntrustFlowEnum.MAKE.getName());
updateById(e); updateById(e);
entrustRecordService.record(new Long[]{e.getId()}, EntrustStatusEnum.DRAFT.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "委托登记提交至样品待制备"); entrustRecordService.record(new Long[]{e.getId()}, EntrustStatusEnum.DRAFT.getDisplay(), EntrustStatusEnum.MAKE.getDisplay(), 0, account, "委托登记提交至样品待制备");
// 此处需要批量更新样品编码,根据级别更新
entrustSampleService.updateSampleCodeByEntrustId(e.getId(), 1);
} }
} }
......
...@@ -61,13 +61,13 @@ ...@@ -61,13 +61,13 @@
<!--查询委托历史数据--> <!--查询委托历史数据-->
<select id="selectEntrustVOHisList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO"> <select id="selectEntrustVOHisList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustVO">
SELECT * FROM entrust e WHERE e.deleted = 0 SELECT * FROM entrust e WHERE e.deleted = 0
<if test="null!=vo.itemStatusEnumList"> <if test="null != vo.itemStatusEnumList">
AND exists ( AND exists (
select 1 from entrust_sample s,entrust_sample_item i where s.deleted = 0 and i.deleted = 0 select 1 from entrust_sample s,entrust_sample_item i where s.deleted = 0 and i.deleted = 0
and s.id = i.entrust_sample_id and e.id = s.entrust_id and s.id = i.entrust_sample_id and e.id = s.entrust_id
and i.status IN and i.status IN
<foreach collection="vo.itemStatusEnumList" index="itemStats" item="id" open="(" separator="," close=")"> <foreach collection="vo.itemStatusEnumList" item="item" open="(" separator="," close=")">
#{itemStats} #{item}
</foreach> </foreach>
) )
</if> </if>
......
...@@ -92,8 +92,8 @@ ...@@ -92,8 +92,8 @@
</if> </if>
) )
SELECT i.*,s.name AS "sampleName",e.test_side "testSide",COALESCE(s.third_code,s.code) AS "sampleCode",l.record_id,r.object_key AS "recordObjectKey", SELECT i.*,s.name AS "sampleName",e.test_side "testSide",s.code AS "sampleCode",l.record_id,r.object_key AS "recordObjectKey",
s.compliance_test,s.sample_from,sample_shape,s.second_code,s.third_code,i.in_report s.compliance_test,s.sample_from,sample_shape,s.first_code,s.second_code,s.third_code,i.in_report
FROM i FROM i
JOIN entrust_sample s ON i.entrust_sample_id = s.id JOIN entrust_sample s ON i.entrust_sample_id = s.id
LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id LEFT JOIN ( SELECT id,item_id,record_id FROM item_rel_original_record WHERE deleted = 0 ) l ON i.id = l.item_id
...@@ -215,16 +215,12 @@ ...@@ -215,16 +215,12 @@
ORDER BY s.code , i.name ORDER BY s.code , i.name
</select> </select>
<select id="selectByItemDeviate" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"> <select id="selectByItemDeviate" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO">
SELECT i.id,i.name,i.agreed_value,i.test_value,i.standard,COALESCE(s.third_code,s.code) AS "sampleCode", SELECT i.id,i.name,i.agreed_value,i.test_value,i.standard,
COALESCE(s.third_code,COALESCE(s.second_code,s.first_code)) AS "sampleCode",
i.group_name,i.standard,s.name AS "sampleName",e.client,e.code AS "entrustCode", i.group_name,i.standard,s.name AS "sampleName",e.client,e.code AS "entrustCode",
d.method_code,d.reason,d.method_desc,d.applyer,d.apply_time , d.checker ,d.check_time,d.back_reason,r.object_key d.method_code,d.reason,d.method_desc,d.applyer,d.apply_time , d.checker ,d.check_time,d.back_reason,r.object_key
AS "recordObjectKey" AS "recordObjectKey"
FROM FROM
entrust_sample_item i entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID JOIN entrust_sample s ON i.entrust_sample_id = s.ID
......
...@@ -5,8 +5,9 @@ ...@@ -5,8 +5,9 @@
<select id="selectSampleReceiveList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO"> <select id="selectSampleReceiveList" resultType="com.patzn.cloud.service.hmhj.vo.EntrustSampleVO">
SELECT SELECT
p.id, p.entrust_sample_id,COALESCE(s.third_code,s.code) "code",s.name,s.product_code,s.product_basis_name,s.compose_judge,s.product_standard_id,s.name_code, p.id, p.entrust_sample_id,s.code "code",s.name,s.product_code,s.product_basis_name,s.compose_judge,s.product_standard_id,s.name_code,
s.compliance_test,p.group_id,p.group_name,p.make_type,p.make_quantity,p.store_way,p.store_location,p.maker,p.make_time s.compliance_test,p.group_id,p.group_name,p.make_type,p.make_quantity,p.store_way,p.store_location,p.maker,p.make_time,
s.first_code,s.second_code,s.third_code
FROM FROM
entrust_sample_prepare entrust_sample_prepare
P JOIN entrust_sample s ON P.entrust_sample_id = s.ID P JOIN entrust_sample s ON P.entrust_sample_id = s.ID
...@@ -15,7 +16,6 @@ ...@@ -15,7 +16,6 @@
AND p.entrust_sample_id = #{vo.entrustSampleId} AND p.entrust_sample_id = #{vo.entrustSampleId}
</if> </if>
<if test="null!=vo.prepareStatus"> <if test="null!=vo.prepareStatus">
AND p.status = #{vo.prepareStatus} AND p.status = #{vo.prepareStatus}
</if> </if>
......
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