From b1161ad21938f1fde021249b9c3dff6f884647b8 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 17 十月 2023 19:02:37 +0800
Subject: [PATCH] 首页主数据统计功能接口实现
---
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java | 7 +
Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java | 12 +
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java | 18 ++
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java | 4
Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml | 7 +
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java | 3
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java | 91 +++++++++++-
Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java | 6
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java | 55 +++++++
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java | 19 ++
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java | 12 +
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java | 39 +++++
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java | 10 +
Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml | 5
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java | 28 ++++
Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java | 42 ++++++
Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java | 16 ++
17 files changed, 360 insertions(+), 14 deletions(-)
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java
index 2754020..fef494b 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/MdmCount.java
@@ -1,6 +1,8 @@
package com.vci.ubcs.code.entity;
+import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import java.io.Serializable;
@@ -10,6 +12,8 @@
* @date 2023/10/16 16:04
*/
@Data
+@AllArgsConstructor
+@NoArgsConstructor
public class MdmCount implements Serializable {
/**
@@ -38,8 +42,14 @@
private String icon;
/**
- * 鏄惁榛樿鏄剧ず
+ * 鏄惁榛樿鏄剧ず:0榛樿涓嶆樉绀猴紝1榛樿鏄剧ず
*/
private Integer isDefault;
+ public MdmCount(String menuName, String menuRoute, String icon) {
+ this.menuName = menuName;
+ this.menuRoute = menuRoute;
+ this.icon = icon;
+ }
+
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java
new file mode 100644
index 0000000..48c11fc
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/entity/MdmCountConfig.java
@@ -0,0 +1,42 @@
+package com.vci.ubcs.system.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.extern.java.Log;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 涓绘暟鎹粺璁″璞�
+ * @author ludc
+ * @date 2023/10/17 14:46
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("PL_SYS_MDMCOUNT_CONFIG")
+public class MdmCountConfig implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 涓婚敭
+ */
+ @TableId
+ private Long id;
+
+ /**
+ * 鐢ㄦ埛id
+ */
+ private Long userId;
+
+ /**
+ * 涓绘暟鎹悕绉�
+ */
+ private String mdmName;
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
index 5e646a4..78d93a2 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
@@ -42,6 +42,8 @@
String API_PREFIX = "/client";
String MENU = API_PREFIX + "/menu";
+ String MENU_BY_CODES = API_PREFIX + "/menu-by-codes";
+ String MDM_COUNT_CONFIG = API_PREFIX + "/mdm-count-config";
String MENU_BUTTON = API_PREFIX + "/menu-button";
String DEPT = API_PREFIX + "/dept";
String TREE = API_PREFIX + "/tree";
@@ -87,6 +89,22 @@
R<Menu> getMenu(@RequestParam("id") Long id);
/**
+ * 鏍规嵁Code鑾峰彇鑿滃崟淇℃伅
+ * @param codes
+ * @return
+ */
+ @GetMapping(MENU_BY_CODES)
+ R<List<Menu>> getMenuByCodes(@RequestParam("codes") List<String> codes);
+
+ /**
+ * 鑾峰彇鐢ㄩ厤缃殑涓绘暟鎹粺璁�
+ * @param userId
+ * @return
+ */
+ @GetMapping(MDM_COUNT_CONFIG)
+ R<MdmCountConfig> getMdmCountConfig (@RequestParam("userId") String userId);
+
+ /**
* 鑾峰彇鑿滃崟涓嬮潰鐨勬寜閽�
*
* @param btmType 涓氬姟绫诲瀷
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
index 742f018..2f24bdf 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
@@ -38,6 +38,16 @@
}
@Override
+ public R<List<Menu>> getMenuByCodes(List<String> codes) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ @Override
+ public R<MdmCountConfig> getMdmCountConfig(String userId) {
+ return R.fail("鑾峰彇鏁版嵁澶辫触");
+ }
+
+ @Override
public R<List<Menu>> getMenuButtonByType(String btmType) {
return R.fail("鑾峰彇鏁版嵁澶辫触");
}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
index 4e65f82..b79d2c4 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/web/util/VciBaseUtil.java
@@ -868,7 +868,11 @@
}
public static String getTableName(String btmname) {
- return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "vcibt_" : "pl_code_") + btmname.trim().toLowerCase();
+ return (VciQueryWrapperForDO.USER_TABLE_COMPATIBILITY ? "PLBT_CODE" : "PL_CODE_") + btmname.trim().toLowerCase();
+ }
+
+ public static String getTableName(String btmname,Boolean isMdmTable) {
+ return (isMdmTable ? "PLBT_CODE_" : "PL_CODE_") + btmname.trim().toLowerCase();
}
public static Field getTsField(Class c) {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java
new file mode 100644
index 0000000..96497ad
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/MdmCountController.java
@@ -0,0 +1,39 @@
+package com.vci.ubcs.code.controller;
+
+import com.vci.ubcs.code.entity.MdmCount;
+import com.vci.ubcs.code.service.IMdmCountService;
+import com.vci.ubcs.code.service.MdmProductCodeService;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @author ludc
+ * @date 2023/10/16 22:57
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/mdmCount")
+@Api(value = "棣栭〉-涓绘暟鎹�绘暟缁熻", tags = "棣栭〉-涓绘暟鎹�绘暟缁熻鎺ュ彛")
+public class MdmCountController {
+
+ private final IMdmCountService mdmCountService;
+
+ /**
+ * 鏌ヨ涓绘暟鎹�绘暟
+ * @param userId
+ * @return
+ */
+ @GetMapping("/getMdmCounts")
+ public R<List<MdmCount>> getMdmCounts(@Param("userId") String userId)throws ServiceException {
+ return R.data(mdmCountService.getMdmCounts(userId));
+ }
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
index eb99034..86c4727 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CommonsMapper.java
@@ -22,6 +22,8 @@
int queryCountBySql(@Param("inSql") String inSql);
+ String queryCountStringBySql(@Param("inSql") String inSql);
+
List<Map> selectBySql(@Param("inSql") String inSql);
List<Map<String,String>> queryByOnlySqlForMap(@Param("inSql") String inSql);
@@ -34,6 +36,7 @@
* @return 鎻掑叆鎴愬姛鐨勬潯鏁�
*/
Integer insertByBaseModel(String tableName,Map<String,String> columnMap,List<Map<String,String>> mapList);
+
/**
* 浼犲叆琛ㄥ悕锛宮ap锛宭ist<map>瀹屾垚鎵归噺鏇存柊鎿嶄綔
* @param tableName 琛ㄥ悕
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java
index 5d250e3..04785d5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IMdmCountService.java
@@ -1,6 +1,7 @@
package com.vci.ubcs.code.service;
import com.vci.ubcs.code.entity.MdmCount;
+import org.springblade.core.log.exception.ServiceException;
import java.util.List;
@@ -15,7 +16,6 @@
* 缁熻涓绘暟鎹�绘暟
* @return
*/
- List<MdmCount> getMdmCounts();
-
+ List<MdmCount> getMdmCounts(String userId) throws ServiceException;
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
index 92c6569..d877d1b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmCountServiceImpl.java
@@ -4,15 +4,26 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.vci.ubcs.code.entity.CodeClassify;
import com.vci.ubcs.code.entity.MdmCount;
+import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.ICodeClassifyService;
import com.vci.ubcs.code.service.IMdmCountService;
+import com.vci.ubcs.system.entity.MdmCountConfig;
+import com.vci.ubcs.system.entity.Menu;
import com.vci.ubcs.system.feign.ISysClient;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
-import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
+
+import static com.vci.ubcs.starter.web.util.VciBaseUtil.getTableName;
/**
* 涓绘暟鎹粺璁℃湇鍔�
@@ -32,18 +43,80 @@
@Resource
private ICodeClassifyService codeClassifyService;
+ @Resource
+ private CommonsMapper commonsMapper;
+
+ /**
+ * 鏌ヨ涓绘暟鎹�绘暟
+ * @param userId
+ * @return
+ * @throws ServiceException
+ */
@Override
- public List<MdmCount> getMdmCounts() {
- // 1銆侀渶瑕佸厛鏌ヨ鍑哄垎绫讳笅椤剁骇鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О
+ public List<MdmCount> getMdmCounts(String userId) throws ServiceException{
+ /** 1銆佸厛鏌ヨ鍑哄悇鍒嗙被椤跺眰鑺傜偣鏈夊摢浜涗富鏁版嵁,鎷垮埌涓氬姟绫诲瀷鍚嶇О锛岀浉褰撲簬鎷垮埌涓绘暟鎹〃鍚�
+ 椤跺眰鑺傜偣鐨刡tmtypeid杩橀渶瑕佺敤浣滄煡璇㈡潯浠跺搴旂殑鑿滃崟琛ㄧ殑code瀛楁
+ 浣嗘槸涓轰簡鍑忓皯鏌ヨ娆℃暟锛屽氨闇�鍦ㄦ煡璇㈡槸浣跨敤btmtypeid瀛楁杩涜鎺掑簭
+ */
LambdaQueryWrapper<CodeClassify> wrapper = Wrappers.<CodeClassify>query()
.lambda()
- .isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId);
- Map<String, Object> map = codeClassifyService.getMap(wrapper);
- // 2銆佺劧鍚庨渶瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍�
+ .isNull(CodeClassify::getParentCodeClassifyOid).select(CodeClassify::getBtmTypeId)
+ .orderByAsc(CodeClassify::getBtmTypeId);
+ List<CodeClassify> codeClassifies = codeClassifyService.list(wrapper);
+ List<String> btyTypeIds = codeClassifies.stream().map(CodeClassify::getBtmTypeId).collect(Collectors.toList());
+ // 2銆佺劧鍚巉eign璋冪敤闇�瑕佹煡璇㈠嚭鑿滃崟璺敱鍜屽浘鏍�
+ R<List<Menu>> menuList = sysClient.getMenuByCodes(btyTypeIds);
+ if(!menuList.isSuccess() && menuList.getData().isEmpty()){
+ throw new ServiceException("鑾峰彇涓绘暟鎹粺璁℃椂锛屼富鏁版嵁鑿滃崟鏌ヨ涓虹┖锛屽師鍥狅細"+menuList.getMsg());
+ }
+ List<MdmCount> mdmCountList = new ArrayList<>();
+ // 3銆佹煡璇㈠綋鍓嶇櫥褰曠殑鐢ㄦ埛閰嶇疆浜嗛偅浜涗富鏁版嵁缁熻椤�
+ R<MdmCountConfig> mdmCountConfig = sysClient.getMdmCountConfig(userId);
+ if(!mdmCountConfig.isSuccess()){
+ throw new ServiceException("鑾峰彇涓绘暟鎹粺璁¢」閰嶇疆鏃跺嚭鐜伴敊璇紝鍘熷洜锛�"+mdmCountConfig.getMsg());
+ }
+ List<String> mdmNames = null;
+ if(Func.isBlank(mdmCountConfig.getData().getMdmName())){
+ AtomicInteger count = new AtomicInteger();
+ mdmNames = menuList.getData().stream().map(item->{
+ if(count.getAndIncrement() <5){
+ return item.getCode();
+ }
+ return null;
+ }).collect(Collectors.toList());
+ }else {
+ mdmNames = Arrays.stream(mdmCountConfig.getData().getMdmName().split(",")).collect(Collectors.toList());
+ }
+ final List<String> mdmNamesFinal = mdmNames;
+ // 4銆佺劧鍚巗et杩涘璞′腑
+ menuList.getData().stream().forEach(item->{
+ Integer isDefault = mdmNamesFinal.contains(item.getCode()) ? 1:0;
+ MdmCount mdmCount = new MdmCount(
+ item.getName(),
+ getCountByTableName(item.getCode()), /*鏌ヨ涓绘暟鎹�绘暟*/
+ item.getPath(),
+ item.getSource(),
+ isDefault
+ );
+ mdmCountList.add(mdmCount);
+ });
+ return mdmCountList;
+ }
- // 3銆佺劧鍚庤缃繘
-
- return null;
+ /**
+ * 鎷兼帴琛ㄥ悕鏌ヨ鎬绘暟
+ * @param tableName
+ * @return
+ */
+ private String getCountByTableName(String tableName){
+ String sql = "SELECT COUNT(*) FROM " + getTableName(tableName,true) +";";
+ String count = "0";
+ try {
+ count = commonsMapper.queryCountStringBySql(sql);
+ }catch (Exception e){
+ throw new ServiceException("涓绘暟鎹�绘暟鏌ヨ澶辫触锛屽師鍥狅細"+e.getCause());
+ }
+ return count;
}
}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
index 47f27e2..eb6db99 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CommonsMapper.xml
@@ -13,7 +13,6 @@
and w.LASTV = '1'
</select>
-
<select id="selectById" resultType="java.lang.String">
${inSql}
</select>
@@ -26,6 +25,10 @@
${inSql}
</select>
+ <select id="queryCountStringBySql" resultType="java.lang.String">
+ ${inSql}
+ </select>
+
<select id="queryByOnlySqlForMap" resultType="java.util.Map">
${inSql}
</select>
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
index 2aafe53..1816a69 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
@@ -59,11 +59,25 @@
private final ICombinationService combinationService;
+ private final IMdmCountConfigService mdmCountConfigService;
+
@Override
@GetMapping(MENU)
public R<Menu> getMenu(Long id) {
return R.data(menuService.getById(id));
}
+
+ /**
+ * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅
+ * @param codes
+ * @return
+ */
+ @Override
+ @GetMapping(MENU_BY_CODES)
+ public R<List<Menu>> getMenuByCodes(List<String> codes) {
+ return R.data(menuService.getMenuByCodes(codes));
+ }
+
@Override
@GetMapping(MENU_BUTTON)
public R<List<Menu>> getMenuButtonByType(String btmType) {
@@ -241,5 +255,10 @@
return R.data(combinationService.getRegexList(combinationIds));
}
+ @Override
+ @GetMapping(MDM_COUNT_CONFIG)
+ public R<MdmCountConfig> getMdmCountConfig (String userId) {
+ return R.data(mdmCountConfigService.getMdmCountConfig(userId));
+ }
}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java
new file mode 100644
index 0000000..516b52b
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/mapper/MdmCountConfigMapper.java
@@ -0,0 +1,12 @@
+package com.vci.ubcs.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.system.entity.MdmCountConfig;
+
+/**
+ * @author ludc
+ * @date 2023/10/17 14:53
+ */
+public interface MdmCountConfigMapper extends BaseMapper<MdmCountConfig> {
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java
new file mode 100644
index 0000000..1e5ffd6
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMdmCountConfigService.java
@@ -0,0 +1,28 @@
+package com.vci.ubcs.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.system.entity.MdmCountConfig;
+import org.springblade.core.tool.api.R;
+
+/**
+ * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔�
+ * @author ludc
+ * @date 2023/10/17 14:44
+ */
+public interface IMdmCountConfigService extends IService<MdmCountConfig> {
+
+ /**
+ * 淇濆瓨鐢ㄦ埛閰嶇疆鐨勪富鏁版嵁缁熻椤�
+ * @param mdmCountConfig
+ * @return
+ */
+ boolean saveMdmCountConfig(MdmCountConfig mdmCountConfig);
+
+ /**
+ * 鑾峰彇褰撳墠鐢ㄦ埛鏈夐偅浜涗富鏁版嵁缁熻閰嶇疆鍦ㄩ椤�
+ * @param userId
+ * @return
+ */
+ MdmCountConfig getMdmCountConfig(String userId);
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
index 8c799fb..c4d6ba8 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
@@ -175,6 +175,13 @@
List<Menu> getMenuButtonByType(String btmType);
/**
+ * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅
+ * @param codes
+ * @return
+ */
+ List<Menu> getMenuByCodes(List<String> codes);
+
+ /**
* 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽
*
* @param childMenu
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java
new file mode 100644
index 0000000..cf22c3e
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MdmCountConfigServiceImpl.java
@@ -0,0 +1,55 @@
+package com.vci.ubcs.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.system.entity.MdmCountConfig;
+import com.vci.ubcs.system.mapper.MdmCountConfigMapper;
+import com.vci.ubcs.system.service.IMdmCountConfigService;
+import org.springblade.core.log.exception.ServiceException;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.sql.Wrapper;
+import java.util.Date;
+
+/**
+ * 涓绘暟鎹粺璁¢椤甸厤缃湇鍔�
+ * @author ludc
+ * @date 2023/10/17 14:45
+ */
+@Service
+public class MdmCountConfigServiceImpl extends ServiceImpl<MdmCountConfigMapper, MdmCountConfig> implements IMdmCountConfigService {
+
+ @Override
+ public boolean saveMdmCountConfig(MdmCountConfig mdmCountConfig) throws ServiceException{
+ if(Func.isEmpty(mdmCountConfig) || Func.isBlank(mdmCountConfig.getUserId().toString())){
+ throw new ServiceException("涓绘暟鎹粺璁¢厤缃繚瀛樻椂缂哄皯蹇呭~鍙傛暟!");
+ }
+ boolean res = false;
+ try {
+ MdmCountConfig mdmCountConfigDB = getMdmCountConfig(mdmCountConfig.getUserId().toString());
+ //鏂板
+ if(Func.isBlank(mdmCountConfig.getId().toString())){
+ Func.copy(mdmCountConfig,mdmCountConfigDB);
+ }else {
+ //淇敼
+ mdmCountConfigDB.setMdmName(mdmCountConfig.getMdmName());
+ }
+ res = this.saveOrUpdate(mdmCountConfigDB);
+ }catch (Exception e){
+ throw new ServiceException("閰嶇疆淇濆瓨澶辫触,鍘熷洜锛�"+e.getCause());
+ }
+ return res;
+ }
+
+ @Override
+ public MdmCountConfig getMdmCountConfig(String userId) {
+ LambdaQueryWrapper<MdmCountConfig> wrapper = Wrappers.<MdmCountConfig>query().
+ lambda().eq(MdmCountConfig::getUserId, userId);
+ return this.getOne(wrapper);
+ }
+
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
index 344a9ef..cc258f7 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/MenuServiceImpl.java
@@ -312,6 +312,22 @@
}
/**
+ * 鏍规嵁code鏌ヨ鑿滃崟淇℃伅
+ * @param codes
+ * @return
+ */
+ @Override
+ public List<Menu> getMenuByCodes(List<String> codes) {
+ LambdaQueryWrapper<Menu> wrapper = Wrappers.<Menu>query()
+ .lambda()
+ .in(Menu::getCode, codes)
+ .eq(Menu::getIsDeleted,0) /*鏈鍒犻櫎*/
+ .eq(Menu::getCategory,1) /*鑿滃崟绫诲瀷涓嶈兘涓烘寜閽�*/
+ .orderByAsc(Menu::getCode); /*鏍规嵁code鎺掑簭涓巆lassify鐨刡tmtypeid瀵瑰簲*/
+ return this.list(wrapper);
+ }
+
+ /**
* 瀵筀eepAlive鍊艰浆鎹㈡垚甯冨皵绫诲瀷杩涜灏佽
*
* @param childMenu
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml
new file mode 100644
index 0000000..58b17ca
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/resources/mapper/MdmCountConfigMapper.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.system.mapper.MdmCountConfigMapper">
+
+
+
+</mapper>
--
Gitblit v1.9.3