123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 |
- $PBExportHeader$uo_saletask_ew.sru
- forward
- global type uo_saletask_ew from uo_saletask_spi
- end type
- end forward
- global type uo_saletask_ew from uo_saletask_spi
- end type
- global uo_saletask_ew uo_saletask_ew
- forward prototypes
- public function integer uf_save_saletask (long arg_scid, s_saletask_import_arr arg_bill, ref long arg_taskid, ref string arg_taskcode, ref string arg_msg, boolean ifcommit)
- public function integer uf_audit_saletask (long arg_scid, long arg_taskid, ref string arg_msg, boolean ifcommit)
- public function integer uf_saletask_ch (ref s_taobao_saletask_ch arg_task, ref string arg_msg)
- public function integer uof_getprice_saletask (s_saletask_import arg_s_import, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg)
- public function integer wf_itemdef_ch (ref long arg_itemid, ref string arg_itemcode, ref string arg_itemname, ref string arg_itemtype, ref string arg_msg)
- public function integer wf_pricelist_ch (long arg_mtrlid, ref long arg_pricelistid, ref string arg_pricelistname, ref string arg_msg)
- public function integer wf_new_cust_p (s_saletask_import arg_import[], ref string arg_msg)
- public function integer uf_fill_taobao_saletask_info (ref s_saletask_import arg_mx, ref string arg_msg)
- end prototypes
- public function integer uf_save_saletask (long arg_scid, s_saletask_import_arr arg_bill, ref long arg_taskid, ref string arg_taskcode, ref string arg_msg, boolean ifcommit);Int rslt = 1
- uo_saletask obj_saletask
- obj_saletask = Create uo_saletask
- obj_saletask.commit_transaction = sqlca
- String im_ids = ''
- Long i
- FOR i = 1 To UpperBound(arg_bill.mx)
- IF i = 1 THEN
- im_ids = arg_bill.mx[i].im_id
- ELSE
- im_ids += ',' + arg_bill.mx[i].im_id
- END IF
- NEXT
- IF obj_saletask.newbegin(arg_scid,arg_msg) = 0 THEN
- rslt = 0
- arg_msg = im_ids + '新建订单失败,' + arg_msg
- GOTO ext
- END IF
- obj_saletask.requiredate = arg_bill.mx[1].requiredate
- obj_saletask.assign_emp = arg_bill.mx[1].assign_emp
- //obj_saletask.upname = arg_bill.mx[1].upname
- obj_saletask.Kind = arg_bill.mx[1].typeid
- obj_saletask.cusid = arg_bill.mx[1].cusid
- obj_saletask.dscrp = arg_bill.mx[1].dscrp
- obj_saletask.dscrp2 = arg_bill.mx[1].dscrp2
- obj_saletask.taskdate = arg_bill.mx[1].taskdate
- obj_saletask.banktypeid = arg_bill.mx[1].banktypeid
- obj_saletask.moneyid = arg_bill.mx[1].moneyid
- obj_saletask.damt = arg_bill.mx[1].damt
- obj_saletask.otheramt = arg_bill.mx[1].otheramt
- obj_saletask.relcode = arg_bill.mx[1].relcode
- obj_saletask.paytype = arg_bill.mx[1].paytype
- obj_saletask.freight = arg_bill.mx[1].freight
- obj_saletask.freight_tele = arg_bill.mx[1].freight_tele
- obj_saletask.cus_address = arg_bill.mx[1].cus_address
- obj_saletask.cus_tele = arg_bill.mx[1].cus_tele
- obj_saletask.cus_fax = arg_bill.mx[1].cus_fax
- obj_saletask.mrate = arg_bill.mx[1].mrate
- //obj_saletask.typeid = arg_bill.mx[1].typeid
- obj_saletask.rel_rep = arg_bill.mx[1].rel_rep
- //obj_saletask.Level = arg_bill.mx[1].Level
- obj_saletask.dscrp3 = arg_bill.mx[1].dscrp3
- FOR i = 1 To UpperBound(arg_bill.mx)
- IF obj_saletask.acceptmx(arg_bill.mx[i].mtrlid,&
- arg_bill.mx[i].saleqty,&
- 0 /*orderqty*/ ,&
- 0 /*buyqty*/ ,&
- arg_bill.mx[i].enprice,&
- arg_bill.mx[i].rebate,&
- 0 /*planprice*/ ,&
- arg_bill.mx[i].mxdscrp,&
- arg_bill.mx[i].mtrlcode,&
- arg_bill.mx[i].status,&
- arg_bill.mx[i].woodcode,&
- arg_bill.mx[i].pcode,&
- arg_bill.mx[i].mtrlcuscode,&
- i,&
- 0 /*outtype*/ ,&
- arg_msg,&
- '' /*unit*/ ,&
- arg_bill.mx[i].taxrate /*rate*/ ,&
- '' /*formula*/ ,&
- 0 /*addqty*/ ,&
- arg_bill.mx[i].mxdscrp2,&
- 0 /*needwfjgqty*/,&
- '' /*plancode*/,&
- 0 /*tax*/) = 0 THEN
- rslt = 0
- arg_msg = im_ids + '添加订单明细失败,' + arg_msg
- GOTO ext
- END IF
- NEXT
- s_saletask_itemmx s_item //费用项目
- IF arg_bill.mx[1].post_fee <> 0 THEN
- s_item.printid = 1
-
- s_item.itemid = arg_bill.mx[1].itemid
- s_item.amt = arg_bill.mx[1].post_fee
- s_item.amtyfh = 0
- s_item.mxdscrp = ''
- s_item.itype = 1
-
- IF obj_saletask.acceptmx_item(s_item, arg_msg) = 0 THEN
- rslt = 0
- arg_msg = im_ids + '添加订单费用明细失败,' + arg_msg
- GOTO ext
- END IF
- END IF
- IF obj_saletask.savesubmit(publ_operator,arg_msg,False) <> 1 THEN
- rslt = 0
- arg_msg = im_ids + '保存订单失败,' + arg_msg
- GOTO ext
- END IF
- IF obj_saletask.save_end(arg_msg,False) = 0 THEN //保存费用项目
- rslt = 0
- arg_msg = im_ids + '保存订单费用明细失败,' + arg_msg
- GOTO ext
- END IF
- arg_taskid = obj_saletask.taskid
- arg_taskcode = obj_saletask.taskcode
- ext:
- Destroy obj_saletask
- IF ifcommit THEN
- IF rslt = 1 THEN
- COMMIT;
- ELSE
- ROLLBACK;
- END IF
- END IF
- RETURN rslt
- end function
- public function integer uf_audit_saletask (long arg_scid, long arg_taskid, ref string arg_msg, boolean ifcommit);int rslt = 1
- uo_saletask obj_saletask
- obj_saletask = Create uo_saletask
- obj_saletask.commit_transaction = sqlca
- IF obj_saletask.salepermit(arg_scid, arg_taskid, publ_operator, arg_msg, False) <> 1 THEN
- rslt = 0
- GOTO ext
- END IF
- //IF sys_option_saletask_secaudit = 1 THEN
- IF obj_saletask.propermit(arg_scid, arg_taskid, publ_operator, arg_msg, False) <> 1 THEN
- rslt = 0
- GOTO ext
- END IF
- //END IF
- ext:
- Destroy obj_saletask
- IF ifcommit THEN
- IF rslt = 1 THEN
- COMMIT;
- ELSE
- ROLLBACK;
- END IF
- END IF
- return rslt
-
- end function
- public function integer uf_saletask_ch (ref s_taobao_saletask_ch arg_task, ref string arg_msg);Int rslt = 1
- arg_task.taskid = 0
- IF Not IsValid(w_saletask_ch) THEN
- s_edit_index_tran s_ch_tran //传递参数使用
- s_ch_tran.if_retrieve_all = False //是否一次RETRIEVE所有行
- s_ch_tran.work_mode = 1 //0-单纯编辑模式 1-选择\编辑模式
- s_ch_tran.arg_pkid = 0 //目标定位PKID (备用)
- s_ch_tran.b_long = arg_task.scid
- s_ch_tran.c_long = arg_task.cusid
- //查询列(物料编码)部分内容,用于初步筛选
- s_ch_tran.arg_string_code = Upper(Trim(arg_task.taskcode))
-
- OpenWithParm(w_saletask_ch,s_ch_tran) //调用
-
- s_saletask_ch S_INSCUST
- S_INSCUST = Message.PowerObjectParm //接受返回结构
-
- IF S_INSCUST.taskid > 0 THEN //正常返回值则可以取以下值
-
- // TODO: 企精灵没有字段返回订单金额
- arg_task.taskcode = S_INSCUST.taskcode
- arg_task.damt = S_INSCUST.damt
- arg_task.taskid = S_INSCUST.taskid
- // arg_task.billamt = S_INSCUST.billamt
- // arg_task.takeamt = S_INSCUST.takeamt
- // arg_task.noamt = S_INSCUST.noamt
- arg_task.moneyid = S_INSCUST.moneyid
- // arg_task.banktypeid = S_INSCUST.banktypeid
- // arg_task.takedamt = S_INSCUST.takedamt
-
- END IF
-
- END IF
- RETURN rslt
- end function
- public function integer uof_getprice_saletask (s_saletask_import arg_s_import, ref decimal arg_price, ref decimal arg_rebate, ref string arg_msg);Int rslt = 1
- decimal ll_rate
- rslt = f_getmtrlcusprice(arg_s_import.moneyid, arg_s_import.mtrlid, arg_s_import.cusid, arg_s_import.unit, arg_s_import.woodcode, arg_s_import.status, arg_s_import.pcode, 0, arg_price, arg_rebate,ll_rate, arg_msg)
- IF rslt > 0 THEN
- ELSE
- arg_price = 0
- arg_rebate = 0
- END IF
- RETURN rslt
- end function
- public function integer wf_itemdef_ch (ref long arg_itemid, ref string arg_itemcode, ref string arg_itemname, ref string arg_itemtype, ref string arg_msg);Int rslt = 1
- s_edit_index_tran s_tran
- s_tran.if_retrieve_all = True
- s_tran.work_mode = 1
- OpenWithParm(w_itemdef_ch, s_tran)
- s_itemdef s_rslt
- s_rslt = Message.PowerObjectParm
- IF s_rslt.itemid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- arg_itemid = s_rslt.itemid
- arg_itemcode = s_rslt.itemcode
- arg_itemname = s_rslt.itemname
- arg_itemtype = s_rslt.itemtype
- ext:
- RETURN rslt
- end function
- public function integer wf_pricelist_ch (long arg_mtrlid, ref long arg_pricelistid, ref string arg_pricelistname, ref string arg_msg);Int rslt = 1
- Open(w_sale_price_list_ch)
- s_pricelist_ch s_rslt
- s_rslt = Message.PowerObjectParm
- IF s_rslt.pricelistid <= 0 THEN
- rslt = 0
- GOTO ext
- END IF
- arg_pricelistid = s_rslt.pricelistid
- arg_pricelistname = s_rslt.pricelistname
- ext:
- RETURN rslt
- end function
- public function integer wf_new_cust_p (s_saletask_import arg_import[], ref string arg_msg);Long i
- s_define_import_parm s_tran
- FOR i = 1 To UpperBound(arg_import)
- s_tran.cust_arr[i].Name = arg_import[i].cusname
- s_tran.cust_arr[i].cuscode = arg_import[i].cuscode
- s_tran.cust_arr[i].custype = arg_import[i].assign_emp
- s_tran.cust_arr[i].upname = arg_import[i].upname
- s_tran.cust_arr[i].rep = arg_import[i].rel_rep
- s_tran.cust_arr[i].tele = arg_import[i].cus_tele
- s_tran.cust_arr[i].tele1 = ''
- s_tran.cust_arr[i].faxno = arg_import[i].cus_fax
- s_tran.cust_arr[i].Address = arg_import[i].cus_address
- s_tran.cust_arr[i].freight = arg_import[i].freight
- s_tran.cust_arr[i].freight_tele = arg_import[i].freight_tele
- // s_tran.cust_arr[i].moneyid = arg_import[i].moneyid
- s_tran.cust_arr[i].banktypeid = arg_import[i].banktypeid
-
- NEXT
- OpenWithParm(w_define_response, s_tran)
- RETURN 1
- end function
- public function integer uf_fill_taobao_saletask_info (ref s_saletask_import arg_mx, ref string arg_msg);Int rslt = 1
- String ls_im_userid
- SELECT im_userid
- INTO :ls_im_userid
- FROM eb_saletask_import
- Where im_type = 5 And im_id = :arg_mx.im_id;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询淘宝订单所属账号失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- SELECT scid,
- dateadd(dd, requiredays, getdate()),
- assign_emp,
- upname,
- cusid,
- banktypeid,
- moneyid,
- mrate,
- typeid,
- level,
- paytype,
- itemid
- INTO :arg_mx.scid,
- :arg_mx.requiredate,
- :arg_mx.assign_emp,
- :arg_mx.upname,
- :arg_mx.cusid,
- :arg_mx.banktypeid,
- :arg_mx.moneyid,
- :arg_mx.mrate,
- :arg_mx.typeid,
- :arg_mx.level,
- :arg_mx.paytype,
- :arg_mx.itemid
- FROM eb_user
- Where im_type = 5 And im_userid = :ls_im_userid;
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- arg_msg = '查询淘宝账号信息失败,' + sqlca.SQLErrText
- GOTO ext
- END IF
- ext:
- RETURN rslt
- end function
- on uo_saletask_ew.create
- call super::create
- end on
- on uo_saletask_ew.destroy
- call super::destroy
- end on
|