产品构建表的添加存储过程:

CREATE PROCEDURE [dbo].[BioPurchaseAppInfo_ADD]
@PurchaseID INT OUTPUT,
@Subject NVARCHAR(100),
@DepartMentID INT,
@AppUserId INT,
@RealUserID INT,
@OrderCom NVARCHAR(50),
@SendComID INT,
@OrderTime DATETIME,
@sendType NVARCHAR(50),
@WholeType NVARCHAR(30),
@AcceptUserid INT,
@BillUserID INT,
@BillNo NVARCHAR(30),
@DeleteSate BIT AS
INSERT INTO [BioPurchaseAppInfo](
[Subject],[DepartMentID],[AppUserId],[RealUserID],[OrderCom],[SendComID],[OrderTime],[sendType],[WholeType],
[AcceptUserid],[BillUserID],[BillNo],[DeleteSate]
)VALUES(
@Subject,@DepartMentID,@AppUserId,@RealUserID,@OrderCom,@SendComID,@OrderTime,@sendType,@WholeType,@AcceptUserid,@BillUserID,@BillNo,@DeleteSate
)
SET @PurchaseID = @@IDENTITY

修改的存储过程:

CREATE PROCEDURE [dbo].[BioPurchasePro_Update]
@PurchaseProID INT,
@PurchaseID INT,
@ProID INT,
@ProCount INT,
@ProPrice MONEY,
@isInvoice BIT,
@isPay BIT,
@InvoicePrice MONEY
AS
UPDATE [BioPurchasePro] SET
[PurchaseID] = @PurchaseID,[ProID] = @ProID,[ProCount] = @ProCount,[ProPrice] = @ProPrice,[isInvoice] = @isInvoice,[isPay] = @isPay,[InvoicePrice] = @InvoicePrice
WHERE PurchaseProID=@PurchaseProID

添加的存储过程:

CREATE PROCEDURE [dbo].[BioPurchasePro_ADD]
@PurchaseID INT,
@ProID INT,
@ProCount INT,
@ProPrice MONEY AS
INSERT INTO [BioPurchasePro](
[PurchaseID],[ProID],[ProCount],[ProPrice]
)VALUES(
@PurchaseID,@ProID,@ProCount,@ProPrice
)

修改的存储过程:

CREATE PROCEDURE [dbo].[BioPurchasePro_Update]
@PurchaseProID INT,
@PurchaseID INT,
@ProID INT,
@ProCount INT,
@ProPrice MONEY,
@isInvoice BIT,
@isPay BIT,
@InvoicePrice MONEY
AS
UPDATE [BioPurchasePro] SET
[PurchaseID] = @PurchaseID,[ProID] = @ProID,[ProCount] = @ProCount,[ProPrice] = @ProPrice,[isInvoice]
= @isInvoice,[isPay] = @isPay,[InvoicePrice] = @InvoicePrice
WHERE PurchaseProID=@PurchaseProID

产品批号的存储过程:

CREATE PROCEDURE [dbo].[BioPuchaseProBatch_ADD]
@ProBatchID INT OUTPUT,
@purchaseProID INT,
@batchNum NVARCHAR(50),
@boxNum NVARCHAR(20),
@proCount INT,
@realityProCount INT,
@expirationDate DATETIME,
@makeDate DATETIME
AS
INSERT INTO [BioPuchaseProBatch](
[purchaseProID],[batchNum],[boxNum],[proCount],[realityProCount],[expirationDate],[makeDate]
)VALUES(
@purchaseProID,@batchNum,@boxNum,@proCount,@realityProCount,@expirationDate,@makeDate
)
SET @ProBatchID = @@IDENTITY

转换时间的函数:

SELECT CONVERT(NVARCHAR(20),GETDATE(),120)

创建视图:

CREATE VIEW [dbo].[View_BioPurchaseAppInfo]
AS
SELECT
PurchaseID,
Subject,
DepartMentID,
DepartMent=dbo.FN_GetDepartMentByID(DepartMentID),
AppUserId,
AppUserName=dbo.getUserNameByUserID(AppUserId),
RealUserID,
RealUserName=dbo.getUserNameByUserID(RealUserID),
OrderCom,
sendComID,
CopanyName=dbo.getCustomerByID(SendComID),
CONVERT(NVARCHAR(10),ArrivedTime,120) AS ArrivedTime,
CONVERT(NVARCHAR(10),OrderTime,120) AS OrderTime,
sendType,
WholeType,
AcceptUserid,
BillUserID,
BillUserName=dbo.getUserNameByUserID(BillUserID),
BillNo,
DeleteSate
FROM
BioPurchaseAppInfo

根据产品的编号获取产品的名称:

-- Description:	根据产品的编号获取产品的名称
-- =============================================
CREATE FUNCTION [dbo].[FN_getProNameByProID]
(
@ProID INT
)
RETURNS NVARCHAR(100)
AS
BEGIN
DECLARE @ProName NVARCHAR(50)
SELECT @ProName= ProName FROM BiotbProduct WHERE ProID=@ProID
RETURN @ProName
END

