📄 salewin.bak
字号:
#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();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -