仅供参考视图

2024-01-04 00:38
文章标签 视图 仅供参考

本文主要是介绍仅供参考视图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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;

这篇关于仅供参考视图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/567588

相关文章

数据视图(AngularJS)

<!DOCTYPE html><html ng-app="home.controller"><head><meta charset="utf-8"><title>数据视图</title><link href="page/common/css/bootstrap.min.css" rel="stylesheet"><script src="page/common/js/angular.js"></

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

架构全景视图

文章目录 一、战略规划二、业务架构Business Architecture2.1业务架构定义2.2 业务架构组成2.3 TOGAF2.3.1 Archimate建模(重要) 三、数据架构Data Architecture3.1 数据架构定义3.2 数据架构组成 四、应用架构Application Architecture4.1 应用架构定义4.2 应用架构组成 五、技术架构Technol

2409wtl,切换视图

原文 介绍 我从一个基于SDI(单文档接口)WTL向导的应用开始,添加了一些从控件继承的窗口和一些对话框窗口(表单视图),然后才发现我必须,使SDI框架动态加载和卸载子窗口. 本文演示了两个可用来完成的技术:在SDI应用中的视图间动态切换.这是我使用的两个. 技术 1技术:第一个方法涉及按需析构和重建视图实例.这更简单,且在不介意析构和重建窗口对象时效果很好. 2:按需创建视图,然后用

Django 第十七课 -- 视图 - FBV 与 CBV

目录 一. 前言 二. FBV 三. CBV 一. 前言 FBV(function base views) 基于函数的视图,就是在视图里使用函数处理请求。 CBV(class base views) 基于类的视图,就是在视图里使用类处理请求。 二. FBV 基于函数的视图其实我们前面章节一直在使用,就是使用了函数来处理用户的请求,查看以下实例: 路由配置: urlpat

android 动画 ——视图动画(View Animation)

android动画分为视图动画(View Animation)、属性动画(Property Animation) 想看属性动画(Property Animation):请移步至http://blog.csdn.net/u013424496/article/details/51700312 这里我们来说下视图动画(View Animation)的纯代码写法,还有一种是xml调用, 对于xml调

【mysql 视图】Mysql视图的创建

什么是视图? 视图是由查询结果形成的一张虚拟表。也就是我们可以理解为就是一种类似于表的数据对象。 什么时候要用到视图? 如果某个查询结果出现的非常频繁,也就是,要经常拿这个查询结果来做子查询。 视图与表的关系? 视图是表的查询结果,自然表的数据变了,会影响视图的结果。 创建视图 CREATE VIEW v_person as SELECT * from persons; SEL

使用视图方式操作MySQL数据表

7.1  认识视图 7.1.1  视图的含义 视图是一种常用的数据库对象,可以把它看成从一个或几个源表导出的虚表或存储在数据库中的查询,对视图所引用的源表来说,视图的作用类似于筛选。 视图一经定义后,就可以像源表一样被查询、修改和删除。视图为查看和存取数据提供了另外一种途径,使用查询可以完成的大多数操作,使用视图一样可以完成。 使用视图还可以简化数据操作。当通过视图修改数据时,相应源表的数

QGraphicsView、QGraphicsScene和QGraphicsItem图形视图框架(二)疑难杂症

疑难杂症1 1.问题: 设置场景的背景图片时,采用setBackgroundBrush()方法和重写drawBackground()函数得到的结果很不一样,而且通过setSceneRect设置场景原点位置之后得到的结果也有很大区别。 如下图 第一个和第三个中重写了QGraphicsScene的drawBackground()函数,区别在于第一个的场景原点在左上角,第三个的原点在中心。

Oracle数据库(索引、视图、伪列与伪表)

引用推荐博客、数据库网址 http://www.educity.cn/shujuku/1598602.html(希赛数据库学院) http://blog.csdn.net/kingzone_2008/article/details/8182792(索引) http://www.linuxidc.com/Linux/2014-11/109301.htm http://blog.itpub.