中西药房库存更新脚本-------运维日志24

来源:互联网 发布:免费协助工作软件 编辑:程序博客网 时间:2024/04/29 14:13
--西药房
truncate table t_ds_initial; ----先清掉此表没用的历史数据----找出药房的部门IDselect t.deptid_chr, t.*  from t_bse_deptdesc t where t.deptname_vchr like '%西药房%';-----找出员工工号IDselect t.empid_chr from t_bse_employee t where t.empno_chr = '0001';----选择该药房进行库存管理的药品类型select * from t_aid_medicinetype;-----由于药房的药品必须有库存,医生才可以开药品处方,因此必须先初始化药房库存,以下方法是虚拟药房库存,默认虚拟数量为200000基本单位-----方法一:先插入初始表,然后在程序的初始化界面审核,由程序把库存数据加到库存主表与明细表insert into t_ds_initial t  (SERIESID_INT, ---序列   DRUGSTOREID_CHR, ---药房部门ID   MEDICINEID_CHR, ---药品内部ID   MEDICINENAME_VCHR, ---药品名称   MEDSPEC_VCHR, ---药品规格   IPAMOUNT, ----初始化数量(最小单位)   IPUNIT_CHR, ---最小单位   OPAMOUNT, ---初始化数量(基本单位)   OPUNIT_CHR, ---基本单位   PACKQTY_DEC, ----包装量   IPRETAILPRICE_INT, ---零售单价(最小单位)   OPRETAILPRICE_INT, ---零售单价(基本单位)   IPWHOLESALEPRICE_INT, ---购入单价(最小单位)   OPWHOLESALEPRICE_INT, --购入单价(基本单位)   VALIDPERIOD_DAT, ---有效期   LOTNO_VCHR, ----批号   CREATERID, ---创建人   EXAMERID, ---审核人   INACCOUNTERID_CHR, ---入帐人   INITIALID_CHR, ----初始化单据号   PRODUCTORID_CHR, ---生厂厂家   EXAM_DAT ----审核日期   )  select seq_ds_initial.nextval,         '0000040', --找出药房的部门ID         b.medicineid_chr,         b.medicinename_vchr,         b.medspec_vchr,         decode(b.OPCHARGEFLG_INT,                1,                200000,                round(200000 * b.packqty_dec, 2)), ---初始化二十万进库(最小单位)         b.ipunit_chr,         decode(b.opchargeflg_int,                1,                round(200000 / b.packqty_dec, 2),                200000), ---初始化数量(基本单位)         b.opunit_chr,         b.packqty_dec,         round(b.unitprice_mny / b.packqty_dec, 4),         b.unitprice_mny,         0, ----购入单价         0,         to_date('2012-01-01', 'yyyy_mm_dd'),         '20120711',         '0000001',--找出创建单据的员工工号ID         null,         null,         'XYF081119N001',         b.productorid_chr,         null    from t_bse_medicine b   where b.medicinetypeid_chr in (1, 3) and b.ifstop_int = '0' --选择该药房进行库存管理的药品类型--执行完以上脚本后,打开药房初始化界面,点击[审核]【入账】按钮,即可完成药房库存的初始化工作。
--中药房
<pre name="code" class="sql">----找出药房的部门IDselect t.deptid_chr, t.*  from t_bse_deptdesc t where t.deptname_vchr like '%中药房%';-----找出员工工号IDselect t.empid_chr from t_bse_employee t where t.empno_chr = '0001';----选择该药房进行库存管理的药品类型select * from t_aid_medicinetype;-----由于药房的药品必须有库存,医生才可以开药品处方,因此必须先初始化药房库存,以下方法是虚拟药房库存,默认虚拟数量为90000基本单位-----方法一:先插入初始表,然后在程序的初始化界面审核,由程序把库存数据加到库存主表与明细表insert into t_ds_initial t  (SERIESID_INT, ---序列   DRUGSTOREID_CHR, ---药房部门ID   MEDICINEID_CHR, ---药品内部ID   MEDICINENAME_VCHR, ---药品名称   MEDSPEC_VCHR, ---药品规格   IPAMOUNT, ----初始化数量(最小单位)   IPUNIT_CHR, ---最小单位   OPAMOUNT, ---初始化数量(基本单位)   OPUNIT_CHR, ---基本单位   PACKQTY_DEC, ----包装量   IPRETAILPRICE_INT, ---零售单价(最小单位)   OPRETAILPRICE_INT, ---零售单价(基本单位)   IPWHOLESALEPRICE_INT, ---购入单价(最小单位)   OPWHOLESALEPRICE_INT, --购入单价(基本单位)   VALIDPERIOD_DAT, ---有效期   LOTNO_VCHR, ----批号   CREATERID, ---创建人   EXAMERID, ---审核人   INACCOUNTERID_CHR, ---入帐人   INITIALID_CHR, ----初始化单据号   PRODUCTORID_CHR, ---生厂厂家   EXAM_DAT ----审核日期   )  select seq_ds_initial.nextval,         '0000041', --找出药房的部门ID         b.medicineid_chr,         b.medicinename_vchr,         b.medspec_vchr,         decode(b.OPCHARGEFLG_INT,                1,                90000,                round(90000 * b.packqty_dec, 2)), ---初始化九万进库(最小单位)         b.ipunit_chr,         decode(b.opchargeflg_int,                1,                round(90000 / b.packqty_dec, 2),                90000), ---初始化数量(基本单位)         b.opunit_chr,         b.packqty_dec,         round(b.unitprice_mny / b.packqty_dec, 4),         b.unitprice_mny,         0, ----购入单价         0,         to_date('2012-01-01', 'yyyy_mm_dd'),         'X',         '0000001',--找出创建单据的员工工号ID         null,         null,         'XYF081119N001',         b.productorid_chr,         null    from t_bse_medicine b   where b.medicinetypeid_chr ='2' and b.ifstop_int = '0' --选择该药房进行库存管理的药品类型--执行完以上脚本后,打开药房初始化界面,点击[审核]【入账】按钮,即可完成药房库存的初始化工作。



0 0
原创粉丝点击