From 819dea4feb95983255dfb6572a19055ad386b7ac Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 24 May 2024 17:01:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=8C=E5=96=84=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E9=A1=B9=E7=9B=AE=E3=80=81=E9=99=84=E5=8A=A0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E3=80=81=E5=A5=97=E9=A4=90=E6=9C=8D=E5=8A=A1=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsServiceAttachItemQuery.java | 3 + .../api/asserviceitem/AsServiceItemQuery.java | 5 + .../AsServicePackageQuery.java | 4 + .../AsServiceAttachItemMapper.java | 9 + .../AsServiceAttachItemMapper.xml | 31 +- .../AsServiceAttachItemRest.java | 6 +- .../AsServiceAttachItemService.java | 103 +++++- .../asserviceitem/AsServiceItemMapper.java | 6 + .../biz/asserviceitem/AsServiceItemMapper.xml | 40 ++- .../biz/asserviceitem/AsServiceItemRest.java | 14 +- .../asserviceitem/AsServiceItemService.java | 131 ++++++-- .../AsServicePackageMapper.java | 14 +- .../AsServicePackageMapper.xml | 26 +- .../AsServicePackageRest.java | 7 +- .../AsServicePackageService.java | 79 ++++- .../com/yxt/anrui/as/utils/PinYinUtils.java | 292 ++++++++++++++++++ .../BaseManufacturerMapper.xml | 2 + 17 files changed, 699 insertions(+), 73 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/utils/PinYinUtils.java diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java index ba4b18b01a..4e0b620293 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceattachitem/AsServiceAttachItemQuery.java @@ -52,5 +52,8 @@ public class AsServiceAttachItemQuery implements Query { private String aitemName; @ApiModelProperty("全路径") private String orgPath; + private String userSid; + @ApiModelProperty("菜单url") + private String menuUrl; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java index bda148a8dd..916b321bf7 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemQuery.java @@ -59,4 +59,9 @@ public class AsServiceItemQuery implements Query { private String orgPath; private String type; //0查预约项目 1查所有 + + + private String userSid; + @ApiModelProperty("菜单url") + private String menuUrl; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageQuery.java index ca1b14baab..ea69b3b82f 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageQuery.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageQuery.java @@ -51,6 +51,10 @@ public class AsServicePackageQuery implements Query { @ApiModelProperty("套餐名称") private String packageName; // 套餐名称 + @ApiModelProperty("全路径") private String orgPath; + private String userSid; + @ApiModelProperty("菜单url") + private String menuUrl; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.java index efb169e48b..50665bf388 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.java @@ -7,13 +7,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItem; import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemVo; +import com.yxt.anrui.as.api.asserviceitem.AsServiceItem; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface AsServiceAttachItemMapper extends BaseMapper { IPage selectPageVo(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + AsServiceItem checkForInsert(@Param("aitemName")String aitemName, @Param("useOrgSid")String useOrgSid); + + AsServiceItem checkForUpdate(@Param("aitemName")String aitemName, @Param("useOrgSid")String useOrgSid, @Param("sid")String sid); + + int updateBySidIsDelete(List list); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.xml index 6597bdf295..928138ffca 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemMapper.xml @@ -1,11 +1,38 @@ + + UPDATE as_service_attachitem + SET isDelete=1 + where sid in + + #{item} + + - \ No newline at end of file + + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java index 64fd95a3c4..425da4d060 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemRest.java @@ -47,16 +47,14 @@ public class AsServiceAttachItemRest { @ApiOperation("修改保存") @PostMapping("/saveAttachItem") public ResultBean saveAttachItem(@RequestBody AsServiceAttachItemDto dto) { - ResultBean rb = ResultBean.fireFail(); - asServiceAttachItemService.saveAttachItem(dto); - return rb.success(); + return asServiceAttachItemService.saveAttachItem(dto); } @ApiOperation("根据sid批量删除") @DeleteMapping("/delBySids") public ResultBean delBySids(@RequestBody String[] sids) { ResultBean rb = ResultBean.fireFail(); - asServiceAttachItemService.delBySids(sids); + asServiceAttachItemService.delAll(sids); return rb.success(); } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java index bcf3ec07bc..00b9b4e51c 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceattachitem/AsServiceAttachItemService.java @@ -8,7 +8,12 @@ import com.yxt.anrui.as.api.asserviceattachitem.*; import com.yxt.anrui.as.api.asserviceitem.AsServiceItem; import com.yxt.anrui.as.api.asserviceitem.AsServiceItemQuery; import com.yxt.anrui.as.api.asserviceitem.AsServiceItemVo; +import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; +import com.yxt.anrui.as.utils.PinYinUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -18,6 +23,10 @@ import com.yxt.common.core.vo.PagerVo; 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; + /** * @author fzz */ @@ -26,8 +35,10 @@ public class AsServiceAttachItemService extends MybatisBaseService createQueryWrapper(AsServiceAttachItemQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -46,7 +57,64 @@ public class AsServiceAttachItemService extends MybatisBaseService listPageVo(PagerQuery pq) { AsServiceAttachItemQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.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("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + String orgPath = query.getOrgPath(); + List split = Arrays.asList(orgPath.split("/")); + String useOrgSid = ""; + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + useOrgSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + useOrgSid = sysOrganization.getSid(); + } + qw.eq("a.useOrgSid",useOrgSid); + } + + if (StringUtils.isNotBlank(query.getAitemName())) { + qw.and(wrapper -> wrapper.like("a.aitemName", query.getAitemName()).or().like("a.aitemCode", query.getAitemName())); + } + qw.eq("a.isDelete",0); + qw.orderByAsc("a.sortNo"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -61,24 +129,39 @@ public class AsServiceAttachItemService extends MybatisBaseService orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); - if (orgSidByPath.getSuccess()) { - String useOrgSid = orgSidByPath.getData(); - item.setUseOrgSid(useOrgSid); - item.setCreateOrgSid(useOrgSid); +// String orgPath = dto.getOrgPath(); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); +// if (orgSidByPath.getSuccess()) { +// String useOrgSid = orgSidByPath.getData(); +// item.setUseOrgSid(useOrgSid); +// item.setCreateOrgSid(useOrgSid); +// } + item.setAitemCode(PinYinUtils.sx(dto.getAitemName())); + AsServiceItem entity = baseMapper.checkForInsert(dto.getAitemName(), dto.getUseOrgSid()); + if (null != entity) { + return rb.setMsg("附加项目名称不能重复"); } baseMapper.insert(item); } + return rb.success(); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java index d69bd9c372..ef3cd0e4ce 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.java @@ -22,4 +22,10 @@ public interface AsServiceItemMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List getServiceType(@Param("useOrgSid") String useOrgSid); + + int updateBySidIsDelete(List list); + + AsServiceItem checkForInsert(@Param("sitemName")String sitemName, @Param("useOrgSid")String useOrgSid); + + AsServiceItem checkForUpdate(@Param("sitemName")String sitemName, @Param("useOrgSid")String useOrgSid, @Param("sid")String sid); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml index ded09bef97..e686877530 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemMapper.xml @@ -1,19 +1,45 @@ + + UPDATE as_service_item + SET isDelete=1 + where sid in + + #{item} + + - \ No newline at end of file + + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java index cf7a58876b..fef19d496c 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemRest.java @@ -37,9 +37,7 @@ public class AsServiceItemRest { @ApiOperation("修改保存") @PostMapping("/saveServiceItem") public ResultBean saveServiceItem(@RequestBody AsServiceItemDto dto) { - ResultBean rb = ResultBean.fireFail(); - asServiceItemService.saveServiceItem(dto); - return rb.success(); + return asServiceItemService.saveServiceItem(dto); } @ApiOperation("详情查看") @@ -52,9 +50,9 @@ public class AsServiceItemRest { @ApiOperation("获取分公司下厂家") @GetMapping("/getManufacturers") - public ResultBean> getManufacturers(@RequestParam("orgPath") String orgPath) { + public ResultBean> getManufacturers(@RequestParam("useOrgSid") String useOrgSid) { ResultBean rb = ResultBean.fireFail(); - List list = asServiceItemService.getManufacturers(orgPath); + List list = asServiceItemService.getManufacturers(useOrgSid); return rb.success().setData(list); } @@ -68,9 +66,9 @@ public class AsServiceItemRest { @ApiOperation("获取分公司下工种") @GetMapping("/getServiceType") - public ResultBean> getServiceType(@RequestParam("orgPath") String orgPath) { + public ResultBean> getServiceType(@RequestParam("useOrgSid") String useOrgSid) { ResultBean rb = ResultBean.fireFail(); - List list = asServiceItemService.getServiceType(orgPath); + List list = asServiceItemService.getServiceType(useOrgSid); return rb.success().setData(list); } @@ -78,7 +76,7 @@ public class AsServiceItemRest { @DeleteMapping("/delBySids") public ResultBean delBySids(@RequestBody String[] sids) { ResultBean rb = ResultBean.fireFail(); - asServiceItemService.delBySids(sids); + asServiceItemService.delAll(sids); return rb.success(); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java index 22d2fc4e4a..2c671f882d 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asserviceitem/AsServiceItemService.java @@ -7,9 +7,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.as.api.asserviceitem.*; import com.yxt.anrui.as.feign.base.basevehiclemodel.BaseVehModelVo; import com.yxt.anrui.as.feign.base.basevehiclemodel.BaseVehicleModelFeign; +import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.as.feign.base.basemanufacturer.BaseManufacturerFeign; import com.yxt.anrui.as.feign.base.basemanufacturer.BaseManufacturerVo; +import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; +import com.yxt.anrui.as.utils.PinYinUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -21,7 +26,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @author fzz @@ -35,7 +42,10 @@ public class AsServiceItemService extends MybatisBaseService createQueryWrapper(AsServiceItemQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -52,7 +62,7 @@ public class AsServiceItemService extends MybatisBaseService orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()); @@ -65,7 +75,75 @@ public class AsServiceItemService extends MybatisBaseService listPageVo(PagerQuery pq) { AsServiceItemQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(query.getMenuUrl())) { + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.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("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + String orgPath = query.getOrgPath(); + List split = Arrays.asList(orgPath.split("/")); + String useOrgSid = ""; + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + useOrgSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + useOrgSid = sysOrganization.getSid(); + } + qw.eq("a.useOrgSid",useOrgSid); + } + if (StringUtils.isNotBlank(query.getSitemName())) { + qw.and(wrapper -> wrapper.like("a.sitemName", query.getSitemName()).or().like("a.sitemCode", query.getSitemName())); + } + if (StringUtils.isNotBlank(query.getServiceType())) { + qw.like("a.serviceType", query.getServiceType()); + } + if (StringUtils.isNotBlank(query.getManufacturer())) { + qw.like("a.manufacturer", query.getManufacturer()); + } + if (StringUtils.isNotBlank(query.getType())) { + if (query.getType().equals("0")) { + //查询预约项目 + qw.eq("a.isReserve", 1); + } + } + qw.eq("a.isDelete", 0); + qw.orderByAsc("a.sortNo"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -81,32 +159,37 @@ public class AsServiceItemService extends MybatisBaseService orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); - if (orgSidByPath.getSuccess()) { - String useOrgSid = orgSidByPath.getData(); - item.setUseOrgSid(useOrgSid); - item.setCreateOrgSid(useOrgSid); + item.setSitemCode(PinYinUtils.sx(dto.getSitemName())); + AsServiceItem entity = baseMapper.checkForInsert(dto.getSitemName(), dto.getUseOrgSid()); + if (null != entity) { + return rb.setMsg("维修项目名称不能重复"); } baseMapper.insert(item); } + return rb.success(); } - public List getManufacturers(String orgPath) { + public List getManufacturers(String useOrgSid) { List voList = new ArrayList<>(); - String useOrgSid = ""; - ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); - if (orgSidByPath.getSuccess()) { - useOrgSid = orgSidByPath.getData(); - } +// String useOrgSid = ""; +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); +// if (orgSidByPath.getSuccess()) { +// useOrgSid = orgSidByPath.getData(); +// } List manufacturerVos = baseManufacturerFeign.getAllTypeByUseOrgSid(useOrgSid).getData(); if (!manufacturerVos.isEmpty()) { for (BaseManufacturerVo wmsManufacturerVo : manufacturerVos) { @@ -138,13 +221,17 @@ public class AsServiceItemService extends MybatisBaseService getServiceType(String orgPath) { - String useOrgSid = ""; - ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); - if (orgSidByPath.getSuccess()) { - useOrgSid = orgSidByPath.getData(); - } + public List getServiceType(String useOrgSid) { +// String useOrgSid = ""; +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); +// if (orgSidByPath.getSuccess()) { +// useOrgSid = orgSidByPath.getData(); +// } List voList = baseMapper.getServiceType(useOrgSid); return voList; } + + public void delAll(String[] sids) { + int count = baseMapper.updateBySidIsDelete(Arrays.stream(sids).collect(Collectors.toList())); + } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java index f95c4c72d8..e6b205425b 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java @@ -54,11 +54,11 @@ public interface AsServicePackageMapper extends BaseMapper { //@Update("update as_service_package set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - + @Select("select * from as_service_package") List selectListVo(); @@ -67,4 +67,10 @@ public interface AsServicePackageMapper extends BaseMapper { List selAttItemInfo(@Param("useOrgSid") String useOrgSid); List selSubjectInfo(@Param("useOrgSid") String useOrgSid); -} \ No newline at end of file + + AsServicePackage checkForInsert(@Param("packageName")String packageName,@Param("useOrgSid") String useOrgSid); + + AsServicePackage checkForUpdate(@Param("packageName")String packageName,@Param("useOrgSid") String useOrgSid,@Param("sid") String sid); + + int updateBySidIsDelete(List list); +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml index e1ae0e38be..03b70ddadb 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml @@ -1,10 +1,19 @@ + + UPDATE as_service_package + SET isDelete=1 + where sid in + + #{item} + + @@ -40,4 +49,19 @@ WHERE useOrgSid = #{useOrgSid} + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java index 604f3b6228..aa56c90ea4 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java @@ -69,9 +69,7 @@ public class AsServicePackageRest { @ApiOperation("新增或修改") @PostMapping("/savePackage") public ResultBean savePackage(@RequestBody AsServicePackageDto dto){ - ResultBean rb = ResultBean.fireFail(); - asServicePackageService.savePackage(dto); - return rb.success(); + return asServicePackageService.savePackage(dto); } @@ -79,8 +77,7 @@ public class AsServicePackageRest { @DeleteMapping("/delBySids") public ResultBean delBySids(@RequestBody String[] sids){ ResultBean rb = ResultBean.fireFail(); - asServicePackageService.delBySids(sids); - asServicePackageService.delOtherInfo(sids); + asServicePackageService.delAll(sids); return rb.success(); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java index 83a9ffd1b5..008403a293 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java @@ -28,6 +28,9 @@ package com.yxt.anrui.as.biz.asservicepackage; 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.as.api.asserviceattachitem.AsServiceAttachItem; +import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItemVo; +import com.yxt.anrui.as.api.asserviceitem.AsServiceItem; import com.yxt.anrui.as.api.asservicepackage.*; import com.yxt.anrui.as.api.asservicepackageaitem.AsServicePackageAitem; import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoods; @@ -35,7 +38,9 @@ import com.yxt.anrui.as.api.asservicepackagesitem.AsServicePackageSitem; import com.yxt.anrui.as.biz.asservicepackageaitem.AsServicePackageAitemService; import com.yxt.anrui.as.biz.asservicepackagegoods.AsServicePackageGoodsService; import com.yxt.anrui.as.biz.asservicepackagesitem.AsServicePackageSitemService; +import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign; import com.yxt.anrui.as.feign.wms.wmsInventory.WmsInventoryFeign; import com.yxt.anrui.as.feign.wms.wmsInventory.WmsInventoryPackageQuery; import com.yxt.anrui.as.feign.wms.wmsInventory.WmsInventoryPackageVo; @@ -52,7 +57,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * Project: yxt-as(售后服务)
@@ -79,7 +86,8 @@ public class AsServicePackageService extends MybatisBaseService createQueryWrapper(AsServicePackageQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -98,7 +106,45 @@ public class AsServicePackageService extends MybatisBaseService listPageVo(PagerQuery pq) { AsServicePackageQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); + QueryWrapper qw = new QueryWrapper<>(); + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (com.yxt.common.base.utils.StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.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("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + qw.eq("a.isDelete", 0); + qw.orderByAsc("a.sortNo"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -168,10 +214,14 @@ public class AsServicePackageService extends MybatisBaseService orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); - if (orgSidByPath.getSuccess()) { - String useOrgSid = orgSidByPath.getData(); - entity.setUseOrgSid(useOrgSid); - entity.setCreateOrgSid(useOrgSid); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); +// if (orgSidByPath.getSuccess()) { +// String useOrgSid = orgSidByPath.getData(); +// entity.setUseOrgSid(useOrgSid); +// entity.setCreateOrgSid(useOrgSid); +// } + AsServicePackage aPackage = baseMapper.checkForInsert(dto.getPackageName(), dto.getUseOrgSid()); + if (null != aPackage) { + return rb.setMsg("套餐名称不能重复"); } baseMapper.insert(entity); //保存服务项目信息 @@ -250,6 +304,7 @@ public class AsServicePackageService extends MybatisBaseService DYZMAP = setDYZMap(); + + private static Map setDYZMap(){ + Map map = new HashMap<>(); + map.put("仇","QIU"); + map.put("柏", "BO"); + map.put("牟", "MU"); + map.put("颉", "XIE"); + map.put("解", "XIE"); + map.put("尉", "YU"); + map.put("奇", "JI"); + map.put("单", "SHAN"); + map.put("谌", "SHEN"); + map.put("乐", "YUE"); + map.put("召", "SHAO"); + map.put("朴", "PIAO"); + map.put("区", "OU"); + map.put("查", "ZHA"); + map.put("曾", "ZENG"); + map.put("缪", "MIAO"); + map.put("晟", "CHENG"); + map.put("员", "YUN"); + map.put("贠", "YUN"); + map.put("黑", "HE"); + map.put("重", "CHONG"); + map.put("秘", "BI"); + map.put("冼", "XIAN"); + map.put("折", "SHE"); + map.put("翟", "ZHAI"); + map.put("盖", "GE"); + map.put("万俟", "MOQI"); + map.put("尉迟", "YUCHI"); + return map; + } + + + + /** + * 返回字符串的拼音 + * @param str + * @return + */ + public static String[] getCharPinYinString(String str) { + if (str == null || str.length() < 1) { + return null; + } + List result = new ArrayList(); + //对字符串中的记录逐个分析 + for (int i = 0; i < str.length(); i++) { + result = getCharPinYinString(str.charAt(i), result); + } + return result.toArray(new String[result.size()]); + } + + /** + * 将字符c的拼音拼接到list中的记录中 + * @param c + * @param list + * @return + */ + private static List getCharPinYinString(char c, List list) { + String[] strs = getCharPinYinString(c); + List result = new ArrayList(); + // strs去重(多音字) + strs = disdinctStr(strs); + + //如果解析出的拼音为空,判断字符C是否为英文字母,如果是英文字母则添加值拼音结果中 + if (strs == null) { + if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { + c = c <= 91 ? (char)(c + 32) : c; + if (list == null || list.size() == 0) { + result.add(c + ""); + } else { + for (String s : list) { + result.add(s + c); + } + } + return result; + } + return list; + } + //将字符C的拼音首和已存在的拼音首组合成新的记录 + for (String str : strs) { + if (list == null || list.size() == 0) { + result.add(str); + } else { + for (String s : list) { + result.add(s + str); + } + } + } + return result; + } + + /** + * 返回汉字的拼音 + * @param c + * @return + */ + public static String[] getCharPinYinString(char c) { + try { + //返回字符C的拼音 + return PinyinHelper.toHanyuPinyinStringArray(c, format); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + /** + * 缩写 + * @param args + */ + public static String sx(String hz) { + char [] nameArray = hz.toCharArray(); + String b=""; + for (int i = 0; i < nameArray.length; i++) { + if (Character.toString(nameArray[i]).matches("^[\u4e00-\u9fa5]+$")) { + b=b+PinYinUtils.getCharDuoPinYinChar(String.valueOf(nameArray[i])); + }else{ + b=b+String.valueOf(nameArray[i]); + } + } + return b; + } + /** + * 返回字符串的拼音的首字母 + * @param str + * @return + */ + public static String[] getCharPinYinChar(String str) { + if (str == null || str.length() < 1) { + return null; + } + List result = new ArrayList(); + //对字符串中的记录逐个分析 + for (int i = 0; i < str.length(); i++) { + result = getCharPinYinChar(str.charAt(i), result); + } + return result.toArray(new String[result.size()]); + } + + /** + * 将字符c的拼音首字母拼接到list中的记录中 + * @param c + * @param list + * @return + */ + private static List getCharPinYinChar(char c, List list) { + char[] chars = getCharPinYinChar(c); + List result = new ArrayList(); + //如果解析出的拼音为空,判断字符C是否为英文字母,如果是英文字母则添加值拼音结果中 + if (chars == null) { + if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { + c = c < 91 ? (char)(c + 32) : c; + if (list == null || list.size() == 0) { + result.add(c + ""); + } else { + for (String s : list) { + result.add(s + c); + } + } + return result; + } + return list; + } + //将字符C的拼音首字母和已存在的拼音首字母组合成新的记录 + for (char ch : chars) { + if (list == null || list.size() == 0) { + result.add(ch + ""); + } else { + for (String s : list) { + result.add(s + ch); + } + } + } + return result; + } + + /** + * 返回汉字拼音首字母 + * @param c + * @return + */ + public static char[] getCharPinYinChar(char c) { + //字符C的拼音 + String[] strs = getCharPinYinString(c); + if (strs != null) { + //截取拼音的首字母 + char[] chars = new char[strs.length]; + for(int i = 0; i arrStream = Arrays.stream(str); + List arrList = arrStream.distinct().collect(Collectors.toList()); + str = new String[arrList.size()]; + arrList.toArray(str); + return str; + } + + /** + * 判断传入的字符串是否为中文,将中文的转换为拼音 + * @param name + * @return + */ + public static String getPinYinName(String name){ + char[] nameArray = name.toCharArray(); + String newName = ""; + for (int i = 0; i < nameArray.length; i++) { + if (Character.toString(nameArray[i]).matches("^[\u4e00-\u9fa5]+$")) { // 如果字符是中文,则将中文转为汉语拼音 + String[] pinYinString = PinYinUtils.getCharPinYinString(nameArray[i]); + // strs去重(多音字) + pinYinString = disdinctStr(pinYinString); + String pinYinStr = StringUtils.join(pinYinString); + newName = newName + pinYinStr; + }else { + newName = newName + Character.toString(nameArray[i]); + } + } + return newName; + } + + /** + * 返回字符串的拼音的首字母(包括多音字) + * @param str + * @return + */ + public static String getCharDuoPinYinChar(String str) { + if (str == null || str.length() < 1) { + return null; + } + char firstChar = str.toCharArray()[0]; + if(Character.toString(firstChar).matches("^[\u4e00-\u9fa5]+$")){ // 为中文 + char[] charPinYinChar = getCharPinYinChar(firstChar); + String result = ""; + if (DYZMAP.containsKey(Character.toString(firstChar))) { + result = DYZMAP.get(Character.toString(firstChar)).toString().substring(0, 1); + }else { + result = StringUtils.join(charPinYinChar[0]); + } + return result.toUpperCase(); + }else if(Character.toString(firstChar).matches("^[a-zA-Z]")){ // 为英文字母 + return Character.toString(firstChar).toUpperCase(); + }else { // 特殊符号 + return "#"; + } + } + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml index 442581b68d..8bec8fb3ba 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basemanufacturer/BaseManufacturerMapper.xml @@ -17,6 +17,8 @@ select * from base_manufacturer where useOrgSid = #{useOrgSid} + and isDelete = 0 + and isEnable = 1