sql sercer 2008 如何过滤当天的重复记录

greenjia0 2013-06-29 09:31:58
xh state time
工号 状态 时间
0001 1 2013-06-29 06:10:00
0001 2 2013-06-29 08:13:20
0001 1 2013-06-29 09:00:03
0001 2 2013-06-29 18:00:03

我想只保留一天中的一组数据(1--入 2--出,)如何过滤每天中重复数据只保留一对数数据。
...全文
372 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
kissme168 2013-07-03
  • 打赏
  • 举报
回复
引用 18 楼 smile_ps 的回复:
选择员工的最早上班时间,和最后下班时间,相对合理些啊 [quote=引用 15 楼 kissme168 的回复:] 选择员工的最早上班时间,和最后下班时间,相对合理些啊
这个比较符合实际业务。需求表达不清楚,楼上写再多的SQL都没用。[/quote] 哈哈,急楼主之所急,想楼主之所想,那给点分吧 楼主
smile_ps 2013-07-03
  • 打赏
  • 举报
回复

CREATE TABLE #Tmp_table
(
姓名','','VARCHAR(20),
工号','','VARCHAR(20),
部门','','VARCHAR(20),
上班时间','DATETIME,
下班时间','DATETIME,
工作时长','VARCHAR(20)
)

insert into #Tmp_table(姓名,工号,部门,上班时间,下班时间,工作时长)
select '张三','80101002','后勤','2012-09-29 15:36','2012-09-29 22:47','7小时11分' union all
select '张三','80101002','后勤','2012-09-27 15:54','2012-09-27 22:55','7小时1分' union all
select '张三','80101002','后勤','2012-09-26 15:30','2012-09-26 22:59','7小时29分' union all
select '张三','80101002','后勤','2012-09-25 15:25','2012-09-25 22:52','7小时27分' union all
select '张三','80101002','后勤','2012-09-24 15:26','2012-09-24 23:07','7小时41分' union all
select '张三','80101002','后勤','2012-09-23 15:29','2012-09-23 23:57','8小时28分' union all
select '张三','80101002','后勤','2012-09-22 15:22','2012-09-22 22:32','7小时10分' union all
select '张三','80101002','后勤','2012-09-21 15:13','2012-09-21 22:44','7小时31分' union all
select '张三','80101002','后勤','2012-09-20 15:12','2012-09-20 22:52','7小时40分' union all
select '张三','80101002','后勤','2012-09-19 15:08','2012-09-19 22:41','7小时33分' union all
select '张三','80101002','后勤','2012-09-18 15:27','2012-09-18 22:44','7小时17分' union all
select '张三','80101002','后勤','2012-09-17 15:16','2012-09-17 22:28','7小时12分' union all
select '张三','80101002','后勤','2012-09-16 15:13','2012-09-16 22:41','7小时28分' union all
select '张三','80101002','后勤','2012-09-15 15:17','2012-09-15 20:11','4小时54分' union all
select '张三','80101002','后勤','2012-09-14 15:25','2012-09-14 22:46','7小时21分' union all
select '张三','80101002','后勤','2012-09-13 15:27','2012-09-13 22:37','7小时10分' union all
select '张三','80101002','后勤','2012-09-12 06:53','2012-09-12 14:46','7小时53分' union all
select '张三','80101002','后勤','2012-09-11 15:29','2012-09-11 23:02','7小时33分' union all
select '张三','80101002','后勤','2012-09-11 12:26','2012-09-11 14:19','1小时53分' union all
select '张三','80101002','后勤','2012-09-10 15:25','2012-09-10 22:50','7小时25分' union all
select '张三','80101002','后勤','2012-09-09 15:25','2012-09-09 22:46','7小时21分' union all
select '张三','80101002','后勤','2012-09-08 15:06','2012-09-08 22:53','7小时47分' union all
select '张三','80101002','后勤','2012-09-07 15:48','2012-09-07 23:12','7小时24分' union all
select '张三','80101002','后勤','2012-09-06 15:22','2012-09-06 23:23','8小时1分'
说实话.分有点少哈~
smile_ps 2013-07-03
  • 打赏
  • 举报
回复

SELECT A.姓名,A.工号,A.部门,B.上班时间,C.下班时间,
       (CASE WHEN A.工作时长%60 = 0 THEN CONVERT(varchar(2),A.工作时长/60)+'小时0分' 
             ELSE CONVERT(VARCHAR(2),(A.工作时长-(A.工作时长%60))/60)+'小时'+CONVERT(varchar(2),A.工作时长%60)+'分' END)AS 工作时长
  FROM (SELECT 姓名,工号,部门,CONVERT(VARCHAR(10),上班时间,121)AS 日期,SUM(DATEDIFF(mi,上班时间,下班时间))AS 工作时长
		  from #Tmp_table 
		 group by 姓名,工号,部门,CONVERT(VARCHAR(10),上班时间,121)) A
  LEFT OUTER JOIN (SELECT 工号,Min(上班时间)AS 上班时间,CONVERT(VARCHAR(10),上班时间,121)AS 日期
                     FROM #Tmp_table 
                    GROUP BY 工号,CONVERT(VARCHAR(10),上班时间,121)) B
	ON A.工号 = B.工号 AND A.日期 = B.日期
  LEFT OUTER JOIN (SELECT 工号,MAX(下班时间)AS 下班时间,CONVERT(VARCHAR(10),上班时间,121)AS 日期
                     FROM #Tmp_table 
                    GROUP BY 工号,CONVERT(VARCHAR(10),上班时间,121)) C
	ON A.工号 = C.工号 AND A.日期 = C.日期
ORDER BY A.日期 DESC
思路是取张三某天的最早上班打卡时间和最晚下班时间.实际工作时长取某天的总工作时长 姓名 工号 部门 上班时间 下班时间 工作时长 -------------------- -------------------- -------------------- ----------------------- ----------------------- ---------- 张三 80101002 后勤 2012-09-29 15:36:00.000 2012-09-29 22:47:00.000 7小时11分 张三 80101002 后勤 2012-09-27 15:54:00.000 2012-09-27 22:55:00.000 7小时1分 张三 80101002 后勤 2012-09-26 15:30:00.000 2012-09-26 22:59:00.000 7小时29分 张三 80101002 后勤 2012-09-25 15:25:00.000 2012-09-25 22:52:00.000 7小时27分 张三 80101002 后勤 2012-09-24 15:26:00.000 2012-09-24 23:07:00.000 7小时41分 张三 80101002 后勤 2012-09-23 15:29:00.000 2012-09-23 23:57:00.000 8小时28分 张三 80101002 后勤 2012-09-22 15:22:00.000 2012-09-22 22:32:00.000 7小时10分 张三 80101002 后勤 2012-09-21 15:13:00.000 2012-09-21 22:44:00.000 7小时31分 张三 80101002 后勤 2012-09-20 15:12:00.000 2012-09-20 22:52:00.000 7小时40分 张三 80101002 后勤 2012-09-19 15:08:00.000 2012-09-19 22:41:00.000 7小时33分 张三 80101002 后勤 2012-09-18 15:27:00.000 2012-09-18 22:44:00.000 7小时17分 张三 80101002 后勤 2012-09-17 15:16:00.000 2012-09-17 22:28:00.000 7小时12分 张三 80101002 后勤 2012-09-16 15:13:00.000 2012-09-16 22:41:00.000 7小时28分 张三 80101002 后勤 2012-09-15 15:17:00.000 2012-09-15 20:11:00.000 4小时54分 张三 80101002 后勤 2012-09-14 15:25:00.000 2012-09-14 22:46:00.000 7小时21分 张三 80101002 后勤 2012-09-13 15:27:00.000 2012-09-13 22:37:00.000 7小时10分 张三 80101002 后勤 2012-09-12 06:53:00.000 2012-09-12 14:46:00.000 7小时53分 张三 80101002 后勤 2012-09-11 12:26:00.000 2012-09-11 23:02:00.000 9小时26分 张三 80101002 后勤 2012-09-10 15:25:00.000 2012-09-10 22:50:00.000 7小时25分 张三 80101002 后勤 2012-09-09 15:25:00.000 2012-09-09 22:46:00.000 7小时21分 张三 80101002 后勤 2012-09-08 15:06:00.000 2012-09-08 22:53:00.000 7小时47分 张三 80101002 后勤 2012-09-07 15:48:00.000 2012-09-07 23:12:00.000 7小时24分 张三 80101002 后勤 2012-09-06 15:22:00.000 2012-09-06 23:23:00.000 8小时1分 (23 行受影响)
smile_ps 2013-07-03
  • 打赏
  • 举报
