diff --git a/src/main/resources/mappers/object/objectMapper.xml b/src/main/resources/mappers/object/objectMapper.xml
index 874a04c9..bbf7ae35 100644
--- a/src/main/resources/mappers/object/objectMapper.xml
+++ b/src/main/resources/mappers/object/objectMapper.xml
@@ -471,23 +471,33 @@
- /* sqlid : com.interplug.qcast.biz.object.insertObjectNo */
- INSERT INTO T_OBJECT_NO
- (
- SALE_STORE_ID
- , YEAR
- , MONTH
- , DAY
- , NO
- )
- SELECT
- #{saleStoreId}
- , RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2)
- , RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2)
- , RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2)
- , ISNULL(MAX(NO), 0) + 1 FROM T_OBJECT_NO WHERE SALE_STORE_ID = #{saleStoreId} AND YEAR = RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) AND MONTH = RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) AND DAY = RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2)
+ MERGE INTO T_OBJECT_NO AS TARGET
+ USING (
+ SELECT
+ #{saleStoreId} AS SALE_STORE_ID
+ , RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2) AS YEAR
+ , RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2) AS MONTH
+ , RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2) AS DAY
+ , ISNULL(MAX(NO), 0) + 1 AS NO
+ FROM T_OBJECT_NO
+ WHERE SALE_STORE_ID = #{saleStoreId}
+ AND YEAR = RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR), 2)
+ AND MONTH = RIGHT('0' + CAST(MONTH(GETDATE()) AS VARCHAR), 2)
+ AND DAY = RIGHT('0' + CAST(DAY(GETDATE()) AS VARCHAR), 2)
+ ) AS SOURCE
+ ON TARGET.SALE_STORE_ID = SOURCE.SALE_STORE_ID
+ AND TARGET.YEAR = SOURCE.YEAR
+ AND TARGET.MONTH = SOURCE.MONTH
+ AND TARGET.DAY = SOURCE.DAY
+ WHEN MATCHED THEN
+ UPDATE SET
+ NO = SOURCE.NO
+ WHEN NOT MATCHED THEN
+ INSERT (SALE_STORE_ID, YEAR, MONTH, DAY, NO)
+ VALUES (SOURCE.SALE_STORE_ID, SOURCE.YEAR, SOURCE.MONTH, SOURCE.DAY, SOURCE.NO);
+
/* sqlid : com.interplug.qcast.biz.object.insertObject */
INSERT INTO T_OBJECT