| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- package com.dk.mdm.service.mst;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.dk.common.infrastructure.annotaiton.Pagination;
- import com.dk.common.infrastructure.constant.Constant;
- import com.dk.common.model.pojo.PageList;
- import com.dk.common.response.ResponseResultUtil;
- import com.dk.common.response.ResponseResultVO;
- import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
- import com.dk.mdm.mapper.mst.OrgMacMapper;
- import com.dk.mdm.mapper.mst.OrgWhMapper;
- import com.dk.mdm.model.pojo.mst.Org;
- import com.dk.mdm.mapper.mst.OrgMapper;
- import com.dk.common.service.BaseService;
- import com.dk.common.mapper.BaseMapper;
- import com.dk.mdm.model.pojo.mst.OrgMac;
- import com.dk.mdm.model.pojo.mst.OrgWh;
- import com.dk.mdm.model.query.mst.OrgQuery;
- import com.dk.common.model.response.mst.OrgResponse;
- import com.dk.common.model.vo.mst.OrgVO;
- import com.dk.mdm.service.common.CommonService;
- import org.springframework.stereotype.Service;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.*;
- @Service
- @Transactional
- public class OrgService extends BaseService<Org> {
- /**
- * @desc : 重写主键
- * @author : 王英杰
- * @date : 2023/1/9 10:39
- */
- @Override
- public String getPrimaryKey() {
- return "org_id";
- }
- @Override
- public BaseMapper<Org> getRepository() {
- return orgMapper;
- }
- @Autowired
- private OrgMapper orgMapper;
- @Autowired
- private OrgConvert orgConvert;
- @Autowired
- private CommonService commonService;
- @Autowired
- OrgWhMapper orgWhMapper;
- @Autowired
- OrgMacMapper orgMacMapper;
- /**
- * @desc : 条件查询
- * @author : 王英杰
- * @date : 2023/1/10 17:19
- */
- @Pagination
- public ResponseResultVO<PageList<OrgResponse>> selectByCond(OrgQuery orgQuery) {
- return super.mergeListWithCount(orgQuery, orgMapper.selectByCond(orgQuery),
- orgMapper.countByCond(orgQuery));
- }
- /**
- * @desc : 新建组织机构
- * @author : 王英杰
- * @date : 2024/2/27 9:17
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> insert(OrgVO orgVO) {
- // 转化实体
- Org organization = orgConvert.convertToPo(orgVO);
- // 获取显示顺序
- Integer displayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG);
- Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
- // 获取编码和主键UuId
- organization.setDisplayNo(displayNo);
- organization.setOrgId(codeMap.get("outId").toString());
- organization.setOrgCode(codeMap.get("outNote").toString());
- //查询 本次要加的 部门的 父级下 最大的DisplayNo 然后加1 就是现在要加的DisplayNo
- Map<String, Object> param = new HashMap<>();
- param.put("otherCond", "parent_id = #{parentID} ::uuid");
- organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG ,param));
- if (organization.getParentId() != null) {
- //插入TOPid
- organization.setTopId(organization.getParentId());
- }
- // 插入组织部门数据
- super.insert(organization);
- //执行函数
- orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
- // 添加组织仓库
- if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
- 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);
- OrgWh orgWh = new OrgWh();
- orgWh.setOrgId(organization.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
- .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
- orgWhMapper.insert(orgWh);
- }
- }
- // 添加组织资金账户
- if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
- 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();
- orgMac.setOrgId(organization.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
- .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
- orgMacMapper.insert(orgMac);
- }
- }
- return ResponseResultUtil.success();
- // return result == 1 ? ResponseResultUtil.success(organization) :
- // ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);
- }
- /**
- * @desc : 新建组织机构
- * @author : 王英杰
- * @date : 2024/2/27 9:17
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> insertFeignOrg(OrgVO orgVO) {
- // 转化实体
- Org organization = orgConvert.convertToPo(orgVO);
- // 获取显示顺序
- Map<String, Object> codeMap = commonService.getUniqueNoteCode(
- Constant.docNameConstant.ORG.getName(),orgVO.getCpId(), true);
- // 获取编码和主键UuId
- organization.setDisplayNo(0);
- organization.setOrgId(codeMap.get("outId").toString());
- organization.setOrgCode(codeMap.get("outNote").toString());
- // 插入组织部门数据
- super.insert(organization);
- //执行函数
- // orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
- return ResponseResultUtil.success(organization);
- }
- /**
- * @desc : 编辑方法
- * @author : 宋扬
- * @date : 2024/3/22 17:15
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<Boolean> update(OrgVO orgVO) {
- // 转化实体
- Org org = orgConvert.convertToPo(orgVO);
- // 修改组织机构
- super.update(org, new UpdateWrapper<Org>().lambda().eq(Org::getOrgId,
- UUID.fromString(org.getOrgId())));
- //执行函数
- orgMapper.resetLevelOrg(new Org().setTopId(org.getParentId()).setCpId(org.getCpId()));
- //删除组织仓库和组织资金账户
- orgWhMapper.deleteByOrgId(org.getOrgId());
- orgMacMapper.deleteByOrgId(org.getOrgId());
- // 添加组织仓库
- if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
- 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);
- OrgWh orgWh = new OrgWh();
- orgWh.setOrgId(org.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
- .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
- orgWhMapper.insert(orgWh);
- }
- }
- // 添加组织资金账户
- if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
- 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();
- orgMac.setOrgId(org.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
- .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
- orgMacMapper.insert(orgMac);
- }
- }
- return ResponseResultUtil.success();
- }
- }
|