回复
选择员工的最早上班时间,和最后下班时间,相对合理些啊
引用 15 楼 kissme168 的回复:
选择员工的最早上班时间,和最后下班时间,相对合理些啊
这个比较符合实际业务。需求表达不清楚,楼上写再多的SQL都没用。
greenjia0 2013-07-03
  • 打赏
  • 举报
回复
姓名 工号 部门 上班时间 下班时间 工作时长 张三 80101002 后勤 2012-09-29 15:36 2012-09-29 22:47 7小时11分 张三 80101002 后勤 2012-09-27 15:54 2012-09-27 22:55 7小时1分 张三 80101002 后勤 2012-09-26 15:30 2012-09-26 22:59 7小时29分 张三 80101002 后勤 2012-09-25 15:25 2012-09-25 22:52 7小时27分 张三 80101002 后勤 2012-09-24 15:26 2012-09-24 23:07 7小时41分 张三 80101002 后勤 2012-09-23 15:29 2012-09-23 23:57 8小时28分 张三 80101002 后勤 2012-09-22 15:22 2012-09-22 22:32 7小时10分 张三 80101002 后勤 2012-09-21 15:13 2012-09-21 22:44 7小时31分 张三 80101002 后勤 2012-09-20 15:12 2012-09-20 22:52 7小时40分 张三 80101002 后勤 2012-09-19 15:08 2012-09-19 22:41 7小时33分 张三 80101002 后勤 2012-09-18 15:27 2012-09-18 22:44 7小时17分 张三 80101002 后勤 2012-09-17 15:16 2012-09-17 22:28 7小时12分 张三 80101002 后勤 2012-09-16 15:13 2012-09-16 22:41 7小时28分 张三 80101002 后勤 2012-09-15 15:17 2012-09-15 20:11 4小时54分 张三 80101002 后勤 2012-09-14 15:25 2012-09-14 22:46 7小时21分 张三 80101002 后勤 2012-09-13 15:27 2012-09-13 22:37 7小时10分 张三 80101002 后勤 2012-09-12 06:53 2012-09-12 14:46 7小时53分 张三 80101002 后勤 2012-09-11 15:29 2012-09-11 23:02 7小时33分 张三 80101002 后勤 2012-09-11 12:26 2012-09-11 14:19 1小时53分 张三 80101002 后勤 2012-09-10 15:25 2012-09-10 22:50 7小时25分 张三 80101002 后勤 2012-09-09 15:25 2012-09-09 22:46 7小时21分 张三 80101002 后勤 2012-09-08 15:06 2012-09-08 22:53 7小时47分 张三 80101002 后勤 2012-09-07 15:48 2012-09-07 23:12 7小时24分 张三 80101002 后勤 2012-09-06 15:22 2012-09-06 23:23 8小时1分 如何过滤重复天数的记录
kissme168 2013-07-02
  • 打赏
  • 举报
回复
UNION ALL 好些,已改 你看看是不是你要的结果? SELECT * FROM TBL_WORK_STATE RIGHT JOIN ( SELECT MAX(STATE_TIME)AS S_TIME,NUM FROM TBL_WORK_STATE GROUP BY NUM UNION ALL SELECT MIN(STATE_TIME),NUM FROM TBL_WORK_STATE GROUP BY NUM ) AS TOTAL ON TBL_WORK_STATE.STATE_TIME=TOTAL.S_TIME
kissme168 2013-07-02
  • 打赏
  • 举报
回复
选择员工的最早上班时间,和最后下班时间,相对合理些啊
SELECT * FROM TBL_WORK_STATE RIGHT JOIN (
SELECT MAX(STATE_TIME)AS S_TIME,NUM FROM TBL_WORK_STATE GROUP BY NUM
UNION
SELECT MIN(STATE_TIME),NUM FROM TBL_WORK_STATE GROUP BY NUM
) AS TOTAL ON TBL_WORK_STATE.STATE_TIME=TOTAL.S_TIME
kissme168 2013-07-02
  • 打赏
  • 举报
回复
引用 12 楼 greenjia0 的回复:
我是要统计 一个月内每天 中的考勤数据,目前统计的老是多算。 对了统计数据是从 2个表里 union 出来的数据。 A (主表),B(备份表) A,B表结构相同。
只取所用员工 一天当中签到签退 共计2条记录是吗?
lzw_0736 2013-07-02
  • 打赏
  • 举报
回复
表達不清楚,永遠不會有答案.
greenjia0 2013-07-02
  • 打赏
  • 举报
回复
我是要统计 一个月内每天 中的考勤数据,目前统计的老是多算。 对了统计数据是从 2个表里 union 出来的数据。 A (主表),B(备份表) A,B表结构相同。
kissme168 2013-07-02
  • 打赏
  • 举报
回复
你要的是最早的两个时间 TOP2 不行吗?
Leon_He2014 2013-07-01
  • 打赏
  • 举报
回复

select '0001' xh,1 [state],'2013-06-29 06:10:00' [time]
into #t
union all select '0001',2,'2013-06-29 08:13:20'
union all select '0001',1,'2013-06-29 09:00:03'
union all select '0001',2,'2013-06-29 18:00:03' 

select xh,[state],[time]
from
(
select *,row_number() over(Partition by [state], convert(date,[time]) order by [time]) rn
from #t
) t
where rn=1
IEEE_China 2013-07-01
  • 打赏
  • 举报
回复
这考勤。。。 这统计方式。。。 老板看了,会想“这小子早退啊,扣他工资” 当事人看了,会想“我比窦娥还冤枉啊!累死累活干了一天,反倒成早退了” 其他员工看了,会想“这是个血淋漓的教训啊,以后不到下班,坚决不刷第二次指纹” 作为程序员的你,会怎么想呢,难道会说“事不关己,反正我统计了。”
lzw_0736 2013-07-01
  • 打赏
  • 举报
