开发工具与关键技术:Visual Studio 2019 与WPF
1、项目概要
系统主要功能模块有:
(1)日常事务:主要包括前台销售、采购进货、商品管理、VIP管理、日销售明细的功能
(2)其他事物:主要包括库存调整、库存盘点、钱箱出入款、库存往来账查询的功能
(3)统计分析:主要包括销售系统分析、经营利润分析、库存统计分析、进货统计分析、进销存统计分析的功能
(4)信息维护:主要包括系统配置、基础信息维护、用户及权限设定、数据库维护、三易通软件注册的功能
完成功能模块:采购进货、商品管理、VIP管理、钱箱出入款、用户及权限设定
2、数据库设计
2.1数据表
B_commodity
資料表名稱 |
B_commodity |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
commodityID |
int identity |
(10, 0) |
NO |
PK |
商品ID |
|
2 |
commodityName |
nvarchar |
20 |
YES |
商品名称 |
||
3 |
styleNumber |
nvarchar |
20 |
YES |
款号 |
||
4 |
commoditycode |
nvarchar |
20 |
YES |
商品编码 |
||
5 |
operatorID |
int |
(10, 0) |
YES |
操作人ID |
||
6 |
sizeID |
int |
(10, 0) |
YES |
尺码ID |
||
7 |
commodityColorID |
int |
(10, 0) |
YES |
商品颜色ID |
||
8 |
goodsID |
int |
(10, 0) |
YES |
商品种类ID |
||
9 |
regimentationID |
int |
(10, 0) |
YES |
商品类别ID |
||
10 |
brandID |
int |
(10, 0) |
YES |
品牌ID |
||
11 |
seasonID |
int |
(10, 0) |
YES |
季节ID |
||
12 |
supplierID |
int |
(10, 0) |
YES |
供应商ID |
||
13 |
unitID |
int |
(10, 0) |
YES |
单位ID |
||
14 |
inventoryID |
int |
(10, 0) |
YES |
库存ID |
||
15 |
effect |
bit |
1 |
YES |
生效否 |
||
16 |
bargain |
bit |
1 |
YES |
|||
17 |
bargainGoods |
bit |
1 |
YES |
特价商品 |
||
18 |
stockQty |
decimal |
(8, 0) |
YES |
数量 |
||
19 |
goodsPrice |
decimal |
(8, 2) |
YES |
商品价格 |
||
20 |
purchasingPrice |
decimal |
(8, 2) |
YES |
进价 |
||
21 |
sellingPrice |
decimal |
(8, 2) |
YES |
吊牌价 |
||
22 |
discount |
decimal |
(8, 2) |
YES |
销售折扣 |
||
23 |
afterDiscount |
decimal |
(8, 2) |
YES |
折后售价 |
||
24 |
upperLimit |
decimal |
(8, 0) |
YES |
库存上限 |
||
25 |
lowerLimit |
decimal |
(8, 0) |
YES |
库存下限 |
||
26 |
operatoTime |
datetime |
(23, 3) |
YES |
操作时间 |
||
27 |
picture |
ntext |
1073741823 |
YES |
商品图片 |
B_order
資料表名稱 |
B_order |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
orderID |
int identity |
(10, 0) |
NO |
PK |
订单ID |
|
2 |
orderNo |
nvarchar |
20 |
YES |
订单编号 |
||
3 |
operatorID |
int |
(10, 0) |
YES |
操作人ID |
||
4 |
payMoney |
decimal |
(8, 2) |
YES |
支付金额 |
||
5 |
orderStatus |
int |
(10, 0) |
YES |
订单状态 |
||
6 |
payTime |
datetime |
(23, 3) |
YES |
支付时间 |
||
7 |
styleNumber |
nvarchar |
20 |
YES |
款号 |
B_supplier
資料表名稱 |
B_supplier |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
supplierID |
int identity |
(10, 0) |
NO |
PK |
供应商ID |
|
2 |
supplierName |
nvarchar |
20 |
YES |
供应商名称 |
||
3 |
supplierAddress |
nvarchar |
100 |
YES |
地址 |
||
4 |
contacts |
nvarchar |
20 |
YES |
联系人 |
||
5 |
contactsPhoto |
nvarchar |
20 |
YES |
联系人电话 |
||
6 |
account |
nvarchar |
20 |
YES |
账号 |
||
7 |
bankOfDeposit |
nvarchar |
30 |
YES |
开户银行 |
||
8 |
facsimile |
nvarchar |
20 |
YES |
传真 |
B_vipcategory
資料表名稱 |
B_vipcategory |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
vipID |
int |
(10, 0) |
YES |
vipID |
||
2 |
vipsortName |
nvarchar |
30 |
YES |
VIP类型名称 |
||
3 |
discount |
decimal |
(8, 2) |
YES |
默认折扣 |
B_vipMessage
資料表名稱 |
B_vipMessage |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
vipMessageID |
int identity |
(10, 0) |
NO |
PK |
VIP信息ID |
|
2 |
vipID |
int |
(10, 0) |
YES |
VIPID |
||
3 |
vipName |
nvarchar |
20 |
YES |
VIP姓名 |
||
4 |
sexID |
int |
(10, 0) |
YES |
性别 |
||
5 |
vipNumber |
nvarchar |
10 |
YES |
VIP编码 |
||
6 |
phoneNumber |
nvarchar |
30 |
YES |
手机号 |
||
7 |
total |
decimal |
(8, 2) |
YES |
消费金额 |
||
8 |
integral |
decimal |
(8, 0) |
YES |
消费积分 |
||
9 |
birthday |
date |
10 |
YES |
生日 |
||
10 |
lastConsumption |
date |
10 |
YES |
上次消费 |
||
11 |
openingDate |
date |
10 |
YES |
打开日期 |
||
12 |
note |
nvarchar |
200 |
YES |
备注 |
D_brand
資料表名稱 |
D_brand |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
brandID |
int identity |
(10, 0) |
NO |
PK |
品牌ID |
|
2 |
brandName |
nvarchar |
30 |
YES |
品牌名称 |
D_colour
資料表名稱 |
D_colour |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
commodityColorID |
int identity |
(10, 0) |
NO |
PK |
颜色ID |
|
2 |
colourName |
nvarchar |
20 |
YES |
颜色名称 |
||
3 |
colorCoding |
nvarchar |
20 |
YES |
颜色编码 |
D_season
資料表名稱 |
D_season |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
seasonID |
int identity |
(10, 0) |
NO |
PK |
季节ID |
|
2 |
seasonName |
nvarchar |
10 |
YES |
季节名称 |
D_size
資料表名稱 |
D_size |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
sizeID |
int identity |
(10, 0) |
NO |
PK |
尺码ID |
|
2 |
sizeName |
nvarchar |
10 |
YES |
尺码名称 |
||
3 |
sizeNumber |
nvarchar |
10 |
YES |
尺码编号 |
D_suit
資料表名稱 |
D_suit |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
suitID |
int identity |
(10, 0) |
NO |
PK |
套装ID |
|
2 |
suitName |
nvarchar |
50 |
YES |
套装名称 |
||
3 |
attribute_gather_id |
int |
(10, 0) |
YES |
属性ID |
||
4 |
detailed_attribute_gather_id |
int |
(10, 0) |
YES |
属性明细ID |
D_unit
資料表名稱 |
D_unit |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
unitID |
int identity |
(10, 0) |
NO |
PK |
单位ID |
|
2 |
unitName |
nvarchar |
10 |
YES |
单位名称 |
R_inventoryInformation
資料表名稱 |
R_inventoryInformation |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
inventoryID |
int identity |
(10, 0) |
NO |
PK |
库存ID |
|
2 |
inventoryName |
nvarchar |
20 |
YES |
仓库名称 |
||
3 |
update |
datetime |
(23, 3) |
YES |
更新日期 |
S_access
資料表名稱 |
S_access |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
accessID |
int identity |
(10, 0) |
NO |
PK |
出入款ID |
|
2 |
aggregateAmount |
decimal |
(8, 2) |
YES |
总额 |
||
3 |
earnings |
decimal |
(8, 2) |
YES |
本次收益 |
||
4 |
keep |
decimal |
(8, 2) |
YES |
上次留存 |
||
5 |
salesOrder |
nvarchar |
20 |
YES |
截止销售单号 |
||
6 |
note |
varchar |
50 |
YES |
备注 |
S_attributeGather
資料表名稱 |
S_attributeGather |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
attribute_gather_id |
int identity |
(10, 0) |
NO |
PK |
属性ID |
|
2 |
attribute_gather_name |
nvarchar |
30 |
YES |
属性名称 |
S_auditStatus
資料表名稱 |
S_auditStatus |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
auditStatusID |
int identity |
(10, 0) |
NO |
PK |
审核状态ID |
|
2 |
auditStatusName |
nvarchar |
5 |
YES |
审核状态 |
S_detailedAttributeGather
資料表名稱 |
S_detailedAttributeGather |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
detailed_attribute_gather_id |
int identity |
(10, 0) |
NO |
PK |
属性明细ID |
|
2 |
attribute_gather_id |
int |
(10, 0) |
YES |
属性ID |
||
3 |
detailed_attribute_gather_name |
nvarchar |
50 |
YES |
属性明细名称 |
||
4 |
f_attribute_gather_id |
int |
(10, 0) |
YES |
属性父ID |
S_goodsPrice
資料表名稱 |
S_goodsPrice |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
goodsPriceID |
int identity |
(10, 0) |
NO |
PK |
商品价格ID |
|
2 |
commodityID |
int |
(10, 0) |
YES |
商品ID |
||
3 |
goodsPrice |
decimal |
(8, 2) |
YES |
商品价格 |
||
4 |
purchasingPrice |
decimal |
(8, 2) |
YES |
进价 |
||
5 |
sellingPrice |
decimal |
(8, 2) |
YES |
吊牌价 |
||
6 |
afterDiscount |
decimal |
(8, 2) |
YES |
折后售价 |
S_modular
資料表名稱 |
S_modular |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
modular_id |
int identity |
(10, 0) |
NO |
PK |
模块ID |
|
2 |
modular_name |
nvarchar |
50 |
YES |
模块名称 |
||
3 |
modular_code |
nvarchar |
40 |
YES |
模块编号 |
||
4 |
f_id |
int |
(10, 0) |
YES |
父ID |
S_modularOperation
資料表名稱 |
S_modularOperation |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
modular_detail_id |
int |
(10, 0) |
YES |
模块操作ID |
||
2 |
modular_id |
int |
(10, 0) |
YES |
模块ID |
||
3 |
as_operation_id |
nvarchar |
200 |
YES |
操作ID |
S_operators
資料表名稱 |
S_operators |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
operatorID |
int identity |
(10, 0) |
NO |
PK |
操作人ID |
|
2 |
permissionGroupID |
int |
(10, 0) |
YES |
权限组ID |
||
3 |
staffID |
int |
(10, 0) |
YES |
员工ID |
||
4 |
operatorsAccount |
nvarchar |
20 |
YES |
账号 |
||
5 |
operatorsPassword |
nvarchar |
20 |
YES |
密码 |
||
6 |
effective |
bit |
1 |
YES |
有效否 |
||
7 |
phone |
nvarchar |
20 |
YES |
手机 |
S_permissionGroup
資料表名稱 |
S_permissionGroup |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
permissionGroupID |
int identity |
(10, 0) |
NO |
PK |
权限组ID |
|
2 |
permissionName |
nvarchar |
200 |
YES |
权限组名称 |
||
3 |
modularDetailid |
nvarchar |
200 |
YES |
模块明细ID |
||
4 |
abstract |
nvarchar |
200 |
YES |
摘要 |
S_purchaseInformation
資料表名稱 |
S_purchaseInformation |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
stockID |
int identity |
(10, 0) |
NO |
PK |
采购ID |
|
2 |
receiptsID |
int |
(10, 0) |
YES |
销售单号 |
||
3 |
supplierID |
int |
(10, 0) |
YES |
供应商ID |
||
4 |
commodityCode |
nvarchar |
30 |
YES |
商品编码 |
||
5 |
commodityName |
nvarchar |
30 |
YES |
商品ID |
||
6 |
styleNumber |
nvarchar |
20 |
YES |
款号 |
||
7 |
purchaseDate |
date |
10 |
YES |
采购日期 |
||
8 |
quantityIn |
decimal |
(8, 0) |
YES |
数量 |
||
9 |
tagPrice |
decimal |
(8, 2) |
YES |
吊牌价 |
||
10 |
discount |
decimal |
(8, 2) |
YES |
销售折扣 |
||
11 |
primeCost |
decimal |
(8, 2) |
YES |
进货价 |
||
12 |
grossAmount |
decimal |
(8, 2) |
YES |
总金额 |
||
13 |
commodityColorID |
int |
(10, 0) |
YES |
颜色ID |
||
14 |
sizeID |
int |
(10, 0) |
YES |
尺码ID |
||
15 |
unitID |
int |
(10, 0) |
YES |
单位ID |
||
16 |
seasonID |
int |
(10, 0) |
YES |
季节ID |
||
17 |
brandID |
int |
(10, 0) |
YES |
品牌ID |
||
18 |
detailed_attribute_gather_id |
int |
(10, 0) |
YES |
属性明细ID |
||
19 |
lastOperationID |
int |
(10, 0) |
YES |
最后操作员ID |
||
20 |
inventoryID |
int |
(10, 0) |
YES |
仓库ID |
S_receipts
資料表名稱 |
S_receipts |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
receiptsID |
int identity |
(10, 0) |
NO |
PK |
单据ID |
|
2 |
receiptsNumber |
nvarchar |
20 |
YES |
单号 |
||
3 |
receiptsDate |
date |
10 |
YES |
单据日期 |
||
4 |
supplierID |
int |
(10, 0) |
YES |
供应商ID |
||
5 |
staffID |
int |
(10, 0) |
YES |
员工ID |
||
6 |
auditStatusID |
int |
(10, 0) |
YES |
单据状态ID |
||
7 |
quantity |
decimal |
(8, 0) |
YES |
数量 |
||
8 |
amount |
decimal |
(8, 2) |
YES |
金额 |
||
9 |
updateTime |
date |
10 |
YES |
更新时间 |
||
10 |
note |
nvarchar |
200 |
YES |
S_sales
資料表名稱 |
S_sales |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
salesID |
int identity |
(10, 0) |
NO |
PK |
退货ID |
|
2 |
orderID |
int |
(10, 0) |
YES |
订单ID |
||
3 |
marketID |
int |
(10, 0) |
YES |
销售ID |
||
4 |
operatorID |
int |
(10, 0) |
YES |
操作人ID |
||
5 |
refundAmount |
decimal |
(8, 2) |
YES |
退款金额 |
||
6 |
realRefund |
decimal |
(8, 2) |
YES |
实退金额 |
||
7 |
finalOperation |
int |
(10, 0) |
YES |
最后操作人 |
||
8 |
operationTime |
datetime |
(23, 3) |
YES |
操作时间 |
||
9 |
returnReason |
nvarchar |
2000 |
YES |
退货原因 |
S_salesMessage
資料表名稱 |
S_salesMessage |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
marketID |
int identity |
(10, 0) |
NO |
PK |
销售ID |
|
2 |
commodityID |
int |
(10, 0) |
YES |
商品ID |
||
3 |
salesDate |
datetime |
(23, 3) |
YES |
销售日期 |
||
4 |
sellQuantity |
nvarchar |
10 |
YES |
数量 |
||
5 |
discountRate |
decimal |
(8, 2) |
YES |
折扣率 |
S_soldNote
資料表名稱 |
S_soldNote |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
soldNoteID |
int |
(10, 0) |
NO |
PK |
单据ID |
|
2 |
marketNumber |
nvarchar |
20 |
YES |
单据编号 |
||
3 |
marketStatusID |
int |
(10, 0) |
YES |
销售状态ID |
||
4 |
receiptsDate |
date |
10 |
YES |
单据日期 |
||
5 |
staffID |
int |
(10, 0) |
YES |
操作员ID |
||
6 |
VIPID |
int |
(10, 0) |
YES |
VIPID |
S_staff
資料表名稱 |
S_staff |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
staffID |
int identity |
(10, 0) |
NO |
PK |
员工ID |
|
2 |
permissionGroupID |
int |
(10, 0) |
YES |
权限组ID |
||
3 |
staffName |
nvarchar |
50 |
YES |
员工姓名 |
||
4 |
staffNumber |
nvarchar |
30 |
YES |
员工编号 |
||
5 |
staffpassword |
nvarchar |
30 |
YES |
员工密码 |
||
6 |
sexID |
int |
(10, 0) |
YES |
性别ID |
||
7 |
effects |
bit |
1 |
YES |
有效否 |
||
8 |
staffphone |
nvarchar |
20 |
YES |
员工电话 |
S_user
資料表名稱 |
S_user |
資料表描述 |
|||||
SN |
欄位 |
資料型態 |
長度 |
null |
PK |
描述 |
|
1 |
userID |
int identity |
(10, 0) |
NO |
PK |
用户ID |
|
2 |
groupID |
int |
(10, 0) |
YES |
权限组ID |
||
3 |
userName |
nvarchar |
50 |
YES |
名字 |
||
4 |
userAccount |
nvarchar |
20 |
YES |
账号 |
||
5 |
userPassword |
nvarchar |
20 |
YES |
密码 |
||
6 |
effects |
bit |
1 |
YES |
有效否 |
||
7 |
userPhone |
nvarchar |
20 |
YES |
电话 |
3、设计与实现
3.1采购进货
3.1.1功能实现
采购进货:见图1,是采购进货实现界面。
图1
点击图 1“新增”按钮解锁下方文本框限制,然后即可输入商品信息,输入后点击添加商品按钮即可将商品添加到临时表格中,如图2
图2
双击表格数量可修改数量,也可继续添加
3.1.2相关业务表和关系
采购进货表和关系
3.1.3经典代码
保存临时数据功能实现:
(1)、创建临时表:
(2)、将数据添加到页面
(3)、修改表格数据
(4)、移除临时表格数据
(5)、按照日期自动生成流水号,流水号每天更新一次
3.2商品管理
3.2.1 功能实现
商品管理:添加和修改商品详细信息的功能模块
服装、鞋帽行业最突出的特点是,同一个款式,包含不同颜色、不同尺码,而成本和吊牌价等属性 均相同。
1).对于已有的款式,可以直接点击款号文本框的“…”按钮,选择已有款号,或手工录入商品款 号,然后按回车键,即可带出此商品的其他信息。
2).若是新商品,在左边录入该款的共同信息,如名称、吊牌价、进货价等。
3).在右边的网格里,录入(选中)该商品的颜色,然后在对应的尺码列中录入相应的进货数即可。 其他颜色,另起一行即可,支持多颜色与多尺码的商品录入。
4).一款录入完毕,点击“添加商品”按钮,该款的进货明细便添加到主网格中。重复此操作,直 到该份“采购进货单”明细已全部录入。
图1
1、点击图1中“添加”按钮弹出商品详细信息,如图2
图2
3.2.2相关业务表关系
商品管理表和关系:
3.2.3经典代码
(1)、绑定图片
(2)、单品删除跟整款删除两个代码看似一样但是存储过程不一致
① 单品删除
② 整款删除
3.3VIP管理
3.3.1功能实现
VIP管理:添加或修改VIP贵宾信息的功能模块
(1)、点击图1添加按钮弹出新增信息模板(图2)
图1
图2
3.3.2相关业务表关系
VIP信息表
3.3.3经典代码
(1)、模糊查询
图1
图2
图3
3.4钱箱出入款
3.4.1功能实现
(1)、在系统导航栏(图1)点击钱箱出入款,然后弹出出入款模块功能面板(图2)
图1
图2
3.4.2经典代码
(1)、文本框获取(失去)焦点事件
3.5 用户及权限设定
3.5.1功能实现
用户及权限设定主要包括:新增用户数据、修改用户数据
(1)、在系统导航栏点击用户及权限设定打开用户管理模板,如图1
图1
(2)、点击“添加”按钮,清空文本框内容,新增用户数据(图2)
图2
(3)、点击“修改”按钮,解除文本框限制(图3)
图3
3.5.2相关业务表关系
3.5.3经典代码
(1)、确认密码
(2)、密码框禁止复制
4、技术总结
经过这次做项目,我们不仅学到一些新的知识,也巩固了在校期间所学到的理论知识。在项目中也有一些平时老师没有讲过的新知识点,总会让我们眼前一新,从而觉得有挑战性,这既提高了我们的理论水平,也锻炼了我们的思维逻辑能力,能够让我们更好的去适应实习时带给我们的挑战,增强了自己对专业的热情,也提高了自己的兴趣。项目已经结束了,我也收获很多,同时也认识到了自己的诸多不足之处,再往后的学习、实习生涯中将更加努力,虚心求教,不负韶华。期待下一次项目的到来!!
文章浏览阅读10w+次,点赞173次,收藏149次。接着上一篇OCR所说的,上一篇给大家介绍了tesseract 在命令行的简单用法,当然了要继承到我们的程序中,还是需要代码实现的,下面给大家分享下java实现的例子。拿代码扫描上面的图片,然后输出结果。主要思想就是利用Java调用系统任务。下面是核心代码:package com.zhy.test;import java.io.BufferedReader;import_tesocr jave
文章浏览阅读519次,点赞2次,收藏2次。图片来源:互联网众所周知,中国是智利车厘子最主要的出口对象,占据了其95%的市场份额。智利驻华大使馆商务参赞娜塔曾表示:“2020-2021产季车厘子实现了丰收,预计今年有50万吨左右的车厘子进入中国市场。”自2020年12月中旬开始,智利海运车厘子陆续到达中国,运输成本较此前空运方式大幅下滑。这意味着,国内消费者将能以更低的价格买到车厘子。然而,近日国内已有多地进口车厘子核酸检测结果为阳性,在这种情况下,你还敢大呼“车厘子自由”吗?01 数据获取本文利用Python采集了淘宝网1585.._爬虫 淘宝车厘子
文章浏览阅读1.1k次。OLAP中数据存储的问题OLAP 需要队列进行选择,行式存储按行存数据,使用索引加快对数据的查找(索引包括聚集索引(表记录的排列顺序与索引的排列顺序一致)和非聚簇索引(非聚集索引指定了表中记录的逻辑顺序,但记录的物理顺序和索引的顺序不一致))。这种方式对按列的存储和检索不是很高效,查询某一列数据需要将所有行的数据扫描一次,而且对统计分析也不友好。列式存储原理若使用列式存储可以只用扫描出需要的列,行、列存储的对比。文件格式parquet 文件格式:如下图所示:parquet file = hea_列式存储
文章浏览阅读4.3w次,点赞184次,收藏1.2k次。我们可以把字符串储存在char类型的数组中,如果char类型的数组末尾包含一个表示字符串末尾的空字符\0,则该数组中的内容就构成了一个字符串因为字符串需要用\0结尾,所以在定义字符串的时候,字符数组的长度要预留多一个字节用来存放\0,\0就是数字0例如。_c语言字符串
文章浏览阅读2k次,点赞8次,收藏15次。后台管理项目免不了要做权限控制,常见的分为路由级别和按钮级别,在此主要针对于按钮权限,比如说某个用户或者角色对数据有没有增删改查的权限,例如以下功能,巡查人员可以点击导入和新建,而一般用户只能选择下载模板。在 directives文件夹下分别创建permission、debounce、throttle三个ts文件,分别用于存放权限控制,防抖和节流的业务逻辑,结构清晰,方便维护以及更低的耦合度。在index.ts文件中分别导入每个自定义指令对象,再遍历注册每一个指令。_vue3 v-permission
文章浏览阅读553次。1、maven-dependency-versions-check-plugin, Maven 插件查找依赖版本冲突转载于:https://www.cnblogs.com/yixiu868/p/11583582.html_maven-dependency-versions-check-plugin
文章浏览阅读57次。【1】windows下php运行环境安装【2】php连接MySQL【3】centos7下用yum的方式安装php7.2【4】编译式安装php【5】php日志文件【6】php.ini配置【7】php-fpm.conf重要参数详解【8】扩展mysql【1】windows下php运行环境安装参考连接#下载地址https://windows.php.net/download#php-7.3#解压安装包至任意目录#结合apache或nginx进行配置即可###名词解释...
文章浏览阅读1.3k次。前后端分离之Spring Security Api验证实践为什么需要RESTful重定向问题为什么需要RESTful使用RESTful之前,会发现各种奇葩的url命名,对url的功能经常需要结合源代码来确认,让人头痛,使用RESTful规范之后,很多问题得以解决。仅仅依靠URL和Method就能定为功能。重定向问题需要重新定义逻辑(JDK8推荐使用Lambda表达式)登录 ,默认下..._spring security api
文章浏览阅读10w+次,点赞25次,收藏117次。图像处理之常见二值化方法汇总图像二值化是图像分析与处理中最常见最重要的处理手段,二值处理方法也非常多。越精准的方法计算量也越大。本文主要介绍四种常见的二值处理方法,通常情况下可以满足大多数图像处理的需要。主要本文讨论的方法仅针对RGB色彩空间。 方法一:该方法非常简单,对RGB彩色图像灰度化以后,扫描图像的每个像素值,值小于127的将像素值设为0(黑色),值大于等于12_二值化
文章浏览阅读1.9k次。JAVA程序设计与应用开发(第2版)——《GUI清华大学出版社》_gui开发
文章浏览阅读491次。大家好,给大家分享一下PYTHON实训总结及体会1500字,很多人还不知道这一点。这将使你在做实验时的难度加大。然后两下子就将实验报告做完。但学到的知识与难度成正比。一定要将课本上的知识吃透。【篇一:实验心得体会】就像以前做物理实验一样。在老师讲解时就会听不懂。你要清楚电桥的各种接法。这将使你极大地浪费时间。在做测试技术的实验前。因为这是做实验的基础。_python实验体会
文章浏览阅读9.6k次,点赞9次,收藏117次。特性或指标总述本文将从以下特性进行简单的叙述。结合了《ADC设计基础》和TI的一些教学视频。分辨率转换误差转换速度采样率奈奎斯特采样准则混叠和抗混叠滤波器DNLINL热噪声谐波失真THDSNRENOBSFDRIMD孔径抖动孔径延迟奈奎斯特区补充分辨率一般ADC都说注明是8bit,16bit或者是24bit。这里的数值也就是分辨率的意思。分辨率是衡量A..._adc电流电压零漂值