画画一样开发软件 申请审批管理系统开发案例6

第六部分:采购管理下采购单生成

1、采购单数据库设计:

进入“采购管理”页,从右侧元件栏点选数据库表/记录元件命名为“cgd”(右侧元件栏->Data Types->Database Record);从右侧元件栏依次放入以下数据类型并命名:一个数字类型(右侧元件栏->Data Types->Number)命名“ID”、两个字符串类型(右侧元件栏->Data Types->Text)分别命名“gongsi”和“pinming”、三个数字类型(右侧元件栏->Data Types->Number)命名“shuliang”“danjia”“zonge”。

采购单数据库表设计

2、已批准未转订单的申请信息和已生成的订单信息的查询显示

双击进入“采购管理”->“采购单管理”页面,在页面添加一个普通行为处理元件(快捷键“a”)命名为“申请及订单记录显示”,双击进入后添加一个服务器端行为处理元件(快捷键“s”)并命名为“查询记录”,为其添加两个输出(快捷键“e”)并转为多输出对象(快捷键“r”)。双击进入“查询记录”并点选放入两个数据库记录查询元件(右侧元件栏->Database->Find)分别命名为“批准申请记录查询”及“采购单记录查询”,放入“sqd”“cgd”两个数据库记录表并将其转为多记录对象(快捷键“r”),将查询元件输出-库表-“查询记录”两个输出用实线箭头相连。为“批准申请记录查询”添加一个触发器(快捷键“t”)命名为“zhuangtai”,添加一个字符串常量命名为“批准”或从“主管审批”中拖放复用此名称的常量,用实线箭头将常量连接“zhuangtai”触发器。这样完成了两个表数据的查询:

服务器端两个库表数据查询

退出到“申请及订单记录显示”,添加两个普通行为处理元件(快捷键“a”),分别命名为“批准记录转化”、“采购单记录转化”,将它们转为多处理对象(快捷键“r”),分别为其各自添加一个触发器(快捷键“t”)和一个输出(快捷键“e”);添加一个“采购单管理”父层引用对象(右键->Add Ancestor Reference ->采购单管理),将“查询记录”中“sqd”记录的输出-“批准记录转化”触发器-父层引用中“申请信息”下“Data”元件用实线箭头相连;将“查询记录”中“cgd”记录的输出-“采购单记录转化”触发器-父层引用中“订单信息表”下“Body”中“Body Row”元件相连:

记录转化并传至显示对象

进入“批准记录转化”,分别点选触发器与输出元件找到左侧文件目录中对应的元件(选中触发器右键点选“Show in Repository Explorer”),拖入并与对应的触发器和输入元件用实线箭头(快捷键“f”)相连接,然后将拖入的“sqd”表与“Data”数据结构中的对象用实线箭头(快捷键“f”)相连:“ID”->“序号”、“pinming”->“品名”...:

申请单库表记录转为显示记录时数据传值设计

进入“采购单记录转化”,分别点选触发器与输出元件找到左侧文件目录中对应的元件(选中触发器右键点选“Show in Repository Explorer”),拖入并与对应的触发器和输入元件用实线箭头(快捷键“f”)相连接,然后将拖入的“cgd”表与“Body Row”中的对象用实线箭头(快捷键“f”)相连:“ID”->“Body Row”中“订单序号”的元件、“pinming”->“Body Row”中“详情”的元件、“gongsi”->“Body Row”中“供应商”的元件、“danjia”->“Body Row”中“单价”的元件、“riqi”->“Body Row”中“日期”的元件、“zonge”->“Body Row”中“总价”的元件;

采购单库表记录转为显示记录时数据传值设计

注意:以上这个采购记录转化中与之前记录转化不一样是因为显示表用的不同,一类是简单表格,一类叫表格但是有更多细化的可编辑功能。

3、申请信息转化计算保存为采购单数据库表信息并刷新显示页面信息:

双击进入“采购管理”->“采购单管理”->“转为订单”按钮->“”元件->“录入订单”->“Body”->“供应商”下“Selection Field”中,添加一个服务器端行为处理元件(快捷键“s”)命名为“查找供应商”,添加一个输出(快捷键“e”)并转为多对象输出(选中后用快捷键“r”),用实线将输入与“Selection Field”中的“* [Anything]”相连。

供应商值传至选项中

双击进入“查找供应商”,添加一个数据库表查询元件(右侧元件栏->Database->Find)并命名为“查询全部供应商”,从左侧项目文件目录中找到并拖放复用一个“gys”数据库表,转为多记录显示元件(快捷键“r”),用实线箭头将查询元件的记录输出与“gys”数据库表相连。再用实线箭头将“gys”数据库中的“gongsi”元件与“查找供应商”元件中输出相连:

