YonBuilder应用构建实战案例-体检管理(下)

紧接着上篇文章,我们将继续讲解体检管理案例操作。

体检单

一、业务对象

创建体检单业务对象,以下是业务对象下的实体为主子孙结构

1.体检单

在这里插入图片描述

2. 体检项目_体检单子表

在这里插入图片描述

二、页面建模

1、根据业务对象创建一主多子结构单据命名为体检单

2、设置主表字段不允许修改

组织、客户、累计出库年月、单据状态

3、设置子表所有字段不允许修改
体检项目、物料、二维码编号、是否检测、检测结果、检测人

4、删除子表的新增、删行按钮

5、设置子表表格的编辑方式为侧滑弹框

6、 体检单列表页面删除新增按钮

7 、配置体检按审批流

8、配置业务流
在这里插入图片描述
9、体检预约下推体检单
防止重复下推: isNull(getValue(“AT1772AFF21C18000A.AT1772AFF21C18000A.examination_bill”,“id”,“source_id”,id))

错误提示语:下游数据已存在

触发设置:手工触发

生单方式:默认新增单据

转换规则配置如下图
在这里插入图片描述

在这里插入图片描述

10、体检单下推销售订单
目标交易类型:体检

过滤设置增加防止重复下推:isNull(getValue(“voucher.order.Order”,“id”,“srcBill”,id))&&verifystate==2

错误提示语:下游单据已存在或单据未审核

触发设置:手工触发

生单默认: 默认新增单据,勾选转单画面

转换规则配置如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用到的公式:

税目税率id : getValue(“bd.taxrate.TaxRateVO”,“id”,“code”,“VAT0”)

本币pk :getValue(“bd.currencytenant.CurrencyTenantVO”,“id”,“code”,“CNY”)

汇率类型id: getValue(“bd.exchangeRate.ExchangeRateTypeVO”,“id”,“code”,“01”)

单据日期: dateFormat(sysdate(),“yyyy-MM-dd”)

11、体检单列表页面增加月底汇总出库按钮,点击汇总消耗品生成其他出库单
(1).创建业务对象月底汇总
在这里插入图片描述

(2)、根据业务对象创建一个卡片页面,删除列表页面

(3)、将卡片页面设置为模态框,具体操作省略

(4)、保存按钮取消保存规则,然后增加保存函数

函数中调用了其他出库单接口,具体调用接口API脚本查看


 viewModel.get('btnSave') && viewModel.get('btnSave').on('click', function (data) {
  // 确定--单击
  let date = viewModel.get("date").getValue();
  let org = viewModel.get("org").getValue();
  let warehouse = viewModel.get("warehouse").getValue();
  let use_version = viewModel.get("use_version").getValue();
  cb.rest.invokeFunction("AT1772AFF21C18000A.api.monthUsePro", {"date":date,"org":org,"warehouse":warehouse,"use_version":use_version},
  function(err, res) {
    if(err!=null){
      cb.utils.alert(err);
      return ;
    }else{
      cb.utils.alert("发起请求成功,请到其他出库节点查看");
      viewModel.communication({type:'modal',payload:{data:false}});
    }
  })
});

(5)、调用出库单API脚本

获取日期函数


let AbstractTrigger = require('AbstractTrigger');
  class MyTrigger extends AbstractTrigger {
    execute(context,param){
      Date.prototype.format = function(fmt)
      { 
      var o = {
      "M+" : this.getMonth()+1, //月份
      "d+" : this.getDate(), //日
      "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
      "H+" : this.getHours(), //小时
      "m+" : this.getMinutes(), //分
      "s+" : t
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值