配种记录修改
This commit is contained in:
@@ -42,8 +42,76 @@
|
||||
<result property="isPregnancyChecked" column="is_pregnancy_checked" />
|
||||
</resultMap>
|
||||
|
||||
<!-- <sql id="selectScBreedRecordVo">-->
|
||||
<!-- select-->
|
||||
<!-- br.id,-->
|
||||
<!-- br.sheep_id,-->
|
||||
<!-- br.ram_id,-->
|
||||
<!-- br.ewe_id,-->
|
||||
<!-- br.technician,-->
|
||||
<!-- br.breed_drugs,-->
|
||||
<!-- br.breed_type,-->
|
||||
<!-- br.create_by,-->
|
||||
<!-- br.create_time,-->
|
||||
<!-- -- 母羊信息(从视图获取)-->
|
||||
<!-- ewe_view.bs_manage_tags as ewe_manage_tags,-->
|
||||
<!-- ewe_view.variety as ewe_variety,-->
|
||||
<!-- ewe_view.parity as ewe_parity,-->
|
||||
<!-- ewe_view.month_age as ewe_month_age,-->
|
||||
<!-- ewe_view.sheepfold_name as ewe_sheepfold_name,-->
|
||||
<!-- ewe_view.breed as ewe_breed_status,-->
|
||||
<!-- ewe_view.controlled as ewe_controlled,-->
|
||||
<!-- ewe_view.comment as ewe_comment,-->
|
||||
<!-- ewe_view.dr_ranch as ranch_name,-->
|
||||
<!-- ewe_view.name as sheep_type,-->
|
||||
<!-- ewe_view.mating_total as mating_count,-->
|
||||
<!-- -- 公羊信息(从视图获取)-->
|
||||
<!-- ram_view.bs_manage_tags as ram_manage_tags,-->
|
||||
<!-- ram_view.variety as ram_variety,-->
|
||||
<!-- -- 配种方式显示(修改:增加3-冲胚、4-自然发情人工授精)-->
|
||||
<!-- CASE br.breed_type-->
|
||||
<!-- WHEN 1 THEN '同期发情'-->
|
||||
<!-- WHEN 2 THEN '本交'-->
|
||||
<!-- WHEN 3 THEN '冲胚'-->
|
||||
<!-- WHEN 4 THEN '自然发情人工授精'-->
|
||||
<!-- ELSE '未知'-->
|
||||
<!-- END as mating_type,-->
|
||||
<!-- -- 发情后配种时间(小时数)-->
|
||||
<!-- TIMESTAMPDIFF(HOUR, br.create_time, NOW()) as time_since_planning,-->
|
||||
<!-- -- 孕检相关信息-->
|
||||
<!-- pr.datetime as pregnancy_check_date,-->
|
||||
<!-- pr.result as pregnancy_result,-->
|
||||
<!-- pr.way as pregnancy_way,-->
|
||||
<!-- pr.fetus_count,-->
|
||||
<!-- pr.technician as pregnancy_technician,-->
|
||||
<!-- pr.remark as pregnancy_remark,-->
|
||||
<!-- pr.id as pregnancy_record_id,-->
|
||||
<!-- -- 配种到孕检间隔天数-->
|
||||
<!-- CASE-->
|
||||
<!-- WHEN pr.datetime IS NOT NULL THEN DATEDIFF(pr.datetime, br.create_time)-->
|
||||
<!-- ELSE NULL-->
|
||||
<!-- END as days_to_pregnancy_check,-->
|
||||
<!-- -- 是否已孕检-->
|
||||
<!-- CASE-->
|
||||
<!-- WHEN pr.id IS NOT NULL THEN 1-->
|
||||
<!-- ELSE 0-->
|
||||
<!-- END as is_pregnancy_checked-->
|
||||
<!-- from sc_breed_record br-->
|
||||
<!-- left join sheep_file ewe_view on br.ewe_id = ewe_view.id-->
|
||||
<!-- left join sheep_file ram_view on br.ram_id = ram_view.id-->
|
||||
<!-- left join sc_pregnancy_record pr on pr.sheep_id = br.ewe_id-->
|
||||
<!-- and pr.is_delete = 0-->
|
||||
<!-- and pr.datetime >= br.create_time-->
|
||||
<!-- and pr.datetime = (-->
|
||||
<!-- select min(pr2.datetime)-->
|
||||
<!-- from sc_pregnancy_record pr2-->
|
||||
<!-- where pr2.sheep_id = br.ewe_id-->
|
||||
<!-- and pr2.is_delete = 0-->
|
||||
<!-- and pr2.datetime >= br.create_time-->
|
||||
<!-- )-->
|
||||
<!-- </sql>-->
|
||||
<sql id="selectScBreedRecordVo">
|
||||
select
|
||||
select DISTINCT
|
||||
br.id,
|
||||
br.sheep_id,
|
||||
br.ram_id,
|
||||
@@ -68,7 +136,7 @@
|
||||
-- 公羊信息(从视图获取)
|
||||
ram_view.bs_manage_tags as ram_manage_tags,
|
||||
ram_view.variety as ram_variety,
|
||||
-- 配种方式显示(修改:增加3-冲胚、4-自然发情人工授精)
|
||||
-- 配种方式显示
|
||||
CASE br.breed_type
|
||||
WHEN 1 THEN '同期发情'
|
||||
WHEN 2 THEN '本交'
|
||||
@@ -99,18 +167,17 @@
|
||||
from sc_breed_record br
|
||||
left join sheep_file ewe_view on br.ewe_id = ewe_view.id
|
||||
left join sheep_file ram_view on br.ram_id = ram_view.id
|
||||
left join sc_pregnancy_record pr on pr.sheep_id = br.ewe_id
|
||||
and pr.is_delete = 0
|
||||
and pr.datetime >= br.create_time
|
||||
and pr.datetime = (
|
||||
select min(pr2.datetime)
|
||||
from sc_pregnancy_record pr2
|
||||
where pr2.sheep_id = br.ewe_id
|
||||
and pr2.is_delete = 0
|
||||
and pr2.datetime >= br.create_time
|
||||
-- 修复:使用子查询确保只返回一条孕检记录
|
||||
left join sc_pregnancy_record pr on pr.id = (
|
||||
select pr2.id
|
||||
from sc_pregnancy_record pr2
|
||||
where pr2.sheep_id = br.ewe_id
|
||||
and pr2.is_delete = 0
|
||||
and pr2.datetime >= br.create_time
|
||||
order by pr2.datetime asc, pr2.id asc
|
||||
limit 1
|
||||
)
|
||||
</sql>
|
||||
|
||||
<select id="selectScBreedRecordList" parameterType="ScBreedRecord" resultMap="ScBreedRecordResult">
|
||||
<include refid="selectScBreedRecordVo"/>
|
||||
<where>
|
||||
@@ -338,4 +405,16 @@
|
||||
set pregnancy_record_id = #{pregnancyRecordId}
|
||||
where id = #{breedRecordId}
|
||||
</update>
|
||||
|
||||
<!-- 如果还需要更新配种次数(可选) -->
|
||||
<update id="incrementSheepMatingCount">
|
||||
update bas_sheep
|
||||
set mating_counts = IFNULL(mating_counts, 0) + 1,
|
||||
mating_total = IFNULL(mating_total, 0) + 1,
|
||||
mating_date = #{matingDate},
|
||||
update_time = NOW(),
|
||||
update_by = #{updateBy}
|
||||
where id = #{sheepId}
|
||||
and is_delete = 0
|
||||
</update>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user