$PBExportHeader$w_saletaskmx_redate_ljfieb.srw forward global type w_saletaskmx_redate_ljfieb from w_publ_base end type type dw_1 from u_dw_rbtnfilter within w_saletaskmx_redate_ljfieb end type type cb_p_set from uo_imflatbutton within w_saletaskmx_redate_ljfieb end type type cb_ok from uo_imflatbutton within w_saletaskmx_redate_ljfieb end type type mle_1 from multilineedit within w_saletaskmx_redate_ljfieb end type type sle_1 from singlelineedit within w_saletaskmx_redate_ljfieb end type type st_1 from statictext within w_saletaskmx_redate_ljfieb end type type st_2 from statictext within w_saletaskmx_redate_ljfieb end type type ln_bar from line within w_saletaskmx_redate_ljfieb end type type ln_bar2 from line within w_saletaskmx_redate_ljfieb end type type r_bar from rectangle within w_saletaskmx_redate_ljfieb end type end forward global type w_saletaskmx_redate_ljfieb from w_publ_base integer width = 3611 integer height = 2380 string title = "销售订单交期确认" boolean minbox = false windowtype windowtype = response! event ue_p_ch ( ) event ue_p_not_ch ( ) event ue_p_rqdate ( ) event ue_p_reason ( ) dw_1 dw_1 cb_p_set cb_p_set cb_ok cb_ok mle_1 mle_1 sle_1 sle_1 st_1 st_1 st_2 st_2 ln_bar ln_bar ln_bar2 ln_bar2 r_bar r_bar end type global w_saletaskmx_redate_ljfieb w_saletaskmx_redate_ljfieb type variables long ins_scid,ins_taskid uo_ljfieb uo_fieb end variables event ue_p_ch();long ll_i dw_1.setredraw(false) for ll_i = 1 to dw_1.rowcount() dw_1.object.ch[ll_i] = 1 next dw_1.setredraw(true) end event event ue_p_not_ch();long ll_i dw_1.setredraw(false) for ll_i = 1 to dw_1.rowcount() dw_1.object.ch[ll_i] = 0 next dw_1.setredraw(true) end event event ue_p_rqdate();long ll_i if messagebox('询问','是否确定按首行批设置交货日期?',question!,yesno!) = 2 then return dw_1.setredraw(false) for ll_i = 1 to dw_1.rowcount() if ll_i = 1 then continue dw_1.object.requiredate[ll_i] = dw_1.object.requiredate[1] next dw_1.setredraw(true) end event event ue_p_reason();long ll_i if messagebox('询问','是否确定按首行批设置改期原因?',question!,yesno!) = 2 then return dw_1.setredraw(false) for ll_i = 1 to dw_1.rowcount() if ll_i = 1 then continue dw_1.object.delayreason[ll_i] = dw_1.object.delayreason[1] next dw_1.setredraw(true) end event on w_saletaskmx_redate_ljfieb.create int iCurrent call super::create this.dw_1=create dw_1 this.cb_p_set=create cb_p_set this.cb_ok=create cb_ok this.mle_1=create mle_1 this.sle_1=create sle_1 this.st_1=create st_1 this.st_2=create st_2 this.ln_bar=create ln_bar this.ln_bar2=create ln_bar2 this.r_bar=create r_bar iCurrent=UpperBound(this.Control) this.Control[iCurrent+1]=this.dw_1 this.Control[iCurrent+2]=this.cb_p_set this.Control[iCurrent+3]=this.cb_ok this.Control[iCurrent+4]=this.mle_1 this.Control[iCurrent+5]=this.sle_1 this.Control[iCurrent+6]=this.st_1 this.Control[iCurrent+7]=this.st_2 this.Control[iCurrent+8]=this.ln_bar this.Control[iCurrent+9]=this.ln_bar2 this.Control[iCurrent+10]=this.r_bar end on on w_saletaskmx_redate_ljfieb.destroy call super::destroy destroy(this.dw_1) destroy(this.cb_p_set) destroy(this.cb_ok) destroy(this.mle_1) destroy(this.sle_1) destroy(this.st_1) destroy(this.st_2) destroy(this.ln_bar) destroy(this.ln_bar2) destroy(this.r_bar) end on event open;call super::open;uo_fieb = create uo_ljfieb uo_fieb.commit_transaction = sys_email_sqlca s_edit_index_tran s_tran s_tran = message.powerobjectparm ins_scid = s_tran.b_long ins_taskid = s_tran.c_long dw_1.settransobject(sqlca) dw_1.retrieve(ins_scid,ins_taskid) end event event close;call super::close;destroy uo_fieb end event event resize;call super::resize;ln_bar.endx = this.width ln_bar2.endx = this.width r_bar.width = this.width end event type cb_func from w_publ_base`cb_func within w_saletaskmx_redate_ljfieb boolean visible = false end type type cb_exit from w_publ_base`cb_exit within w_saletaskmx_redate_ljfieb integer x = 462 integer width = 178 integer height = 164 integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type type dw_1 from u_dw_rbtnfilter within w_saletaskmx_redate_ljfieb integer x = 9 integer y = 180 integer width = 3579 integer height = 1260 integer taborder = 20 boolean bringtotop = true string dataobject = "dw_saletaskmx_redate_ljfieb" boolean hscrollbar = true boolean vscrollbar = true boolean hsplitscroll = true end type event rowfocuschanged;call super::rowfocuschanged; IF currentrow <= 0 THEN RETURN THIS.SelectRow(0,FALSE) THIS.SelectRow(currentrow,TRUE) this.setrow(currentrow) end event event rbuttondown;call super::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 type cb_p_set from uo_imflatbutton within w_saletaskmx_redate_ljfieb integer x = 5 integer width = 219 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "批设置" string normalpicname = "update2.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu String menustr menustr = "Text=批设置发送~tEvent=ue_p_ch" menustr = menustr + "|" + "Text=批设置不发送~tEvent=ue_p_not_ch" menustr = menustr + "|" + "Text=-" menustr = menustr + "|" + "Text=批设定交货日期~tEvent=ue_p_rqdate" menustr = menustr + "|" + "Text=批设定改期原因~tEvent=ue_p_reason" IF Len(Trim(menustr)) <> 0 THEN dmPopupMenu = Create m_Dfc_Control_PopupMenu dmPopupMenu.mf_BuildMenu(This, menustr) dmPopupMenu.mf_PopMenu() Destroy dmPopupMenu END IF end event type cb_ok from uo_imflatbutton within w_saletaskmx_redate_ljfieb integer x = 229 integer width = 219 integer height = 164 integer taborder = 30 boolean bringtotop = true string text = "提交" string normalpicname = "ok.BMP" integer picsize = 16 toolbaralignment pic_align = alignattop! boolean border = false end type event clicked;call super::clicked;IF MessageBox('询问','确定要修改交货日期并通知客户吗?',question!,yesno!) = 2 THEN RETURN dw_1.AcceptText() String ls_fiebrelcode Long ll_cusid Long ll_i,ll_mxbt = 0 String ls_Summary,ls_Postscript,ls_Remark String arg_msg DateTime ldt_requiredate Long ll_printid string ls_taskcode s_buytaskmx_feedback_ljfieb arg_s_mx[] FOR ll_i = 1 To dw_1.RowCount() IF dw_1.Object.ch[ll_i] = 1 THEN ll_mxbt++ arg_s_mx[ll_mxbt].printid = dw_1.Object.u_saletaskmx_printid[ll_i] arg_s_mx[ll_mxbt].spt_Requiredate = dw_1.Object.requiredate[ll_i] arg_s_mx[ll_mxbt].sptmtrlcode = dw_1.Object.u_mtrldef_mtrlcode[ll_i] arg_s_mx[ll_mxbt].sptmtrlname = dw_1.Object.mtrlname[ll_i] arg_s_mx[ll_mxbt].sptmtrlmode = dw_1.Object.u_mtrldef_mtrlmode[ll_i] arg_s_mx[ll_mxbt].delayreason = dw_1.Object.delayreason[ll_i] arg_s_mx[ll_mxbt].spt_uqty = dw_1.Object.saleqty[ll_i] arg_s_mx[ll_mxbt].unit = dw_1.Object.u_mtrldef_unit[ll_i] arg_s_mx[ll_mxbt].status = dw_1.Object.u_saletaskmx_status[ll_i] arg_s_mx[ll_mxbt].woodcode = dw_1.Object.u_saletaskmx_woodcode[ll_i] arg_s_mx[ll_mxbt].pcode = dw_1.Object.u_saletaskmx_pcode[ll_i] ls_Summary = ls_Summary + Trim(arg_s_mx[ll_mxbt].sptmtrlcode) + ' 交期调整为:'+String(arg_s_mx[ll_mxbt].spt_Requiredate,'yyyy-mm-dd') + ',' END IF NEXT IF lena(ls_Summary) > 500 THEN ls_Summary = LeftA(ls_Summary,490) + '......' IF ll_mxbt = 0 THEN MessageBox('系统提示','请选择要发送的明细行') RETURN END IF SELECT fiebrelcode,cusid,taskcode INTO :ls_fiebrelcode,:ll_cusid,:ls_taskcode FROM u_saletask WHERE scid = :ins_scid And taskid = :ins_taskid ; IF sqlca.SQLCode <> 0 THEN MessageBox('Error','查询销售订单信息失败,'+sqlca.SQLErrText) RETURN END IF ls_Postscript = mle_1.Text ls_Remark = sle_1.Text FOR ll_i = 1 To dw_1.RowCount() ldt_requiredate = dw_1.Object.requiredate[ll_i] ll_printid = dw_1.Object.u_saletaskmx_printid[ll_i] UPDATE u_saletaskmx SET requiredate = :ldt_requiredate WHERE scid = :ins_scid AND taskid = :ins_taskid And printid = :ll_printid Using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','第'+String(ll_i)+'行,更新交货日期失败 '+sqlca.SQLErrText) RETURN END IF NEXT DateTime ld_requestdate_max SELECT max(requiredate) INTO :ld_requestdate_max FROM u_SaleTaskMx WHERE taskid = :ins_taskid AND scid = :ins_scid using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','查询明细最迟交货日期失败,'+sqlca.SQLErrText) RETURN END IF UPDATE u_SaleTask SET requiredate = :ld_requestdate_max WHERE taskid = :ins_taskid AND scid = :ins_scid using sqlca; IF sqlca.SQLCode <> 0 THEN ROLLBACK; MessageBox('Error','更新主表交货日期失败,'+sqlca.SQLErrText) RETURN END IF COMMIT Using sqlca; f_setsysoplog('销售订单','销售订单变更交货日期,ID:'+String(ins_taskid)+',code:'+ls_taskcode+'(通过电子商务交期确认功能)',arg_msg,TRUE) IF uo_fieb.feedback_rqdate(arg_s_mx,ll_cusid,ls_fiebrelcode,ls_Summary,ls_Postscript,ls_Remark,arg_msg,True) = 0 THEN MessageBox('Error',arg_msg ) RETURN END IF MessageBox('系统提示','提交成功!') Close(Parent) end event type mle_1 from multilineedit within w_saletaskmx_redate_ljfieb integer x = 27 integer y = 1500 integer width = 3538 integer height = 544 integer taborder = 30 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 boolean vscrollbar = true boolean autovscroll = true end type type sle_1 from singlelineedit within w_saletaskmx_redate_ljfieb integer x = 219 integer y = 2060 integer width = 3374 integer height = 84 integer taborder = 40 boolean bringtotop = true integer textsize = -9 integer weight = 400 fontcharset fontcharset = gb2312charset! fontpitch fontpitch = variable! string facename = "宋体" long textcolor = 33554432 end type type st_1 from statictext within w_saletaskmx_redate_ljfieb integer x = 32 integer y = 1444 integer width = 155 integer height = 48 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 = "附言" boolean focusrectangle = false end type type st_2 from statictext within w_saletaskmx_redate_ljfieb integer x = 46 integer y = 2076 integer width = 160 integer height = 48 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 = "备注" boolean focusrectangle = false end type type ln_bar from line within w_saletaskmx_redate_ljfieb long linecolor = 268435456 integer linethickness = 4 integer beginy = 172 integer endx = 3200 integer endy = 172 end type type ln_bar2 from line within w_saletaskmx_redate_ljfieb long linecolor = 16777215 integer linethickness = 4 integer beginx = 9 integer beginy = 176 integer endx = 3273 integer endy = 176 end type type r_bar from rectangle within w_saletaskmx_redate_ljfieb long linecolor = 16777215 integer linethickness = 4 long fillcolor = 1073741824 integer x = 3351 integer width = 87 integer height = 68 end type event constructor;this.fillcolor = 14215660 this.linecolor = 14215660 this.x = -1 this.y = -1 this.height = ln_bar.beginy - 5 end event