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

📄 进销存.zrg

📁 掌机使用Zzbase语言的各种的关于各种电力规约如645
💻 ZRG
📖 第 1 页 / 共 4 页
字号:
        @ 9,0 SAY "现库存(参):"  
        @ 9,COL()+1 SAY TEMP1  
        WAIT""
     ENDIF
     replace 毛利润a with MLR
     replace 零售总量A  with TEMP5
     replace 现库存量A  with TEMP1, 库存总额A  with TEMP4  
     
     SELECT E 
     GO BOTTOM 
         
     LSH=流水号+1
     Append Blank 
     sSysVar=READSYSVAR(50)  
     replace  流水号 with  LSH
     replace  零售日期 with DATE()
     replace  收款员ID with sSysVar   
     replace  商品条码 with 商品A_ID
     replace  零售数量 with XSL
     replace  小计 with 零售单价A*XSL
     CLEAR
     @ 0,1 SAY "-- 零 售 小 票 --"
     @ 2,0 SAY "交易编号:"
     @ 2,col()+1 SAY 流水号
     @ 3,0 SAY "购买时间:"
     @ 3,10 SAY 零售日期
     @ 4,0 SAY "条码:"
     @ 4,col()+1 SAY 商品条码
     @ 5,0 say "商品名称:"
     @ 5,col()+1 say 商品名称A
     @ 6,0 SAY "购买数量:"
     @ 6,10 SAY 零售数量
     @ 7,0 SAY "零售单价:"
     @ 7,col()+1 SAY 零售单价A 
     @ 8,0 SAY "小计:(元)"
     @ 8,10 SAY 零售单价A*XSL
     WAIT""
   RETURN
ENDPRO


PROCEDURE  条码查询
     DO WHILE .T.
	CLEAR        
*	SET INTENSITY ON
	@ 0,1 SAY "-- 选 查 询 库 --"    
      	SET INTENSITY OFF
	库名菜单[1]="1-订单库查询"
	库名菜单[2]="2-客户库查询"
	库名菜单[3]="3-雇员库查询"
	库名菜单[4]="4-商品库查询"
	库名菜单[5]="5-综合查询"
	库名数组[1]="通过订单编号(5位),查询订单库的内容..."
	库名数组[2]="通过客户编号(4位),查询客户库的内容..."
	库名数组[3]="通过雇员编号(3位),查询雇员库的内容,销售业绩在统计后才能显示..."
	库名数组[4]="通过商品条码(6位-13位),查询商品库的具体内容..."
	库名数组[5]="输入有订单的客户编号(4位),查询商品销售的综合情况..."
	@2,4 MENU 库名菜单,5,5
	@2,4 MENU 库名数组,5
	@8,0 SAY "按上下键选择,按确认键执行"
	READ MENU TO nMenuChoice
	DO CASE
	   CASE nMenuChoice=1
		SELECT A
                DO 条码录入
           CASE nMenuChoice=2
		SELECT B
                DO 条码录入
           CASE nMenuChoice=3
	        SELECT C
	        DO 条码录入
           CASE nMenuChoice=4
	        SELECT D
                DO 条码录入
           CASE nMenuChoice=5 
                DO 手工录入
	   OTHERWISE
	        EXIT
        ENDCASE
     ENDDO
   RETURN
ENDPRO


PROCEDURE 条码录入
    DO WHILE .T.
       BarCode=""
       CLEAR
       @ 2,0 SAY "请扫描商品条码,或输"
       @ 3,0 SAY "入正确位数的条码编号"
       @ 4,2 GET BarCode
       READ
       BarCode=TRIM(BarCode)
       n=lastkey()
       if n=24
          exit
      endif
      DO CASE
         CASE LEN(BarCode)=3 
              *3位C型ID,查采购员  
              ZGBH=BarCode           
              DO 雇员库
         CASE LEN(BarCode)=4
          *   4位C型客户A_ID
              KHID=BarCode
              DO 客户库
         CASE LEN(BarCode)=5
              *从5位N型订单ID
              DO 定单库
         CASE LEN(BarCode)>=6 
              *6位以上C型商品ID
              SPID=BarCode
              DO A产品库
         OTHERWISE
              CLEAR
	      @2,2 SAY "条码(或编号)有误,按任意键返回!!"
	      WAIT""   
	      EXIT     
      ENDCASE
    ENDDO  
  RETURN
ENDPRO


