网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > JSP,NET,JAVA类别 > 正文

C#大型百货店POS积分管理系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

网学网JSP,NET,JAVA类别编辑为广大网友搜集整理了:C#大型百货店POS积分管理系统绩等信息,祝愿广大网友取得需要的信息,参考学习。

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

5模块功能代码实现过程
5.1积分履历表定期清除备份设计
1.初期处理:取得共通信息(INI),错误存在的时候,输出错误信息,并终止程序。
2.指定周前的日期的求得:错误存在的时候,终止程序。
3.cvs文件路径取得:错误存在的时候,输出错误信息,并终止程序。
4.输出开始日志:错误存在的时候,终止程序。
5.积分履历表的清除实行:从积分履历中,取得对象记录.但是,日期>”19000000”且日期<=指定周前的日期。取得数据输出到积分履历csv中,并清除。
6.输出结束日志
8积分履历表定期清除备份数据项目移动表
移动目的名称
移动元表名称
A
FSPTB_POINT_RIREKI
积分履历CSV
 
B
 
C
 
D
 
移动项目名称
原项目名称
A
B
C
D
移动方式
会员CODE
会员CODE
y
 
 
 
同项目
日期
日期
y
 
 
 
同项目
优待等级
优待等级
y
 
 
 
同项目
当日基本POINT
当日基本POINT
y
 
 
 
同项目
当日奖励POINT
当日奖励POINT
y
 
 
 
同项目
当日追加POINT
当日追加POINT
y
 
 
 
同项目
当日支出POINT
当日支出POINT
y
 
 
 
同项目
現在POINT
現在POINT
y
 
 
 
同项目
更新日期
更新日期
y
 
 
 
同项目
担当者CODE
担当者CODE
y
 
 
 
同项目
会员CODE
会员CODE
y
 
 
 
同项目
日期
日期
y
 
 
 
同项目
 