创建视图:

CREATE VIEW [dbo].[View_PurchaseProInfo]
AS
SELECT a.*,b.ProBatchID,b.batchNum,b.boxNum,b.proCount AS BatchProCount,b.realityProCount,b.stockDate,
b.expirationDate,b.makeDate,b.isDeleteSate,b.isAuditing,b.isprinted, ProName=dbo.FN_getProNameByProID(a.ProID)
FROM BioPurchasePro AS a INNER JOIN BioPuchaseProBatch AS b
ON b.purchaseProID = a.PurchaseProID

ERP采购业务(三十七)的更多相关文章

  1. 解析大型.NET ERP系统 业务逻辑设计与实现

    根据近几年的制造业软件开发经验,以我开发人员的理解角度,简要说明功能(Feature)是如何设计与实现的,供参考. 因架构的不同,技术实现上会有所差异,我的经验仅限定于Windows Form程序. ...

  2. 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索

    第三十六~三十七章.搜索智能提示suggestion,附近地点搜索 作者:July.致谢:caopengcs.胡果果.时间:二零一三年九月七日. 题记 写博的近三年,整理了太多太多的笔试面试题,如微软 ...

  3. NeHe OpenGL教程 第三十七课:卡通映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. Java进阶(三十七)java 自动装箱与拆箱

    Java进阶(三十七)java 自动装箱与拆箱 前言 这个是jdk1.5以后才引入的新的内容.java语言规范中说道:在许多情况下包装与解包装是由编译器自行完成的(在这种情况下包装称为装箱,解包装称为 ...

  5. Gradle 1.12用户指南翻译——第三十七章. OSGi 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  6. SAP MM 没有维护MRP 视图的物料可以正常参与采购业务

    SAP MM 没有维护MRP 视图的物料可以正常参与采购业务 Material number: R000006872,没有维护MRP 视图, ​ 也就是没有指定该物料来源是采购还是自制.此种情况下,S ...

  7. SQL注入之Sqli-labs系列第三十六关(基于宽字符逃逸GET注入)和三十七关(基于宽字节逃逸的POST注入)

    0X1 查看源码 function check_quotes($string) { $string= mysql_real_escape_string($string); return $string ...

  8. “全栈2019”Java多线程第三十七章:如何让等待的线程无法被中断

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  9. 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

    第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...

随机推荐

  1. JavaSE学习总结(二)——Java语言基础

    一.Java程序预览 Java的语法与C非常类似,这里先使用几个非常简单的程序以点带面来区分C语Java的区分再细讲每个知识点.该文仅针对有编程基础的朋友参考. 1.1.Hello World 创建j ...

  2. __attribute__的一些相关属性

    __attribute__((format()))  这个format有3个参数. int my(NSString *str,NSString *str1,NSArray*str2,...) __at ...

  3. JAVA记录-Web系统AJAX异步传递路径写法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  4. Codeforces 526D Om Nom and Necklace (KMP)

    http://codeforces.com/problemset/problem/526/D 题意 给定一个串 T,对它的每一个前缀能否写成 A+B+A+B+...+B+A+B+A+B+...+B+A ...

  5. LR(0)文法项目集规范族、DFA和分析表的构建实例

    最近在复习编译原理,考试之前以为自己懂了,眼高手低就没去实践.结果一考试出问题了.... 学习就要脚踏实地,容不得半点模糊.凭着侥幸心理很危险的.以后要引以为戒啊. 特别写出这篇文章 :一来总结一下这 ...

  6. json 不能 dumps datetime 解决办法

    backend.myviews.json_time.py from datetime import date import json from datetime import datetime cla ...

  7. oracle锁表

    一.锁表的处理 Oracle锁表比较简单,查询锁表的session杀掉就可以了. 1.以下几个为相关表 SELECT * FROM V$LOCK; SELECT * FROM V$SQLAREA; S ...

  8. day3 进入指定目录:cd

    想进入指定目录使用cd cd 目录名 进入指定目录 进入系统根目录:cd / 回退命令:cd .. 或者 cd ../ 或者 cd ..// 进入当前用户的主目录:cd 或者 cd ~ 跳转指定目录: ...

  9. python线程,pipe管道通信原理

    Pipe管道: * 管道实例化后会产生两个通道,分别交给两个进程* 通过send和recv来交互数据,这是一个双向的管道,child和parent可以互相收发 from multiprocessing ...

  10. 关于Linux 虚拟机如何才能ping 通外网

    需要虚拟机能够联网.以前都是用桥接模式让虚拟机跟主机通信,这几天查了好多资料,都没有写得很详细,自己捣鼓了很久,把步骤写下来吧. 虚拟机操作步骤: 点击虚拟机的“菜单栏”上的“编辑”,再点击“虚拟网络 ...