$PBExportHeader$w_order_ml_pro_mod.srw forward global type w_order_ml_pro_mod from w_publ_base end type type dw_1 from u_dw_rbtnfilter within w_order_ml_pro_mod end type type cb_1 from uo_imflatbutton within w_order_ml_pro_mod end type type cb_2 from uo_imflatbutton within w_order_ml_pro_mod end type type cb_3 from uo_imflatbutton within w_order_ml_pro_mod end type type cb_4 from uo_imflatbutton within w_order_ml_pro_mod end type type cbx_ch from checkbox within w_order_ml_pro_mod end type end forward global type w_order_ml_pro_mod from w_publ_base integer width = 3611 integer height = 2380 string title = "计划工序修改" boolean minbox = false windowtype windowtype = response! dw_1 dw_1 cb_1 cb_1 cb_2 cb_2 cb_3 cb_3 cb_4 cb_4 cbx_ch cbx_ch end type global w_order_ml_pro_mod w_order_ml_pro_mod type variables s_saletaskmx s_order_open String ins_sqlerrtext long ins_mtrlid string ins_status end variables on w_order_ml_pro_mod.create int iCurrent call super::create this.dw_1=create dw_1 this.cb_1=create cb_1 this.cb_2=create cb_2 this.cb_3=create cb_3 this.cb_4=create cb_4 this.cbx_ch=create cbx_ch iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.cb_1 this.Control[iCurrent+3]=this.cb_2 this.Control[iCurrent+4]=this.cb_3 this.Control[iCurrent+5]=this.cb_4 this.Control[iCurrent+6]=this.cbx_ch end on on w_order_ml_pro_mod.destroy call super::destroy destroy(this.dw_1) destroy(this.cb_1) destroy(this.cb_2) destroy(this.cb_3) destroy(this.cb_4) destroy(this.cbx_ch) end on event open;call super::open; s_order_open = Message.PowerObjectParm ins_mtrlid = s_order_open.mtrlid dw_1.SetTransObject(sqlca) dw_1.Retrieve(s_order_open.scid,s_order_open.taskid,s_order_open.printid) end event type cb_func from w_publ_base`cb_func within w_order_ml_pro_mod boolean visible = false integer y = 1404 boolean enabled = false end type type cb_exit from w_publ_base`cb_exit within w_order_ml_pro_mod integer x = 2373 integer y = 2108 integer width = 302 string text = "取消" integer picsize = 16 end type type dw_1 from u_dw_rbtnfilter within w_order_ml_pro_mod integer width = 3543 integer height = 2076 boolean bringtotop = true string title = "none" string dataobject = "dw_order_ml_pro_mod" boolean hscrollbar = true boolean vscrollbar = true end type event dberror;ins_sqlerrtext = SQLErrText RETURN 1 end event event rbuttondown;Long ll_row,ll_column ll_row = THIS.GetRow() ll_column = THIS.GetColumn() IF ll_row <= 0 THEN RETURN IF ll_column <= 0 THEN RETURN IF Left( THIS.Describe( dwo.Name+ ".coltype"),4) = 'date' THEN s_calender_arg s_calender s_calender.PointerX = THIS.PointerX() s_calender.PointerY = THIS.PointerY() s_calender.X = THIS.X + PARENT.X s_calender.Y = THIS.Y + PARENT.Y OpenWithParm(w_calendar,s_calender) THIS.SetItem(ll_row,ll_column,id_date_selected) END IF end event event rowfocuschanged;call super::rowfocuschanged;IF currentrow > 0 THEN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) END IF end event event clicked;call super::clicked;IF row > 0 THEN THIS.SelectRow(0,FALSE) THIS.SelectRow(row,TRUE) END IF end event event doubleclicked;call super::doubleclicked;Long uc_row,ll_mtrlid,child_row string ls_status child_row = dw_1.getrow() if child_row <= 0 then MessageBox('系统提示','请选择目标行') RETURN END IF dw_1.AcceptText() //IF NOT IsValid(w_configure_ch_zj) THEN // s_edit_index_tran s_ch_tran // s_ch_tran.c_long = ins_mtrlid // // OpenWithParm(w_configure_ch_zj,s_ch_tran) //调用 // // ls_status = Message.StringParm //接受返回结构 // dw_1.SetRedraw(FALSE) // IF len(trim(ls_status)) > 0 THEN // if ls_status = '[清空配置]' then ls_status = '' // dw_1.Object.u_orderrqwp_status[child_row] = ls_status // dw_1.SetFocus() // dw_1.SetColumn('u_orderrqwp_workprice') // END IF // dw_1.SetRedraw(TRUE) //END IF end event type cb_1 from uo_imflatbutton within w_order_ml_pro_mod integer x = 1998 integer y = 2108 integer height = 96 integer taborder = 20 boolean bringtotop = true string text = "保存" string normalpicname = "save.bmp" integer picsize = 16 end type event clicked;call super::clicked;dw_1.AcceptText() String ls_errmsg Long ll_i Long ll_statusflag String ls_status_zj Boolean lb_iffind = FALSE Long ll_j FOR ll_i = 1 TO dw_1.RowCount() IF Trim(dw_1.Object.u_orderrqwp_procode[ll_i]) = '' THEN MessageBox('提示','行:'+String(ll_i)+',请输入工序号') RETURN END IF IF Trim(dw_1.Object.u_orderrqwp_proname[ll_i]) = '' THEN MessageBox('提示','行:'+String(ll_i)+',请输入工序名称') RETURN END IF IF dw_1.Object.u_orderrqwp_proqty[ll_i] <= 0 THEN MessageBox('提示','行:'+String(ll_i)+',请输入工序数量') RETURN END IF IF sys_option_taskwork_price_limit = 1 THEN IF dw_1.Object.u_orderrqwp_ifjd[ll_i] = 1 and dw_1.Object.u_orderrqwp_workprice[ll_i] <= 0 THEN MessageBox('提示','行:'+String(ll_i)+',请输入工序工价') RETURN END IF END IF NEXT IF dw_1.Update() = -1 THEN IF Pos(ins_sqlerrtext,"cannot insert duplicate key row") > 0 OR Pos(ins_sqlerrtext,"unique key") > 0 THEN ls_errmsg = "关键内容重复" ELSE ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext END IF ROLLBACK; MessageBox ("系统提示",ls_errmsg+",保存操作失败!",exclamation!,ok!) RETURN ELSE COMMIT; MessageBox ("系统提示","保存操作成功!",exclamation!,ok!) Close(PARENT) END IF end event type cb_2 from uo_imflatbutton within w_order_ml_pro_mod integer x = 1248 integer y = 2108 integer height = 96 integer taborder = 20 boolean bringtotop = true string text = "增工序" string normalpicname = "mx.bmp" integer picsize = 16 end type event clicked;call super::clicked;Long ll_row,ls_j dw_1.AcceptText() ll_row = dw_1.GetRow() s_edit_index_tran s_ch_tran s_ch_tran.if_retrieve_all = TRUE s_ch_tran.work_mode = 1 s_ch_tran.arg_pkid = 0 s_ch_tran.b_long = 0 s_ch_tran.if_select_all = TRUE IF ll_row > 0 THEN s_ch_tran.arg_string_code = dw_1.Object.u_orderrqwp_procode[ll_row] IF NOT IsValid(w_sc_workprocedure_response) THEN OpenWithParm(w_sc_workprocedure_response,s_ch_tran) //调用 s_workprocedure S_INSCUST S_INSCUST = Message.PowerObjectParm //接受返回结构 FOR ls_j = 1 TO UpperBound(S_INSCUST.wrkproid) IF S_INSCUST.wrkproid[ls_j] > 0 THEN //正常返回值则可以取以下值 IF dw_1.Find("u_orderrqwp_procode='"+S_INSCUST.wrkprocode[ls_j]+"'",1,dw_1.RowCount()) = 0 THEN IF dw_1.GetRow() <= 0 THEN ll_row = dw_1.InsertRow (0) ELSE IF Trim(dw_1.Object.u_orderrqwp_procode[dw_1.GetRow()]) = '' THEN ll_row = dw_1.GetRow() ELSE ll_row = dw_1.InsertRow (0) END IF END IF dw_1.Object.u_orderrqwp_procode[ll_row] = S_INSCUST.wrkprocode[ls_j] dw_1.Object.u_orderrqwp_proname[ll_row] = S_INSCUST.wrkproname[ls_j] dw_1.Object.u_orderrqwp_workprice[ll_row] = S_INSCUST.workprice[ls_j] dw_1.Object.u_orderrqwp_scid[ll_row] = s_order_open.scid dw_1.Object.u_orderrqwp_taskid[ll_row] = s_order_open.taskid dw_1.Object.u_orderrqwp_printid[ll_row] = s_order_open.printid dw_1.Object.u_orderrqwp_mtrlid[ll_row] = s_order_open.mtrlid dw_1.Object.u_orderrqwp_wrkgrpid[ll_row] = S_INSCUST.wrkGrid[ls_j] END IF END IF NEXT END IF end event type cb_3 from uo_imflatbutton within w_order_ml_pro_mod integer x = 1623 integer y = 2108 integer height = 96 integer taborder = 30 boolean bringtotop = true string text = "删工序" string normalpicname = "delete.bmp" integer picsize = 16 end type event clicked;call super::clicked;Long ll_row Decimal ld_finishqty String ls_proname Long ll_i,cnt = 0 dw_1.AcceptText() FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN cnt++ END IF NEXT IF cnt = 0 THEN ll_row = dw_1.GetRow() IF ll_row <= 0 THEN MessageBox('提示','请选择要删除的工序') RETURN END IF ld_finishqty = dw_1.Object.u_orderrqwp_finishqty[ll_row] ls_proname = dw_1.Object.u_orderrqwp_proname[ll_row] IF ld_finishqty > 0 THEN MessageBox('提示','已有完成数,不能删除') RETURN END IF IF MessageBox ("询问","是否确定要删除当前工序吗",Question!,YesNo! ) = 2 THEN RETURN dw_1.DeleteRow(ll_row) ELSE IF MessageBox ("询问","是否确定要删除当前选定的工序吗",Question!,YesNo! ) = 2 THEN RETURN FOR ll_i = 1 TO dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ld_finishqty = dw_1.Object.u_orderrqwp_finishqty[ll_i] ls_proname = dw_1.Object.u_orderrqwp_proname[ll_i] IF ld_finishqty > 0 THEN MessageBox('提示','第'+String(ll_i)+'行,已有完成数,不能删除') dw_1.SelectRow(0,FALSE) dw_1.SelectRow(ll_i,TRUE) dw_1.SetRow(ll_i) RETURN END IF dw_1.DeleteRow(ll_i) ll_i = 0 END IF NEXT END IF end event type cb_4 from uo_imflatbutton within w_order_ml_pro_mod integer x = 873 integer y = 2108 integer height = 96 integer taborder = 20 boolean bringtotop = true string text = "增行" string normalpicname = "mx1.bmp" integer picsize = 16 end type event clicked;call super::clicked;dw_1.InsertRow(0) end event type cbx_ch from checkbox within w_order_ml_pro_mod integer x = 50 integer y = 2128 integer width = 233 integer height = 60 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 long backcolor = 134217739 string text = "全选" end type event clicked;long ll_i dw_1.setredraw(false) if this.checked then for ll_i = 1 to dw_1.rowcount() dw_1.object.ch[ll_i] = 1 next else for ll_i = 1 to dw_1.rowcount() dw_1.object.ch[ll_i] = 0 next end if dw_1.setredraw(true) end event