ASP.NET汽车销售管理系统的设计与开发

摘   要

随着人们生活水平的不断提高,人们对汽车的消费和需求也越来越旺盛。很多汽车销售公司的业务环节仍然运用人工记账的传统方法,既容易出错又会导致账目混乱,查询和统计起来也非常不方便,费时又费力,严重时会给公司造成难以挽回的损失。如何管理好这些,使整个公司协调一致、高效率地运转,是各公司急待解决的问题。

汽车销售管理系统不但能使各业务环节协调一致,而且操作简单,账目清晰。通过账目查询,公司能在最短的时间内获得市场信息,从而制订相应的决策。因此,该系统主要根据实际需求,划分了售前管理、车辆管理、订货管理、查询管理、售后管理和系统设定六大模块,并选用Visual Studio .NET 2005开发工具和 SQL Server 2000数据库,采用B/S模式实现了从客户来访、报价、订购等多个环节数据的跟踪管理服务,基本上满足了汽车销售管理流程。

关键词销售管理;B/S模式;数据库;.NET

2.2 系统的功能模块设计

通过分析,将系统划分为六大模块,分别是售前管理模块、车辆管理模块、订货管理模块、查询统计模块、售后管理模块和系统设定模块,其功能结构如图1所示,下面针对各模块的功能进行详细说明。

图1 系统功能模块结构图

2.2.1 售前管理模块

本模块负责客户、供应商信息和车辆信息的录入管理。将公司信息分为客户和供应商两种类型的数据信息都放在数据表中,该数据表存储有供应商信息与客户的基本信息,对表中内容进行添加、删除、修改就可以完成对供应商以及客户资料的实时更新,保证数据的准确性。

汽车信息的管理包括汽车相关的批号、规格、批准文号等的录入、修改、添加、删除等功能。本模块是整个汽车销售管理系统功能实现的基础,数据库内没有准确的数据源,那么其它功能就没有实现的价值了,而修改、添加可以达到数据及时更新的目的。

2.2.2 车辆管理模块

该模块主要管理汽车交易信息,包括与供应商之间的进货信息和退货信息,即供应商信息,包括车辆进货信息和车辆退货信息的录入和删除等。

2.2.3 订货管理模块

订货管理模块主要管理客户订货信息和退货信息。即订货信息的和退货信息的添加删除和修改查看、查询等操作。此模块保证了供应商和公司之间的合作关系,能够为公司与供应商合作进程提供基础。

2.2.4 查询统计模块

该模块主要进行汽车进货查询、进货退货查询、汽车销售查询、销售退货查询、汽车库存查询和汽车销售排行查询。可以实现对公司所有的汽车状态的查询,并且可以通过供应商、汽车名称、经手人以及起止时间中的单个条件或多个组合条件进行搜索,条件越多搜索越精确,反之则搜索的范围越广。

2.2.5 售后管理模块

该模块主要管理汽车进、退货以及销售的结算信息,如进货结账、进货退货结账、汽车销售结账和销售退货结账等信息的记录。

2.2.6 系统设定模块

该模块主要管理添加用户、修改密码和用户管理。系统管理员负责管理所有用户信息的管理,担负着整个系统的维护和管理工作。

3.1 系统的解决方案

该系统设计采用ASP.net工具,以SQL SERVER 2000为后台数据库以及IIS为服务器,采用B/S模式结构进行开发。下面对相关的基础进行的几个软件作简单介绍。

3.2 ASP.NET简介

ASP.net是Microsoft.net的一部分,不仅仅是Active Server Page (ASP)的下一个版本,它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。

ASP.net是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.net提供许多比现在的Web开发模式强大的优势。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent语言独立化的,所以可以选择一种最适合的语言来编写程序。

3.3 C#简介

C#(发音为“See Sharp”)是简单、现代、面向对象和类型安全的编程语言。C#起源于C语言家族,因此,C,C++和Java的程序员很快就能熟悉它。

C#是面向对象的语言,但C#进一步支持面向组件的编程。现代软件设计越来越依赖于自包含和自描述功能包形式的软件组件。

