| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?xml version="1.0" encoding="utf-8"?>
- <PLSQL>
- <declare>
- v_customer customer%rowtype;
- v_employee employee%rowtype;
- v_sale sale%rowtype;
- v_sd_id number;
- v_pr_code varchar2(64);
- v_vecode varchar2(64);
- v_vendor vendor%rowtype;
- v_ve_count number;
- </declare>
- <body>
- <iterator loop="orders" var="order">
- <block>
- begin
- select * into v_customer from customer where cu_uu=${order.enuu};
- exception when no_data_found then
- RAISE_APPLICATION_ERROR(-20010, '客户['||${order.enuu}||']不存在');
- end;
- begin
- select * into v_employee from employee where em_code=v_customer.cu_sellercode;
- exception when no_data_found then null;
- end;
- begin
- v_vecode := '';
- select count(1) into v_ve_count from vendor where ve_name=${order.tervendor};
- if v_ve_count > 0 then
- select * into v_vendor from vendor where ve_name=${order.tervendor};
- v_vecode := v_vendor.ve_code;
- end if;
- end;
- begin
- select * into v_sale from sale where sa_code=${order.salecode};
- exception when no_data_found then v_sale.sa_id := '';
- end;
- if v_sale.sa_id is null or ${order.statuscode} = 222 then
- if v_sale.sa_id is null then
- v_sale.sa_id := sale_seq.nextval;
- v_sale.sa_backstatus := '';
- else
- delete from saledetail where sd_said=v_sale.sa_id;
- delete from sale where sa_id=v_sale.sa_id;
- v_sale.sa_backstatus := '已下载';
- end if;
- v_sale.sa_code := ${order.salecode};
- v_sale.sa_pocode := ${order.salepocode};
- v_sale.sa_date := ${order.entrydate};
- v_sale.sa_kind := '代采订单';
- v_sale.sa_custcode := v_customer.cu_code;
- v_sale.sa_custname := v_customer.cu_name;
- v_sale.sa_currency := ${order.currency};
- v_sale.sa_apcustcode := v_customer.cu_code;
- v_sale.sa_apcustname := v_customer.cu_name;
- v_sale.sa_shcustcode := v_customer.cu_code;
- v_sale.sa_shcustname := v_customer.cu_name;
- v_sale.sa_paymentscode := v_customer.cu_paymentscode;
- v_sale.sa_payments := v_customer.cu_payments;
- v_sale.sa_toplace := v_customer.cu_add1;
- v_sale.sa_fromcode := ${order.code};
- v_sale.sa_sellercode := v_customer.cu_sellercode;
- v_sale.sa_departmentcode := v_employee.em_departmentcode;
- v_sale.sa_departmentname := v_employee.em_depart;
- v_sale.sa_recorder := '系统';
- v_sale.sa_recorddate := sysdate;
- v_sale.sa_statuscode := 'ENTERING';
- v_sale.sa_status := '在录入';
- v_sale.sa_vendcode := v_vecode;
- v_sale.sa_vendname := ${order.tervendor};
- v_sale.sa_a20_user := ${order.madealdate};
- v_sale.sa_a19_user := ${order.madealcode};
- v_sale.sa_a18_user := ${order.vendtel};
- v_sale.sa_a17_user := ${order.venduser};
- v_sale.sa_a14_user := ${order.shipdate};
- v_sale.sa_a16_user := ${order.deliverymethod};
- v_sale.sa_a15_user := ${order.pickupmethod};
- v_sale.sa_a11_user := ${order.tervendaddress};
- v_sale.sa_a9_user := ${order.companyname};
- v_sale.sa_a10_user := ${order.requirepaydate};
- v_sale.sa_a8_user := ${order.bankname};
- v_sale.sa_a6_user := ${order.bankaccount};
- v_sale.sa_a7_user := ${order.bankaddress};
- v_sale.sa_a5_user := ${order.bankcode};
- v_sale.sa_a4_user := ${order.otherdata};
- v_sale.sa_a3_user := ${order.legalrepresent};
- v_sale.sa_a24_user := ${order.deliverydate};
- v_sale.sa_a22_user := ${order.paydate};
- v_sale.sa_payername := ${order.paycomname};
- v_sale.sa_payeraddress := ${order.paycomaddress};
- v_sale.sa_a13_user := ${order.riskmethod};
- v_sale.sa_a12_user := ${order.taxpaymentmethod};
- v_sale.sa_a2_user := ${order.enfax};
- v_sale.sa_a25_user := ${order.paycomaddress};
- v_sale.sa_a10_user_2 := ${order.actualpaydate};
- v_sale.sa_state_user := ${order.paymentmethod};
- v_sale.sa_ssa_user := ${order.paydeldate};
- insert into sale values v_sale;
- </block>
- <iterator loop="order.deputyOrderItems" var="item">
- v_sd_id := saledetail_seq.nextval;
- v_pr_code := 'PROD'||to_char(sysdate,'yymmdd')||v_sd_id;
- insert into product (pr_id, pr_detail, pr_spec, pr_speccs, pr_unit, pr_recordman, pr_docdate, pr_status, pr_statuscode, pr_remark,
- pr_code, pr_orispeccode, pr_brand) values (product_seq.nextval, ${item.prodname},
- ${item.prodcode}, ${item.prodspec}, 'PCS', '系统', sysdate, '已审核', 'AUDITED',
- v_sale.sa_code||'平台代采订单产生', v_pr_code, ${item.prodcode}, ${item.prodbrand});
- insert into saledetail (sd_id, sd_said, sd_detno, sd_code, sd_prodcode, sd_qty, sd_price, sd_total,sd_remark,
- sd_delivery, SD_COSTINGPRICE) values (v_sd_id, v_sale.sa_id, ${item.detno}, v_sale.sa_code, v_pr_code, ${item.amount},
- ${item.unitprice}, ${item.totalprice}, ${item.remark}, ${order.deliverydate}, ${item.purcprice});
- </iterator>
- <block>
- end if;
- </block>
- </iterator>
- </body>
- </PLSQL>
|