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

📄 posoracle.c

📁 一个不错的POS系统
💻 C
📖 第 1 页 / 共 5 页
字号:
{ struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into sale (SALE_ID,TRANS_ID,STAFF_ID,SALE_DATE,GIVEN\_SUM,REAL_SUM,SALE_MONEY,CHANGE,SALE_STATE) values (:b0,:b1,:b2,to_date(:b3,'\YYYYMMDDHH24MISS'),ROUND(:b4,2),ROUND(:b5,1),ROUND(:b5,2),ROUND(:b7,2),:b8)"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )225; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)sale_id; sqlstm.sqhstl[0] = (unsigned int  )19; 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  *)trans_id; sqlstm.sqhstl[1] = (unsigned int  )5; sqlstm.sqhsts[1] = (         int  )0; sqlstm.sqindv[1] = (         void  *)0; 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  *)staff_id; sqlstm.sqhstl[2] = (unsigned int  )7; sqlstm.sqhsts[2] = (         int  )0; sqlstm.sqindv[2] = (         void  *)0; 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  *)systime; sqlstm.sqhstl[3] = (unsigned int  )15; sqlstm.sqhsts[3] = (         int  )0; sqlstm.sqindv[3] = (         void  *)0; 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  *)&moneypay; sqlstm.sqhstl[4] = (unsigned int  )sizeof(float); 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.sqhstv[5] = (         void  *)&money; sqlstm.sqhstl[5] = (unsigned int  )sizeof(float); sqlstm.sqhsts[5] = (         int  )0; sqlstm.sqindv[5] = (         void  *)0; 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  *)&money; sqlstm.sqhstl[6] = (unsigned int  )sizeof(float); sqlstm.sqhsts[6] = (         int  )0; sqlstm.sqindv[6] = (         void  *)0; 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  *)&moneyreturn; sqlstm.sqhstl[7] = (unsigned int  )sizeof(float); sqlstm.sqhsts[7] = (         int  )0; sqlstm.sqindv[7] = (         void  *)0; 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  *)&g_sale_state; sqlstm.sqhstl[8] = (unsigned int  )sizeof(int); 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 error;}
	for(i=1;i<=barInfoList.count;i++)
	{
		node=barInfoList.get_node_by_index(&barInfoList,i);
		
		if (node!=NULL)
		{		
			barInfo=(barinfo *)node->data;		
		}
		saleprice=barInfo->sale_price;
		strcpy(barcode,barInfo->bar_code);
		salenum=barInfo->salenum;
		/* EXEC SQL WHENEVER NOT FOUND goto not_found; */ 
		/* EXEC SQL WHENEVER SQLERROR goto error; */ 
		/* EXEC SQL INSERT INTO sale_detail(DETAIL_ID,SALE_ID,BAR_CODE,NUM,SALE_PRICE,SALE_STATE) VALUES(:detail_id,:sale_id,:barcode,:salenum,ROUND(:saleprice,2),:g_sale_state); */ {  struct sqlexd sqlstm;  sqlstm.sqlvsn = 10;  sqlstm.arrsiz = 9;  sqlstm.sqladtp = &sqladt;  sqlstm.sqltdsp = &sqltds;  sqlstm.stmt = "insert into sale_detail (DETAIL_ID,SALE_ID,BAR_CODE,NUM,SA\LE_PRICE,SALE_STATE) values (:b0,:b1,:b2,:b3,ROUND(:b4,2),:b5)";  sqlstm.iters = (unsigned int  )1;  sqlstm.offset = (unsigned int  )276;  sqlstm.cud = sqlcud0;  sqlstm.sqlest = (unsigned char  *)&sqlca;  sqlstm.sqlety = (unsigned short)256;  sqlstm.occurs = (unsigned int  )0;  sqlstm.sqhstv[0] = (         void  *)detail_id;  sqlstm.sqhstl[0] = (unsigned int  )19;  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  *)sale_id;  sqlstm.sqhstl[1] = (unsigned int  )19;  sqlstm.sqhsts[1] = (         int  )0;  sqlstm.sqindv[1] = (         void  *)0;  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  *)barcode;  sqlstm.sqhstl[2] = (unsigned int  )10;  sqlstm.sqhsts[2] = (         int  )0;  sqlstm.sqindv[2] = (         void  *)0;  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  *)&salenum;  sqlstm.sqhstl[3] = (unsigned int  )sizeof(int);  sqlstm.sqhsts[3] = (         int  )0;  sqlstm.sqindv[3] = (         void  *)0;  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  *)&saleprice;  sqlstm.sqhstl[4] = (unsigned int  )sizeof(float);  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.sqhstv[5] = (         void  *)&g_sale_state;  sqlstm.sqhstl[5] = (unsigned int  )sizeof(int);  sqlstm.sqhsts[5] = (         int  )0;  sqlstm.sqindv[5] = (         void  *)0;  sqlstm.sqinds[5] = (         int  )0;  sqlstm.sqharm[5] = (unsigned int  )0;  sqlstm.sqadto[5] = (unsigned short )0;  sqlstm.sqtdso[5] = (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 error;}
		get_seq_detail_id();
		sprintf(detail_id,"%s%04d",systime,g_detail_id);
	}
	makelog("debug.log","checkout found 1");
	for(i=1;i<=barInfoList.count;i++)
	{
		
		node=barInfoList.get_node_by_index(&barInfoList,i);
		
		if (node!=NULL)
		{		
			barInfo=(barinfo *)node->data;		
		}
		strcpy(barcode,barInfo->bar_code);
		salenum=barInfo->salenum;
		
		/* EXEC SQL WHENEVER NOT FOUND goto not_found; */ 
		/* EXEC SQL WHENEVER SQLERROR goto error; */ 
		/* EXEC SQL UPDATE product set num=num-:salenum WHERE bar_code=:barcode; */ {  struct sqlexd sqlstm;  sqlstm.sqlvsn = 10;  sqlstm.arrsiz = 9;  sqlstm.sqladtp = &sqladt;  sqlstm.sqltdsp = &sqltds;  sqlstm.stmt = "update product  set num=(num-:b0) where bar_code=:b1";  sqlstm.iters = (unsigned int  )1;  sqlstm.offset = (unsigned int  )315;  sqlstm.cud = sqlcud0;  sqlstm.sqlest = (unsigned char  *)&sqlca;  sqlstm.sqlety = (unsigned short)256;  sqlstm.occurs = (unsigned int  )0;  sqlstm.sqhstv[0] = (         void  *)&salenum;  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.sqhstv[1] = (         void  *)barcode;  sqlstm.sqhstl[1] = (unsigned int  )10;  sqlstm.sqhsts[1] = (         int  )0;  sqlstm.sqindv[1] = (         void  *)0;  sqlstm.sqinds[1] = (         int  )0;  sqlstm.sqharm[1] = (unsigned int  )0;  sqlstm.sqadto[1] = (unsigned short )0;  sqlstm.sqtdso[1] = (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 error;}
		makelog("debug.log","checkout found 2");
	}
	
	/* EXEC SQL COMMIT; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )338; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto error;}
	
		return 0;

  not_found:
	makelog("debug.log","checkout not found");
	/* EXEC SQL ROLLBACK; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )353; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto error;}
		return -1;

  error:
  makelog("debug.log","check out error");
	makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
	/* EXEC SQL ROLLBACK; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )368; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto error;}
		return -2;
	return 0;
}
int hang()
{
	
	char sale_id[19];
	char staff_id[7];
	char systime[15];

	memset(sale_id,0,sizeof(sale_id));
	memset(staff_id,0,sizeof(staff_id));
	memset(systime,0,sizeof(systime));

	strcpy(systime,saleInfo->time);
	strcpy(staff_id,g_staff_id);
	sprintf(sale_id,"%s%04d",systime,g_trans_id);

	/* EXEC SQL WHENEVER NOT FOUND goto not_found; */ 
	/* EXEC SQL WHENEVER SQLERROR goto sqlerr; */ 
	/* EXEC SQL INSERT INTO sale_tmp(sale_id,staff_id) values(:sale_id,:staff_id); */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.stmt = "insert into sale_tmp (sale_id,staff_id) values (:b0,:b1)"; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )383; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlstm.sqhstv[0] = (         void  *)sale_id; sqlstm.sqhstl[0] = (unsigned int  )19; 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  *)staff_id; sqlstm.sqhstl[1] = (unsigned int  )7; sqlstm.sqhsts[1] = (         int  )0; sqlstm.sqindv[1] = (         void  *)0; sqlstm.sqinds[1] = (         int  )0; sqlstm.sqharm[1] = (unsigned int  )0; sqlstm.sqadto[1] = (unsigned short )0; sqlstm.sqtdso[1] = (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;}
	checkOut();
	
	barHang.insert_rear(&barHang,(void *)sale_id,sizeof(sale_id));

	
	/* EXEC SQL COMMIT; */ { struct sqlexd sqlstm; sqlstm.sqlvsn = 10; sqlstm.arrsiz = 9; sqlstm.sqladtp = &sqladt; sqlstm.sqltdsp = &sqltds; sqlstm.iters = (unsigned int  )1; sqlstm.offset = (unsigned int  )406; sqlstm.cud = sqlcud0; sqlstm.sqlest = (unsigned char  *)&sqlca; sqlstm.sqlety = (unsigned short)256; sqlstm.occurs = (unsigned int  )0; sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn); if (sqlca.sqlcode < 0) goto sqlerr;}

⌨️ 快捷键说明

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