C#具有统一类型系统,所有的C#类型,包括诸如int和double的基本数据类型,都继承于单个类型object。因此,所有类型都共享一组通用操作,并且,任何类型的值都能够以一致的方式存储、传递和操作。

3.4 SQL server 2000 简介

微软公司新推出的SQL Server 2000扩展了SQL Server 7.0版的性能,加强了可靠性,提高了质量和易用性。SQL Server 2000增加了多种新的功能,由此成为大规模联机事物处理(OLTP)、数据库和电子商务应用程序的优秀数据平台,它包含服务器组件和客户端工具。

3.4.1 服务器组件

SQL Server的服务器组件是以Windows服务(Windows Services)方式运行的。一般认为SQL Server包含四种Windows服务,分别是:MS SQL Server、DTC Distributed Transaction Coordinator、SQL Server Agent、Search Service。

MS SQL Server是最常用的服务,一般的数据库功能都是由它提供的,例如文件管理、查询处理、数据存储等;DTC是分布式事务协调器,支持跨越两个或多个服务器的更新操作来保证事务的完整性;SQL Server Agent负责SQL Server 自动化工作,如果需要SQL Server 在指定时间执行某一个存储过程,就需要用到这个服务了,Search Service是全文查询服务,负责全文检索方面的工作。

3.4.2 客户端工具

SQL Server 2000 的核心是服务器组件,但用户直接接触的却不是它们,而是客户端工具。服务器组件是引擎,客户端工具是用户界面,两者是相辅相成的。

SQL Server 2000 的客户端共有企业管理器、查询分析器、事件探查器、服务管理器、客户端网络实用工具、服务器网络实用工具、导入和导出数据(DTS)等等。

服务器组件与客户端工具功能上是配套的,客户端工具需要用最简单的形式表达最丰富的服务器组件的功能。服务器组件和客户端工具物理上是离散的,客户端工具要与服务器组件连通,需要一些用于通讯的动态链接库,SQL Server 2000 的通讯库支持多种网络协议,例如TCP/IP、命名管道等。

3.5 B/S结构

B/S(Browser/Server)结构即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。这样就大大简化了客户端电脑负荷。局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的,它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S架构管理软件更是方便、快捷、高效。

5.1 用户登录模块设计

用户登录主要用于验证用户登录系统时输入的用户名、密码和验证码是否正确,只有合法的用户才可以进入系统,否则将不能进入此系统,该系统登录页面的运行效果如图2所示。

图2系统登录页面

系统登录设计流程图如图3所示。

图3 登录流程图

5.1.1 前台页面设计

用户登录页面中主要使用控件及控件用途如表6所示。

表6  用户登录页面中主要使用控件及控件用途

工具箱

控件名称

数量

用途

HTML

Table

2

布局页面

HTML

image

1

清空用户名和密码

标准

Label

1

显示验证码

标准

Button

1

提交数据

标准

TextBox

3

数据录入

验证

RequiredFieldValidator

2

验证文本TextBox不能为空

控件的属性设置,可以通过前台代码实现,也可以在控件属性对话框中设置实现,本页中使用的控件属性设置请参见如下代码:

                     <td style=" height: 22px; width: 386px;" align="left">

                        用户名:</td>

                    <td style="width: 109px; height: 22px">

                        <asp:TextBox ID="username" runat="server" Height="15px" Width="130px"></asp:TextBox>

                        </td>

5.1.2 后台功能代码

在命名空间区域中,引用using System.Data.SqlClient命名空间。在Page_Load页装载事件中,编写生成验证码的功能代码。在单击“确定”按钮,验证用户名和密码中是否含有非法字符,验证码是否正确,在数据库中检索用户名和密码是否正确,如果成功进入管理页面,失败则弹出相应的提示信息。

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)

