OrgService.java 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.dk.mdm.service.mst;
  2. import com.dk.common.infrastructure.annotaiton.Pagination;
  3. import com.dk.common.infrastructure.constant.Constant;
  4. import com.dk.common.model.pojo.PageList;
  5. import com.dk.common.response.ResponseCodeEnum;
  6. import com.dk.common.response.ResponseResultUtil;
  7. import com.dk.common.response.ResponseResultVO;
  8. import com.dk.mdm.infrastructure.convert.core.OrganizationConvert;
  9. import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
  10. import com.dk.mdm.model.pojo.core.Organization;
  11. import com.dk.mdm.model.pojo.mst.Org;
  12. import com.dk.mdm.mapper.mst.OrgMapper;
  13. import com.dk.common.service.BaseService;
  14. import com.dk.common.mapper.BaseMapper;
  15. import com.dk.mdm.model.query.core.OrganizationQuery;
  16. import com.dk.mdm.model.query.mst.GoodsCategoryQuery;
  17. import com.dk.mdm.model.query.mst.OrgQuery;
  18. import com.dk.mdm.model.response.core.OrganizationResponse;
  19. import com.dk.mdm.model.vo.core.OrganizationVO;
  20. import com.dk.mdm.model.vo.mst.OrgVO;
  21. import com.dk.mdm.service.common.CommonService;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.transaction.annotation.Transactional;
  25. import java.util.Map;
  26. @Service
  27. @Transactional
  28. public class OrgService extends BaseService<Org> {
  29. /**
  30. * @desc : 重写主键
  31. * @author : 王英杰
  32. * @date : 2023/1/9 10:39
  33. */
  34. @Override
  35. public String getPrimaryKey() {
  36. return "org_id";
  37. }
  38. @Override
  39. public BaseMapper<Org> getRepository() {
  40. return orgMapper;
  41. }
  42. @Autowired
  43. private OrgMapper orgMapper;
  44. @Autowired
  45. private OrgConvert orgConvert;
  46. @Autowired
  47. private CommonService commonService;
  48. /**
  49. * @desc : 条件查询
  50. * @author : 王英杰
  51. * @date : 2023/1/10 17:19
  52. */
  53. @Pagination
  54. public ResponseResultVO<PageList<Org>> selectByCond(OrgQuery orgQuery) {
  55. return super.mergeListWithCount(orgQuery, orgMapper.selectByCond(orgQuery),
  56. orgMapper.countByCond(orgQuery));
  57. }
  58. /**
  59. * @desc : 新建组织机构
  60. * @author : 王英杰
  61. * @date : 2024/2/27 9:17
  62. */
  63. @Transactional(
  64. rollbackFor = {Exception.class}
  65. )
  66. public ResponseResultVO<?> insert(OrgVO orgVO) {
  67. // 转化实体
  68. Org organization = orgConvert.convertToPo(orgVO);
  69. Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.STAFF.getName(), false);
  70. organization.setOrgId(codeMap.get("outId").toString());
  71. // organization.setOrgCode(codeMap.get("outNote").toString());
  72. //查询 本次要加的 部门的 父级下 最大的DisplayNo 然后加1 就是现在要加的DisplayNo
  73. String parentId = organization.getParentId();
  74. int maxDisplayNo = orgMapper.maxDisplayNo(parentId) != null ? orgMapper.maxDisplayNo(parentId) + 1 : 0;
  75. organization.setDisplayNo(maxDisplayNo);
  76. // 插入组织部门数据
  77. super.insert(organization);
  78. //执行函数
  79. orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
  80. return ResponseResultUtil.success();
  81. // return result == 1 ? ResponseResultUtil.success(organization) :
  82. // ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
  83. }
  84. }