组件间取值计算怎么设置?

使用场景:

不合格总次数=历史不合格次数+新增不合格次数

历史不合格次数:系统上线前的历史数据,由安质处手动填写;

新增不合格次数:系统上检测不合格项细项记录条数,由第三方检测单位提交,一条不合格项细项记录对应一次不合格次数,依次累加;

  • 功能说明

场景一:系统初始化时,需先添加供应商(此时无新增不合格项)à在供应商详情表单中填写历史不合格次数à系统自动计算不合格总次数(因为新增不合格项为0此时不合格总次数就等于历史不合格次数)à根据不合格项总次数生成黑名单情况(总次数>=2时纳入黑名单否则不纳入黑名单)

场景二:系统上线后,第三方检测单位提交检测不合格项à根据不合格细项记录条数生成新增不合格项次数,系统自动计入并更新不合格项总次数中à材料供应商界面查看时表单时显示的是更新后的总次数

场景三:修改材料供应商表单中的历史不合格次数à系统自动计算不合格总次数(总次数=历史不合格次数+新增不合格项次数即检测不合格项中添加的不合格项次数)à根据新的总次数生成黑名单状态

设置步骤:

(1)表单添加历史不合格次数组件,设置为“下拉组件”

交互操作中“设置选中项”操作不能设置“数据字典组件”只能设置“下拉组件”,所以这里表单中使用下拉选,台账显示使用数据字典,将两者的显示值和保存值设置成一样即可;

(2)数据字典、材料供应商台账配置

(3)添加服务,写SQL语句计算不合格项总次数

select
       (SELECT count(1) AS sumCount
          FROM bp_material_unqua_detal
          WHERE 1=1
            AND supplier_id  = #supplierId#)
             +
            (#everUnqualifiedTimes#)
             as ut 
            from dual

(4)组件配置交互,值改变时触发计算服务

(5)组件配置交互,值改变时设置选中项

①配置已纳入黑名单场景和操作

不合格总次数>=2,自动纳入黑名单

②配置未纳入黑名单场景和操作

不合格总次数<2,不纳入黑名单


 [奈1]不合格项细项表

 [奈2]供应商ID

 [奈3]查出新增不合格次数,一条不合格项细项记录对应一次

 [奈4]算和,加上历史不合格次数

 [奈5]历史不合格次数,从表单中获取的参数,在交互中配置传进来

 [奈6]SQL查询出的字段必须取别名(此处ut就是别名),不然会报错,组件交互配置中需要使用此别名

 [奈7]dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。具体使用说明可百度。