123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609 |
- $PBExportHeader$w_cmp_balc.srw
- forward
- global type w_cmp_balc from w_publ_base
- end type
- type mle_log from multilineedit within w_cmp_balc
- end type
- type cb_1 from uo_imflatbutton within w_cmp_balc
- end type
- type cbx_1 from checkbox within w_cmp_balc
- end type
- type ddlb_storageid from uo_ddlb_storageid within w_cmp_balc
- end type
- type st_2 from statictext within w_cmp_balc
- end type
- type em_month from editmask within w_cmp_balc
- end type
- type gb_1 from groupbox within w_cmp_balc
- end type
- end forward
- global type w_cmp_balc from w_publ_base
- integer width = 3200
- integer height = 2000
- string title = "结存重算"
- boolean maxbox = true
- windowstate windowstate = maximized!
- mle_log mle_log
- cb_1 cb_1
- cbx_1 cbx_1
- ddlb_storageid ddlb_storageid
- st_2 st_2
- em_month em_month
- gb_1 gb_1
- end type
- global w_cmp_balc w_cmp_balc
- type variables
- Long cur_storageid = -1
- end variables
- on w_cmp_balc.create
- int iCurrent
- call super::create
- this.mle_log=create mle_log
- this.cb_1=create cb_1
- this.cbx_1=create cbx_1
- this.ddlb_storageid=create ddlb_storageid
- this.st_2=create st_2
- this.em_month=create em_month
- this.gb_1=create gb_1
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.mle_log
- this.Control[iCurrent+2]=this.cb_1
- this.Control[iCurrent+3]=this.cbx_1
- this.Control[iCurrent+4]=this.ddlb_storageid
- this.Control[iCurrent+5]=this.st_2
- this.Control[iCurrent+6]=this.em_month
- this.Control[iCurrent+7]=this.gb_1
- end on
- on w_cmp_balc.destroy
- call super::destroy
- destroy(this.mle_log)
- destroy(this.cb_1)
- destroy(this.cbx_1)
- destroy(this.ddlb_storageid)
- destroy(this.st_2)
- destroy(this.em_month)
- destroy(this.gb_1)
- end on
- event resize;call super::resize;mle_log.Width = THIS.Width - 30
- mle_log.Height = THIS.Height - mle_log.Y - 30
- end event
- type cb_func from w_publ_base`cb_func within w_cmp_balc
- integer x = 46
- integer y = 1272
- end type
- type cb_exit from w_publ_base`cb_exit within w_cmp_balc
- integer x = 2226
- integer y = 44
- end type
- type mle_log from multilineedit within w_cmp_balc
- integer y = 160
- integer width = 3136
- integer height = 1712
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean vscrollbar = true
- boolean displayonly = true
- borderstyle borderstyle = stylelowered!
- end type
- type cb_1 from uo_imflatbutton within w_cmp_balc
- integer x = 1929
- integer y = 44
- integer height = 96
- integer taborder = 10
- boolean bringtotop = true
- string text = "计算"
- end type
- event clicked;call super::clicked;//IF cur_storageid <= 0 THEN
- // MessageBox(publ_operator,'请选择仓库')
- // RETURN
- //END IF
- //
- //DateTime ld_balcdate
- //Long ls_i
- //Long ll_rowcount
- //
- //Long rslt = 1
- //String arg_log,arg_msg
- //String char_enter
- //
- //char_enter = Char(13)+Char(10) //换行符
- //ld_balcdate = DateTime(Date(em_month.Text),Time('23:59:59'))
- //
- //IF uf_warebalc_check_inoutflag(cur_storageid,ld_balcdate,arg_msg) = 0 THEN
- // MessageBox(publ_operator,arg_msg)
- // RETURN
- //END IF
- //
- //datastore ds
- //
- //ds = CREATE datastore
- //ds.DataObject = 'dw_warebalc_view'
- //ds.SetTransObject(sqlca)
- //ds.Retrieve(cur_storageid)
- //
- //ll_rowcount = ds.RowCount()
- //IF ll_rowcount <= 0 THEN
- // rslt = 0
- // arg_log = '没有结存数据'
- // GOTO ext
- //END IF
- //
- //Open(w_sys_wait_jdt) //初始化进度条
- //w_sys_wait_jdt.Show()
- //w_sys_wait_jdt.wf_accepttol(ll_rowcount)
- //
- //Long cnt
- //Long ll_mtrlid
- //Long ll_mtrlorigin
- //String ls_mtrlcode,ls_mtrlname,ls_status
- //
- //Dec ld_incamt,ld_incqty
- //Dec ld_planprice,ld_newprice
- //
- //
- //Dec ls_balcamt,ls_bgamt,ls_outwareprice
- //Dec ls_decqty,ls_wareamt,ls_desamt
- //Dec ls_temp_cost,ls_temp_jgprice
- //Long ll_temp_scid,ll_temp_inwareid,ll_temp_printid
- //
- ////循环列表计算
- //FOR ls_i = 1 TO ll_rowcount
- // ls_mtrlcode = ds.Object.u_mtrldef_mtrlcode[ls_i]
- // ls_mtrlname = ds.Object.u_mtrldef_mtrlname[ls_i]
- //
- // w_sys_wait_jdt.st_msg.Text = ls_mtrlcode+'/'+ ls_mtrlname + " 正在处理..." //进度信息
- //
- // ll_mtrlid = ds.Object.u_mtrldef_mtrlid[ls_i]
- // ls_balcamt = ds.Object.u_mtrldef_balcamt[ls_i]
- // ls_bgamt = ds.Object.u_mtrldef_bgamt[ls_i]
- // ls_status = ds.Object.u_warebalc_status[ls_i]
- // ls_decqty = ds.Object.u_mtrldef_desqty[ls_i]
- // ld_incqty = ds.Object.u_mtrldef_incqty[ls_i]
- //
- // //查物料来源
- // SELECT mtrlorigin
- // INTO :ll_mtrlorigin
- // FROM u_mtrldef
- // Where mtrlid = :ll_mtrlid;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询物料来源失败'+char_enter
- // CONTINUE
- // END IF
- //
- //
- // CHOOSE CASE ll_mtrlorigin
- // CASE 0,5
- // cnt = 0
- // SELECT count(*) INTO :cnt
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // and u_inware.billtype <> 1
- // and u_inware.billtype <> 4
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询0进价单据失败'
- // CONTINUE
- // END IF
- //
- // IF cnt = 0 THEN
- // SELECT planprice
- // INTO :ld_planprice
- // FROM u_mtrldef
- // Where mtrlid = :ll_mtrlid;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询计划价失败'+char_enter
- // CONTINUE
- // END IF
- //
- // IF ld_planprice = 0 THEN
- // arg_log = ls_mtrlcode+'计划价为0'+char_enter
- // CONTINUE
- // END IF
- //
- // UPDATE u_inwaremx
- // SET u_inwaremx.fprice = :ld_planprice,
- // u_inwaremx.uprice = :ld_planprice,
- // u_inwaremx.cost = :ld_planprice * u_inwaremx.rebate,
- // u_inwaremx.price = :ld_planprice * u_inwaremx.rebate
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // and u_inware.billtype <> 1
- // and u_inware.billtype <> 4
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'更新0进价单据失败'
- // CONTINUE
- // END IF
- // END IF
- //
- // CASE 2
- // cnt = 0
- // SELECT count(*) INTO :cnt
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // and u_inware.billtype <> 1
- // and u_inware.billtype <> 4
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询0进价单据失败'
- // CONTINUE
- // END IF
- //
- // IF cnt = 0 THEN
- // SELECT price
- // INTO :ld_newprice
- // FROM v_maxprice_sptprice
- // Where mtrlid = :ll_mtrlid USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询最新价失败'+char_enter
- // CONTINUE
- // END IF
- //
- // IF ld_newprice = 0 THEN
- // arg_log = ls_mtrlcode+'最新价为0'+char_enter
- // CONTINUE
- // END IF
- //
- // UPDATE u_inwaremx
- // SET u_inwaremx.fprice = :ld_newprice,
- // u_inwaremx.uprice = :ld_newprice,
- // u_inwaremx.cost = :ld_newprice * u_inwaremx.rebate,
- // u_inwaremx.price = :ld_newprice * u_inwaremx.rebate
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'更新0进价单据失败'
- // CONTINUE
- // END IF
- // END IF
- //
- // CASE 3
- // cnt = 0
- // SELECT count(*) INTO :cnt
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // and u_inware.billtype <> 1
- // and u_inware.billtype <> 4
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询0进价单据失败'
- // CONTINUE
- // END IF
- //
- // IF cnt = 0 THEN
- // SELECT price
- // INTO :ld_newprice
- // FROM v_maxprice_sptprice
- // Where mtrlid = :ll_mtrlid USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'查询最新价失败'+char_enter
- // CONTINUE
- // END IF
- //
- // IF ld_newprice = 0 THEN
- // arg_log = ls_mtrlcode+'最新价为0'+char_enter
- // CONTINUE
- // END IF
- //
- // UPDATE u_inwaremx
- // SET u_inwaremx.fprice = :ld_newprice,
- // u_inwaremx.uprice = :ld_newprice,
- // u_inwaremx.cost = :ld_newprice * u_inwaremx.rebate,
- // u_inwaremx.price = :ld_newprice * u_inwaremx.rebate
- // FROM u_inwaremx,u_inware
- // WHERE u_inwaremx.scid = u_inware.scid
- // AND u_inwaremx.inwareid = u_inware.inwareid
- // AND u_inware.storageid = :cur_storageid
- // AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1
- // AND u_inware.balcdateint = 0
- // AND u_inwaremx.fprice = 0
- // AND u_inwaremx.mtrlid = :ll_mtrlid
- // AND u_inwaremx.status = :ls_status;
- // IF sqlca.SQLCode <> 0 THEN
- // arg_log = ls_mtrlcode+'更新0进价单据失败'
- // CONTINUE
- // END IF
- // END IF
- //
- //
- // //
- // SELECT planprice
- // INTO :ld_planprice
- // FROM u_mtrldef
- // Where mtrlid = :ll_mtrlid USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // MessageBox('error_9','查询操作失败,产品计划价:'+sqlca.SQLErrText)
- // GOTO ext
- // END IF
- // IF ld_planprice = 0 THEN
- // MessageBox('error_10','发现0计划价,在物料'+ls_mtrlcode+'['+ls_mtrlname+'],颜色:'+ls_status)
- // CONTINUE
- // END IF
- //
- // ///查询0加工价
- // DECLARE find_0_price_2 CURSOR FOR
- // SELECT u_inwaremx.jgprice,u_inwaremx.scid,u_inwaremx.inwareid,u_inwaremx.printid
- // FROM u_inware INNER JOIN
- // u_inwaremx ON u_inware.scid = u_inwaremx.scid AND
- // u_inware.inwareid = u_inwaremx.inwareid
- // WHERE u_inware.storageid = :cur_storageid AND u_inware.indate >= :st_date AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1 AND u_inwaremx.mtrlid = :ll_mtrlid AND u_inwaremx.status = :ls_status USING sqlca;
- //
- // OPEN find_0_price_2;
- //
- // FETCH find_0_price_2 INTO :ls_temp_jgprice,:ll_temp_scid,:ll_temp_inwareid,:ll_temp_printid;
- //
- // DO WHILE sqlca.SQLCode = 0
- //
- // IF ls_temp_jgprice = 0 THEN //0进价
- //
- // MessageBox('error_11','发现0加工价,在物料'+ls_mtrlcode+'['+ls_mtrlname+'],颜色:'+ls_status)
- //
- // END IF
- //
- // UPDATE u_inwaremx
- // SET cost = :ld_planprice+:ls_temp_jgprice
- // FROM u_inwaremx
- // WHERE u_inwaremx.scid = :ll_temp_scid AND
- // u_inwaremx.inwareid = :ll_temp_inwareid AND
- // u_inwaremx.printid = :ll_temp_printid USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // MessageBox('error_12','更新操作失败,计划价+加工价--》进仓价:'+sqlca.SQLErrText)
- // GOTO ext
- // END IF
- //
- // FETCH find_0_price_2 INTO :ls_temp_jgprice,:ll_temp_scid,:ll_temp_inwareid,:ll_temp_printid;
- //
- // LOOP
- //
- // CLOSE find_0_price_2;
- //
- //
- // END CHOOSE
- //
- // //查询期间进金额
- // SELECT SUM(u_inwaremx.cost * u_inwaremx.qty) AS sumamt
- // INTO :ld_incamt
- // FROM u_inware INNER JOIN
- // u_inwaremx ON u_inware.scid = u_inwaremx.scid AND
- // u_inware.inwareid = u_inwaremx.inwareid
- // WHERE u_inware.storageid = :cur_storageid AND u_inware.indate >= :st_date AND u_inware.indate <= :ld_balcdate
- // AND u_inware.flag = 1 AND u_inwaremx.mtrlid = :ll_mtrlid AND u_inwaremx.status = :ls_status USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // MessageBox('error_13','查询操作失败,进仓金额:'+sqlca.SQLErrText)
- // GOTO ext
- //
- // END IF
- // // if ld_incamt = 0 then
- // // messagebox('','发现0进价,在物料'+ls_mtrlcode+'['+ls_mtrlname+'],颜色:'+ls_status)
- // // continue
- // // end if
- //
- // //查询库存结余金额
- // ls_wareamt = 0
- // SELECT sum(wareamt)
- // INTO :ls_wareamt
- // FROM u_mtrlware
- // Where storageid = :cur_storageid AND mtrlid = :ll_mtrlid AND status = :ls_status USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // MessageBox('error_14','查询操作失败,库存结余金额:'+sqlca.SQLErrText)
- // GOTO ext
- // END IF
- //
- // //计算出仓价
- // IF ls_decqty <> 0 THEN //期间有出仓
- //
- // ls_outwareprice = (ls_bgamt + ld_incamt - ls_wareamt)/ls_decqty
- //
- // //更新出仓价
- // UPDATE u_outwaremx
- // SET cost = :ls_outwareprice,costamt = :ls_outwareprice*u_outwaremx.qty
- // FROM u_outwaremx,u_outware
- // WHERE u_outwaremx.scid = u_outware.scid AND
- // u_outwaremx.outwareid = u_outware.outwareid AND
- // u_outware.storageid = :cur_storageid AND
- // u_outware.outdate <= :ld_balcdate AND
- // u_outware.balcint = 0 AND
- // u_outware.flag = 1 AND
- // u_outwaremx.mtrlid = :ll_mtrlid AND
- // u_outwaremx.status = :ls_status USING sqlca;
- //
- // ELSE //期间无出仓
- // ls_outwareprice = 0
- // END IF
- //
- // //更新结存表
- // ls_desamt = Round(ls_decqty*ls_outwareprice,2)
- // IF IsNull(ls_desamt) THEN ls_desamt = 0
- // IF IsNull(ld_incamt) THEN ld_incamt = 0
- // UPDATE u_warebalc
- // SET incamt = :ld_incamt,desamt = :ls_desamt,balcamt = :ls_wareamt
- // WHERE storageid = :cur_storageid AND
- // mtrlid = :ll_mtrlid AND
- // status = :ls_status AND
- // balcdateint = 0 USING sqlca;
- // IF sqlca.SQLCode <> 0 THEN
- // rslt = 0
- // MessageBox('error_15','更新操作失败,结存表:'+sqlca.SQLErrText)
- // GOTO ext
- // END IF
- //
- //
- //next_mtrlid:
- //w_sys_wait_jdt.wf_inc(ls_i) //进度
- //NEXT
- //
- //Close(w_sys_wait_jdt)
- //ext:
- //IF rslt = 1 THEN
- // COMMIT USING sqlca;
- // MessageBox('','修改成功!')
- //ELSE
- // ROLLBACK USING sqlca;
- //END IF
- //mle_log.Text = arg_log
- //RETURN
- //
- //
- //
- //
- end event
- type cbx_1 from checkbox within w_cmp_balc
- integer x = 1413
- integer y = 64
- integer width = 507
- 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 = 67108864
- string text = "更新 0 进价单据"
- end type
- type ddlb_storageid from uo_ddlb_storageid within w_cmp_balc
- integer x = 18
- integer y = 44
- integer width = 686
- integer height = 1108
- integer taborder = 20
- boolean bringtotop = true
- end type
- event constructor;call super::constructor;cur_storageid = this.uo_storageid
- end event
- event selectionchanged;call super::selectionchanged;cur_storageid = this.uo_storageid
- end event
- type st_2 from statictext within w_cmp_balc
- integer x = 713
- integer y = 68
- integer width = 242
- 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 = 67108864
- string text = "结存日期"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type em_month from editmask within w_cmp_balc
- integer x = 965
- integer y = 44
- integer width = 434
- integer height = 96
- integer taborder = 110
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "none"
- alignment alignment = center!
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- event constructor;this.text = string(today(),'yyyy-mm-dd')
- end event
- event rbuttondown;s_calender_arg s_calender
- s_calender.PointerX = THIS.PointerX()
- s_calender.PointerY = THIS.PointerY()
- s_calender.X = THIS.X
- s_calender.Y = THIS.Y
- OpenWithParm(w_calendar,s_calender)
- THIS.Text = String(id_date_selected)
- end event
- type gb_1 from groupbox within w_cmp_balc
- integer width = 2565
- integer height = 160
- integer taborder = 10
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 67108864
- end type
|