回复
IF OBJECT_ID('tempdb..#TA') IS NOT NULL DROP TABLE #TA CREATE TABLE #TA(xh VARCHAR(10),[state] INT ,[time] DATETIME) INSERT INTO #TA(xh,[state],[time]) SELECT '0001',1,'2013-06-29 06:10:00' UNION ALL SELECT '0001',2,'2013-06-29 08:13:20' UNION ALL SELECT '0001',1,'2013-06-29 09:00:03' UNION ALL SELECT '0001',2,'2013-06-29 18:00:03' select xh,state,min(time) time from #TA where state=1 group by xh,state union all select xh,state,min(time) time from #TA where state=2 group by xh,state
jmx123456789 2013-07-01
  • 打赏
  • 举报
回复
可以在前台做判断 避免出现类似数据 比如 签到前先做个判断
lzw_0736 2013-07-01
  • 打赏
  • 举报
回复
沒有解決最好指出問題在哪裡
greenjia0 2013-07-01
  • 打赏
  • 举报
回复
问题还没有解决,需要高手帮忙
learningcoder 2013-06-30
  • 打赏
  • 举报
回复

IF(OBJECT_ID('TA') IS NOT NULL) DROP TABLE TA
CREATE TABLE TA(xh VARCHAR(10),[state] INT ,[time] DATETIME)
INSERT INTO TA(xh,[state],[time])
SELECT '0001',1,'2013-06-29 06:10:00' UNION ALL
SELECT '0001',2,'2013-06-29 08:13:20' UNION ALL
SELECT '0001',1,'2013-06-29 09:00:03' UNION ALL
SELECT '0001',1,'2013-06-29 18:00:03'  

WITH CTE_A AS (
	SELECT xh,[state],MIN([time]) AS [time] FROM  TA
	GROUP BY xh,[state]	
) 

DELETE FROM TA
WHERE NOT EXISTS (SELECT * FROM CTE_A AS L 
                  WHERE TA.xh=L.xh AND TA.[state]=L.[state] 
                       AND TA.[time]=L.[time]
                 )
--结果集
xh         state       time
---------- ----------- -----------------------
0001       1           2013-06-29 06:10:00.000
0001       2           2013-06-29 08:13:20.000
jiang_you_3 2013-06-29
  • 打赏
  • 举报
回复
如果出入相等就直接算一次就行了,干嘛还要全部计算呢,思路不对啊
greenjia0 2013-06-29
  • 打赏
  • 举报
