|
@@ -3,7 +3,9 @@ package com.dk.mdm.service.mst;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.dk.common.infrastructure.annotaiton.Pagination;
|
|
import com.dk.common.infrastructure.annotaiton.Pagination;
|
|
|
import com.dk.common.infrastructure.constant.Constant;
|
|
import com.dk.common.infrastructure.constant.Constant;
|
|
|
|
|
+import com.dk.common.infrastructure.enums.ErrorCodeEnum;
|
|
|
import com.dk.common.model.pojo.PageList;
|
|
import com.dk.common.model.pojo.PageList;
|
|
|
|
|
+import com.dk.common.response.ResponseCodeEnum;
|
|
|
import com.dk.common.response.ResponseResultUtil;
|
|
import com.dk.common.response.ResponseResultUtil;
|
|
|
import com.dk.common.response.ResponseResultVO;
|
|
import com.dk.common.response.ResponseResultVO;
|
|
|
import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
|
|
import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
|
|
@@ -25,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
|
@Transactional
|
|
@Transactional
|
|
@@ -38,6 +41,7 @@ public class OrgService extends BaseService<Org> {
|
|
|
public String getPrimaryKey() {
|
|
public String getPrimaryKey() {
|
|
|
return "org_id";
|
|
return "org_id";
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public BaseMapper<Org> getRepository() {
|
|
public BaseMapper<Org> getRepository() {
|
|
|
return orgMapper;
|
|
return orgMapper;
|
|
@@ -46,18 +50,17 @@ public class OrgService extends BaseService<Org> {
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private OrgMapper orgMapper;
|
|
private OrgMapper orgMapper;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private OrgConvert orgConvert;
|
|
private OrgConvert orgConvert;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CommonService commonService;
|
|
private CommonService commonService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- OrgWhMapper orgWhMapper;
|
|
|
|
|
|
|
+ private OrgWhMapper orgWhMapper;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- OrgMacMapper orgMacMapper;
|
|
|
|
|
|
|
+ private OrgMacMapper orgMacMapper;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @desc : 条件查询
|
|
* @desc : 条件查询
|
|
|
* @author : 王英杰
|
|
* @author : 王英杰
|
|
@@ -65,17 +68,18 @@ public class OrgService extends BaseService<Org> {
|
|
|
*/
|
|
*/
|
|
|
@Pagination
|
|
@Pagination
|
|
|
public ResponseResultVO<PageList<OrgResponse>> selectByCond(OrgQuery orgQuery) {
|
|
public ResponseResultVO<PageList<OrgResponse>> selectByCond(OrgQuery orgQuery) {
|
|
|
- List<OrgResponse> list = orgMapper.selectByCond(orgQuery);
|
|
|
|
|
|
|
+ List<OrgResponse> list = orgMapper.selectByCond(orgQuery);
|
|
|
if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
|
|
if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
|
|
|
for (OrgResponse item : list) {
|
|
for (OrgResponse item : list) {
|
|
|
OrgQuery qry = new OrgQuery();
|
|
OrgQuery qry = new OrgQuery();
|
|
|
- qry.setParentId( item.getOrgId());
|
|
|
|
|
|
|
+ qry.setParentId(item.getOrgId());
|
|
|
item.setItemDataLength(orgMapper.countByCond(qry));
|
|
item.setItemDataLength(orgMapper.countByCond(qry));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return super.mergeListWithCount(orgQuery, list,
|
|
return super.mergeListWithCount(orgQuery, list,
|
|
|
orgMapper.countByCond(orgQuery));
|
|
orgMapper.countByCond(orgQuery));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @desc : 条件查询
|
|
* @desc : 条件查询
|
|
|
* @author : 王英杰
|
|
* @author : 王英杰
|
|
@@ -88,18 +92,18 @@ public class OrgService extends BaseService<Org> {
|
|
|
if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
|
|
if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
|
|
|
for (OrgResponse item : list) {
|
|
for (OrgResponse item : list) {
|
|
|
OrgQuery qry = new OrgQuery();
|
|
OrgQuery qry = new OrgQuery();
|
|
|
- qry.setParentId( item.getOrgId());
|
|
|
|
|
|
|
+ qry.setParentId(item.getOrgId());
|
|
|
item.setItemDataLength(orgMapper.countByCond(qry));
|
|
item.setItemDataLength(orgMapper.countByCond(qry));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- return ResponseResultUtil.success(list);
|
|
|
|
|
|
|
+ return ResponseResultUtil.success(list);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @desc : 通过ID查询 带出对应的 组织资金账户 以及组织仓库
|
|
|
|
|
|
|
+ * @desc : 通过ID查询 带出对应的 组织资金账户 以及组织仓库
|
|
|
* @author : 王英杰
|
|
* @author : 王英杰
|
|
|
- * @date : 2023/2/29 10:40
|
|
|
|
|
|
|
+ * @date : 2023/2/29 10:40
|
|
|
*/
|
|
*/
|
|
|
@Pagination
|
|
@Pagination
|
|
|
public ResponseResultVO getById(String id) {
|
|
public ResponseResultVO getById(String id) {
|
|
@@ -108,20 +112,26 @@ public class OrgService extends BaseService<Org> {
|
|
|
orgResponse.setMacBeanList(orgMacMapper.selectByCond(new OrgMac().setOrgId(id)));
|
|
orgResponse.setMacBeanList(orgMacMapper.selectByCond(new OrgMac().setOrgId(id)));
|
|
|
return ResponseResultUtil.success(orgResponse);
|
|
return ResponseResultUtil.success(orgResponse);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
- * @desc : 微信小程序 查询选择部门数据
|
|
|
|
|
|
|
+ * @desc : 微信小程序 查询选择部门数据
|
|
|
* @author : 宋扬
|
|
* @author : 宋扬
|
|
|
- * @date : 2023/2/29 10:40
|
|
|
|
|
|
|
+ * @date : 2023/2/29 10:40
|
|
|
*/
|
|
*/
|
|
|
@Pagination
|
|
@Pagination
|
|
|
- public ResponseResultVO<List<OrgResponse>> selectChooseOrg( OrgQuery orgQuery) {
|
|
|
|
|
- if(orgQuery.getOrgId()!=null){
|
|
|
|
|
- Org org = orgMapper.selectById(orgQuery.getOrgId()); //查出上级部门的 层级代码
|
|
|
|
|
|
|
+ public ResponseResultVO<List<OrgResponse>> selectChooseOrg(OrgQuery orgQuery) {
|
|
|
|
|
+ // 查出当前部门,进行过滤
|
|
|
|
|
+ if (orgQuery.getOrgId() != null) {
|
|
|
|
|
+ Org org = orgMapper.selectById(orgQuery.getOrgId()); //查出部门的 层级代码
|
|
|
orgQuery.setLevelCode(org.getLevelCode());
|
|
orgQuery.setLevelCode(org.getLevelCode());
|
|
|
orgQuery.setFilterFlag("ok");
|
|
orgQuery.setFilterFlag("ok");
|
|
|
}
|
|
}
|
|
|
- return ResponseResultUtil.success(orgMapper.selectChooseOrg(orgQuery));
|
|
|
|
|
|
|
+ String parentId = orgQuery.getParentId();
|
|
|
|
|
+ List<OrgResponse> orgResponseList = orgMapper.selectChooseOrg(orgQuery.setParentId(null));
|
|
|
|
|
+ return ResponseResultUtil.success(orgResponseList.stream().
|
|
|
|
|
+ filter(it -> !it.getOrgId().equals(parentId)).collect(Collectors.toList()));
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @desc : 新建组织机构
|
|
* @desc : 新建组织机构
|
|
|
* @author : 王英杰
|
|
* @author : 王英杰
|
|
@@ -133,6 +143,14 @@ public class OrgService extends BaseService<Org> {
|
|
|
public ResponseResultVO<?> insert(OrgVO orgVO) {
|
|
public ResponseResultVO<?> insert(OrgVO orgVO) {
|
|
|
// 转化实体
|
|
// 转化实体
|
|
|
Org organization = orgConvert.convertToPo(orgVO);
|
|
Org organization = orgConvert.convertToPo(orgVO);
|
|
|
|
|
+ // 如果父级部门的是业务部门标识,就不能有子级
|
|
|
|
|
+ if(organization.getParentId() != null ){
|
|
|
|
|
+ Org checkOrg = orgMapper.selectById(organization.getParentId());
|
|
|
|
|
+ if(checkOrg != null && checkOrg.getFlgBusiness() != null && checkOrg.getFlgBusiness()){
|
|
|
|
|
+ //系统预制 无法编辑
|
|
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_PARENT_IS_BUSINESS.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
|
|
|
// 获取编码和主键UuId
|
|
// 获取编码和主键UuId
|
|
|
organization.setOrgId(codeMap.get("outId").toString());
|
|
organization.setOrgId(codeMap.get("outId").toString());
|
|
@@ -141,8 +159,8 @@ public class OrgService extends BaseService<Org> {
|
|
|
//查询 本次要加的 部门的 父级下 最大的DisplayNo 然后加1 就是现在要加的DisplayNo
|
|
//查询 本次要加的 部门的 父级下 最大的DisplayNo 然后加1 就是现在要加的DisplayNo
|
|
|
Map<String, Object> param = new HashMap<>();
|
|
Map<String, Object> param = new HashMap<>();
|
|
|
param.put("otherCond", "parent_id = #{parentID} ::uuid");
|
|
param.put("otherCond", "parent_id = #{parentID} ::uuid");
|
|
|
- param.put("parentId",organization.getParentId());
|
|
|
|
|
- organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG ,param));
|
|
|
|
|
|
|
+ param.put("parentId", organization.getParentId());
|
|
|
|
|
+ organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG, param));
|
|
|
if (organization.getParentId() != null) {
|
|
if (organization.getParentId() != null) {
|
|
|
Org org = orgMapper.selectById(organization.getParentId());
|
|
Org org = orgMapper.selectById(organization.getParentId());
|
|
|
//插入TOPid
|
|
//插入TOPid
|
|
@@ -158,9 +176,9 @@ public class OrgService extends BaseService<Org> {
|
|
|
if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
|
|
if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
|
|
|
for (Map<String, Object> map : orgVO.getWarehouseList()) {
|
|
for (Map<String, Object> map : orgVO.getWarehouseList()) {
|
|
|
// 获取显示顺序
|
|
// 获取显示顺序
|
|
|
- Map<String, Object> paramOrgWh=new HashMap<>();
|
|
|
|
|
- paramOrgWh.put("noFlgValid",true);
|
|
|
|
|
- Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH,paramOrgWh);
|
|
|
|
|
|
|
+ Map<String, Object> paramOrgWh = new HashMap<>();
|
|
|
|
|
+ paramOrgWh.put("noFlgValid", true);
|
|
|
|
|
+ Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH, paramOrgWh);
|
|
|
OrgWh orgWh = new OrgWh();
|
|
OrgWh orgWh = new OrgWh();
|
|
|
orgWh.setOrgId(organization.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
|
|
orgWh.setOrgId(organization.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
|
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
@@ -172,10 +190,10 @@ public class OrgService extends BaseService<Org> {
|
|
|
if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
|
|
if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
|
|
|
for (Map<String, Object> map : orgVO.getMacList()) {
|
|
for (Map<String, Object> map : orgVO.getMacList()) {
|
|
|
// 获取显示顺序
|
|
// 获取显示顺序
|
|
|
- Map<String, Object> paramOrgMac=new HashMap<>();
|
|
|
|
|
- paramOrgMac.put("noFlgValid",true);
|
|
|
|
|
- Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC,paramOrgMac);
|
|
|
|
|
- OrgMac orgMac=new OrgMac();
|
|
|
|
|
|
|
+ Map<String, Object> paramOrgMac = new HashMap<>();
|
|
|
|
|
+ paramOrgMac.put("noFlgValid", true);
|
|
|
|
|
+ Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC, paramOrgMac);
|
|
|
|
|
+ OrgMac orgMac = new OrgMac();
|
|
|
orgMac.setOrgId(organization.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
|
|
orgMac.setOrgId(organization.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
|
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
|
orgMacMapper.insert(orgMac);
|
|
orgMacMapper.insert(orgMac);
|
|
@@ -200,7 +218,7 @@ public class OrgService extends BaseService<Org> {
|
|
|
Org organization = orgConvert.convertToPo(orgVO);
|
|
Org organization = orgConvert.convertToPo(orgVO);
|
|
|
// 获取显示顺序
|
|
// 获取显示顺序
|
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(
|
|
Map<String, Object> codeMap = commonService.getUniqueNoteCode(
|
|
|
- Constant.docNameConstant.ORG.getName(),orgVO.getCpId(), true);
|
|
|
|
|
|
|
+ Constant.docNameConstant.ORG.getName(), orgVO.getCpId(), true);
|
|
|
// 获取编码和主键UuId
|
|
// 获取编码和主键UuId
|
|
|
organization.setDisplayNo(0);
|
|
organization.setDisplayNo(0);
|
|
|
organization.setOrgId(codeMap.get("outId").toString());
|
|
organization.setOrgId(codeMap.get("outId").toString());
|
|
@@ -226,9 +244,9 @@ public class OrgService extends BaseService<Org> {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * @desc : 编辑方法
|
|
|
|
|
|
|
+ * @desc : 编辑方法
|
|
|
* @author : 宋扬
|
|
* @author : 宋扬
|
|
|
- * @date : 2024/3/22 17:15
|
|
|
|
|
|
|
+ * @date : 2024/3/22 17:15
|
|
|
*/
|
|
*/
|
|
|
@Transactional(
|
|
@Transactional(
|
|
|
rollbackFor = {Exception.class}
|
|
rollbackFor = {Exception.class}
|
|
@@ -236,6 +254,23 @@ public class OrgService extends BaseService<Org> {
|
|
|
public ResponseResultVO<Boolean> update(OrgVO orgVO) {
|
|
public ResponseResultVO<Boolean> update(OrgVO orgVO) {
|
|
|
// 转化实体
|
|
// 转化实体
|
|
|
Org org = orgConvert.convertToPo(orgVO);
|
|
Org org = orgConvert.convertToPo(orgVO);
|
|
|
|
|
+
|
|
|
|
|
+ // 如果是业务部门标识,那么不能有子级
|
|
|
|
|
+ if (org.getFlgBusiness() != null && org.getFlgBusiness()) {
|
|
|
|
|
+ Long childCount = orgMapper.countByCond(new OrgQuery().setParentId(org.getOrgId()));
|
|
|
|
|
+ if (childCount > 0) {
|
|
|
|
|
+ // 部门有子级不允许修改为业务部门
|
|
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_BUSINESS_HAS_CHILD.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 如果父级部门的是业务部门标识,就不能有子级
|
|
|
|
|
+ if(org.getParentId() != null ){
|
|
|
|
|
+ Org checkOrg = orgMapper.selectById(org.getParentId());
|
|
|
|
|
+ if(checkOrg != null && checkOrg.getFlgBusiness() != null && checkOrg.getFlgBusiness()){
|
|
|
|
|
+ //系统预制 无法编辑
|
|
|
|
|
+ return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_PARENT_IS_BUSINESS.getMessage());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// 修改组织机构
|
|
// 修改组织机构
|
|
|
super.update(org, new UpdateWrapper<Org>().lambda().eq(Org::getOrgId,
|
|
super.update(org, new UpdateWrapper<Org>().lambda().eq(Org::getOrgId,
|
|
|
UUID.fromString(org.getOrgId())));
|
|
UUID.fromString(org.getOrgId())));
|
|
@@ -253,9 +288,9 @@ public class OrgService extends BaseService<Org> {
|
|
|
if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
|
|
if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
|
|
|
for (Map<String, Object> map : orgVO.getWarehouseList()) {
|
|
for (Map<String, Object> map : orgVO.getWarehouseList()) {
|
|
|
// 获取显示顺序
|
|
// 获取显示顺序
|
|
|
- Map<String, Object> paramOrgWh=new HashMap<>();
|
|
|
|
|
- paramOrgWh.put("noFlgValid",true);
|
|
|
|
|
- Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH,paramOrgWh);
|
|
|
|
|
|
|
+ Map<String, Object> paramOrgWh = new HashMap<>();
|
|
|
|
|
+ paramOrgWh.put("noFlgValid", true);
|
|
|
|
|
+ Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH, paramOrgWh);
|
|
|
OrgWh orgWh = new OrgWh();
|
|
OrgWh orgWh = new OrgWh();
|
|
|
orgWh.setOrgId(org.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
|
|
orgWh.setOrgId(org.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
|
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
@@ -267,10 +302,10 @@ public class OrgService extends BaseService<Org> {
|
|
|
if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
|
|
if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
|
|
|
for (Map<String, Object> map : orgVO.getMacList()) {
|
|
for (Map<String, Object> map : orgVO.getMacList()) {
|
|
|
// 获取显示顺序
|
|
// 获取显示顺序
|
|
|
- Map<String, Object> paramOrgMac=new HashMap<>();
|
|
|
|
|
- paramOrgMac.put("noFlgValid",true);
|
|
|
|
|
- Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC,paramOrgMac);
|
|
|
|
|
- OrgMac orgMac=new OrgMac();
|
|
|
|
|
|
|
+ Map<String, Object> paramOrgMac = new HashMap<>();
|
|
|
|
|
+ paramOrgMac.put("noFlgValid", true);
|
|
|
|
|
+ Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC, paramOrgMac);
|
|
|
|
|
+ OrgMac orgMac = new OrgMac();
|
|
|
orgMac.setOrgId(org.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
|
|
orgMac.setOrgId(org.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
|
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
.setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
|
|
|
orgMacMapper.insert(orgMac);
|
|
orgMacMapper.insert(orgMac);
|