各个模块中需要使用SkyConnect类以及共通文件(INI), SkyConnect类是用作数据库操作的,其将所有数据库操作所要用到的返回对象都封装在其中,这样就不用再在其它类中声明数据库连接对象对数据库进行连接操作,只需要声明SkyConnect的实例既可,每个模块前都有共通文件的检查,代码如下:
IniConfig Conf = new IniConfig();
if (Conf.ErrorString == "1")//如果共通文件不存在
{
    …//输出出错信息
}
else if (Conf.ErrorString == "2")//如果共通文件打不开
{
    …//输出出错信息
}
else if (Conf.ErrorString == "3")//如果共通文件的内容有错
{
    …//输出出错信息
}
SkyConnect类的实例化:
SkyConnect sct = new SkyConnect();
以上代码每个模块都将使用。
 
 
模块实现关键代码:
public bool time_match(string str)//判断日期函数
FSPB0350 dj=new FSPB0350();//实例化
bool date = dj.time_match(_time);//表日期判断
if(date == false)
{
…//输出出错信息
}
bool date = dj.time_match(_staticTime);//设置日期判断
if(date == false)
{
…//输出出错信息
}
if(File.Exists(csvPath) == false)//POINT_RIREKI.CSV文件存在判断
{
…//输出信息
}
string timeString = _staticTime;//设置日期存放在字符串timeString中
if(DateTime.Parse(_time)>DateTime.Parse("1/1/190000:00:00")&& DateTime.Parse(_time) < DateTime.Parse(timeString))//表日期大于1900/00/00且表日期小于设置日期的判断
DataSet ds = sct.GetDataSet("select * from FSPTB_POINT_RIREKI where YMD<''" + ymdString + "''");//检索匹配数据,并存放到ds中
DataTable tb = ds.Tables[0];
StreamWriter sw=newStreamWriter(csvPath,true,System.Text.Encoding.Default);//积分履历日志CSV中写入数据
if(tb.Rows.Count == 0)//如果没有匹配的数据,输出信息
{
…//输出信息
}
else//有匹配数据
{
foreach(DataRow dr in tb.Rows)//遍历表的每一行
{
for(int i = 0;i < 10;i++)//表中有10个数据项
{
sw.Write(dr[i].ToString() + ",");//写入数据,数据间用逗号分割
}
sw.WriteLine();//每写入一行数据后,回车.
}
sct.SqlExecute("delete from FSPTB_POINT_RIREKI where YMD<''" + ymdString + "''");//在履历表中清除写入到CSV的数据
5.2积分更新日志表清除备份设计
1.初期处理:取得共同信息(INI),错误存在的时候,输出错误信息,并终止程序。
2.指定周前的日期的求得:错误存在的时候,终止程序。
3.cvs文件取得:错误存在的时候,输出错误信息,并终止程序。
4.输出开始日志:错误存在的时候,终止程序。
5.积分更新日志表的清除实行:更新日期<=指定周前的日期时,从积分更新日志中,取得对象记录。取得的数据输出到积分更新日志csv中,并清除。
6.输出结束日志
 
表9积分更新日志表清除备份数据项目移动表
移动目的名称
移动元表名称
A
FSPTB_POINT_JNL
积分更新日志CSV
 
B
 
C
 
D
 
移动项目名称
原项目名称
A
B
C
D
移动方式
店舗CODE
店舗CODE
y
 
 
 
同项目
会员CODE
会员CODE
y
 
 
 
同项目
顾客NO
顾客NO
y
 
 
 
同项目
当日追加POINT(更新前)
当日追加POINT(更新前)
y
 
 
 
同项目
当日支出POINT(更新前)
当日支出POINT(更新前)
y
 
 
 
同项目
現在POINT(更新前)
現在POINT(更新前)
y
 
 
 
同项目
当日奖励POINT(更新前)
当日奖励POINT(更新前)
y
 
 
 
同项目
当日減算金額(更新前)
当日減算金額(更新前)
y
 
 
 
同项目
当日加算金額(更新前)
当日加算金額(更新前)
y
 
 
 
同项目
月购买金額(更新前)
月购买金額(更新前)
y
 
 
 
同项目
当日追加POINT(更新后)
当日追加POINT(更新后)
y
 
 
 
同项目
追加理由CODE
追加理由CODE
y
 
 
 
同项目
当日支出POINT(更新后)
当日支出POINT(更新后)
y
 
 
 
同项目
支出理由CODE
支出理由CODE
y
 
 
 
同项目
現在POINT(更新后)
現在POINT(更新后)
y
 
 
 
同项目
当日奖励POINT(更新后)
当日奖励POINT(更新后)
y
 
 
 
同项目
当日減算金額(更新后)
当日減算金額(更新后)
y
 
 
 
同项目
当日加算金額(更新后)
当日加算金額(更新后)
y
 
 
 
同项目
月购买金額(更新后)
月购买金額(更新后)
y
 
 
 
同项目
转入POINT
转入POINT
y
 
 
 
同项目
本日最終POINT
本日最終POINT
y
 
 
 
同项目
更新日期
更新日期
y
 
 
 
同项目
担当者CODE
担当者CODE
y
 
 
 
同项目
记录ID
记录ID
y
 
 
 
同项目
 
5.3月购买额清除及处理设计
1.初期处理:取得共同信息(INI),错误存在的时候,输出错误信息,并终止程序。
2.读取积分表里的记录对每一条记录根据其更新区分字段进行相应处理。
3.读取会员身份表里的记录根据其更新区分字段进行相应处理,若更新区分字段有效则进行下列处理:
积分表更新:本月交易金额数据移入到上月交易项里,本月交易金额数据项置0。
会员状态表添加数据:积分表中的本月交易金额项数据大于0时:按积分表中的会员代码为主键,在会员状态表中检索。
没有匹配数据时进行下面的处理:按积分表中的会员代码为主键,在会员表中检索。如果匹配数据存在的话,从会员表往会员状态表中添加匹配数据。如果匹配数据不存在的话,输出错误信息到日志中。
4 输出结束日志
10月购买额清除及处理数据移动表
移动目的名称
移动元表名称
A
FSPTB_POINT
FSPTB_POINT
B
 
C
 
D
 
移动项目名称
原项目名称
A
B
C
D
移动方式
本月交易金额
 
y
 
 
 
0
上月交易金额
本月交易金额
y
 
 
 
同项目
 
表11月购买额清除及处理数据移动表
 
移动目的名称
移动元表名称
A
FSPTB_MEMBER
FSPTB_MEMBER_STATUS
B
FSPTB_TENPO
C
FSPTB_POINT
D
 
移动项目名称
原项目名称
A
B
C
D
移动方式
会员编码
会员编码
 
 
y
 
同项目
旧会员编码
 
y
 
 
 
null
优先级别编码
优先级别编码
 
y
 
 
以会员表中入会店铺编码为主键,在店铺表中检索,匹配优先级别编码
旧优先级别编码
 
y
 
 
 
null
店铺编码
入会店铺编码
y
 
 
 
同项目
旧店铺编码
 
y
 
 
 
null
更新区分
 
y
 
 
 
2(修正)
 
模块实现关键代码:
DataSet ds1=sct.GetDataSet("select*from FSPTB_POINT where MUKOU_KBN<>1");//存放积分表中更新区分不为1的(有效)数据到ds中
DataTable tb1=ds1.Tables[0];
foreach (DataRow dr in tb1.Rows)//遍历表 tb1的每行数据
{
sct.SqlExecute("update FSPTB_POINT set TUKI_KAIAGE_M=0,BEFORE_TUKI_KAIAGE_M=TUKI_KAIAGE_M where MEMBER_CODE=''"+dr["MEMBER_CODE"].ToString()+"''");//执行更新操作:本月交易金额数据移入到上月交易项里,本月交易金额数据项置0。
string temp3=dr["MEMBER_CODE"].ToString();
if(decimal.Parse(dr["TUKI_KAIAGE_M"].ToString())>0)// 本月交易金额项数据大于0
{
DataSet ds2=sct.GetDataSet("select * from FSPTB_MEMBER_STATUS where MEMBER_CODE=''"+ dr["MEMBER_CODE"].ToString()+"''");//按积分表中的会员代码为主键,在会员状态表中检索
DataTable tb2=ds2.Tables[0];
if(ds2.Tables[0].Rows.Count==0)//如果匹配数据不存在
{
DataSet ds3=sct.GetDataSet("select * from FSPTB_MEMBER where MEMBER_CODE =''"+ dr["MEMBER_CODE"].ToString()+"''");//按积分表中的会员代码为主键,在会员表中检索
DataTable tb3=ds3.Tables[0];
DataRow row1=tb3.Rows[0];
if (ds3.Tables[0].Rows.Count>0)//匹配数据存在                     
{
DataSet ds4=sct.GetDataSet("SELECT TENPO_CODE from FROM FSPTB_MEMBER WHERE where MEMBER_CODE=''"+row1["MEMBER_CODE"].ToString()+"''");//以会员表中入会店铺编码为主键,在店铺表中检索
DataTable tb4=ds4.Tables[0];
DataRow row2=tb4.Rows[0];
string temp1=row1["TENPO_CODE"].ToString();//匹配的店铺编码放到temp1中
DataSet ds5=sct.GetDataSet("SELECT DOMINANT_CODE   FROM FSPTB_TENPO WHERE TENPO_CODE ="+temp1);//检索店铺编码的优先级别编码
DataTable tb5=ds5.Tables[0];
DataRow row3=tb5.Rows[0];
string temp2=row3["DOMINANT_CODE"].ToString();//将优先级别编码存放到temp2中;
string sqlFormat ="INSERT INTO FSPTB_MEMBER_STATUS)"+"VALUES(''{0}'',''{1}'',''{2}'',''{3}'',''{4}'',''{5}'',''{6}'',''{7}'')";
string sql = string.Format(sqlFormat,"''"+temp3+"''","NULL","''"+temp1+"''", "''"+temp2+"''","NULL","NULL","2","MEMBER_STATUS_AUTOID.NEXTVAL");
sct.SqlExecute(sql);//执行数据库将匹配数据保存到会员状态表中
}
 
6测试工程
6.1测试准备
本系统属于一款商务应用型软件,因此,对各种可能出现的错误情况要有很高的检测能力,并进行响应处理。所以,在软件开发完成后,为了检验是否达到客户要求需要进行全面的测试,包括程序的逻辑处理,输入/输出处理,边界条件判断,异常处理等。在进行测试前,应针对上述各情况填写一份全面的单元测试检测清单。
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

  • 下一篇资讯: 个性化日历日志系统
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师