UPDATE `sys006` SET `s006_date_create` = '2020-03-31 16:59:47', `s006_id_creater` = 'c186b3da-1f9e-11e9-a0dc-02004c4f4f50', `s006_flag_state` = '正常', `s006_int_line` = 1, `s006_id_table` = NULL, `s006_id_audit` = NULL, `s006_date_audit` = '2020-03-31 16:59:47', `s006_id_dept` = '7bc6d0fd-cc68-11e9-9f24-00163e13f083', `s006_id_com` = '0e4ca95c-8c60-46f5-8c94-46ab44d9da28', `s006_id_main` = NULL, `s006_id_qry` = 'i21_qry_serial_app', `s006_var_qry` = 'app根据流水号查库存信息', `s006_var_sql` = 'SELECT i21_id,i21_date_create,i21_id_creater,i21_flag_state,i21_int_line,\ni21_date_bill,i21_id_clerk,i21_id_source_table,i21_id_source,i21_bill_no,\ni21_id_table,i21_int_year,i21_id_audit,i21_date_audit,i21_int_month,\ni21_id_dept,i21_id_com,i21_id_main,i21_id_flow,i21_date_audit_act,\ni21_var_bill_ori,i21_var_busi_no,i21_id_item,ctlm102_i21_id_item.c102_var_item as ext_c102_var_item__i21_id_item,ctlm102_i21_id_item.c102_id_pack as ext_c102_id_pack__i21_id_item,\nctlm102_i21_id_item.c102_id_prop as ext_c102_id_prop__i21_id_item,ctlm102_i21_id_item.c102_flag_out as ext_c102_flag_out__i21_id_item,ctlm102_i21_id_item.c102_flag_recycle as ext_c102_flag_recycle__i21_id_item,i21_var_item,i21_code_item,\ni21_var_serial,i21_var_batch,i21_dec_tag,i21_dec_tare,i21_dec_in,\ni21_dec_end,i21_dec_move,i21_id_unit,i21_date_prod,i21_date_expire,\ni21_id_sup,ctlm202_i21_id_sup.c202_var_supp as sel_i21_id_sup,i21_dec_in_qty,i31_dec_end_qty AS i21_dec_end_qty,i21_dec_move_qty,\ni21_id_wh,i21_id_loc,i21_id_container,i21_int_bag_count,i21_flag_half,\ni21_flag_checked,i21_flag_occu,i21_flag_closed,i21_id_terminal,i21_dec_out,\ni21_dec_out_qty,i21_flag_lock,i21_flag_tag,i21_id_pack,i21_var_batch_prod,\ni21_var_cata,c102_flag_sale,i21_id_supp,i21_var_supp,i21_id_customer,\nc102_var_store,i21_date_recheck,ctlm102_i21_id_item.c102_id_item_type,i31_date_bill AS date_in\nFROM inv21\nLEFT JOIN ctlm102 AS ctlm102_i21_id_item ON i21_id_item=ctlm102_i21_id_item.c102_id\nLEFT JOIN ctlm202 AS ctlm202_i21_id_sup ON i21_id_sup=ctlm202_i21_id_sup.c202_id   \nLEFT JOIN inv31 ON i31_id = i21_var_serial \nWHERE i21_var_serial = :var_serial \nAND i21_id_wh = :id_wh \nAND i21_flag_state=\"正常\"', `s006_var_param` = NULL, `s006_flag_ret` = 'json' WHERE `s006_id` = 'f65ad44c-732d-11ea-9371-20cf30ea973a';
DELIMITER //
DROP PROCEDURE if EXISTs `proc_deal_inv22_back_out`;//
DELIMITER ;

DELIMITER //
CREATE PROCEDURE `proc_deal_inv22_back_out`(IN var_serial VARCHAR(60),in ids varchar(60),in types varchar(60),in var_source varchar(60),out int_result int)
begin
		DECLARE ori_weight DECIMAL(20,7) DEFAULT 0;
		#领料单id
		DECLARE id_picking_order VARCHAR(60);
		
    #退库出库
    set int_result = 0;
		
		#找该流水号最近一次领料记录对应的领料单
		SELECT i22_id_main INTO id_picking_order
		FROM inv22 WHERE i22_var_source = '领料单'
		AND i22_var_serial = var_serial
		ORDER BY i22_date_create DESC 
		LIMIT 1;
		
		IF IFNULL(id_picking_order,'') != '' THEN
			#将此次退库操作记录在对应的领料单中
			INSERT INTO out115(o115_id_o11,o115_id_i22,o115_var_serial,o115_id_back_loc,o115_id_back_i22,o115_flag_received)
			SELECT id_picking_order,ids,var_serial,'','','';
		END IF;
		
		DELETE FROM inv21 WHERE i21_var_serial = var_serial;
		
		SELECT i31_dec_end INTO ori_weight
		FROM inv31 WHERE i31_id = var_serial;
		
		#i31_var_cata记录选择的退回仓库
		UPDATE inv31,inv22 
		SET i31_flag_inv = 'back',
		i31_var_remark = i22_var_remark,
		i31_id_loc = '',
		i31_dec_end = i22_dec_weight,
		i31_dec_pack_gross = i22_dec_pack_gross,
		i31_var_cata = i22_var_cata,
		i31_id_source_table = i22_id_source_ori,
		i31_dec_end_qty = IF(i22_dec_qty > i31_dec_in_qty,i31_dec_in_qty,i22_dec_qty),
		i31_flag_half = IF(i22_dec_weight <> ori_weight,'Y',i31_flag_half)
		WHERE i31_id = var_serial
		AND i22_id = ids;
end//
DELIMITER ;