123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423 |
- $PBExportHeader$uo_workremind.sru
- forward
- global type uo_workremind from nonvisualobject
- end type
- end forward
- global type uo_workremind from nonvisualobject
- end type
- global uo_workremind uo_workremind
- type variables
- s_workrmd_info s_wrmd[] //工作提醒原始条件
- Long srmd_p = 0 //指针
- long scid[],storageid[]
- long srmd_sc,srmd_storage
- end variables
- forward prototypes
- public subroutine f_init_wrmd_info ()
- public function integer f_init ()
- public subroutine f_syntaxfromsql (long arg_scid, long arg_funcid, long arg_powerid, long arg_storageid, string arg_powername, string arg_sql, string arg_sc_str, string arg_storage_str)
- public function integer f_getwrmdrslt ()
- end prototypes
- public subroutine f_init_wrmd_info ();//f_init_wrmd_info
- //Atype=0:直接执行Asql
- //Atype=1:拼语句执行Asql
- //powerid=0:根权限无直接关系的提醒
- s_wrmd[1].powerid = 6
- s_wrmd[1].funcid = 102
- s_wrmd[1].dscrp = '销售订单审核'
- s_wrmd[1].Asql = 'select count(*) from u_saletask where status = 0'
- s_wrmd[1].Atype = 0
- s_wrmd[1].ifsc = TRUE
- s_wrmd[1].ifstorage = FALSE
- s_wrmd[2].powerid = 65
- s_wrmd[2].funcid = 104
- s_wrmd[2].dscrp = '销售单仓库审核'
- s_wrmd[2].Asql = 'select count(*) from u_outware where billtype = 1 and flag = 0'
- s_wrmd[2].Atype = 0
- s_wrmd[2].ifsc = TRUE
- s_wrmd[2].ifstorage = TRUE
- s_wrmd[3].powerid = 137
- s_wrmd[3].funcid = 104
- s_wrmd[3].dscrp = '销售单财务审核'
- s_wrmd[3].Asql = 'select count(*) from u_outware where billtype = 1 and flag = 1 and secflag = 0'
- s_wrmd[3].Atype = 0
- s_wrmd[3].ifsc = TRUE
- s_wrmd[3].ifstorage = TRUE
- s_wrmd[4].powerid = 23
- s_wrmd[4].funcid = 122
- s_wrmd[4].dscrp = '投诉单审核'
- s_wrmd[4].Asql = 'select count(*) from u_oppose where flag = 0 and billtype = 1'
- s_wrmd[4].Atype = 0
- s_wrmd[4].ifsc = FALSE
- s_wrmd[4].ifstorage = FALSE
- s_wrmd[5].powerid = 86
- s_wrmd[5].funcid = 204
- s_wrmd[5].dscrp = '产品工价表审核'
- s_wrmd[5].Asql = 'select count(*) from u_mtrldef where Auditflag = 0 and mtrlprp = 0'
- s_wrmd[5].Atype = 0
- s_wrmd[5].ifsc = FALSE
- s_wrmd[5].ifstorage = FALSE
- s_wrmd[6].powerid = 29
- s_wrmd[6].funcid = 304
- s_wrmd[6].dscrp = '工组完成时间调整审核'
- s_wrmd[6].Asql = 'select count(*) from u_orderworkgroup_time where flag = 0'
- s_wrmd[6].Atype = 0
- s_wrmd[6].ifsc = FALSE
- s_wrmd[6].ifstorage = FALSE
- s_wrmd[7].powerid = 36
- s_wrmd[7].funcid = 223
- s_wrmd[7].dscrp = '生产计划审核'
- s_wrmd[7].Asql = 'select count(*) from u_order_ml where status = 0'
- s_wrmd[7].Atype = 0
- s_wrmd[7].ifsc = TRUE
- s_wrmd[7].ifstorage = FALSE
- s_wrmd[8].powerid = 41
- s_wrmd[8].funcid = 213
- s_wrmd[8].dscrp = '外加工计划审核'
- s_wrmd[8].Asql = 'select count(*) from u_order_wfjg where status = 0'
- s_wrmd[8].Atype = 0
- s_wrmd[8].ifsc = TRUE
- s_wrmd[8].ifstorage = FALSE
- s_wrmd[9].powerid = 56
- s_wrmd[9].funcid = 202
- s_wrmd[9].dscrp = '产品结构审核'
- s_wrmd[9].Asql = 'select count(*) from u_mtrldef where SAuditflag = 0 and mtrlprp = 0'
- s_wrmd[9].Atype = 0
- s_wrmd[9].ifsc = FALSE
- s_wrmd[9].ifstorage = FALSE
- s_wrmd[10].powerid = 58
- s_wrmd[10].funcid = 219
- s_wrmd[10].dscrp = '工组交接单审核'
- s_wrmd[10].Asql = 'select count(*) from u_orderworkgroup_num where flag = 0'
- s_wrmd[10].Atype = 0
- s_wrmd[10].ifsc = FALSE
- s_wrmd[10].ifstorage = FALSE
- s_wrmd[11].powerid = 63
- s_wrmd[11].funcid = 207
- s_wrmd[11].dscrp = '生产进仓单审核'
- s_wrmd[11].Asql = 'select count(*) from u_inware where flag = 0 and billtype = 3'
- s_wrmd[11].Atype = 0
- s_wrmd[11].ifsc = TRUE
- s_wrmd[11].ifstorage = TRUE
- s_wrmd[12].powerid = 64
- s_wrmd[12].funcid = 208
- s_wrmd[12].dscrp = '领料出仓单审核'
- s_wrmd[12].Asql = 'select count(*) from u_outware where flag = 0 and billtype = 3'
- s_wrmd[12].Atype = 0
- s_wrmd[12].ifsc = TRUE
- s_wrmd[12].ifstorage = TRUE
- s_wrmd[13].powerid = 66
- s_wrmd[13].funcid = 403
- s_wrmd[13].dscrp = '采购收货单审核'
- s_wrmd[13].Asql = 'select count(*) from u_inware where flag = 0 and billtype = 1'
- s_wrmd[13].Atype = 0
- s_wrmd[13].ifsc = TRUE
- s_wrmd[13].ifstorage = TRUE
- s_wrmd[14].powerid = 68
- s_wrmd[14].funcid = 304
- s_wrmd[14].dscrp = '其他进仓单审核'
- s_wrmd[14].Asql = 'select count(*) from u_inware where flag = 0 and billtype = 8'
- s_wrmd[14].Atype = 0
- s_wrmd[14].ifsc = TRUE
- s_wrmd[14].ifstorage = TRUE
- s_wrmd[15].powerid = 70
- s_wrmd[15].funcid = 303
- s_wrmd[15].dscrp = '其他出仓单审核'
- s_wrmd[15].Asql = 'select count(*) from u_outware where flag = 0 and billtype = 8'
- s_wrmd[15].Atype = 0
- s_wrmd[15].ifsc = TRUE
- s_wrmd[15].ifstorage = TRUE
- s_wrmd[16].powerid = 72
- s_wrmd[16].funcid = 305
- s_wrmd[16].dscrp = '盘盈单审核'
- s_wrmd[16].Asql = 'select count(*) from u_inware where flag = 0 and billtype = 9'
- s_wrmd[16].Atype = 0
- s_wrmd[16].ifsc = TRUE
- s_wrmd[16].ifstorage = TRUE
- s_wrmd[17].powerid = 74
- s_wrmd[17].funcid = 306
- s_wrmd[17].dscrp = '盘亏单审核'
- s_wrmd[17].Asql = 'select count(*) from u_outware where flag = 0 and billtype = 9'
- s_wrmd[17].Atype = 0
- s_wrmd[17].ifsc = TRUE
- s_wrmd[17].ifstorage = TRUE
- s_wrmd[18].powerid = 82
- s_wrmd[18].funcid = 313
- s_wrmd[18].dscrp = '仓库调拨审核'
- s_wrmd[18].Asql = 'select count(*) from u_outware_move where flag = 0'
- s_wrmd[18].Atype = 0
- s_wrmd[18].ifsc = FALSE
- s_wrmd[18].ifstorage = TRUE
- s_wrmd[19].powerid = 83
- s_wrmd[19].funcid = 214
- s_wrmd[19].dscrp = '外加工收货单审核'
- s_wrmd[19].Asql = 'select count(*) from u_inware where flag = 0 and billtype = 4'
- s_wrmd[19].Atype = 0
- s_wrmd[19].ifsc = TRUE
- s_wrmd[19].ifstorage = TRUE
- s_wrmd[20].powerid = 85
- s_wrmd[20].funcid = 320
- s_wrmd[20].dscrp = '扣费品领用单审核'
- s_wrmd[20].Asql = 'select count(*) from u_outware where flag = 0 and billtype = 10'
- s_wrmd[20].Atype = 0
- s_wrmd[20].ifsc = TRUE
- s_wrmd[20].ifstorage = TRUE
- s_wrmd[21].powerid = 94
- s_wrmd[21].funcid = 401
- s_wrmd[21].dscrp = '采购订单审核'
- s_wrmd[21].Asql = 'select count(*) from u_buytask where status = 0'
- s_wrmd[21].Atype = 0
- s_wrmd[21].ifsc = TRUE
- s_wrmd[21].ifstorage = FALSE
- s_wrmd[22].powerid = 111
- s_wrmd[22].funcid = 406
- s_wrmd[22].dscrp = '供应商投诉单审核'
- s_wrmd[22].Asql = 'select count(*) from u_oppose where flag = 0 and billtype = 1'
- s_wrmd[22].Atype = 0
- s_wrmd[22].ifsc = FALSE
- s_wrmd[22].ifstorage = FALSE
- s_wrmd[23].powerid = 198
- s_wrmd[23].funcid = 708
- s_wrmd[23].dscrp = '计件单审核'
- s_wrmd[23].Asql = 'select count(*) from u_sc_taskwork where AuditingFlag = 0'
- s_wrmd[23].Atype = 0
- s_wrmd[23].ifsc = FALSE
- s_wrmd[23].ifstorage = FALSE
- s_wrmd[24].powerid = 200
- s_wrmd[24].funcid = 709
- s_wrmd[24].dscrp = '异常计件单审核'
- s_wrmd[24].Asql = 'select count(*) from u_sc_abnormity where AuditingFlag = 0'
- s_wrmd[24].Atype = 0
- s_wrmd[24].ifsc = FALSE
- s_wrmd[24].ifstorage = FALSE
- s_wrmd[25].powerid = 203
- s_wrmd[25].funcid = 320
- s_wrmd[25].dscrp = '扣费品领用单工资审核'
- s_wrmd[25].Asql = 'select count(*) from u_outware where flag = 1 and secflag = 0 and billtype = 10'
- s_wrmd[25].Atype = 0
- s_wrmd[25].ifsc = true
- s_wrmd[25].ifstorage = true
- s_wrmd[26].powerid = 205
- s_wrmd[26].funcid = 721
- s_wrmd[26].dscrp = '借支单审核'
- s_wrmd[26].Asql = 'select count(*) from u_gz_loanwage where flag = 0'
- s_wrmd[26].Atype = 0
- s_wrmd[26].ifsc = FALSE
- s_wrmd[26].ifstorage = FALSE
- s_wrmd[27].powerid = 207
- s_wrmd[27].funcid = 722
- s_wrmd[27].dscrp = '返工返修赔偿单审核'
- s_wrmd[27].Asql = 'select count(*) from u_sc_abnormity_bill where flag = 0'
- s_wrmd[27].Atype = 0
- s_wrmd[27].ifsc = FALSE
- s_wrmd[27].ifstorage = FALSE
- s_wrmd[28].powerid = 210
- s_wrmd[28].funcid = 724
- s_wrmd[28].dscrp = '奖罚单审核'
- s_wrmd[28].Asql = 'select count(*) from u_gz_award_punish where flag = 0'
- s_wrmd[28].Atype = 0
- s_wrmd[28].ifsc = FALSE
- s_wrmd[28].ifstorage = FALSE
- s_wrmd[29].powerid = 212
- s_wrmd[29].funcid = 725
- s_wrmd[29].dscrp = '考勤单审核'
- s_wrmd[29].Asql = 'select count(*) from u_gz_cwork where flag = 0'
- s_wrmd[29].Atype = 0
- s_wrmd[29].ifsc = FALSE
- s_wrmd[29].ifstorage = FALSE
- s_wrmd[30].powerid = 213
- s_wrmd[30].funcid = 709
- s_wrmd[30].dscrp = '异常计件单确认'
- s_wrmd[30].Asql = 'select count(*) from u_sc_abnormity where Auditingflag = 1 and secAuditingflag = 0'
- s_wrmd[30].Atype = 0
- s_wrmd[30].ifsc = FALSE
- s_wrmd[30].ifstorage = FALSE
- srmd_p = 30
- end subroutine
- public function integer f_init ();Long ll_scid,ll_storageid
- srmd_sc = 0
- srmd_storage = 0
- DECLARE cur_scid CURSOR FOR
- SELECT u_scdef.ScID
- FROM u_scdef ;
-
- open cur_scid;
- fetch cur_scid into :ll_scid;
- do while sqlca.sqlcode = 0
- srmd_sc++
- scid[srmd_sc] = ll_scid
- fetch cur_scid into :ll_scid;
- loop
- close cur_scid;
- DECLARE cur_storageid CURSOR FOR
- SELECT u_storage.storageid
- FROM u_storage ;
-
- open cur_storageid;
- fetch cur_storageid into :ll_storageid;
- do while sqlca.sqlcode = 0
- srmd_storage++
- storageid[srmd_storage] = ll_storageid
- fetch cur_storageid into :ll_storageid;
- loop
- close cur_storageid;
- return 1
- end function
- public subroutine f_syntaxfromsql (long arg_scid, long arg_funcid, long arg_powerid, long arg_storageid, string arg_powername, string arg_sql, string arg_sc_str, string arg_storage_str);Long ll_powerqty
- String str_dwSQl,str_SyntaxFromSQL,ls_msg,ls_str
- String ls_powername
- datastore ds_powerqty
- ds_powerqty = CREATE datastore
- str_dwSQl = arg_sql + arg_sc_str + arg_storage_str
- str_SyntaxFromSQL = sqlca.SyntaxFromSQL(str_dwSQl,"style(type=grid)",ls_msg)
- IF ls_msg > '' THEN
- ls_powername = "dw语法生成失败,"+arg_powername
- GOTO ext
- END IF
- ds_powerqty.CREATE(str_SyntaxFromSQL,ls_msg)
- IF ls_msg <> '' THEN
- ls_powername = "建立相关DW失败,"+arg_powername
- GOTO ext
- END IF
- ds_powerqty.SetTransObject(sqlca)
- ds_powerqty.Retrieve()
- ll_powerqty = ds_powerqty.GetItemNumber(1,1)
- IF IsNull(ll_powerqty) THEN
- ll_powerqty = 0
- GOTO ext
- END IF
- ext:
- f_workremind(arg_scid,arg_funcid,arg_powerid,arg_storageid,arg_powername,ll_powerqty,TRUE,TRUE)
- destroy ds_powerqty
- end subroutine
- public function integer f_getwrmdrslt ();//f_getwrmdrslt
- Int rslt = 1
- f_init()
- f_init_wrmd_info()
- Long ll_i,ll_j
- Long ll_sc,ll_storage
- String ls_sc_str,ls_storage_str
- //OPEN(w_sys_wait_jdt) //初始化进度条
- //w_sys_wait_jdt.Show()
- //w_sys_wait_jdt.wf_accepttol(srmd_p)
- FOR ll_i = 1 TO srmd_p
- // w_sys_wait_jdt.st_msg.Text = "统计:"+s_wrmd[ll_i].dscrp //进度信息
-
- IF s_wrmd[ll_i].powerid = 0 THEN CONTINUE
- IF NOT f_power_ind(s_wrmd[ll_i].powerid) THEN CONTINUE
-
- IF s_wrmd[ll_i].ifsc THEN
- FOR ll_sc = 1 TO srmd_sc
- IF sys_user_scstr <> '0' AND Pos(sys_user_scstr,','+String(scid[ll_sc])+',') <= 0 THEN CONTINUE
-
- ls_sc_str = ' and scid = ' + String(scid[ll_sc])
- IF s_wrmd[ll_i].ifstorage THEN
- FOR ll_storage = 1 TO srmd_storage
- IF sys_user_storagestr <> '0' AND Pos(sys_user_storagestr,','+String(storageid[ll_storage])+',') <= 0 THEN CONTINUE
-
- ls_storage_str = ' and storageid = ' + String(storageid[ll_storage])
- f_syntaxfromsql(scid[ll_sc],s_wrmd[ll_i].funcid,s_wrmd[ll_i].powerid,storageid[ll_storage],s_wrmd[ll_i].dscrp,s_wrmd[ll_i].asql,ls_sc_str,ls_storage_str)
- NEXT
- ELSE
- ls_storage_str = ''
- f_syntaxfromsql(scid[ll_sc],s_wrmd[ll_i].funcid,s_wrmd[ll_i].powerid,-1,s_wrmd[ll_i].dscrp,s_wrmd[ll_i].asql,ls_sc_str,ls_storage_str)
- END IF
- NEXT
- ELSE
- ls_sc_str = ''
- IF s_wrmd[ll_i].ifstorage THEN
- FOR ll_storage = 1 TO srmd_storage
- IF sys_user_storagestr <> '0' AND Pos(sys_user_storagestr,','+String(storageid[ll_storage])+',') <= 0 THEN CONTINUE
-
- ls_storage_str = ' and storageid = ' + String(storageid[ll_storage])
- f_syntaxfromsql(-1,s_wrmd[ll_i].funcid,s_wrmd[ll_i].powerid,storageid[ll_storage],s_wrmd[ll_i].dscrp,s_wrmd[ll_i].asql,ls_sc_str,ls_storage_str)
- NEXT
- ELSE
- ls_storage_str = ''
- f_syntaxfromsql(-1,s_wrmd[ll_i].funcid,s_wrmd[ll_i].powerid,-1,s_wrmd[ll_i].dscrp,s_wrmd[ll_i].asql,ls_sc_str,ls_storage_str)
- END IF
- END IF
- // w_sys_wait_jdt.wf_inc(ll_i) //进度
- NEXT
- //CLOSE(w_sys_wait_jdt)
- RETURN rslt
- end function
- on uo_workremind.create
- call super::create
- TriggerEvent( this, "constructor" )
- end on
- on uo_workremind.destroy
- TriggerEvent( this, "destructor" )
- call super::destroy
- end on
|