{

    string username = Request["username"];

    string userpwd = Request["userpwd"];

    stockClass sc=new stockClass();

    if (sc.validate(username))

    {

        Response.Write("<script>alert('用户名中不能含有非法字符');history.back()</script>");

        return;

    }

    if(sc.validate(userpwd))

    {

        Response.Write("<script>alert('密码中不能含有非法字符');history.back()</script>");

        return;

    }

    if (this.ValidateNumber.Text != this.Label1.Text)

    {

        Response.Write("<script>alert('验证码错误');history.back()</script>");

        return;

    }

5.2 首页界面设计

当登录成功后,就会进入如图4的首页界面。首页主要由两大部分组成,第一部分是功能导航区,第二部分是操作区。

图4 系统首页页面

5.3 售前管理模块的具体实现

5.3.1 添加客户信息

添加公司信息页面主要用于添加公司的基本信息,如名称,联系方式等。公司信息又分为供应商信息与客户信息。添加客户信息如图5所示。

图5 添加客户信息页面

1.前台设计

添加公司信息页面中主要使用控件及控件用途,如表7所示。

表7  添加客户信息页面中主要使用控件及控件用途

工具箱

控件名称

数量

用途

HTML

Table

2

布局页面

HTML

Button

1

清空TextBox中的数据

标准

Button

1

提交数据

标准

TextBox

8

数据录入

验证

RequiredFieldValidator

2

验证文本TextBox不能为空

标准

DropDownList

1

显示供应商信息

控件的属性设置,可以通过前台代码实现,也可以在控件属性对话框中设置实现,本页中使用的控件属性的设置参见如下代码:

<tr>

                <td align="right" style="width: 149px"    >

                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="CompanyName"

                        ErrorMessage="公司名称不能为空">*</asp:RequiredFieldValidator>公司名称:</td>

                <td style="width: 334px" align="left" >

                    <asp:TextBox ID="CompanyName" runat="server" Width="240px"></asp:TextBox></td>

            </tr>

            <tr>

                <td align="right" style="width: 149px"    >

                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="CompanyShort"

                        ErrorMessage="公司简称不能为空">*</asp:RequiredFieldValidator>公司简称</td>

                <td style="width: 334px" align="left">

                    <asp:TextBox ID="CompanyShort" runat="server" Width="240px"></asp:TextBox></td>

2.后台功能代码

在命名空间区域中,引用using System.Data.SqlClient命名空间。

在Page_Load页装载事件中,验证用户是否登录,如果未登录则弹出提示信息并跳转到登录页面,否则把ID为DropDownList1的控件进行数据绑定。单击“添加”按钮,把商品信息保存到数据库中,弹出成功的对话框,并重新定向到此页面。

        SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);           strcon.Open();

        SqlCommand scd = new SqlCommand("insert into tb_Company (CompanyName,CompanyType,CompanyShort,CompanyAddress,Postalcode,Tel,Fax,Linkman,Email,Bank,BandAccounts,Username,AddTime)values('" + CompanyName + "','" + CompanyType + "','" + CompanyShort + "','" + CompanyAddress + "','" + Postalcode + "','" + Tel + "','" + Fax + "','" + Linkman + "','" + Email + "','" + Bank + "','" + BandAccounts + "','" + Username + "','" + AddTime + "')", strcon);            //将基本信息写入数据表

        scd.ExecuteNonQuery();

        Response.Write("<script language=javascript>alert('您已经添加成功');location='Company_add.aspx'</script>");

        strcon.Close();    }

5.3.2 添加车辆信息

添加车辆信息页面主要用于添加车辆的详细信息,在功能导航区中单击“添加车辆信息”,在操作区中会显示添加页面。添加车辆信息如图6所示。

图6 添加车辆信息页面

1.前台设计

添加车辆信息页面中主要使用控件及控件用途,如表8所示。

表8  添加车辆信息页面中主要使用控件及控件用途

工具箱

控件名称

数量

用途

HTML

Table

2

布局页面

HTML

Button

1

清空TextBox中的数据

标准

Button

1

提交数据

标准

TextBox

8

数据录入

验证

RequiredFieldValidator

2

验证文本TextBox不能为空

标准

DropDownList

1

显示供应商信息

控件的属性设置,可以通过前台代码实现,也可以在控件属性对话框中设置实现,本页中使用的控件属性设置参见如下代码:

