123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- $PBExportHeader$w_scdef_ch.srw
- forward
- global type w_scdef_ch from w_publ_edit_choice
- end type
- end forward
- global type w_scdef_ch from w_publ_edit_choice
- integer width = 1637
- integer height = 1308
- string title = "分部"
- end type
- global w_scdef_ch w_scdef_ch
- type variables
- uo_usergroup uo_user
- s_scdef s_sc
- end variables
- on w_scdef_ch.create
- call super::create
- end on
- on w_scdef_ch.destroy
- call super::destroy
- end on
- event close;call super::close;
- destroy uo_user
- closewithreturn(this,s_sc)
- end event
- event open;call super::open;uo_user=create uo_usergroup
- s_sc.returnflag = false
- end event
- type cb_func from w_publ_edit_choice`cb_func within w_scdef_ch
- boolean visible = false
- integer x = 1152
- integer width = 165
- boolean enabled = false
- end type
- type cb_exit from w_publ_edit_choice`cb_exit within w_scdef_ch
- integer x = 466
- integer y = 4
- end type
- type cb_add from w_publ_edit_choice`cb_add within w_scdef_ch
- boolean visible = false
- end type
- event cb_add::clicked;String arg_msg = ''
- Long ll_newid,i
- String ls_sccode,ls_ffpsw
- Boolean if_newarea = FALSE
- IF dw_edit_mode THEN
- dw_uc.AcceptText()
- IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
- MessageBox('提示','没有任何修改,不可以保存!', Information!, OK! )
- RETURN
- END IF
- dw_uc.Object.sccode[dw_uc.GetRow()] = Trim(dw_uc.Object.sccode[dw_uc.GetRow()])
-
- ls_sccode = dw_uc.Object.sccode[dw_uc.GetRow()]
-
- IF dw_uc.Object.scid[dw_uc.GetRow()] > 0 THEN
- IF dw_uc.Object.sccode[dw_uc.GetRow()] = '' THEN
- MessageBox('提示','请输分部代号!', Information!, OK! )
- RETURN
- END IF
- IF Len(ls_sccode) > 2 THEN
- MessageBox('',String(Len(ls_sccode)))
- MessageBox('提示','代号不能超过两位!', Information!, OK! )
- RETURN
- END IF
- END IF
-
- IF dw_uc.Object.scid[dw_uc.GetRow()] = -1 THEN
- //参数0表示取得目标本身的ID
- ll_newid = f_sys_scidentity(0,"u_scdef","scid",arg_msg,FALSE,sqlca)
- IF ll_newid < 0 THEN
- MessageBox('提示',arg_msg, Information!, OK! )
- RETURN
- ELSE
- dw_uc.Object.scid[dw_uc.GetRow()] = ll_newid
- if_newarea = TRUE
- END IF
- END IF
- ls_ffpsw = Trim(dw_uc.Object.ffpsw[dw_uc.GetRow()])
- dw_uc.Object.mffpsw[dw_uc.GetRow()] = f_psw_bczh(ls_sccode + ls_ffpsw,0,sys_power_key) //加密
- END IF
- IF dw_edit_mode THEN
- String ls_errmsg
- IF dw_uc.UPDATE() = -1 THEN
- IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
- ls_errmsg = "关键内容重复"
- ELSE
- ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
- END IF
- ROLLBACK;
- MessageBox ('提示',ls_errmsg+",保存操作失败!", Information!, OK! )
- LS_UPDATE_FLAG = FALSE
- RETURN
- ELSE
- FOR i = 1 TO 3
- dw_uc.SetTabOrder ( i, 0 )
- NEXT
- LS_UPDATE_FLAG = TRUE
- END IF
- ins_sqlerrtext = ""
- ELSE
- Long li_row, li_cur_row
- li_cur_row = dw_uc.GetRow()
- li_row = dw_uc.InsertRow (0)
- FOR i = 1 TO 3
- dw_uc.SetTabOrder ( i, i*10 )
- NEXT
-
- dw_uc.SelectRow(0,FALSE)
- dw_uc.ScrollToRow (li_row)
- dw_uc.SelectRow(li_row,TRUE)
- dw_uc.SetFocus()
- modifyrow_no = li_row
- END IF
- dw_edit_mode = NOT dw_edit_mode
- WF_FACE_CHANGE()
- end event
- type cb_edit from w_publ_edit_choice`cb_edit within w_scdef_ch
- boolean visible = false
- end type
- event cb_edit::clicked;String arg_msg = ''
- Long i
- IF dw_edit_mode THEN
- IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
- dw_uc.DeleteRow(dw_uc.GetRow())
- ELSE
- dw_uc.ReselectRow(dw_uc.GetRow())
- END IF
- FOR i = 1 TO 4
- dw_uc.SetTabOrder ( i, 0 )
- NEXT
- modifyrow_no = 0
- ELSE
- modifyrow_no = dw_uc.GetRow()
- IF modifyrow_no > 0 THEN
- IF dw_uc.Object.scid[modifyrow_no] = 0 THEN
- FOR i = 3 TO 4
- dw_uc.SetTabOrder ( i, i*10)
- NEXT
- ELSE
- FOR i = 1 TO 4
- dw_uc.SetTabOrder ( i, i*10)
- NEXT
- END IF
- ELSE
- MessageBox('提示','没有可修改的资料!', Information!, OK! )
- RETURN
- END IF
-
- dw_uc.SetFocus()
- dw_uc.SelectRow(0,FALSE)
- dw_uc.ScrollToRow (modifyrow_no)
- dw_uc.SelectRow(modifyrow_no,TRUE)
-
- END IF
- dw_edit_mode = NOT dw_edit_mode
- WF_FACE_CHANGE()
- end event
- type cb_delet from w_publ_edit_choice`cb_delet within w_scdef_ch
- boolean visible = false
- end type
- event cb_delet::clicked;call super::clicked;string arg_msg=''
- IF MessageBox ('询问',"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
- RETURN
- END IF
- long LS_id
- LONG LS_LONG=0
- string ls_code
- IF DW_UC.GETROW()<=0 THEN
- MESSAGEBOX('提示','没有操作目标记录!', Information!, OK! )
- RETURN
- END IF
- LS_id=DW_UC.OBJECT.scid[DW_UC.GETROW()]
- if dw_UC.object.scid[DW_UC.GETROW()]=0 then
- messagebox('提示','总部记录不可以删除!', Information!, OK! )
- return
- end if
- select COUNT(*) into :LS_LONG from u_bsnno
- where u_bsnno.scid=:LS_id;
- if SQLCA.SQLCode =-1 then
- MessageBox ('提示',"数据查询操作失败!(请重试!)", Information!, OK! )
- return
- end if
- IF LS_LONG>0 THEN
- MessageBox ('提示',"该分部代号已经使用于业务编号表中,不可以删除!", Information!, OK! )
- RETURN
- END IF
- if uo_user.deluser(true,LS_id,0,arg_msg,false)=0 then
- messagebox('提示','删除失败>>'+arg_msg, Information!, OK! )
- return
- end if
- dw_uc.SetRedraw (false)
- dw_UC.DeleteRow (0)
- dw_UC.TriggerEvent (rowfocuschanged!)
- if dw_UC.Update() = -1 then
- rollback;
- MessageBox ('提示',"删除记录操作失败!", Information!, OK! )
- else
- commit;
- end if
- dw_uc.SetRedraw (true)
- end event
- type cb_choice from w_publ_edit_choice`cb_choice within w_scdef_ch
- integer x = 151
- integer y = 4
- integer width = 165
- end type
- event cb_choice::clicked;call super::clicked;Long li_row
- li_row = dw_uc.GetRow()
- if li_row <= 0 then
- messagebox('提示','请选择目标颜色', Information!, OK! )
- return
- end if
- s_sc.scid = dw_uc.object.scid[li_row]
- s_sc.returnflag = true
- close(parent)
- end event
- type dw_uc from w_publ_edit_choice`dw_uc within w_scdef_ch
- integer width = 1614
- integer height = 1036
- string dataobject = "dw_scdef"
- end type
- event dw_uc::doubleclicked;call super::doubleclicked;IF dw_edit_mode THEN RETURN
- cb_choice.TriggerEvent(Clicked!)
- end event
- type cb_rtr from w_publ_edit_choice`cb_rtr within w_scdef_ch
- integer x = 0
- integer y = 4
- end type
- type cb_help from w_publ_edit_choice`cb_help within w_scdef_ch
- integer x = 315
- integer y = 4
- end type
- type ln_bar from w_publ_edit_choice`ln_bar within w_scdef_ch
- end type
- type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_scdef_ch
- end type
- type r_bar from w_publ_edit_choice`r_bar within w_scdef_ch
- integer x = 1381
- end type
|