EBS技术开发之返利开发
返利是指公司间应收款项按一定比率的返还给客户。返利开发实质就是实现对应收发票的更改和新增(暂时我的理解)
一.对发票行更改
PACKAGE AP_INVOICE_LINES_ALL_PRIVATE IS
PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER);
PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER);
END;
PACKAGE BODY AP_INVOICE_LINES_ALL_PRIVATE IS
PROCEDURE INSERT_ROW (X_LINE_NUM OUT NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER)IS
v_row_id VARCHAR2(1000);
v_line_number number;
g_user_id CONSTANT NUMBER := fnd_global.user_id;
g_login_id CONSTANT NUMBER := fnd_global.conc_login_id;
g_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_prog_appl_id CONSTANT NUMBER := fnd_global.prog_appl_id;
g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
x_ccid number;
V_AMOUNT NUMBER;
BEGIN
select max(NVL(line_number,0))
into v_line_number
from AP_INVOICE_LINES_ALL
where invoice_id = :parameter.G_INVOICE_ID;
X_LINE_NUM := v_line_number + 1;
cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
p_ccid =>:parameter.G_CCID,
x_ccid =>x_ccid);
IF P_FLAG = 'CANCEL' THEN
V_AMOUNT := P_AMOUNT;
ELSIF P_FLAG = 'APPLY' THEN
V_AMOUNT := - P_AMOUNT;
END IF;
/*mo_global.init('AP');
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => :parameter.g_org_id);--mo_global.get_current_org_id*/
ap_ail_table_handler_pkg.insert_row(p_rowid => v_row_id,
p_invoice_id => :parameter.G_INVOICE_ID,
p_line_number => X_LINE_NUM,
p_line_type_lookup_code => 'MISCELLANEOUS',--杂项
p_line_group_number => NULL,
p_requester_id => NULL,
p_description => NULL,
p_line_source => NULL,
p_org_id => NULL,
p_inventory_item_id => NULL,
p_item_description => NULL,
p_serial_number => NULL,
p_manufacturer => NULL,
p_model_number => NULL,
p_warranty_number => NULL,
p_generate_dists => NULL,
p_match_type => NULL,
p_distribution_set_id => NULL,
p_account_segment => NULL,
p_balancing_segment => NULL,
p_cost_center_segment => NULL,
p_overlay_dist_code_concat => NULL,
p_default_dist_ccid => x_ccid,--ccid
p_prorate_across_all_items => NULL,
p_accounting_date => :parameter.G_GL_DATE,--gl_date
p_period_name => NULL,
p_deferred_acctg_flag => NULL,
p_def_acctg_start_date => NULL,
p_def_acctg_end_date => NULL,
p_def_acctg_number_of_periods => NULL,
p_def_acctg_period_type => NULL,
p_set_of_books_id => :parameter.G_SET_OF_BOOKS_ID,--
p_amount => V_AMOUNT,--金额
p_base_amount => NULL,
p_rounding_amt => NULL,
p_quantity_invoiced => NULL,
p_unit_meas_lookup_code => NULL,
p_unit_price => NULL,
p_wfapproval_status => 'NOT REQUIRED',--
p_discarded_flag => NULL,
p_original_amount => NULL,
p_original_base_amount => NULL,
p_original_rounding_amt => NULL,
p_cancelled_flag => NULL,
p_income_tax_region => NULL,
p_type_1099 => NULL,
p_stat_amount => NULL,
p_prepay_invoice_id => NULL,
p_prepay_line_number => NULL,
p_invoice_includes_prepay_flag => NULL,
p_corrected_inv_id => NULL,
p_corrected_line_number => NULL,
p_po_header_id => NULL,
p_po_line_id => NULL,
p_po_release_id => NULL,
p_po_line_location_id => NULL,
p_po_distribution_id => NULL,
p_rcv_transaction_id => NULL,
p_final_match_flag => NULL,
p_assets_tracking_flag => NULL,
p_asset_book_type_code => NULL,
p_asset_category_id => NULL,
p_project_id => NULL,
p_task_id => NULL,
p_expenditure_type => NULL,
p_expenditure_item_date => NULL,
p_expenditure_organization_id => NULL,
p_pa_quantity => NULL,
p_pa_cc_ar_invoice_id => NULL,
p_pa_cc_ar_invoice_line_num => NULL,
p_pa_cc_processed_code => NULL,
p_award_id => NULL,
p_awt_group_id => NULL,
p_pay_awt_group_id => NULL, --NUMBER,--bug6639866
p_reference_1 => NULL,
p_reference_2 => NULL,
p_receipt_verified_flag => NULL,
p_receipt_required_flag => NULL,
p_receipt_missing_flag => NULL,
p_justification => NULL,
p_expense_group => NULL,
p_start_expense_date => NULL,
p_end_expense_date => NULL,
p_receipt_currency_code => NULL,
p_receipt_conversion_rate => NULL,
p_receipt_currency_amount => NULL,
p_daily_amount => NULL,
p_web_parameter_id => NULL,
p_adjustment_reason => NULL,
p_merchant_document_number => NULL,
p_merchant_name => NULL,
p_merchant_reference => NULL,
p_merchant_tax_reg_number => NULL,
p_merchant_taxpayer_id => NULL,
p_country_of_supply => NULL,
p_credit_card_trx_id => NULL,
p_company_prepaid_invoice_id => NULL,
p_cc_reversal_flag => NULL,
p_creation_date => sysdate,
p_created_by => g_user_id,
p_last_updated_by => g_user_id,
p_last_update_date => sysdate,
p_last_update_login => g_login_id,
p_program_application_id => NULL,
p_program_id => NULL,
p_program_update_date => sysdate,
p_request_id => NULL,
p_attribute_category => NULL,
p_attribute1 => NULL,
p_attribute2 => NULL,
p_attribute3 => NULL,
p_attribute4 => NULL,
p_attribute5 => NULL,
/* p_attribute6 VARCHAR2 DEFAULT NULL,
p_attribute7 VARCHAR2 DEFAULT NULL,
p_attribute8 VARCHAR2 DEFAULT NULL,
p_attribute9 VARCHAR2 DEFAULT NULL,
p_attribute10 VARCHAR2 DEFAULT NULL,
p_attribute11 VARCHAR2 DEFAULT NULL,
p_attribute12 VARCHAR2 DEFAULT NULL,
p_attribute13 VARCHAR2 DEFAULT NULL,
p_attribute14 VARCHAR2 DEFAULT NULL,
p_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute_category VARCHAR2 DEFAULT NULL,
p_global_attribute1 VARCHAR2 DEFAULT NULL,
p_global_attribute2 VARCHAR2 DEFAULT NULL,
p_global_attribute3 VARCHAR2 DEFAULT NULL,
p_global_attribute4 VARCHAR2 DEFAULT NULL,
p_global_attribute5 VARCHAR2 DEFAULT NULL,
p_global_attribute6 VARCHAR2 DEFAULT NULL,
p_global_attribute7 VARCHAR2 DEFAULT NULL,
p_global_attribute8 VARCHAR2 DEFAULT NULL,
p_global_attribute9 VARCHAR2 DEFAULT NULL,
p_global_attribute10 VARCHAR2 DEFAULT NULL,
p_global_attribute11 VARCHAR2 DEFAULT NULL,
p_global_attribute12 VARCHAR2 DEFAULT NULL,
p_global_attribute13 VARCHAR2 DEFAULT NULL,
p_global_attribute14 VARCHAR2 DEFAULT NULL,
p_global_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute16 VARCHAR2 DEFAULT NULL,
p_global_attribute17 VARCHAR2 DEFAULT NULL,
p_global_attribute18 VARCHAR2 DEFAULT NULL,
p_global_attribute19 VARCHAR2 DEFAULT NULL,
p_global_attribute20 VARCHAR2 DEFAULT NULL,
p_primary_intended_use VARCHAR2 DEFAULT NULL,
p_ship_to_location_id NUMBER DEFAULT NULL,
p_product_fisc_classification VARCHAR2 DEFAULT NULL,
p_user_defined_fisc_class VARCHAR2 DEFAULT NULL,
p_trx_business_category VARCHAR2 DEFAULT NULL,
p_product_type VARCHAR2 DEFAULT NULL,
p_product_category VARCHAR2 DEFAULT NULL,
p_assessable_value NUMBER DEFAULT NULL,
p_control_amount NUMBER DEFAULT NULL,
p_tax_regime_code VARCHAR2 DEFAULT NULL,
p_tax VARCHAR2 DEFAULT NULL,
p_tax_status_code VARCHAR2 DEFAULT NULL,*/
p_tax_rate_code => 'CN_VAT_IN_17',
/* p_tax_rate_id NUMBER DEFAULT NULL,
p_tax_rate NUMBER DEFAULT NULL,
p_tax_jurisdiction_code VARCHAR2 DEFAULT NULL,
p_purchasing_category_id NUMBER DEFAULT NULL,
p_cost_factor_id NUMBER DEFAULT NULL,
p_retained_amount NUMBER DEFAULT NULL,
p_retained_invoice_id NUMBER DEFAULT NULL,
p_retained_line_number NUMBER DEFAULT NULL,
p_tax_classification_code VARCHAR2 DEFAULT NULL,*/
p_calling_sequence => NULL);
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('给应付发票行插值时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END; PROCEDURE UPDATE_ROW (P_LINE_NUM IN NUMBER,P_INVOICE_ID IN NUMBER,P_ORG_ID IN NUMBER)IS
V_AMOUNT NUMBER;
BEGIN
-- fnd_message.debug('@@@P_LINE_NUM'||P_LINE_NUM);
-- fnd_message.debug('@@@P_INVOICE_ID'||P_INVOICE_ID);
SELECT AMOUNT
INTO V_AMOUNT
FROM AP_INVOICE_LINES_ALL
WHERE INVOICE_ID = P_INVOICE_ID
-- AND (ORG_ID = P_ORG_ID or ORG_ID is null)
AND LINE_NUMBER = P_LINE_NUM
FOR UPDATE NOWAIT; UPDATE AP_INVOICE_LINES_ALL
SET AMOUNT = 0
WHERE INVOICE_ID = P_INVOICE_ID
-- AND ORG_ID = P_ORG_ID
AND LINE_NUMBER = P_LINE_NUM;
--commit;
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('更新发票行时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END;
END;
二.对发票分配行更改
PACKAGE AP_DISTRIBUTIONS_PRIVATE IS
PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number);
END;
PACKAGE BODY AP_DISTRIBUTIONS_PRIVATE IS
PROCEDURE INSERT_ROW (P_LINE_NUM IN NUMBER,P_FLAG VARCHAR2,P_AMOUNT NUMBER,p_invoice_id in number)IS
v_row_id VARCHAR2(1000);
v_line_number NUMBER;
g_user_id CONSTANT NUMBER := fnd_global.user_id;
g_login_id CONSTANT NUMBER := fnd_global.conc_login_id;
g_request_id CONSTANT NUMBER := fnd_global.conc_request_id;
g_prog_appl_id CONSTANT NUMBER := fnd_global.prog_appl_id;
g_conc_program_id CONSTANT NUMBER := fnd_global.conc_program_id;
x_ccid number := 0;
p_invoice_distribution_id NUMBER;
V_period_name VARCHAR2(100);
X_DIS_LINE_NUM NUMBER;
V_AMOUNT NUMBER;
BEGIN
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) P_LINE_NUM:'||P_LINE_NUM);
SELECT nvl(MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)),0)
INTO v_line_number
FROM AP_INVOICE_DISTRIBUTIONS_ALL
WHERE invoice_id = p_invoice_id
AND invoice_line_number = P_LINE_NUM; X_DIS_LINE_NUM := v_line_number + 1;
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) v_line_number:'||v_line_number);
-- fnd_message.debug(' SELECT MAX( NVL(DISTRIBUTION_LINE_NUMBER,0)) X_DIS_LINE_NUM:'||X_DIS_LINE_NUM);
V_period_name := cux_gl_public_pkg.get_period_name(p_org_id =>:parameter.g_org_id,
p_gl_date =>:parameter.G_GL_DATE);
cux_cuxaprebate_utl.create_account(p_org_id =>:parameter.g_org_id,
p_ccid =>:parameter.G_CCID,
x_ccid =>x_ccid);
SELECT ap_invoice_distributions_s.nextval INTO p_invoice_distribution_id FROM DUAL; IF P_FLAG = 'CANCEL' THEN
V_AMOUNT := P_AMOUNT;
ELSIF P_FLAG = 'APPLY' THEN
V_AMOUNT := - P_AMOUNT;
END IF;
mo_global.init('AR');
mo_global.set_policy_context(p_access_mode => 'S',
p_org_id => :parameter.g_org_id);--:parameter.g_org_id--mo_global.get_current_org_id
ap_aid_table_handler_pkg.insert_row(p_rowid => v_row_id,
p_invoice_id => p_invoice_id,
p_invoice_line_number => P_LINE_NUM,--行上的信息
p_distribution_class => null,
p_invoice_distribution_id => p_invoice_distribution_id,
p_dist_code_combination_id => x_ccid,--ccid
p_last_update_date => SYSDATE,
p_last_updated_by => g_user_id,
p_accounting_date => sysdate,--gl date
p_period_name => V_period_name,
p_set_of_books_id=> :parameter.G_SET_OF_BOOKS_ID,
p_amount => V_AMOUNT,--金额
p_description => null,
p_type_1099 => null,
p_posted_flag => null,
p_batch_id => null,
p_quantity_invoiced => null,
p_unit_price => null,
p_match_status_flag => null,
p_attribute_category => null,
p_attribute1 => null,
p_attribute2 => null,
p_attribute3 => null,
p_attribute4 => null,
p_attribute5 => null,
p_prepay_amount_remaining => null,
p_assets_addition_flag => 'U',
p_assets_tracking_flag => 'N',
p_distribution_line_number => X_DIS_LINE_NUM,--v_line_number + 1,--
p_line_type_lookup_code => 'MISCELLANEOUS',--杂项
p_po_distribution_id => null,
p_base_amount => null,
p_pa_addition_flag => null,
p_posted_amount => null,
p_posted_base_amount => null,
p_encumbered_flag => null,
p_accrual_posted_flag => null,
p_cash_posted_flag => null,
p_last_update_login => null,
p_creation_date => null,
p_created_by => null,
p_stat_amount => null,
p_attribute11 => null,
p_attribute12 => null,
p_attribute13 => null,
p_attribute14 => 'N',
p_attribute6 => null,
p_attribute7=> null,
p_attribute8 => null,
p_attribute9 => null,
p_attribute10 => null,
p_attribute15 => 'Y',
p_accts_pay_code_comb_id => null,
p_reversal_flag => null,
p_parent_invoice_id => null,
p_income_tax_region => null,
p_final_match_flag => null,
-- Removed for bug 4277744
-- p_Ussgl_Transaction_Code VARCHAR2,
-- p_Ussgl_Trx_Code_Context VARCHAR2,
p_expenditure_item_date => null,
p_expenditure_organization_id => null,
p_expenditure_type => null,
p_pa_quantity => null,
p_project_id => null,
p_task_id => null,
p_quantity_variance => null,
p_base_quantity_variance => null,
p_packet_id => null,
p_awt_flag => null,
p_awt_group_id => null,
p_pay_awt_group_id => null, --bug6639866
p_awt_tax_rate_id => null,
p_awt_gross_amount => null,
p_reference_1 => null,
p_reference_2 => null,
p_org_id => :parameter.g_org_id,--------------------------------
p_other_invoice_id => null,
p_awt_invoice_id => null,
p_awt_origin_group_id => null,
p_program_application_id => null,
p_program_id => null,
p_program_update_date => null,
p_request_id => null,
p_tax_recoverable_flag => null,
p_award_id => null,
p_start_expense_date => null,
p_merchant_document_number => null,
p_merchant_name => null,
p_merchant_tax_reg_number => null,
p_merchant_taxpayer_id => null,
p_country_of_supply => null,
p_merchant_reference => null,
p_parent_reversal_id => null,
p_rcv_transaction_id => null,
p_matched_uom_lookup_code => null,
/* p_global_attribute_category VARCHAR2 DEFAULT NULL,
p_global_attribute1 VARCHAR2 DEFAULT NULL,
p_global_attribute2 VARCHAR2 DEFAULT NULL,
p_global_attribute3 VARCHAR2 DEFAULT NULL,
p_global_attribute4 VARCHAR2 DEFAULT NULL,
p_global_attribute5 VARCHAR2 DEFAULT NULL,
p_global_attribute6 VARCHAR2 DEFAULT NULL,
p_global_attribute7 VARCHAR2 DEFAULT NULL,
p_global_attribute8 VARCHAR2 DEFAULT NULL,
p_global_attribute9 VARCHAR2 DEFAULT NULL,
p_global_attribute10 VARCHAR2 DEFAULT NULL,
p_global_attribute11 VARCHAR2 DEFAULT NULL,
p_global_attribute12 VARCHAR2 DEFAULT NULL,
p_global_attribute13 VARCHAR2 DEFAULT NULL,
p_global_attribute14 VARCHAR2 DEFAULT NULL,
p_global_attribute15 VARCHAR2 DEFAULT NULL,
p_global_attribute16 VARCHAR2 DEFAULT NULL,
p_global_attribute17 VARCHAR2 DEFAULT NULL,
p_global_attribute18 VARCHAR2 DEFAULT NULL,
p_global_attribute19 VARCHAR2 DEFAULT NULL,
p_global_attribute20 VARCHAR2 DEFAULT NULL,*/
p_calling_sequence=>NULL,
/* p_receipt_verified_flag VARCHAR2 DEFAULT NULL,
p_receipt_required_flag VARCHAR2 DEFAULT NULL,
p_receipt_missing_flag VARCHAR2 DEFAULT NULL,
p_justification VARCHAR2 DEFAULT NULL,
p_expense_group VARCHAR2 DEFAULT NULL,
p_end_expense_date DATE DEFAULT NULL,
p_receipt_currency_code VARCHAR2 DEFAULT NULL,
p_receipt_conversion_rate VARCHAR2 DEFAULT NULL,
p_receipt_currency_amount NUMBER DEFAULT NULL,
p_daily_amount NUMBER DEFAULT NULL,
p_web_parameter_id NUMBER DEFAULT NULL,
p_adjustment_reason VARCHAR2 DEFAULT NULL,
p_credit_card_trx_id NUMBER DEFAULT NULL,
p_company_prepaid_invoice_id NUMBER DEFAULT NULL,
-- Invoice Lines Project Stage 1
p_rounding_amt NUMBER DEFAULT NULL,
p_charge_applicable_to_dist_id NUMBER DEFAULT NULL,
p_corrected_invoice_dist_id NUMBER DEFAULT NULL,
p_related_id NUMBER DEFAULT NULL,
p_asset_book_type_code VARCHAR2 DEFAULT NULL,
p_asset_category_id NUMBER DEFAULT NULL,
--ETAX: Invwkb
p_intended_use VARCHAR2 DEFAULT NULL,*\*/
p_rcv_charge_addition_flag => 'N');
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.DEBUG('给应付发票分配行插值时出现错误 : '||SQLERRM);
raise form_trigger_failure;
END; END;
EBS技术开发之返利开发的更多相关文章
- iOS开发——高级技术精选&底层开发之越狱开发第一篇
底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...
- Manual | BSD手册| Linux手册 | 数据库手册 | 编程开发手册 | WEB开发手册 | 软件应用手册 | 网络技术手册 | GNU手册
豆豆手册 □ BSD手册 □ Linux手册 □ 数据库手册 □ 编程开发手册 □ WEB开发手册 □ 软件应用手册 □ 网络技术手册 □ GNU手册 在线手册 首 页 BSD手册 ·FreeBS ...
- Android数据绑定技术一,企业级开发
PS:数据绑定,顾名思义是数据与一些控件或者用户账号等绑定,这样用的好处是便于管理.代码清晰,量少. 首先要了解什么是数据绑定? 为什么要用数据绑定? 怎么用数据绑定? 语法的使用 简单例子,数据绑定 ...
- 基于SpringBoot从零构建博客网站 - 技术选型和整合开发环境
技术选型和整合开发环境 1.技术选型 博客网站是基于SpringBoot整合其它模块而开发的,那么每个模块选择的技术如下: SpringBoot版本选择目前较新的2.1.1.RELEASE版本 持久化 ...
- 使用模拟对象(Mock Object)技术进行测试驱动开发
敏捷开发 敏捷软件开发又称敏捷开发,是一种从上世纪 90 年代开始引起开发人员注意的新型软件开发方法.和传统瀑布式开发方法对比,敏捷开发强调的是在几周或者几个月很短的时间周期,完成相对较小功能,并交付 ...
- [技术博客]Android 开发 Bug Log
[技术博客] Android 开发 Bug Log 大大小小的bug,聪明的愚蠢的都有, 持续记录中...... java.lang.IllegalArgumentException: The sty ...
- iOS开发——高级技术精选&底层开发之越狱开发第二篇
底层开发之越狱开发第二篇 今天项目中要用到检查iPhone是否越狱的方法. Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用 /*方法名: * isJailbroken ...
- iOS开发系列--网络开发
概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博.微信等,这些应用本身可能采用iOS开发,但是所有的数据支撑都是基于后台网络服务器的.如今,网络编程越来越普遍,孤立的应用通常是没有生命力 ...
- 你知道吗?使用任何HTML5开发工具都可开发iOS、Android原生App
APICloud App开发平台一直在不断升级开发工具库,这一年增加了众多开发工具.目的就是让开发者可以选择使用任何自己喜欢的HTML5开发工具去开发App.这次,APICloud把所有关于开发工具的 ...
随机推荐
- HttpClient入门三
我们在爬取网页的时候,由于需要不断的访问目标服务器,因此给目标服务器带来了很多的压力. 因此,很多访问量大的服务器都会有保护措施,如果检测到我们的行为,可以会禁止我们的ip访问. 这个时候,我们就需要 ...
- [ZJOI2013]丽洁体
题目描述 平时的练习和考试中,我们经常会碰上这样的题:命题人给出一个例句,要我们类比着写句子.这种往往被称为仿写的题,不单单出现在小学生的考试中,也有时会出现在中考中.许多同学都喜欢做这种题,因为较其 ...
- [SDOI2016]排列计数
Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...
- 【USACO】 录制唱片
题目描述 贝西想从奶牛摇滚乐队的 N 首歌里挑出一些录制一套专辑.专辑分 K 张唱片,每张唱片可容纳总长为 C 分钟的歌曲.第 i 首歌的长度为 T i 分钟,录制唱片时,唱片之间的歌曲需要保持原本的 ...
- ●BZOJ 1069 [SCOI2007]最大土地面积
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1069 题解: 计算几何,凸包,旋转卡壳 其实和这个题差不多,POJ 2079 Triangl ...
- HDU1348 Wall 凸包
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1348 题意:给出一个凸包,求出与凸包距离 L的外圈周长 凸包模板题,练练Andrew算法求出凸包周长再 ...
- 【完整项目】使用Scrapy模拟HTTP POST,获取完美名字
1. 背景 最近有人委托我给小孩起个名字,说名字最好符合周易五行生克理论,然后给了我个网址,说像是这个网站中的八字测名,输入名字和生辰八字等信息,会给出来这个名字的分数和对未来人生的预测.当父母的自然 ...
- C# 获取当前屏幕DPI
1.通过Graphics类获取 Graphics currentGraphics = Graphics.FromHwnd(new WindowInteropHelper(mainWindow).Han ...
- 15_Python模块化编程_Python编程之路
之前跟大家讲的是一些python的数据基础,从这篇文章开始,我们开始正式学习python的模块化编程 下面我们解释一下什么叫做模块 之前已经讲过怎么去定义一个方法,如果你是用python交互器(自带交 ...
- [HCNA]VLAN配置Trunk接口
实验目的 1.掌握Trunk端口的配置 2.掌握Trunk端口允许所有VLAN通过的配置方法 3.掌握Trunk端口允许特定VLAN通过的配置方法 4.理解干道链路的应用场景 实验仪器 eNSP 实验 ...