Pārlūkot izejas kodu

设置列隐藏展示

xuefy 3 gadi atpakaļ
vecāks
revīzija
105c1aa844

+ 155 - 0
sc-service/src/main/java/com/huyi/service/common/OwnColumnsettingController.java

@@ -0,0 +1,155 @@
+package com.huyi.service.common;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.huyi.service.base.entity.PubColumnSettingsInf;
+import com.huyi.service.base.service.IPubColumnSettingsInfService;
+import com.tianhu.common.core.domain.R;
+import com.tianhu.common.core.utils.CommonUtil;
+import com.tianhu.common.core.web.controller.BaseController;
+import com.tianhu.common.core.web.domain.AjaxResult;
+import com.tianhu.common.log.annotation.Log;
+import com.tianhu.common.log.enums.BusinessType;
+import com.tianhu.common.security.service.TokenService;
+import com.tianhu.system.api.model.LoginUser;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 个性设置列Controller
+ * 
+ * @author tianhu
+ * @date 2021-02-04
+ */
+@RestController
+@RequestMapping("/ownColumnsetting")
+public class OwnColumnsettingController extends BaseController
+{
+    //自动生成的列设置类
+    @Autowired
+    private IPubColumnSettingsInfService columnSettingsInfService;
+    //token
+    @Autowired
+    private TokenService tokenService;
+
+
+    /**
+     * 配置列显示隐藏
+     * @param map
+     * @return
+     * @throws ParseException
+     */
+    @Log(title = "列设置管理", businessType = BusinessType.INSERT)
+    @Transactional(rollbackFor=Exception.class)
+    @PostMapping
+    public AjaxResult add(@RequestBody Map<String,Object> map) throws ParseException {
+        //获取用户信息
+        LoginUser userInfo = tokenService.getLoginUser();
+        //用户id
+        String userId = CommonUtil.objToString(userInfo.getUserid());
+        //企业id
+        String companyId = userInfo.getSysUser().getCompanyId();
+        //获取页面路径
+        String psfPagePath = CommonUtil.objToString(map.get("psfPagePath"));
+        if(CommonUtil.isEmpty(psfPagePath)){
+            return AjaxResult.error("页面路径不能为空");
+        }
+        //获取页面表格名称
+        String psfTableName = CommonUtil.objToString(map.get("psfTableName"));
+        if(CommonUtil.isEmpty(psfTableName)){
+            return AjaxResult.error("表格名称不能为空");
+        }
+        //获取显示的列
+        List<String> psfShowDataList = (List<String>)map.get("psfShowData");
+        if(psfShowDataList.size() < 1){
+            return AjaxResult.error("配置显示列不能为空");
+        }
+        String psfShowData = "[" + String.join(",", psfShowDataList) + "]";
+
+        //先查询是否存在
+        LambdaQueryWrapper<PubColumnSettingsInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfCompanyId,companyId);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfUserId,userId);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfPagePath,psfPagePath);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfTableName,psfTableName);
+        List<PubColumnSettingsInf>  list  = columnSettingsInfService.findPubColumnSettingsInfs(lambdaQueryWrapper);
+        PubColumnSettingsInf columnSettingsInf = new PubColumnSettingsInf();
+        //公司
+        columnSettingsInf.setPsfCompanyId(companyId);
+        //用户编号
+        columnSettingsInf.setPsfUserId(userId);
+        columnSettingsInf.setPsfPagePath(psfPagePath);
+        columnSettingsInf.setPsfTableName(psfTableName);
+        columnSettingsInf.setPsfShowData(psfShowData);
+        //没有,执行新增
+        if(list.size() < 1){
+            columnSettingsInfService.createPubColumnSettingsInf(columnSettingsInf);
+        }else{
+            //执行修改
+            columnSettingsInfService.update(columnSettingsInf,lambdaQueryWrapper);
+        }
+        return AjaxResult.success();
+    }
+
+    /**
+     * 查询当前用户配置的列隐藏与显示
+     * @param map
+     * @return
+     */
+    @GetMapping("/list")
+    public R list(@RequestParam(required = false) Map map) {
+        //获取用户信息
+        LoginUser userInfo = tokenService.getLoginUser();
+        //企业id
+        String companyId = userInfo.getSysUser().getCompanyId();
+        //用户id
+        String userId = CommonUtil.objToString(userInfo.getUserid());
+        //获取页面路径
+        String psfPagePath = CommonUtil.objToString(map.get("psfPagePath"));
+        if(CommonUtil.isEmpty(psfPagePath)){
+            return R.ok("页面路径不能为空");
+        }
+        //获取页面表格名称
+        String psfTableName = CommonUtil.objToString(map.get("psfTableName"));
+        if(CommonUtil.isEmpty(psfTableName)){
+            return R.ok("表格名称不能为空");
+        }
+        LambdaQueryWrapper<PubColumnSettingsInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfCompanyId,companyId);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfUserId,userId);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfPagePath,psfPagePath);
+        lambdaQueryWrapper.eq(PubColumnSettingsInf::getPsfTableName,psfTableName);
+        List<PubColumnSettingsInf>  list  = columnSettingsInfService.findPubColumnSettingsInfs(lambdaQueryWrapper);
+        if (list.size() > 0){
+            PubColumnSettingsInf pubColumnSettingsInf = list.get(0);
+            Map<String,Object> p  = CommonUtil.entityToMap(pubColumnSettingsInf);
+            //获取显示列
+           String  showData   = CommonUtil.objToString(p.get("psfShowData"));
+           System.out.println(showData);
+           //不为空
+           if(!CommonUtil.isEmpty((showData))){
+               showData = showData.replace("[", "").replace("]", "");
+               String[] strs = showData.split(",");
+               List<String> showDataList = new ArrayList<String>();
+               for (int i = 0; i < strs.length; i++) {
+                   showDataList.add(strs[i]);
+               }
+               p.put("psfShowData",showDataList);
+           }
+            return R.ok(p);
+        }else{
+            Map m  = new HashMap();
+            return R.ok(m);
+        }
+
+    }
+
+
+
+
+}