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

📄 posoracle.c

📁 一个不错的POS系统
💻 C
📖 第 1 页 / 共 5 页
字号:
 sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = (         void  *)staff_name; sqlstm.sqhstl[2] = (unsigned int  )16; sqlstm.sqhsts[2] = (         int  )0; sqlstm.sqindv[2] = (         void  *)&sstaff_name; sqlstm.sqinds[2] = (         int  )0; sqlstm.sqharm[2] = (unsigned int  )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = (         void  *)&staff_type; sqlstm.sqhstl[3] = (unsigned int  )sizeof(int); sqlstm.sqhsts[3] = (         int  )0; sqlstm.sqindv[3] = (         void  *)&sstaff_type; sqlstm.sqinds[3] = (         int  )0; sqlstm.sqharm[3] = (unsigned int  )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = (         void  *)userName; sqlstm.sqhstl[4] = (unsigned int  )0; sqlstm.sqhsts[4] = (         int  )0; sqlstm.sqindv[4] = (         void  *)0; sqlstm.sqinds[4] = (         int  )0; sqlstm.sqharm[4] = (unsigned int  )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode == 1403) goto not_found; if (sqlca.sqlcode < 0) goto logerr;}
	Trim(passwd);
	Trim(staff_id);
	Trim(staff_name);