PROCEDURE  定单库
     CLEAR
     PFSL=0
     SELECT A
     GO TOP
     @ 1,0 SAY "正在查找5位订单编号..."
     locate all for 定单ID=VAL(BarCode) 
      
     SOUND 21,4
     IF eof()
        clear
        @ 1,1 say "无该订单,已到数据库尾;按任意键返回!!"
        wait ""
        RETURN
     ELSE
        CURR_REC=recno()
        PFSL=批发数量
        PFJE=批发金额
        CGSL=采购数量
        CGJE=采购金额
        CLEAR
        @ 0,1 SAY "-- 订 单 内 容A --"
        @ 2,0 SAY "订单编号:"
        @ 2,col() SAY 定单ID
        @ 3,0 SAY "客户编号:"
        @ 3,col() SAY 客户A_ID
        @ 4,0 SAY "定单时间:"
        @ 4,9 SAY 日期
        @ 5,0 SAY "产品条码:"
        @ 5,col() SAY 商品ID
        If PFSL<>0
           @ 6,0 SAY "批发数量:"
           @ 6,col()+1 SAY PFSL
           @ 7,0 SAY "批发金额:"
           @ 7,col()+1 SAY PFJE
        else
           @ 6,0 SAY "采购数量:"
           @ 6,col()+1 SAY CGSL
           @ 7,0 SAY "采购金额:"
           @ 7,col()+1 SAY CGJE
        endif
        wait ""
      ENDIF
   RETURN
ENDPRO

PROCEDURE  客户库
     CLEAR
     SELECT B
     GO TOP
     @ 1,0 SAY "正在查找4位客户编号..."
     locate all for VAL(KHID)=VAL(客户B_ID) 
     SOUND 21,4
     IF eof()
        clear
        @ 1,1 say "无该客户,已到数据库尾;请按任意键返回!!"
        wait ""
        RETURN
     ELSE
        CLEAR
        @ 0,2 SAY "-- 客 户 情 况 --"
        @ 2,0 SAY "客户编号:"
        @ 2,col()+1 SAY 客户B_ID
        @ 3,0 SAY "客户姓名:"
        @ 3,col()+1 SAY 客户姓名
        @ 4,0 SAY "职务:"
        @ 4,col()+1 SAY 职务
        @ 6,0 SAY "地址B:"
        @ 6,col()+1 SAY 地址B 
        @ 8,0 SAY "电话B:"
        @ 8,col()+1 SAY 电话B
        WAIT""
     ENDIF   
    RETURN
ENDPRO


PROCEDURE  雇员库
   CLEAR
     SELECT C
     GO TOP
     @ 1,0 SAY "正在查找3位雇员ID..."
     locate all for  VAL(雇员C_ID)=VAL(ZGBH)
     SOUND 21,4
     IF eof()
        clear
        @ 1,1 say "无该雇员,已到数据库尾;请按任意键返回!!"
        wait ""
        RETURN
     ELSE
        CURR_REC=recno()
     ENDIF
     CLEAR
     @ 0,2 SAY "-- 雇 员 情 况 --"
     @ 2,0 SAY "雇员编号:"
     @ 2,col()+1 SAY 雇员C_ID
     @ 3,0 SAY "姓名:"
     @ 3,col()+1 SAY 雇员姓名
     @ 4,0 SAY "身份证:(15位)"
     @ 5,2 SAY 身份证号
     @ 6,0 SAY "电话:"
     @ 6,col()+1 SAY 电话C
     @ 7,0 SAY "零售总额:"
     @ 7,col()+1 SAY 零售总额
     WAIT""  
   RETURN
ENDPRO

PROCEDURE A产品库
    CLEAR
    SELECT D
    GO TOP
    @ 1,0 SAY "正在查找商品条码..."
    * locate all for  VAL(BarCode)=VAL(商品A_ID)
    locate all for  VAL(SPID)=VAL(商品A_ID)
    SOUND 21,4
    IF eof()
       clear
       @ 1,1 say "无此商品,已到数据库尾;请按任意键返回!!"
       wait ""
       RETURN
    ELSE
       CURR_REC=recno()
    ENDIF
    CLEAR
    @ 0,2 SAY "-- 商 品 内 容 --"
    @ 2,0 SAY "商品ID:"
    @ 2,col() SAY 商品A_ID
    @ 3,0 SAY "商品名称:"
    @ 3,col()+1 SAY 商品名称A
    @ 4,0 SAY "零售单价:"
    @ 4,col()+1 SAY 零售单价A
    @ 5,0 say "现库存(参):"
    @ 5,col()+1 say 现库存量A
    @ 6,0 SAY "库存总额:"
    @ 6,col()+1 SAY 库存总额A
    @ 7,0 SAY "商品说明:"
    @ 7,col()+1 SAY 备注A
    WAIT""
  RETURN
