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

📄 ppos.c

📁 用于小商品消费的SMS消费机程序
💻 C
📖 第 1 页 / 共 4 页
字号:
				    	set_inversed_disp();
						puts("错误:");
						set_normal_disp();
						move_cursor(0,2);
						puts("未登录系统!");
						move_cursor(0,6);
						puts("按任意键返回");
						getch();
						break;
					}			
					getSysRunTime(&srt);
					clr_scr();					
					move_cursor(0,0);
					puts("请输入新管理员号");
					move_cursor(0,4);
					puts("请确认新管理员号");
					memset(cBuffer, 0, 40);					
					if((get_str(0,2,cBuffer, 8, 2)==KEY_ENTER)&&(get_str(0,6,cBuffer+20, 8, 2)==KEY_ENTER))
					{
						l1 = atol(cBuffer);
						l2 = atol(cBuffer+20);
						if(l1 == l2)
						{
							srt.lWorkerNo = l1;
							clr_scr();
							move_cursor(0,0);
							puts("请输入新密码");
							move_cursor(0,4);
							puts("请确认新密码");							
							memset(cBuffer, 0, 40);
							if((get_str(0,2,cBuffer, 8, 2)==KEY_ENTER)&&(get_str(0,6,cBuffer+20, 8, 2)==KEY_ENTER))
							if(memcmp(cBuffer, cBuffer+20, 8)==0)
							{
								memcpy(srt.cPassword, cBuffer, 8);
								if(updateSysRunTime(&srt)==0)
								{
									clr_scr();
									move_cursor(0,2);
									puts("更改密码成功");
									move_cursor(0,6);
									puts("按任意键继续");
									getch();
									break;
								}								
							}
						}
					}
					clr_scr();
					move_cursor(0,2);
					puts("输入错误");
					move_cursor(0,6);
					puts("按任意键返回");							
					getch();					
					break;
				case 4:
					if(gcAuthenMode!=2)
					{
						clr_scr();
						move_cursor(0,0);
				    	set_inversed_disp();
						puts("错误:");
						set_normal_disp();
						move_cursor(0,2);
						puts("未登录系统!");
						move_cursor(0,6);
						puts("按任意键返回");
						getch();
						break;
					}	
					memset(cBuffer, 0, 40);
					memset(cRBuffer, 0, 40);
					clr_scr();
					move_cursor(0,0);
					puts("请输入日期:");
					if(gets_date(0, 2, DATE_YMD, cBuffer)==GETS_CONFIRM)
					{
						clr_scr();
						move_cursor(0,0);
						puts("请输入时间:");
						if(gets_time(0, 2, cBuffer+20)==GETS_CONFIRM)
						{
							memcpy(cRBuffer, cBuffer, 4);
							memcpy(cRBuffer+4, cBuffer+5, 2);
							memcpy(cRBuffer+6, cBuffer+8, 2);
							memcpy(cRBuffer+8, cBuffer+20, 2);
							memcpy(cRBuffer+10, cBuffer+23, 2);
							memcpy(cRBuffer+12, "00", 2);
							for(i=0;i<14;i++)
								cRBuffer[i] -= '0';							
							guDate.fields.year = (int)cRBuffer[0] * 1000 + cRBuffer[1] * 100 + cRBuffer[2] * 10 + cRBuffer[3];
							guDate.fields.month = cRBuffer[4] * 10 + cRBuffer[5];
							guDate.fields.day = cRBuffer[6] * 10 + cRBuffer[7];
							guTime.fields.hour = cRBuffer[8] * 10 + cRBuffer[9];
							guTime.fields.minute = cRBuffer[10] * 10 + cRBuffer[11];
							guTime.fields.second = cRBuffer[12] * 10 + cRBuffer[13];
							if(RTC_set_date(guDate.l_word)!=-1)
							{			
								if(RTC_set_time(guTime.l_word)!=-1)
								{
									clr_scr();
									move_cursor(0,2);
									puts("设置时间成功");
									move_cursor(0,6);
									puts("按任意键继续");
									getch();
									break;
								}
							}
						}						
					}	
					clr_scr();
					move_cursor(0,2);
					puts("输入错误");
					move_cursor(0,6);
					puts("按任意键返回");							
					getch();
					break;
				case 5:
					clr_scr();
					move_cursor(0,0);
					puts("请输入超级管理员");
					move_cursor(0,2);
					puts("密码");
					memset(cBuffer, 0, 40);
					if(get_str(0,4,cBuffer, 8, 2)==KEY_ENTER)
					{
						if(memcmp(cBuffer, "20031231", 8)==0)
						{
							getSysRunTime(&srt);
							srt.lWorkerNo = 0;
							memcpy(srt.cPassword, "12345678", 8);
							if(updateSysRunTime(&srt)==0)
							{
								clr_scr();
								move_cursor(0,2);
								puts("清除密码成功");
								move_cursor(0,6);
								puts("按任意键继续");
								getch();
							}							
							break;
						}
					}			
					clr_scr();
					move_cursor(0,2);
					puts("输入错误");
					move_cursor(0,6);
					puts("按任意键返回");							
					getch();
					break;
				case 6:
					if(gcAuthenMode!=2)
					{
						clr_scr();
						move_cursor(0,0);
				    	set_inversed_disp();
						puts("错误:");
						set_normal_disp();
						move_cursor(0,2);
						puts("未登录系统!");
						move_cursor(0,6);
						puts("按任意键返回");
						getch();
						break;
					}	
					clr_scr();
					move_cursor(0,0);
					puts("请输入超级管理员");
					move_cursor(0,2);
					puts("密码");
					memset(cBuffer, 0, 40);
					if(get_str(0,4,cBuffer, 8, 2)==KEY_ENTER)
					{
						if(memcmp(cBuffer, "20031231", 8)==0)
						{
							getSysRunTime(&srt);
							clr_scr();
							move_cursor(0,0);
					    	set_inversed_disp();
							puts("  短信中心号码  ");
							set_normal_disp();
							move_cursor(0,2);
							puts(srt.SMSCenterNo);
							move_cursor(0,4);
							puts("请输入新号码:");
							move_cursor(0,6);
							puts("+86");
							memset(cBuffer, 0, 20);
							cBuffer[0] = '+';
							cBuffer[1] = '8';
							cBuffer[2] = '6';
							if(get_str(3,6,cBuffer+3,12,0)==KEY_ENTER)
							{
								memcpy(srt.SMSCenterNo, cBuffer, 14);
								memcpy(SMSCenterNo, cBuffer, 14);
								updateSysRunTime(&srt);							
								move_cursor(0,2);
								puts("                ");
								move_cursor(0,2);
								puts(cBuffer);
								move_cursor(0,4);
								puts("新号码设置成功!");
								move_cursor(0,6);
								puts("按任意键返回!  ");
								getch();
							}													
							break;
						}
					}			
					clr_scr();
					move_cursor(0,2);
					puts("输入错误");
					move_cursor(0,6);
					puts("按任意键返回");							
					getch();
					break;
				}				
			}			
			break;	
		case 6:
			if(gcAuthenMode == 2)
			{
				getSysRunTime(&srt);
				clr_scr();	
				move_cursor(0,0);
		    		set_inversed_disp();
				puts("当日结算");
				set_normal_disp();
				move_cursor(0,2);
				puts("请先输入操作员密");
				move_cursor(0,4);
				puts("码:");
				memset(cBuffer, 0, 10);
				if(get_str(0,6,cBuffer,8,2)==KEY_ENTER)
				{
					if(memcmp(cBuffer, srt.cPassword, 8)==0)
					{							
						do
						{
							if(GSM_State == 0)
							{	
								clr_scr();	
								move_cursor(0,0);
								puts("打开GSM模块!");
								move_cursor(0,2);
								puts("请稍等...");
								GSM_on();
								delay_n_ms(5000);
								clr_scr();	
								move_cursor(0,0);
								puts("配置GSM模块!");
								move_cursor(0,2);
								puts("请稍等...");
								if(GSM_configure()==0)
								{
									clr_scr();	
									move_cursor(0,0);
									puts("配置GSM模块错误");
									move_cursor(0,2);
									puts("按任意键返回");
									GSM_off();
									getch();	
									break;	
								}
								delay_n_ms(5000);	
							}								
							i = wrapSMSRecord(cBuffer, &srt);
							if((KEY_get_status()&0x01)!=0)
							{							
								break;
							}
							if(i>0)
							{
//								clr_scr();
//								set_console_english();
//								DispInt(0, 0, i);
//								Dispbcd(0, 1, cBuffer, 52);
//								clr_scr();
//								Dispbcd(0, 1, cBuffer+52, 44);		
//								set_console_chinese();			
							
								clr_scr();
								move_cursor(0,0);
								puts("发送交易数据");
								move_cursor(0,2);
								puts("请等待...");
								move_cursor(0,6);
								puts("按取消键中断");	
//								if(SendSMS(cBuffer, 11+44*i)==1)
								if(SendSMS(cBuffer, 8+44*i)==1)
								{
									if(updateSysRunTime(&srt)==0)
									{
										clr_scr();
										move_cursor(0,0);
										puts("成功:");
										move_cursor(0,2);
										puts("发送数据成功!");
									}
									else
									{
										clr_scr();
										move_cursor(0,0);
										puts("错误:");
										move_cursor(0,2);
										puts("更改数据库失败!");
										move_cursor(0,6);
										puts("按任意键返回");
										getch();
										break;										
									}
								}
								else
								{
									clr_scr();
									move_cursor(0,0);
									puts("错误:");
									move_cursor(0,2);
									puts("发送数据失败!");
									move_cursor(0,6);
									puts("按任意键返回");	
									getch();
									break;
								}
							}							
							delay_n_ms(1500);
						}while(i>0);
						if(i!=0) break;
						gcAuthenMode = 0;
						move_cursor(0,4);
						puts("即将退出登录");
						move_cursor(0,6);
						puts("按任意键继续");
						getSysRunTime(&srt);
						srt.cLastGatherFromDb = srt.cLastSendFromDb; 
						srt.lLastGatherFrom = srt.lLastSendFrom;
						srt.cLastGatherToDb = srt.cLastSendToDb;
						srt.lLastGatherTo = srt.lLastSendTo;
						updateSysRunTime(&srt);						
						GSM_off();
						getch();
						break;
						//结算数据
						if(!getSysRunTime(&srt))
						{
							iIndex = 0;
							l2 = 0;
							if(!haveTradeRecord(&srt))
							{
							}
							else
							{
								clr_scr();
								move_cursor(0,0);
						    		set_inversed_disp();
								puts("提示:");
								set_normal_disp();
								move_cursor(0,2);
								puts("正在计算,请等待");
								doDb = srt.cLastTradeHandleDb;
								doPos = srt.lLastTradeHandle-1;
								totalNum = DB_count_records(doDb);
								do
								{
									p = DB_jump_to_record(doDb, doPos, &flag);
									memcpy(&gstQueryChargeRecord, p, sizeof(gstQueryChargeRecord));
									l1 = 0;
									OverTurnString((unsigned char*)&l1+1, gstQueryChargeRecord.cChargeMoneyOrTimes, 3);
									if(iIndex == 0)
										OverTurnString(&S2, gstQueryChargeRecord.cTraderCounter, 4);
									OverTurnString(&S1, gstQueryChargeRecord.cTraderCounter, 4);										
									l2 += l1;
									if((doDb == srt.cLastGatherToDb)&&(doPos == srt.lLastGatherTo))
									{									
										break;						
									}
									else if(doPos == 0)
									{
										if(doDb == TD_DB_INDEX1)
											doDb = TD_DB_INDEX3;
										else 
											doDb --;
										totalNum = DB_count_records(doDb);
										doPos = totalNum;
										iIndex ++ ;
									}
									else
									{
										doPos --;
										iIndex ++ ;
									}	
								}while(1);
								iIndex+=1;
							}						
							memcpy(cBuffer, "EKT", 3);
							cBuffer[3] = 4;
							memcpy(cBuffer+4, gcPSAMNo, 4);					
							OverTurnString(cBuffer+8, &iIndex, 4);
							OverTurnString(cBuffer+12, &l2, 4);
							guDate.l_word = RTC_read_date();
							guTime.l_word = RTC_read_time();
							sprintf(gcASCDateTime, "%04d%02d%02d%02d%02d%02d", guDate.fields.year, guDate.fields.month, guDate.fields.day, guTime.fields.hour, guTime.fields.minute, guTime.fields.second);
							memcpy(cBuffer+16, ASC2BCD(gcASCDateTime,14), 7);
							OverTurnString(cBuffer+23, &S1, 4);
							OverTurnString(cBuffer+27, &S2, 4);							
							
//							clr_scr();
//							set_console_english();							
//							Dispbcd(0, 0, cBuffer, 31);		
//							set_console_chinese();		
							clr_scr();
							move_cursor(0,0);
							puts("发送结算数据");
							move_cursor(0,2);
							puts("请等待...");
//							memcpy(cBuffer+40, "EKT", 3);
//							memcpy(cBuffer+43, cBuffer, 31);
//							if(SendSMS(cBuffer+40, 34)==1)
							if(SendSMS(cBuffer, 31)==1)
							{
								clr_scr();
								move_cursor(0,0);
								puts("成功:");
								move_cursor(0,2);
								puts("发送结算数据成功");
								move_cursor(0,4);
								puts("即将退出登录");
								move_cursor(0,6);
								puts("按任意键继续");								
								getch();
//								GSM_off();
								gcAuthenMode = 0;
							}					
							else
							{
								clr_scr();
								move_cursor(0,0);
								puts("错误:");
								move_cursor(0,2);
								puts("发送结算数据失败");
								move_cursor(0,6);
								puts("按任意键返回");	
								getch();
								break;
							}							
						}				
					
//						getSysRunTime(&srt);
//						srt.cLastGatherFromDb = srt.cLastSendFromDb; 
//						srt.lLastGatherFrom = srt.lLastSendFrom;
//						srt.cLastGatherToDb = srt.cLastSendToDb;
//						srt.lLastGatherTo = srt.lLastSendTo;
//						updateSysRunTime(&srt);
						break;
					}					
				}				
				clr_scr();
				move_cursor(0,0);
		    		set_inversed_disp();
				puts("错误:");
				set_normal_disp();
				move_cursor(0,2);
				puts("输入密码错误!");
			}
			else
			{
				clr_scr();
				move_cursor(0,0);
		    		set_inversed_disp();
				puts("错误:");
				set_normal_disp();
				move_cursor(0,2);
				puts("未登录系统!");
				move_cursor(0,6);
				puts("按任意键返回");
				getch();
			}						
			break;
		}
	}while(1);
}

⌨️ 快捷键说明

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