package jnpf.limsMapper;
|
|
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
import jnpf.base.mapper.SuperMapper;
|
import jnpf.limsEntity.LimsJianyanXiangEntity;
|
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Result;
|
import org.apache.ibatis.annotations.Results;
|
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Update;
|
|
import java.util.Date;
|
import java.util.List;
|
|
@Mapper
|
public interface LimsJianyanXiangMapper extends SuperMapper<LimsJianyanXiangEntity> {
|
|
@InterceptorIgnore(others = "Ilg@true")
|
@Select({
|
"<script>",
|
"SELECT f_id AS id, f_foreign_id AS foreignId, f_tenant_id AS tenantId,",
|
"qingyandan_id AS qingyandanId, laiyuan_renwu_id AS laiyuanRenwuId,",
|
"renwu_jianyan_xiang_kuaizhao_id AS renwuJianyanXiangKuaizhaoId,",
|
"biz_type AS bizType, jianyan_liushuihao AS jianyanLiushuihao,",
|
"chanpin_id AS chanpinId, chanpin_bianma AS chanpinBianma,",
|
"chanpin_mingcheng AS chanpinMingcheng, pihao, guige,",
|
"jianyan_xiangmu_bianma AS jianyanXiangmuBianma,",
|
"jianyan_xiangmu_mingcheng AS jianyanXiangmuMingcheng,",
|
"fenxi_leixing AS fenxiLeixing, shifou_waijian AS shifouWaijian,",
|
"shifou_chuju_baogao AS shifouChujuBaogao, waijian_danwei AS waijianDanwei,",
|
"waijian_lururen AS waijianLururen, biaozhun_guiding AS biaozhunGuiding,",
|
"biaozhun_shangxian AS biaozhunShangxian, biaozhun_xiaxian AS biaozhunXiaxian,",
|
"shuju_leixing AS shujuLeixing, jiancha_banzu AS jianchaBanzu,",
|
"jiancha_ren AS jianchaRen, wancheng_riqi AS wanchengRiqi,",
|
"remind_flags AS remindFlags, jianyan_zhuangtai AS jianyanZhuangtai,",
|
"renwu_fenpeiren AS renwuFenpeiren, renwu_fenpei_shijian AS renwuFenpeiShijian,",
|
"jianyan_jieguo AS jianyanJieguo, jianyan_jielun AS jianyanJielun,",
|
"biz_files AS bizFiles, jieguo_luru_riqi AS jieguoLuruRiqi,",
|
"renwu_tuihuiren AS renwuTuihuiren, tuihui_yuanyin AS tuihuiYuanyin,",
|
"renwu_shenheren AS renwuShenheren, fenjian_zhuangtai AS fenjianZhuangtai,",
|
"fenjian_liang AS fenjianLiang, fenjian_danwei AS fenjianDanwei,",
|
"fenjian_fenzhuang_rongqi AS fenjianFenzhuangRongqi,",
|
"fenjian_baocun_tiaojian AS fenjianBaocunTiaojian, fenjian_huanjing AS fenjianHuanjing,",
|
"fenjian_ren AS fenjianRen, fenjian_riqi AS fenjianRiqi,",
|
"yichang_diaocha_leixing AS yichangDiaochaLeixing,",
|
"shifou_zuhe_fenjian AS shifouZuheFenjian, zuhe_id AS zuheId,",
|
"zuhe_fenjian_liang AS zuheFenjianLiang, zuhe_fenjian_danwei AS zuheFenjianDanwei,",
|
"f_delete_mark AS deleteMark, f_delete_time AS deleteTime,",
|
"f_delete_user_id AS deleteUserId, renwu_shenheren_shijian AS renwuShenherenShijian,",
|
"hetonghao, beizhu",
|
"FROM lims_jianyan_xiang",
|
"WHERE f_tenant_id = #{tenantId}",
|
"AND (f_delete_mark IS NULL OR f_delete_mark = 0)",
|
"AND f_id IN",
|
"<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
|
"#{id}",
|
"</foreach>",
|
"</script>"
|
})
|
List<LimsJianyanXiangEntity> selectLiveTasks(
|
@Param("tenantId") String tenantId, @Param("ids") List<String> ids);
|
|
@InterceptorIgnore(others = "Ilg@true")
|
@Update({
|
"<script>",
|
"UPDATE lims_jianyan_xiang",
|
"SET jianyan_jieguo = #{result},",
|
"jianyan_jielun = #{conclusion},",
|
"biz_files = #{files},",
|
"jieguo_luru_riqi = #{recordedAt},",
|
"jianyan_zhuangtai = 'pending_audit',",
|
"yichang_diaocha_leixing = #{investigationType}",
|
"WHERE f_id = #{id}",
|
"AND f_tenant_id = #{tenantId}",
|
"AND jianyan_zhuangtai IN ('pending_test','cancelled','audit_rejected')",
|
"<choose>",
|
"<when test='external'>AND waijian_lururen = #{userId}</when>",
|
"<otherwise>AND jiancha_ren = #{userId}</otherwise>",
|
"</choose>",
|
"AND (f_delete_mark IS NULL OR f_delete_mark = 0)",
|
"</script>"
|
})
|
int submitResult(@Param("tenantId") String tenantId,
|
@Param("id") String id,
|
@Param("userId") String userId,
|
@Param("external") boolean external,
|
@Param("result") String result,
|
@Param("conclusion") String conclusion,
|
@Param("files") String files,
|
@Param("recordedAt") Date recordedAt,
|
@Param("investigationType") String investigationType);
|
|
@InterceptorIgnore(others = "Ilg@true")
|
@Update({
|
"UPDATE lims_jianyan_xiang",
|
"SET renwu_shenheren = #{auditorId},",
|
"jianyan_zhuangtai = 'audited',",
|
"renwu_shenheren_shijian = #{reviewedAt}",
|
"WHERE f_id = #{id}",
|
"AND f_tenant_id = #{tenantId}",
|
"AND jianyan_zhuangtai = 'pending_audit'",
|
"AND (f_delete_mark IS NULL OR f_delete_mark = 0)"
|
})
|
int markAudited(@Param("tenantId") String tenantId,
|
@Param("id") String id,
|
@Param("auditorId") String auditorId,
|
@Param("reviewedAt") Date reviewedAt);
|
|
@InterceptorIgnore(others = "Ilg@true")
|
@Update({
|
"UPDATE lims_jianyan_xiang",
|
"SET renwu_tuihuiren = #{auditorId},",
|
"tuihui_yuanyin = #{note},",
|
"jianyan_zhuangtai = 'audit_rejected'",
|
"WHERE f_id = #{id}",
|
"AND f_tenant_id = #{tenantId}",
|
"AND jianyan_zhuangtai = 'pending_audit'",
|
"AND (f_delete_mark IS NULL OR f_delete_mark = 0)"
|
})
|
int markAuditRejected(@Param("tenantId") String tenantId,
|
@Param("id") String id,
|
@Param("note") String note,
|
@Param("auditorId") String auditorId);
|
|
@InterceptorIgnore(others = "Ilg@true")
|
@Select({
|
"<script>",
|
"SELECT task.f_id, task.f_foreign_id, task.f_tenant_id, task.qingyandan_id AS qingyandanId, task.jianyan_zhuangtai,",
|
"task.shifou_waijian, task.waijian_lururen, task.jiancha_ren, task.biaozhun_guiding,",
|
"task.chanpin_mingcheng, task.pihao, task.guige, task.f_delete_mark,",
|
"task.jianyan_xiangmu_bianma, task.jianyan_xiangmu_mingcheng,",
|
"project.test_definition_id AS testDefinitionId,",
|
"project.match_count AS testDefinitionMatchCount,",
|
"qingyandan.shengchan_riqi AS shengchanRiqi,",
|
"qingyandan.jianyan_leixing AS jianyanLeixing,",
|
"quality_standard.gongyang_danwei AS qualityStandardSource",
|
"FROM lims_jianyan_xiang task",
|
"LEFT JOIN lims_qingyandan qingyandan ON qingyandan.f_id = task.qingyandan_id",
|
"AND qingyandan.f_tenant_id = task.f_tenant_id",
|
"AND (qingyandan.f_delete_mark IS NULL OR qingyandan.f_delete_mark = 0)",
|
"LEFT JOIN zhiliang_biaozhun_guanli_zixiang quality_standard_item",
|
"ON quality_standard_item.f_id = task.f_foreign_id",
|
"AND quality_standard_item.f_tenant_id = task.f_tenant_id",
|
"AND (quality_standard_item.f_delete_mark IS NULL OR quality_standard_item.f_delete_mark = 0)",
|
"LEFT JOIN zhiliang_biaozhun_guanli quality_standard",
|
"ON quality_standard.f_id = quality_standard_item.f_foreign_id",
|
"AND quality_standard.f_tenant_id = task.f_tenant_id",
|
"AND (quality_standard.f_delete_mark IS NULL OR quality_standard.f_delete_mark = 0)",
|
"LEFT JOIN (",
|
"SELECT f_tenant_id, bianma, MIN(f_id) AS test_definition_id, COUNT(*) AS match_count",
|
"FROM jianyan_xiangmu_guanli",
|
"GROUP BY f_tenant_id, bianma",
|
") project ON project.f_tenant_id = task.f_tenant_id",
|
"AND project.bianma = task.jianyan_xiangmu_bianma",
|
"WHERE task.f_tenant_id = #{tenantId}",
|
"AND (task.f_delete_mark IS NULL OR task.f_delete_mark = 0)",
|
"AND task.f_id IN",
|
"<foreach collection='ids' item='id' open='(' separator=',' close=')'>",
|
"#{id}",
|
"</foreach>",
|
"</script>"
|
})
|
@Results({
|
@Result(column = "f_id", property = "id", id = true),
|
@Result(column = "f_foreign_id", property = "foreignId"),
|
@Result(column = "f_tenant_id", property = "tenantId"),
|
@Result(column = "qingyandanId", property = "qingyandanId"),
|
@Result(column = "jianyan_zhuangtai", property = "jianyanZhuangtai"),
|
@Result(column = "shifou_waijian", property = "shifouWaijian"),
|
@Result(column = "waijian_lururen", property = "waijianLururen"),
|
@Result(column = "jiancha_ren", property = "jianchaRen"),
|
@Result(column = "biaozhun_guiding", property = "biaozhunGuiding"),
|
@Result(column = "chanpin_mingcheng", property = "chanpinMingcheng"),
|
@Result(column = "pihao", property = "pihao"),
|
@Result(column = "guige", property = "guige"),
|
@Result(column = "shengchanRiqi", property = "shengchanRiqi"),
|
@Result(column = "jianyanLeixing", property = "jianyanLeixing"),
|
@Result(column = "qualityStandardSource", property = "qualityStandardSource"),
|
@Result(column = "testDefinitionId", property = "testDefinitionId"),
|
@Result(column = "testDefinitionMatchCount", property = "testDefinitionMatchCount"),
|
@Result(column = "jianyan_xiangmu_bianma", property = "jianyanXiangmuBianma"),
|
@Result(column = "jianyan_xiangmu_mingcheng", property = "jianyanXiangmuMingcheng"),
|
@Result(column = "f_delete_mark", property = "deleteMark")
|
})
|
List<LimsJianyanXiangEntity> selectSnapshotTasks(
|
@Param("tenantId") String tenantId, @Param("ids") List<String> ids);
|
}
|