📄 posoracle.c
字号:
{ 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 + -