123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- $PBExportHeader$f_ljfieb_fillmtrl.srf
- global type f_ljfieb_fillmtrl from function_object
- end type
- forward prototypes
- global function integer f_ljfieb_fillmtrl (string arg_mtrlcode, long arg_ifsend, ref s_mtrldef_array s_post_mtrl, ref string arg_msg)
- end prototypes
- global function integer f_ljfieb_fillmtrl (string arg_mtrlcode, long arg_ifsend, ref s_mtrldef_array s_post_mtrl, ref string arg_msg);// 获取当前物料与其下级到当前列表
- Int rslt = 1
- s_mtrldef_array arg_s_mtrldef,s_empty
- Long ll_k,ll_j
- Long ll_itmx,ll_itmx_parent
- String ls_pfcode,ls_pf_str,ls_mtrlcode_pf
- datastore ds_prdpf
- ds_prdpf = Create datastore
- ds_prdpf.DataObject = 'ds_prdpf_send_ljfieb'
- ds_prdpf.SetTransObject(sqlca)
- arg_s_mtrldef = s_empty
- IF f_find_mtrl_ljfieb(arg_mtrlcode,arg_s_mtrldef) = 0 THEN
- rslt = 0
- arg_msg = '查询编码:'+arg_mtrlcode+'信息失败'
- GOTO ext
- END IF
- ll_itmx = UpperBound(s_post_mtrl.mtrlid)
- FOR ll_k = 1 To ll_itmx
- IF arg_s_mtrldef.mtrlid[1] = s_post_mtrl.mtrlid[ll_k] And arg_s_mtrldef.mtrlcode[1] = s_post_mtrl.mtrlcode[ll_k] THEN
- GOTO ext
- END IF
- NEXT
- ll_itmx++
- s_post_mtrl.mtrlid[ll_itmx] = arg_s_mtrldef.mtrlid[1]
- s_post_mtrl.mtrlcode[ll_itmx] = arg_s_mtrldef.mtrlcode[1]
- s_post_mtrl.mtrlname[ll_itmx] = arg_s_mtrldef.mtrlname[1]
- s_post_mtrl.mtrltype[ll_itmx] = arg_s_mtrldef.mtrltype[1]
- s_post_mtrl.mtrlsectype[ll_itmx] = arg_s_mtrldef.mtrlsectype[1]
- s_post_mtrl.mtrlmode[ll_itmx] = arg_s_mtrldef.mtrlmode[1]
- s_post_mtrl.Mtrlorigin[ll_itmx] = arg_s_mtrldef.Mtrlorigin[1]
- s_post_mtrl.unit[ll_itmx] = arg_s_mtrldef.unit[1]
- s_post_mtrl.dscrp[ll_itmx] = arg_s_mtrldef.dscrp[1]
- s_post_mtrl.isuse[ll_itmx] = 1
- s_post_mtrl.packqty[ll_itmx] = arg_s_mtrldef.packqty[1]
- s_post_mtrl.prdpackcode[ll_itmx] = arg_s_mtrldef.prdpackcode[1]
- s_post_mtrl.net_weight[ll_itmx] = arg_s_mtrldef.net_weight[1]
- s_post_mtrl.gross_weight[ll_itmx] = arg_s_mtrldef.gross_weight[1]
- s_post_mtrl.cubage[ll_itmx] = arg_s_mtrldef.cubage[1]
- s_post_mtrl.mtrlengname[ll_itmx] = arg_s_mtrldef.mtrlengname[1]
- s_post_mtrl.zxmtrlmode[ll_itmx] = arg_s_mtrldef.zxmtrlmode[1]
- s_post_mtrl.unit_scll[ll_itmx] = arg_s_mtrldef.unit_scll[1]
- s_post_mtrl.unit_buy[ll_itmx] = arg_s_mtrldef.unit_buy[1]
- s_post_mtrl.rate_buy[ll_itmx] = arg_s_mtrldef.rate_buy[1]
- s_post_mtrl.rate_scll[ll_itmx] = arg_s_mtrldef.rate_scll[1]
- s_post_mtrl.rate_sale[ll_itmx] = arg_s_mtrldef.rate_sale[1]
- s_post_mtrl.unit_sale[ll_itmx] = arg_s_mtrldef.unit_sale[1]
- s_post_mtrl.statusflag[ll_itmx] = arg_s_mtrldef.statusflag[1]
- s_post_mtrl.statustype[ll_itmx] = arg_s_mtrldef.statustype[1]
- s_post_mtrl.woodcodeflag[ll_itmx] = arg_s_mtrldef.woodcodeflag[1]
- s_post_mtrl.woodcodetype[ll_itmx] = arg_s_mtrldef.woodcodetype[1]
- s_post_mtrl.pcodeflag[ll_itmx] = arg_s_mtrldef.pcodeflag[1]
- s_post_mtrl.pcodetype[ll_itmx] = arg_s_mtrldef.pcodetype[1]
- s_post_mtrl.usermtrlmode[ll_itmx] = arg_s_mtrldef.usermtrlmode[1]
- s_post_mtrl.ifcustom[ll_itmx] = arg_s_mtrldef.ifcustom[1]
- s_post_mtrl.buyunit[ll_itmx] = arg_s_mtrldef.buyunit[1]
- s_post_mtrl.wfjgunit[ll_itmx] = arg_s_mtrldef.wfjgunit[1]
- s_post_mtrl.scllunit[ll_itmx] = arg_s_mtrldef.scllunit[1]
- s_post_mtrl.saleunit[ll_itmx] = arg_s_mtrldef.saleunit[1]
- s_post_mtrl.buydec[ll_itmx] = arg_s_mtrldef.buydec[1]
- s_post_mtrl.wfjgdec[ll_itmx] = arg_s_mtrldef.wfjgdec[1]
- s_post_mtrl.sclldec[ll_itmx] = arg_s_mtrldef.sclldec[1]
- s_post_mtrl.saledec[ll_itmx] = arg_s_mtrldef.saledec[1]
- s_post_mtrl.status_check[ll_itmx] = arg_s_mtrldef.status_check[1]
- s_post_mtrl.woodcode_check[ll_itmx] = arg_s_mtrldef.woodcode_check[1]
- s_post_mtrl.pcode_check[ll_itmx] = arg_s_mtrldef.pcode_check[1]
- s_post_mtrl.status_config[ll_itmx] = arg_s_mtrldef.status_config[1]
- s_post_mtrl.woodcode_config[ll_itmx] = arg_s_mtrldef.woodcode_config[1]
- s_post_mtrl.pcode_config[ll_itmx] = arg_s_mtrldef.pcode_config[1]
- s_post_mtrl.configcodetype[ll_itmx] = arg_s_mtrldef.configcodetype[1]
- s_post_mtrl.configcode[ll_itmx] = arg_s_mtrldef.configcode[1]
- s_post_mtrl.configname[ll_itmx] = arg_s_mtrldef.configname[1]
- s_post_mtrl.mtrlcolor[ll_itmx] = arg_s_mtrldef.mtrlcolor[1]
- s_post_mtrl.handtype[ll_itmx] = arg_s_mtrldef.handtype[1]
- s_post_mtrl.ifpack[ll_itmx] = arg_s_mtrldef.ifpack[1]
- s_post_mtrl.ifpackpro[ll_itmx] = arg_s_mtrldef.ifpackpro [1]
- s_post_mtrl.ifpackpz[ll_itmx] = arg_s_mtrldef.ifpackpz [1]
- s_post_mtrl.ifpackpro2[ll_itmx] = arg_s_mtrldef.ifpackpro2[1]
- s_post_mtrl.ifpacktype[ll_itmx] = arg_s_mtrldef.ifpacktype[1]
- s_post_mtrl.mtrlprp[ll_itmx] = arg_s_mtrldef.mtrlprp[1]
- // s_post_mtrl.pfstr[ll_itmx] = ''
- // s_post_mtrl.scid[ll_itmx] = arg_s_mtrldef.scid[1]
- s_post_mtrl.mtrltypeid[ll_itmx] = arg_s_mtrldef.mtrltypeid[1]
-
- IF arg_s_mtrldef.ifpackpro[1] <> 0 THEN
- ll_itmx_parent = ll_itmx
- //如果是包件产品,则把下级包件一同推送
- ls_pfcode = f_get_dft_pf(arg_s_mtrldef.mtrlid[1])
-
- ds_prdpf.Retrieve(arg_s_mtrldef.mtrlid[1],ls_pfcode)
-
- ls_pf_str = ''
- FOR ll_j = 1 To ds_prdpf.RowCount()
- ls_mtrlcode_pf = ds_prdpf.Object.u_mtrldef_mtrlcode[ll_j]
- arg_s_mtrldef = s_empty
- IF f_find_mtrl_ljfieb(ls_mtrlcode_pf,arg_s_mtrldef) = 0 THEN
- rslt = 0
- arg_msg = '查询包件编码:'+ls_mtrlcode_pf+'信息失败'
- goto ext
- END IF
-
- FOR ll_k = 1 To ll_itmx
- IF arg_s_mtrldef.mtrlid[1] = s_post_mtrl.mtrlid[ll_k] And arg_s_mtrldef.mtrlcode[1] = s_post_mtrl.mtrlcode[ll_k] THEN
- GOTO ext
- END IF
- NEXT
-
- IF arg_s_mtrldef.ifpack[1] = 0 THEN CONTINUE
-
- ll_itmx++
- s_post_mtrl.mtrlid[ll_itmx] = arg_s_mtrldef.mtrlid[1]
- s_post_mtrl.mtrlcode[ll_itmx] = arg_s_mtrldef.mtrlcode[1]
- s_post_mtrl.mtrlname[ll_itmx] = arg_s_mtrldef.mtrlname[1]
- s_post_mtrl.mtrltype[ll_itmx] = arg_s_mtrldef.mtrltype[1]
- s_post_mtrl.mtrlsectype[ll_itmx] = arg_s_mtrldef.mtrlsectype[1]
- s_post_mtrl.mtrlmode[ll_itmx] = arg_s_mtrldef.mtrlmode[1]
- s_post_mtrl.Mtrlorigin[ll_itmx] = arg_s_mtrldef.Mtrlorigin[1]
- s_post_mtrl.unit[ll_itmx] = arg_s_mtrldef.unit[1]
- s_post_mtrl.dscrp[ll_itmx] = arg_s_mtrldef.dscrp[1]
- s_post_mtrl.isuse[ll_itmx] = 1
- s_post_mtrl.packqty[ll_itmx] = arg_s_mtrldef.packqty[1]
- s_post_mtrl.prdpackcode[ll_itmx] = arg_s_mtrldef.prdpackcode[1]
- s_post_mtrl.net_weight[ll_itmx] = arg_s_mtrldef.net_weight[1]
- s_post_mtrl.gross_weight[ll_itmx] = arg_s_mtrldef.gross_weight[1]
- s_post_mtrl.cubage[ll_itmx] = arg_s_mtrldef.cubage[1]
- s_post_mtrl.mtrlengname[ll_itmx] = arg_s_mtrldef.mtrlengname[1]
- s_post_mtrl.zxmtrlmode[ll_itmx] = arg_s_mtrldef.zxmtrlmode[1]
- s_post_mtrl.unit_scll[ll_itmx] = arg_s_mtrldef.unit_scll[1]
- s_post_mtrl.unit_buy[ll_itmx] = arg_s_mtrldef.unit_buy[1]
- s_post_mtrl.rate_buy[ll_itmx] = arg_s_mtrldef.rate_buy[1]
- s_post_mtrl.rate_scll[ll_itmx] = arg_s_mtrldef.rate_scll[1]
- s_post_mtrl.rate_sale[ll_itmx] = arg_s_mtrldef.rate_sale[1]
- s_post_mtrl.unit_sale[ll_itmx] = arg_s_mtrldef.unit_sale[1]
- s_post_mtrl.statusflag[ll_itmx] = arg_s_mtrldef.statusflag[1]
- s_post_mtrl.statustype[ll_itmx] = arg_s_mtrldef.statustype[1]
- s_post_mtrl.woodcodeflag[ll_itmx] = arg_s_mtrldef.woodcodeflag[1]
- s_post_mtrl.woodcodetype[ll_itmx] = arg_s_mtrldef.woodcodetype[1]
- s_post_mtrl.pcodeflag[ll_itmx] = arg_s_mtrldef.pcodeflag[1]
- s_post_mtrl.pcodetype[ll_itmx] = arg_s_mtrldef.pcodetype[1]
- s_post_mtrl.usermtrlmode[ll_itmx] = arg_s_mtrldef.usermtrlmode[1]
- s_post_mtrl.ifcustom[ll_itmx] = arg_s_mtrldef.ifcustom[1]
- s_post_mtrl.buyunit[ll_itmx] = arg_s_mtrldef.buyunit[1]
- s_post_mtrl.wfjgunit[ll_itmx] = arg_s_mtrldef.wfjgunit[1]
- s_post_mtrl.scllunit[ll_itmx] = arg_s_mtrldef.scllunit[1]
- s_post_mtrl.saleunit[ll_itmx] = arg_s_mtrldef.saleunit[1]
- s_post_mtrl.buydec[ll_itmx] = arg_s_mtrldef.buydec[1]
- s_post_mtrl.wfjgdec[ll_itmx] = arg_s_mtrldef.wfjgdec[1]
- s_post_mtrl.sclldec[ll_itmx] = arg_s_mtrldef.sclldec[1]
- s_post_mtrl.saledec[ll_itmx] = arg_s_mtrldef.saledec[1]
- s_post_mtrl.status_check[ll_itmx] = arg_s_mtrldef.status_check[1]
- s_post_mtrl.woodcode_check[ll_itmx] = arg_s_mtrldef.woodcode_check[1]
- s_post_mtrl.pcode_check[ll_itmx] = arg_s_mtrldef.pcode_check[1]
- s_post_mtrl.status_config[ll_itmx] = arg_s_mtrldef.status_config[1]
- s_post_mtrl.woodcode_config[ll_itmx] = arg_s_mtrldef.woodcode_config[1]
- s_post_mtrl.pcode_config[ll_itmx] = arg_s_mtrldef.pcode_config[1]
- s_post_mtrl.configcodetype[ll_itmx] = arg_s_mtrldef.configcodetype[1]
- s_post_mtrl.configcode[ll_itmx] = arg_s_mtrldef.configcode[1]
- s_post_mtrl.configname[ll_itmx] = arg_s_mtrldef.configname[1]
- s_post_mtrl.mtrlcolor[ll_itmx] = arg_s_mtrldef.mtrlcolor[1]
- s_post_mtrl.handtype[ll_itmx] = arg_s_mtrldef.handtype[1]
- s_post_mtrl.ifpack[ll_itmx] = arg_s_mtrldef.ifpack[1]
- s_post_mtrl.ifpackpro[ll_itmx] = arg_s_mtrldef.ifpackpro [1]
- s_post_mtrl.ifpackpz[ll_itmx] = arg_s_mtrldef.ifpackpz [1]
- s_post_mtrl.ifpackpro2[ll_itmx] = arg_s_mtrldef.ifpackpro2[1]
- s_post_mtrl.ifpacktype[ll_itmx] = arg_s_mtrldef.ifpacktype[1]
- s_post_mtrl.mtrlprp[ll_itmx] = arg_s_mtrldef.mtrlprp[1]
- // s_post_mtrl.pfstr[ll_itmx] = ''
- // s_post_mtrl.scid[ll_itmx] = arg_s_mtrldef.scid[1]
- s_post_mtrl.mtrltypeid[ll_itmx] = arg_s_mtrldef.mtrltypeid[1]
-
- ls_pf_str = ls_pf_str + arg_s_mtrldef.mtrlcode[1]+','+String(ds_prdpf.Object.u_prdpf_sonscale[ll_j],'###0.##########')+';'
- NEXT
-
- // s_post_mtrl.pfstr[ll_itmx_parent] = ls_pf_str
- END IF
- ext:
- destroy ds_prdpf
- RETURN rslt
- end function
|