ENDPRO


PROCEDURE  条码统计
    CLEAR
     DO WHILE .T.
	CLEAR
	SET INTENSITY ON
	@ 0,3 SAY "[超市商品管理]"
	SET INTENSITY OFF
	统计菜单[1]="1-商品统计"
	统计菜单[2]="2-批发统计"
	统计菜单[3]="3-零售总额"
	统计菜单[4]="4-进货统计"
        统计数组[1]="据商品条码,进行该商品的零售总量,毛利润,现库存量等统计"
	统计数组[2]="据商品条码,可统计该商品的批发数量和批发总额"
	统计数组[3]="据3位职工编号,可统计近期该雇员的零售总额和批零总毛利"
	统计数组[4]="据商品条码,可统计该商品的采购数量和实际采购总额"
	@2,5 MENU 统计菜单,4,4
	@2,5 MENU 统计数组,4
	@7,0 SAY "注:先按上下键选择,再按确认键执行!!"
	READ MENU TO nCMenuChoice
	DO CASE
	   CASE nCMenuChoice=1
		Do 商品统计
           CASE nCMenuChoice=2
		DO 批发统计
	   CASE nCMenuChoice=3
		DO 职工销售统计	
	   CASE nCMenuChoice=4
		DO 进货统计
	   OTHERWISE
		EXIT
	ENDCASE
     ENDDO
  RETURN
ENDPRO


PROCEDURE  商品统计
     CLEAR
     TEMP1=0
     TEMP2=0
     TEMP3=""
     TEMP4=0.00
     TEMP5=0
     TEMP6=0
     TEMP7=0.00
     cInput1=""
     @ 0,0 SAY "扫描商品条码..."
     @ 1,3 GET cInput1
     read
     n=lastkey()
     if n=24
        return
     endif
     SELECT D
     GO TOP
     locate for VAL(cInput1)=VAL(商品A_ID) .and. (.not.eof( ))
     SOUND 21,4
     IF eof()
        clear
        @ 1,2 say "没有该商品编号"
        @ 2,2 say "或条码错!..."
        wait ""
        RETURN
     ELSE
        CURR_REC=recno()
        GO CURR_REC
        TEMP2=毛利润A 
        TEMP3=商品名称A
        TEMP4=零售单价A
        TEMP5=现库存量A
     ENDIF
       
     IF LEN(cInput1)>=6
        clear
        SELECT E
        @ 0,0 say "正在求和..."
        SUM  零售数量  TO TEMP1  FOR VAL(cInput1)=VAL(商品条码)
        SELECT A
        SUM  批发数量  TO TEMP6  FOR VAL(cInput1)=VAL(商品ID)
        SUM  批发毛利  TO TEMP7  FOR VAL(cInput1)=VAL(商品ID)
        CLEAR
        @ 0,1 SAY "-- 零 售 统 计 --"
        @ 2,0 SAY "商品ID:"
        @ 2,col() SAY cInput1
        @ 3,0 SAY "商品名称:"
        @ 3,col()+1 SAY TEMP3
        @ 4,0 SAY "零售单价:"
        @ 4,col()+1 SAY TEMP4
        @ 5,0 SAY "零售总量:"
        @ 5,col()+1 SAY TEMP1
        @ 6,0 SAY "零毛利和:"
        @ 6,col()+1 SAY TEMP2 
        @ 7,0 SAY "批发总量:"
        @ 7,col()+1 SAY TEMP6
        @ 8,0 SAY "批毛利和:"
        @ 8,col()+1 SAY TEMP7 
        @ 9,0 SAY "现库存(参):"
        @ 9,col()+1 SAY TEMP5
        WAIT""
     ENDIF
   RETURN
ENDPRO

