From e1d40d161d3d145e252af57374d0afbba7c45244 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Sat, 7 Oct 2023 11:01:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E9=A3=8E=E6=8E=A7=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E6=A8=A1=E5=9D=97=E3=80=81=E5=BC=80=E5=8F=91=E8=B4=A2?= =?UTF-8?q?=E5=8A=A1=E5=8F=82=E6=95=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseDistributorService.java | 5 +- .../BaseDistributorApplyService.java | 5 +- .../BusDeliveredApplyService.java | 5 +- .../FinBillApplicationService.java | 7 +- .../portal/api/sysparameter/SysParameter.java | 30 ++ .../sysparameter/SysParameterDetailsVo.java | 32 ++ .../api/sysparameter/SysParameterDto.java | 33 ++ .../api/sysparameter/SysParameterFeign.java | 80 +++++ .../SysParameterFeignFallback.java | 60 ++++ .../api/sysparameter/SysParameterQuery.java | 29 ++ .../api/sysparameter/SysParameterVo.java | 25 ++ .../biz/sysparameter/SysParameterMapper.java | 35 ++ .../biz/sysparameter/SysParameterMapper.xml | 35 ++ .../biz/sysparameter/SysParameterRest.java | 74 +++++ .../biz/sysparameter/SysParameterService.java | 310 ++++++++++++++++++ 15 files changed, 756 insertions(+), 9 deletions(-) create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameter.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterDetailsVo.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterDto.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeign.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeignFallback.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterQuery.java create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterVo.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.xml create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterRest.java create mode 100644 anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterService.java diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java index d985c49fd1..e8398435a4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java @@ -40,6 +40,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; @@ -117,7 +118,7 @@ public class BaseDistributorService extends MybatisBaseService createQueryWrapper(FinBillApplicationQuery query) { // todo: 这里根据具体业务调整查询条件 @@ -787,7 +788,7 @@ public class FinBillApplicationService extends MybatisBaseService useOrgSids = new ArrayList<>(); + @ApiModelProperty("使用组织名称") + private List useOrgNames = new ArrayList<>(); +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterDto.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterDto.java new file mode 100644 index 0000000000..7620d602fe --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterDto.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.portal.api.sysparameter; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/8/21 9:12 + */ +@Data +public class SysParameterDto implements Dto { + + private String sid; + private String remarks; + private String userSid; + @ApiModelProperty("参数编码") + private String parameterNo; + @ApiModelProperty("参数名称") + private String parameterName; + @ApiModelProperty("参数值") + private String parameterValue; + @ApiModelProperty("使用组织全路径") + private String orgPath; + @ApiModelProperty("使用组织sid") + private List useOrgSids = new ArrayList<>(); + @ApiModelProperty("使用组织名称") + private List useOrgNames = new ArrayList<>(); +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeign.java new file mode 100644 index 0000000000..8eea23d5cb --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeign.java @@ -0,0 +1,80 @@ +package com.yxt.anrui.portal.api.sysparameter; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + + +/** + * @description: 风控参数 + * @author: fan + * @date: 2023/7/6 + **/ +@Api(tags = "风控参数") +@FeignClient( + contextId = "anrui-portal-SysParameter", + name = "anrui-portal", + path = "v1/sysparameter", + fallback = SysParameterFeignFallback.class) +public interface SysParameterFeign { + + /** + * 根据条件分页查询数据的列表(已测试) + * + * @param pq + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + + @ApiOperation("新增或修改") + @PostMapping("/saveOrUpdate") + @ResponseBody + public ResultBean saveOrUpdateParameter(@RequestBody SysParameterDto dto); + + @ApiOperation("批量删除") + @DeleteMapping("/deleteBySids") + @ResponseBody + public ResultBean deleteBySids(@RequestBody String[] sids); + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("根据参数编码查询参数值") + @PostMapping("/fetchByParNo") + @ResponseBody + ResultBean fetchByParNo(@RequestParam("parNo") String parNo); + + @ApiOperation("根据参数编码查询记录") + @PostMapping("/fetchOneByParNo") + @ResponseBody + ResultBean fetchOneByParNo(@RequestParam("parNo") String parNo); + + /** + * 根据条件分页查询数据的列表(已测试) + * + * @param pq + */ + @ApiOperation("根据条件分页查询财务参数数据的列表") + @PostMapping("/finListPage") + public ResultBean> finListPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增或修改") + @PostMapping("/finSave") + @ResponseBody + public ResultBean finSaveParameter(@RequestBody SysParameterDto dto); + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchFinDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchFinDetailsBySid(@PathVariable("sid") String sid); + + +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeignFallback.java new file mode 100644 index 0000000000..1426dc6292 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterFeignFallback.java @@ -0,0 +1,60 @@ +package com.yxt.anrui.portal.api.sysparameter; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +/** + * @author Administrator + * @description + * @date 2023/8/16 14:36 + */ +@Component +public class SysParameterFeignFallback implements SysParameterFeign { + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOrUpdateParameter(SysParameterDto dto) { + return null; + } + + + @Override + public ResultBean deleteBySids(String[] sids) { + return null; + } + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return null; + } + + @Override + public ResultBean fetchByParNo(String parNo) { + return null; + } + + @Override + public ResultBean fetchOneByParNo(String parNo) { + return null; + } + + @Override + public ResultBean> finListPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean finSaveParameter(SysParameterDto dto) { + return null; + } + + @Override + public ResultBean fetchFinDetailsBySid(String sid) { + return null; + } +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterQuery.java new file mode 100644 index 0000000000..4d146894d2 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterQuery.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.portal.api.sysparameter; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/16 15:05 + */ +@Data +public class SysParameterQuery implements Query { + + @ApiModelProperty("参数编码") + private String parameterNo; + @ApiModelProperty("参数名称") + private String parameterName; + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; + + +} diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterVo.java new file mode 100644 index 0000000000..37ca4758cb --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.portal.api.sysparameter; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/8/16 15:04 + */ +@Data +public class SysParameterVo implements Vo { + private String sid; + @ApiModelProperty("参数编码") + private String parameterNo; + @ApiModelProperty("参数名称") + private String parameterName; + @ApiModelProperty("参数值") + private String parameterValue; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("分公司") + private String useOrgName; +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.java new file mode 100644 index 0000000000..5769f19ace --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.portal.biz.sysparameter; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.portal.api.sysparameter.SysParameter; +import com.yxt.anrui.portal.api.sysparameter.SysParameterVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + + +/** + * @description: + * @author: fan + * @date: 2023/8/21 + **/ +@Mapper +public interface SysParameterMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + int updateBySidDelete(String sid); + + @Select("select parameterValue from sys_parameter where parameterNo = #{parNo}") + String fetchByParNo(String parNo); + + @Select("select * from sys_parameter where parameterNo = #{parNo} and isDelete = 0") + SysParameter fetchOneByParNo(String parNo); + + int selectParameterByNo(String pNo); + + int selectAllByIdAndpNo(@Param("pNo") String pNo, @Param("sid") String sid); +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.xml new file mode 100644 index 0000000000..bcdb2c5882 --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterMapper.xml @@ -0,0 +1,35 @@ + + + + + update sys_parameter + set isDelete = 1 + where sid = #{sid} + + + + + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterRest.java new file mode 100644 index 0000000000..70800809ff --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterRest.java @@ -0,0 +1,74 @@ +package com.yxt.anrui.portal.biz.sysparameter; + + +import com.yxt.anrui.portal.api.sysparameter.*; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @description: + * @author: fan + * @date: 2023/8/21 + **/ +@Api(tags = "风控(财务)参数") +@RestController +@RequestMapping("v1/sysparameter") +public class SysParameterRest implements SysParameterFeign { + + @Autowired + private SysParameterService parameterService; + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = parameterService.listPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveOrUpdateParameter(SysParameterDto dto) { + return parameterService.saveOrUpdateParameter(dto); + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return parameterService.deleteBySids(sids); + } + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return parameterService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean fetchByParNo(String parNo) { + return parameterService.fetchByParNo(parNo); + } + + @Override + public ResultBean fetchOneByParNo(String parNo) { + return parameterService.fetchOneByParNo(parNo); + } + + @Override + public ResultBean> finListPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = parameterService.finListPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean finSaveParameter(SysParameterDto dto) { + return parameterService.finSaveParameter(dto); + } + + @Override + public ResultBean fetchFinDetailsBySid(String sid) { + return parameterService.fetchFinDetailsBySid(sid); + } +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterService.java new file mode 100644 index 0000000000..a82cf2d9af --- /dev/null +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysparameter/SysParameterService.java @@ -0,0 +1,310 @@ +package com.yxt.anrui.portal.biz.sysparameter; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysorganization.SysOrganization; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysparameter.*; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.biz.sysorganization.SysOrganizationService; +import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; +import com.yxt.anrui.portal.biz.sysuser.SysUserService; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * @description: + * @author: fan + * @date: 2023/8/21 + **/ +@Service +public class SysParameterService extends MybatisBaseService { + + @Autowired + private SysUserService sysUserService; + @Autowired + private SysStaffOrgService sysStaffOrgService; + @Autowired + private SysOrganizationService sysOrganizationService; + + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + SysParameterQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserService.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //参数编码 + if (StringUtils.isNotBlank(pagerQuery.getParameterNo())) { + qw.like("parameterNo", pagerQuery.getParameterNo()); + } + //参数名称 + if (StringUtils.isNotBlank(pagerQuery.getParameterName())) { + qw.like("parameterName", pagerQuery.getParameterName()); + } + qw.eq("isDelete", 0); + qw.eq("state", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /** + * 根据风控参数编码查询是否存在与风控参数编码相同的数据 + * + * @return + */ + public int selectParameterByNo(String pNo) { + return baseMapper.selectParameterByNo(pNo); + } + + /** + * 修改时 根据风控参数编码查询是否存在与风控参数编码相同的数据 + * + * @param pNo 风控参数编码 + * @param sid 风控参数sid + */ + public int selectAllByIdAndpNo(String pNo, String sid) { + return baseMapper.selectAllByIdAndpNo(pNo, sid); + } + + + public ResultBean saveOrUpdateParameter(SysParameterDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getParameterNo())) { + return rb.setMsg("参数编码不能为空!"); + } + if (StringUtils.isNotBlank(dto.getSid())) { + int count = selectAllByIdAndpNo(dto.getParameterNo(), dto.getSid()); + if (count > 0) { + return ResultBean.fireFail().setMessage("参数编码已存在"); + } + SysParameter loanParameter = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, loanParameter, "id", "sid"); + baseMapper.updateById(loanParameter); + } else { + int count = selectParameterByNo(dto.getParameterNo()); + if (count > 0) { + return ResultBean.fireFail().setMsg("添加失败,参数编码已存在"); + } + SysParameter loanParameter = new SysParameter(); + BeanUtil.copyProperties(dto, loanParameter, "id", "sid"); + loanParameter.setOrgSidPath(dto.getOrgPath()); + loanParameter.setCreateBySid(dto.getUserSid()); + ResultBean orgSidByPath = sysStaffOrgService.getOrgSidByPath(dto.getOrgPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + loanParameter.setUseOrgSid(userOrgSid); + SysOrganization organizationVo = sysOrganizationService.fetchBySid(userOrgSid); + if (null != organizationVo) { + loanParameter.setUseOrgName(organizationVo.getName()); + } + } + loanParameter.setState(0); + baseMapper.insert(loanParameter); + } + return rb.success(); + } + + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + for (String sid : sids) { + int count = baseMapper.updateBySidDelete(sid); + if (count == 0) { + return rb.setMsg("删除失败"); + } + } + return ResultBean.fireSuccess().setMsg("删除成功"); + } + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysParameterDetailsVo vo = new SysParameterDetailsVo(); + SysParameter loanParameter = fetchBySid(sid); + BeanUtil.copyProperties(loanParameter, vo); + vo.setUserSid(loanParameter.getCreateBySid()); + vo.setOrgPath(loanParameter.getOrgSidPath()); + return rb.success().setData(vo); + } + + public ResultBean fetchByParNo(String parNo) { + ResultBean rb = ResultBean.fireFail(); + String parameterValue = baseMapper.fetchByParNo(parNo); + return rb.success().setData(parameterValue); + } + + public ResultBean fetchOneByParNo(String parNo) { + ResultBean rb = ResultBean.fireFail(); + SysParameter parameter = baseMapper.fetchOneByParNo(parNo); + return rb.success().setData(parameter); + } + + public PagerVo finListPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + SysParameterQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserService.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //参数编码 + if (StringUtils.isNotBlank(pagerQuery.getParameterNo())) { + qw.like("parameterNo", pagerQuery.getParameterNo()); + } + //参数名称 + if (StringUtils.isNotBlank(pagerQuery.getParameterName())) { + qw.like("parameterName", pagerQuery.getParameterName()); + } + qw.eq("isDelete", 0); + qw.eq("state", 1); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean finSaveParameter(SysParameterDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getParameterNo())) { + return rb.setMsg("参数编码不能为空!"); + } + String useOrgSid = ""; + String useOrgName = ""; + if (!dto.getUseOrgSids().isEmpty()) { + useOrgSid = String.join(",", dto.getUseOrgSids()); + } + if (!dto.getUseOrgNames().isEmpty()) { + useOrgName = String.join(",", dto.getUseOrgNames()); + } + if (StringUtils.isNotBlank(dto.getSid())) { + int count = selectAllByIdAndpNo(dto.getParameterNo(), dto.getSid()); + if (count > 0) { + return ResultBean.fireFail().setMessage("参数编码已存在"); + } + SysParameter loanParameter = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, loanParameter, "id", "sid"); + loanParameter.setUseOrgSid(useOrgSid); + loanParameter.setUseOrgName(useOrgName); + baseMapper.updateById(loanParameter); + } else { + int count = selectParameterByNo(dto.getParameterNo()); + if (count > 0) { + return ResultBean.fireFail().setMsg("添加失败,参数编码已存在"); + } + SysParameter parameter = new SysParameter(); + BeanUtil.copyProperties(dto, parameter, "id", "sid"); + parameter.setOrgSidPath(dto.getOrgPath()); + parameter.setCreateBySid(dto.getUserSid()); + parameter.setUseOrgSid(useOrgSid); + parameter.setUseOrgName(useOrgName); + parameter.setState(1); + baseMapper.insert(parameter); + } + return rb.success(); + } + + public ResultBean fetchFinDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + SysParameterDetailsVo vo = new SysParameterDetailsVo(); + SysParameter loanParameter = fetchBySid(sid); + BeanUtil.copyProperties(loanParameter, vo); + vo.setUserSid(loanParameter.getCreateBySid()); + vo.setOrgPath(loanParameter.getOrgSidPath()); + if (StringUtils.isNotBlank(loanParameter.getUseOrgSid())) { + List userOrgSid = Arrays.stream(loanParameter.getUseOrgSid().split(",")).collect(Collectors.toList()); + vo.setUseOrgSids(userOrgSid); + } + if (StringUtils.isNotBlank(loanParameter.getUseOrgName())) { + List userOrgName = Arrays.stream(loanParameter.getUseOrgSid().split(",")).collect(Collectors.toList()); + vo.setUseOrgNames(userOrgName); + } + return rb.success().setData(vo); + } +}