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

📄 frmzycf.java

📁 请放心下载没有病毒
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
				//如果用户输入的疾病代码不存在
				if(rsCount == 0){					
					//提示重输
					lblMsg.setText("该疾病代码不存在,请重新输入!\n"+
							"输入疾病代码前头部分然后回车或双击它\n"+
							"可以显示疾病代码表与之匹配的部分");
					//显示右边组件
				comGrpRight.setVisible(false);
					return;
				}
			}catch(SQLException se){}
			
			//显示右边组件
			comGrpRight.setVisible(true);						
		}
		else shwErrMsgBox_Query();
	}

	/**
	 * name:createTable
	 * author:pizi
	 * function:create the middle Table control
	 */
	private void createTable(){
		//Create a table with visible headers and lines,
		//and set columns to the font that we created		
		
		tblMiddle =  new Table(shell,SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION);
		tblMiddle.setHeaderVisible(true);
		tblMiddle.setLinesVisible(true);
		tblMiddle.setRedraw(false);
		//Create font		
		font = new Font(display, "Helvetica", 9, SWT.BOLD);
		tblMiddle.setFont(font);
		grdData = new GridData(GridData.FILL_BOTH);
		grdData.horizontalSpan = 6;
		grdData.heightHint = 114;
		tblMiddle.setLayoutData(grdData);
		
		//Create columns
		final String[] COLUMN_NAMES_YPXX = {" ",
										"药名", 
										"单价",
										"计价单位",
										"数量",
										"金额",
										"自费比例",
										"自费金额",
										"规格"};
		
		colYPXX = new TableColumn[COLUMN_NAMES_YPXX.length];
		for (int i = 0;i < 9; i++){
			colYPXX[i] = new TableColumn(tblMiddle,SWT.CENTER);
			colYPXX[i].setText(COLUMN_NAMES_YPXX[i]);
			colYPXX[i].setResizable(false);
		}
				
		//Call pack() on each one to size it to the contents
		//after set text into the columns
		for(int i = 0,n = colYPXX.length; i < n; i++){
			colYPXX[i].pack();
		}
		
		//Set each column's  width
		colYPXX[0].setWidth(32);
		colYPXX[1].setWidth(200);
		colYPXX[2].setWidth(70);
		colYPXX[3].setWidth(70);
		colYPXX[4].setWidth(70);
		colYPXX[5].setWidth(70);
		colYPXX[6].setWidth(70);
		colYPXX[7].setWidth(70);
		colYPXX[8].setWidth(70);
			
		//Set redraw back to true so that the table
		//will paint appropriately
		tblMiddle.setRedraw(true);				
	}
	
	/**
	 * name:createGroupDown
	 * author:pizi
	 * function:create Group below with widgets in it
	 */
	private void createGroupDown(){
		//Add Group Control with composites,
		//using GridLayout with 6 columns
		grpYPXX = new Group(shell,SWT.SHADOW_IN);
		grdLtYPXX = new GridLayout(6,false);
		grdLtYPXX.horizontalSpacing = 25;
		grpYPXX.setLayout(grdLtYPXX);
		grdData = new GridData(GridData.FILL_BOTH);
		grdData.horizontalSpan = 6;
		grpYPXX.setLayoutData(grdData);
		
		//药品代码
		lblYPDM = new Label(grpYPXX,SWT.NONE);		
		lblYPDM.setText("药名");
		grdData = new GridData();
		grdData.widthHint = 54;
		lblYPDM.setLayoutData(grdData);
		grdData = new GridData();		
		cmbYPDM = new Combo(grpYPXX,SWT.BORDER);
		grdData.widthHint=97;
		cmbYPDM.setLayoutData(grdData);
		cmbYPDM.setTextLimit(6);	
		cmbYPDM.setVisibleItemCount(10);
		isInfGrpChanged = false;
		
		//给cmbYPDM添加获取焦点监听器
		cmbYPDM.addListener(SWT.FocusIn,new Listener(){
			public void handleEvent(Event event){
				//添加输入验证监听器,只允许输入字母和退格键			
				//cmbYPDM.addVerifyListener(lsnVrfySFSR);
				//如果当前正在录入药品信息
				if(cmbYPDM.isEnabled()){
					if(isYPRadioSelected){					
					lblMsg.setText("请输入药品代码\n"+
							"也可以先输入疾病相关信息");
					}
					//如果当前正在录入医疗服务信息
					else{					
						lblMsg.setText("请输入收费项目输入用代码\n"+
							"也可以先输入疾病相关信息");
					}
				}				
			}
		});

		//添加药品代码文本框的按键监听器,用户按回车后调用
		cmbYPDM.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent event){
				switch(event.keyCode){
					case SWT.KEYPAD_CR:
					case SWT.CR:							
						String strYPNM = cmbYPDM.getText().trim();					
						int itemCount = cmbYPDM.getItemCount();
						//如果下拉框中有项目则移除
						if(itemCount!=0){
							cmbYPDM.remove(0,itemCount-1);
						}
						
						astYPNM = new ArrayList();	
						//如果当前输入的是药品代码
						if(isYPRadioSelected){
							//移除药品代码文本框的输入验证监听器
							//cmbYPDM.removeVerifyListener(lsnVrfy);
							//Query Database for YPNM
							strSQL = "SELECT * FROM [YPXX] WHERE YPSR LIKE '"+strYPNM+"%'";												
							if(db.executeQuery(strSQL)){
								try{
									while(db.rs.next()){
										//添加药品代码到动态数组中保存
										astYPNM.add(db.rs.getObject("YPNM"));									
										//添加药名到下拉框中
										cmbYPDM.add(db.rs.getString("YM"));																	
									}						
								}catch(SQLException se){}
							}
							else shwErrMsgBox_Query();
							
							astYPNM.trimToSize();
							itemCount = cmbYPDM.getItemCount();
							//用户输入的药品内码不存在,提示重新输入
							if(itemCount == 0){
								lblMsg.setText("该代码不存在,请重新输入!"+
									"\n也可以先输入诊断信息");
								cmbYPDM.setSelection(new Point(0,strYPNM.length()));
								//cmbYPDM.addVerifyListener(lsnVrfy);
							}
							//用户输入的药品内码存在且查找结果唯一,显示其药名
							else if(itemCount == 1){
								cmbYPDM.select(0);
								cmbYPDM.remove(0);
								//调用选取下拉框后的方法
								selectYPDM(0);
							}
							//用户输入的药品内码存在且查询结果有多个
							else{	
								lblMsg.setText("请点击下拉按钮选择药品"+
									"\n也可以先输入诊断信息");
								//CODE TO ADD...								
								break;
							}
						}
						//当前输入的为收费项目输入用代码
						else{
							//移除输入用代码文本框的输入验证监听器
							//cmbYPDM.removeVerifyListener(lsnVrfySFSR);
							//Query Database for YPNM
							strSQL = "SELECT * FROM [SFBZ] WHERE SFSR LIKE '%"+strYPNM+"%'";												
							if(db.executeQuery(strSQL)){
								try{
									while(db.rs.next()){
										//添加药品代码到动态数组中保存
										astYPNM.add(db.rs.getObject("SFNM"));									
										//添加药名到下拉框中
										cmbYPDM.add(db.rs.getString("SFXM"));																	
									}						
								}catch(SQLException se){}
							}
							else shwErrMsgBox_Query();
							
							astYPNM.trimToSize();
							itemCount = cmbYPDM.getItemCount();
							//用户输入的药品内码不存在,提示重新输入
							if(itemCount == 0){
								lblMsg.setText("该代码不存在,请重新输入!"+
									"\n也可以先输入诊断信息");
								cmbYPDM.setSelection(new Point(0,strYPNM.length()));
								//cmbYPDM.addVerifyListener(lsnVrfySFSR);
							}
							//用户输入的药品内码存在且查找结果唯一,显示其药名
							else if(itemCount == 1){
								cmbYPDM.select(0);
								cmbYPDM.remove(0);
								//调用选取下拉框后的方法
								selectYPDM(0);
							}
							//用户输入的项目代码查询结果有多个
							else{
								//CODE TO ADD...
							}
						}					
						break;
					}				
			}
		});
		
		//添加选择监听器,当用户选择下拉框中的某一项时调用
		cmbYPDM.addSelectionListener(new SelectionAdapter(){
			public void widgetSelected(SelectionEvent event){	
				selectYPDM(cmbYPDM.getSelectionIndex());
			}
		});	
		
		//单价
		Label lblDJ = new Label(grpYPXX,SWT.NONE);
		lblDJ.setText("单价");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblDJ.setLayoutData(grdData);
		grdData = new GridData();		
		txtDJ = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtDJ.setLayoutData(grdData);		
		
		//计价单位
		Label lblJJDW = new Label(grpYPXX,SWT.NONE);
		lblJJDW.setText("计价单位");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblJJDW.setLayoutData(grdData);
		grdData = new GridData();		
		txtJJDW = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtJJDW.setLayoutData(grdData);
		
		//数量
		Label lblSL = new Label(grpYPXX,SWT.NONE);		
		lblSL.setText("数量");
		grdData = new GridData();
		grdData.widthHint = 54;
		lblSL.setLayoutData(grdData);
		grdData = new GridData();		
		txtSL = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtSL.setLayoutData(grdData);		
		
		//添加数量获取焦点监听器,当数量文本框获得焦点时调用
		txtSL.addListener(SWT.FocusIn,new Listener(){
			public void handleEvent(Event event){
				if(txtSL.getEditable()){
					//添加输入验证监听器,只允许输入数字和小数点
					txtSL.addVerifyListener(lsnVrfySL);
					lblMsg.setText("请输入药品数量\n"+
							"也可以先输入疾病相关信息");
				}			
			}
		});
		
		//添加数量文本框按键监听器,用户按回车后调用
		txtSL.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent event){
				switch(event.keyCode){
					case SWT.KEYPAD_CR:
					case SWT.CR:
						//移除数量文本框的验证监听器
						txtSL.removeVerifyListener(lsnVrfySL);
						boolean numFormatErr = false;
						int iYPSL = 1;
						int iZFBL;
						float fYPDJ;					
												
						try{
							iYPSL = Integer.parseInt(txtSL.getText());
						}catch(NumberFormatException e){
							numFormatErr = true;
						}
						//如果未输入药品数量,或药品数量为0
						if(txtSL.getText().equals("") || iYPSL == 0){
							txtSL.selectAll();
							lblMsg.setText("药品数量不能为0,请重新输入!");
							txtSL.addVerifyListener(lsnVrfySL);
							return;
						}
						//如果输入的药品数量数据错误
						if(numFormatErr){
							txtSL.selectAll();
							lblMsg.setText("药品数量数字的格式错误,请重新输入!");
							txtSL.addVerifyListener(lsnVrfySL);
							return;
						}						
						fYPDJ = Float.parseFloat(strYPDJ);
						iZFBL = Integer.parseInt(strZFBL);
						fJE = iYPSL * fYPDJ;
						fZFJE =( iYPSL * fYPDJ * iZFBL )/100;
						
						txtSL.setText(String.valueOf(iYPSL));
						txtJE.setText(String.valueOf(fJE));
						txtZFJE.setText(String.valueOf(fZFJE));					
						
						//数量文本框设置为不可用
						txtSL.setEditable(false);
						//确定按键设置为可用且获得焦点
						btnOK.setEnabled(true);	
						btnOK.setFocus();
						lblMsg.setText("按确定键将该项药品信息添加到表格中");
				}
			}
		});
		
		//金额
		Label lblJE = new Label(grpYPXX,SWT.NONE);
		lblJE.setText("金额");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblJE.setLayoutData(grdData);
		grdData = new GridData();		
		txtJE = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtJE.setLayoutData(grdData);		
		
		//自费比例
		Label lblZFBL = new Label(grpYPXX,SWT.NONE);
		lblZFBL.setText("自费比例");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblZFBL.setLayoutData(grdData);
		grdData = new GridData();		
		txtZFBL = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtZFBL.setLayoutData(grdData);		
		
		//自费金额
		Label lblZFJE = new Label(grpYPXX,SWT.NONE);
		lblZFJE.setText("自费金额");
		grdData = new GridData();
		grdData.widthHint = 54;
		lblZFJE.setLayoutData(grdData);
		grdData = new GridData();		
		txtZFJE = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtZFJE.setLayoutData(grdData);		
		
		//规格
		lblGG = new Label(grpYPXX,SWT.NONE);
		lblGG.setText("规格");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblGG.setLayoutData(grdData);
		grdData = new GridData();		
		txtGG = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;
		txtGG.setLayoutData(grdData);		
		
		//产地
		lblCD = new Label(grpYPXX,SWT.NONE);
		lblCD.setText("产地");
		grdData = new GridData();
		grdData.widthHint = 62;
		lblCD.setLayoutData(grdData);
		grdData = new GridData();		
		txtCD = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint=112;		
		txtCD.setLayoutData(grdData);		
		
		//厂家
		lblCJ = new Label(grpYPXX,SWT.NONE);
		lblCJ.setText("厂家");
		grdData = new GridData();
		grdData.widthHint = 54;
		lblCJ.setLayoutData(grdData);
		grdData = new GridData();		
		txtCJ = new Text(grpYPXX,SWT.BORDER);
		grdData.widthHint = 112;
		txtCJ.setLayoutData(grdData);		
		
		//确定
		comBtnGrpUp = new Composite(grpYPXX,SWT.NONE);
		grdData = new GridData(GridData.HORIZONTAL_ALIGN_END);
		grdData.horizontalSpan = 4;
		comBtnGrpUp.setLayoutData(grdData);
		grdLtCmpUp = new GridLayout(2,true);
		grdLtCmpUp.horizontalSpacing = 0;
		comBtnGrpUp.setLayout(grdLtCmpUp);		
		
		btnOK = new Button(comBtnGrpUp,SWT.None);
		btnOK.setText("确定");
		grdData = new GridData();
		grdData.widthHint = 60;
		btnOK.setLayoutData(grdData);
		tblItemIndex_YP = 0;

⌨️ 快捷键说明

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