|
|
@@ -16,14 +16,18 @@
|
|
|
package com.java110.store.smo.impl;
|
|
|
|
|
|
|
|
|
+import com.java110.core.base.smo.BaseServiceSMO;
|
|
|
+import com.java110.dto.PageDto;
|
|
|
+import com.java110.dto.org.OrgDto;
|
|
|
import com.java110.dto.org.OrgStaffRelDto;
|
|
|
+import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
|
|
|
+import com.java110.intf.user.IOrgV1InnerServiceSMO;
|
|
|
import com.java110.po.org.OrgStaffRelPo;
|
|
|
import com.java110.store.dao.IOrgStaffRelV1ServiceDao;
|
|
|
-import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
|
|
|
+import com.java110.utils.util.Assert;
|
|
|
import com.java110.utils.util.BeanConvertUtil;
|
|
|
-import com.java110.core.base.smo.BaseServiceSMO;
|
|
|
-import com.java110.dto.user.UserDto;
|
|
|
-import com.java110.dto.PageDto;
|
|
|
+import com.java110.utils.util.StringUtil;
|
|
|
+import com.java110.vo.api.staff.ApiStaffDataVo;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
@@ -45,6 +49,9 @@ public class OrgStaffRelV1InnerServiceSMOImpl extends BaseServiceSMO implements
|
|
|
@Autowired
|
|
|
private IOrgStaffRelV1ServiceDao orgStaffRelV1ServiceDaoImpl;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IOrgV1InnerServiceSMO orgV1InnerServiceSMOImpl;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public int saveOrgStaffRel(@RequestBody OrgStaffRelPo orgStaffRelPo) {
|
|
|
@@ -52,17 +59,17 @@ public class OrgStaffRelV1InnerServiceSMOImpl extends BaseServiceSMO implements
|
|
|
return saveFlag;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public int updateOrgStaffRel(@RequestBody OrgStaffRelPo orgStaffRelPo) {
|
|
|
+ @Override
|
|
|
+ public int updateOrgStaffRel(@RequestBody OrgStaffRelPo orgStaffRelPo) {
|
|
|
int saveFlag = orgStaffRelV1ServiceDaoImpl.updateOrgStaffRelInfo(BeanConvertUtil.beanCovertMap(orgStaffRelPo));
|
|
|
return saveFlag;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public int deleteOrgStaffRel(@RequestBody OrgStaffRelPo orgStaffRelPo) {
|
|
|
- orgStaffRelPo.setStatusCd("1");
|
|
|
- int saveFlag = orgStaffRelV1ServiceDaoImpl.updateOrgStaffRelInfo(BeanConvertUtil.beanCovertMap(orgStaffRelPo));
|
|
|
- return saveFlag;
|
|
|
+ @Override
|
|
|
+ public int deleteOrgStaffRel(@RequestBody OrgStaffRelPo orgStaffRelPo) {
|
|
|
+ orgStaffRelPo.setStatusCd("1");
|
|
|
+ int saveFlag = orgStaffRelV1ServiceDaoImpl.updateOrgStaffRelInfo(BeanConvertUtil.beanCovertMap(orgStaffRelPo));
|
|
|
+ return saveFlag;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -81,9 +88,103 @@ public class OrgStaffRelV1InnerServiceSMOImpl extends BaseServiceSMO implements
|
|
|
return orgStaffRels;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<OrgStaffRelDto> queryStaffOrgNames(@RequestBody OrgStaffRelDto orgStaffRelDto) {
|
|
|
+
|
|
|
+ //校验是否传了 分页信息
|
|
|
+
|
|
|
+ int page = orgStaffRelDto.getPage();
|
|
|
+
|
|
|
+ if (page != PageDto.DEFAULT_PAGE) {
|
|
|
+ orgStaffRelDto.setPage((page - 1) * orgStaffRelDto.getRow());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<OrgStaffRelDto> orgStaffRels = BeanConvertUtil.covertBeanList(orgStaffRelV1ServiceDaoImpl.getOrgStaffRelInfo(BeanConvertUtil.beanCovertMap(orgStaffRelDto)), OrgStaffRelDto.class);
|
|
|
+
|
|
|
+ if (orgStaffRels == null || orgStaffRels.size() < 1) {
|
|
|
+ return orgStaffRels;
|
|
|
+ }
|
|
|
+ refreshOrgs(orgStaffRels);
|
|
|
+
|
|
|
+ return orgStaffRels;
|
|
|
+ }
|
|
|
+ private void refreshOrgs(List<OrgStaffRelDto> staffs) {
|
|
|
+ if (staffs == null || staffs.size() < 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> staffIds = new ArrayList<>();
|
|
|
+ for (OrgStaffRelDto apiStaffDataVo : staffs) {
|
|
|
+ staffIds.add(apiStaffDataVo.getStaffId());
|
|
|
+ }
|
|
|
+
|
|
|
+ OrgDto orgDto = new OrgDto();
|
|
|
+ orgDto.setStoreId(staffs.get(0).getStoreId());
|
|
|
+ List<OrgDto> orgDtos = orgV1InnerServiceSMOImpl.queryOrgs(orgDto);
|
|
|
+ if (orgDtos == null || orgDtos.size() < 1) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (OrgStaffRelDto apiStaffDataVo : staffs) {
|
|
|
+ if (StringUtil.isEmpty(apiStaffDataVo.getOrgId())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ apiStaffDataVo.setParentOrgId(apiStaffDataVo.getOrgId());
|
|
|
+
|
|
|
+ findParents(apiStaffDataVo, orgDtos, null, 0);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void findParents(OrgStaffRelDto apiStaffDataVo, List<OrgDto> orgDtos, OrgDto curOrgDto, int orgDeep) {
|
|
|
+ for (OrgDto orgDto : orgDtos) {
|
|
|
+ curOrgDto = orgDto;
|
|
|
+ if (!apiStaffDataVo.getParentOrgId().equals(orgDto.getOrgId())) { // 他自己跳过
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ //如果到一级 就结束
|
|
|
+ if (OrgDto.ORG_LEVEL_STORE.equals(apiStaffDataVo.getOrgLevel())) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ apiStaffDataVo.setParentOrgId(orgDto.getParentOrgId());
|
|
|
+
|
|
|
+ if (StringUtil.isEmpty(apiStaffDataVo.getOrgName())) {
|
|
|
+ apiStaffDataVo.setOrgName(orgDto.getOrgName());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ apiStaffDataVo.setOrgName(orgDto.getOrgName() + " / " + apiStaffDataVo.getOrgName());
|
|
|
+ apiStaffDataVo.setOrgLevel(orgDto.getOrgLevel());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (curOrgDto != null && OrgDto.ORG_LEVEL_STORE.equals(curOrgDto.getOrgLevel())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (curOrgDto != null && curOrgDto.getParentOrgId().equals(curOrgDto.getOrgId())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (curOrgDto != null && "-1".equals(curOrgDto.getParentOrgId())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ orgDeep += 1;
|
|
|
+
|
|
|
+ if (orgDeep > 20) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ findParents(apiStaffDataVo, orgDtos, curOrgDto, orgDeep);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public int queryOrgStaffRelsCount(@RequestBody OrgStaffRelDto orgStaffRelDto) {
|
|
|
- return orgStaffRelV1ServiceDaoImpl.queryOrgStaffRelsCount(BeanConvertUtil.beanCovertMap(orgStaffRelDto)); }
|
|
|
+ return orgStaffRelV1ServiceDaoImpl.queryOrgStaffRelsCount(BeanConvertUtil.beanCovertMap(orgStaffRelDto));
|
|
|
+ }
|
|
|
|
|
|
}
|