PROCEDURE  批发统计
     CLEAR
     TEMP=0.00
     TEMP1=0
     TEMP2=0.00
     TEMP3=""
     TEMP4=0.00
     TEMP5=0
     TEMP6=0
     TEMP7=0.00
     TEMP8=0
     TEMP9=0.00
     TEMP11=0
     @ 1,1 SAY "扫描商品条码..."
     @ 2,4 GET cInput1
     read
     n=lastkey()
     if n=24
        return
     endif
     
    SELECT D
    GO TOP
    locate for VAL(cInput1)=VAL(商品A_ID) .and. (.not.eof( ))
              SOUND 21,4
              IF eof()
                 clear
                 @ 1,3 say "没有此商品编号"
                 @ 2,3 say "或条码错!..."
                 wait ""
                 RETURN
              ELSE
                 CURR_REC=recno()
                 GO CURR_REC
                 TEMP3=商品名称A
                 TEMP4=零售单价A
                 TEMP6=现库存量A
              ENDIF
     IF LEN(cInput1)>=6
        clear
        SELECT A
        @ 0,0 say "正在求和..."
        SUM  批发数量,批发金额,批发毛利  TO TEMP1,TEMP2,TEMP4  FOR VAL(商品ID)=VAL(cInput1)
                
        SUM  采购数量,采购金额  TO TEMP5,TEMP  FOR VAL(商品ID)=VAL(cInput1)
         
        SUM  ALL 批发金额 TO  TEMP9    
        SELECT E
        @ 0,0 say "正在求和..."
        SUM  零售数量  TO TEMP8  FOR VAL(cInput1)=VAL(商品条码)
             
        CLEAR
        @ 0,1 SAY "-- 批 发 统 计 --"
        @ 2,0 SAY "商品ID:"
        @ 2,col() SAY cInput1
        @ 3,0 SAY "商品名称:"
        @ 3,col()+1 SAY TEMP3
        @ 4,0 SAY "批发总量:"
        @ 4,col()+1 SAY TEMP1
        @ 5,0 SAY "零售(参):"
        @ 5,col()+1 SAY TEMP8
        @ 6,0 SAY "现库存(参):"
        @ 6,col()+1 SAY TEMP6
        @ 7,0 SAY "批发总额:"
        @ 7,col()+1 SAY TEMP2
        @ 8,0 say "毛利总额:"
        @ 8,col()+1 say TEMP4
        WAIT""
     ENDIF
   RETURN
ENDPRO

PROCEDURE  职工销售统计
     CLEAR
     TEMP2=0
     TEMP3=""
     TEMP7=0.00
     TEMP10=0.00
     cInput1=""
     @ 0,0 SAY "输入3位收款员ID:"
     @ 1,4 GET cInput1
     read
     n=lastkey()
     if n=24
        return
     endif
     
     SELECT C
     GO TOP
     locate for VAL(cInput1)=VAL(雇员C_ID) .and. (.not.eof( ))
     SOUND 21,4
     IF eof()
        clear
        @ 1,3 say "没有该收款员编号"
        @ 2,3 say "按任意键返回!..."
        wait ""
        RETURN
     ELSE
       CURR_REC=recno()
       GO CURR_REC
       TEMP3=雇员姓名
       DHHM=电话C   
     ENDIF
     clear
               
     SELECT E
     @ 0,0 say "正在求和..."
     SUM  小计 TO TEMP2  FOR VAL(收款员ID)=VAL(SubStr(cInput1,1,4))
     SELECT C
     replace 零售总额 with TEMP2
     
     SELECT D
     SUM 毛利润A TO TEMP7 
     
     SELECT A
   * SUM  批发毛利 TO TEMP10 FOR VAL(雇员A_ID)=VAL(cInput1)
     SUM  ALL 批发毛利 TO TEMP10
     IF TEMP2=0.00
        TEMP7=0.00
        TEMP10=0.00
     ENDIF        
    
     CLEAR
     @ 0,1 SAY "-- 雇 员 情 况--"
     @ 2,0 SAY "雇员编号:"
     @ 2,col()+1 SAY cInput1
     @ 3,0 SAY "雇员姓名:"
     @ 3,col()+1 SAY TEMP3
     @ 4,0 SAY "电话:"
     @ 4,col()+1 SAY 电话C
     @ 5, 0 SAY "销售总额:"
     @ 5,col()+1 SAY TEMP2
     @ 6,0 say "零总毛利:"
     @ 6,col()+1 say TEMP7
     @ 7,0 say "批总毛利:"
     @ 7,col()+1 say TEMP10
     WAIT""

⌨️ 快捷键说明

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