/* sqlid : com.interplug.qcast.user.setStoreSapCdSave */ WITH SALES_STORE_CTE AS ( SELECT SALE_STORE_ID , SALE_STORE_NAME , SALE_STORE_LEVEL , FIRST_AGENT_ID , PARENT_SALE_AGENT_ID , DEL_FLG FROM M_SALES_STORE WITH(NOLOCK) WHERE SALE_STORE_ID = #{saleStoreId} AND APPROVE_FLG = '2' UNION ALL SELECT A.SALE_STORE_ID , A.SALE_STORE_NAME , A.SALE_STORE_LEVEL , A.FIRST_AGENT_ID , A.PARENT_SALE_AGENT_ID , A.DEL_FLG FROM M_SALES_STORE A WITH(NOLOCK) INNER JOIN SALES_STORE_CTE B ON A.PARENT_SALE_AGENT_ID = B.SALE_STORE_ID WHERE A.APPROVE_FLG = '2' ) MERGE INTO M_SALES_STORE_ID_FOR_SAP AS A USING ( SELECT CASE WHEN SALE_STORE_LEVEL = '1' THEN 'Y' ELSE 'N' END AS FIRST_AGENT_YN , SALE_STORE_ID , SALE_STORE_NAME , SALE_STORE_LEVEL , FIRST_AGENT_ID , PARENT_SALE_AGENT_ID , DEL_FLG FROM SALES_STORE_CTE ) AS D ON A.SALE_STORE_ID = D.SALE_STORE_ID WHEN MATCHED AND D.DEL_FLG = '1' THEN DELETE WHEN MATCHED THEN UPDATE SET SAP_SALES_STORE_CD = #{sapSalesStoreCd} WHEN NOT MATCHED THEN INSERT ( SALE_STORE_ID , SAP_SALES_STORE_CD ) VALUES ( D.SALE_STORE_ID , #{sapSalesStoreCd} ); /* sqlid : com.interplug.qcast.user.setStoreSave */ MERGE M_SALES_STORE AS A USING ( SELECT #{saleStoreId} AS SALE_STORE_ID ) AS D ON (A.SALE_STORE_ID = D.SALE_STORE_ID) WHEN MATCHED THEN UPDATE SET SALE_STORE_NAME = #{saleStoreName} , SALE_STORE_NAME_KANA = #{saleStoreNameKana} , ZIP_NO = #{zipNo} , ADDRESS = #{address} , TEL = #{tel} , FAX = #{fax} , APPLICATION_DATE = #{applicationDate} , APPROVAL_DATE = #{approvalDate} , APPROVE_FLG = #{approveFlg} , PAYMENT_TERMS = #{paymentTerms} , FIRST_AGENT_FLG = #{firstAgentFlg} , SECOND_AGENT_FLG = #{secondAgentFlg} , FIRST_AGENT_ID = #{firstAgentId} , PARENT_SALE_AGENT_ID = #{parentSaleAgentId} , BUSINESS_CHARGER = #{businessCharger} , BUSINESS_CHARGER_CD = #{businessChargerCd} , DISP_COMPANY_NAME = #{dispCompanyName} , DISP_ZIP_NO = #{dispZipNo} , DISP_ADDRESS = #{dispAddress} , DISP_TEL = #{dispTel} , DISP_FAX = #{dispFax} , DISP_MAIL = #{dispMail} , SALE_STORE_LEVEL = #{saleStoreLevel} , PRICE_PATTERN = #{pricePattern} , DEL_FLG = #{delFlg} , LAST_EDIT_DATETIME = GETDATE() , LAST_EDIT_USER = #{lastEditUser} WHEN NOT MATCHED THEN INSERT ( SALE_STORE_ID , SALE_STORE_NAME , SALE_STORE_NAME_KANA , ZIP_NO , ADDRESS , TEL , FAX , APPLICATION_DATE , APPROVAL_DATE , APPROVE_FLG , PAYMENT_TERMS , FIRST_AGENT_FLG , SECOND_AGENT_FLG , FIRST_AGENT_ID , PARENT_SALE_AGENT_ID , PRICE_PATTERN , OUTPUT_COMP_CLASS -- 출력 대비표 분류 , INDUSTRIAL_OUTPUT_COMP_CLASS -- 산업출력 대비표 출력 , FIXED_PRICE_FLG -- 정가 표시 , QCELLS_FLG -- 패널선택 , HANWFA_FLG -- 패널선택 , OUT_STANDARD_FLG -- 비표준대응 , BUSINESS_CHARGER , BUSINESS_CHARGER_CD , DISP_COMPANY_NAME , DISP_ZIP_NO , DISP_ADDRESS , DISP_TEL , DISP_FAX , DISP_MAIL , SALE_STORE_LEVEL , REGIST_DATETIME , DEL_FLG , SNOWFALL_FLG -- 적설 , LAST_EDIT_DATETIME , LAST_EDIT_USER ) VALUES ( #{saleStoreId} , #{saleStoreName} , #{saleStoreNameKana} , #{zipNo} , #{address} , #{tel} , #{fax} , #{applicationDate} , #{approvalDate} , #{approveFlg} , #{paymentTerms} , #{firstAgentFlg} , #{secondAgentFlg} , #{firstAgentId} , #{parentSaleAgentId} , #{pricePattern} , 0 -- 출력 대비표 분류 , 0 -- 산업출력 대비표 출력 , 0 -- 정가 표시 , 0 -- 패널선택 , 0 -- 패널선택 , 0 -- 비표준대응 , #{businessCharger} , #{businessChargerCd} , #{dispCompanyName} , #{dispZipNo} , #{dispAddress} , #{dispTel} , #{dispFax} , #{dispMail} , #{saleStoreLevel} , #{registDatetime} , 0 , 0 -- 적설 , GETDATE() , #{lastEditUser} ); /* sqlid : com.interplug.qcast.user.setStoreInfoSave */ MERGE M_SALES_STORE_INFO AS A USING ( SELECT #{saleStoreId} AS SALE_STORE_ID ) AS D ON (A.SALE_STORE_ID = D.SALE_STORE_ID) WHEN MATCHED THEN UPDATE SET BIZ_NO = #{bizNo} , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( SALE_STORE_ID , BIZ_NO , LAST_EDIT_DATETIME ) VALUES ( #{saleStoreId} , #{bizNo} , GETDATE() ); /* sqlid : com.interplug.qcast.user.setUserSave */ MERGE M_USER AS A USING ( SELECT #{userId} AS USER_ID , #{delFlg} AS DEL_FLG ) AS D ON (A.USER_ID = D.USER_ID) WHEN MATCHED AND D.DEL_FLG = '1' THEN DELETE WHEN MATCHED THEN UPDATE SET SALE_STORE_ID = #{saleStoreId} , CATEGORY = #{category} , NAME = #{name} , NAME_KANA = #{nameKana} , TEL = #{tel} , FAX = #{fax} , MAIL = #{mail} , LAST_EDIT_DATETIME = GETDATE() , LAST_EDIT_USER = #{lastEditUser} -- , GROUP_ID -- '70000' , '60000' -- , MODULE_SELECT_GROUP_ID -- 모듈 선택 그룹 ('G1','GA' ,'G2') -- , VERSION_MANAGEMENT_ID -- 관리ID ('hanbaiten', 'hanwha_eigyo') -- , DISP_COST_PRICE -- 구매 값 표시 -- , DISP_SELLING_PRICE -- 판매 가격 표시 WHEN NOT MATCHED THEN INSERT ( USER_ID , SALE_STORE_ID , PASSWORD , CATEGORY , NAME , NAME_KANA , TEL , FAX , MAIL , GROUP_ID , MODULE_SELECT_GROUP_ID , VERSION_MANAGEMENT_ID , DISP_COST_PRICE , DISP_SELLING_PRICE , REGIST_DATETIME , LAST_EDIT_DATETIME , LAST_EDIT_USER ) VALUES ( #{userId} , #{saleStoreId} , SUBSTRING(#{userId},1,10) , #{category} , #{name} , #{nameKana} , #{tel} , #{fax} , #{mail} , #{groupId} , 'G1' /* 일반 공개용 */ , 'hanbaiten' /* 일반 판매점 */ , 0 , 0 , GETDATE() , GETDATE() , #{lastEditUser} ); /* sqlid : com.interplug.qcast.user.deleteStoreUnitPrice */ DELETE FROM M_SALE_STORE_PRICE WHERE SALE_STORE_ID = #{saleStoreId} /* sqlid : com.interplug.qcast.user.setStoreUnitPrice */ INSERT INTO M_SALE_STORE_PRICE( SALE_STORE_ID , ITEM_ID , COST_PRICE , SALE_PRICE , DISP_FLG , LAST_EDIT_DATETIME , LAST_EDIT_USER ) SELECT #{saleStoreId} , ITEM_ID , COST_PRICE , SALE_PRICE , '1' , GETDATE() , #{lastEditUser} FROM M_PRICE_PATTERN_MONEY WHERE PRICE_PATTERN = #{pricePattern} /* sqlid : com.interplug.qcast.user.setStoreNorthModuleSave */ MERGE INTO M_SALES_STORE_NORTH_MODULE AS A USING ( SELECT #{saleStoreId} AS SALE_STORE_ID ) AS D ON A.SALE_STORE_ID = D.SALE_STORE_ID WHEN MATCHED THEN UPDATE SET DEL_FLG = #{northModuleFlg} WHEN NOT MATCHED THEN INSERT ( SALE_STORE_ID , DEL_FLG ) VALUES ( #{saleStoreId} , #{northModuleFlg} ); UPDATE M_BUSINESS_CHARGER SET DEL_FLG = '1' /* sqlid : com.interplug.qcast.user.setBusinessChargerSyncSave */ MERGE INTO M_BUSINESS_CHARGER AS A USING ( SELECT #{businessChargerCd} AS BUSINESS_CHARGER_CD ) AS D ON A.BUSINESS_CHARGER_CD = D.BUSINESS_CHARGER_CD WHEN MATCHED THEN UPDATE SET BUSINESS_CHARGER = #{businessCharger} , BUSINESS_TEAM_CD = #{businessChargerTeamCd} , DEL_FLG = #{delFlg} WHEN NOT MATCHED THEN INSERT ( BUSINESS_CHARGER_CD , BUSINESS_CHARGER , BUSINESS_TEAM_CD , DEL_FLG ) VALUES ( #{businessChargerCd} , #{businessCharger} , #{businessChargerTeamCd} , #{delFlg} ); /* sqlid : com.interplug.qcast.user.setBusinessChargerInfoSyncSave */ MERGE INTO M_BUSINESS_CHARGER_INFO AS A USING ( SELECT #{businessChargerCd} AS BUSINESS_CHARGER_CD ) AS D ON A.BUSINESS_CHARGER_CD = D.BUSINESS_CHARGER_CD WHEN MATCHED THEN UPDATE SET BUSINESS_CHARGER_TEL = #{businessChargerTel} , BUSINESS_CHARGER_MAIL = #{businessChargerMail} , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( BUSINESS_CHARGER_CD , BUSINESS_CHARGER_TEL , BUSINESS_CHARGER_MAIL , LAST_EDIT_DATETIME ) VALUES ( #{businessChargerCd} , #{businessChargerTel} , #{businessChargerMail} , GETDATE() ); DELETE FROM M_MANAGER_SITE_ACCESS_USER WHERE USER_ID = #{userId} /* sqlid : com.interplug.qcast.user.setAdminUserSyncSave */ MERGE INTO M_MANAGER_SITE_ACCESS_USER AS A USING ( SELECT #{userId} AS USER_ID ) AS D ON A.USER_ID = D.USER_ID WHEN MATCHED THEN UPDATE SET COMPANY_NAME = #{companyName} , CATEGORY = #{category} , NAME = #{name} , TEL = #{tel} , FAX = #{fax} , MAIL = #{mail} WHEN NOT MATCHED THEN INSERT ( USER_ID , PASSWORD , COMPANY_NAME , CATEGORY , NAME , TEL , FAX , MAIL , GROUP_ID ) VALUES ( #{userId} , #{userId} , #{companyName} , #{category} , #{name} , #{tel} , #{fax} , #{mail} , #{groupId} );