<tr>

                <td align="right" style="width: 123px" >

                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="CommodityName"

                        ErrorMessage="车辆名称不能为空">*</asp:RequiredFieldValidator>商品名称:</td>

                <td style="width: 299px" align="left" >

                    <asp:TextBox ID="CommodityName" runat="server"></asp:TextBox></td>

            </tr>

            <tr>

                <td align="right" style="width: 123px" >

                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="ShortName"

                        ErrorMessage="车辆简称不能为空">*</asp:RequiredFieldValidator>车辆简称:</td>

                <td style="width: 299px" align="left" >

                    <asp:TextBox ID="ShortName" runat="server"></asp:TextBox></td>

            </tr>

2.后台功能代码

在命名空间区域中,引用using System.Data.SqlClient命名空间。

在Page_Load页装载事件中,验证用户是否登录,如果未登录则弹出提示信息并跳转到登录页面,否则把ID为DropDownList1的控件进行数据绑定。单击“添加”按钮,把车辆信息保存到数据库中,弹出成功的对话框,并重新定向到此页面。

        strcon.Open();

        SqlCommand scd = new SqlCommand("insert into tb_Commodity (CommodityName,ShortName,ProducePlace,Unit,Specs,PassNumber,PassList,CompanyId,Remark,Username,AddTime)values('" + CommodityName + "','" + ShortName + "','" + ProducePlace + "','" + Unit + "','" + Specs + "','" + PassNumber + "','" + PassList + "','" + CompanyId + "','" + Remark + "','" + Username + "','" + AddTime + "')", strcon);

        scd.ExecuteNonQuery();

        strcon.Close();

        Response.Write("<script language=javascript>alert('您已经添加成功');location='Commodity_add.aspx'</script>");  

5.4 车辆管理模块的具体实现

车辆管理主要包括对商品信息的修改和删除,其前台和后台实现分别如下:

1.前台设计

商品信息管理页面中主要显示商品的部分信息,单击“详细信息”可以查看该商品的详细信息,单击“删除”可对该商品数据信息进行删除。

前台主要是设置GridView1控件的相关属性和事件,关键代码如下:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True"

                <asp:BoundField DataField="CommodityName" HeaderText="产品名称" />

                <asp:BoundField DataField="ShortName" HeaderText="商品简称" />

                <asp:BoundField DataField="ProducePlace" HeaderText="产地" />

                <asp:BoundField DataField="username" HeaderText="操作用户" />

                <asp:BoundField DataField="AddTime" HeaderText="最后修改日期" />

                <asp:CommandField EditText="详细信息" HeaderText="详细信息" ShowEditButton="True" />

                <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />

2.后台功能代码

在命名空间区域中,引用using System.Data.SqlClient命名空间。

在Page_Load页装载事件中,验证用户是否登录,如果未登录弹出提示信息并跳转到登录页面,否则调用bind()方法。定义bind()方法,把ID为GridView1的控件进行数据绑定。关键代码如下:

public void bind()

{

    SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);

}

选中GridView1控件,将AllowPaging属性设为True,双击PageIndexChanging事件,在PageIndexChanging事件中编写分页代码。

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

      GridView1.PageIndex = e.NewPageIndex;

    this.bind();

}

选中GridView1控件,双击RowDeleting事件,在RowDeleting事件中编写执行删除汽车信息操作的代码。

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)

{

    SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);

    strcon.Open();

    string id = GridView1.DataKeys[e.RowIndex].Value.ToString();

    SqlCommand scd = new SqlCommand("delete from tb_Commodity where id=" + id, strcon);

    scd.ExecuteNonQuery();

    this.bind();

   strcon.Close();

}

选中GridView1控件,双击RowEditing事件,在RowEditing事件中编写执行弹出新窗口并显示商品详细信息的代码。

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)

{

    string id = GridView1.DataKeys[e.NewEditIndex].Value.ToString();

    Response.Write("<script>window.open('Commodity_open.aspx?id=" + id + "','','width=450,height=450')</script>");

    Response.Write("<script>location='javascript:history.go(-1)'</script>");

}

5.5 订货管理模块的具体实现

订货管理模块包括添加进货信息子模块和添加退货信息子模块。添加进货信息子模块包括有车辆信息、客户信息以及单价、数量、结算情况等。

1. 进货信息子模块

