pur_id, pur_no, pur_type, org_id, staff_id, sup_id, contact_name, contact_phone,
pickup_date, sys.f_remove_zero(sum_quantity) as sum_quantity, sum_standard, sum_amount, pur_discount, pur_status,
into_status, sys.f_remove_zero(intoing_qty) as intoing_qty, intoing_amt, sys.f_remove_zero(into_qty) as into_qty, into_amt,
sys.f_remove_zero(return_qty) as return_qty, return_amt,
amt_payable, amt_handle, amt_residue, remarks, annex_paths, make_staff, make_time, flg_valid, cp_id,
op_create_time, op_create_user_id, op_update_time, op_update_user_id, op_app_code, op_timestamp, op_db_user,
flg_auto_handle,inbound_processing_flag
tpp.pur_id,
tpp.pur_no,
tpp.pur_type,
tpp.org_id,
tpp.staff_id,
tpp.sup_id,
tpp.contact_name,
tpp.contact_phone,
tpp.pickup_date,
sys.f_remove_zero(tpp.sum_quantity) as sum_quantity,
tpp.sum_standard,
tpp.sum_amount,
tpp.pur_discount,
tpp.pur_status,
tpp.into_status,
sys.f_remove_zero(tpp.intoing_qty) as intoing_qty,
tpp.intoing_amt,
sys.f_remove_zero(tpp.into_qty) as into_qty,
tpp.into_amt,
sys.f_remove_zero(tpp.return_qty) as return_qty,
tpp.return_amt,
tpp.amt_payable,
tpp.amt_handle,
tpp.amt_residue,
tpp.remarks,
tpp.annex_paths,
tpp.make_staff,
tpp.make_time,
tpp.flg_valid,
tpp.cp_id,
tpp.op_create_time,
tpp.op_create_user_id,
tpp.op_update_time,
tpp.op_update_user_id,
tpp.op_app_code,
tpp.op_timestamp,
tpp.op_db_user,
tpp.wh_id,
tpp.from_ids,
tpp.from_nos,
tpp.flg_auto_handle,
tpp.inbound_processing_flag
AND pur_no = #{purNo}
AND pur_type = #{purType}
AND org_id = #{orgId}
AND staff_id = #{staffId}
AND sup_id = #{supId}
AND contact_name = #{contactName}
AND contact_phone = #{contactPhone}
AND pickup_date = #{pickupDate}
AND sum_quantity = #{sumQuantity}
AND sum_standard = #{sumStandard}
AND sum_amount = #{sumAmount}
AND pur_discount = #{purDiscount}
AND pur_status = #{purStatus}
AND into_status = #{intoStatus}
AND intoing_qty = #{intoingQty}
AND intoing_amt = #{intoingAmt}
AND into_qty = #{intoQty}
AND into_amt = #{intoAmt}
AND return_qty = #{returnQty}
AND return_amt = #{returnAmt}
AND amt_payable = #{amtPayable}
AND amt_handle = #{amtHandle}
AND amt_residue = #{amtResidue}
AND remarks = #{remarks}
AND annex_paths = #{annexPaths}
AND make_staff = #{makeStaff}
AND make_time = #{makeTime}
AND flg_valid = #{flgValid}
AND cp_id = #{cpId}
AND op_create_time = #{opCreateTime}
AND op_create_user_id = #{opCreateUserId}
AND op_update_time = #{opUpdateTime}
AND op_update_user_id = #{opUpdateUserId}
AND op_app_code = #{opAppCode}
AND op_timestamp = #{opTimestamp}
AND op_db_user = #{opDbUser}
AND tmo.org_name LIKE concat('%',my_ex.likequery(#{orgName}),'%')
AND tms.staff_name LIKE concat('%',my_ex.likequery(#{staffName}),'%')
AND tpp.pur_id = #{purId}::uuid
AND tpp.pur_no like concat('%', my_ex.likequery(#{purNo}) , '%')
AND tpp.pur_type = #{purType}
AND tpp.org_id = #{orgId}
AND tpp.staff_id = #{staffId}
AND tpp.sup_id = #{supId}::uuid
AND tpp.contact_name like concat('%', my_ex.likequery(#{contactName}) , '%')
AND tpp.contact_phone like concat('%', my_ex.likequery(#{contactPhone}) , '%')
AND tpp.pickup_date = #{pickupDate}
AND tpp.sum_quantity = #{sumQuantity}
AND tpp.sum_standard = #{sumStandard}
AND tpp.sum_amount = #{sumAmount}
AND tpp.pur_discount = #{purDiscount}
AND tpp.pur_status = #{purStatus}
AND tpp.into_status = #{intoStatus}
AND tpp.intoing_qty = #{intoingQty}
AND tpp.intoing_amt = #{intoingAmt}
AND tpp.into_qty = #{intoQty}
AND tpp.into_amt = #{intoAmt}
AND tpp.return_qty = #{returnQty}
AND tpp.return_amt = #{returnAmt}
AND tpp.amt_payable = #{amtPayable}
AND tpp.amt_handle = #{amtHandle}
AND tpp.amt_residue = #{amtResidue}
AND tpp.remarks = #{remarks}
AND tpp.annex_paths = #{annexPaths}
AND tpp.make_staff = #{makeStaff}
AND tpp.make_time = #{makeTime}
AND tpp.make_time >= #{makeTimeStart}::timestamp with time zone
AND tpp.make_time < #{makeTimeEnd}::timestamp with time zone + interval '1 day'
AND tpp.op_create_time = #{opCreateTime}
AND tpp.op_create_user_id = #{opCreateUserId}
AND tpp.op_update_time = #{opUpdateTime}
AND tpp.op_update_user_id = #{opUpdateUserId}
AND tpp.op_app_code = #{opAppCode}
AND tpp.op_timestamp = #{opTimestamp}
AND tpp.op_db_user = #{opDbUser}
AND tpp.into_status = #{intoStatus}
AND tpp.into_status =
any(#{intoStatusList,typeHandler=StringListTypeHandler})
and exists (select 1 from dkic_b.t_psi_purchase_item tppi
left join dkic_b.t_mst_goods_sku tmgs on tmgs.sku_id = tppi.sku_id
where
tpp.pur_id = tppi.pur_id
and tppi.flg_valid
AND position(#{skuName} in tmgs.sku_name) > 0
)
AND tpp.pickup_date >= #{pickupDateStart}::timestamp with time zone
AND tpp.pickup_date < #{pickupDateEnd}::timestamp with time zone + interval '1 day'
AND ( tmp.sup_name LIKE concat('%',my_ex.likequery(#{searchText}), '%')or
tpp.pur_no LIKE concat('%',my_ex.likequery(#{searchText}), '%'))
AND tpp.flg_valid = #{flgValid}
AND tpp.cp_id = #{cpId}
AND tpp.org_id = any(#{orgIds, typeHandler=UuidListTypeHandler})
AND tpp.staff_id = any(#{staffIds, typeHandler=uuidListTypeHandler})
WHERE pur_id in
#{item}
,tppi.item_id as "List_item_id",
tppi.pur_id as "List_pur_id",
tpp.pur_no as "List_pur_no",
tppi.item_index as "List_item_index",
tppi.sku_id as "List_sku_id",
sys.f_remove_zero(tppi.item_qty) as "List_item_qty",
tppi.price_std as "pricePurchase",
tppi.amt_std as "List_amt_std",
tppi.price_pur as "List_price_pur",
tppi.item_amt as "List_item_amt",
tppi.price_discount as "List_price_discount",
tppi.non_std_code as "List_non_std_code",
tppi.into_status as "List_into_status",
sys.f_remove_zero(tppi.intoing_qty) as "List_intoing_qty",
tppi.intoing_amt as "List_intoing_amt",
sys.f_remove_zero(tppi.into_qty) as "List_into_qty",
tppi.into_amt as "List_into_amt",
sys.f_remove_zero(tppi.return_qty) as "List_return_qty",
tppi.return_amt as "List_return_amt",
tppi.remarks as "List_remarks",
tppi.flg_valid as "List_flg_valid",
tppi.cp_id as "List_cp_id",
tppi.op_create_time as "List_op_create_time",
tppi.op_create_user_id as "List_op_create_user_id",
tppi.op_update_time as "List_op_update_time",
tppi.op_update_user_id as "List_op_update_user_id",
tppi.op_app_code as "List_op_app_code",
tppi.op_timestamp as "List_op_timestamp",
tppi.op_db_user as "List_op_db_user",
tmgs.sku_code AS list_sku_code,
tmgs.sku_name AS list_sku_name,
tmgb.short_name AS list_short_name,
tmgs.sku_model AS list_sku_model,
tmgs.price_purchase AS list_price_purchase,
tmgs.price_standard AS list_price_standard,
tmgs.sku_images AS list_sku_images,
sys.f_remove_zero(tpit.usable_qty) AS list_usable_qty,
sys.f_remove_zero(tpit.inv_qty) AS list_inv_qty,
tpit.outing_qty AS list_outing_qty,
sys.f_get_name_i18n(tdk1.kind_name_i18n, #{i18n}) as "intoStatusName",
sys.f_get_name_i18n(tdk2.kind_name_i18n, #{i18n}) as "purStatusName"
update dkic_b.t_psi_purchase
return_qty= #{returnQty},
return_amt = #{returnAmt},
where pur_id = #{purId}::uuid
update dkic_b.t_psi_purchase
pur_no = #{et.purNo,jdbcType=VARCHAR},
pur_type = #{et.purType,jdbcType=VARCHAR},
org_id = #{et.orgId,typeHandler=UuidTypeHandler},
staff_id = #{et.staffId,typeHandler=UuidTypeHandler},
sup_id = #{et.supId,typeHandler=UuidTypeHandler},
contact_name = #{et.contactName,jdbcType=VARCHAR},
contact_phone = #{et.contactPhone,jdbcType=VARCHAR},
pickup_date = #{et.pickupDate,jdbcType=DATE},
sum_quantity = #{et.sumQuantity,jdbcType=NUMERIC},
sum_standard = #{et.sumStandard,jdbcType=NUMERIC},
sum_amount = #{et.sumAmount,jdbcType=NUMERIC},
pur_discount = #{et.purDiscount,jdbcType=NUMERIC},
pur_status = #{et.purStatus,jdbcType=VARCHAR},
into_status = #{et.intoStatus,jdbcType=VARCHAR},
intoing_qty = intoing_qty + #{et.intoingQty,jdbcType=NUMERIC},
intoing_amt = intoing_amt + #{et.intoingAmt,jdbcType=NUMERIC},
into_qty = into_qty + #{et.intoQty,jdbcType=NUMERIC},
into_amt = into_amt + #{et.intoAmt,jdbcType=NUMERIC},
return_qty = #{et.returnQty,jdbcType=NUMERIC},
return_amt = #{et.returnAmt,jdbcType=NUMERIC},
amt_payable = #{et.amtPayable,jdbcType=NUMERIC},
amt_handle = #{et.amtHandle,jdbcType=NUMERIC},
amt_residue = #{et.amtResidue,jdbcType=NUMERIC},
remarks = #{et.remarks,jdbcType=VARCHAR},
annex_paths = #{et.annexPaths,typeHandler=JsonTypeHandler},
make_staff = #{et.makeStaff,jdbcType=OTHER},
make_time = #{et.makeTime,jdbcType=TIMESTAMP},
flg_valid = #{et.flgValid,jdbcType=BOOLEAN},
cp_id = #{et.cpId,jdbcType=INTEGER},
wh_id = #{et.whId,typeHandler=UuidTypeHandler},
flg_auto_handle = #{et.flgAutoHandle,jdbcType=BOOLEAN},
inbound_processing_flag = #{et.inboundProcessingFlag,jdbcType=BOOLEAN},
where pur_id = #{et.purId,typeHandler=UuidTypeHandler}
and sum_quantity >= (
into_qty
+ #{et.intoQty,jdbcType=NUMERIC}
+ intoing_qty
+ #{et.intoingQty,jdbcType=NUMERIC}
)