中小医院药品招标系统的设计与实现.doc_第1页
中小医院药品招标系统的设计与实现.doc_第2页
中小医院药品招标系统的设计与实现.doc_第3页
中小医院药品招标系统的设计与实现.doc_第4页
中小医院药品招标系统的设计与实现.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向中小医院药品招标系统的设计与实现摘 要药品集中招标采购是国务院确定的城镇医药卫生体制改革的重要内容,也是关系到人民群众切身利益的一项重要工作。药品集中招标采购一直作为降低过高药价和纠正不正之风的重要政策手段。现在的药品手工招标存在不同程度的暗箱操作等问题,不能达到真正的公开、公正、公平的目的,而利用药品招标系统完全可以解决这些问题,让招标方和投标方在快速准确地完成招标工作的前提下节省开支,降低采购销售成本,从而实现真正意义上的降低药价。关键词: 招标 手工招标 降低药价 招标系统 公正公平公开 PowerbuilderAbstractThe collective medicine purchase by inviting public bidding is the important part of town medical and health system reform confirmed by the State Council. At the same time, it has close relations with peoples vital interests. At all times the collective medicine purchase by inviting public bidding is the powerful policy means to cut the over-high medicine price and correct the malpractice. There exist kinds of underground performance of various degrees in the medicine purchase by manual bidding. It cannot achieve the aim of just, fair and open. While using this medicine-bidding system can solve these problems. Its feasible to realize the reduction of medicine price in the true sense through cutting the cost of stocking and selling on the premise that both the renderee and tenderer perform the bidding task quickly and exactly.Keywordsinvite public bidding manual bidding cut the medicine price the medicine-bidding system just, fair and open PowerBuilder一、前言随着国家医疗卫生制度改革的不断深化,集中招标采购已经成为医院药品采购工作的发展趋势。在没有采用药品招标软件前,招标操作过程中传统的解决方法就是医院将所需购置的药品清单按要求做成一份标书,发放至投标商,由人工进行评标,从厚厚的投标书中逐一统计出招标结果。这些都是通过人工方式完成的,这种方法不仅操作繁琐、工作量大,而且容易出现差错。为解决这一问题,我院信息中心利用PB开发基于ODBC应用系统,设计与实现了医院药品招标系统,建立药品招标数据库,实现自动化查询、报表和管理。应用该系统极大地提高医药招标的工作效率和工作质量。该系统能够汇总投标商的所有信息,将其保存至数据库,能够进行各种功能查询,包括满足各种需要的报表的打印输出。投标企业只需要通过互联网登陆招标网站,将自已公司的资料和投标信息,按照网站提供的步骤分步填写完成,就可以了。省去了书面文档的传递。同时这也是无纸化办公的最好实例。这套系统的开发,不但加强医院的竞争力,降低医疗企业的成本,减少药品购销活动中的不正之风,减轻患者的负担,而且还能彻底清除暗箱操作,规范药品的购销行为,保证药品的质量和临床用药安全。1.1 手工招标存在的弊端反观我国目前的药品集中招标采购,存在很多人为因素,不能完全解决招标中带来的“暗箱操作”;不但减少了医疗机构的药品收入。同时也加重了企业和医院的负担。手工招标的程序过于繁琐。医院公开招标后,投标人需要将投标资料准备成书面材料,在规定的截止日期前密封送达到投标地点。招标单位再根据众多投标单位提供的药品清单,逐一进行评比。药品招标在手工管理条件下,由于商品编码无规律,要想从几万种商品中查找某一种产品所费的时间和精力极大。而且由于信息化程度低,大量工作都采取手工操作,这就需要大量的人力和物力以及花费很多的时间。而且商品有效期须进行严格控制:药品和化学试剂作为一种特殊的商品,时效性强。需要严格控制其有效期,对批次号的管理要求严格,而手工管理很难作到及时、准确最后在进行定标。医药产品作为一种特殊产品,其销售模式也较特殊,即通常所说的三角账。销售顺序是:厂家将医药产品发货给批发站;批发站又将医药产品发货给医院。相应的资金流动方向相反:医院将产品全部或部分卖出后与批发站结款;批发站收款后再与厂家结算。退货又是与此相反的过程。这种复杂的处理流程是手工操作很难胜任的。 由于产品品种多、客户数量多,造成业务量很大。手工进行各项业务劳动效率极低,致使财务及管理部门所需的各种经营数据及经营分析报表无法及时得到。而且在手工招标中,药品的价格是很难控制的。因为存在着人为的因素,导致许多药品的进标价高于售价。招标单位再将这些药品,以更高价格售出,这样损失最大的始终是老百姓。一、增加了医药企业难以承受的负担。招标单位要投标方反复提供名目繁多的文件和资料,包括投标方的财务报表、纳税表、银行开户证明、价格文件、省市药检报告、生产工艺、药监局的无生产经营假劣药证明、产品说明书、样品等等,否则就取消投标资格。为了应对各地频繁的招标和名目繁多的材料,医药企业都设立了招标办公室,加班加点、疲于奔波。有的企业老总反映:现在医药企业的领导不是在研究企业的发展战略,新品的开发,人才队伍建设和管理水平的提高,而是把绝大部分的精力放在招投标上,算是“劳命伤财”。二、是增加了医药企业的经营成本。国务院多次强调要降低企业负担,而招标采购不仅增加了环节,还出现了巧立名目,滥收费现象,如检验费、样品费、标书费、投标保证金、中标药品预付款、招标代理服务费等等,还要增加大量的差旅费用。尤其是由举标方支付招标代理服务费用,更缺乏法律依据,且标准过高,收费方式不合理。全国医药商业利润率2002年仅0.59%,而招标的代理费用每个品种中标金额100万以下的却高达0.6%。1.2 招标系统在实际应用中的优点这套招标系统最大的特点就是整个开标评标过程完全由电脑完成,优点是采购周期短、成本低、效率高,具有广泛的适用性。比现实药品招标采购工作更加规范化、透明化、自动化,更加有利于有效的监督和审计,提高工作效率,降低成本。电脑主要根据以下几列因素进行评标:价格因素,就是把参与投标的供应商的投标文件中的总报价进行比较,低者中标;质量服务考核得分因素,医院直接在网上购药,供应商网上接收到医院采购信息,立即供货,卫生信息中心负责网络的维护和监督协议的执行,电子商务系统自动统计供货情况,节约了大量人力物力,过去需要20个人、5天完成的工作,实行电子商务后,只需3个人、2天就能完成。 该系统体现了高效、便捷、简化、实用的特点,实现了招标、投标、开标、评标全过程网上运作。医院从网上上报药品采购目录,招标系统自动汇总后,通过网站发布招标公告,药品生产、经营企业在网上下载标书,进行网上报价投标,招标办公室从药品招标采购专家数据库中,随机抽取专家,组成专家评审委员会在网上评标,监督管理部门在网上监督评标工作进展情况,招标后的中标品种全部通过电子商务平台交易。人机对话的工作模式解决了过去药品采购的弊端,增加了工作透明度,保证了整个工作的公平、公开、公正。药品招标系统实行招标采购工作,是利用现代电子网络技术实现药品集中招标采购的进步和必然,由于整个招标采购的过程均在网上进行,并且有严格的程序及规章制度约束,这样一来就能保证招标采购工作最大限度地透明化、公开化、规范化,整个过程均在计算机中有严格的记录,全过程处在严密的监督及审核之下,这样加强了管理和接受群众监督,规范了药品的招标采购行为,从而有效地避免了药品招标采购中医院负责人和药品采购员个人说了算的不良行为,最大限度地纠正了药品购销中的不正之风。 能够保证药品的供应,有利于医药责任市场的形成。投标前,要求供应商缴纳一定金额的抵押金,合同履行完后即退还,制约了个别供货商只招标而无法供货等一些扰乱市场的行为。中标后双方形成的是一种长期合作伙伴关系,双方严格按合同办事,便于供应商长期准备货源,保证及时供应。能够大大减少工作量,降低整个药品招投标的操作成本。招标采购的过程大部分在网上进行,分类统计由计算机完成,这就大大减少了工作量。采用先进的电子网络系统,简化了书面文书的繁琐程序,特别是联网交易,大大降低了操作费用,提高了办事效率。二、招标流程2.1 手工招标流程在采用招标软件前,如果招标单位需要采购某种药品品时,首先需要向社会公布招标项目,然后由投标公司人员从公司到招标单位采购中心领取招标目录和招标文件等材料。投标公司距离招标单位距离是不定的甚至全国各地都有。可想而知投标公司必须花费大量的差旅费,分派专人甚至要花几天的时间才能拿到招标文件。各个投标公司回去后根据本公司实际情况和从招标单位领回来的招标文件,安排几个人花费几天的时间根据需要制定相应的报价单和文件材料,最后制作投标书。然后到招标单位将投标信息资料送到采购中心,等采购中心的审核,评标。整个投标完成后投标公司投入了大量人力和财力,最后投标公司在报价的时候必定会将这些投入记入成本,从而造成投标的价格并没有降低。违反了招标目的在于降低药价的初衷,失去了招标的本身意义。最初采购中心要从厚厚的投标书中挑选出符合要求的投标企业。这些工作一般招标单位都必须成立一个小组花上几天的时间才能完成。而且在完成这项工作的时候因为所有工作都是人为操作,姑且不谈某些操作人员在操作中的舞弊行为,一些工作人员在操作过程中大意或疏忽就很容易发生。在开标大会上按照个投标公司的标书对每个品种投标念出来给现场观众代表听。现场代表和观众不能通过视觉直接获得投标信息,整个开标过程几乎没有什么透明度。然后根据这些上万张纸投标资料评出废标和符合要求的标,这又是一个耗力耗时的工作。最后由招标组统计人员按照每个品种投标综合排序,确定中标价格和单位。这都是通过人工的方式完成,可想而知其中繁重的工作。2.2 利用招标系统实现招标招标系统的成功运用将大量繁杂的计算和统计工作交给计算机来处理,变得准确又快捷,大大提高整个招标工作的效率。首先招标单位招标文件不需要用大量的纸张重复打印,而是做成电子版上传到互联网上。在传统招标过程中投标公司专人专门从公司到招标单位领取招标文件的出差往返的人力和财力全部节省,每个投标公司直接从网上下载招标文件和投标软件。投标公司安装好投标软件客户端,根据下载招标文件通过投标软件来投标操作变得简单多了,而且因为是根据投标软件操作使投标废标几率变小。投标公司根据招标软件制作上报盘直接上报医院。医院招标组根据公司上报的投标盘,在开标大会上利用招标系统结合大屏幕投影仪在屏幕上按指定的速度显示给现场观众看,准确而且公开。真正做到公开、公平、公正,避免在传统手工招标过程中的暗箱操作。招标系统根据导入到数据库内的各家投标公司的投标数据进行判断筛选6,确定那些是废标。招标单位通过电脑汇总的资料,按照符合条件的项目归类,这样所有符合本次招标的标书和企业尽收眼底。采用招标软件后节省了大量的人力劳动,只需要通过鼠标点击就能进行统计和筛选。同时大大提高了统计的准确性,避免了由于人员疏忽而造成的错误。系统最后自动确定中标结果。药品招标系统的成功运用最大程度遵循招标的公开、公平、公正的原则。避免人工招标的暗箱操作和作弊行为。降低采购成本,让计算机充分发挥统计计算的优越性,避免投入大量的人力和财力进行复杂而烦琐的统计和计算。同时大大提高了统计的准确性,避免了由于人员疏忽而造成的错误。医院因此确实能购买到质量好而且价格低的药品,让关系老百姓切身利益的药价降下来。2.3 招标系统流程非最高最高多个最低价相同投标价最低三家以内单位投标无投标单位投标读取完成是否投标程序上传到Web供投标单位下载HIS系统维护招标计划制作招标盘和招标文件投标单位是否正确投标Skip不处理公开显示投标结果导入数据库是否废标评标是Update废标标志1否计算中标结果作空标处理处理bz并打印报表Update 中标标志为1综合性能质量确定中标标志为1的投标为中标Update 中标标志为0高于原进价其他不符项投标完成投厂家不符图2.3 招标系统招标流程图2.4 投标系统流程否投标价=0投标价0Sqlcode=1正确浏览检查投标装软件不正确下载安装软件Web上招标文件和投标软件投标登录正确退出系统Count是否大于3不正确Count+是进入投标程序按输入编码搜选择上报盘符正确上报投标数据盘取消投标是否正确打印报价单Sqlcode=0无此标号不正确Read厂家bzbz=1输入投标价和厂家bz=0只输入投标价Read投标价是否投另一厂家否是Insert同一标号Update 投标bz=1保存投标数据图2.4 招标系统投标流程图三、系统部分算法与实现3.1 投标单位投标数据公开输入招标数据库的实现药品采购集中招标的制度在全国各家医院推行后,其优越性得到各家医药公司和医院的广泛认同。但具体在进行招标采购的工作时,传统的招标操作方式已经逐渐显现他的弊端和局限性。传统手工招标不能做到最大程度公开和公平,当然也就不会公正。对此很多医药公司感到非常无奈。参加招标的次数越来越多,每次参加招标来回几趟跑再加上招标费使医药公司的投入销售成本过大,而且最让医药公司头疼的是很多招标都不公开不透明,暗箱操作使这些有实力的医药公司都无功而返。传统手工招标在开标时都是招标组内定几个药剂科人作为开标组成员,这些药剂科的人员和医药公司供应商都非常熟悉。由这几个人对着投标公司的投标书念,现场代表只能听这几个人的说词而不能亲眼见到每家公司的真正投标报价。这其中暗箱操作的可能性很大,而且容易报错公司投标价格造成不必要的纠纷。同时招标方安排的这几个人要将所有投标公司的所有投标全部念一遍。一般医院同时招标有400多种,一个标号品种同时有30多家医药公司投标,每个标号的信息有标号、药品名称、规格、单位、投标价、生产厂家等。可想而知这些信息念起来是多么吃力,而且要耽误大家多少时间。招标系统的设计充分考虑招标的公开透明、操作简单,而且时间可以控制。利用程序设计控制每家公司的每个投标在电脑屏幕上匀速显示。输出同时连接到投影仪上,让各家公司的投标明细(标号、名称、规格、单位、投标价、生产厂家等)在大屏幕上显示,接受现场所有人员的监督。充分做到公开透明和公平公正,避免暗箱操作的可能性。利用Powerbuild的数据窗口控件实现数据库字段的公开显示4511。其中datawindow的insertrow()函数、setitem()函数和scrolltorow()函数是实现公开显示的基本函数。Insertrow()表示在数据窗口上插入一空白行,setitem(row,col,ls-dd)表示给数据窗口datawindow的row行的col列赋值ls-dd,数值ls-dd可以是字符也可以是数字或其他变量。时间控制我们一般考虑用空循环来实现。在投标单位和投标数据读取时我们一般都会使用SQL语句9,使用SQL语句操作数据库简单而且速度较快是我们设计操作数据库程序的首先。具体实现如下:开始时间 = now()select 单位名称 into 单位名称变量 from 投标数据表;窗口界面st_2.text=单位名称变量do while 投标数据没有结束select 标号、名称、规格、单位、投标价、生产厂家 into 各字段相关变量 from 投标数据表;ls_row=datawindow.insertrow(0) /在数据窗口最后插入一空白行并返回当前行的行号datawindow.setitem(ls_row,标号,标号变量)同上将投标个字段读取的变量依次赋给当前行的个字段datawindow.scrolltorow(ls-row) /数据窗口滚动到插入的当前一行do while secondsafter(开始时间,now()=3 then /只有超过3家投标的标号才计算中标结果long ls_zbslselect count(bh) into :ls_zbsl from tbmlmxb where bh=:ls_bh and tbjg=:ls_tbjg;if isnull(ls_tbcount) then ls_zbsl=0 update tbmlmxb set bz = 1, cgje = :ls_zbsl where bh=:ls_bh and tbjg=:ls_tbjg;end if loop3.3 各种查询功能的实现各投标单位投标完成和评标完成后,中标结果计算出来后查询就显得非常重要。传统手工招标完成后,要查询一个标号的投标情况,我们必须根据该标号的其他相关信息在一大叠纸张中找到自己要查询的内容,为了得到相关统计数据还必须根据查询到信息进行手工计算等操作。可想而知这些工作是多么的繁杂而且所查询的信息并不一定准确,统计漏掉的和重复统计的造成统计数据有误差。这些弊端无疑给医院招标方带来很大的麻烦,招标方必须投入大量的人力和财力进行这种重复性的统计查询计算。计算机拥有无与伦比的大型数据统计计算快捷而且准确的功能。招标系统设计时充分考虑到查询统计的方便快捷、准确无误,利用Powerbuild的数据窗口2459完全实现统计查询功能。具体包括按单个药品查询投标明细、按投标单位查询投标明细、按单位查询中标结果、按品种查询中标结果、查询空标药品明细和查询三个以下投标明细。这些查询功能的实现后无论是从招标品种还是从投标公司来分类别查询都是很方便快捷。四、程序发布的实现4.1 利用Wise Installation System 实现程序发布首先要建立一个空白工程setup.wse,在进行文件打包时要充分考虑将Powerbuild的动态连接库文件放到系统根目录下,具体根据Powerbuild版本不同动态连接库文件不同,具体如下:PB.所需文件:必需PBVM60.DLLPowerBuilder 虚拟机 可选PBDWE60.DLLDataWindow 数据窗口引擎 可选PBRTC60.DLL超文本控件 可选PBTRA60.DLL数据库访问跟踪 可选PBODB60.DLLPB的ODBC接口 可选PBIN760.DLLINFORMIX 接口 可选PBMSS60.DLLMicrosoft SQL Server接口 可选PBSYC60.DLLSybase SQL Server接口 可选PBO7360.DLL/PBO7260.DLLOracle Version接口 PB7.0所需文件: 必需PBVM70.DLLPowerBuilder 虚拟机 必需LIBJCC.DLLPowerBuilder 库管理 可选PBDWE70.DLLDataWindow 数据窗口引擎 可选PBRTC70.DLL超文本控件 可选PBTRA70.DLL数据库访问跟踪 可选PBODB70.DLLPB的ODBC接口 可选PBIN770.DLLINFORMIX 接口 可选PBMSS70.DLLMicrosoft SQL Server接口 可选PBSYC70.DLLSybase SQL Server接口 可选PBO7370.DLL/PBO8470.DLLOracle Version接口 PB8.0所需文件: 必需PBVM80.DLLPowerBuilder 虚拟机 必需LIBJCC.DLLPowerBuilder 库管理 可选PBDWE80.DLLDataWindow 数据窗口引擎 可选PBRTC80.DLL超文本控件 可选PBTRA80.DLL数据库访问跟踪 可选PBODB80.DLLPB的ODBC接口 可选PBIN780.DLLINFORMIX 接口 可选PBMSS80.DLLMicrosoft SQL Server接口 可选PBSYC80.DLLSybase SQL Server接口 可选PBO7380.DLL/PBO8480.DLL/PBO9080.DLLOracle Version客户端程序文件是通过Powerbuild编译过的PBD和EXE文件以及数据库文件包括yptb.exe,yptb.pbd,yptbsys,ypzbjh.db等,服务器端安装程序文件同样是包括可执行EXE和PBD以及数据库文件378,具体包括ypzb.exe,ypzb.pbd.main.db等等。4.2 Wise Installation System中实现ODBC自动配置传统的手工配置ODBC首先安装SQL Anywhere数据库驱动程序,使数据源管理器中的ODBC驱动程序页增加一行SQL Anywhere的驱动说明。在系统DSN一页选择添加,然后选择SQL Anywhere数据源,出现数据源的配置信息表后,将数据源名(Data Source Name),数据库名(Database File),用户ID号(User ID),用户密码(Password)等信息添齐,选择OK确认,此时在系统数据源的窗口中就会增加用户的数据库的ODBC驱动,选择确认后退出数据源管理器。 进行以上操作以后重新启动应用程序,用户就可以在运行应用程序后使用SQL Anywhere数据库。 但这种方式必须SQL Anywhere数据库驱动程序,使数据源管理器中的ODBC驱动程序页增加一行SQL Anywhere的驱动说明。招标系统在设计利用注册表在Wise Installation System中实现ODBC自动配置。以WIN98下的注册表为例,括号内的为WIN2000下的注册表数值,C:YourApp为用户应用程序目录,C:YourAppSqlany50为应用程序包含的SQL Anywhere数据库驱动文件目录,YourDB.DB为用户数据库。 在HKEY_LOCAL_MACHINEsoftwareODBCODBC Drivers(ODBCINST.INIODBC Drivers)下,增加字符串键值: Sybase SQL Anywhere 5.0 = Installed 在HKEY_LOCAL_MACHINEsoftwareODBCSybase SQL Anywhere 5.0(ODBCINST.INISybase SQL Anywhere 5.0)下,增加字符串键值: Driver = C:YourAppSqlany50WOD50T.DLL Setup = C:YourAppSqlany50WOD50T.DLL 在HKEY_LOCAL_MACHINESoftwareODBCODBC.INIODBC Data Source下,增加字符串键值: TestDB = Sybase SQL Anywhere 5.0 在HKEY_LOCAL_MACHINESoftwareODBCODBC.INI下,增加主键:TestDB,并分别加入键值如下: Autostop = yes Databasefile = C:YourAppYourDB.DB Databasename = TestDB Driver = C:YourAppSqlany50WOD50T.DLL PWD = sql Start = C:YourAppSqlany50dbeng50.exe -d -c1024 -Q UID = dba 在用户的安装程序中将以上步骤加入,可以使用户的应用程序在不必安装SQL Anywhere数据库驱动下,也能直接访问系统数据源,从而实现用户应用程序的独立发布。五、总结为了加强医院的竞争力,降低医疗企业的成本,减少药品购销活动中的不正之风,减轻患者的负担,彻底清除暗箱操作,规范药品的购销行为,保证药品的质量和临床用药安全。以公开、公平、公正和诚实信用为原则的招标采购系统,使供货商形成了不起有效的竞争,最大限度的降低了采购成本。 提高了办事效率,彻底做到了无纸化操作。这套药品招投标系统实现了上报、审批、招标、开标、评标交易全过程的信息化运作,较好的实现了从招标药品的选择,自动生成招标通知书,竞标数据的导入,竞标者的数据比较,到生成中标通知书。全程系统操作,有效的减少了中间环节和人为因素,全面提高了药品招标工作的效率和透明度,实现了传统药品招标方式与现代网络信息技术的成功融合。在宣城市宣州区2004年医疗机构药品集中招标采购中,招标系统的成功使用得到了卫生部门、药品监督部门、各家医院和医药公司的认可。招标系统在实际运用中真正避免了暗箱操作,体现了招标的公开、公平、公正原则。切实为医院减低了招标采购成本,为医药公司降低了投标销售成本,取得了良好的社会效益和经济效益。据宣城市宣州区2004年医疗机构药品集中招标采购办公室统计数据表明本年度药品集中招标投入招标费用比去年手工招标投入费用降低了41%,同时各医药公司投标成本降低了43%。招标方降低了采购成本,投标方减少了销售成本,避免了暗箱操作真正做到公开公平公正实现各投标公司有效公平竞争,最后进入医院的药品价格明显低于以往采购的价格。切实做到让关系老百姓切身利益的药品价格降下来。参考文献1 徐松林,路斌,王冬春等编著,PowerBuilder数据库应用开发教程,清华大学出版社,2003.102 刘遵仁,王毓顺 编, 从零开始PowerBuilder基础培训教程,人民邮电出版社,20043 刘志峰主编,软件工程技术与实践,电子工业出版社,2004 4 杨志鸿等编,PowerBuilder 基础类库技术详解,中国水利水电出版社,20025(美)克罗恩克,数据库处理-基础、设计与实现(第八版),电子工业出版社,20036 刘志铭 张振坤 冯文萃等编,PowerBuilder数据库开发关键技术与实例应用,人民邮电出版社,20047 于德壹,刘云洲编著,PowerBuilder8.0实用编程技术,中国水利水电出版社,2002附 件、标号编码产生源代码/函数声明Function string make_pym(string hz_string, integer bz)string temp_string,t_p,t_w,t_pym,t_wbm /定义字符串临时变量int nn nn=1 /取串计数位置t_pym=t_wbm=do while nn=len(hz_string) /字符串没结束继续 temp_string=mid(hz_string,nn,1) /取字符串第nn个字符 if asc(temp_string)128 then /asc码=48 and asc(temp_string)=65 and asc(temp_string)=97 and asc(temp_string)=122) then /字母a-z 或者 A-Z 直接取字符大写字母为编码 t_pym=t_pym+upper(temp_string) t_wbm=t_wbm+upper(temp_string) end if end if nn=nn+1 /字符串位置加1 else /汉字取两位长度字符 temp_string=mid(hz_string,nn,2) temp_string=string(asc(left(temp_string,1)+string(asc(right(temp_string,1) /计算该字的ASC码值 select pym,wbm into :t_p,:t_w from chinese_zk where asc_k=:temp_string; /从汉字库chinese_zk中取该ASC码值的汉字的拼音码和五笔码 if isnull(t_p) then /如果没有该汉字用“Z”替代 t_pym=t_pym+Z t_wbm=t_wbm+Z else t_pym=t_pym+left(t_p,1) t_wbm=t_wbm+left(t_w,1) end if nn=nn+2 /字符串位置向后移2(1个汉字位置) end ifloop/取字符串拼音码和五笔码的前10位为该字符串的拼音码和五笔码t_pym=left(t_pym,10)t_wbm=left(t_wbm,10)/bz为0返回拼音码,其他返回五笔码if bz=0 thenreturn t_pymelse return t_wbmend if2、投标盘公开输入招标数据库程序if this.text=F2开始 thenopen(w_disp)transaction sqlzbjhsqlzbjh = create transactionsqlzbjh.dbms = ODBCsqlzbjh.dbparm = Connectstring=DSN=zbjhb;UID=dba;PWD=sql,connectoption=SQL_DRIVER_CONNECT;SQL_DRIVER_NOPROMPTCONNECT USING sqlzbjh;IF sqlzbjh.SQLCode 0 THENMessageBox(系统错误, 不能连接到数据库,请检查+SQLzbjh.SQLErrText,stopsign!)returnEND IFstring ls_bh,ls_pm,ls_gg,ls_dw,ls_proudcer,ls_pym,ls_wbm,ls_beizhu,ls_dwbh,ls_dwmclong ls_cgsl,ls_zbcount,si=0,ls_zbfl,ls_zblb,ls_rowdecimal ls_zglsjg,ls_tbjgtime ls_time,ll_timeselect dwmc into :ls_dwmc from zbmlb where bz=1 using sqlzbjh;close(w_disp)st_2.text=ls_dwmcst_pro.width=10st_b.text=1%select count(bh) into :ls_zbcount from zbmlb where bz=1 and zblb=0 using sqlzbjh;declare cur_zbjh cursor for select bh,pm,gg,dw,zglsjg,proudcer,cgsl,pym,wbm,beizhu,tbjg,dwbh,dwmc,zbfl,zblb from zbmlb where bz=1 and zblb=0 order by bh using sqlzbjh;open cur_zbjh;do while sqlzbjh.sqlcode=0ls_time=now()fetch cur_zbjh into :ls_bh,:ls_pm,:ls_gg,:ls_dw,:ls_zglsjg,:ls_proudcer,:ls_cgsl,:ls_pym,:ls_wbm,:ls_beizhu,:ls_tbjg,:ls_dwbh,:ls_dwmc,:ls_zbfl,:ls_zblb;if sqlzbjh.sqlcode0 then exitsi = si + 1st_pro.width=si * 1413 / ls_zbcountst_b.text=string(int(st_pro.width/1413*100)+%insert tbmlmxb (bh,pm,gg,dw,zglsjg,proudcer,cgsl,pym,wbm,beizhu,tbjg,dwbh,dwmc,zbfl,zblb) values(:ls_bh,:ls_pm,:ls_gg,:ls_dw,:ls_zglsjg,:ls_proudcer,:ls_cgsl,:ls_pym,:ls_wbm,:ls_beizhu,:ls_tbjg,:ls_dwbh,:ls_dwmc,:ls_zbfl,:ls_zblb);ls_row=dw_1.insertrow(0)dw_1.setitem(ls_row,bh,ls_bh)dw_1.setitem(ls_row,pm,ls_pm)dw_1.setitem(ls_row,gg,ls_gg)dw_1.setitem(ls_row,dw,ls_dw)dw_1.setitem(ls_row,tbjg,ls_tbjg)dw_1.setitem(ls_row,proudcer,ls_proudcer)dw_1.setitem(ls_row,beizhu,ls_beizhu)dw_1.scrolltorow(ls_row)dw_1.show()do while secondsafter(ls_time,now()=2/时间1秒钟循环 looploopclose cur_zbjh;/commit;/开始输入询价计划declare cur_yjjh cursor for select bh,pm,gg,dw,zglsjg,proudcer,cgsl,pym,wbm,beizhu,tbjg,dwbh,dwmc,zbfl,zblb from zbmlb where bz=1 and zblb=1 order by bh using sqlzbjh;open cur_yjjh;do while sqlzbjh.sqlcode=0fetch cur_yjjh into :ls_bh,:ls_pm,:ls_gg,:ls_dw,:ls_zglsjg,:ls_proudcer,:ls_cgsl,:ls_pym,:ls_wbm,:ls_beizhu,:ls_tbjg,:ls_dwbh,:ls_dwmc,:ls_zbfl,:ls_zblb;if sqlzbjh.sqlcode0 then exitinsert tbmlmxb (bh,pm,gg,dw,zglsjg,proudcer,cgsl,pym,wbm,beizhu,tbjg,dwbh,dwmc,zbfl,zblb) values(:ls_bh,:ls_pm,:ls_gg,:ls_dw,:ls_zglsjg,:ls_proudcer,:ls_cgsl,:ls_pym,:ls_wbm,:ls_beizhu,:ls_tbjg,:ls_dwbh,:ls_dwmc,:ls_zbfl,:ls_zblb);loopclose cur_yjjh;commit;disconnect using sqlzbjh;do while secondsafter(ls_time,now()=15/时间15秒钟循环loopmessagebox(系统提示,ls_dwmc+char(13)+char(13)+string(ls_zbcount)+ 个品种投标完成!)this.text=F2完成elsedw_1.reset()st_b.text=0%st_pro.width=0st_2.text=this.text=F2开始end if3、中标结果计算实现程序st_pro.width=10st_b.text=1%/open(w_disp)string ls_bh,ls_dwbh,ls_dwmc,ls_proudcerdecimal ls_tbjglong si=0,ls_zbcount,ls_tbcountupdate tbmlmxb set bz=0 where bz2 and zblb=:ls_zblb and z

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论