diff --git a/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemMapper.java b/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemMapper.java index 651fd788..0959b8c3 100644 --- a/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemMapper.java +++ b/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemMapper.java @@ -25,6 +25,15 @@ public interface DisplayItemMapper { */ int setItemSyncSave(ItemSyncResponse itemInfoSync); + /** + * 아이템 추가 정보 동기화 + * + * @param itemInfoSync 아이템 정보 + * @return + * @throws Exception + */ + int setItemInfoSyncSave(ItemSyncResponse itemInfoSync); + /** * BOM 아이템 정보 삭제 * diff --git a/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemService.java b/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemService.java index 534b6cfe..296b2861 100644 --- a/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemService.java +++ b/src/main/java/com/interplug/qcast/biz/displayItem/DisplayItemService.java @@ -102,6 +102,7 @@ public class DisplayItemService { int cnt = 0; for (ItemSyncResponse itemSyncData : itemSyncList) { cnt += displayItemMapper.setItemSyncSave(itemSyncData); + cnt += displayItemMapper.setItemInfoSyncSave(itemSyncData); } return cnt; } diff --git a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java index ccdd8ba3..82686f2c 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserMapper.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserMapper.java @@ -64,6 +64,16 @@ public interface UserMapper { int setBusinessChargerSyncSave(BusinessChargerSyncResponse businessChargerSyncData) throws Exception; + /** + * 영업사원 추가 정보 동기화 저장 + * + * @param businessChargerSyncData + * @return + * @throws Exception + */ + int setBusinessChargerInfoSyncSave(BusinessChargerSyncResponse businessChargerSyncData) + throws Exception; + /** * 관리자 유저 정보 동기화 삭제 * diff --git a/src/main/java/com/interplug/qcast/biz/user/UserService.java b/src/main/java/com/interplug/qcast/biz/user/UserService.java index e97a138c..908bf2ea 100644 --- a/src/main/java/com/interplug/qcast/biz/user/UserService.java +++ b/src/main/java/com/interplug/qcast/biz/user/UserService.java @@ -102,6 +102,7 @@ public class UserService { userMapper.deleteBusinessChargerSync(); for (BusinessChargerSyncResponse businessChargerSyncData : businessChargerSyncList) { cnt += userMapper.setBusinessChargerSyncSave(businessChargerSyncData); + cnt += userMapper.setBusinessChargerInfoSyncSave(businessChargerSyncData); } return cnt; } diff --git a/src/main/resources/mappers/displayItem/displayItemMapper.xml b/src/main/resources/mappers/displayItem/displayItemMapper.xml index b05d2ec0..764203d6 100644 --- a/src/main/resources/mappers/displayItem/displayItemMapper.xml +++ b/src/main/resources/mappers/displayItem/displayItemMapper.xml @@ -173,7 +173,6 @@ , SPECIFICATION = #{specification} , FIXED_PRICE = #{fixedPrice} , PNOW_W = #{pnowW} - , ITEM_CTG_GR = #{itemCtgGr} , ITEM_GROUP = #{itemGroup} , PANEL_ORDER_FLG = CASE WHEN #{panelOrderFlg} = 'FALSE' THEN 0 ELSE 1 END , STAND_ORDER_FLG = CASE WHEN #{standOrderFlg} = 'FALSE' THEN 0 ELSE 1 END @@ -199,18 +198,6 @@ , DISP_CONTAINER_FLG = CASE WHEN #{dispContainerFlg} = 'FALSE' THEN 0 ELSE 1 END , PANEL_LAYOUT_DESIGN_DISP_FLG = CASE WHEN #{panelLayoutDesignDispFlg} = 'FALSE' THEN 0 ELSE 1 END , STAND_DISP_FLG = CASE WHEN #{standDispFlg} = 'FALSE' THEN 0 ELSE 1 END - , GROSS_WT = #{grossWt} - , GUAR_ITEM_GROUP = #{guarItemGroup} - , FILE_UPLOAD_FLG = CASE WHEN #{fileUploadFlg} = 'FALSE' THEN 0 ELSE 1 END - , SALT_AFFECTED_FLG = CASE WHEN #{saltAffectedFlg} = 'FALSE' THEN 0 ELSE 1 END - , GUAR_EXCEPT_FLG = CASE WHEN #{guarExceptFlg} = 'FALSE' THEN 0 ELSE 1 END - , COLD_ZONE_FLG = CASE WHEN #{coldZoneFlg} = 'FALSE' THEN 0 ELSE 1 END - , PKG_MATERIAL_FLG = CASE WHEN #{pkgMaterialFlg} = 'FALSE' THEN 0 ELSE 1 END - , TEMP_LOSS = #{tempLoss} - , TEMP_COEFF = #{tempCoeff} - , AMP = #{amp} - , CNV_EFF = #{cnvEff} - , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( ITEM_ID @@ -221,7 +208,6 @@ , SPECIFICATION , FIXED_PRICE , PNOW_W - , ITEM_CTG_GR , ITEM_GROUP , PANEL_ORDER_FLG , STAND_ORDER_FLG @@ -247,18 +233,6 @@ , DISP_CONTAINER_FLG , PANEL_LAYOUT_DESIGN_DISP_FLG , STAND_DISP_FLG - , GROSS_WT - , GUAR_ITEM_GROUP - , FILE_UPLOAD_FLG - , SALT_AFFECTED_FLG - , GUAR_EXCEPT_FLG - , COLD_ZONE_FLG - , PKG_MATERIAL_FLG - , TEMP_LOSS - , TEMP_COEFF - , AMP - , CNV_EFF - , LAST_EDIT_DATETIME ) VALUES ( #{itemId} , #{itemName} @@ -268,7 +242,6 @@ , #{specification} , #{fixedPrice} , #{pnowW} - , #{itemCtgGr} , #{itemGroup} , CASE WHEN #{panelOrderFlg} = 'FALSE' THEN 0 ELSE 1 END , CASE WHEN #{standOrderFlg} = 'FALSE' THEN 0 ELSE 1 END @@ -294,6 +267,52 @@ , CASE WHEN #{dispContainerFlg} = 'FALSE' THEN 0 ELSE 1 END , CASE WHEN #{panelLayoutDesignDispFlg} = 'FALSE' THEN 0 ELSE 1 END , CASE WHEN #{standDispFlg} = 'FALSE' THEN 0 ELSE 1 END + ); + + + + /* sqlid : com.interplug.qcast.displayItem.setItemInfoSyncSave */ + MERGE M_ITEM_INFO AS A + USING + ( SELECT #{itemId} AS ITEM_ID + ) AS D + ON ( + A.ITEM_ID = D.ITEM_ID + ) + WHEN MATCHED THEN + UPDATE SET + GUAR_ITEM_GROUP = #{guarItemGroup} + , FILE_UPLOAD_FLG = CASE WHEN #{fileUploadFlg} = 'FALSE' THEN 0 ELSE 1 END + , SALT_AFFECTED_FLG = CASE WHEN #{saltAffectedFlg} = 'FALSE' THEN 0 ELSE 1 END + , GUAR_EXCEPT_FLG = CASE WHEN #{guarExceptFlg} = 'FALSE' THEN 0 ELSE 1 END + , COLD_ZONE_FLG = CASE WHEN #{coldZoneFlg} = 'FALSE' THEN 0 ELSE 1 END + , GROSS_WT = #{grossWt} + , PKG_MATERIAL_FLG = CASE WHEN #{pkgMaterialFlg} = 'FALSE' THEN 0 ELSE 1 END + , ITEM_CTG_GR = #{itemCtgGr} + , TEMP_LOSS = #{tempLoss} + , TEMP_COEFF = #{tempCoeff} + , CNV_EFF = #{cnvEff} + , AMP = #{amp} + , LAST_EDIT_DATETIME = GETDATE() + WHEN NOT MATCHED THEN + INSERT ( + ITEM_ID + , ITEM_CTG_GR + , GROSS_WT + , GUAR_ITEM_GROUP + , FILE_UPLOAD_FLG + , SALT_AFFECTED_FLG + , GUAR_EXCEPT_FLG + , COLD_ZONE_FLG + , PKG_MATERIAL_FLG + , TEMP_LOSS + , TEMP_COEFF + , AMP + , CNV_EFF + , LAST_EDIT_DATETIME + ) VALUES ( + #{itemId} + , #{itemCtgGr} , #{grossWt} , #{guarItemGroup} , CASE WHEN #{fileUploadFlg} = 'FALSE' THEN 0 ELSE 1 END @@ -330,20 +349,17 @@ WHEN MATCHED THEN UPDATE SET AMOUNT = #{amount} - , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( PACKAGE_ITEM_ID , ITEM_ID , AMOUNT , MANUAL_FLG - , LAST_EDIT_DATETIME ) VALUES ( #{packageItemId} , #{itemId} , #{amount} , CASE WHEN #{manualFlg} = 'FALSE' THEN 0 ELSE 1 END - , GETDATE() ); diff --git a/src/main/resources/mappers/user/userMapper.xml b/src/main/resources/mappers/user/userMapper.xml index a61c2c72..b5ac9451 100644 --- a/src/main/resources/mappers/user/userMapper.xml +++ b/src/main/resources/mappers/user/userMapper.xml @@ -262,26 +262,41 @@ UPDATE SET BUSINESS_CHARGER = #{businessCharger} , BUSINESS_TEAM_CD = #{businessTeamCd} - , BUSINESS_CHARGER_TEL = #{businessChargerTel} - , BUSINESS_CHARGER_MAIL = #{businessChargerMail} , DEL_FLG = #{delFlg} - , LAST_EDIT_DATETIME = GETDATE() WHEN NOT MATCHED THEN INSERT ( BUSINESS_CHARGER_CD , BUSINESS_CHARGER , BUSINESS_TEAM_CD - , BUSINESS_CHARGER_TEL - , BUSINESS_CHARGER_MAIL , DEL_FLG - , LAST_EDIT_DATETIME ) VALUES ( #{businessChargerCd} , #{businessCharger} , #{businessTeamCd} + , #{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} - , #{delFlg} , GETDATE() );