试验管理

This commit is contained in:
cwchen 2024-07-22 15:45:51 +08:00
parent 9c33b375a6
commit c3461adfcf
3 changed files with 73 additions and 1 deletions

View File

@ -335,10 +335,40 @@ public interface ExperimentalMapper {
/** /**
* 判断是否处于审核流程中的数据 * 判断是否处于审核流程中的数据
*
* @param id * @param id
* @return int * @return int
* @author cwchen * @author cwchen
* @date 2024/7/22 14:13 * @date 2024/7/22 14:13
*/ */
int isCheck(Long id); int isCheck(Long id);
/**
* 判断提交数据中是否存在流程数据或者存在待试验项
*
* @param list
* @return int
* @author cwchen
* @date 2024/7/22 15:24
*/
int isNotEditData(List<Long> list);
/**
* 更新收样表中的状态为待审阅
*
* @param list
* @return void
* @author cwchen
* @date 2024/7/22 15:33
*/
void updateSampleStatus(List<Long> list);
/**
* 更新试验表中数据为待审阅
* @param list
* @return void
* @author cwchen
* @date 2024/7/22 15:33
*/
void updateExperStatus(List<Long> list);
} }

View File

@ -307,10 +307,20 @@ public class ExperimentalServiceImpl implements ExperimentalService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ServerResponse commitCheckTestData(ParamsDto dto) { public ServerResponse commitCheckTestData(ParamsDto dto) {
try { try {
// 判断是否提交空数据
if(dto.getIds() == null || dto.getIds().length == 0){ if(dto.getIds() == null || dto.getIds().length == 0){
return ServerResponse.createByErrorMsg(HttpStatus.ERROR,"未提交审查数据"); return ServerResponse.createByErrorMsg(HttpStatus.ERROR,"未提交审查数据");
} }
// 判断提交数据中是否存在流程数据或者存在待试验项
List<Long> list = Arrays.asList(dto.getIds());
int result = mapper.isNotEditData(list);
if(result > 0){
return ServerResponse.createByErrorMsg(HttpStatus.ERROR,"提交数据中存在待试验项或处于审核流程或已试验结束");
}
// 更新收样表中的状态为待审阅
mapper.updateSampleStatus(list);
// 更新试验表中数据为待审阅
mapper.updateExperStatus(list);
} catch (Exception e) { } catch (Exception e) {
log.error(e.toString(), e); log.error(e.toString(), e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

View File

@ -179,6 +179,22 @@
exper_code = #{experCode},check_time = #{checkTime},update_time = #{updateTime},update_user = #{updateUser}, exper_code = #{experCode},check_time = #{checkTime},update_time = #{updateTime},update_user = #{updateUser},
exper_conclu = #{experConclu},remarsk = #{remarsk} WHERE id = #{id} exper_conclu = #{experConclu},remarsk = #{remarsk} WHERE id = #{id}
</update> </update>
<!--更新收样表中的状态为待审阅-->
<update id="updateSampleStatus">
UPDATE tb_sample SET audti_status = 0,process_status = 1
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<!--更新试验表中数据为待审阅-->
<update id="updateExperStatus">
UPDATE tb_exper SET status = 1,audit_status = 0
WHERE sample_id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<!--删除试验依据--> <!--删除试验依据-->
<delete id="delConfigBasis"> <delete id="delConfigBasis">
DELETE FROM tb_config_basis WHERE exper_id = #{id} DELETE FROM tb_config_basis WHERE exper_id = #{id}
@ -452,4 +468,20 @@
(status = 3 AND audit_status = 4) (status = 3 AND audit_status = 4)
) )
</select> </select>
<!--判断提交数据中是否存在流程数据或者存在待试验项-->
<select id="isNotEditData" resultType="java.lang.Integer">
SELECT COUNT(*) FROM tb_sample
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND del_flag = 0
AND (
process_status IS NULL
(audti_status = 0 AND process_status = 1) OR
(audti_status = 0 AND process_status = 2) OR
(audti_status = 0 AND process_status = 3) OR
(audti_status = 1 AND process_status = 4)
)
</select>
</mapper> </mapper>