添加进货信息子模块如图7 所示。

2. 订货管理模块前台实现代码如下:

            <tr>

                <td align="center" style="width: 105px; height: 39px;">

                    客户名称</td>

                <td style="width: 164px; height: 39px;" align="left">

                    <asp:DropDownList ID="ClientId" runat="server">

                    </asp:DropDownList></td>

                <td align="center" style="width: 110px; height: 39px;">

                    结算方式</td>

                <td style=" height: 39px; width: 165px;" align="left">

                    <asp:DropDownList ID="SettlementType" runat="server">

                    <asp:ListItem>现金</asp:ListItem>

                    <asp:ListItem>支票</asp:ListItem>

                </asp:DropDownList></td>

            </tr>

图7  添加车辆进货信息页面

3. 订货管理模块后台功能代码为:

            strcon.Open();

            SqlDataAdapter sda = new SqlDataAdapter("select * from tb_Commodity order by id desc",strcon);

            DataSet ds = new DataSet();

            sda.Fill(ds, "tb_Commodity");

            DataRowView rowview = ds.Tables["tb_Commodity"].DefaultView[0];

            int CommodityIds = Convert.ToInt32(rowview["CompanyId"]);

            this.CommodityId.DataSource = ds.Tables["tb_Commodity"];

            this.CommodityId.DataValueField = "id";

            this.CommodityId.DataTextField = "CommodityName";

            this.CommodityId.DataBind();

            SqlCommand scdc = new SqlCommand("select CompanyName from tb_Company where id=" + CommodityIds, strcon);

            this.CId.Text = Convert.ToString(scdc.ExecuteScalar());

            this.CompanyId.Value = CommodityIds.ToString();

            //显示客户

            this.StockDate.SelectedDate = DateTime.Now;

       strcon.Close();

5.6 查询统计模块的具体实现

查询系统模块包括6个子模块,分别为:车辆进货查询、车辆退货查询、车辆销售查询、销售退货查询、车辆库存查询和销售排行查询,如图8中虚线框标示了模块。

图8 查询统计设计图面

1.车辆进货查询的前台信息主要代码如下:

      

            <tr>

                <td align="center" style="width: 236px">

                    <asp:CheckBox ID="CheckBox1" runat="server" Text="商品名称" /></td>

//……其它属性

  OnClick="Button1_Click" Text="查询"

                        Width="54px" />

                    </td>

                <td align="left" style="width: 56px">

                    <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="返回" Width="53px" /></td>

            </tr>

2. 查询统计模块后台主要功能代码如下:

public partial class Stockpile_Stockpile_search : System.Web.UI.Page

{

    protected void Button1_Click(object sender, EventArgs e)

    {

        string sqls = "";

        if (this.CheckBox1.Checked)

        {

            sqls = sqls+"and CommodityName like '%"+Request["TN"]+"%' ";

        }

        if (this.CheckBox2.Checked)

        {

            sqls = sqls + "and CompanyName like '%" + Request["PN"] + "%'";

        }

        Session["sqls"] = sqls;

        this.bind();

    }

    protected void Button2_Click(object sender, EventArgs e)

    {

        Session["sqls"] = "";

        this.bind();

    }

}

5.7 售后管理模块的具体实现

售后管理模块主要为进货或销售信息的结算情况,它包括车辆进货结帐,车辆退货结帐,销售结帐以及销售退货结帐4大子模块,如图9所示的虚线框部分。

  1. 售后管理界面,如图9所示。

图9 售后模块页面图

2.前台主要功能代码如下:

<br />

        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"

            AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="Solid"

            BorderWidth="1px" CellPadding="4" Font-Size="12px" HorizontalAlign="Center" OnPageIndexChanging="GridView1_PageIndexChanging"

            OnSelectedIndexChanging="GridView1_SelectedIndexChanging" PageSize="15" Width="556px" OnRowDataBound="GridView1_RowDataBound">

……

            <Columns>

                <asp:BoundField DataField="Type" HeaderText="结款类型" />

            …… //商品名称、供应商、未付、结款次数

                <asp:ButtonField DataTextField="StockDate" HeaderText="单据编号" Text="按钮" />

                <asp:CommandField ButtonType="Button" HeaderText="结账" SelectText="结账" ShowSelectButton="True" />

            </Columns>

       </div>

