ERP完善合同起草(二十八)
前端的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | <%@ Page Language= "C#" AutoEventWireup= "true" CodeBehind= "CRMContractNew.aspx.cs" Inherits= "BioErpWeb.CRMSystem.CRMContract.CRMContractNew" %> <!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" /> <script src= "../../JS/CheckUserName.js" type= "text/javascript" ></script> <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> <script src= "../../JS/CustomerName.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 type= "text/javascript" > $(document).ready( function () { $( "#form1" ).validate(); $( "#txtCreatTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtSinTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtEffectiveTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtEndTime" ).datepicker({ dateFormat: 'yy-mm-dd' }) }); </script> </head> <body> <form id= "form1" runat= "server" > <div> < table class= "maintable Inupttable" style= " width:900px;" > <tr> <td colspan= "8" class= "titlebar" >合同起草</td> </tr> <tr> <td>合同名称</td><td><asp:TextBox ID= "txtName" CssClass= "required" runat= "server" ></asp:TextBox></td> <td>下次审批人</td><td><asp:TextBox ID= "txtUser1" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnuser1" type= "button" value= "选择" onclick= "showDialog3()" class= "btnchoose" /> </td> <td>合同负责人</td><td><asp:TextBox ID= "txtUser2" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnUser2" type= "button" value= "选择" onclick= "showDialog3()" class= "btnchoose" /> </td> <td>所属部门</td><td> <asp:TextBox ID= "txtDepartMentID" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnDepart" type= "button" value= "选择" class= "btnchoose" onclick= "showDepartMentDialog2()" /></td> </tr> <tr> <td>签约客户</td><td><asp:TextBox ID= "txtCustomer" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btncustomer" type= "button" value= "选择" onclick= "showCustomerDialog3()" class= "btnchoose" /> </td> <td>签约金额</td><td><asp:TextBox ID= "txtSum" CssClass= "{required:true,number:true}" runat= "server" ></asp:TextBox>元(RMB)</td> <td>合同创建时间</td><td><asp:TextBox ID= "txtCreatTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> <td>计划签约时间</td><td><asp:TextBox ID= "txtSinTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> </tr> <tr> <td>生效时间</td><td ><asp:TextBox ID= "txtEffectiveTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> <td>截止</td><td colspan= "5" ><asp:TextBox ID= "txtEndTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> </tr> <tr> <td>合同内容</td><td colspan= "7" > <asp:TextBox ID= "txtDesc" CssClass= "required" runat= "server" Height= "376px" Width= "100%" Rows = "10" TextMode= "MultiLine" ></asp:TextBox></td> </tr> <tr> <td>合同附件</td><td colspan= "5" > <asp:FileUpload ID= "FileUpload1" runat= "server" Width= "200px" /> </td> <td>合同类型</td><td> <asp:DropDownList ID= "ddlType" runat= "server" > <asp:ListItem>买卖合同</asp:ListItem> <asp:ListItem>运输合同</asp:ListItem> <asp:ListItem>技术合同</asp:ListItem> <asp:ListItem>保管合同</asp:ListItem> <asp:ListItem>仓储合同</asp:ListItem> <asp:ListItem>委托合同</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td colspan= "8" class= "bottomtd" > <asp:Button ID= "btnSubmit" runat= "server" Text= "合同申请提交" onclick= "btnSubmit_Click" /> </td> </tr> </ table > </div> </form> </body> </html> |
创建触发器:
1 2 3 4 5 6 7 8 9 10 11 12 13 | CREATE TRIGGER [dbo].[CreateContractNoByContractID] ON [dbo].[BioCRMContract] AFTER INSERT AS BEGIN DECLARE @str nvarchar(10) DECLARE @ContractNo nvarchar(50) DECLARE @ContractID nvarchar(50) SET @str= '0000000' SELECT @ContractID= MAX (ContractID) FROM dbo.BioCRMContract SET @ContractNo= RIGHT (@str+@ContractID,7) UPDATE dbo.BioCRMContract SET ContractNumber=@ContractNo WHERE ContractID=@ContractID end |
后端的代码:
提交不成功删除原有的数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | protected void btnSubmit_Click(object sender, EventArgs e) { CrmContractBLL conbll = new CrmContractBLL(); BioCRMContract contract = new BioCRMContract(); CRMContractDocument condocument = null ; TaskListRecord tasklistRecord = null ; BioCrmCorrelationDocument document= null ; //获取合同相关信息 contract.UserID = int .Parse(this.txtUser2.Text); contract.ContractName = this.txtName.Text; contract.CustomerID = int .Parse(this.txtCustomer.Text); contract.ContractSum = decimal .Parse(this.txtSum.Text); contract.ContractType = this.ddlType.SelectedValue; contract.EndTime = Convert .ToDateTime(this.txtEndTime.Text); contract.EffectiveTime = Convert .ToDateTime(this.txtEffectiveTime.Text); contract.SignTime = Convert .ToDateTime(this.txtSinTime.Text); contract.ContractDesc = this.txtDesc.Text; contract.ExecutiveState = "待审核" ; contract.CreateTime = Convert .ToDateTime(this.txtCreatTime.Text); int ContractID = conbll.BioCRMContractadd(contract); if (ContractID != 0) { //文档基本信息 if (this.FileUpload1.HasFile) { document = new BioCrmCorrelationDocument() { Subject = this.txtName.Text, Content = this.FileUpload1.FileBytes, DocumentSize = this.FileUpload1.FileContent.Length, Type = this.FileUpload1.PostedFile.ContentType, ExetendName = System.IO.Path.GetExtension(this.FileUpload1.FileName), DocumentLevel = "绝密" , Name = this.FileUpload1.FileName, Remark = "合同附件文档" , UserID = int .Parse(this.txtUser2.Text), UploadTime = DateTime.Now }; } BioCrmCorrelationDocumentBLL documentbll = new BioCrmCorrelationDocumentBLL(); int documentid = documentbll.BioCrmCorrelationDocumentAdd(document); if (documentid != 0) { condocument = new CRMContractDocument() { DocumentID = documentid, ContractID = ContractID }; int count = conbll.CRMContractDocumentADD(condocument); if ( count != 0) { tasklistRecord = new TaskListRecord() { Accepter = int .Parse(this.txtUser1.Text), Transmitter = int .Parse(this.txtUser2.Text), AuditingSate = 0, DepartMentId = int .Parse(this.txtDepartMentID.Text), FirstAccepter = int .Parse(this.txtUser1.Text), FirstSumitTime = DateTime.Now, FirstTransmitter = int .Parse(Session[ "Userid" ].ToString()), Mind = "" , Pass = 1, Subject = this.txtName.Text, SumitTime = DateTime.Now, TaskID = ContractID, TaskTableID = 1 }; if (SqlComm.TaskListRecordAdd(tasklistRecord) != 0) { ClientScript.RegisterStartupScript(this.GetType(), "test" , "alert('合同申请提交成功,下次审批人员编号:" + this.txtUser1.Text + "')" , true ); } else { SqlComm.DeleteTableByCondition( "BioErpCRMContractDocument" , " where ContractID=" + ContractID); SqlComm.DeleteTableByCondition( "BioCrmCorrelationDocument" , " where DocumentID=" + documentid); SqlComm.DeleteTableByCondition( "BioCRMContract" , " where ContractID=" + ContractID); } } else { SqlComm.DeleteTableByCondition( "BioErpCRMContractDocument" , " where ContractID=" + ContractID); SqlComm.DeleteTableByCondition( "BioCrmCorrelationDocument" , " where DocumentID=" + documentid); } } else { SqlComm.DeleteTableByCondition( "BioCRMContract" , " where ContractID=" + ContractID); } } } |
修改的业务(前端):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | <%@ Page Language= "C#" AutoEventWireup= "true" CodeBehind= "CRMContractEidt.aspx.cs" Inherits= "BioErpWeb.CRMSystem.CRMContract.CRMContractEidt" %> <!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" /> <script src= "../../JS/CheckUserName.js" type= "text/javascript" ></script> <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> <script src= "../../JS/CustomerName.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 type= "text/javascript" > $(document).ready( function () { $( "#form1" ).validate(); $( "#txtCreatTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtSinTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtEffectiveTime" ).datepicker({ dateFormat: 'yy-mm-dd' }); $( "#txtEndTime" ).datepicker({ dateFormat: 'yy-mm-dd' }) }); </script> </head> <body> <form id= "form1" runat= "server" > <div> < table class= "maintable Inupttable" style= " width:900px;" > <tr> <td colspan= "8" class= "titlebar" >合同审核</td> </tr> <tr> <td>合同名称</td><td><asp:TextBox ID= "txtName" CssClass= "required" runat= "server" ></asp:TextBox></td> <td>下次审批人</td><td><asp:TextBox ID= "txtUser1" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnuser1" type= "button" value= "选择" onclick= "showDialog3()" class= "btnchoose" /> </td> <td>合同负责人</td><td><asp:TextBox ID= "txtUser2" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnUser2" type= "button" value= "选择" onclick= "showDialog3()" class= "btnchoose" /> </td> <td>所属部门</td><td> <asp:TextBox ID= "txtDepartMentID" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btnDepart" type= "button" value= "选择" class= "btnchoose" onclick= "showDepartMentDialog2()" /></td> </tr> <tr> <td>签约客户</td><td><asp:TextBox ID= "txtCustomer" CssClass= "{required:true,digits:true, min:1}" runat= "server" ></asp:TextBox> <input id= "btncustomer" type= "button" value= "选择" onclick= "showCustomerDialog3()" class= "btnchoose" /> </td> <td>签约金额</td><td><asp:TextBox ID= "txtSum" CssClass= "{required:true,number:true}" runat= "server" ></asp:TextBox>元(RMB)</td> <td>合同创建时间</td><td><asp:TextBox ID= "txtCreatTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> <td>计划签约时间</td><td><asp:TextBox ID= "txtSinTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> </tr> <tr> <td>生效时间</td><td ><asp:TextBox ID= "txtEffectiveTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> <td>截止</td><td colspan= "5" ><asp:TextBox ID= "txtEndTime" CssClass= "{required:true,dateISO:true}" runat= "server" ></asp:TextBox></td> </tr> <tr> <td>合同内容</td><td colspan= "7" > <asp:TextBox ID= "txtDesc" CssClass= "required" runat= "server" Height= "300px" Width= "100%" Rows = "10" TextMode= "MultiLine" ></asp:TextBox></td> </tr> <tr> <td>合同附件</td><td colspan= "5" > <asp:FileUpload ID= "FileUpload1" runat= "server" Width= "200px" /> </td> <td>合同类型</td><td> <asp:DropDownList ID= "ddlType" runat= "server" > <asp:ListItem>买卖合同</asp:ListItem> <asp:ListItem>运输合同</asp:ListItem> <asp:ListItem>技术合同</asp:ListItem> <asp:ListItem>保管合同</asp:ListItem> <asp:ListItem>仓储合同</asp:ListItem> <asp:ListItem>委托合同</asp:ListItem> </asp:DropDownList> </td> </tr> <tr> <td colspan= "8" class= "bottomtd" > <asp:Button ID= "btnSubmit" runat= "server" Text= "合同申请提交" onclick= "btnSubmit_Click" /> </td> </tr> </ table > </div> </form> </body> </html> |
定义相关的视图:根据合同编号获取合同的视图
1 2 3 4 5 6 7 8 9 | CREATE VIEW [dbo].[View_ContactInfo] AS SELECT dbo.BioCRMContract.*, dbo.BioErpCRMContractDocument.AccessoryID, dbo.BioCrmCorrelationDocument.DocumentID, dbo.BioCrmCorrelationDocument.Subject, dbo.BioCrmCorrelationDocument. Name , dbo.BioCrmCorrelationDocument.Type, dbo.BioCrmCorrelationDocument.DocumentLevel, dbo.BioCrmCorrelationDocument.DocumentSize, dbo.BioCrmCorrelationDocument.ExetendName, dbo.BioCrmCorrelationDocument.[Content], dbo.BioCrmCorrelationDocument.UploadTime, dbo.BioCrmCorrelationDocument.Remark FROM dbo.BioCRMContract Left JOIN dbo.BioErpCRMContractDocument ON dbo.BioCRMContract.ContractID = dbo.BioErpCRMContractDocument.ContractID Left JOIN |
BLL层代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | /// <summary> /// 根据合同通编号获取合同视图实体对象 /// </summary> /// <param name = "id" >编号</param> /// < returns >ViewContactInfo</ returns > public ViewContactInfo getViewContactInfoByContactID(string id) { ViewContactInfo contactinfo= null ; SqlDataReader reader= SqlComm.GetDataReaderByCondition( "View_ContactInfo" , "*" , " ContractID=" + id); if (reader. Read ()) { contactinfo = new ViewContactInfo() { UserID = Convert .ToInt32(reader[ "UserID" ].ToString()), AccessoryID = Convert .ToInt32(reader[ "AccessoryID" ].ToString()), AssessorAuditing = Convert .ToBoolean(reader[ "AssessorAuditing" ].ToString()), ContractDesc = reader[ "ContractDesc" ].ToString(), ContractID = Convert .ToInt32(reader[ "ContractID" ].ToString()), ContractName = reader[ "ContractName" ].ToString(), ContractNumber = reader[ "ContractNumber" ].ToString(), ContractSum = Decimal .Parse(reader[ "ContractSum" ].ToString()), ContractType = reader[ "ContractType" ].ToString(), CreateTime = Convert .ToDateTime(reader[ "CreateTime" ].ToString()), CustomerID = Convert .ToInt32(reader[ "CustomerID" ].ToString()), DeleteState = Convert .ToBoolean(reader[ "DeleteState" ].ToString()), DocumentID = Convert .ToInt32(reader[ "DocumentID" ].ToString()), DocumentLevel = reader[ "DocumentLevel" ].ToString(), DocumentSize = long.Parse(reader[ "DocumentSize" ].ToString()), EndTime = Convert .ToDateTime(reader[ "EndTime" ].ToString()), EffectiveTime = Convert .ToDateTime(reader[ "EffectiveTime" ].ToString()), UploadTime = Convert .ToDateTime(reader[ "UploadTime" ].ToString()), ExecutiveState = reader[ "ExecutiveState" ].ToString(), ExetendName = reader[ "ExetendName" ].ToString(), Name = reader[ "Name" ].ToString(), Remark = reader[ "Remark" ].ToString(), SignTime = Convert .ToDateTime(reader[ "SignTime" ].ToString()), Subject = reader[ "Subject" ].ToString(), Type = reader[ "Type" ].ToString() }; } reader. Close (); return contactinfo; } |
根据任务表单编号和任务表编号查询返回数据表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /// <summary> /// 根据任务表单编号,和 任务表编号进行查询返回数据表 /// </summary> /// <param name = "TaskID" >TaskID:如合同管理单号为5</param> /// <param name = "TaskTableID" >TaskTableID:如合同管理单(1)、商品供货单(2)、商品采购申请单(3)</param> /// < returns ></ returns > public static DataTable getTaskListRecordsByCondition(string TaskID, string TaskTableID) { SqlParameter[] pars = new SqlParameter[]{ new SqlParameter( "@tableName" , "TaskListRecord" ), new SqlParameter( "@columns" , " * " ), new SqlParameter( "@condition" , " TaskID='" +TaskID+ "' and TaskTableID='" +TaskTableID+ "'" ) }; return DataBaseHelper.SelectSQLReturnTable( "GetDataByCondition" , CommandType.StoredProcedure, pars); } |
存储过程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | -- Description: 根据指定列,指定条件,指定表查询数据 -- ============================================= CREATE PROCEDURE [dbo].[GetDataByCondition] @tableName nvarchar(200), @columns nvarchar(500), @condition nvarchar(500)= ' 1=1' AS BEGIN SET NOCOUNT ON ; DECLARE @sqlStr nvarchar(2000) SET @sqlStr= 'select ' +@columns+ ' from ' +@tableName+ ' where ' +@condition EXEC (@sqlStr) END |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步