抄表待办
功能描述
无需下发计划,对用户进行在线抄表操作 抄表完成后状态是‘待审核’
项目:
ReadMeterClient
组件:
PhoneHandManagerOnline
组件别名:
phone-hand-manage-online
查询条件
条件描述 | 实际取值字段 |
---|---|
表类型 | f_meter_classify |
客户编号 | f_userinfo_code |
客户姓名 | f_user_name |
客户地址 | f_address |
小区 | f_residential_area |
楼栋 | f_building |
单元 | f_unit |
门牌 | f_room |
楼层 | f_floor |
表号 | f_meternumber |
抄表册 | f_book_name |
调压箱 | f_adjustable_name |
表册开始位置 | f_meter_book_sort_begin |
表册结束位置 | f_meter_book_sort_end |
用户证号 | f_book_no |
查询列表
,,,,,,,,,,,
字段名称 | 实际取值字段 |
---|---|
客户编号 | f_userinfo_code |
客户名称 | f_user_name |
客户地址 | f_address |
客户电话 | f_user_phone |
表号 | f_meternumber |
表箱号 | f_adjustable_id |
表类型 | f_meter_classify |
账户结余 | f_balance |
上次抄表时间 | f_last_input_date |
上期抄表始数 | f_last_startbase |
上期用气量 | f_last_gas |
上期底数 | f_last_tablebase |
上次安检时间 | f_last_checkdate |
Details
查询主要sql
PcHandInfo.sql
select * from (
SELECT
{ entity.findDialect() == $SqlServer$:$
DATEDIFF (day , uf.f_hand_date,getDate())
$,$
ROUND((sysdate-TO_DATE(TO_char(uf.f_hand_date,'yyyy-mm-dd hh:mi:ss'),'yyyy-mm-dd hh:mi:ss')),0)
$} f_unhand_date,
isnull(c.num,0) num,
isnull(h.f_oughtfee,0) f_oughtfee,
isnull(h.f_oughtfee,0)+ isnull(h.f_overdue,0) f_real_oughtfee,
isnull(uf.f_meter_base,0) f_last_tablebase,
uf.f_hand_date f_last_input_date,
uf.f_orgid,
uf.f_table_state,
uf.f_filialeid,
uf.f_user_id,
case when isnull(uf.f_capacity, 0) > 0 then uf.f_capacity else gm.f_capacity end f_capacity, --表最大量程
uf.f_meternumber,
uf.f_userfiles_id,
uf.f_user_type,
uf.f_gasproperties,
uf.f_price_id,
uf.f_inputtor,
uf.f_meter_book_sort,
u.f_userinfo_id,
u.f_userinfo_code,
u.f_user_name,
u.f_user_phone,
u.f_balance,
u.f_user_state,
u.f_user_level, --用户等级
u.f_rent_phone, --备用电话
u.f_book_no,
u.f_comments f_phone_comments, --备注
ua.f_address,
ua.f_residential_area,
ua.f_building,
ua.f_unit,
ua.f_floor,
ua.f_room,
ua.f_last_check_date f_last_checkdate,
gb.f_meter_brand,
uf.f_meter_classify,
isnull(uf.f_total_gas,0) f_total_gas,
isnull(uf.f_initial_base,0) f_initial_base,
isnull(uf.f_total_usegas_amount,0) f_total_usegas_amount,
uf.version,
gm.f_meter_style,
mb.id mbid,
mb.f_book_name,
ad.f_adjustable_name,
ad.f_adjustable_id,
h1.handid,
case when uf.f_meter_classify like '%卡表' then h3.f_last_result_state else h2.f_last_result_state end f_last_result_state,
isnull(case when uf.f_meter_classify='机表' then h2.f_last_startbase else h3.f_last_startbase end ,0) f_last_startbase,
isnull(case when uf.f_meter_classify='机表' then h2.f_last_gas else h3.f_last_gas end,0) f_last_gas,
isnull(f_last_shengyu_gas,0) f_last_shengyu_gas,
isnull(case when uf.f_meter_classify='机表' then h2.f_last_oughtamount else h3.f_last_oughtamount end ,0) f_last_oughtamount,
isnull(case when uf.f_meter_classify='机表' then a1.f_ave_gas else a2.f_ave_gas end,0) f_ave_gas
FROM
t_userfiles uf
LEFT JOIN t_user_address ua ON uf.f_useraddress_id = ua.id
LEFT JOIN t_userinfo u ON u.f_userinfo_id = uf.f_userinfo_id
left join t_gasbrand gb on uf.f_gasbrand_id = gb.id
left join t_gasmodel gm on uf.f_gasmodel_id=gm.id
left join t_meter_book mb on uf.f_meter_book_num=mb.id
left join (
select max(id) handid,f_userfiles_id from t_handplan
where f_hand_state='有效' and f_meter_state='未抄表' group by f_userfiles_id
) h1 on uf.f_userfiles_id=h1.f_userfiles_id
left join (
select f_userfiles_id, count(*)num from t_handplan
where f_hand_state='有效' and f_meter_state='待审核'
group by f_userfiles_id
)c on uf.f_userfiles_id=c.f_userfiles_id
left join (
select f_userfiles_id,max(id) maxid,
{ entity.findDialect() == $SqlServer$:$
cast(sum(f_oughtamount)/count(*) as numeric(9,2))
$,$
ROUND(sum(f_oughtamount)/count(*),2)
$}
f_ave_gas
from t_handplan
where f_hand_state='有效' and f_meter_state='已抄表' group by f_userfiles_id
)a1 on uf.f_userfiles_id=a1.f_userfiles_id
left join (select id,f_oughtamount f_last_oughtamount,f_result_state f_last_result_state,f_last_tablebase f_last_startbase,
f_oughtamount f_last_gas
from t_handplan) h2 on a1.maxid=h2.id
left join (
select f_userfiles_id,max(id) maxid,
{ entity.findDialect() == $SqlServer$:$
cast(max(f_tablebase)/count(*) as numeric(9,2))
$,$
ROUND(max(f_tablebase)/count(*),2)
$}
f_ave_gas
from t_cardhand where f_meter_state='已抄表' group by f_userfiles_id
) a2 on uf.f_userfiles_id=a2.f_userfiles_id
left join (select id,f_real_amount as f_last_oughtamount,f_shengyu_gas as f_last_shengyu_gas,
f_last_tablebase f_last_startbase,f_real_amount f_last_gas,f_result_state f_last_result_state
from t_cardhand)h3
on a2.maxid=h3.id
left join (
select
f_userfiles_id,
sum(f_oughtfee) f_oughtfee,
0 f_overdue
from (
select
h.f_userfiles_id,
h.f_oughtamount,
isnull(f_debt_money,0) f_debt_money,
h.f_oughtfee-isnull(f_debt_money,0) f_oughtfee,
u.f_balance,
u.f_userinfo_code
from t_handplan h left join (
select f_hand_id,sum(f_debt_money) f_debt_money
from t_sellinghand group by f_hand_id
) sh on h.id = sh.f_hand_id
left join t_userinfo u on h.f_userinfo_id = u.f_userinfo_id
where f_whether_pay='否' and f_meter_state='已抄表' and f_hand_state='有效'
) s
group by s.f_userfiles_id
) h on uf.f_userfiles_id = h.f_userfiles_id
left join t_area a on ua.f_residential_area_id = a.id
LEFT JOIN t_adjustablebox ad ON uf.f_adjustable_id = ad.id
)t
where {condition} AND f_meter_classify != '物联网表' AND f_table_state = '正常' and f_user_state='正常' and num=0
order by f_book_name,f_meter_book_sort,f_adjustable_id,mbid,f_address {sort}
按钮操作
查询
发送请求从手机端本地查询未抄表用户
清空
清空查询条件
####扫码
扫描表号,得到表具信息
列表操作
跳转到抄表单页面
配置说明
没有特殊暂不阐述