3.后台功能代码为:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

             SqlConnection strcon = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strcon"]);

            strcon.Open();

            SqlCommand scd = new SqlCommand("select count(*) from tb_Reckoning where CommodityId=" + id, strcon);

            string count = Convert.ToString(Convert.ToInt32(scd.ExecuteScalar()) + 1);

            e.Row.Cells[4].Text = count;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/582013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第58题最后一个单词的长度

题目&#xff1a; 题解&#xff1a; class Solution:def lengthOfLastWord(self, s: str) -> int:ls[]for i in s.split():ls.append(i)return len(ls[-1])

CLI举例:基于用户接入方式和终端设备类型的安全策略

组网需求 如图1所示&#xff0c;某企业在网络边界处部署了FW作为安全网关&#xff0c;连接内部网络与Internet。具体情况如下&#xff1a; 内部网络中已经部署了Agile Controller身份验证机制&#xff0c;Agile Controller服务器上存储了用户信息。内部网络中的用户可以使用不…

畅信达呼叫中心通过麒麟软件适配认证,引领行业新标准

在数字化浪潮汹涌的时代&#xff0c;软件兼容性已成为衡量一个企业技术实力和市场竞争力的重要标准。近日&#xff0c;畅信达呼叫中心产品成功通过麒麟软件适配认证&#xff0c;标志着产品在通用兼容性、性能及可靠性方面均达到了行业领先水平&#xff0c;将为用户的关键性应用…

Spring Boot整合Camunda实现工作流

文章目录 1. 环境准备2. 添加Camunda配置3. 创建并部署工作流程4. 启动Spring Boot应用程序5. 部署工作流程6. 访问Camunda Tasklist7. 执行工作流程8. 总结 &#x1f389;欢迎来到SpringBoot框架学习专栏~ ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a…

deepflow grafana plugin 编译问题解决

修改tsconfig.js 增加"noImplicitAny": false&#xff0c;解决代码类型没有指定&#xff0c;显示Any 错误 To solve the error, explicitly set the parameters type to any, use a more specific type or set noImplicitAny to false in tsconfig.json. https://b…

vue处理查询框清除后无法查询问题,举例为日期选择

例如 在对应的查询方法添加 //我这里获取的是date&#xff0c;如果是其他参数改为其他的即可 if (query.date && query.date.length > 2) {conditions.noedate query.date[0] || conditions.noedate;//获取开始时间conditions.twodate query.date[1] || conditi…

CVE-2023-48795修复方法

CVE-2023-48795修复方法 1、修复原理2、检测漏洞3、修复漏洞4、成功修复 近期nessus扫描经常出现一个中危漏洞CVE-2023-48795&#xff0c;但网上的修复方法清一色的将openSSH升级到9.6p1版本 而我在升级当中处处碰壁&#xff0c;甚至于差点给服务器都干崩溃&#xff0c;特意研究…

基于python-flask技术的社区信息交流平台【数据库+15000文档】

预览 介绍 系统只需使用者通过电脑浏览器即可实现系统的访问和操作的WEB模式的信息化系统。为了保证系统数据的准确性、安全性的数据存储&#xff0c;系统应用MySQL数据库进行系统数据存储服务。根据对社区工作的深入调研和对社区居民的走访调查&#xff0c;详细分析整体系统的…

智慧公厕:高速服务区公厕智慧技术改造

近年来&#xff0c;随着科技的迅速发展&#xff0c;高速服务区的公共卫生设施也在不断创新。深圳光明源智能科技在这一领域做出了积极的探索和实践&#xff0c;通过引入智能科技&#xff0c;提升了高速服务区公厕的管理水平和服务质量。以下是其中一些具体的创新技术和功能&…

Power BI:如何将文件夹批量Excel(多sheet页)文件导入?

故事背景&#xff1a; 业务同事想用Power BI分析近两年市场费用。 数据源全部是Excel文件&#xff0c;并且以每月一个Excel文件的方式&#xff0c;统一存放到同一文件夹下面。 重点&#xff0c;每张Excel文件会有多张sheet页&#xff0c;用区分每家分公司的费用信息。 目前…

