update production_duty_record pdr set pending=(select count(pai."id")-count(pc."id") from production_artificial_information pai left join production_computation pc on pc.artificial_information_id=pai."id" and pc.active=true where pai.duty_record_id=pdr."id") where pdr."id"=#{dutyRecordId} update production_duty_record pdr set duty_output=(select coalesce(sum(ppo.product_qty),0) from production_product_output ppo where exists(select 1 from production_product_output_staff ppos where ppos.duty_record_id=pdr."id" and ppo."id"=ppos.product_out_id)) where pdr."id"=#{dutyRecordId} insert into production_duty_record_back(duty_no,duty_date,start_time,end_time,duty_time,shift_id,workstation_id,receive_remark,delivery_remark, create_user,create_time,crew_id,duty_output,is_submit,is_confirm,now_duty_date,duty_month,operator,operating_time,duty_record_id,type,dept_id,work_center) select duty_no,duty_date,start_time,end_time,duty_time,shift_id,workstation_id,receive_remark,delivery_remark,create_user,create_time,crew_id, duty_output,is_submit,is_confirm,now_duty_date,duty_month,update_user,now(),id,#{type},dept_id,work_center from production_duty_record where id=#{id} insert into production_duty_record_back(operator,operating_time,duty_record_id,type) values(#{operator},now(),#{id},'删除') insert into production_duty_record_back(duty_no,duty_date,start_time,end_time,duty_time,shift_id,workstation_id,receive_remark,delivery_remark, create_user,create_time,crew_id,duty_output,is_submit,is_confirm,now_duty_date,duty_month,operator,operating_time,duty_record_id,type,dept_id,work_center) select duty_no,duty_date,start_time,end_time,duty_time,shift_id,workstation_id,receive_remark,delivery_remark,create_user,create_time,crew_id, duty_output,is_submit,is_confirm,now_duty_date,duty_month,update_user,now(),id,#{type},dept_id,work_center from production_duty_record where id in #{id}