ERP退货系统管理(四十五)
添加的存储过程:(添加退货申请信息的存储过程)
CREATE PROCEDURE [dbo].[BioBackSendGoods_ADD]
@SendBackID INT OUTPUT,
@SubJect NVARCHAR(100),
@AppUserID INT,
@DepartMentID INT,
@EndTimeLimit DATETIME,
@SendUnit NVARCHAR(100),
@BackUnit INT,
@SendID INT,
@SendAppUser INT,
@SendRealUser INT,
@SendDate DATETIME,
@BackRealUser INT
AS
INSERT INTO [BioBackSendGoods](
[SubJect],[AppUserID],[DepartMentID],[EndTimeLimit],[SendUnit],[BackUnit],[SendID],[SendAppUser],[SendRealUser],[SendDate],[BackRealUser]
)VALUES(
@SubJect,@AppUserID,@DepartMentID,@EndTimeLimit,@SendUnit,@BackUnit,@SendID,@SendAppUser,@SendRealUser,@SendDate,@BackRealUser
)
SET @SendBackID = @@IDENTITY
GO
视图:
CREATE VIEW [dbo].[BioBackSendGoodsViews]
AS
SELECT
SendBackID,
SubJect,
AppUserID,
AppUserName=dbo.getUserNameByUserID(AppUserID),
SubmitTime,
DepartMentID,
DepartMentName=dbo.FN_GetDepartMentByID(DepartMentID),
EndTimeLimit,
DeleteSate,
SendUnit,
BackUnit,
BackUnitName=dbo.getCustomerByID(BackUnit),
SendID,
SendAppUser,
SendAppUserName=dbo.getUserNameByUserID(SendAppUser),
SendRealUser,
SendRealUserName=dbo.getUserNameByUserID(SendRealUser),
SendDate,
BackRealUser,
BackRealUserName=dbo.getUserNameByUserID(BackRealUser),
DoneTime,
isQualityCheck,
QualityUserID,
QualityUserName=dbo.getUserNameByUserID(QualityUserID),
isfinance,
FinanceUserID,
FinanceUserName=dbo.getUserNameByUserID(FinanceUserID),
StockUserid,
StockUserName=dbo.getUserNameByUserID(StockUserid),
IsStockAllow,
StockID,
StockName=dbo.FN_getStockNameByStockID(StockID),
BackProTotalCount=ISNULL(dbo.FN_getTotalProCount(SendBackID),0),
BackProTotalMoney=ISNULL(dbo.FN_getTotalProMoney(SendBackID),0)
FROM
BioBackSendGoods
添加退货产品信息的存储过程:
CREATE PROCEDURE [dbo].[BioBackGoodsPro_ADD]
@BackSendID INT,
@ProID INT,
@ProName NVARCHAR(100),
@SendCount INT,
@BackGoodsCount INT,
@BackProBaths NVARCHAR(100),
@SendPrice MONEY,
@BackPrice MONEY,
@StockDate DATETIME,
@ExPriationDate DATETIME,
@MakeDate DATETIME,
@ReturnBackBox NVARCHAR(100),
@proBaths NVARCHAR(100) AS
INSERT INTO [BioBackGoodsPro](
[BackSendID],[ProID],[ProName],[SendCount],[BackGoodsCount],[BackProBaths],[SendPrice],[BackPrice],[StockDate],[ExPriationDate],
[MakeDate],[ReturnBackBox],[proBaths]
)VALUES(
@BackSendID,@ProID,@ProName,@SendCount,@BackGoodsCount,@BackProBaths,@SendPrice,@BackPrice,@StockDate,@ExPriationDate,
@MakeDate,@ReturnBackBox,@proBaths
)
退货申请的前端页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="BackSendGoodsNew.aspx.cs"
Transaction="Required" Inherits="BioErpWeb.BackSendGoods.BackSendGoodsNew" %> <%@ Register Src="../UserControl/BaseTop.ascx" TagName="BaseTop" TagPrefix="uc2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<link href="../Styles/Style.css" rel="stylesheet" type="text/css" />
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="../Scripts/jquery.validate.js" type="text/javascript"></script>
<script src="../Scripts/validateExtender.js" type="text/javascript"></script>
<script src="../Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>
<script src="../Scripts/jquery.metadata.js" type="text/javascript"></script>
<link href="../Styles/InputStyle1.css" rel="stylesheet" type="text/css" />
<script src="../JS/CheckDepartMent.js" type="text/javascript"></script>
<script src="../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
<link href="../Scripts/jquery-ui-1.7.custom.css" rel="stylesheet" type="text/css" />
<script src="../JS/CheckUserName.js" type="text/javascript"></script>
<script src="../JS/CustomerName.js" type="text/javascript"></script>
<script src="../JS/ProNameChoose.js" type="text/javascript"></script>
<script src="../JS/SendNumberCheck.js" type="text/javascript"></script>
<script src="../Scripts/Comm.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#form1").validate();
}); </script>
<style type="text/css">
.trbar
{
background-color: #eeeeee;
}
.w80
{
width: 80px;
}
.w100
{
width: 100px;
}
.w150
{
width: 150px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<table class="maintable Inupttable" style="width: 900px;">
<tr>
<td colspan="8">
<uc2:BaseTop ID="BaseTop1" runat="server" />
</td>
</tr>
<tr>
<td class="w80">
申请部门
</td>
<td class="w150">
<asp:DropDownList ID="ddlDepartMent" runat="server">
</asp:DropDownList>
</td>
<td class="style14">
制表人
<asp:Label ID="lbApplayUser" runat="server"></asp:Label>
</td>
<td>
经手人
</td>
<td>
<asp:TextBox ID="txtRealUserID" CssClass="{required:true,digits:true, min:1}" runat="server"
Width="78px"></asp:TextBox>
<input id="btnUser" type="button" value="选择" class="btnchoose" onclick="showDialog3()" />
</td>
<td>
制表时间
</td>
<td>
<asp:Label ID="lbTime" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</table>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table class="maintable Inupttable" style="width: 900px;">
<tr>
<td>
<span>退货客户</span><span>
<asp:TextBox ID="txtSendCom" runat="server" Width="59px" CssClass="{required:true,digits:true, min:1}"
OnTextChanged="txtSendCom_TextChanged"></asp:TextBox>
<asp:Button ID="Button2" runat="server" Text="选择" UseSubmitBehavior="false" class="btnchoose"
OnClientClick="showCustomerDialog3()" />
<asp:Label ID="Label2" runat="server" Text="→" ForeColor="Green"></asp:Label>
<asp:Label ID="lbCustomer" runat="server" Text=""></asp:Label>
</span><span>选择退货单据</span> <span>
<asp:TextBox ID="txtSendNumber" runat="server"
ontextchanged="txtSendNumber_TextChanged"></asp:TextBox>
<asp:Button ID="Button3" runat="server" class="btnchoose" OnClientClick="{showBackSendNumber($('#txtSendCom').val())}"
Text="选择" UseSubmitBehavior="false" />
<asp:Label ID="Label1" runat="server" CssClass="red" Text="提示:请按箭头指向顺序操作,如知道发货单单号,可直接在下面输入发货单号查询">
</asp:Label>
</span>
</td>
</tr>
<tr>
<td>
<div>
<asp:Label ID="Label7" runat="server" CssClass="gray2" Text="以下信息为对应发货单原始记录,如需退货请在填写必要信息:"></asp:Label>
</div>
</td>
</tr>
</table>
<table class="maintable Inupttable" style="width: 900px;">
<tr>
<td>
退货单据
</td>
<td>
<asp:TextBox ID="txtSendID1" Width="60px" runat="server" AutoPostBack="True"
ontextchanged="txtSendID1_TextChanged"></asp:TextBox>
</td>
<td class="style6">
发货商
</td>
<td class="style8">
<asp:TextBox ID="txtSendUnit" ReadOnly="true" runat="server"></asp:TextBox>
</td>
<td class="style11">
退货商
</td>
<td>
<asp:TextBox ID="txtBackUnit" ReadOnly="true" runat="server"></asp:TextBox>
</td>
<tr>
<td>
发货申请人
</td>
<td>
<asp:TextBox ID="txtSenApplay" ReadOnly="true" Width="60px" runat="server"></asp:TextBox>
</td>
<td class="style6">
发货经手人
</td>
<td class="style8">
<asp:TextBox ID="txtSendRealUser" ReadOnly="true" runat="server"></asp:TextBox>
</td>
<td class="style11">
发货时间
</td>
<td>
<asp:TextBox ID="txtSendDate" ReadOnly="true" runat="server"></asp:TextBox>
</td>
</tr>
</table> <table id="tb2" cellpadding="0" border="0" cellspacing="0" class="maintable Inupttable"
style="width: 900px;">
<tr> <td class="blue4">
产 品 名 称 及 规 格( 批号货号信息 )
</td>
<td class="blue4">
可退货数量
</td>
<td class="blue4">
退货数量
</td>
<td class="blue4">
发货价
</td>
<td class="blue4">
退货价
</td>
<td class="blue4">
批号
</td>
<td class="blue4">
退货货号
</td>
<td class="blue4">
入库日期
</td>
<td class="blue4">
近效期
</td>
<td class="blue4">
生产日期
</td> </tr> <tr>
<td id="td2" class="blue4" style="width: 200px;">
<input id="txtProName0" readonly="readonly" name="txtProName0" type="text" class="input"
style="color: green; width: 200px" />
<input name="txtProID" type="hidden" />
</td>
<td>
<input id="txtProCount0" readonly="readonly" name="txtProCount0" class="input" type="text"
style="color: green; width: 60px;" />
</td>
<td>
<input id="txtBacknum" name="txtBaxknum" maxlength="7" title="提示:这里填写退货数量,如果此产品不退货,请保持它的默认值0。"
class="input" style="width: 60px;" type="text" value="0" />
</td>
<td>
<input id="txtProPrice0" readonly="readonly" name="txtProPrice0" class="input" style="color: green;
width: 60px" type="text" />
</td>
<td>
<input id="txtbackPrice" name="txtbackPrice" maxlength="8" class="input" title="提示:此处填写退货价格,此处默认为发货价格,可以根据需要修改"
style="width: 60px;" type="text" value="0" />
</td>
<td class="blue4">
<input id="txtProBatch0" name="txtProBatch0" readonly="readonly" class="input" style="width: 85px;
color: green" type="text" />
</td>
<td>
<input id="txtProBoxNum0" name="txtProBoxNum0" class="input" style="width: 105px;"
maxlength="50" title="提示:此处填写货号,此处为默认货号,可根据需要修改" type="text" />
</td>
<td>
<input id="txtMarkDate0" readonly="readonly" name="txtStockDate0" class="input" style="width: 70px;
color: green" type="text" />
</td>
<td>
<input id="txtExPirationDate0" readonly="readonly" name="txtExPirationDate0" class="input"
style="width: 70px; color: green" type="text" />
</td>
<td>
<input id="txtMakeDate" name="txtMakeDate" class="input" title="提示:此处生产日期默认'1900-01-01',
如果知道真实生产日期,请修改为退货产品的真实日期;如果不知道,请保持默认值。格式:YYYY-MM-DD" style="width:75px;" type="text" value="1900-01-01" />
</td> </tr>
</table> </ContentTemplate>
</asp:UpdatePanel> <table class="maintable Inupttable" style="width: 900px;">
<tr>
<td>
备注:
</td>
<td colspan="5">
<asp:TextBox ID="txtRemark" runat="server" Width="523px"></asp:TextBox>
</td>
<td>
审批核人
</td>
<td>
<asp:TextBox ID="txtNetUserId" CssClass="{required:true,digits:true, min:1}" runat="server"
Width="70px"></asp:TextBox>
<input id="btnUser0" type="button" value="选择" class="btnchoose" onclick="showDialog3()" />
</td>
</tr>
<tr>
<td colspan="8" class="bottomtd"> <asp:Button ID="btnSubmit0" runat="server" Text="暂存" OnClick="btnSubmit0_Click" />
<asp:Button ID="btnSubmit" runat="server" Text="保存" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
<asp:HiddenField ID="hf_applayUserid" runat="server" />
<asp:HiddenField ID="hfBackUnitID" runat="server" />
<asp:HiddenField ID="hfBackApplayUserid" runat="server" />
<asp:HiddenField ID="hfBackRealUserid" runat="server" />
<br />
<br />
</div>
</form>
</body>
</html>
前端js:
//客户选择对话框
function showBackSendNumber(backUnitID) {
if (backUnitID == undefined || backUnitID == '' || backUnitID == '请选择') {
alert('请先选择退货单位');
return false;
}
var backunitid = backUnitID;
var re = showModalDialog("../../PersonList/SendNOList.aspx?backUnitID=" + backunitid,"", "dialogWidth=320px;dialogHeight=350px");
var obj = window.event.srcElement;
var td = obj.parentNode;
var txts = td.getElementsByTagName('input');
if (re == null || re == "") { if (txts[0].value == "" || txts[0].value == null) {
txts[0].value = "请选择";
}
}
else {
txts[0].value = re;
}
}
选择的嵌套页面的前台:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendNOList.aspx.cs" Inherits="BioErpWeb.PersonList.SendNOList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<link href="../Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function search() {
if (document.getElementById("txtSearchName").value == "") {
alert("请输入退货单号(模糊查询)");
return false;
}
} function choose() {
var value = document.getElementById("sltUserList").value;
window.returnValue = value;
window.close();
} </script> <style type="text/css">
#PersonIframeList
{
height: 233px;
}
</style> </head>
<body>
<form id="form1" runat="server">
<div> <br />
<table>
<tr>
<td>
<span>退货单据
<input id="txtSearchName" name="txtSearchName" runat="server" type="text" size="50" style="width: 150px;"
maxlength="50" />
</span> <asp:Button ID="Button1" runat="server"
OnClientClick="search()" Text="查询" onclick="Button1_Click" />
</td>
</tr>
<tr>
<td>
<select multiple="multiple" id="sltUserList" onchange="choose()"
style=" width:292px; margin:0px; height: 187px;">
<%=this.GetUserList%>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: bottom;" class="bottomtd">
<span id="chooseProName">
<input type="button" value="选择" onclick="choose()" style="width: 100px;" />
</span>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
ERP退货系统管理(四十五)的更多相关文章
- NeHe OpenGL教程 第四十五课:顶点缓存
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Gradle 1.12用户指南翻译——第四十五章. 应用程序插件
本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关
0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...
- “全栈2019”Java第四十五章:super关键字
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备
孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...
- (十四--十五)数据库查询优化Part I
(十四--十五)数据库查询优化Part I 如果理解的有问题.欢迎大家指出.这也是我在看课记得笔记..可能会有很多问题 查询优化的重要性 请记住用户只会告诉DMBS他们想要什么样的结果,而不会告诉他们 ...
- 《手把手教你》系列技巧篇(四十五)-java+ selenium自动化测试-web页面定位toast-上篇(详解教程)
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. ...
- 第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法
第四十五个知识点:描述一些对抗RSA侧信道攻击的基础防御方法 原文地址:http://bristolcrypto.blogspot.com/2015/08/52-things-number-45-de ...
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之九(四十五)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
随机推荐
- MIPS架构上函数调用过程的堆栈和栈帧
转载于CSDN:http://blog.csdn.net/do2jiang/article/details/5404566 在计算机科学中,Call stack是指存放某个程序的正在运行的函数的信息的 ...
- springboot项目使用idea开启远程调试
远程调试是调试服务器的有效手段,远程服务器运行的应用可以在本地代码中打断点调试,能让开发人员准确定位服务器上的问题. 一.开启远程调试前提:本地代码与服务器代码一致, 二.开启远程调试步骤 1.开发工 ...
- luogu P4360 [CEOI2004]锯木厂选址
斜率优化dp板子题[迫真] 这里从下往上标记\(1-n\)号点 记\(a_i\)表示前缀\(i\)里面树木的总重量,\(l_i\)表示\(i\)到最下面的距离,\(s_i\)表示\(1\)到\(i-1 ...
- 在虚拟机安装windows xp时所需要的序列号
最新的windows xp sp3序列号 xp序列号 最新的windows xp sp3序列号(绝对可通过正版验证) MRX3F-47B9T-2487J-KWKMF-RPWBY(工行版) 可用(强推 ...
- servlet相关
servlet是在服务器端运行的一个小程序.一个servlet就是一个java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的servlet程序. 1.生命周期 2.内置对象 r ...
- iOS视频流开发(1)—视频基本概念
iOS视频流开发(1)-视频基本概念 手机比PC的优势除了便携外,她最重要特点就是可以快速方便的创作多媒体作品.照片分享,语音输入,视频录制,地理位置.一个成功的手机APP从产品形态上都有这其中的一项 ...
- js数组的操作push,pop,shift,unshift
push(args)可以每次压入多个元素,并返回更新后的数组长度. var oldArr=[1,2,3]; alert(oldArr.push(4,[5,6]))–>5(这里只会将[5,6]当做 ...
- springboot系列九,springboot整合邮件服务、整合定时任务调度
一.整合邮件服务 如果要进行邮件的整合处理,那么你一定需要有一个邮件服务器,实际上 java 本身提供有一套 JavaMail 组件以实现邮件服务器的搭建,但是这个搭建的服务器意义不大,因为你现在搭建 ...
- dubbo系列四、dubbo服务暴露过程源码解析
一.代码准备 1.示例代码 参考dubbo系列二.dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台) 2.简单了解下spring自定义标签 https://w ...
- windows使用python原生组件包获取系统日志信息
#coding=utf8 import sys import traceback import win32con import win32evtlog import win32evtlogutil i ...