Web前端开发之CSS_2

关系选择器CSS盒子模型弹性盒子模型文档流浮动清除浮动定位 1. 关系选择器 1.1 后代选择器 E F{} 选择所有被 E 元素包含的 F 元素&#xff0c;中间用空格隔开 <ul> <li>后代列表1</li> <div> <ol> <li>后代列表2</li> </ol>…

VULHUB复现fastjson1.2.24反序列化漏洞

蚌埠住了&#xff0c;遇到了很多奇奇怪怪的问题。 如果你问我为啥不用kali&#xff0c;我会告诉你&#xff0c;我电脑上的kali装不成docker-compose!我急用了ubuntu如果你问我为啥用ubuntu克隆&#xff0c;我会告诉你&#xff0c;我电脑上的kali不能安装成功java8这个版本如果你…

秋招后端开发面试题 - Java语言基础(下)

目录 Java基础下前言面试题toString() 、String.valueof()、(String)&#xff1f;hashCode() 方法&#xff1f;hashCode 和 equals 方法判断两个对象是否相等&#xff1f;为什么重写 equals 时必须重写 hashCode 方法&#xff1f;String、StringBuffer、StringBuilder?String …

《ESP8266通信指南》9-TCP通信(Arudino开发)

往期 《ESP8266通信指南》8-连接WIFI&#xff08;Arduino开发&#xff09;&#xff08;非常简单&#xff09;-CSDN博客 《ESP8266通信指南》7-Arduino 开发8266的环境配置与示例代码烧录-CSDN博客 《ESP8266通信指南》6-创建TCP服务器&#xff08;AT指令&#xff09;-CSDN博…

asp.net结课作业中遇到的问题解决1

作业要求 实现增删改查导出基本功能。 1、如何设置使得某个背景就是一整个而不是无限填充或者是这个图片的某一部分。 这就要求在设置这一块的时候&#xff0c;长和宽按照背景图片的大小进行设置&#xff0c;比如&#xff1a; 如果&#xff0c;图片的大小不符合你的要求&am…

如何让用户听话?

​福格教授&#xff08;斯坦福大学行为设计实验室创始人&#xff09;通过深入研究人类行为20年&#xff0c;2007年用自己的名子命名&#xff0c;提出了一个行为模型&#xff1a;福格行为模型。 模型表明&#xff1a;人的行为发生&#xff0c;要有做出行为的动机和完成行为的能…

操作系统——优先权算法c++实现

变量描述 测试数据 5 A 0 4 4 B 1 3 2 C 2 5 3 D 3 2 5 E 4 4 1 先来先服务算法 简述 该算法实现非常简单就是对到达时间排个序&#xff0c;然后依次进行即可&#xff0c;对结构体的sort进行了重载 代码 void FCFS() {//先来先服务算法std::cout<<"\n\t\t\t\t\…

字典及GitHub字典爬取工具

红队API接口Fuzz字典可以用于WEB安全&#xff0c;渗透测试&#xff0c;SRC等场景 完整文件已上传知识星球&#xff0c;需要的朋友可加入查看。

STM32应用开发教程进阶--Wi-Fi通信(ESP8266模块:STA、AP、STA+AP)

实现目标 1、熟悉Wi-F、ESP8266模块 2、掌握ESP8266模块共3种工作模式&#xff1a;STA、AP、STAAP的配置 3、具体实现目标&#xff1a;&#xff08;1&#xff09;AT固件烧录&#xff1b;&#xff08;2&#xff09;ESP8266模块STA、AP、STAAP的配置 一、Wi-Fi概述 1、Wi-Fi定…

OpenCV-Python: 强大的计算机视觉库

文章目录 OpenCV-Python: 强大的计算机视觉库背景OpenCV-Python是什么&#xff1f;安装简单的库函数使用方法场景示例人脸检测和识别图像分割目标跟踪 常见问题和解决方案总结 OpenCV-Python: 强大的计算机视觉库 背景 OpenCV (Open Source Computer Vision Library) 是一个开…