Untitled
unknown
plain_text
5 months ago
97 kB
2
Indexable
--IF NOT EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMI_APPS') --BEGIN -- CREATE DATABASE FAMI_APPS --END USE FAMI_APPS GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiordernotif') BEGIN CREATE TABLE famiordernotif ( POSID varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY(POSID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderHH') BEGIN CREATE TABLE famiorderHH ( OrderID varchar(100), Phone varchar(100), account_name VARCHAR(200), StoreCode varchar(100), OrderType varchar(100), PickUpTime varchar(100), Addr_Label varchar(100), Addr_Desc varchar(200), Addr_Map varchar(8000), Addr_phone_address varchar(100), Addr_note_address varchar(100), Addr_receiver varchar(100), Addr_longitude varchar(100), Addr_latitude varchar(100), TenderID varchar(100), TenderType varchar(100), TenderReferenceNo varchar(100), ShippingPrice DECIMAL(19,5), ShippingDisc DECIMAL(19,5), ShippingProvider varchar(100), ShippingReferenceNo varchar(100), ShippingTracking varchar(8000), Shipping_reference_no_tarif varchar(100), ShippingCourier varchar(8000), ShippingDesc varchar(200), TOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), Total_Tendered DECIMAL(19,5), ServicesFee DECIMAL(19,5), ServicesFeeFMI DECIMAL(19,5), ServicesFeeFMIDisc DECIMAL(19,5), Cashback_used DECIMAL(19,5), Cashback_borned DECIMAL(19,5), CouponShippingDiscID VARCHAR(100), CouponSalesDiscID VARCHAR(100), CouponDiscAmt DECIMAL(19,5), ReferenceNo varchar(100), Note varchar(8000), Rate varchar(100), Review varchar(8000), OrderSts varchar(100), ORDERDT DATETIME, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, RCPOSID VARCHAR(10), RCPOSMSG VARCHAR(8000), RCPOSDT datetime, POSReceiptNo VARCHAR(100), MotherStoreCode VARCHAR(100), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), RCUPDTRCPT VARCHAR(100), RMUPDTRCPT VARCHAR(200), DTUPDTRCPT DATETIME, RCUPDTRTN VARCHAR(100), RMUPDTRTN VARCHAR(200), DTUPDTRTN DATETIME, RTNJSON VARCHAR(8000), ISRTNFULL INT, RCPOSIDS2 VARCHAR(10), RCPOSMSGS2 VARCHAR(8000), RCPOSDTS2 DATETIME, RCKTCS2 VARCHAR(10), RCKTCMSGS2 VARCHAR(8000), RCKTCDTS2 datetime, KTCJSONS2 VARCHAR(8000), QUEUENO VARCHAR(100), S2NOTIF INT, RCRQPICKUP VARCHAR(10), RMRQPICKUP VARCHAR(8000), DTRQPICKUP DATETIME, JSONRQPICKUP VARCHAR(8000), IsCALLCSO varchar(10), CALLCSODT datetime, RCCALLCSO varchar(10), RMCALLCSO varchar(8000), ISGROCERY int, CouponSukaSukaID VARCHAR(100), CouponSukaSukaValue DECIMAL(19,5), RCSUPPLY VARCHAR(10), RMSUPPLY VARCHAR(100), RDSUPPLY DATETIME, ISSYNCSUPPLY INT, ISSYNCDTSUPPLY DATETIME, RTN_AMT DECIMAL(19,5), PRIMARY KEY (OrderID) ) CREATE INDEX famiorderHH_idx1 ON famiorderHH(POSReceiptNo) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2HH') BEGIN CREATE TABLE famiorderS2HH ( OrderID varchar(100), Phone varchar(100), account_name VARCHAR(200), StoreCode varchar(100), OrderType varchar(100), PickUpTime varchar(100), Addr_Label varchar(100), Addr_Desc varchar(200), Addr_Map varchar(8000), Addr_phone_address varchar(100), Addr_note_address varchar(100), Addr_receiver varchar(100), Addr_longitude varchar(100), Addr_latitude varchar(100), TenderID varchar(100), TenderType varchar(100), TenderReferenceNo varchar(100), ShippingPrice DECIMAL(19,5), ShippingDisc DECIMAL(19,5), ShippingProvider varchar(100), ShippingReferenceNo varchar(100), ShippingTracking varchar(8000), Shipping_reference_no_tarif varchar(100), ShippingCourier varchar(8000), ShippingDesc varchar(200), TOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), Total_Tendered DECIMAL(19,5), ServicesFee DECIMAL(19,5), ServicesFeeFMI DECIMAL(19,5), ServicesFeeFMIDisc DECIMAL(19,5), Cashback_used DECIMAL(19,5), Cashback_borned DECIMAL(19,5), CouponShippingDiscID VARCHAR(100), CouponSalesDiscID VARCHAR(100), CouponDiscAmt DECIMAL(19,5), ReferenceNo varchar(100), Note varchar(8000), Rate varchar(100), Review varchar(8000), OrderSts varchar(100), ORDERDT DATETIME, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, RCPOSID VARCHAR(10), RCPOSMSG VARCHAR(8000), RCPOSDT datetime, POSReceiptNo VARCHAR(100), MotherStoreCode VARCHAR(100), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), RCUPDTRCPT VARCHAR(100), RMUPDTRCPT VARCHAR(200), DTUPDTRCPT DATETIME, RCUPDTRTN VARCHAR(100), RMUPDTRTN VARCHAR(200), DTUPDTRTN DATETIME, RTNJSON VARCHAR(8000), ISRTNFULL INT, RCPOSIDS2 VARCHAR(10), RCPOSMSGS2 VARCHAR(8000), RCPOSDTS2 DATETIME, RCKTCS2 VARCHAR(10), RCKTCMSGS2 VARCHAR(8000), RCKTCDTS2 datetime, KTCJSONS2 VARCHAR(8000), QUEUENO VARCHAR(100), S2NOTIF INT, RCRQPICKUP VARCHAR(10), RMRQPICKUP VARCHAR(8000), DTRQPICKUP DATETIME, JSONRQPICKUP VARCHAR(8000), IsCALLCSO varchar(10), CALLCSODT datetime, RCCALLCSO varchar(10), RMCALLCSO varchar(8000), ISGROCERY int, CouponSukaSukaID VARCHAR(100), CouponSukaSukaValue DECIMAL(19,5), RCSUPPLY VARCHAR(10), RMSUPPLY VARCHAR(100), RDSUPPLY DATETIME, ISSYNCSUPPLY INT, ISSYNCDTSUPPLY DATETIME, RTN_AMT DECIMAL(19,5), PRIMARY KEY (OrderID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderHT') BEGIN CREATE TABLE famiorderHT ( SESSIONID varchar(100), OrderID varchar(100), Phone varchar(100), account_name VARCHAR(200), StoreCode varchar(100), OrderType varchar(100), PickUpTime varchar(100), Addr_Label varchar(100), Addr_Desc varchar(200), Addr_Map varchar(8000), Addr_phone_address varchar(100), Addr_note_address varchar(100), Addr_receiver varchar(100), Addr_longitude varchar(100), Addr_latitude varchar(100), TenderID varchar(100), TenderType varchar(100), TenderReferenceNo varchar(100), ShippingPrice DECIMAL(19,5), ShippingDisc DECIMAL(19,5), ShippingProvider varchar(100), ShippingReferenceNo varchar(100), ShippingTracking varchar(8000), Shipping_reference_no_tarif varchar(100), ShippingCourier varchar(8000), ShippingDesc varchar(200), TOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), Total_Tendered DECIMAL(19,5), ServicesFee DECIMAL(19,5), ServicesFeeFMI DECIMAL(19,5), ServicesFeeFMIDisc DECIMAL(19,5), Cashback_used DECIMAL(19,5), Cashback_borned DECIMAL(19,5), CouponShippingDiscID VARCHAR(100), CouponSalesDiscID VARCHAR(100), CouponDiscAmt DECIMAL(19,5), ReferenceNo varchar(100), Note varchar(8000), Rate varchar(100), Review varchar(8000), OrderSts varchar(100), ORDERDT DATETIME, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, RCPOSID VARCHAR(10), RCPOSMSG VARCHAR(8000), RCPOSDT datetime, POSReceiptNo VARCHAR(100), MotherStoreCode VARCHAR(100), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), CouponSukaSukaID VARCHAR(100), CouponSukaSukaValue DECIMAL(19,5), PRIMARY KEY (SESSIONID,OrderID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderDH') BEGIN CREATE TABLE famiorderDH ( OrderID varchar(100), LNITMSEQ INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), CategoryID varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), QTYPROMO DECIMAL(17,5), DISC DECIMAL(19,5), SUBTOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), VIPID VARCHAR(100), TOTAL DECIMAL(19,5), TOTALPROMO DECIMAL(19,5), ADDITIONAL VARCHAR(8000), TOPPING VARCHAR(8000), TOPINGPRICE DECIMAL(19,5), PROMOCODE VARCHAR(100), NOTE VARCHAR(8000), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,LNITMSEQ) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2DH') BEGIN CREATE TABLE famiorderS2DH ( OrderID varchar(100), LNITMSEQ INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), CategoryID varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), QTYPROMO DECIMAL(17,5), DISC DECIMAL(19,5), SUBTOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), VIPID VARCHAR(100), TOTAL DECIMAL(19,5), TOTALPROMO DECIMAL(19,5), ADDITIONAL VARCHAR(8000), TOPPING VARCHAR(8000), TOPINGPRICE DECIMAL(19,5), PROMOCODE VARCHAR(100), NOTE VARCHAR(8000), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,LNITMSEQ) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderSuppliesHH') BEGIN CREATE TABLE famiorderSuppliesHH ( OrderID varchar(100), IsConfirmed int, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,IsConfirmed) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderSuppliesDH') BEGIN CREATE TABLE famiorderSuppliesDH ( OrderID varchar(100), Barcode varchar(100), Qty Decimal(17,5), IsSync int, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,Barcode) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderSuppliesT') BEGIN CREATE TABLE famiorderSuppliesT ( SESSIONID varchar(100), OrderID varchar(100), Barcode varchar(100), Qty Decimal(17,5), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (SESSIONID,OrderID,Barcode) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2SuppliesHH') BEGIN CREATE TABLE famiorderS2SuppliesHH ( OrderID varchar(100), IsConfirmed int, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,IsConfirmed) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2SuppliesDH') BEGIN CREATE TABLE famiorderS2SuppliesDH ( OrderID varchar(100), Barcode varchar(100), Qty Decimal(17,5), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,Barcode) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderDT') BEGIN CREATE TABLE famiorderDT ( SESSIONID varchar(100), OrderID varchar(100), LNITMSEQ INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), CategoryID varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), QTYPROMO DECIMAL(17,5), DISC DECIMAL(19,5), SUBTOTAL DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), VIPID VARCHAR(100), TOTAL DECIMAL(19,5), TOTALPROMO DECIMAL(19,5), ADDITIONAL VARCHAR(8000), TOPPING VARCHAR(8000), TOPINGPRICE DECIMAL(19,5), PROMOCODE VARCHAR(100), NOTE VARCHAR(8000), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (SESSIONID,OrderID,LNITMSEQ) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderAddonDH') BEGIN CREATE TABLE famiorderAddonDH ( OrderID varchar(100), LNITMSEQ INT, ORD INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), DISC DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), TOTAL DECIMAL(19,5), PROMOCODE VARCHAR(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,LNITMSEQ,ORD) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderAddonS2DH') BEGIN CREATE TABLE famiorderAddonS2DH ( OrderID varchar(100), LNITMSEQ INT, ORD INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), DISC DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), TOTAL DECIMAL(19,5), PROMOCODE VARCHAR(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,LNITMSEQ,ORD) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderAddonDT') BEGIN CREATE TABLE famiorderAddonDT ( SESSIONID varchar(100), OrderID varchar(100), LNITMSEQ INT, ORD INT, ItemCode varchar(100), Barcode varchar(100), ItemDescriptionLong varchar(200), ItemDescriptionShort varchar(100), ItemType varchar(100), MerchCat varchar(100), TaxCode varchar(100), UnitPrice DECIMAL(19,5), QTY DECIMAL(17,5), DISC DECIMAL(19,5), DPP DECIMAL(19,5), TAX DECIMAL(19,5), TOTAL DECIMAL(19,5), PROMOCODE VARCHAR(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (SESSIONID,OrderID,LNITMSEQ,ORD) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderPH') BEGIN CREATE TABLE famiorderPH ( OrderID varchar(100), StoreCode varchar(100), PROMOCODE VARCHAR(100), LIMITQTY INT, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,PROMOCODE) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2PH') BEGIN CREATE TABLE famiorderS2PH ( OrderID varchar(100), StoreCode varchar(100), PROMOCODE VARCHAR(100), LIMITQTY INT, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,PROMOCODE) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderPT') BEGIN CREATE TABLE famiorderPT ( SESSIONID varchar(100), OrderID varchar(100), StoreCode varchar(100), PROMOCODE VARCHAR(100), LIMITQTY INT, [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (SESSIONID,OrderID,PROMOCODE) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderFH') BEGIN CREATE TABLE famiorderFH ( OrderID varchar(100), S1 varchar(100), S1DT datetime, S2 varchar(100), S2DT datetime, QueueNo varchar(100), POSReceiptNo varchar(100), CashierID varchar(100), RPCK_STS varchar(100), RPCK_DT datetime, call_cso varchar(100), call_csoDT datetime, finish_cso varchar(100), finishcsoDT datetime, RTN_STS varchar(100), RTN_JSON varchar(8000), RFN_STS varchar(100), RFN_JSON varchar(8000), isFullReturn varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, S1RC varchar(100), S1RM varchar(8000), S1RD datetime, S2RC varchar(100), S2RM varchar(8000), S2RD datetime, RTN_AMT DECIMAL(19,5), SUPLY_JSON VARCHAR(8000), KITCHEN_JSON VARCHAR(8000), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), MotherStoreCode VARCHAR(100), JSONRQPICKUP VARCHAR(8000), ISGROCERY VARCHAR(100), PRIMARY KEY (OrderID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2FH') BEGIN CREATE TABLE famiorderS2FH ( OrderID varchar(100), S1 varchar(100), S1DT datetime, S2 varchar(100), S2DT datetime, QueueNo varchar(100), POSReceiptNo varchar(100), CashierID varchar(100), RPCK_STS varchar(100), RPCK_DT datetime, call_cso varchar(100), call_csoDT datetime, finish_cso varchar(100), finishcsoDT datetime, RTN_STS varchar(100), RTN_JSON varchar(8000), RFN_STS varchar(100), RFN_JSON varchar(8000), isFullReturn varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, S1RC varchar(100), S1RM varchar(8000), S1RD datetime, S2RC varchar(100), S2RM varchar(8000), S2RD datetime, RTN_AMT DECIMAL(19,5), SUPLY_JSON VARCHAR(8000), KITCHEN_JSON VARCHAR(8000), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), MotherStoreCode VARCHAR(100), JSONRQPICKUP VARCHAR(8000), ISGROCERY VARCHAR(100), PRIMARY KEY (OrderID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderFT') BEGIN CREATE TABLE famiorderFT ( SESSIONID varchar(100), OrderID varchar(100), S1 varchar(100), S1DT datetime, S2 varchar(100), S2DT datetime, QueueNo varchar(100), POSReceiptNo varchar(100), CashierID varchar(100), RPCK_STS varchar(100), RPCK_DT datetime, call_cso varchar(100), call_csoDT datetime, finish_cso varchar(100), finishcsoDT datetime, RTN_STS varchar(100), RTN_JSON varchar(8000), RFN_STS varchar(100), RFN_JSON varchar(8000), isFullReturn varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, S1RC varchar(100), S1RM varchar(8000), S1RD datetime, S2RC varchar(100), S2RM varchar(8000), S2RD datetime, RTN_AMT DECIMAL(19,5), SUPLY_JSON VARCHAR(8000), KITCHEN_JSON VARCHAR(8000), Businessday VARCHAR(100), POSID VARCHAR(100), SHIFTID VARCHAR(100), MotherStoreCode VARCHAR(100), JSONRQPICKUP VARCHAR(8000), ISGROCERY VARCHAR(100), PRIMARY KEY (SESSIONID,OrderID) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderSubsT') BEGIN CREATE TABLE famiorderSubsT ( SESSIONID varchar(100), OrderID varchar(100), old_article varchar(100), old_qty DECIMAL(17,5), old_price DECIMAL(19,5), old_barcode VARCHAR(100), new_article varchar(100), new_qty DECIMAL(17,5), new_price DECIMAL(19,5), new_barcode VARCHAR(100), trx_date DATETIME, NOTE VARCHAR(8000), detail_id varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (SESSIONID,OrderID,detail_id) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderSubsH') BEGIN CREATE TABLE famiorderSubsH ( OrderID varchar(100), old_article varchar(100), old_qty DECIMAL(17,5), old_price DECIMAL(19,5), old_barcode VARCHAR(100), new_article varchar(100), new_qty DECIMAL(17,5), new_price DECIMAL(19,5), new_barcode VARCHAR(100), trx_date DATETIME, NOTE VARCHAR(8000), detail_id varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,detail_id) ) END GO IF NOT EXISTS (SELECT '' from sysobjects where name = 'famiorderS2SubsH') BEGIN CREATE TABLE famiorderS2SubsH ( OrderID varchar(100), old_article varchar(100), old_qty DECIMAL(17,5), old_price DECIMAL(19,5), old_barcode VARCHAR(100), new_article varchar(100), new_qty DECIMAL(17,5), new_price DECIMAL(19,5), new_barcode VARCHAR(100), trx_date DATETIME, NOTE VARCHAR(8000), detail_id varchar(100), [CRUSRID] [varchar](100) NOT NULL, [CREATDT] [datetime] NOT NULL, [MDFUSRID] [varchar](100) NOT NULL, [MODIFDT] [datetime] NOT NULL, PRIMARY KEY (OrderID,detail_id) ) END GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_CORE_POST_TRANSACTION') DROP PROC FAMIAPPS_EY_CORE_POST_TRANSACTION GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_DELETE_ALL_TEMP_TABLE') DROP PROC FAMIAPPS_EY_DELETE_ALL_TEMP_TABLE GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_HEADER_TRANSACTION_TEMP') DROP PROC FAMIAPPS_EY_SAVE_HEADER_TRANSACTION_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_DETAIL_TRANSACTION_TEMP') DROP PROC FAMIAPPS_EY_SAVE_DETAIL_TRANSACTION_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_DETAIL_ADDON_TRANSACTION_TEMP') DROP PROC FAMIAPPS_EY_SAVE_DETAIL_ADDON_TRANSACTION_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_PROMO_HAPPEN_TEMP') DROP PROC FAMIAPPS_EY_SAVE_PROMO_HAPPEN_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST') DROP PROC FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_EXECUTE_AUTOMATIC_TRANSACTION') DROP PROC FAMIAPPS_EY_EXECUTE_AUTOMATIC_TRANSACTION GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_UPDATE_RECEIPTNO_SUBMIT') DROP PROC FAMIAPPS_UPDATE_RECEIPTNO_SUBMIT GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_DISPLAY_ORDER_UNSUBMIT_RECEIPTNO') DROP PROC FAMIAPPS_DISPLAY_ORDER_UNSUBMIT_RECEIPTNO GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_DISPLAY_RETURN_JSON_TO_BE_SEND') DROP PROC FAMIAPPS_EY_DISPLAY_RETURN_JSON_TO_BE_SEND GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_UPDATE_RETURN_JSON_SENT_STATUS') DROP PROC FAMIAPPS_EY_UPDATE_RETURN_JSON_SENT_STATUS GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST_S2') DROP PROC FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_GENERATE_ORDER_KITCHEN_JSON_S2') DROP PROC FAMIAPPS_GENERATE_ORDER_KITCHEN_JSON_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_UPDATE_ORDER_KITCHEN_JSON_S2') DROP PROC FAMIAPPS_UPDATE_ORDER_KITCHEN_JSON_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_DISPLAY_ORDER_TO_GENERATE_KITCHEN_JSON_S2') DROP PROC FAMIAPPS_DISPLAY_ORDER_TO_GENERATE_KITCHEN_JSON_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_DISPLAY_REQUEST_PICKUP_DELIVERY_ORDER_S2') DROP PROC FAMIAPPS_DISPLAY_REQUEST_PICKUP_DELIVERY_ORDER_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_UPDATE_REQUEST_PICKUP_DELIVERY_ORDER_S2') DROP PROC FAMIAPPS_UPDATE_REQUEST_PICKUP_DELIVERY_ORDER_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_DISPLAY_REQUEST_TO_KITCHEN_ORDER_S2') DROP PROC FAMIAPPS_DISPLAY_REQUEST_TO_KITCHEN_ORDER_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_UPDATE_ORDER_SEND_TO_KITCHEN_S2') DROP PROC FAMIAPPS_UPDATE_ORDER_SEND_TO_KITCHEN_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_DISPLAY_AUTO_RECEIVED_ORDER') DROP PROC FAMIAPPS_DISPLAY_AUTO_RECEIVED_ORDER GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_FULFILLMENT_TEMP') DROP PROC FAMIAPPS_EY_SAVE_FULFILLMENT_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_DISPLAY_SUPPLY_JSON_TO_BE_SEND_S2') DROP PROC FAMIAPPS_EY_DISPLAY_SUPPLY_JSON_TO_BE_SEND_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_UPDATE_SUPPLY_JSON_SENT_STATUS_S2') DROP PROC FAMIAPPS_EY_UPDATE_SUPPLY_JSON_SENT_STATUS_S2 GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_SUPPLIES_TEMP') DROP PROC FAMIAPPS_EY_SAVE_SUPPLIES_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_ADD_SUPPLIES_TO_SALES_TRANSACTION') DROP PROC FAMIAPPS_EY_ADD_SUPPLIES_TO_SALES_TRANSACTION GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_EY_SAVE_SUBSTITUTION_TEMP') DROP PROC FAMIAPPS_EY_SAVE_SUBSTITUTION_TEMP GO IF EXISTS (SELECT '' FROM SYSOBJECTS WHERE NAME = 'FAMIAPPS_SAVE_KITCHEN_TRANSACTION') DROP PROC FAMIAPPS_SAVE_KITCHEN_TRANSACTION GO CREATE PROC FAMIAPPS_DISPLAY_ORDER_UNSUBMIT_RECEIPTNO as set nocount on BEGIN TRY BEGIN TRAN SELECT OrderID,POSReceiptNo,RCPOSID,RCPOSMSG,Businessday,POSID,SHIFTID,MotherStoreCode FROM famiorderHH WHERE RCUPDTRCPT<>'200' AND POSReceiptNo <> '' COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_UPDATE_RECEIPTNO_SUBMIT @OrderID varchar(100), @RCUPDTRCPT VARCHAR(100), @RMUPDTRCPT VARCHAR(200), @DTUPDTRCPT DATETIME as set nocount on BEGIN TRY BEGIN TRAN UPDATE famiorderHH SET RCUPDTRCPT = @RCUPDTRCPT, RMUPDTRCPT = @RMUPDTRCPT,DTUPDTRCPT = @DTUPDTRCPT WHERE OrderID = @OrderID COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST @SESSIONID varchar(100) as set nocount on BEGIN TRY DECLARE @OrderID varchar(100) DECLARE CSR CURSOR FOR SELECT OrderID FROM famiorderHT WHERE SESSIONID = @SESSIONID OPEN CSR FETCH NEXT FROM CSR INTO @OrderID WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY BEGIN TRAN IF EXISTS (SELECT '' FROM famiorderHH WHERE OrderID = @OrderID) BEGIN DELETE FROM famiorderDH WHERE OrderID = @OrderID INSERT INTO famiorderDH(OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE) SELECT OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE FROM famiorderDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderAddonDH WHERE OrderID = @OrderID INSERT INTO famiorderAddonDH(OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderAddonDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderPH WHERE OrderID = @OrderID INSERT INTO famiorderPH(OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderPT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderFH WHERE OrderID = @OrderID INSERT INTO famiorderFH(OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY) SELECT OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY FROM famiorderFT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiordersubsH WHERE OrderID = @OrderID INSERT INTO famiordersubsH(OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiordersubsT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID --ADDING SUPPLIES IF EXISTS (SELECT '' FROM famiorderSuppliesT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID) BEGIN IF NOT EXISTS (SELECT '' FROM famiorderSuppliesHH WHERE OrderID = @OrderID) BEGIN DELETE FROM famiorderSuppliesDH WHERE OrderID = @OrderID INSERT INTO famiorderSuppliesDH(OrderID,Barcode,Qty,IsSync,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,Barcode,Qty,0,CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderSuppliesT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderSuppliesHH(OrderID,IsConfirmed,CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES (@OrderID,0,'SYSTEMS',GETDATE(),'','1900-01-01') END END --Update basic data : Order Status, Shipping Reference, Shipping Tracking, Rate, Review, Account Name UPDATE FamiorderHH SET OrderSts = famiorderHT.OrderSts, ShippingReferenceNo = famiorderHT.ShippingReferenceNo, ShippingTracking = famiorderHT.ShippingTracking, Rate = famiorderHT.Rate, Review = famiorderHT.Review, account_name = famiorderHT.account_name, TenderType = famiorderHT.TenderType FROM famiorderHT WHERE SESSIONID = @SESSIONID AND FamiorderHH.OrderID = @OrderID AND FamiorderHH.OrderID = famiorderHT.OrderID --Update dari S2 : Queue, CallCSO, CallCSODT UPDATE FamiorderHH SET QUEUENO = famiorderFT.QueueNo, IsCALLCSO = famiorderFT.call_cso, CALLCSODT = famiorderFT.call_csoDT FROM famiorderFT WHERE SESSIONID = @SESSIONID AND FamiorderHH.OrderID = @OrderID AND FamiorderHH.OrderID = famiorderFT.OrderID UPDATE famiorderHT SET RCPOSID = '200',RCPOSMSG = 'SUCCESS', RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID END ELSE BEGIN DECLARE @ISGROCERY AS INT = 0 IF EXISTS ( SELECT Barcode FROM famiorderDT WHERE Barcode NOT IN (SELECT Barcode FROM RETAIL_MASTER.dbo.MItemKitchenModule) AND SESSIONID = @SESSIONID AND OrderID = @OrderID) BEGIN SET @ISGROCERY = 1 END INSERT INTO famiorderHH(OrderID,Phone,account_name,StoreCode,OrderType,PickUpTime, Addr_Label,Addr_Desc,Addr_Map,Addr_phone_address,Addr_note_address,Addr_receiver,Addr_longitude,Addr_latitude, TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,ShippingReferenceNo,ShippingTracking,Shipping_reference_no_tarif,ShippingCourier,ShippingDesc, TOTAL,DPP,TAX,Total_Tendered,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Cashback_used,Cashback_borned, CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt,ReferenceNo,Note,Rate,Review,OrderSts,ORDERDT, CRUSRID,CREATDT,MDFUSRID,MODIFDT, RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,MotherStoreCode,Businessday,POSID,SHIFTID, RCUPDTRCPT,RMUPDTRCPT,DTUPDTRCPT, RCUPDTRTN,RMUPDTRTN,DTUPDTRTN,RTNJSON,ISRTNFULL, RCPOSIDS2,RCPOSMSGS2,RCPOSDTS2,RCKTCS2,RCKTCMSGS2,RCKTCDTS2,KTCJSONS2,QUEUENO,S2NOTIF, RCRQPICKUP,RMRQPICKUP,DTRQPICKUP,JSONRQPICKUP, isCALLCSO,CALLCSODT,RCCALLCSO,RMCALLCSO,ISGROCERY,CouponSukaSukaID,CouponSukaSukaValue, RCSUPPLY,RMSUPPLY,RDSUPPLY,ISSYNCSUPPLY,ISSYNCDTSUPPLY,RTN_AMT) SELECT OrderID,Phone,account_name,StoreCode,OrderType,PickUpTime, Addr_Label,Addr_Desc,Addr_Map,Addr_phone_address,Addr_note_address,Addr_receiver,Addr_longitude,Addr_latitude, TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,ShippingReferenceNo,ShippingTracking,Shipping_reference_no_tarif,ShippingCourier,ShippingDesc, TOTAL,DPP,TAX,Total_Tendered,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Cashback_used,Cashback_borned, CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt,ReferenceNo,Note,Rate,Review,OrderSts,ORDERDT, CRUSRID,CREATDT,MDFUSRID,MODIFDT, RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,MotherStoreCode,Businessday,POSID,SHIFTID, '','','1900-01-01', '','','1900-01-01','',0, '','','1900-01-01','','','1900-01-01','','',0, '','','1900-01-01','', '0','1900-01-01','','',@ISGROCERY,CouponSukaSukaID,CouponSukaSukaValue, 0,'','1900-01-01',0,'1900-01-01',0 FROM famiorderHT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderDH(OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE) SELECT OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE FROM famiorderDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderAddonDH(OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderAddonDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderPH(OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderPT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderFH(OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY) SELECT OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY FROM famiorderFT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiordersubsH(OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiordersubsT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID --Start Recovery if needed --Update ReceiptNo UPDATE famiorderHH SET POSReceiptNo = famiorderFH.POSReceiptNo, RCPOSID = '200', RCPOSMSG = 'SUCCESS', RCPOSDT = famiorderFH.S1DT, MotherStoreCode = '0000007777',RCUPDTRCPT = '200',RMUPDTRCPT = 'SUCCESS', DTUPDTRCPT = famiorderFH.S1DT FROM famiorderFH WHERE famiorderHH.OrderID = famiorderFH.OrderID AND ISNULL(famiorderHH.POSReceiptNo,'') = '' AND ISNULL(famiorderFH.POSReceiptNo,'') <> '' --Update ReturnJSON UPDATE famiorderHH SET RTNJSON = famiorderFH.RTN_JSON, RTN_AMT = famiorderFH.RTN_AMT, RCUPDTRTN = '200', RMUPDTRTN = 'SUCCESS',DTUPDTRTN = famiorderFH.S1DT, ISRTNFULL = famiorderFH.isFullReturn FROM famiorderFH WHERE famiorderHH.OrderID = famiorderFH.OrderID AND ISNULL(famiorderHH.RTNJSON,'') = '' AND ISNULL(famiorderFH.RTN_JSON,'') <> '' --End Recovery if needed --Update dari S2 : Queue, CallCSO, CallCSODT UPDATE FamiorderHH SET QUEUENO = famiorderFT.QueueNo, IsCALLCSO = famiorderFT.call_cso, CALLCSODT = famiorderFT.call_csoDT FROM famiorderFT WHERE SESSIONID = @SESSIONID AND FamiorderHH.OrderID = @OrderID AND FamiorderHH.OrderID = famiorderFT.OrderID UPDATE famiorderHT SET RCPOSID = '200',RCPOSMSG = 'SUCCESS', RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID END COMMIT END TRY BEGIN CATCH IF @@trancount > 0 BEGIN ROLLBACK END DECLARE @ERROR AS VARCHAR(MAX)='' SET @ERROR = ERROR_MESSAGE() UPDATE famiorderHT SET RCPOSID = '400',RCPOSMSG = @ERROR, RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID END CATCH FETCH NEXT FROM CSR INTO @OrderID END CLOSE CSR DEALLOCATE CSR SELECT OrderID,RCPOSID,RCPOSMSG,RCPOSDT FROM famiorderHT WHERE SESSIONID = @SESSIONID END TRY BEGIN CATCH IF @@trancount > 0 BEGIN ROLLBACK END IF CURSOR_STATUS('global','CSR')>=-1 BEGIN CLOSE CSR DEALLOCATE CSR END DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_ORDER_TEMP_TO_HIST_S2 @SESSIONID varchar(100) as set nocount on BEGIN TRY DECLARE @OrderID varchar(100) DECLARE CSR CURSOR FOR SELECT OrderID FROM famiorderHT WHERE SESSIONID = @SESSIONID OPEN CSR FETCH NEXT FROM CSR INTO @OrderID WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY BEGIN TRAN IF EXISTS (SELECT '' FROM famiorderS2HH WHERE OrderID = @OrderID) BEGIN DELETE FROM famiorderS2DH WHERE OrderID = @OrderID INSERT INTO famiorderS2DH(OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE) SELECT OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE FROM famiorderDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderAddonS2DH WHERE OrderID = @OrderID INSERT INTO famiorderAddonS2DH(OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderAddonDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderS2PH WHERE OrderID = @OrderID INSERT INTO famiorderS2PH(OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderPT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderS2FH WHERE OrderID = @OrderID INSERT INTO famiorderS2FH(OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY) SELECT OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY FROM famiorderFT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID DELETE FROM famiorderS2subsH WHERE OrderID = @OrderID INSERT INTO famiorderS2subsH(OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiordersubsT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID --Update basic data : Order Status, Shipping Reference, Shipping Tracking, Rate, Review UPDATE famiorderS2HH SET OrderSts = famiorderHT.OrderSts, ShippingReferenceNo = famiorderHT.ShippingReferenceNo, ShippingTracking = famiorderHT.ShippingTracking, Rate = famiorderHT.Rate, Review = famiorderHT.Review, account_name = famiorderHT.account_name FROM famiorderHT WHERE SESSIONID = @SESSIONID AND famiorderS2HH.OrderID = @OrderID AND famiorderS2HH.OrderID = famiorderHT.OrderID --Update dari S1 : ReceiptNo, IsReturnedFull, CALL_CSO UPDATE famiorderS2HH SET POSReceiptNo = famiorderFT.POSReceiptNo, ISRTNFULL = famiorderFT.isFullReturn, RTNJSON = famiorderFT.RTN_JSON, RTN_AMT = famiorderFT.RTN_AMT, IsCALLCSO = famiorderFT.call_cso, CALLCSODT = famiorderFT.call_csoDT FROM famiorderFT WHERE SESSIONID = @SESSIONID AND famiorderS2HH.OrderID = @OrderID AND famiorderS2HH.OrderID = famiorderFT.OrderID UPDATE famiorderHT SET RCPOSID = '200',RCPOSMSG = 'SUCCESS', RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID END ELSE BEGIN DECLARE @ISGROCERY AS INT = 0 IF EXISTS ( SELECT Barcode FROM famiorderDT WHERE Barcode NOT IN (SELECT Barcode FROM RETAIL_MASTER.dbo.MItemKitchenModule) AND SESSIONID = @SESSIONID AND OrderID = @OrderID) BEGIN SET @ISGROCERY = 1 END INSERT INTO famiorderS2HH(OrderID,Phone,account_name,StoreCode,OrderType,PickUpTime, Addr_Label,Addr_Desc,Addr_Map,Addr_phone_address,Addr_note_address,Addr_receiver,Addr_longitude,Addr_latitude, TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,ShippingReferenceNo,ShippingTracking,Shipping_reference_no_tarif,ShippingCourier,ShippingDesc, TOTAL,DPP,TAX,Total_Tendered,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Cashback_used,Cashback_borned, CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt,ReferenceNo,Note,Rate,Review,OrderSts,ORDERDT, CRUSRID,CREATDT,MDFUSRID,MODIFDT, RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,MotherStoreCode,Businessday,POSID,SHIFTID, RCUPDTRCPT,RMUPDTRCPT,DTUPDTRCPT, RCUPDTRTN,RMUPDTRTN,DTUPDTRTN,RTNJSON,ISRTNFULL, RCPOSIDS2,RCPOSMSGS2,RCPOSDTS2,RCKTCS2,RCKTCMSGS2,RCKTCDTS2,KTCJSONS2,QUEUENO,S2NOTIF, RCRQPICKUP,RMRQPICKUP,DTRQPICKUP,JSONRQPICKUP, isCALLCSO,CALLCSODT,RCCALLCSO,RMCALLCSO,ISGROCERY,CouponSukaSukaID,CouponSukaSukaValue, RCSUPPLY,RMSUPPLY,RDSUPPLY,ISSYNCSUPPLY,ISSYNCDTSUPPLY,RTN_AMT) SELECT OrderID,Phone,account_name,StoreCode,OrderType,PickUpTime, Addr_Label,Addr_Desc,Addr_Map,Addr_phone_address,Addr_note_address,Addr_receiver,Addr_longitude,Addr_latitude, TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,ShippingReferenceNo,ShippingTracking,Shipping_reference_no_tarif,ShippingCourier,ShippingDesc, TOTAL,DPP,TAX,Total_Tendered,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Cashback_used,Cashback_borned, CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt,ReferenceNo,Note,Rate,Review,OrderSts,ORDERDT, CRUSRID,CREATDT,MDFUSRID,MODIFDT, RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,MotherStoreCode,Businessday,POSID,SHIFTID, '','','1900-01-01', '','','1900-01-01','',0, '','','1900-01-01','','','1900-01-01','','',0, '','','1900-01-01','', '0','1900-01-01','','',@ISGROCERY,CouponSukaSukaID,CouponSukaSukaValue, 0,'','1900-01-01',0,'1900-01-01',0 FROM famiorderHT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderS2DH(OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE) SELECT OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE FROM famiorderDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderAddonS2DH(OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderAddonDT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderS2PH(OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiorderPT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderS2FH(OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY) SELECT OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY FROM famiorderFT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiorderS2subsH(OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT FROM famiordersubsT WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID --Start Recovery if needed UPDATE famiorderS2HH SET QUEUENO = famiorderS2FH.QueueNo, RCKTCS2 = '200', RCKTCMSGS2 = 'SUCCESS', RCKTCDTS2 = famiorderS2FH.S2DT FROM famiorderS2FH WHERE famiorderS2HH.OrderID = famiorderS2FH.OrderID AND ISNULL(famiorderS2HH.QUEUENO,'') = '' AND ISNULL(famiorderS2FH.QueueNo,'') <> '' --End Recovery if needed --Update dari S1 : ReceiptNo, IsReturnedFull, CALL_CSO UPDATE famiorderS2HH SET POSReceiptNo = famiorderFT.POSReceiptNo, ISRTNFULL = famiorderFT.isFullReturn, RTNJSON = famiorderFT.RTN_JSON, IsCALLCSO = famiorderFT.call_cso, CALLCSODT = famiorderFT.call_csoDT FROM famiorderFT WHERE SESSIONID = @SESSIONID AND famiorderS2HH.OrderID = @OrderID AND famiorderS2HH.OrderID = famiorderFT.OrderID UPDATE famiorderHT SET RCPOSID = '200',RCPOSMSG = 'SUCCESS', RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID INSERT INTO famiordernotif(POSID,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT DISTINCT POSID,@SESSIONID,GETDATE(),'','1900-01-01' FROM RETAIL_TRANSACTION.dbo.TrBusinessday WHERE POSID NOT IN (SELECT POSID FROM famiordernotif) AND POSID NOT IN (SELECT POSID FROM RETAIL_SYSTEMS.dbo.MSetupPOSKiosk) END COMMIT END TRY BEGIN CATCH IF @@trancount > 0 BEGIN ROLLBACK END DECLARE @ERROR AS VARCHAR(MAX)='' SET @ERROR = ERROR_MESSAGE() UPDATE famiorderHT SET RCPOSID = '400',RCPOSMSG = @ERROR, RCPOSDT = GETDATE() WHERE SESSIONID = @SESSIONID AND OrderID = @OrderID END CATCH FETCH NEXT FROM CSR INTO @OrderID END CLOSE CSR DEALLOCATE CSR SELECT OrderID,RCPOSID,RCPOSMSG,RCPOSDT FROM famiorderHT WHERE SESSIONID = @SESSIONID END TRY BEGIN CATCH IF @@trancount > 0 BEGIN ROLLBACK END IF CURSOR_STATUS('global','CSR')>=-1 BEGIN CLOSE CSR DEALLOCATE CSR END DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_DELETE_ALL_TEMP_TABLE @SESSIONID varchar(100) as set nocount on BEGIN TRY BEGIN TRAN DELETE FROM famiorderHT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderDT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderAddonDT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderPT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderFT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderSuppliesT WHERE SESSIONID = @SESSIONID DELETE FROM famiorderSubsT WHERE SESSIONID = @SESSIONID COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_FULFILLMENT_TEMP @SESSIONID varchar(100), @OrderID varchar(100), @S1 varchar(100), @S1DT datetime, @S2 varchar(100), @S2DT datetime, @QueueNo varchar(100), @POSReceiptNo varchar(100), @CashierID varchar(100), @RPCK_STS varchar(100), @RPCK_DT datetime, @call_cso varchar(100), @call_csoDT datetime, @finish_cso varchar(100), @finishcsoDT datetime, @RTN_STS varchar(100), @RTN_JSON varchar(8000), @RFN_STS varchar(100), @RFN_JSON varchar(8000), @isFullReturn varchar(100), @SYSUSR VARCHAR(100), @S1RC varchar(100), @S1RM varchar(8000), @S1RD datetime, @S2RC varchar(100), @S2RM varchar(8000), @S2RD datetime, @RTN_AMT DECIMAL(19,5), @SUPLY_JSON VARCHAR(8000), @KITCHEN_JSON VARCHAR(8000), @Businessday VARCHAR(100), @POSID VARCHAR(100), @SHIFTID VARCHAR(100), @MotherStoreCode VARCHAR(100), @JSONRQPICKUP VARCHAR(8000), @ISGROCERY VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderFT(SESSIONID,OrderID,S1,S1DT,S2,S2DT,QueueNo,POSReceiptNo,CashierID,RPCK_STS, RPCK_DT,call_cso,call_csoDT,finish_cso,finishcsoDT,RTN_STS,RTN_JSON,RFN_STS,RFN_JSON,isFullReturn, CRUSRID,CREATDT,MDFUSRID,MODIFDT, S1RC,S1RM,S1RD,S2RC,S2RM,S2RD,RTN_AMT,SUPLY_JSON,KITCHEN_JSON,Businessday,POSID,SHIFTID,MotherStoreCode,JSONRQPICKUP,ISGROCERY) VALUES(@SESSIONID,@OrderID,@S1,@S1DT,@S2,@S2DT,@QueueNo,@POSReceiptNo,@CashierID,@RPCK_STS, @RPCK_DT,@call_cso,@call_csoDT,@finish_cso,@finishcsoDT,@RTN_STS,@RTN_JSON,@RFN_STS,@RFN_JSON,@isFullReturn, @SYSUSR,GETDATE(),'','1900-01-01', @S1RC,@S1RM,@S1RD,@S2RC,@S2RM,@S2RD,@RTN_AMT,@SUPLY_JSON,@KITCHEN_JSON,@Businessday,@POSID,@SHIFTID,@MotherStoreCode,@JSONRQPICKUP,@ISGROCERY) COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_PROMO_HAPPEN_TEMP @SESSIONID varchar(100), @OrderID varchar(100), @StoreCode varchar(100), @PROMOCODE VARCHAR(100), @LIMITQTY INT, @SYSUSR VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderPT(SESSIONID,OrderID,StoreCode,PROMOCODE,LIMITQTY, CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES(@SESSIONID,@OrderID,@StoreCode,@PROMOCODE,@LIMITQTY, @SYSUSR,GETDATE(),'','1900-01-01') COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_DETAIL_ADDON_TRANSACTION_TEMP @SESSIONID varchar(100), @OrderID varchar(100), @LNITMSEQ INT, @ORD INT, @ItemCode varchar(100), @Barcode varchar(100), @ItemDescriptionLong varchar(200), @ItemDescriptionShort varchar(100), @ItemType varchar(100), @MerchCat varchar(100), @TaxCode varchar(100), @UnitPrice DECIMAL(19,5), @QTY DECIMAL(17,5), @DISC DECIMAL(19,5), @DPP DECIMAL(19,5), @TAX DECIMAL(19,5), @TOTAL DECIMAL(19,5), @PROMOCODE VARCHAR(100), @SYSUSR VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderAddonDT(SESSIONID,OrderID,LNITMSEQ,ORD,ItemCode, Barcode,ItemDescriptionLong,ItemDescriptionShort,ItemType,MerchCat,TaxCode,UnitPrice,QTY,DISC,DPP,TAX,TOTAL,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES (@SESSIONID,@OrderID,@LNITMSEQ,@ORD,@ItemCode, @Barcode,@ItemDescriptionLong,@ItemDescriptionShort,@ItemType,@MerchCat,@TaxCode,@UnitPrice,@QTY,@DISC,@DPP,@TAX,@TOTAL,@PROMOCODE, @SYSUSR,GETDATE(),'','1900-01-01') COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_DETAIL_TRANSACTION_TEMP @SESSIONID varchar(100), @OrderID varchar(100), @LNITMSEQ INT, @ItemCode varchar(100), @Barcode varchar(100), @ItemDescriptionLong varchar(200), @ItemDescriptionShort varchar(100), @ItemType varchar(100), @MerchCat varchar(100), @TaxCode varchar(100), @CategoryID varchar(100), @UnitPrice DECIMAL(19,5), @QTY DECIMAL(17,5), @QTYPROMO DECIMAL(17,5), @DISC DECIMAL(19,5), @SUBTOTAL DECIMAL(19,5), @DPP DECIMAL(19,5), @TAX DECIMAL(19,5), @VIPID VARCHAR(100), @TOTAL DECIMAL(19,5), @TOTALPROMO DECIMAL(19,5), @ADDITIONAL VARCHAR(8000), @TOPPING VARCHAR(8000), @TOPINGPRICE DECIMAL(19,5), @PROMOCODE VARCHAR(100), @SYSUSR VARCHAR(100), @NOTE VARCHAR(8000) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderDT(SESSIONID,OrderID,LNITMSEQ,ItemCode,Barcode,ItemDescriptionLong,ItemDescriptionShort, ItemType,MerchCat,TaxCode,CategoryID,UnitPrice,QTY,QTYPROMO,DISC,SUBTOTAL,DPP,TAX, VIPID,TOTAL,TOTALPROMO,ADDITIONAL,TOPPING,TOPINGPRICE,PROMOCODE, CRUSRID,CREATDT,MDFUSRID,MODIFDT,NOTE) VALUES (@SESSIONID,@OrderID,@LNITMSEQ,@ItemCode,@Barcode,@ItemDescriptionLong,@ItemDescriptionShort, @ItemType,@MerchCat,@TaxCode,@CategoryID,@UnitPrice,@QTY,@QTYPROMO,@DISC,@SUBTOTAL,@DPP,@TAX, @VIPID,@TOTAL,@TOTALPROMO,@ADDITIONAL,@TOPPING,@TOPINGPRICE,@PROMOCODE, @SYSUSR,GETDATE(),'','1900-01-01',@NOTE) COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_HEADER_TRANSACTION_TEMP @SESSIONID varchar(100), @OrderID varchar(100), @Phone varchar(100), @StoreCode varchar(100), @OrderType varchar(100), @PickUpTime varchar(100), @Addr_Label varchar(100), @Addr_Desc varchar(200), @Addr_Map varchar(8000), @Addr_phone_address varchar(100), @Addr_note_address varchar(100), @Addr_receiver varchar(100), @Addr_longitude varchar(100), @Addr_latitude varchar(100), @TenderID varchar(100), @TenderType varchar(100), @TenderReferenceNo varchar(100), @ShippingPrice DECIMAL(19,5), @ShippingDisc DECIMAL(19,5), @ShippingProvider varchar(100), @ShippingReferenceNo varchar(100), @ShippingTracking varchar(8000), @Shipping_reference_no_tarif varchar(100), @ShippingCourier varchar(8000), @ShippingDesc varchar(200), @TOTAL DECIMAL(19,5), @DPP DECIMAL(19,5), @TAX DECIMAL(19,5), @Total_Tendered DECIMAL(19,5), @ServicesFee DECIMAL(19,5), @ServicesFeeFMI DECIMAL(19,5), @ServicesFeeFMIDisc DECIMAL(19,5), @Cashback_used DECIMAL(19,5), @Cashback_borned DECIMAL(19,5), @CouponShippingDiscID VARCHAR(100), @CouponSalesDiscID VARCHAR(100), @CouponDiscAmt DECIMAL(19,5), @ReferenceNo varchar(100), @Note varchar(8000), @Rate varchar(100), @Review varchar(8000), @OrderSts varchar(100), @ORDERDT DATETIME, @SYSUSR VARCHAR(100), @account_name VARCHAR(200), @CouponSukaSukaID VARCHAR(100), @CouponSukaSukaValue DECIMAL(19,5) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderHT(SESSIONID,OrderID,Phone,account_name,StoreCode,OrderType,PickUpTime, Addr_Label,Addr_Desc,Addr_Map,Addr_phone_address,Addr_note_address,Addr_receiver,Addr_longitude,Addr_latitude, TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,ShippingReferenceNo,ShippingTracking,Shipping_reference_no_tarif,ShippingCourier,ShippingDesc, TOTAL,DPP,TAX,Total_Tendered,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Cashback_used,Cashback_borned, CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt,ReferenceNo,Note,Rate,Review,OrderSts,ORDERDT, CRUSRID,CREATDT,MDFUSRID,MODIFDT, RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,MotherStoreCode,Businessday,POSID,SHIFTID,CouponSukaSukaID,CouponSukaSukaValue) VALUES (@SESSIONID,@OrderID,@Phone,@account_name,@StoreCode,@OrderType,@PickUpTime, @Addr_Label,@Addr_Desc,@Addr_Map,@Addr_phone_address,@Addr_note_address,@Addr_receiver,@Addr_longitude,@Addr_latitude, @TenderID,@TenderType,@TenderReferenceNo, @ShippingPrice,@ShippingDisc,@ShippingProvider,@ShippingReferenceNo,@ShippingTracking,@Shipping_reference_no_tarif,@ShippingCourier,@ShippingDesc, @TOTAL,@DPP,@TAX,@Total_Tendered,@ServicesFee,@ServicesFeeFMI,@ServicesFeeFMIDisc,@Cashback_used,@Cashback_borned, @CouponShippingDiscID,@CouponSalesDiscID,@CouponDiscAmt,@ReferenceNo,@Note,@Rate,@Review,@OrderSts,@ORDERDT, @SYSUSR,GETDATE(),'','1900-01-01', '','','1900-01-01','','','','','',@CouponSukaSukaID,@CouponSukaSukaValue) COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_CORE_POST_TRANSACTION @COMPUTERIP VARCHAR(100), @StoreCode VARCHAR(100), @POSID VARCHAR(100), @SHIFTID VARCHAR(100), @Businessday VARCHAR(100), @order_id varchar(100), @SYS_USR VARCHAR(100), @LSMEMBERSHIP varchar(100), @COMPANYID varchar(100), @COMPANYPCID varchar(100) as set nocount on BEGIN TRY --Check Mother StoreCode IF @StoreCode <> '0000007777' RAISERROR ('MOTHER STORE IS INVALID',16,1) --Check Order_ID Status Downloaded IF EXISTS (SELECT '' FROM famiorderHH WHERE OrderID = @order_id AND POSReceiptNo <> '') BEGIN RAISERROR ('ORDER NO WAS DOWNLOADED BEFORE',16,1) END IF EXISTS (SELECT '' FROM RETAIL_TRANSACTION.dbo.TrSalesHH WHERE ORIDOCNUMBR = @order_id) BEGIN DECLARE @LATEST_DT DATETIME,@LATEST_POSReceiptNo VARCHAR(100),@LATEST_MotherStoreCode VARCHAR(100), @LATEST_Businessday VARCHAR(100), @LATEST_POSID VARCHAR(100), @LATEST_SHIFTID VARCHAR(100) SELECT @LATEST_DT = CREATDT, @LATEST_POSReceiptNo=DOCNUMBR, @LATEST_MotherStoreCode = StoreCode, @LATEST_Businessday = BusinessDay, @LATEST_POSID = POSID, @LATEST_SHIFTID = SHIFTID FROM RETAIL_TRANSACTION.dbo.TrSalesHH WHERE ORIDOCNUMBR = @order_id UPDATE famiorderHH SET POSReceiptNo = @LATEST_POSReceiptNo, MotherStoreCode = @LATEST_MotherStoreCode, Businessday = @LATEST_Businessday, POSID = @POSID, SHIFTID = @LATEST_SHIFTID, RCPOSID = '200', RCPOSMSG = 'SUCCESS',RCPOSDT = @LATEST_DT, MDFUSRID = @SYS_USR,MODIFDT = GETDATE() WHERE OrderID = @order_id END --Check POSID Online DECLARE @POSID_ONLINE AS VARCHAR(100) = '' SET @POSID_ONLINE = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'POS_ID_ONLINE') SET @POSID_ONLINE = ISNULL(@POSID_ONLINE,'') IF @POSID <> @POSID_ONLINE BEGIN RAISERROR ('POS ID ONLINE IS INVALID',16,1) END DECLARE @FulfillStore varchar(100),@OrderType varchar(100),@PickUpTime VARCHAR(100),@TenderID varchar(100),@TenderType varchar(100),@TenderReferenceNo varchar(100), @ShippingPrice DECIMAL(19,5),@ShippingDisc DECIMAL(19,5),@ShippingProvider varchar(100),@Shipping_reference_no_tarif varchar(100),@TOTAL_APPS DECIMAL(19,5),@DPP_APPS DECIMAL(19,5),@TAX_APPS DECIMAL(19,5), @ServicesFee DECIMAL(19,5),@ServicesFeeFMI DECIMAL(19,5),@ServicesFeeFMIDisc DECIMAL(19,5), @Total_Tendered DECIMAL(19,5), @Cashback_used DECIMAL(19,5),@Cashback_borned DECIMAL(19,5),@CouponShippingDiscID VARCHAR(100),@CouponSalesDiscID VARCHAR(100),@CouponDiscAmt DECIMAL(19,5), @OrderSts varchar(100),@ORDERDT DATETIME,@RCPOSID VARCHAR(10), @CouponSukaSukaID VARCHAR(100), @CouponSukaSukaValue DECIMAL(19,5) DECLARE CSR CURSOR FOR SELECT StoreCode,OrderType,PickUpTime,TenderID,TenderType,TenderReferenceNo, ShippingPrice,ShippingDisc,ShippingProvider,Shipping_reference_no_tarif,TOTAL,DPP,TAX,ServicesFee,ServicesFeeFMI,ServicesFeeFMIDisc,Total_Tendered, Cashback_used,Cashback_borned,CouponShippingDiscID,CouponSalesDiscID,CouponDiscAmt, OrderSts,ORDERDT,RCPOSID,CouponSukaSukaID,CouponSukaSukaValue FROM famiorderHH WHERE OrderID = @order_id OPEN CSR FETCH NEXT FROM CSR INTO @FulfillStore,@OrderType,@PickUpTime,@TenderID,@TenderType,@TenderReferenceNo, @ShippingPrice,@ShippingDisc,@ShippingProvider,@Shipping_reference_no_tarif,@TOTAL_APPS,@DPP_APPS,@TAX_APPS,@ServicesFee,@ServicesFeeFMI,@ServicesFeeFMIDisc,@Total_Tendered, @Cashback_used,@Cashback_borned,@CouponShippingDiscID,@CouponSalesDiscID,@CouponDiscAmt, @OrderSts,@ORDERDT,@RCPOSID, @CouponSukaSukaID,@CouponSukaSukaValue CLOSE CSR DEALLOCATE CSR --Check is successed IF ISNULL(@RCPOSID,'') <> '200' BEGIN --Check status delivery/pickup IF @OrderType = 'delivery' BEGIN IF @OrderSts > 3 RAISERROR ('UNPAID',16,1) IF @OrderSts = 0 RAISERROR ('ORDER CANCELED',16,1) IF ISNULL(@Shipping_reference_no_tarif,'') = '' RAISERROR ('SHIPPING REQUEST PICK UP NO IS BLANK',16,1) END ELSE IF @OrderType = 'pickup' BEGIN IF @OrderSts > 2 RAISERROR ('UNPAID',16,1) IF @OrderSts = 0 RAISERROR ('ORDER CANCELED',16,1) IF ISNULL(@PickUpTime,'') = '' RAISERROR ('PICK UP TIME IS BLANK',16,1) END DECLARE @Correct_Total as DECIMAL(19,5)=0 SET @Correct_Total = 0 --Check total paid vs total salesss SET @Correct_Total = ISNULL(@Total_Tendered,0) - ((ISNULL(@ShippingPrice,0) + ISNULL(@TOTAL_APPS,0) + (ISNULL(@ServicesFeeFMI,0) - ISNULL(@ServicesFeeFMIDisc,0))) - (ISNULL(@ShippingDisc,0) + ISNULL(@Cashback_used,0) + ISNULL(@CouponDiscAmt,0) + ISNULL(@CouponSukaSukaValue,0))) IF @Correct_Total <> 0 RAISERROR ('TOTAL PAID <> TOTAL SALES',16,1) --Check total header vs detail + toping SET @Correct_Total = 0 DECLARE @Detail_Total as DECIMAL(19,5) = 0 SET @Detail_Total = (SELECT ISNULL(SUM(ISNULL(TOTAL,0)+ISNULL(TOPINGPRICE,0)),0) FROM famiorderDH WHERE OrderID = @order_id) SET @Correct_Total = ISNULL(@TOTAL_APPS,0) - ISNULL(@Detail_Total,0) IF @Correct_Total > 10 or @Correct_Total < 0 RAISERROR ('TOTAL HEADER <> TOTAL DETAIL',16,1) --Check Shipping Cost IF ISNULL(@ShippingPrice,0) < ISNULL(@ShippingDisc,0) RAISERROR ('SHIPPING PRICE < SHIPPING DISC',16,1) --Check Tender not NULL IF ISNULL(@TenderID,'') = '' OR ISNULL(@TenderType,'') = '' OR ISNULL(@TenderReferenceNo,'') = '' RAISERROR ('PAYMENT DATA IS NOT CORRECT',16,1) --Check Coupon Sales IF ISNULL(@CouponDiscAmt,0) <> 0 IF ISNULL(@CouponSalesDiscID,'')='' RAISERROR ('COUPON SALES IS BLANK',16,1) --Check Coupon Delivery IF ISNULL(@ShippingDisc,0) <> 0 IF ISNULL(@CouponShippingDiscID,'')='' RAISERROR ('COUPON SHIPPING IS BLANK',16,1) --Check Coupon Suka Suka IF ISNULL(@CouponSukaSukaValue,0) <> 0 IF ISNULL(@CouponSukaSukaID,'')='' RAISERROR ('COUPON SUKA SUKA IS BLANK',16,1) --Check Total Toping DECLARE @TopingDetail DECIMAL(19,5)=0 DECLARE @TopingExt DECIMAL(19,5)=0 SET @TopingDetail = (SELECT ISNULL(SUM(ISNULL(TOPINGPRICE,0)),0) FROM famiorderDH WHERE OrderID = @order_id) SET @TopingExt = (SELECT ISNULL(SUM(ISNULL(TOTAL,0)),0) FROM famiorderAddonDH WHERE OrderID = @order_id) IF ISNULL(@TopingDetail,0) <> ISNULL(@TopingExt,0) RAISERROR ('TOTAL TOPING IS NOT MATCH',16,1) --Check PromoCode is Blank IF EXISTS (SELECT '' FROM famiorderDH WHERE OrderID = @order_id AND ISNULL(PROMOCODE,'') = '' AND ISNULL(DISC,0)<>0) RAISERROR ('PROMO CODE IS BLANK',16,1) ----Check TOTAL = DPP + TAX --IF ISNULL(@TOTAL_APPS,0) <> ISNULL(@DPP_APPS,0) + ISNULL(@TAX_APPS,0) -- RAISERROR ('TOTAL, DPP, TAX IS NOT MATCH',16,1) --Check PromoCode Happen IF EXISTS (SELECT '' FROM famiorderDH WHERE OrderID = @order_id AND ISNULL(PROMOCODE,'') <> '' AND ISNULL(PROMOCODE,'') NOT IN (SELECT ISNULL(PROMOCODE,'') FROM famiorderPH WHERE OrderID = @order_id)) RAISERROR ('PROMO HAPPEN NOT MATCH WITH SALES DETAIL',16,1) IF EXISTS (SELECT '' FROM famiorderPH WHERE OrderID = @order_id AND ISNULL(PROMOCODE,'') <> '' AND ISNULL(PROMOCODE,'') NOT IN (SELECT ISNULL(PROMOCODE,'') FROM famiorderDH WHERE OrderID = @order_id)) RAISERROR ('PROMO HAPPEN NOT MATCH WITH SALES DETAIL',16,1) --Check Item all Exists IF EXISTS (SELECT '' FROM famiorderDH WHERE OrderID = @order_id AND FORMAT(CONVERT(INT,ItemCode), '000000000000000000') NOT IN (SELECT ItemCode FROM RETAIL_MASTER.dbo.MItem)) BEGIN DECLARE @NOT_REGISTERED_ITEM VARCHAR(8000) = (SELECT TOP 1 'ITEM IS NOT REGISTERED.' + ItemCode + '|' + ItemDescriptionLong + '|' + Barcode FROM famiorderDH WHERE OrderID = @order_id AND FORMAT(CONVERT(INT,ItemCode), '000000000000000000') NOT IN (SELECT ItemCode FROM RETAIL_MASTER.dbo.MItem)) RAISERROR (@NOT_REGISTERED_ITEM,16,1) END BEGIN TRAN DELETE FROM RETAIL_TRANSACTION.dbo.TrSalesT WHERE COMPUTERIP = @COMPUTERIP DELETE FROM RETAIL_TRANSACTION.dbo.TrSalesTenderT WHERE COMPUTERIP = @COMPUTERIP DELETE FROM RETAIL_TRANSACTION.dbo.TrSalesTenderTT WHERE COMPUTERIP = @COMPUTERIP DELETE FROM RETAIL_TRANSACTION.dbo.TrSalesAdditionalT WHERE COMPUTERIP = @COMPUTERIP --Sales Detail Processing DECLARE @MSG_ERR VARCHAR(8000) = '' DECLARE @SALES_TAX as decimal(19,5)=0 DECLARE @order_num as int,@Barcode varchar(100), @article as varchar(100), @qty as decimal(17,5)=0, @price as decimal(19,5) = 0, @notes as varchar(500)='',@disc as decimal(19,5)=0,@promocode as varchar(100) = '' DECLARE CSR_DOWNLOAD CURSOR FOR SELECT ROW_NUMBER() OVER(ORDER BY Barcode ASC),Barcode,ItemCode,QTY,UnitPrice,Notes,DISC,PROMOCODE FROM ( SELECT Barcode,ItemCode,QTY,UnitPrice, RTRIM(ISNULL(ADDITIONAL,'') + CASE WHEN ISNULL(TOPPING,'') <> '' THEN '|' ELSE '' END + ISNULL(TOPPING,'') + CASE WHEN ISNULL(NOTE,'') <> '' THEN ' | ' ELSE '' END + ISNULL(NOTE,'')) as Notes, DISC, ISNULL(PROMOCODE,'') as PROMOCODE FROM famiorderDH WHERE OrderID = @order_id UNION ALL SELECT 'DELIVERY COST','DELIVERY COST',1,ISNULL(ShippingPrice,0),'',ISNULL(ShippingDisc,0),ISNULL(CouponShippingDiscID,'') FROM famiorderHH WHERE OrderID = @order_id AND ISNULL(ShippingPrice,0)>0 UNION ALL SELECT Barcode,ItemCode,Qty,UnitPrice,'',Disc,ISNULL(PROMOCODE,'') as PROMOCODE FROM famiorderAddonDH WHERE OrderID = @order_id UNION ALL SELECT 'SERVICE FEE','000000000000121662',1,ISNULL(ServicesFeeFMI,0),'',ISNULL(ServicesFeeFMIDisc,0), CASE WHEN ISNULL(ServicesFeeFMIDisc,0) = 0 THEN '' ELSE 'SRV FEE DISC' END FROM famiorderHH WHERE OrderID = @order_id AND ISNULL(ServicesFeeFMI,0) > 0 )SALES_DETAIL OPEN CSR_DOWNLOAD FETCH NEXT FROM CSR_DOWNLOAD INTO @order_num,@Barcode,@article,@qty,@price,@notes,@disc,@promocode WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @ItemDescriptionLong varchar(500)='', @ItemDescriptionShort varchar(50)='', @ItemType varchar(20)='', @TaxCode varchar(20)='', @OpenPriceFlg bit='', @ItemValue as decimal(19,5)=0, @ReturnAble as bit=0, @MerchCat varchar(50)='', @MerchCatDesc varchar(100)='', @Category varchar(50)='', @CategoryDesc varchar(100)='', @Department varchar(50)='', @DepartmentDesc varchar(100)='', @Division varchar(50)='', @DivisionDesc varchar(100)='', @Tax decimal(19,5) = 0, @Subtotal decimal(19,5) = 0, @DPP decimal(19,5) = 0, @Total decimal(19,5) = 0 SELECT TOP 1 @ItemDescriptionLong = ItemDescriptionLong, @ItemDescriptionShort = ItemDescriptionShort, @ItemType = ItemType, @TaxCode = TaxCode, @OpenPriceFlg = OpenPriceFlg, @ReturnAble = ReturnAble, @MerchCat = MItem.MerchCat, @MerchCatDesc = MerchCatDesc, @Category = Category, @CategoryDesc = CategoryDesc, @Department = Department, @DepartmentDesc = DepartmentDesc, @Division = Division, @DivisionDesc = DivisionDesc FROM RETAIL_MASTER.dbo.MItem LEFT JOIN RETAIL_MASTER.dbo.MMerchandiseCategory ON MItem.MerchCat = MMerchandiseCategory.MerchCat where Barcode = @Barcode AND TaxCode <> '' SET @SALES_TAX = ISNULL((SELECT TOP 1 CONVERT(float,TaxValue)+1 FROM RETAIL_SYSTEMS.dbo.MTaxSetup WHERE TaxCode = @TaxCode AND GETDATE() BETWEEN StartDT AND EndDT ORDER BY CREATDT DESC),0) IF @Barcode = '' BEGIN SET @MSG_ERR = @article + 'is not registered.' + @article + ' ' + @Barcode RAISERROR (@MSG_ERR,16,1) END IF ISNULL(@MerchCat,'') = '' BEGIN SET @MSG_ERR = @article + 'is not registered.' + @article + ' ' + @Barcode RAISERROR (@MSG_ERR,16,1) END SET @Subtotal = @qty * (@price - @disc) SET @Total = @Subtotal IF @TaxCode <> 0 BEGIN SET @Tax = ROUND(@Subtotal - (@Subtotal/@SALES_TAX),0) END SET @DPP = @Subtotal - @Tax INSERT INTO RETAIL_TRANSACTION.dbo.TrSalesT (StoreCode,BusinessDay,POSID,SHIFTID,COMPUTERIP,LNITMSEQ,Barcode,ItemCode,ItemDescriptionLong,ItemDescriptionShort,ItemType,TaxCode,MerchCat,MerchCatDesc, Category,CategoryDesc,Department,DepartmentDesc,Division,DivisionDesc,OpenPriceFlg,UnitPrice,Qty,Disc,Subtotal,DPP,Tax,Total,QtySales,SalesDisc,SalesSubtotal,SalesDPP,SalesTax,SalesTotal,QtyReturned,ReturnedDisc,ReturnedSubtotal,ReturnedDPP,ReturnedTax,ReturnedTotal,ItemValue,CRUSRID,CREATDT,MDFUSRID,MODIFDT,ReturnAble,PromoCode) VALUES (@StoreCode,@BusinessDay,@POSID,@SHIFTID,@COMPUTERIP,@order_num,@Barcode, @article,@ItemDescriptionLong,@ItemDescriptionShort,@ItemType,@TaxCode,@MerchCat,@MerchCatDesc, @Category,@CategoryDesc,@Department,@DepartmentDesc,@Division,@DivisionDesc,@OpenPriceFlg,@price,@qty,@disc,@Subtotal,@DPP,@Tax,@Total,@qty,@disc,@Subtotal,@DPP,@Tax,@Total,0,0,0,0,0,0,@ItemValue,@SYS_USR,GETDATE(),'','1900-01-01 00:00:00.000',@ReturnAble,@promocode) INSERT INTO RETAIL_TRANSACTION.dbo.TrSalesAdditionalT(COMPUTERIP,LNITMSEQ,USERDEFINEID,USERDEFINEVALUE,CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES (@COMPUTERIP,@order_num,@order_num,@notes,@SYS_USR,GETDATE(),'','1900-01-01 00:00:00.000') FETCH NEXT FROM CSR_DOWNLOAD INTO @order_num,@Barcode,@article,@qty,@Price,@notes,@disc,@promocode END CLOSE CSR_DOWNLOAD DEALLOCATE CSR_DOWNLOAD --Payment Processing DECLARE @paymentType varchar(100) = '',@ReferenceNo varchar(100) = '',@PaidAmount DECIMAL(19,5) = 0 DECLARE @TotalPaidAmount DECIMAL(19,5)=0 DECLARE CSR_DOWNLOAD_PAYMENT CURSOR FOR SELECT TenderID + '#' + TenderType as PaymentType,TenderReferenceNo,Total_Tendered FROM famiorderHH WHERE OrderID = @order_id UNION ALL SELECT 'CASHBACK',phone,Cashback_used FROM famiorderHH WHERE OrderID = @order_id AND Cashback_used>0 UNION ALL SELECT 'VOUCHER','COUPON DISCOUNT',CouponDiscAmt FROM famiorderHH WHERE OrderID = @order_id AND CouponDiscAmt>0 UNION ALL SELECT 'VOUCHER','COUPON SUKA SUKA',CouponSukaSukaValue FROM famiorderHH WHERE OrderID = @order_id AND CouponSukaSukaValue>0 OPEN CSR_DOWNLOAD_PAYMENT FETCH NEXT FROM CSR_DOWNLOAD_PAYMENT INTO @paymentType,@ReferenceNo,@PaidAmount WHILE @@FETCH_STATUS = 0 BEGIN SET @TotalPaidAmount = @TotalPaidAmount + @PaidAmount EXEC RETAIL_TRANSACTION.dbo.TRX_EY_SAVE_SALES_TRANSACTION_TENDER_TEMP @StoreCode, @BusinessDay, @POSID, @SHIFTID, @COMPUTERIP, @paymentType, @PaidAmount, @PaidAmount, @ReferenceNo, @SYS_USR FETCH NEXT FROM CSR_DOWNLOAD_PAYMENT INTO @paymentType,@ReferenceNo,@PaidAmount END CLOSE CSR_DOWNLOAD_PAYMENT DEALLOCATE CSR_DOWNLOAD_PAYMENT --Check Detail VS Header DECLARE @DETAIL_POS DECIMAL(19,5)=0 SET @DETAIL_POS = (SELECT ISNULL(SUM(TOTAL),0) FROM RETAIL_TRANSACTION.dbo.TrSalesT WHERE COMPUTERIP = @COMPUTERIP) IF ISNULL(@TotalPaidAmount,0) - ISNULL(@DETAIL_POS,0) > 100 BEGIN DECLARE @MSG_ERR_1 as VARCHAR(8000) = 'SALES DETAIL (' + CONVERT(VARCHAR(MAX),@DETAIL_POS) + ') AND PAYMENT (' + CONVERT(VARCHAR(MAX),@TotalPaidAmount) + ') ARE NOT MATCH' RAISERROR (@MSG_ERR_1,16,1) END --DPP, Items, Tax Processing DECLARE @DPP_TOTAL as decimal(19,5) = 0, @Items_TOTAL as int = 0, @Tax_TOTAL as decimal(19,5) = 0 SET @DPP_TOTAL = (SELECT ISNULL(SUM(DPP),0) FROM RETAIL_TRANSACTION.dbo.TrSalesT WHERE COMPUTERIP = @COMPUTERIP AND TaxCode <> '0' AND Barcode NOT IN (SELECT Barcode FROM RETAIL_MASTER.dbo.MItemDonation)) SET @DPP_TOTAL = ISNULL(@DPP_TOTAL,0) SELECT @Items_TOTAL = ISNULL(ItemCount,0), @Tax_TOTAL = ISNULL(Tax,0) FROM ( SELECT ISNULL(SUM(Total),0) as Total,@DPP as DPP,ISNULL(SUM(Tax),0) as Tax,ISNULL(SUM(Subtotal),0) as Subtotal FROM RETAIL_TRANSACTION.dbo.TrSalesT WHERE COMPUTERIP = @COMPUTERIP )TOTAL LEFT JOIN ( SELECT CEILING(ISNULL(SUM(Qty),0)) as ItemCount FROM RETAIL_TRANSACTION.dbo.TrSalesT WHERE COMPUTERIP = @COMPUTERIP AND Barcode NOT IN (SELECT Barcode FROM RETAIL_MASTER.dbo.MItemReceiptDisallow) )ITEM_COUNT ON 1=1 EXEC RETAIL_TRANSACTION.dbo.TRX_EY_POST_SALES_TRANSACTION @StoreCode,@BusinessDay,@POSID,@SHIFTID,@COMPUTERIP,@TotalPaidAmount,@DPP_TOTAL, @Tax_TOTAL,@TotalPaidAmount,@Items_TOTAL,@TotalPaidAmount,0,@TotalPaidAmount, @order_id,'','',@SYS_USR,'','SALES TRANSACTION','',@LSMEMBERSHIP,@COMPANYID,@COMPANYPCID, 0,0,0 DECLARE @DOCNUMBR_POST VARCHAR(100) = (SELECT TOP 1 DOCNUMBR FROM RETAIL_TRANSACTION.dbo.TrSalesHH WHERE ORIDOCNUMBR = @order_id ORDER BY CREATDT DESC) --Promo Happen DELETE FROM RETAIL_TRANSACTION.dbo.TrSalesPromoH WHERE DOCNUMBR = @DOCNUMBR_POST INSERT INTO RETAIL_TRANSACTION.dbo.TrSalesPromoH(DOCNUMBR,DOCTYPE,StoreCode,BusinessDay,POSID,SHIFTID,PromoCode,LimitQty,CRUSRID,CREATDT,MDFUSRID,MODIFDT) select @DOCNUMBR_POST,'SALES TRANSACTION',@StoreCode,@Businessday,@POSID,@SHIFTID,PROMOCODE,LIMITQTY,@SYS_USR,GETDATE(),'','1900-01-01' from famiorderPH WHERE OrderID = @order_id AND ISNULL(LIMITQTY,0)>0 EXEC RETAIL_TRANSACTION.dbo.TRX_EY_POST_AGE_GENDER_CUSTOMER @StoreCode, @BusinessDay, @POSID, @SHIFTID, @SYS_USR, @DOCNUMBR_POST, 'SALES TRANSACTION', 'FAMIAPPS' UPDATE RETAIL_TRANSACTION.dbo.TrKitchenHH SET TRXSOURCE = @order_id WHERE DOCNUMBR = @DOCNUMBR_POST UPDATE famiorderHH SET POSReceiptNo = @DOCNUMBR_POST, MotherStoreCode = @StoreCode, Businessday = @Businessday, POSID = @POSID, SHIFTID = @SHIFTID, RCPOSID = '200', RCPOSMSG = 'SUCCESS',RCPOSDT = GETDATE(), MDFUSRID = @SYS_USR,MODIFDT = GETDATE() WHERE OrderID = @order_id COMMIT END END TRY BEGIN CATCH IF @@trancount > 0 BEGIN ROLLBACK END IF CURSOR_STATUS('global','CSR_DOWNLOAD')>=-1 BEGIN CLOSE CSR_DOWNLOAD DEALLOCATE CSR_DOWNLOAD END IF CURSOR_STATUS('global','CSR_DOWNLOAD_PAYMENT')>=-1 BEGIN CLOSE CSR_DOWNLOAD_PAYMENT DEALLOCATE CSR_DOWNLOAD_PAYMENT END DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() IF NOT EXISTS (SELECT '' FROM famiorderHH WHERE OrderID = @order_id AND RCPOSID = '200') BEGIN UPDATE famiorderHH SET RCPOSID = '400',RCPOSMSG = @ERROR_ALL, RCPOSDT = GETDATE() WHERE OrderID = @order_id END RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_EXECUTE_AUTOMATIC_TRANSACTION @SESSIONID varchar(100), @StoreCode VARCHAR(100), @POSID VARCHAR(100), @LSMEMBERSHIP varchar(100), --IT-ERVIN\SQL2014 @COMPANYID varchar(100), --FMIMEMBER @COMPANYPCID varchar(100), --FMI_MEMBERSHIP @SYSUSR VARCHAR(100) as set nocount on BEGIN TRY --Check POSID Online DECLARE @POSID_ONLINE AS VARCHAR(100) = '' SET @POSID_ONLINE = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'POS_ID_ONLINE') SET @POSID_ONLINE = ISNULL(@POSID_ONLINE,'') IF @POSID <> @POSID_ONLINE BEGIN RAISERROR ('POS ID ONLINE IS INVALID',16,1) END --Check MotherStore IF @StoreCode <> '0000007777' RAISERROR ('MOTHER STORE IS INVALID',16,1) DECLARE @Businessday VARCHAR(100)='', @SHIFTID VARCHAR(100)='' SELECT @Businessday = BusinessDay, @SHIFTID = SHIFTID FROM RETAIL_TRANSACTION.dbo.TrBatchD WHERE POSID = @POSID AND StoreCode = @StoreCode AND BatchSts = 0 IF ISNULL(@Businessday,'') = '' RAISERROR ('BUSINESSDAY IS BLANK',16,1) IF ISNULL(@SHIFTID,'') = '' RAISERROR ('SHIFT IS BLANK',16,1) CREATE TABLE #EXECUTE_ORDER ( OrderID VARCHAR(100) ) INSERT INTO #EXECUTE_ORDER(OrderID) SELECT OrderID FROM famiorderHH WHERE RCPOSID <> '200' AND OrderSts <> 0 DECLARE @OrderID VARCHAR(100) = '' DECLARE CSR_AUTO CURSOR FOR SELECT OrderID FROM #EXECUTE_ORDER OPEN CSR_AUTO FETCH NEXT FROM CSR_AUTO INTO @OrderID WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY EXEC FAMIAPPS_EY_CORE_POST_TRANSACTION @SESSIONID,@StoreCode, @POSID_ONLINE,@SHIFTID,@Businessday,@OrderID,@SYSUSR,@LSMEMBERSHIP,@COMPANYID,@COMPANYPCID END TRY BEGIN CATCH END CATCH FETCH NEXT FROM CSR_AUTO INTO @OrderID END CLOSE CSR_AUTO DEALLOCATE CSR_AUTO SELECT OrderID,RCPOSID,RCPOSMSG,RCPOSDT,POSReceiptNo,Businessday,POSID,SHIFTID, Businessday,MotherStoreCode FROM famiorderHH WHERE OrderID IN (SELECT OrderID FROM #EXECUTE_ORDER) AND ISNULL(POSReceiptNO,'') <> '' END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_DISPLAY_RETURN_JSON_TO_BE_SEND as set nocount on BEGIN TRY SELECT OrderID,ISRTNFULL,RTNJSON,ISNULL(RTN_AMT,0) AS RTN_AMT FROM famiorderHH where RTNJSON <> '' AND (RCUPDTRTN = '' OR RCUPDTRTN <> '200') END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_UPDATE_RETURN_JSON_SENT_STATUS @OrderID VARCHAR(100), @RC VARCHAR(100), @RM VARCHAR(100), @RDT DATETIME as set nocount on BEGIN TRY BEGIN TRAN UPDATE famiorderHH SET RCUPDTRTN = @RC, RMUPDTRTN = @RM, DTUPDTRTN = @RDT WHERE OrderID = @OrderID COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_SUPPLIES_TEMP @SESSIONID VARCHAR(100), @OrderID VARCHAR(100), @Barcode VARCHAR(100), @Qty DECIMAL(17,5), @SYSUSR VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiorderSuppliesT (SESSIONID,OrderID,Barcode,Qty,CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES (@SESSIONID,@OrderID,@Barcode,@Qty,@SYSUSR,GETDATE(),'','1900-01-01') COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_ADD_SUPPLIES_TO_SALES_TRANSACTION as set nocount on BEGIN TRY DECLARE @OrderID VARCHAR(100) = '' DECLARE CSR_AUTO CURSOR FOR SELECT OrderID FROM famiorderSuppliesHH WHERE IsConfirmed = 0 OPEN CSR_AUTO FETCH NEXT FROM CSR_AUTO INTO @OrderID WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRY BEGIN TRAN DECLARE @DOCNUMBR AS VARCHAR(100) = '' SET @DOCNUMBR = (SELECT POSReceiptNo FROM famiorderHH WHERE OrderID = @OrderID) IF EXISTS (SELECT '' FROM RETAIL_TRANSACTION.dbo.TrSalesHH WHERE DOCNUMBR = @DOCNUMBR) AND EXISTS(SELECT '' FROM famiorderHH WHERE ISSYNCSUPPLY = 0 AND OrderID = @OrderID) BEGIN DECLARE @DOCTYPE VARCHAR(100)='', @StoreCode VARCHAR(100) = '',@Businessday VARCHAR(100)='', @POSID VARCHAR(100)='',@SHIFTID VARCHAR(100)='' select TOP 1 @DOCTYPE = DOCTYPE, @StoreCode = StoreCode, @Businessday = BusinessDay, @POSID = POSID, @SHIFTID = SHIFTID from RETAIL_TRANSACTION.dbo.TrsalesHH WHERE DOCNUMBR = @DOCNUMBR DECLARE @LNITMSEQ_MAX INT = (SELECT MAX(LNITMSEQ) FROM RETAIL_TRANSACTION.dbo.TrSalesDH WHERE DOCNUMBR = @DOCNUMBR) INSERT INTO RETAIL_TRANSACTION.dbo.TrSalesDH(DOCNUMBR,DOCTYPE,StoreCode,BusinessDay,POSID, SHIFTID,LNITMSEQ,Barcode,ItemCode,ItemDescriptionLong,ItemDescriptionShort,ItemType,TaxCode, MerchCat,MerchCatDesc,Category,CategoryDesc, Department,DepartmentDesc,Division,DivisionDesc,OpenPriceFlg,UnitPrice,Qty,Disc,Subtotal,DPP,Tax,Total,QtySales,SalesDisc,SalesSubtotal,SalesDPP, SalesTax,SalesTotal,QtyReturned,ReturnedDisc,ReturnedSubtotal,ReturnedDPP,ReturnedTax,ReturnedTotal,ItemValue,PromoCode,CRUSRID,CREATDT,MDFUSRID,MODIFDT,ReturnAble) SELECT @DOCNUMBR,@DOCTYPE,@StoreCode,@Businessday,@POSID, @SHIFTID,LNITMSEQ + @LNITMSEQ_MAX, X.Barcode,ItemCode,ItemDescriptionLong,ItemDescriptionShort,ItemType,TaxCode, MItem.MerchCat,MerchCatDesc,Category,CategoryDesc, Department,DepartmentDesc,Division,DivisionDesc,OpenPriceFlg,0,Qty,0,0,0,0,0,Qty,0,0,0, 0,0,0,0,0,0,0,0,0,'','ADD_SUPP',GETDATE(),'','1900-01-01',ReturnAble FROM ( SELECT ROW_NUMBER() OVER(ORDER BY famiorderSuppliesDH.Barcode ASC) AS LNITMSEQ,famiorderSuppliesDH.Barcode,Qty FROM famiorderSuppliesDH WHERE OrderID = @OrderID AND IsSync = 0 )X LEFT JOIN RETAIL_MASTER.dbo.MItem ON X.Barcode = MItem.Barcode LEFT JOIN RETAIL_MASTER.dbo.MMerchandiseCategory ON MItem.MerchCat = MMerchandiseCategory.MerchCat WHERE ItemDescriptionLong is not null UPDATE famiorderSuppliesDH SET IsSync = 1 WHERE OrderID = @OrderID AND Barcode IN ( SELECT X.Barcode FROM ( SELECT ROW_NUMBER() OVER(ORDER BY famiorderSuppliesDH.Barcode ASC) AS LNITMSEQ,famiorderSuppliesDH.Barcode,Qty FROM famiorderSuppliesDH WHERE OrderID = @OrderID AND IsSync = 0 )X LEFT JOIN RETAIL_MASTER.dbo.MItem ON X.Barcode = MItem.Barcode LEFT JOIN RETAIL_MASTER.dbo.MMerchandiseCategory ON MItem.MerchCat = MMerchandiseCategory.MerchCat WHERE ItemDescriptionLong is not null ) UPDATE famiorderSuppliesHH SET IsConfirmed = 1, MDFUSRID = 'ADD_SUP_OK', MODIFDT = GETDATE() WHERE OrderID = @OrderID UPDATE famiorderHH SET ISSYNCSUPPLY = 1, ISSYNCDTSUPPLY = GETDATE() WHERE OrderID = @OrderID END COMMIT END TRY BEGIN CATCH ROLLBACK UPDATE famiorderSuppliesHH SET MDFUSRID = 'ADD_SUP_NOTOK', MODIFDT = GETDATE() WHERE OrderID = @OrderID END CATCH FETCH NEXT FROM CSR_AUTO INTO @OrderID END CLOSE CSR_AUTO DEALLOCATE CSR_AUTO END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_SAVE_SUBSTITUTION_TEMP @SESSIONID VARCHAR(100), @OrderID VARCHAR(100), @old_article varchar(100), @old_qty DECIMAL(17,5), @old_price DECIMAL(19,5), @old_barcode VARCHAR(100), @new_article varchar(100), @new_qty DECIMAL(17,5), @new_price DECIMAL(19,5), @new_barcode VARCHAR(100), @trx_date DATETIME, @NOTE VARCHAR(8000), @detail_id varchar(100), @SYSUSR VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN INSERT INTO famiordersubsT (SESSIONID,OrderID,old_article,old_qty,old_price,old_barcode, new_article,new_qty,new_price,new_barcode,trx_date,NOTE,detail_id,CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES (@SESSIONID,@OrderID,@old_article,@old_qty,@old_price,@old_barcode, @new_article,@new_qty,@new_price,@new_barcode,@trx_date,@NOTE,@detail_id, @SYSUSR,GETDATE(),'','1900-01-01') COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO ------------------------------------------------------S2------------------------------------------------------------- CREATE PROC FAMIAPPS_DISPLAY_ORDER_TO_GENERATE_KITCHEN_JSON_S2 @StoreCode as VARCHAR(100) as set nocount on BEGIN TRY SELECT OrderID,account_name FROM famiorderS2HH WHERE ISNULL(KTCJSONS2,'') = '' AND StoreCode = @StoreCode AND ISNULL(KTCJSONS2,'') <> 'X' END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_SAVE_KITCHEN_TRANSACTION @OrderID VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN IF NOT EXISTS (SELECT '' FROM RETAIL_TRANSACTION.dbo.TrKitchenHH WHERE DOCNUMBR = @OrderID) BEGIN DECLARE @StoreCode VARCHAR(100) = '' SET @StoreCode = (SELECT TOP 1 StoreCode FROM FamiOrderS2HH WHERE OrderID = @OrderID) INSERT INTO RETAIL_TRANSACTION.dbo.TrKitchenHH( DOCNUMBR,DOCTYPE,StoreCode,BusinessDay,POSID,SHIFTID, QUEUENO,TRXSOURCE,SHA256STR,JSONROW,RC,RM,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,'SALES TRANSACTION',@StoreCode,'','','', '???','','','','','','SYSTEMS',GETDATE(),'','1900-01-01' FROM FamiOrderS2HH WHERE OrderID = @OrderID INSERT INTO RETAIL_TRANSACTION.dbo.TrKitchenDH(DOCNUMBR,DOCTYPE,StoreCode,BusinessDay,POSID,SHIFTID, LNITMSEQ,ORD,OrderLineNo, ArticleNo,ArticleName,Qty,Price,OrderNotes,CRUSRID,CREATDT,MDFUSRID,MODIFDT) SELECT OrderID,'SALES TRANSACTION',@StoreCode,'','','', LNITMSEQ,ROW_NUMBER() OVER(ORDER BY LNITMSEQ ASC) as ORD,ROW_NUMBER() OVER(ORDER BY LNITMSEQ ASC) as OrderLineNo, ItemCode as ArticleNo,ItemDescriptionLong as ArticleName,QTY as Qty,UnitPrice as Price, RTRIM(ISNULL(ADDITIONAL,'') + CASE WHEN ISNULL(TOPPING,'') <> '' THEN '|' ELSE '' END + ISNULL(TOPPING,'') + CASE WHEN ISNULL(NOTE,'') <> '' THEN ' | ' ELSE '' END + ISNULL(NOTE,'')) as OrderNotes, 'SYSTEMS',GETDATE(),'','1900-01-01' FROM famiorderS2DH WHERE OrderID = @OrderID END COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_GENERATE_ORDER_KITCHEN_JSON_S2 @OrderID VARCHAR(100), @StoreCode VARCHAR(100) as set nocount on BEGIN TRY BEGIN TRAN DECLARE @JSONKITCHEN AS VARCHAR(8000) = '' SET @JSONKITCHEN = (SELECT KTCJSONS2 FROM famiorderS2HH WHERE OrderID = @OrderID AND StoreCode = @StoreCode) IF ISNULL(@JSONKITCHEN,'')='' BEGIN SELECT UnitPrice as Price,ItemCode as ArticleNo, RTRIM(ISNULL(ADDITIONAL,'') + CASE WHEN ISNULL(TOPPING,'') <> '' THEN '|' ELSE '' END + ISNULL(TOPPING,'') + CASE WHEN ISNULL(NOTE,'') <> '' THEN ' | ' ELSE '' END + ISNULL(NOTE,'')) as OrderNotes, ItemDescriptionLong as ArticleName,ROW_NUMBER() OVER(ORDER BY LNITMSEQ ASC) as OrderLineNo,QTY as Qty FROM famiorderS2DH WHERE OrderID = @OrderID END COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_UPDATE_ORDER_KITCHEN_JSON_S2 @OrderID VARCHAR(100), @KTCJSONS2 VARCHAR(8000), @StoreCode varchar(100) as set nocount on BEGIN TRY BEGIN TRAN UPDATE famiorderS2HH SET KTCJSONS2 = @KTCJSONS2 WHERE OrderID = @OrderID AND StoreCode = @StoreCode COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_DISPLAY_REQUEST_PICKUP_DELIVERY_ORDER_S2 @StoreCode varchar(100) as set nocount on BEGIN TRY DECLARE @IS_AUTO_RECEIVED AS INT = 0 SET @IS_AUTO_RECEIVED = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'FAMIAPPS_AUTO') SET @IS_AUTO_RECEIVED = ISNULL(@IS_AUTO_RECEIVED,0) IF @IS_AUTO_RECEIVED = 1 BEGIN SELECT OrderID,Shipping_reference_no_tarif,ShippingProvider FROM famiorderS2HH where RCRQPICKUP <> '200' AND OrderType = 'delivery' AND StoreCode = @StoreCode END ELSE BEGIN SELECT OrderID,Shipping_reference_no_tarif,ShippingProvider FROM famiorderS2HH WHERE GETDATE() >= DATEADD(minute,2,ORDERDT) AND RCRQPICKUP <> '200' AND OrderType = 'delivery' AND StoreCode = @StoreCode END END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_UPDATE_REQUEST_PICKUP_DELIVERY_ORDER_S2 @StoreCode varchar(100), @OrderID varchar(100), @RCRQPICKUP varchar(10), @RMRQPICKUP varchar(8000), @JSONRQPICKUP varchar(8000), @order_no_resi varchar(100), @order_live_tracking_url varchar(8000), @order_status varchar(100) as set nocount on BEGIN TRY UPDATE famiorderS2HH SET RCRQPICKUP = @RCRQPICKUP, RMRQPICKUP = @RMRQPICKUP, DTRQPICKUP = GETDATE(), JSONRQPICKUP = @JSONRQPICKUP, ShippingReferenceNo = @order_no_resi, ShippingTracking = @order_live_tracking_url, ShippingDesc = @order_status WHERE OrderID = @OrderID AND StoreCode = @StoreCode END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_DISPLAY_REQUEST_TO_KITCHEN_ORDER_S2 @StoreCode varchar(100) as set nocount on BEGIN TRY declare @limit_min int = -30 declare @limit_max int = 30 IF EXISTS ( SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'KITCHEN_LIMIT_TIME' ) BEGIN SET @limit_min = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'KITCHEN_LIMIT_TIME') * -1 SET @limit_max = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'KITCHEN_LIMIT_TIME') END ELSE BEGIN SET @limit_min = -30 SET @limit_max = 30 END DECLARE @IS_AUTO AS VARCHAR(100) = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'FAMIAPPS_AUTO') SET @IS_AUTO = ISNULL(@IS_AUTO,'0') DECLARE @IS_KITCHEN_SYSTEM AS VARCHAR(100) = (SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'IS_KITCHEN_MODULE') SET @IS_KITCHEN_SYSTEM = ISNULL(@IS_KITCHEN_SYSTEM,'0') IF @IS_KITCHEN_SYSTEM = 1 BEGIN IF @IS_AUTO = 1 BEGIN EXEC(' SELECT OrderID,KTCJSONS2,OrderType,QUEUENO,account_name,RCKTCS2 FROM ( SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''delivery'' AND StoreCode = '''+@StoreCode+''' AND OrderSts NOT IN (0,1) UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''pickup'' AND SUBSTRING(CONVERT(VARCHAR,GETDATE(),108),1,5) BETWEEN SUBSTRING(CONVERT(VARCHAR,DATEADD(MINUTE,'+@limit_min+',CONVERT(TIME,PickUpTime,108))),1,5) AND SUBSTRING(CONVERT(VARCHAR,DATEADD(MINUTE,'+@limit_max+',CONVERT(TIME,PickUpTime,108))),1,5) AND StoreCode = '''+@StoreCode+''' AND OrderSts NOT IN (0,1) UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''pickup'' AND CONVERT(varchar,ORDERDT,112) + REPLACE(CONVERT(varchar,PickUpTime,108),'':'','''') < CONVERT(varchar,GETDATE(),112) + REPLACE(CONVERT(varchar,GETDATE(),108),'':'','''') AND StoreCode = '''+@StoreCode+''' AND OrderSts NOT IN (0,1) UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH WHERE ISNULL(QUEUENO,'''') <> '''' AND RCKTCS2 NOT IN (''0'',''200'') )SALES WHERE KTCJSONS2 <> ''X'' ') END ELSE BEGIN EXEC(' SELECT OrderID,KTCJSONS2,OrderType,QUEUENO,account_name,RCKTCS2 FROM ( SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''pickup'' AND SUBSTRING(CONVERT(VARCHAR,GETDATE(),108),1,5) BETWEEN SUBSTRING(CONVERT(VARCHAR,DATEADD(MINUTE,'+@limit_min+',CONVERT(TIME,PickUpTime,108))),1,5) AND SUBSTRING(CONVERT(VARCHAR,DATEADD(MINUTE,'+@limit_max+',CONVERT(TIME,PickUpTime,108))),1,5) AND StoreCode = '''+@StoreCode+''' AND OrderSts NOT IN (0,1) UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH WHERE ISNULL(QUEUENO,'''') <> '''' AND RCKTCS2 NOT IN (''0'',''200'') UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''pickup'' AND CONVERT(varchar,ORDERDT,112) + REPLACE(CONVERT(varchar,PickUpTime,108),'':'','''') < CONVERT(varchar,GETDATE(),112) + REPLACE(CONVERT(varchar,GETDATE(),108),'':'','''') AND StoreCode = '''+@StoreCode+''' AND OrderSts NOT IN (0,1) UNION SELECT OrderID,KTCJSONS2,OrderType,ISNULL(QUEUENO,'''') as QUEUENO,account_name,RCKTCS2 FROM famiorderS2HH where ISNULL(QUEUENO,'''') = '''' AND OrderType = ''delivery'' AND StoreCode = '''+@StoreCode+''' AND GETDATE() >= DATEADD(minute,4,ORDERDT) AND OrderSts NOT IN (0,1) )SALES WHERE KTCJSONS2 <> ''X'' ') END END END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_UPDATE_ORDER_SEND_TO_KITCHEN_S2 @StoreCode VARCHAR(100), @OrderID VARCHAR(100), @QUEUENO VARCHAR(100), @RC VARCHAR(10), @RM VARCHAR(8000) as set nocount on BEGIN TRY BEGIN TRAN IF EXISTS (SELECT '' FROM famiorderS2HH WHERE OrderID = @OrderID AND StoreCode = @StoreCode AND QUEUENO <> '') BEGIN UPDATE famiorderS2HH SET RCKTCS2 = @RC, RCKTCMSGS2 = @RM, RCKTCDTS2 = GETDATE() WHERE OrderID = @OrderID AND StoreCode = @StoreCode END ELSE BEGIN UPDATE famiorderS2HH SET QUEUENO = @QUEUENO,RCKTCS2 = @RC, RCKTCMSGS2 = @RM, RCKTCDTS2 = GETDATE() WHERE OrderID = @OrderID AND StoreCode = @StoreCode END COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_DISPLAY_AUTO_RECEIVED_ORDER as set nocount on BEGIN TRY SELECT SETUPVALUE FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'FAMIAPPS_AUTO' END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_DISPLAY_SUPPLY_JSON_TO_BE_SEND_S2 as set nocount on BEGIN TRY SELECT famiorderS2HH.OrderID,RCSUPPLY,SUPLY_JSON FROM famiorderS2HH LEFT JOIN famiorderS2FH ON famiorderS2HH.OrderID = famiorderS2FH.OrderID WHERE SUPLY_JSON <> '' AND RCSUPPLY <> '200' END TRY BEGIN CATCH DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO CREATE PROC FAMIAPPS_EY_UPDATE_SUPPLY_JSON_SENT_STATUS_S2 @OrderID VARCHAR(100), @RC VARCHAR(100), @RM VARCHAR(100), @RDT DATETIME as set nocount on BEGIN TRY BEGIN TRAN UPDATE famiorderS2HH SET RCSUPPLY = @RC, RMSUPPLY = @RM, RDSUPPLY = @RDT WHERE OrderID = @OrderID COMMIT END TRY BEGIN CATCH ROLLBACK DECLARE @ERROR_ALL AS VARCHAR(MAX) SET @ERROR_ALL = ERROR_MESSAGE() RAISERROR(@ERROR_ALL,16,1) END CATCH set nocount off GO ------------------------------------------------------------------------------ IF EXISTS (SELECT '' FROM RETAIL_SYSTEMS.dbo.MSetup WHERE SETUPID = 'V_FAMI_APPS') BEGIN UPDATE RETAIL_SYSTEMS.dbo.MSetup SET SETUPVALUE = 'V.51.0' WHERE SETUPID = 'V_FAMI_APPS' END ELSE BEGIN INSERT INTO RETAIL_SYSTEMS.dbo.MSetup(SETUPID,SETUPVALUE,CRUSRID,CREATDT,MDFUSRID,MODIFDT) VALUES ('V_FAMI_APPS','V.51.0','SYSTEMS',GETDATE(),'','1900-01-01') END ------------------------------------------------------------------------------
Editor is loading...
Leave a Comment