查询并传出供应商名称

退回并进入录入订单->“Footer”->“转为订单”按钮->“”元件。添加一个“采购单管理”父层引用对象(右键->Add Ancestor Reference ->采购单管理),再添加一个“录入订单”窗口父层引用对象(右键->Add Ancestor Reference ->录入订单);添加一个服务器端行为处理元件(快捷键“s”)命名为“生成采购单信息”,为其添加三个触发器,将“采购单管理”父层引用对象中“申请信息”下“Data”元件用实线箭头(快捷键“f”)传入第一个触发器;将“录入订单”窗口父层引用对象中“ Body”下“供应商”下“”中“* [Anything]”元件用实线箭头(快捷键“f”)传值给第二个触发器;将“录入订单”窗口父层引用对象中“ Body”下“单价”下“Number Field”中“ [Number]”元件用实线箭头(快捷键“f”)传值给第三个触发器。进入“生成采购单信息”,如果弹出一个如下的窗品则是提示路径过长,需在新窗口打开,确认后,自动打开一个新开发区界面:

打开的开发内容路径过长提示

进入后,选中“生成采购单信息”第一个触发器右键点选“Show in Repository Explorer”找到对应的元件“Data”并拖入,连接触发器与“Data”元件,同时将连到“申请信息”父层“Data”的线改到连“* Selected [Anything]”,复制或从左侧目录中拖入一个“cgd”数据库表记录,将以下值用实线箭头从“Data”元件传给“cgd”数据库表:“序号”->“ID”、“品名”->“pinming”、“数量”->“shuliang”;将“生成采购单信息”第二个触发器与“cgd”的“gongsi”相连;将“生成采购单信息”第三个触发器与“cgd”的“danjia”相连。另外,点选添加一个相乘运算元件(右侧元件栏->Math->Multiply),用实线箭头(快捷键“f”)将“Data”中“数量”与相乘的x相连,用实线箭头(快捷键“f”)将“生成采购单信息”第三个触发器与相乘的y相连,再用实线箭头(快捷键“f”)将相乘的输出与“cgd”表中的“zonge”相连。添加一个今日日期元件(右侧元件栏->Dates->Today),用实线箭头(快捷键“f”)将日期的输出与“cgd”的“riqi”相连接。添加一个插入记录元件()并命名为“采购订单保存”,用实线箭头(快捷键“f”)将“cgd”与其“Record”触发器相连。为“生成采购单信息”添加一个处理结束输出(右键->Add Element->)。开发结果如下:

保存采购单自动运算总额及添加日期

在“生成采购单信息”中,添加一个普通行为处理元件(快捷键“a”)命名为“更新申请记录”,为其添加一个触发器(快捷键“t”),并将“Data”用实线箭头与触发器相连;进入“更新申请记录”,先复用一个“Data”元件并与触发器用实线箭头(快捷键“f”)相连,从项目目录中找到并拖放一个“sqd”数据库表,将对应的“Data”中的记录除“申请状态”外对应用实线箭头一一传给“sqd”数据库表,添加一个字符常量“已购买”并用实线箭头将其连接到“sqd”表的“zhuangtai”元件上,添加一个数据库记录更新元件(右侧元件栏->Database->Update)命名为“更新申请”,将“sqd”表用实线箭头(快捷键“f”)连到更新元件的“Record”触发器上:

申请单更新为“已购买”状态

退出到中,添加两个普通行为处理元件(快捷键“a”)命名为“刷新”和“关闭”,双击退进入“关闭”,添加一个关闭窗口元件(右侧元件栏->Display Actions->Close Window):

关闭当前窗口

双击进入“刷新”“”内复制一个“采购单管理”父层引用对象,双击进入“刷新”,复用(右键选Paste(Reuse))一次,然后添加一个刷新按钮(右侧元件栏->Display Actions->Refresh),实线箭头(快捷键“f”)将“采购单管理”父层引用对象与刷新元件的“Element”相连。

刷新采购单管理界面行为设计

退出“刷新”,然后为“刷新”和“关闭”各自添加一个控制触发器(右键->Add Element->Control),并 实线箭头(快捷键“f”)将“生成采购单信息”输出与两个控制触发器相连。完成了采购订单记录生成后关闭弹窗和刷新采购信息页面显示的功能。

采购单转化按钮全部功能设计

至此,电脑端从申请提交到批准到采购从Excel表格导入供应商再到将申请信息转为采购订单记录的全部开发过程。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180307A1GW8V00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券