回复
其实这是个考勤统计 1-入 2--出 才算一天的一个考勤,如果一天入2次 出2次 统计考勤就成了,一天2次了,不合理,所以一天只需要查询保留下一组数据就可以了 0001 1 2013-06-29 06:10:00 0001 2 2013-06-29 08:13:20
加载更多回复(1)
印染厂生产仓储信息系统 需求分析说明书 一. 系统背景 我国经济经历经多年高速增长后,正处于崭新的发展阶段,人民生活水平普遍提高,国家不断加强环境保护和节能减排的政策力度。同时2008年下半年源自发达经济体的金融危机,愈演愈烈,已成为一场经济危机,并向全球蔓延。在这样的国际和国内经济背景下,我国经济发展面临着严峻考验,特别是以出口导向型劳动密集型产业面临的形势更为严峻:一方面劳动力、原材料、污水处理等成本上升,另一方面出口订单减少。在这种情况下,沿海某纺织印染集团公司的决策层经过分析和讨论,审时度势做出战略决策:与时俱进,调整和优化产品结构,提高产品附加值、推行精细化管理和集约化经营。 目前,根据集团的总体规划,将在印染分厂逐步建立一系列信息化系统,其中《生产仓储信息系统》,将实现原坯布和成品仓储管理信息化,达到精细化、精确化和高效化管理,达到最大限度降低仓储管理成本和提高仓储管理效率的目的。 本文将对《生产仓储信息系统》的实际需求进行分析,并制定出解决方案。 二. 系统目标 《生产仓储信息系统》主要实现以下目标:  实现坯布库存摆放和出入的信息化  实现灵活多样查询和统计  实现有效可靠的用户权限管理和系统的安全性 三. 业务描述 对纺织布匹进行印染加工是印染企业主要生产内容。布匹是印染厂的最主要生产物资,未经印染加工布匹被称为坯布(即纺织企业出厂产品),经过印染企业加工的布匹被称为成品布(即直接可在市场上销售的布匹)。 坯布进入印染厂后,首先存放在坯布仓库中,需要生产时,从坯布库中出库,供生产使用,本系统主要内容为坯布库的出入库管理和位置摆放管理。 (一) 坯布库管理  库存初始数据设置 在刚刚开始使用本系统时,可能仓库中已有一定的坯布,这时需要录入库存的初始量。库存初始信息包括: 规格、数量(米)、登记时间(年月日),是否确定。 对初始信息可以设置、修改和确定。 一旦确定之后就不可以再进行设置和修改。  坯布出入库 坯布出入库即将坯布提出坯布库和进入坯布库。仓库管理人员对每一次出入库情况做详细记录,每天下班前结账,结账以后的出入记录不可以再修改和变化,同时向上级部门报坯布库结存日报表和日出入库明细清单。 出入库记录信息包含如下内容: 记录号、出入类型(出库、入库、盘盈、盘亏)、时间(年月日)、客户、坯布厂家、规格、数量(米)、位置、登记人、登记时间(年月日时分秒)、是否已结账、结账人、结账时间(年月日时分秒)、是否注销,注销人、注销时间。 坯布出入库管理主要包括: 新增入库,即新建一条坯布入库信息,记录内容 包括:记录号、时间(年月日)、客户、坯布厂家、规格、数量(米)、位置、登记人、登记时间(年月日时分秒) 修改出入库记录:对入库信息进行修改(记录号不可以修改),登记人和登记时间重新记录,结账以后的信息不可以修改。 注销出入库记录:对作废的、错误的出入库记录注销,表示不再使用,同时记录注销人和注销时间,结账以后的信息不可以注销。 结账:对选择日期当天的出入库记录进行结账,经结账记录加结账标志,同时记录结账人和结账日期。结账以后的信息不可以二次结账。 生成日报:依据当日结账出入库记录和上日结存,生成当日库存日报,日报表样如下: 坯布库存日报表 部门:坯布库 报表人:XXX 日期:2009-6-28 规格 数量 上日结存 日入库 日出库 日结存 合计 生成日出入库明细:将当日结账出入库记录生成日出入库明细单,样表如下: 坯布日出入库明细单 部门:坯布库 报表人:XXX 日期:2009-6-28 记录号 规格 客户 坯布厂家 出入类型 数量 合计  坯布库存月报 坯布库存月报表 部门:坯布库 报表人:XXX 月份:2009-6 规格 数量 上月结存 月入库 月出库 月结存 合计  坯布库存年报 坯布库存年报表 部门:坯布库 报表人:XXX 年份:2009 规格 数量 上年结存 年入库 年出库 年结存 合计  坯布库存盘点 库存盘点即对库存坯布进行实物清点,并进行帐实核对,并生成盘点报表。 在盘点之时,停止所有坯布出入库,未结帐的数据全部结账,生成盘点表: 坯布库存盘点表 部门:坯布库 盘点日期:2009-8-20 规格 账面库存量 实际数量 盈亏数量 盘点人 盘点表中需要填入的信息是实际数量、盈亏数量、盘点人。 根据盘点表生成盘点报表: 坯布库存盘点报表 部门:坯布库 盘点日期:2009-8-20 规格 账面库存量 实际数量 盈亏数量 最后应当盈亏入账,使帐实相符,具体在出入库记录中添加记录,出入类型为盘盈或者盘亏。  坯布库查询 可以按客户、规格、出入库日期、出/入库、位置、是否结账、是否注销、登记人等条件灵活地组合查询出入库记录。 (二) 系统的安全要求 本系统的用户及权限 管理员:能够进行系统的用户管理和维护,以及为用户分配权限。 其他用户:等够操作权限范围内的业务。 用户管理 任何用户必须经过权限分配和登录方可进入系统进行操作,任何用户操作都不能超越所拥有的权限。 密码维护 任何用户可以且仅能修改自己的密码 四. 系统功能划分 生产仓储信息系统将实现面向所有用户的统一操作平台,不同的业务功能,通过该平台实现统一登录统一管理,具有内在联系业务之间数据共享,尽可能避免重复操作。 (一) 安全子系统  用户管理 系统自带一个管理员用户,可以进行用户信息管理,负责对系统用户信息维护,及用户的权限分配。具体功能描述如下: 可以新建用户信息:用户ID、用户名称,密码由系统默认“123456”。 可以修改用户信息(不含密码)和删除用户信息,删除用户时同时删除该用户所拥有的权限。  用户登录 所用的系统用户,必须通过登录验证方可进入系统。如果用户不存在或者密码错误应当返回登录页面,并给用户相应提示。 未经登录的用户直接访问需要登录后才能访问的url时,系统应等够阻止。  用户登录后的操作菜单(首界面) 用户登录系统后所看到的操作菜单应为用户拥有的权限范围内的菜单。 (二) 基础信息子系统  客户信息维护 根据生产需要输入和维护必要的订单编号信息,内容为订单编号,客户名称等。  规格维护 根据生产需要录入和维护规格信息,内容为规格名称等。  位置代码维护 位置代码是指在物品所在仓库位置的编号,本功能即对位置代码进行定义和维护。 位置代码为5位编码,规则:仓库代号+区号+排号+列号,其含义如下: 仓库代号:R-坯布库 P-成品库 区号:00-99 排号:0-9 列号:0-9  坯布厂家维护 对坯布厂家信息进行录入和维护。  初始库存设置 可以对初始库存进行录入和修改,无误之后可以对初始库存进行确定,确定之后不再可以新增和更改。  盘点开关设置 进入本功能模块,在非盘点期间可以进行开始盘点操作,在盘点期间可以进行结束盘点操作。 (三) 坯布库子系统  坯布出入库 非盘点期间 当日未结账之前,用户可以进行以下操作。 直接录入有关坯布出入库信息:出入类型(出库、入库、盘盈、盘亏)、客户、坯布厂家、规格、数量(米)、位置;系统自动生成记录号,并记录出入库日期、登记人姓名、登记人操作时间。 信息录入之后用户可以进行修改和注销和取消注销,但记录号不可以修改。 当日结账之后,仅可以查看出入库数据,不可以录入和修改、注销。 在盘点期间 不可以进行新增出入库信息,可以修改和注销现有未结帐信息,可以取消未结帐注销信息。  出入库结账 在非盘点期间 可以结账,即对选择某一日的出入记录进行扎结,结账之后不允许在已结账日期进行录入、修改、注销和结账操作,仅可以查看。 在该模块,用户可以生成当日库存日报。 在盘点期间 可以进行盘点结账,盘点结账之后不再可以修改、注销和取消注销。  坯布库存盘点 在盘点期间 用户可以生成盘点表,可以在盘点表中录入实际库存数量,可以提交保存,也可以修改。 如果盘点结束或者盈亏已入账则不可以再录入和维护实际库存数量(即不可以修改盘点表)。 盘点结束后 可以生成盘点报表。  坯布盈亏入账 用户可以将最近一次盘点盈亏数据入账,即以盘亏和盘盈的形式增加库存出入信息,这些信息来源于盘点表。 (四) 查询统计子系统  坯布库查询 可以按客户、规格、出入库日期、出/入库、位置、是否结账、是否注销、登记人等条件灵活地组合查询出入库记录。  坯布库存月报  坯布库存年报 五. 系统环境 (一) 硬件环境  1)硬件平台 1、网络环境: 内部的局域网网速:局域网线路带宽为100M,工作站要求10M/100M,DB服务器为100M/1000M。 客户机(浏览器)外部接入网速不低于256kbps 2、服务器要求: DB服务器要求为高性能的PC服务器,配置最低要求(5个客户端):奔腾双核1.8GHz CPU,2G DDR2,160G HDD,100M/1000M NET,其他设备建议配备磁盘阵列备份与UPS电源。 WEB服务器要求为为高性能的PC服务器,配置最低要求:奔腾双核2.0GHz CPU,2G DDR,40G HDD,100M/1000M NET,其他设备建议配备磁盘阵列备份与UPS电源。 3、客户端要求: CPU频率在1.8GHZ/内存256M/硬盘20G以上的PC机,其中显示器建议可正常上1024×768分辨率。 (二) 软件平台  1)软件平台 服务器操作系统:WINDOWS XP/ WINDOWS 2000 Server 数据库系统:sqlserver 2005 JAVA平台:JDK1.5 J2EE1.4 WEB服务器: Tomcat 6.0 客户端操作系统: WINDOWS2000、WINDOWS XP 客户端浏览器:IE7.0或以上版本  2)系统开发工具 Eclipse 3.3+MyEclipse 6.5 + Tomcat6.0
1.安装与启动 第1步、一卡通系统硬件的安装及网络组建 确保一卡通(消费)系统设备、网络已按要求安装布建完毕。有关更多网络布建及设备安装信息,请参见随机光盘内附有设备的《硬件说明书》及《快速操作手册》,请先按说明书内所述内容进行设备的安装与组网。 第2步、安装数据库平台 您使用的一卡通系统兼容Microsoft® SQL Server™和Microsoft® Office Access两种数据库格式。若您想软件拥有多人联网控制功能,那请先在服务器上安装好Microsoft® SQL Server™ 2000或2005版数据库管理软件。 如果您想软件具备联网控制功能,请先在主机上安装Microsoft SQL Server数据库。Microsoft SQL Server的具体安装说明请查看:SQL Server安装光盘内《SQL Server安装帮助》:\books\ setupsql。 第3步、安装一卡通系统软件 1) 将一卡通软件安装光盘插入 CD-ROM 驱动器,该光盘不自动运行,双击该光盘根目录中的 图标,进入安装程序。 2) 进入安装程序界面,点下一步可进入安装目录选择区域。09版一卡通软件的默认安装路径为“C:\Program File\一卡通09\”,您可根据您的使用习惯和实际使用需要更改安装目录。选择好安装目录后点下一步,再点安装。安装程序将自动运行安装。 注意: 1、一卡通管理系统及SQL Server数据库尽量不要安装在系统盘; 2、SQL Server不建议使用空密码。 3) 全部安装完毕后,运行桌面快捷方式启动软件。 2.快速配置系统参数 进入系统配置向导模块,可协助用户快速对系统进行配置。 系统快速配置指南与常见配置问题解释 1) 数据库配置:可自选择使用Access或MS-SQL数据库,默认为Access。当选择为MS-SQL时,需要在数据源处输入SQL Server服务器IP(本机使用默认的local则可)、用户ID数据SQL Server用户名、用户密码输入SQL Server密码完成配置。注意,在客户端远程访问服务器数据库时,可能出现能PING通,但连接数据库时提示连接超时或数据库不存在,这时可通过windows命令行模式下输入网络命令:“telnet 服务器IP地址 1433”,回车后若看到黑色一片,则网络设置正常,可能是SQL本身没有安装好或者没有打SP4补丁;若提示连接失败,则可能是路由器、防火墙限制了网络访问; 2) 一卡通管理系统软件要求系统识别码必须正确,否则无法正常使用。用户如不清楚系统识别码,可向设备供应商询问; 3) 通讯配置:通讯端口设置默认为1表示使用COM1通讯(串口通讯时才有效),用户可根据实际情况自行修改。通讯波特率固定有线系统为19200,无线系统为38400; 4) 卡型号与发卡器:发卡器型号默认R100CU2(匹配USB读卡器使用),若是串口读卡器,型号则选择R100C。发卡器端口为对应串口,一般串口读卡器选择电脑串口(一般是COM1),若是USB读卡器,安装驱动程序后,可以在 “我的电脑”右键→“管理”→“设备管理器”→“端口(COM与LPT)” 内,看到一个USB-Serial CH341(COM X),X代表一个COM号,假设为COM3,则在发卡器端口内设置为端口3。注意,某些客户在安装USB读卡器时,可能出现无法识别的USB设备,这是由于主板USB供电不足造成的,可尝试把电脑所有USB设备拔掉,再使用电脑后方的主USB口。如果还是提示无法识别的USB设备,请更换电脑; 5) 发卡类型:通常默认为一卡通卡。若使用门禁读头发卡才选择 “门禁卡”; 6) 大功能选择:可选消费、考勤、门禁三大系统,若不选择,则该功能完全屏蔽无法使用; 7) 消费模式:可选储值、补贴、挂帐、计次、订餐五大类,请正确选择。 3.人事资料与发卡操作 输入用户名密码,运行软件。 3.1人事资料的添加及发卡操作 人事资料的添加及发卡操作指南 1) 点 “资料设定”→“人事资料”→“添加” 进入人员信息添加界面。里面的编号默认为系统中人员的唯一识别号,系统默认自动以递增编号的方式自动进行编号,您可根据您的实际情况修改和填写,但注意人员编号必须唯一不能重复; 2) 人事资料添加窗口内的部门、职位等信息可通过点击 “..” 按钮直接添加; 3) 点下一个按钮完成一个人的人卡资料添加并继续操作下一个,全部完成后点确认退出; 4) 人事资料添加完毕后,可直接选择未发卡人员,点鼠标右键→发卡,或通过 “卡片中心”→“发卡”,选择未发卡人员,点鼠标右键→发卡完成操作。 3.2人事资料的导入 点 “资料设定”→ “资料导入”,进入导入参数设置,根据您的Excel格式的人事资料文档实际情况填写对应的Excel的列。如Excel表内列A是姓名,B是编号,则只需要在人员编号里输入B,在姓名里输入A则可。 Excel表格 导入数据文件支持格式:XLS。系统必须安装Microsoft Office 2000或以上版本才能完成数据导入操作。软件不支持WPS办公软件,也不支持Excel 2007的XLSX格式。 必选项 人员编号、姓名、部门三项信息为必选项,导入数据前应准备的表格也需至少包含这四类信息对应的列。 起始行 导入前还需确认表格文件内信息起始行,假设表格内含有表头等其它非相关信息的行,需在资料是从第_____行开始内输入起始行再进行导入。 3.3批量发卡 点 “卡片中心”→“批量发卡” 进入人员信息添加界面。在批量发卡功能模块内,默认会把所有未发卡人员添加到待发卡列表,用户只需要点击 “开始发卡” 按钮就可以按列表顺序,一次过把所有未发卡直接发完。 如果未发卡人员较多,需要按部门为顺序(或自定义顺序)进行发卡,则可以先点 “移除全部”按钮,把所有待发卡人员移去,再点部门,把本次需要发卡的人员重新添加到待发卡人员列表中,点 “开始发卡” 按钮就可以按列表顺序进行发卡操作。 4.设备配置 1) 点 “设备管理”→“设备配置” 进入设备配置界面;注意,在设备配置前,消费系统建议先把消费机编号修改成唯一编号,修改方法请详细参见《消费机硬件说明书》或《消费机快速操作指南》; 2) 在“默认通讯”页面,先配置好通讯参数。通讯参数包括: 串口通讯 通讯端口选择好电脑用于通讯的串口的号码 通讯波特率固定为有线19200,无线38400 串口连接注意 设置不正确的通讯端口在通讯时可能导致系统无法正常通讯及采集数据 TCP/IP通讯 输入TCP/IP-RS485转换器IP地址(IP地址可通过专门软件获取) 端口一般默认为50000,用户可通过配置软件修改转换器通讯端口,一般建议使用默认 TCP/IP连接 注意事项 在TCP/IP通讯时,同样可能出现能PING通,但连接数据库时提示连接超时或数据库不存在,这时可通过windows命令行模式下输入网络命令:“telnet 转换器IP地址 50000”,若提示连接失败,则与路由器、防火墙配置有关 3) 配置完毕后,可输入设备编号,通过 “通讯测试” 功能进行设备通讯情况调试,具体操作方式及描述见下表: RS485及TCP/IP网络质量测试操作指南 所有消费机组网联网、修改好设备编号、配置好上述通讯配置后,把消费机全部连接到网络上,然后进行设备通讯情况测试,测试时把每一台消费机设备编号在“机号”处输入,然后点通讯测试进行联网通讯(布线质量)测试,测试一般发送1000个包,点停止后可看到通讯质量。若通讯质量无法达到100%,请遵循下表整改建议: 通讯质量 布线整改建议 0.00% 网络完全不通,建议: 1、 检查计算机通讯端口与收发器端口是否相符、通讯波特率是否正确; 2、 检查设备类型、设备编号是否正确; 3、 RS485线路是否符合规范,网络有没有短路或开路现象; 4、 RS485转换器与电脑串口间接线是否有问题; 5、 RS485与设备通讯接口是否已经接好,设备是否在开机状态 95%以下 网络不稳定,建议: 1、 RS485线路是否符合规范,网络有没有短路(铜线毛刺造成的短路)现象; 2、 RS485转换器与电脑串口间接线是否有问题(端口是否接紧了); 3、 设备RS485通讯端口(水晶头)制作是否符号568B标准(检查压好了没); 4、 检查通讯线路是否过远,请调整网络结构并在末端接上120Ω终端电阻; 5、 网络接线时,采用了非标准总线接线方式 95%以上 网络不太理想,但还可以接受。建议在网络末端接上120Ω终端电阻或更换更好的RS485转换器 100% 网络稳定没通讯丢包现象 无线网络质量测试操作指南 所有消费机修改好设备编号,收发器、中继器通好电,配置好上述通讯配置后,进行设备通讯情况测试,测试时把每一台消费机设备编号在“机号”处输入,路由信息配置好(配置方法见下表),然后点通讯测试进行联网通讯(布线质量)测试,测试一般发送1000个包,点停止后可看到通讯质量。若通讯质量无法达到90%,请遵循下表整改建议。 A、路由信息配置方法:在路由信息输入框里有10个“0”,其中每两位为一组,即:00 00 00 00 00。其中第一组的为第一个中继编号,第二组为第二个中继编号,依此类推。设置时,例如现有一台无线收发器和一台无线一卡通终端设备,从收发器到一卡通终端设备必须经过一个编号为1的无线中继器,那么路由信息数字第一组的00改为01;从收发器到一卡通终端设备必须先经过一个编号为1的无线中继器再经过一个编号为11的无线中继器,那么路由信息数字第一组的00改为01,第二组的00改为11,如右图所示;依此类推。 B、通讯优化整改建议表: 通讯质量 建议 0.00% 网络完全不通,建议: 1、 检查计算机通讯端口与收发器端口是否相符、通讯波特率是否正确; 2、 检查设备类型、设备编号是否正确; 3、 检查无线设备是否已经全部接好且处于正常通电状态; 4、 检查无线路由设置信息有没有设好; 5、 检查通讯距离是否过远 75%以下 网络不稳定,建议: 1、 检查无线路由设置信息有没有设好; 2、 检查通讯距离是否符合标准; 3、 检查设备安装位置是否符合标准 75%-90% 网络不够理想,建议: 1、 检查并调整无线设备安装位置; 4) 所有网络调整完毕,设备通讯达到要求后,可通过 “自动搜索新设备” 页面,把所有设备自动搜索出来并完成设备添加工作; 5) 设备添加完毕后,请立即点击 “连接测试”、“校对时间”、“下载密码” 三个按钮进行时间校对及IC卡密码下载工作; 6) 设备添加完毕后,消费机默认名称为“消费机+设备编号”,如1号消费机则默认名字消费机1,建议所有消费机名称都修改好,比如1号窗、2号窗等,这样有利于优化报表查询,分类统计信息也更为丰富,为食堂老板提供有效的决策支持。 5.消费管理 5.1消费场所设置 消费场所主要体现于消费系统中。系统内默认消费场所名称为“食堂1”。我们建议用户在安装调试好消费机后,根据不同地方餐厅或消费点划分为各个不同区域的消费点,如1楼食堂、2楼食堂、超市等都可以单独划分消费场所。划分后有利于优化报表查询,分类统计信息也更为丰富,方便您在日后生成对消费报表的各类统计。 1) 点 “消费管理”→“消费场所设置” 进入消费场所设置界面,点添加按钮,输入消费场所名字,确认后完成添加操作; 2) 把该场所内对应消费机添加进去,若刚刚的消费机名字为1号窗口、2号窗口等,添加后立即可在各消费报表内看到效果:场所(1楼食堂),下属消费机(1号窗、2号窗)。 5.2餐别资料设置 餐别资料设置用餐时间及每个餐别对应的收费价格类别。每个餐别最大可设置3个金额类别,每天可设置最多4个餐别(早餐、中餐、晚餐、宵夜)。餐别时间系统根据常规使用自动创建,用户也可根据自己使用情况自行修改。 1) 点 “消费管理”→“餐别资料设置” 进入设置界面,双击修改,按实际情况输入金额及开餐时间,修改后点保存关闭。 注意,有时候用户反映营业收入统计表内金额与消费机内当天统计金额不符,这是由于餐别时间设置有误造成的,错误原因为两点,见下表: 错误设置1 餐别时间设置范围为00:00-23:59,不能跨日设置。因此有时候设置成20:00-03:00等时间时,因设置无效导致报表错误。 错误设置2 假设早餐在系统内设置时间为07:00-09:00,但实际食堂07:00前开餐,此时采集数据后,在营业收入统计表内07:00前的消费不纳入早餐统计范围。 5.3补贴设置 09版消费系统支持补贴发放功能。补贴发放功能可使用读卡器进行发放,或使用专门补贴机进行发放。 1) 点 “消费管理”→“补贴设置” 进入补贴设置界面,在补贴类型处右键→ “增加” ,输入补贴名称、补贴金额,设置补贴有效期及选择补贴钱包类型(可选主钱包追加、副钱包追加、副钱包覆盖三种),设置后点保存退出; 设置项 项描述 主钱包追加 设置补贴金额追加进主钱包内(领取补贴时,已追加形式追加到主钱包中,此时实际存款与补贴金额可能无法区分) 副钱包追加 设置补贴金额追加进主钱包内 副钱包覆盖 设置补贴金额覆盖副钱包内原有金额 注意,副钱包补贴默认最大650.00元,可通过消费设备参数设置,把补贴单位从分改为角,则可支持最大6500.0元。一般建议使用副钱包补贴。消费设备参数设置具体内容,详见本文6。 2) 增加补贴类型后,需要进行人员绑定操作。单击补贴类型、选取可领取补贴的人,双击鼠标左键(或选择部门、全体,点添加所有按钮),点保存完成设置; 3) 在人员列表处选择人员右键→查看补贴情况,可看到该人员所有补贴领取情况。 4) 补贴设置完毕后,持卡人可领取补贴。领取补贴方法有两种:1、通过软件补贴数据上传功能把补贴上传至补贴机,然后人员持卡到补贴机上刷卡补贴;2、通过软件领取补贴功能,在读卡器上读卡领取补贴。 补贴数据的上传(有补贴机时) 选择消费补贴管理菜单补贴名单上传,选择要上传的补贴机及补贴类型,点上传即可。 注意:  每次设置补贴前请先进行数据采集;  上传补贴有覆盖和增加两个按钮,覆盖是先清空补贴机上原有补贴再把本次补贴上传至设备。增加上传不改变原有补贴情况下把本次补贴上传至设备;  补贴上传时,若遇到通讯超时,可再次上传该补贴,但必须注意此时不能使用覆盖上传,只能使用增加上传;  已上传的补贴,在未领取补贴人员名单内可看到状态“已上传补贴机”,点解冻按钮,状态回到原本的“未领取”状态,可重新进行上传。 补贴的领取(没补贴机时) “卡片中心”→“领取补贴”→“读卡”→“补贴”。 6.消费参数配置 消费机参数设置对系统至关重要。消费机参数设置模块内,可对所有消费设备及消费扩展设备包括消费机、订餐机、补贴机、充值机等进行功能配置。新设备进行系统配置、联网调试、完成设备添加、编号修改、下载密码后,在使用前应先进行消费机参数设置,通过配置定义消费机各功能组合项目。 1) 点 “消费管理”→“消费设备参数设置” 进入设置界面; 2) 在右侧设备列表栏点选一台消费机或任意,然后点读取数据,设置完毕后点写入设备完成设置。注意,读取数据与写入设备按钮有两组,其中上方的读取数据与写入设备按钮功能为读取/写入机能内全部可设置数据,下方的按钮则只读取当页信息。 6.1消费设备参数设置项详解 项 项描述 限制方式 可选择限餐及按日、按周、按月进行消费限制 注意:限餐只允许每餐次消费一次,按日、按周、按月三类限制可设置限期内最大消费次数0-255,最大消费金额0-650,其中0为不限制 按餐别时间规则定义消费机允许消费餐别时间段; 按日限制时间以当天0:00-23:59为有效限制时间; 按周限制时间为从消费限制设置当天开始计算后推7天为有效限制时间; 按月限制时间为当月为有效限制时间。 当选择为限餐时,请启用刷卡时段检查,否则设置无效 重复刷卡检查 定义IC卡多少秒内不允许重复刷卡,可防止定额状态时多刷卡情况 卡内最大允许金额 可设置限制数值0-650 当设置项为0时,消费机不限制卡内余额 刷卡分组检查及分组标识 若启用刷卡分组检查,请选择消费机对应允许刷卡的分组标识 刷卡分组功能可通过预先定义好的分组资料对吃饭人员进行分组操作,假设A员工定义分组为A,B员工定义分组为B,在消费机上启用刷卡分组后,A员工只能在分组为A的消费机上刷卡,B员工只能在分组为B的消费机上刷卡。 系统支持最大可定义15个分组。 刷卡时段检查 若启动刷卡时段检查,请切换到消费时段,并选择消费机允许消费的餐别时间段。 启用刷卡时段检查后,消费机自动进入定额消费模式且锁键盘,到预定时间后消费机显示金额自动切换改变,时段外消费机不工作。 钱包设置 仅主钱包(读卡时只读取主钱包内金额,不读取副钱包内金额;消费时只消费主钱包内金额,主钱包内余额不够扣款也不消费副钱包内金额) 主钱包优先(读卡时先读取主钱包内金额,再读取副钱包内金额;消费时优先消费主钱包内金额,主钱包内余额不够扣款后再消费副钱包内金额) 仅副钱包(读卡时先读取副钱包内金额,再读取主钱包内金额;消费时先消费副钱包内金额,副钱包内余额不够扣款也不消费主钱包内金额) 副钱包优先(读卡时先读取副钱包内金额,再读取主钱包内金额;消费时优先消费副钱包内金额,副钱包内余额不够扣款后再消费主钱包内金额) 消费类型 可选正常消费、订餐消费两项。 若系统内有订餐,请选择订餐消费,其余选择正常消费 名单类型 可切换名单类型。 当前为黑名单:消费名单被视为黑名单,不允许消费 当前为白名单:消费名单被视为白名单,允许消费 黑名单检查 检查(名单类型当前为黑名单时必选) 白名单检查 检查(名单类型当前为白名单时必选) 消费模式 可选金额消费、计次消费两项目切换。 选择为计次消费模式时,消费机为计次消费模式,消费只记录次数,不进行扣款 刷卡时间间隔 两张不同卡刷卡时,之间的时间间隔,建议不检查 挂帐标志 是否允许挂帐,挂帐消费模式时,请选择允许挂帐 操作密码 修改消费机管理密码 最大挂帐金额 最大允许挂帐金额限制,仅在挂帐模式时有效 消费时段 按要求设置可进行允许消费的时段,时段外消费机将不工作。 普通消费模式下启用消费时段检查,消费机将变成定额消费模式,时段内餐次金额自动切换无需人手调整。 订餐模式下则必须启用消费时段检查。 消费时段设置注意: 1、设置前请先设置后餐别资料; 2、可设置四个不同餐别,每个餐别只允许设置一个金额类型,不能重复。 菜单消费 设置菜单消费项,每一(菜单)项可对应一个金额。正常消费模式、补贴消费模式、挂帐消费模式有效 设备功能 可选择消费机及读卡器两个功能。当选择为读卡器功能时,消费机屏幕显示全F,把消费机直接通过COM口连接后,可作为串口读卡器使用。切换读卡器模式后后重启消费机即自动切换回消费机状态。 无线消费机不支持读卡器模式切换。 管理卡号 通过写入10位10进制卡号到设备后,可使用该卡作为管理卡进行锁机、解锁操作(此功能充值机有效)。 6.2各模式下消费机功能组合配置指南 1、正常消费 必要设置项 项目描述及设置建议 钱包设置 仅主钱包 消费类型 正常消费 消费模式 金额消费 黑名单检查 检查(名单类型当前为黑名单时必选) 2、按餐别时间定值消费 必要设置项 项目描述及设置建议 钱包设置 仅主钱包 消费类型 正常消费 消费模式 金额消费 黑名单检查 检查(名单类型当前为黑名单时必选) 刷卡时段检查 检查 消费时段 按要求设置可进行订餐消费的时段 消费时段设置注意: 1、设置前请先设置后餐别资料; 2、可设置四个不同餐别,每个餐别只允许设置一个金额类型,不能重复。 3、挂帐消费 关键设置项 项目描述及设置建议 钱包设置 主钱包优先 注意:挂帐消费模式不能选择副钱包优先,否则消费机先挂帐,再扣款 消费类型 正常消费 消费模式 金额消费 黑名单检查 检查 挂帐标志 允许挂帐 最大挂帐金额 可设置0-650,其中0为挂帐无效,选择挂帐后默认最大挂帐金额650 4、补贴消费 关键设置项 项目描述及设置建议 钱包设置 副钱包优先 消费类型 正常消费 消费模式 金额消费 卡有效期检查 检查(设为检查后,补贴金额过期不能使用并自动切换本金消费) 黑名单检查 检查(名单类型当前为黑名单时必选) 5、计次消费 关键设置项 项目描述及设置建议 消费类型 正常消费 消费模式 计次消费 黑名单检查 检查(名单类型当前为黑名单时必选) 钱包设置 仅主钱包 刷卡时段检查 检查 消费时段 按要求设置可进行订餐消费的时段 消费时段设置注意: 1、设置前请先设置后餐别资料; 2、可设置四个不同餐别,每个餐别只允许设置一个金额类型,不能重复。 限制方式 限餐 6、订餐消费 关键设置项 项目描述及设置建议 消费类型 订餐消费 消费模式 金额消费 黑名单检查 检查(名单类型当前为黑名单时必选) 刷卡时段检查 检查 限制方式 限餐 消费时段 按要求设置可进行订餐消费的时段 消费时段设置注意: 1、设置前请先设置后餐别资料; 注意,消费机在订餐模式下,可选择两种设定: 正常订餐 正常订餐模式下,设定该消费机订餐消费的金额类别后,假设设置消费机金额类别为1,若订餐选择金额为1类,则可消费,若订其余2、3类别金额,则不能消费 非固定订餐 非固定订餐模式下,设定该消费机无论任何订餐餐别金额,都允许消费。消费时屏幕显示人员订餐金额。使用非固定订餐,需要切换到“消费金额”下,点一下刷新按钮,然后写入数据 6.3订餐机功能组合配置指南 1、常规快捷键订餐、时间段订餐 关键设置项 项目描述及设置建议 液晶屏欢迎文字 可自定义八个中文字符 刷卡时段检查 不检查 黑名单检查 检查 订餐时段限制 刷新时段 2、时段刷卡订餐(设置指定什么时间刷卡订哪一餐) 关键设置项 项目描述及设置建议 液晶屏欢迎文字 可自定义八个中文字符 刷卡时段检查 检查 黑名单检查 检查 订餐时段限制 刷新时段 订餐时段 按要求设置什么时间刷卡订哪一个餐 消费时段设置注意: 1、设置前请先设置后餐别资料; 2、可设置最多为今天早、中、晚、宵,明天早、中、晚、宵八个不同餐别,每个餐别只允许设置一个金额类型,不能重复。 7.挂失与补卡 挂失卡与上传黑名单操作 1) 点 “卡片中心”→“挂失管理” 进入卡挂失界面; 2) 鼠标选择部门、人员(也可以输入编号或姓名查询),双击人员进行挂失(解挂)操作; 3) 挂失操作后,点关闭按钮,直接提示是否上传黑名单,点“是”; 4) 对话框提示“黑名单请按是,白名单请按否,自定义按取消”,按实际情况选择,一般默认使用黑名单,选“是”; 注意:上传名单时,有“上传全部名单”和“增加名单”两个按钮可选择,上传全部是重新上传所有名单。增加上传是直接把本次操作的名单追加上去;同样,“清除全部名单”和“删除名单”功能也相类似,清除全部名单就是把消费机内已上传名单全部删除,删除名单只把本次进行解挂失的卡删除。 补卡操作 1) 点 “卡片中心”→“补办新卡” 进入补卡; 2) 双击需要补卡人员,点“读卡”→“补卡”,即完成补卡工作,补卡后原来旧卡为注销状态不能使用,旧卡内所有金额已注入新卡中。 注意:补卡有补发挂失卡与补发坏卡两个选项,补发挂失卡要求该卡必须挂失后才能补发。补发坏卡则可把已挂失或未挂失卡人员重新进行补卡工作,建议补发坏卡时要求坏卡没收; 8.消费报表的查看 经典消费系统报表分为三类人服务。第一类为食堂老板,他所关心的是他的食堂营业收入状态;第二类是持卡人,他所关心的是他某天的消费清单,是不是扣错款啦;第三类是出纳,他管钱的,他关心的是他每天的现金收支情况。 每一类系统使用人员,我们都有对应其专用的报表。食堂老板有营业收入统计表,持卡人有个人消费统计表,出纳有现金收支日报表。下面简单介绍一下报表查看操作: 8.1营业收入统计表 1) 点 “消费管理”→“营业收入统计表” 进入营业收入统计表界面; 2) 用户可按意愿选择日期、消费点、所属消费机、部门、餐次等,选择完毕后点查询可看到报表内容。 营业收入统计表用于日常食堂营业收入统计,表内可按时间、餐别、消费点、消费机、部门等不同条件进行组合查询,查询结果可汇总、可按日显示、也可显示明细。 营业收入统计表拥有自定义报表功能,可通过自定义按钮选择您需要的报表信息。 输出报表后,可通过导出功能把报表结果导出至Excel表格。 注意:营业收入统计表内有一项为未处理非确定交易,非确定交易意思就是消费机未知道当次刷卡是否已经正确完成扣款操作,因此消费机内保存该卡卡号、消费时间、金额,并标记该记录为非确定交易。注意,当出现非确定交易记录时,该卡进行存款或取款、退卡等操作时,软件自动提示是否处理,点处理则自动判断非确定交易记录是否正确扣款,若没有正确扣款,则在卡上重新抵扣。 8.2个人消费统计表 1) 点 “消费管理”→“个人消费统计表” 进入个人消费统计表界面; 2) 用户可按意愿选择日期、部门、人员、餐次等,选择完毕后点查询可看到报表内容。 个人消费统计表用于查询个人消费记录、状态,表内可按时间、餐别、人员、部门等不同条件进行组合查询,查询结果一般为个人消费明细及汇总(报表若不输入人员时,默认显示全部)。 个人消费统计表拥有自定义报表功能,可通过自定义按钮选择您需要的报表信息。 输出报表后,可通过导出功能把报表结果导出至Excel表格。
数据库应用系统设计与开发报告实例 自习室座位管理系统 一、开发背景 每学期期末,华师校园都会掀起一阵自习热,一时间,自习室供不应求。许多同学天 还未亮专程赶到自习室去占座,特别是高职A栋自习室,每天早上都有几百号人涌在大门 口等待开门,隐藏着巨大的安全隐患。 现代信息技术的飞速发展给我们生活带来了极大的便利和无穷的乐趣。,如果我们将 信息技术运用至自习室座位管理系统,那么再给我们带来方便的同时,也能让我们时刻 体会到数字化华师的乐趣。 需求分析 (一)系统需求 自习室座位管理系统应该具有信息全面准确、更新快速、显示简洁移动等特点。自习室 座位信息更新界面应简单易用,输入方便,这样才能使自习室管理者能够方便快捷地对 当前自习室座位信息情况进行更新。 (二)功能需求 自习室座位管理系统主要为学生提供自习室座位情况信息,学生可以通过网络查询开 放的自习室和各自习室的人数。管理员可定时更新各个自习室的剩余座位数信息。 学生查询功能:为了方便学生查找自习室座位等信息,将所有信息按照需要进行分类。 这样学生就能很方便的找到自己需要的信息。 学生登记功能:学生可以通过简单的操作,例如刷信息卡等进行自习登记。 添加功能:管理员可以通过填写表格的形式输入开放的自习室等相关信息。系统可以自 动避免重复信息。 更新功能:管理员可以对数据库中的信息进行更新。系统能够通过当前开放的自习室提 供需要更新的信息,对更新后的信息进行保存,并自动查找是否是重复信息。 删除功能:管理员可以对数据进行删除操作。系统能够通过管理员给出的条件查找出要 删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。 统计功能:管理员可以通过此功能对信息进行统计。如统计当天各个自习室自习人数等 。 三、系统设计 (一)系统功能模块图 "自习室座位管理系统"主要分为学生信息和自习室信息两个方面信息服务子系统,其 功能模块划分如图1所示。 图1 "自习室座位管理系统"系统主模块功能图 (二)各模块功能设计 1、登录模块:填写学生的学号,填写正确的密码,进入相应的自习室查询模块。 2、显示模块:显示要求的内容。 3、查询模块:提供多种查询条件,可按需要进行查询。 4、添加模块:向数据库中添加空闲自习室记录。 5、更新模块:在数据库中更新自习室剩余座位信息。 6、删除模块:在数据库中找到要删除的记录,并将其删除。 7、统计模块:对数据库中的信息进行统计。 四、数据库设计(数据库概念结构设计、数据库逻辑结构设计) (一)数据库概念结构设计 系统E-R图 (二)数据库的逻辑设计 根据系统功能设计的要求以及功能模块的划分,对于系统信息数据库,可以列出以下 数据项和数据结构: 1. 学生信息表 用户信息表包括学号、密码、学生宿舍(方便寻找最近的自习室)、是否自习、自习 教室五个字段。学生信息表如表1所示。 表1 学生信息表 "名称 "字段名称 "数据类型 "主键 "非空 " "学号(唯一 "Stu_ID "数字 "Yes "Yes " "性标识) " " " " " "密码 "Stu_Password"文本 "No "Yes " "宿舍 "Dormitory "文本 "No "No " "是否自习 "Study "布尔 "No "No " "自习教室 "Room_name "文本 "No "No " 2.自习室信息表 自习室信息表包括自习室编号、自习室名称、空调、座位数、剩余座位五个字段。如 表2所示。 表2 自习室信息表 "名称 "字段名称 "数据类型 "主健 "非空 " "自习室编号( "Room_nub "数字 "Yes "Yes " "唯一性标识) " " " " " "自习室名称 "Room_name "文本 "No "No " "空调 "Air-condit"布尔 "No "No " " "ion " " " " "座位数 "Seat "数字 "No "No " "剩余座位数 "Empty_seat"数字 "No "No " 3.管理员信息表 管理员信息表包括管理员编号、管理员密码、自习室编号三个字段。如表3所示。 表3航班信息表 "名称 "字段名称 "数据类型 "主健 "非空 " "管理员编号( "Admi_NUB "数字 "Yes "Yes " "唯一性标识) " " " " " "管理员密码 "Admi_Password"文本 "No "No " "自习室编号 "Roomnub "数字 "No "No " 五、数据库系统的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在 SQL Server数据库系统中实现该逻辑结构。可以直接在SQL S

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