ERP完善合同起草(二十七)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ERP完善合同起草(二十七)相关的知识,希望对你有一定的参考价值。

  前端的代码:

<%@ 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>

 

 创建触发器:

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(@[email protected],7)
  UPDATE dbo.BioCRMContract SET [email protected] WHERE [email protected]
end

 后端的代码:

提交不成功删除原有的数据

 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);
                }
               
            }
        }

 修改的业务(前端):

<%@ 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>

 定义相关的视图:根据合同编号获取合同的视图

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层代码:

 /// <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;
      
      }

 根据任务表单编号和任务表编号查询返回数据表

       /// <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);        
        }

 存储过程:

-- 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 ‘[email protected]+‘ from ‘[email protected]+‘ where ‘[email protected]
    EXEC(@sqlStr)
    
END

 

以上是关于ERP完善合同起草(二十七)的主要内容,如果未能解决你的问题,请参考以下文章

ERP合同管理(二十六)

ERP合同列表页面自动导航(二十八)

合同管理,要选对“路”

BPM合同管理——应用合同模板,自动创建生成

谷歌不再续签Maven军事项目合同,近期将起草禁止开发AI武器的政策

智能产品│合同审核+NLP算法=智能审核机器人