/*	makelog("debug.log","passwd=");
	makelog("debug.log",passwd);*/
	if(1==key)
	{
		if(staff_type!=0)
			return 2;
	}
	if(strcmp(password,passwd)==0)
	{
		
		strcpy(g_staff_id,staff_id);
		strcpy(g_staff_name,staff_name);
		g_staff_type=staff_type;
		makelog("debug.log","staff_type=");
		char tmp[32]={0};
		sprintf(tmp,"%d",g_staff_type);
		makelog("debug.log",tmp);
		return 0;

	}
	else 
		return 1;
  not_found:
	makelog("debug.log","user not found");
	/* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 
        return -1;
  logerr:
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	return -2;
}
int get_seq_trans_id()
{	
	/* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 
	/* EXEC SQL SELECT seq_trans_id.nextval into :g_trans_id FROM dual; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 5; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select seq_trans_id.nextval  into :b0  from dual "; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )117; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)&g_trans_id; sqlstm.sqhstl[0] = (unsigned int  )sizeof(int); sqlstm.sqhsts[0] = (         int  )0; sqlstm.sqindv[0] = (         void  *)0; sqlstm.sqinds[0] = (         int  )0; sqlstm.sqharm[0] = (unsigned int  )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode == 1403) goto not_found; if (sqlca.sqlcode < 0) goto sqlerr;}
	return 0;
  not_found:
    /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 
	makelog("debug.log","seq_trans_id not_found");
	return -1;
  sqlerr:
    /* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	return -2;
}
int get_seq_detail_id()
{
	/* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 
	/* EXEC SQL SELECT seq_detail_id.nextval into :g_detail_id FROM dual; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 5; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select seq_detail_id.nextval  into :b0  from dual "; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )136; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)&g_detail_id; sqlstm.sqhstl[0] = (unsigned int  )sizeof(int); sqlstm.sqhsts[0] = (         int  )0; sqlstm.sqindv[0] = (         void  *)0; sqlstm.sqinds[0] = (         int  )0; sqlstm.sqharm[0] = (unsigned int  )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode == 1403) goto not_found; if (sqlca.sqlcode < 0) goto sqlerr;}
	return 0;
  not_found:
    /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 
	makelog("debug.log","seq_detail_id not_found");
	return -1;
  sqlerr:
    /* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	return -2;
}
int getBarInfo(char * barcode)
{
	/*BARINFO productinfo;*/
	BARINFO productinfo= (struct barinformation *) malloc(sizeof(struct barinformation));
	short sproduct_name;
	short sunit;
	short sspec;
	short ssale_price;
	short spurchase_price;
	short snum;
	short sdiscount;
	/* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 
	/*bar_code,product_name,unit,spec,sale_price,purchase_price,num,discount */
	/* EXEC SQL SELECT * INTO :productinfo->bar_code,:productinfo->product_name :sproduct_name,:productinfo->unit :sunit,:productinfo->spec :sspec,:productinfo->sale_price :ssale_price,:productinfo->purchase_price :spurchase_price,:productinfo->num :snum,:productinfo->discount :sdiscount FROM PRODUCT WHERE bar_code=:barcode; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select * into :b0,:b1:b2,:b3:b4,:b5:b6,:b7:b8,:b9:b10,:b11:\b12,:b13:b14  from PRODUCT where bar_code=:b15"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )155; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)(productinfo->bar_code); sqlstm.sqhstl[0] = (unsigned int  )10; sqlstm.sqhsts[0] = (         int  )0; sqlstm.sqindv[0] = (         void  *)0; sqlstm.sqinds[0] = (         int  )0; sqlstm.sqharm[0] = (unsigned int  )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqhstv[1] = (         void  *)(productinfo->product_name); sqlstm.sqhstl[1] = (unsigned int  )32; sqlstm.sqhsts[1] = (         int  )0; sqlstm.sqindv[1] = (         void  *)&sproduct_name; sqlstm.sqinds[1] = (         int  )0; sqlstm.sqharm[1] = (unsigned int  )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (unsigned short )0; sqlstm.sqhstv[2] = (         void  *)(productinfo->unit); sqlstm.sqhstl[2] = (unsigned int  )18; sqlstm.sqhsts[2] = (         int  )0; sqlstm.sqindv[2] = (         void  *)&sunit; sqlstm.sqinds[2] = (         int  )0; sqlstm.sqharm[2] = (unsigned int  )0; sqlstm.sqadto[2] = (unsigned short )0; sqlstm.sqtdso[2] = (unsigned short )0; sqlstm.sqhstv[3] = (         void  *)(productinfo->spec); sqlstm.sqhstl[3] = (unsigned int  )18; sqlstm.sqhsts[3] = (         int  )0; sqlstm.sqindv[3] = (         void  *)&sspec; sqlstm.sqinds[3] = (         int  )0; sqlstm.sqharm[3] = (unsigned int  )0; sqlstm.sqadto[3] = (unsigned short )0; sqlstm.sqtdso[3] = (unsigned short )0; sqlstm.sqhstv[4] = (         void  *)&(productinfo->sale_price); sqlstm.sqhstl[4] = (unsigned int  )sizeof(float); sqlstm.sqhsts[4] = (         int  )0; sqlstm.sqindv[4] = (         void  *)&ssale_price; sqlstm.sqinds[4] = (         int  )0; sqlstm.sqharm[4] = (unsigned int  )0; sqlstm.sqadto[4] = (unsigned short )0; sqlstm.sqtdso[4] = (unsigned short )0; sqlstm.sqhstv[5] = (         void  *)&(productinfo->purchase_price); sqlstm.sqhstl[5] = (unsigned int  )sizeof(float); sqlstm.sqhsts[5] = (         int  )0; sqlstm.sqindv[5] = (         void  *)&spurchase_price; sqlstm.sqinds[5] = (         int  )0; sqlstm.sqharm[5] = (unsigned int  )0; sqlstm.sqadto[5] = (unsigned short )0; sqlstm.sqtdso[5] = (unsigned short )0; sqlstm.sqhstv[6] = (         void  *)&(productinfo->num); sqlstm.sqhstl[6] = (unsigned int  )sizeof(int); sqlstm.sqhsts[6] = (         int  )0; sqlstm.sqindv[6] = (         void  *)&snum; sqlstm.sqinds[6] = (         int  )0; sqlstm.sqharm[6] = (unsigned int  )0; sqlstm.sqadto[6] = (unsigned short )0; sqlstm.sqtdso[6] = (unsigned short )0; sqlstm.sqhstv[7] = (         void  *)&(productinfo->discount); sqlstm.sqhstl[7] = (unsigned int  )sizeof(float); sqlstm.sqhsts[7] = (         int  )0; sqlstm.sqindv[7] = (         void  *)&sdiscount; sqlstm.sqinds[7] = (         int  )0; sqlstm.sqharm[7] = (unsigned int  )0; sqlstm.sqadto[7] = (unsigned short )0; sqlstm.sqtdso[7] = (unsigned short )0; sqlstm.sqhstv[8] = (         void  *)barcode; sqlstm.sqhstl[8] = (unsigned int  )0; sqlstm.sqhsts[8] = (         int  )0; sqlstm.sqindv[8] = (         void  *)0; sqlstm.sqinds[8] = (         int  )0; sqlstm.sqharm[8] = (unsigned int  )0; sqlstm.sqadto[8] = (unsigned short )0; sqlstm.sqtdso[8] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode == 1403) goto not_found; if (sqlca.sqlcode < 0) goto sqlerr;}
	productinfo->salenum=1;
	barInfoList.insert_rear(&barInfoList,(void *)productinfo,sizeof(struct barinformation));
	memset(barcode,0,sizeof(barcode));
	free(productinfo);
	return 0;
  not_found:
	/* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 
	makelog("debug.log","get barinfo not find");
	free(productinfo);
	return -1;
  sqlerr:
	/* EXEC SQL WHENEVER SQLERROR CONTINUE; */ 
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	free(productinfo);
	return -2;
	
}
int getSYSTime(char * time)
{
	char systime[15];
	memset(systime,0,sizeof(systime));
	/* EXEC SQL WHENEVER SQLERROR GOTO sqlerr; */ 
	/* EXEC SQL SELECT to_char(SYSDATE,'YYYYMMDDHH24MISS') INTO :systime FROM	dual; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "select to_char(SYSDATE,'YYYYMMDDHH24MISS') into :b0  from d\ual "; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )206; sqlstm.selerr = (unsigned short)1; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)systime; sqlstm.sqhstl[0] = (unsigned int  )15; sqlstm.sqhsts[0] = (         int  )0; sqlstm.sqindv[0] = (         void  *)0; sqlstm.sqinds[0] = (         int  )0; sqlstm.sqharm[0] = (unsigned int  )0; sqlstm.sqadto[0] = (unsigned short )0; sqlstm.sqtdso[0] = (unsigned short )0; sqlstm.sqphsv = sqlstm.sqhstv; sqlstm.sqphsl = sqlstm.sqhstl; sqlstm.sqphss = sqlstm.sqhsts; sqlstm.sqpind = sqlstm.sqindv; sqlstm.sqpins = sqlstm.sqinds; sqlstm.sqparm = sqlstm.sqharm; sqlstm.sqparc = sqlstm.sqharc; sqlstm.sqpadto = sqlstm.sqadto; sqlstm.sqptdso = sqlstm.sqtdso; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto sqlerr;}
	Trim(systime);
	strcpy(time,systime);
	return 0;
  sqlerr:
    makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	return -1;
}
int checkOut()
{
	char sale_id[19];
	char trans_id[5];
	char detail_id[19];
	char systime[15];
	char barcode[10];
	char staff_id[7];
	char tmp[40]={0};
	int i=0,salenum,num;
	/*int sale_state=g_sale_state;*/
	NODE * node;
	BARINFO barInfo;
	float moneypay=0.0f,money=0.0f,moneyreturn=0.0f,moneyreal=0.0f,saleprice=0.0f;
	memset(sale_id,0,sizeof(sale_id));
	memset(trans_id,0,sizeof(trans_id));
	memset(detail_id,0,sizeof(detail_id));
	memset(systime,0,sizeof(systime));
	memset(barcode,0,sizeof(barcode));
	memset(staff_id,0,sizeof(staff_id));

	
	get_seq_detail_id();
	strcpy(systime,saleInfo->time);
	
	sprintf(detail_id,"%s%04d",systime,g_detail_id);
	sprintf(sale_id,"%s%04d",systime,g_trans_id);
	sprintf(trans_id,"%04d",g_trans_id);

	moneypay=saleInfo->moneypay;
	sprintf(tmp,"saleInfo_moneypay=%f",moneypay);
	makelog("debug.log",tmp);
	money=saleInfo->money;
	moneyreturn=saleInfo->moneyreturn;
	moneyreal=saleInfo->money;	
	strcpy(staff_id,g_staff_id);
	
	/* EXEC SQL WHENEVER NOT FOUND goto not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR goto error; */ 
	/* EXEC SQL INSERT INTO sale(SALE_ID,TRANS_ID,STAFF_ID,SALE_DATE,GIVEN_SUM,REAL_SUM,SALE_MONEY,CHANGE,SALE_STATE) VALUES(:sale_id,:trans_id,:staff_id,to_date(:systime,'YYYYMMDDHH24MISS'),ROUND(:moneypay,2),ROUND(:money,1),ROUND(:money,2),ROUND(:moneyreturn,2),:g_sale_state); */ 

⌨️ 快捷键说明

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