仅供参考视图
来源:互联网 发布:成都魔方软件 编辑:程序博客网 时间:2024/06/05 20:21
1. 订单付款视图
CREATE OR REPLACE VIEW view_class_payment_info AS
SELECT p.order_number, p.class_name, p.paid_amount, p.paid_amount_real
FROM view_temp_payment_info p
WHERE p.paid_amount <> p.paid_amount_real;
CREATE OR REPLACE VIEW view_temp_payment_info AS
SELECT a.order_number, a.class_name,
CASE
WHEN a.paid_amount IS NULL THEN 0::numeric
ELSE a.paid_amount
END AS paid_amount,
CASE
WHEN b.paid_amount_real IS NULL THEN 0::numeric
ELSE b.paid_amount_real
END AS paid_amount_real
FROM viewpayquery_temp_payable_detail a
LEFT JOIN viewpayquery_temp_paid_detail b ON b.refer_order_number::text = a.order_number::text;
CREATE OR REPLACE VIEW viewpayquery_temp_payable_detail AS
SELECT a.order_number, 'InboundOrder' AS class_name, a.paid_amount
FROM inbound_order a
WHERE a.order_state::text = '有效'::text
UNION ALL
SELECT a.order_number, 'SaleInvoice' AS class_name, a.paid_amount
FROM sale_invoice a
WHERE a.order_state::text = '有效'::text;
CREATE OR REPLACE VIEW viewpayquery_temp_paid_detail AS
SELECT a.refer_order_number, sum(a.sub_total_amt) AS paid_amount_real
FROM inbound_payment_item a
WHERE a.order_state::text = '有效'::text
GROUP BY a.refer_order_number
UNION ALL
SELECT a.refer_order_number, sum(a.sub_total_amt) AS paid_amount_real
FROM sale_receive_item a
WHERE a.order_state::text = '有效'::text
GROUP BY a.refer_order_number;
public static int makePaymentInfoConsistent(Session session)
throws Exception {
String query = "from ViewClassPaymentInfo ";
List list = session.createQuery(query).list();
int total = 0;
if (null != list && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
ViewClassPaymentInfo info = (ViewClassPaymentInfo) list.get(i);
String update = "update " + info.getClassName()
+ " o set o.paidAmount=" + info.getPaidAmountReal()
+ ",o.lastModifyTime=:time, o.dataOwner=:owner "
+ " where o.orderNumber='"+ info.getOrderNumber() + "'";
Query cmd = session.createQuery(update);
// update the last update time
cmd.setTimestamp("time", new Timestamp(System
.currentTimeMillis()));
// set dataOwner here
cmd.setString("owner", UnitInfoUtil.getThisUnitCode());
int num = cmd.executeUpdate();
total = total + num;
}
}
return total;
}
2. 订单退款视图
CREATE OR REPLACE VIEW view_class_return_info AS
SELECT p.order_number, p.class_name, p.return_amount, p.return_amount_real
FROM view_temp_return_info p
WHERE p.return_amount <> p.return_amount_real;
CREATE OR REPLACE VIEW view_temp_return_info AS
SELECT a.order_number, a.class_name,
CASE
WHEN a.return_amount IS NULL THEN 0::numeric
ELSE a.return_amount
END AS return_amount,
CASE
WHEN b.return_amount_real IS NULL THEN 0::numeric
ELSE b.return_amount_real
END AS return_amount_real
FROM viewpayquery_temp_returnable_detail a
LEFT JOIN viewpayquery_temp_returned_detail b ON b.refer_order_number::text = a.order_number::text;
CREATE OR REPLACE VIEW viewpayquery_temp_returnable_detail AS
SELECT a.order_number, 'InboundOrder' AS class_name, a.return_amount
FROM inbound_order a
WHERE a.order_state::text = '有效'::text
UNION ALL
SELECT a.order_number, 'SaleInvoice' AS class_name, a.return_amount
FROM sale_invoice a
WHERE a.order_state::text = '有效'::text;
CREATE OR REPLACE VIEW viewpayquery_temp_returned_detail AS
SELECT a.refer_order_number, sum(a.sub_total_amt) AS return_amount_real
FROM inbound_return_item a
WHERE a.order_state::text = '有效'::text AND a.classification_status1::text = '冲抵往来'::text
GROUP BY a.refer_order_number
UNION ALL
SELECT a.refer_order_number, sum(a.sub_total_amt) AS return_amount_real
FROM sale_return_item a
WHERE a.order_state::text = '有效'::text AND a.classification_status1::text = '冲抵往来'::text
GROUP BY a.refer_order_number;
public static int makeReturnInfoConsistent(Session session)
throws Exception {
String query = "from ViewClassReturnInfo ";
List list = session.createQuery(query).list();
int total = 0;
if (null != list && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
ViewClassReturnInfo info = (ViewClassReturnInfo) list.get(i);
String update = "update " + info.getClassName()
+ " o set o.returnAmount=" + info.getReturnAmountReal()
+ ",o.lastModifyTime=:time, o.dataOwner=:owner "
+ " where o.orderNumber='"+ info.getOrderNumber() + "'";
Query cmd = session.createQuery(update);
// update the last update time
cmd.setTimestamp("time", new Timestamp(System
.currentTimeMillis()));
// set dataOwner here
cmd.setString("owner", UnitInfoUtil.getThisUnitCode());
int num = cmd.executeUpdate();
total = total + num;
}
}
return total;
}
CREATE OR REPLACE VIEW view_class_received_quantity_info AS
SELECT a.database_id, a.order_number, a.item_number, a.class_name, a.received_quantity_real, a.received_quantity
FROM tempv_received_quantity_info a
WHERE a.received_quantity_real <> a.received_quantity;
CREATE OR REPLACE VIEW tempv_received_quantity_info AS
SELECT a.database_id, a.order_number, a.item_number, a.class_name,
CASE
WHEN b.received_quantity_real IS NULL THEN 0::numeric
ELSE b.received_quantity_real
END AS received_quantity_real,
CASE
WHEN a.received_quantity IS NULL THEN 0::numeric
ELSE a.received_quantity
END AS received_quantity
FROM tempv_received_quantity_detail a
LEFT JOIN tempv_real_received_quantity_detail b ON b.refer_order_number::text = a.order_number::text AND b.refer_item_number = a.item_number;
CREATE OR REPLACE VIEW tempv_received_quantity_detail AS
SELECT a.database_id, a.order_number, a.item_number, 'PurchaseOrderItem' AS class_name, a.commit_quantity AS received_quantity
FROM purchase_order_item a
WHERE a.order_state::text = '有效'::text
UNION ALL
SELECT a.database_id, a.order_number, a.item_number, 'SaleOrderItem' AS class_name, a.commit_quantity AS received_quantity
FROM sale_order_item a
WHERE a.order_state::text = '有效'::text;
CREATE OR REPLACE VIEW tempv_real_received_quantity_detail AS
SELECT a.refer_order_number, a.refer_item_number, sum(a.unit_quantity) AS received_quantity_real
FROM inbound_order_item a
WHERE a.refer_order_number IS NOT NULL AND a.refer_item_number IS NOT NULL AND a.order_state::text = '有效'::text
GROUP BY a.refer_order_number, a.refer_item_number
UNION ALL
SELECT a.refer_order_number, a.refer_item_number, sum(a.unit_quantity) AS received_quantity_real
FROM sale_invoice_item a
WHERE a.refer_order_number IS NOT NULL AND a.refer_item_number IS NOT NULL AND a.order_state::text = '有效'::text
GROUP BY a.refer_order_number, a.refer_item_number;
- 仅供参考视图
- 仅供参考视图2(现金银行)
- 仅供参考
- ITIL,仅供参考!
- C++ 一段代码仅供参考
- 中国大学排行榜(仅供参考)
- C#术语 仅供参考
- 移动笔试题(仅供参考)
- 手动建立uclibc(仅供参考)
- 简单小布局,仅供参考
- 翻译(汉译英) 仅供参考
- 动态加载panel----仅供参考
- Moss调查问卷--仅供参考
- 软件工程复习资料(仅供参考)
- 图片内容。。。仅供参考
- 列举一些计算机病毒,仅供参考。
- Ant脚本模板,仅供参考
- C++/C试题(仅供参考!!!)
- linux字符界面和图形界面切换方法
- 扒网页~~~
- java 方法参数引用常见错误
- C专家编程 笔记
- sql基础
- 仅供参考视图
- 使用DHCP,为开发板自动分配IP地址
- 调用的方法addFrameScript可能未定义
- ASP.NET MVC – 关于Action返回结果类型的事儿(上)
- 桥接模式(Bridge)-将抽象部分与它的实现部分分离,使它们都可以独立地变化。
- 一个程序员应该怎样去学习和掌握计算机英语
- SQL取出第 m 条到第 n 条记录
- vs2005c++下使用部分activex控件概述及问题
- 很形象的比喻