From a2299a6d4a6f99e9c11132138f5d3e9ec68f03ea Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 06 六月 2025 19:19:34 +0800 Subject: [PATCH] 开发更新 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 125 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 108 insertions(+), 17 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java index e7aa1ca..573f959 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java @@ -25,10 +25,12 @@ import com.doumee.dao.admin.request.UpdateCompanySortDTO; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.MemberMapper; +import com.doumee.dao.business.YwContractMapper; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dao.join.CompanyJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.YwContract; import com.doumee.dao.business.vo.CompanyTree; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.CompanyService; @@ -63,10 +65,47 @@ @Autowired private CompanyJoinMapper companyJoinMapper; + @Autowired + private YwContractMapper ywContractMapper; + + + /** + * 鍒涘缓璐㈠姟鍏徃 + * @param company + * @return + */ + @Override + public Integer createFinanceCompany(Company company) { + company.setType(Constants.TWO); + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getName,company.getName()) + .eq(Company::getType,company.getType()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝鍚嶇О涓嶈兘閲嶅~"); + } + if(StringUtils.isNotBlank(company.getCode())){ + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getCode,company.getCode()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绾崇◣璇嗗埆鍙蜂笉鑳介噸澶崀"); + } + } + company.setCreateDate(new Date()); + company.setCreator(company.getLoginUserInfo().getId()); + company.setIsdeleted(Constants.ZERO); + company.setStatus(Constants.ZERO); + company.setSortnum(0);//榛樿鏈�涓婇潰 + company.setHkDate(company.getCreateDate()); + company.setEditDate(company.getCreateDate()); + company.setEditor(company.getCreator()); + companyMapper.insert(company); + return company.getId(); + } @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(Company company) { + company.setType(Constants.ONE); if(StringUtils.isBlank(company.getName())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } @@ -78,6 +117,13 @@ .eq(Company::getName,company.getName()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐鍚嶇О涓嶈兘閲嶅~"); + } + if(StringUtils.isNotBlank(company.getCode())){ + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getCode,company.getCode()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绾崇◣璇嗗埆鍙蜂笉鑳介噸澶崀"); + } } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(user ==null){ @@ -120,9 +166,9 @@ company.setHkId(UUID.randomUUID().toString().replace("-","")); companyMapper.insert(company); //涓嬪彂娴峰悍瀹夐槻骞冲彴 - if(!addHkOrg(company)){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯"); - } +// if(!addHkOrg(company)){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯"); +// } Company com = new Company(); com.setId(company.getId()); com.setCompanyPath(idPath+company.getId()+"/"); @@ -233,6 +279,9 @@ .eq(Member::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇ラ儴闂ㄤ笅瀛樺湪浜哄憳淇℃伅锛屼笉鑳借繘琛屽垹闄ゆ搷浣滐紒"); } + if(ywContractMapper.selectCount(new QueryWrapper<YwContract>().lambda().eq(YwContract::getCompanyId,id))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "褰撳墠鍏徃宸插叧鑱斾笟鍔★紝涓嶅彲鍒犻櫎"); + } Company company = new Company(); company.setId(id); @@ -243,9 +292,9 @@ company.setHkDate(company.getHkDate()); companyMapper.updateById(company); //涓嬪彂娴峰悍瀹夐槻骞冲彴 - if(StringUtils.isNotBlank(model.getHkId()) && Constants.equalsInteger(Constants.ONE,model.getHkStatus()) && !delHkOrg(model)){ - throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍒犻櫎涓嬪彂澶辫触锛岃纭璇ョ粍缁囨棤涓嬬骇缁勭粐鎴栫粍缁囦汉鍛樹俊鎭瘇"); - } +// if(StringUtils.isNotBlank(model.getHkId()) && Constants.equalsInteger(Constants.ONE,model.getHkStatus()) && !delHkOrg(model)){ +// throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍒犻櫎涓嬪彂澶辫触锛岃纭璇ョ粍缁囨棤涓嬬骇缁勭粐鎴栫粍缁囦汉鍛樹俊鎭瘇"); +// } } @Override @@ -281,6 +330,15 @@ .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝缁勭粐鍚嶇О涓嶈兘閲嶅~"); } + if(StringUtils.isNotBlank(company.getCode())){ + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getCode,company.getCode()) + .ne(Company::getId,company.getId()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绾崇◣璇嗗埆鍙蜂笉鑳介噸澶崀"); + } + } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(user == null){ user = company.getLoginUserInfo(); @@ -313,7 +371,7 @@ .setSql("hk_company_path=REPLACE(hk_company_path,'"+ model.getCompanyNamePath()+"','"+newName+"')") .likeRight(Company::getCompanyPath,model.getCompanyPath())); //涓嬪彂娴峰悍瀹夐槻骞冲彴 - if(StringUtils.isNotBlank(model.getHkId())){ + /* if(StringUtils.isNotBlank(model.getHkId())){ if(!editHkOrg(company)){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯"); } @@ -321,7 +379,7 @@ if(!addHkOrg(company)){ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝缁勭粐鍚屾涓嬪彂澶辫触锛岃绋嶅悗閲嶈瘯"); } - } + }*/ } @@ -330,6 +388,26 @@ checkUnique(company); companyMapper.updateById(company); return null; + } + @Override + public Integer updateFinanceCompany(Company company) { + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getName,company.getName()) + .eq(Company::getType,company.getType()) + .ne(Company::getId,company.getId()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝鍚嶇О涓嶈兘閲嶅~"); + } + if(StringUtils.isNotBlank(company.getCode())){ + if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() + .eq(Company::getCode,company.getCode()) + .ne(Company::getId,company.getId()) + .eq(Company::getIsdeleted,Constants.ZERO)) >0){ + throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝绾崇◣璇嗗埆鍙蜂笉鑳介噸澶崀"); + } + } + companyMapper.updateById(company); + return company.getId(); } @Override @@ -353,6 +431,18 @@ return companyMapper.selectOne(wrapper); } + @Override + public List<Company> listForConstract(Company company) { + MPJLambdaWrapper<Company> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(Company.class); + queryWrapper.like(company.getName() != null,Company::getName, company.getName()); + queryWrapper.eq(Company::getStatus, Constants.ZERO); + queryWrapper.eq(Company::getType, Constants.TWO); + queryWrapper.eq(Company::getIsdeleted, Constants.ZERO); + queryWrapper.exists("select b.id from yw_account b where b.isdeleted=0 and b.company_id=t.id and b.status=0"); + queryWrapper.orderByDesc(Company::getCreateDate); + return companyMapper.selectList(queryWrapper); + } @Override public List<Company> findList(Company company) { MPJLambdaWrapper<Company> queryWrapper = new MPJLambdaWrapper<>(); @@ -453,15 +543,16 @@ queryWrapper.apply(" t.id in ( select hdp.COMPANY_ID from hidden_danger_param hdp where hdp.ISDELETED = 0 and hdp.STATUS = 0 and hdp.TYPE = 0 ) "); } queryWrapper.orderByDesc(Company::getCreateDate); - queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId); + queryWrapper.leftJoin("company t1 on t1.id=t.parent_id"); queryWrapper.select(" t.* ") .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ; queryWrapper.select("t1.name",Company::getParentName); queryWrapper.select("t1.company_path",Company::getParentCompanyPath); queryWrapper.apply(" t.isdeleted = 0 ") ; - queryWrapper.eq(Objects.nonNull(company.getStatus()),Company::getStatus,Constants.ZERO); + queryWrapper.apply(" t.status = 0 ") ; +// queryWrapper.eq(Objects.nonNull(company.getStatus()),Company::getStatus,Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(company.getName()),Company::getName,company.getName()); - queryWrapper.like(StringUtils.isNotBlank(company.getParentName()),"c.name",company.getParentName()); + queryWrapper.like(StringUtils.isNotBlank(company.getParentName()),"t1.name",company.getParentName()); return companyMapper.selectList(queryWrapper); } @@ -565,23 +656,22 @@ queryWrapper.le(Company::getFsDate, Utils.Date.getEnd(pageWrap.getModel().getFsDate())); } queryWrapper.orderByDesc(Company::getCreateDate); - queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId); - /* .leftJoin(Member.class, Member::getId,Company::getHeadId)*/ - /* queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/ + queryWrapper.leftJoin("company t1 on t1.id=t.parent_id"); queryWrapper.selectAll(Company.class) - .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ; + .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) ",Company::getCountNum) + .select("(select count(m.id) from yw_account m where m.COMPANY_ID=t.id and m.ISDELETED=0)",Company::getAccountNum) ; queryWrapper.select("t1.name",Company::getParentName); queryWrapper.select("t1.company_path",Company::getParentCompanyPath); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Company::getName,pageWrap.getModel().getName()); - queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),"c.name",pageWrap.getModel().getParentName()); + queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),"t1.name",pageWrap.getModel().getParentName()); IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper); return PageData.from(companyIPage); } @Override public void updateStatusById(Company company) { - LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + LoginUserInfo loginUserInfo = company.getLoginUserInfo(); if(loginUserInfo==null){ loginUserInfo = company.getLoginUserInfo(); } @@ -650,6 +740,7 @@ QueryWrapper<Company> wrapper = new QueryWrapper<>(); wrapper.lambda() .eq(Company::getIsdeleted,Constants.ZERO) + .eq(Company::getType,company.getType()) .eq(Company::getName,company.getName()); List<Company> companies = companyMapper.selectList(wrapper); if (CollectionUtils.isEmpty(companies)){ -- Gitblit v1.9.3