po_header_id, order_no, site, item_no, part_no, status, qty, umid, convert_factor, price, base_price, want_receive_date, tax_rate, tax, additional_cost, freight, duty, arrive_qty, receive_qty, qty_returned, qty_replace, qty_scrapt, invoice_qty, approve_result, need_inspect_flag, remark, iqc_qty, last_update_by, pr_convert_note, inspect_type_db, inspect_type, inspect_qty, inspect_percent, inspection_level_no, close_tolerance, over_receive_tolerance, item, c_value, c_ship_qty, c_sum_price, c_narrival, c_crd, c_inspection, c_real_crd, c_eta, c_flexid, c_obd, c_doc_sent, c_telex_release, c_advance_payment, c_advance_paid, create_time, c_planner, c_edit, c_end_planner, c_remark_delay, qty_cancelled, inspect_method_db, to_inv_nofity_qty, upload_date, order_ref1, order_ref5, batch_no, order_ref4, pre_pay_amount, upload_by, pur_lead_time, order_ref_type, order_ref3, need_receive_flag, upload_flag, id, pre_pay_reverse_amount, out_work_order_flag, order_ref2, qty_rbjs, pre_pay_pay_amount, need_date, inspect_method, inv_notify_qty
UPDATE pd
SET
order_no = t.order_no,
site = t.site,
item_no = t.item_no,
part_no = t.part_no,
status = t.status,
qty = t.qty,
umid = t.umid,
convert_factor = t.convert_factor,
price = t.price,
base_price = t.base_price,
want_receive_date = t.want_receive_date,
tax_rate = t.tax_rate,
tax = t.tax,
additional_cost = t.additional_cost,
freight = t.freight,
duty = t.duty,
arrive_qty = t.arrive_qty,
receive_qty = t.receive_qty,
qty_returned = t.qty_returned,
qty_replace = t.qty_replace,
qty_scrapt = t.qty_scrapt,
invoice_qty = t.invoice_qty,
approve_result = t.approve_result,
need_inspect_flag = t.need_inspect_flag,
remark = t.remark,
iqc_qty = t.iqc_qty,
last_update_by = t.last_update_by,
pr_convert_note = t.pr_convert_note,
inspect_type_db = t.inspect_type_db,
inspect_type = t.inspect_type,
inspect_qty = t.inspect_qty,
inspect_percent = t.inspect_percent,
inspection_level_no = t.inspection_level_no,
close_tolerance = t.close_tolerance,
over_receive_tolerance = t.over_receive_tolerance,
item = t.item,
c_value = t.c_value,
c_ship_qty = t.c_ship_qty,
c_sum_price = t.c_sum_price,
c_narrival = t.c_narrival,
c_crd = t.c_crd,
c_inspection = t.c_inspection,
c_real_crd = t.c_real_crd,
c_eta = t.c_eta,
c_flexid = t.c_flexid,
c_obd = t.c_obd,
c_doc_sent = t.c_doc_sent,
c_telex_release = t.c_telex_release,
c_advance_payment = t.c_advance_payment,
c_advance_paid = t.c_advance_paid,
create_time = t.create_time,
c_planner = t.c_planner,
c_edit = t.c_edit,
c_end_planner = t.c_end_planner,
c_remark_delay = t.c_remark_delay,
qty_cancelled = t.qty_cancelled,
inspect_method_db = t.inspect_method_db,
to_inv_nofity_qty = t.to_inv_nofity_qty,
upload_date = t.upload_date,
order_ref1 = t.order_ref1,
order_ref5 = t.order_ref5,
batch_no = t.batch_no,
order_ref4 = t.order_ref4,
pre_pay_amount = t.pre_pay_amount,
upload_by = t.upload_by,
pur_lead_time = t.pur_lead_time,
order_ref_type = t.order_ref_type,
order_ref3 = t.order_ref3,
need_receive_flag = t.need_receive_flag,
upload_flag = t.upload_flag,
pre_pay_reverse_amount = t.pre_pay_reverse_amount,
out_work_order_flag = t.out_work_order_flag,
order_ref2 = t.order_ref2,
qty_rbjs = t.qty_rbjs,
pre_pay_pay_amount = t.pre_pay_pay_amount,
need_date = t.need_date,
inspect_method = t.inspect_method,
inv_notify_qty = t.inv_notify_qty
FROM PODetail pd
INNER JOIN (
SELECT
CAST(#{item.id} AS INT) AS id,
CAST(#{item.orderNo} AS VARCHAR(15)) AS order_no,
CAST(#{item.site} AS VARCHAR(4)) AS site,
CAST(#{item.itemNo} AS INT) AS item_no,
CAST(#{item.partNo} AS VARCHAR(30)) AS part_no,
CAST(#{item.status} AS VARCHAR(10)) AS status,
CAST(#{item.qty} AS DECIMAL(20,6)) AS qty,
CAST(#{item.umid} AS VARCHAR(8)) AS umid,
CAST(#{item.convertFactor} AS DECIMAL(20,6)) AS convert_factor,
CAST(#{item.price} AS DECIMAL(20,6)) AS price,
CAST(#{item.basePrice} AS DECIMAL(20,6)) AS base_price,
CAST(#{item.wantReceiveDate} AS DATETIME) AS want_receive_date,
CAST(#{item.taxRate} AS DECIMAL(20,6)) AS tax_rate,
CAST(#{item.tax} AS DECIMAL(20,6)) AS tax,
CAST(#{item.additionalCost} AS DECIMAL(20,6)) AS additional_cost,
CAST(#{item.freight} AS DECIMAL(20,6)) AS freight,
CAST(#{item.duty} AS DECIMAL(20,6)) AS duty,
CAST(#{item.arriveQty} AS DECIMAL(20,6)) AS arrive_qty,
CAST(#{item.receiveQty} AS DECIMAL(20,6)) AS receive_qty,
CAST(#{item.qtyReturned} AS DECIMAL(20,6)) AS qty_returned,
CAST(#{item.qtyReplace} AS DECIMAL(20,6)) AS qty_replace,
CAST(#{item.qtyScrapt} AS DECIMAL(20,6)) AS qty_scrapt,
CAST(#{item.invoiceQty} AS DECIMAL(20,6)) AS invoice_qty,
CAST(#{item.approveResult} AS CHAR(1)) AS approve_result,
CAST(#{item.needInspectFlag} AS CHAR(1)) AS need_inspect_flag,
CAST(#{item.remark} AS VARCHAR(400)) AS remark,
CAST(#{item.iqcQty} AS DECIMAL(20,6)) AS iqc_qty,
CAST(#{item.lastUpdateBy} AS VARCHAR(20)) AS last_update_by,
CAST(#{item.prConvertNote} AS VARCHAR(200)) AS pr_convert_note,
CAST(#{item.inspectTypeDb} AS CHAR(1)) AS inspect_type_db,
CAST(#{item.inspectType} AS VARCHAR(40)) AS inspect_type,
CAST(#{item.inspectQty} AS DECIMAL(20,6)) AS inspect_qty,
CAST(#{item.inspectPercent} AS DECIMAL(20,6)) AS inspect_percent,
CAST(#{item.inspectionLevelNo} AS VARCHAR(20)) AS inspection_level_no,
CAST(#{item.closeTolerance} AS DECIMAL(20,6)) AS close_tolerance,
CAST(#{item.overReceiveTolerance} AS DECIMAL(20,6)) AS over_receive_tolerance,
CAST(#{item.item} AS VARCHAR(64)) AS item,
CAST(#{item.value} AS VARCHAR(50)) AS c_value,
CAST(#{item.shipQty} AS INT) AS c_ship_qty,
CAST(#{item.sumPrice} AS DECIMAL(20,6)) AS c_sum_price,
CAST(#{item.narrival} AS DATETIME) AS c_narrival,
CAST(#{item.crd} AS DATETIME) AS c_crd,
CAST(#{item.inspection} AS DATETIME) AS c_inspection,
CAST(#{item.realCrd} AS DATETIME) AS c_real_crd,
CAST(#{item.eta} AS DATETIME) AS c_eta,
CAST(#{item.flexid} AS VARCHAR(50)) AS c_flexid,
CAST(#{item.obd} AS DATETIME) AS c_obd,
CAST(#{item.docSent} AS CHAR(1)) AS c_doc_sent,
CAST(#{item.telexRelease} AS CHAR(1)) AS c_telex_release,
CAST(#{item.advancePayment} AS CHAR(1)) AS c_advance_payment,
CAST(#{item.advancePaid} AS CHAR(1)) AS c_advance_paid,
CAST(#{item.createTime} AS DATETIME) AS create_time,
CAST(#{item.planner} AS VARCHAR(50)) AS c_planner,
CAST(#{item.edit} AS DATETIME) AS c_edit,
CAST(#{item.endPlanner} AS VARCHAR(50)) AS c_end_planner,
CAST(#{item.remarkDelay} AS VARCHAR(255)) AS c_remark_delay,
CAST(#{item.qtyCancelled} AS DECIMAL(20,6)) AS qty_cancelled,
CAST(#{item.inspectMethodDb} AS CHAR(1)) AS inspect_method_db,
CAST(#{item.toInvNofityQty} AS DECIMAL(20,6)) AS to_inv_nofity_qty,
CAST(#{item.uploadDate} AS DATETIME) AS upload_date,
CAST(#{item.orderRef1} AS VARCHAR(20)) AS order_ref1,
CAST(#{item.orderRef5} AS VARCHAR(20)) AS order_ref5,
CAST(#{item.batchNo} AS VARCHAR(18)) AS batch_no,
CAST(#{item.orderRef4} AS VARCHAR(20)) AS order_ref4,
CAST(#{item.prePayAmount} AS DECIMAL(20,6)) AS pre_pay_amount,
CAST(#{item.uploadBy} AS VARCHAR(50)) AS upload_by,
CAST(#{item.purLeadTime} AS DECIMAL(20,6)) AS pur_lead_time,
CAST(#{item.orderRefType} AS VARCHAR(20)) AS order_ref_type,
CAST(#{item.orderRef3} AS VARCHAR(20)) AS order_ref3,
CAST(#{item.needReceiveFlag} AS CHAR(1)) AS need_receive_flag,
CAST(#{item.uploadFlag} AS CHAR(1)) AS upload_flag,
CAST(#{item.prePayReverseAmount} AS DECIMAL(20,6)) AS pre_pay_reverse_amount,
CAST(#{item.outWorkOrderFlag} AS CHAR(1)) AS out_work_order_flag,
CAST(#{item.orderRef2} AS VARCHAR(20)) AS order_ref2,
CAST(#{item.qtyRbjs} AS DECIMAL(20,6)) AS qty_rbjs,
CAST(#{item.prePayPayAmount} AS DECIMAL(20,6)) AS pre_pay_pay_amount,
CAST(#{item.needDate} AS DATETIME) AS need_date,
CAST(#{item.inspectMethod} AS VARCHAR(20)) AS inspect_method,
CAST(#{item.invNotifyQty} AS DECIMAL(20,6)) AS inv_notify_qty
) t ON pd.id = t.id