⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 salewin.h

📁 C++写的POS前台程序
💻 H
字号:
#ifndef _SALEWIN
#define _SALEWIN

#include "object.h"
#include "edit.h"
#include "salegrid.h"
#include "findgrp.h"

extern	FindGroup	FGroup;
//缓冲临时文件的数据结构.
struct FDATA
{
	//收款台.
	char		Term[4];
	//收款员.
	char		Operator[6];
	//柜组号.
	char		Group[7];

	//流水号.
	char		SeqNumber[7];
	//单号.
	int		CheckNum;
	//子流水号.
	char		ID[4];

	//交易时间.
	char		Time[9];
	//交易日期.
	char		Date[12];

	//整体折扣率.
	char 		TotalDiscount[6];
	//单笔折扣.
	char		Discount[4];
	//单笔优惠.
	char		Pref[11];

	//营业员.
	char		Saler[6];
	//商品编码.
	char		Code[15];
	//商品名称.
	char		Name[25];
	//商品价格.
	char		Price[11];
	//数量.
	char		Number[7];
	//小计.
	char		Money[12];

	//此单开始时文件长度,供删除使用.
	long		PrevSize;
};

//写汇总时采用的数据结构.
struct TOTALDATA
{
	//款台.
	char		Term[4];
	//收款员.
	char		Operator[6];
	//营业员.
	char		Saler[6];
	//柜组号.
	char		Group[7];
	//流水号.
	char		SeqNumber[7];
	//应收金额.
	char		ShouldPay[11];
	//会员应收金额.
	char		VipShouldPay[11];
	//折扣额.
	char		Discount[11];
	//实收金额.
	char		RealAccount[11];
	//多单号.
	int		CheckNumber;
	//日期.
	char		Date[11];
	//时间.
	char		Time[10];
};

class SaleWin : public SaleGrid
{
	public:
						//构造函数.
						SaleWin();
						//析构函数.
						~SaleWin();
/*******************************************************************************
		界面构成.
		细节参见SaleWin.cpp.
*******************************************************************************/
						//画背景.
		void 			DrawBack();

						//画操作员栏.
		void			DrawOp(int Top);
						//操作员代码.
		Edit 			*OpCode;
						//操作员姓名.
		Edit 			*OpName;
						//操作员台号.
		Edit 			*OpTerm;

						//画营业员栏.
		void			DrawSale(int Top);
						//营业员代码.
		Edit 			*SaleCode;
						//营业员姓名.
		Edit 			*SaleName;
						//营业柜组号.
		Edit 			*SaleGroup;
						//流水号.
		Edit			*SeqNumber;

						//画总计栏.
		void			DrawSum(int Top);
						//整体折扣率.
		Edit 			*TotalDisRate;
						//全部折扣额.
		Edit			*AllDiscount;
						//总计.
		Edit			*AllSum;

						//画付款栏.
		void			DrawPay(int Top);
						//应付.
		Edit 			*ShouldPay;
						//实付.
		Edit			*Get;
						//找零.
		Edit			*Change;

						//信息显示框.
		void			DrawInfo(int Top);
						//打印开关.
		Edit 			*IsPrint;
						//网络状态.
		Edit			*IsNetwork;
						//单笔.
		Edit			*IsSingle;
						//销售.
		Edit			*IsSale;
						//邮件.
		Edit			*IsMail;
						//累加开关.
		Edit			*IsGroupBy;
/*******************************************************************************
		功能实现.
		细节参见SaleWin1.cpp
*******************************************************************************/
						//运行网格.
		void			RunGrid();
						//运行界面.
		void			RunSale();
						//刷新屏幕下方部分状态标志.
		void			GetFlag();
						//改变整体折扣率.
		void			ChangeTotalDiscount();
						//计算单价.
		void			CalPrice();
						//从数据库中查找营业员.
		int			FindSaler();
/*-----------------------------------------------*/
						//结帐.
		int			CheckOut();
						//累计总金额.
		int			Summary();
						//运行实收(Get)文本框.
		void			RunPay();
						//处理Get文本框中的数据.
		int			Pay();
						//获取流水号.
		long			GetSeqNum();
/*-----------------------------------------------*/
						//开始事务.
		int			BeginTran();
						//回滚事务.
		int			RollBackTran();
						//提交事务.
		int			CommitTran();
/*-----------------------------------------------*/
						//写本地数据库,成功为L_OK,失败为L_ERROR.
		int			WriteLDB();
						//写本地Sale.Dat数据文件以及网络缓冲文件.
		int			WriteSales();
						//写本地Total.Dat数据文件以及网络缓冲文件.
		int			WriteTotal();
						//汇总数据时按柜组分组.返回分组组数.
		int			GroupByGroup(FileIO *FIOTmp);
						//写汇总文件.
		int			WriteMulpay(char *realaccount, char *paytype, char *cardnum1, char *cardnum2);
						//测试网络并传送数据.
		void			TestNetwork();
						//传送数据.
		void			PutDataToNet();
						//传送一个文件的数据.
		int			MoveData(char *filename, int reclen);
/*-----------------------------------------------*/
						//清除当前网格中显示的数据。
		void			ClearGrid();
						//从文件中获取指定单号的数据。
		int			GetFromFile(int checknum);
						//将当前网格中的数据存入文件。
		int			SaveToFile();
						//获取文件中存在的最大单号.
		int 			GetMaxCheck();
						//到上一单.
		void			PrevCheck();
						//到下一单.
		void			NextCheck();
						//新单.
		int			NewCheck();
						//判断商品柜组与营业员柜组是否符合。
		void			AdjGroup();
/*-----------------------------------------------*/
						//打印标题。
		void			PrintTitle();
						//打印欢送词。
		void			PrintTail();
						//打印小票头部信息。
		void			PrintHeadInfo();
						//打印应付金额。
		void			PrintCheckOut();
						//多单小结.
		void			PrintMulCheck();
/*-----------------------------------------------*/
/*******************************************************************************
		中间变量。
		细节参见SaleWin1.cpp
*******************************************************************************/
						//当前单号。
		int			CheckNumber;
						//最大单号。
		int 			MaxCheck;

		void			DoMulPay();

		void			GoldCard();

		int			GoldCard_Apply1(char *Money, char *CardID);

};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -