From 47305dd209a3ce3889b088a2f2e2f05c923178c5 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 25 十一月 2024 18:38:01 +0800 Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/funingyunwei --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 173 insertions(+), 6 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java index 15da9a9..4d2465c 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java @@ -1,5 +1,6 @@ package com.doumee.service.business.impl; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -50,6 +51,8 @@ @Autowired private MultifileMapper multifileMapper; @Autowired + private YwWorkorderLogMapper ywWorkorderLogMapper; + @Autowired private CompanyMapper companyMapper; @Autowired private YwProjectMapper projectMapper; @@ -62,6 +65,8 @@ @Autowired private MemberMapper memberMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwContract model) { @@ -77,7 +82,70 @@ ywContractMapper.insert(model); dealDetailListBiz(model);//澶勭悊鏉℃淇℃伅 dealMultifileBiz(model);//澶勭悊闄勪欢淇℃伅 + dealLogBiz(model,Constants.YwLogType.CONTRACT_CREATE,null,null);//璁板綍鏂板缓鏃ュ織 return model.getId(); + } + /** + * 閫�绉熸彁浜� + * @param param + * @return + */ + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public Integer backRent(YwContract param){ + isParamValidBackRent(param); + //澶勭悊 + dealBackRentBillBiz(param); + YwContract update = new YwContract(); + update.setEditDate(new Date()); + update.setEditor(param.getLoginUserInfo().getId()); + update.setBtActDate(update.getEditDate()); + update.setBtActUserId(update.getEditor()); + update.setStatus(Constants.THREE); + update.setBtInfo(param.getBtInfo()); + update.setBtDate(param.getBtDate()); + update.setBtType(param.getBtType()); + update.setBtUserId(param.getBtUserId()); + update.setBtFee(param.getBtFee()); + ywContractMapper.updateById(update); + dealLogBiz(param,Constants.YwLogType.CONTRACT_BACK,null,null); + return param.getId(); + } + + private void dealBackRentBillBiz(YwContract param) { + } + + private void isParamValidBackRent(YwContract param) { + if(param.getId()==null + || param.getBtType() == null + || param.getBtDate() == null + || param.getBtUserId() == null + || param.getBtSignDate() == null + ||StringUtils.isBlank( param.getBtInfo())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + YwContract model = ywContractMapper.selectById(param.getId()); + if(model==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝鍚堝悓淇℃伅涓嶅瓨鍦紝璇疯繑鍥炲垪琛ㄥ埛鏂伴噸璇曪紒"); + } + + SystemUser user = systemUserMapper.selectById(param.getUserId()); + if(user ==null || (user.getDeleted()!=null&& user.getDeleted() )){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝缁忓姙浜轰俊鎭笉瀛樺湪锛�"); + } + if(param.getAddBillList()!=null && param.getAddBillList().size()>0){ + for(YwContractBill bill: param.getAddBillList()){ + if(bill.getCostType() == null + ||bill.getFeeType() == null + ||bill.getReceivableFee() == null + ||bill.getCompanyId() == null + ||bill.getPlanPayDate() == null + ||(Constants.equalsInteger(bill.getFeeType(),Constants.ZERO) + && (bill.getStartDate() ==null || bill.getEndDate() ==null) )){ + + } + } + } } private void dealDetailListBiz(YwContract model) { @@ -182,10 +250,10 @@ bill.setStatus(Constants.ZERO); bill.setStartDate(model.getStartDate()); bill.setEndDate(model.getEndDate()); - bill.setType(type); + bill.setType(Constants.ZERO); + bill.setCostType(type); bill.setTotleFee(type==Constants.THREE?model.getZlDeposit():model.getWyDeposit());//鎶奸噾璐圭敤 bill.setSortnum(0); - bill.setTitle(type==Constants.THREE?"绉熻祦鎶奸噾":"鐗╀笟鎶奸噾" ); return bill; } @@ -387,7 +455,8 @@ bill.setContractId(model.getId()); bill.setStatus(Constants.ZERO); bill.setDetailId(d.getId()); - bill.setType(d.getType()); + bill.setCostType(d.getType()); + bill.setType(Constants.ZERO); return bill; } @@ -400,7 +469,28 @@ return data; } + private void initFiles(YwContract model) { + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId, model.getId() ) + .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.YW_CONTRACT_FILE.getKey()})) + .eq(Multifile::getIsdeleted,Constants.ZERO)); + if(multifiles!=null){ + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_CONTRACT_FILE).getCode(); + for(Multifile f : multifiles){ + if(StringUtils.isBlank(f.getFileurl())){ + continue; + } + f.setFileurlFull(path+f.getFileurl()); + //鐜板満鎯呭喌 + if(model.getFileList() == null){ + model.setFileList(new ArrayList<>()); + } + model.getFileList().add(f); + } + } + } private void dealMultifileBiz(YwContract model) { @@ -416,7 +506,7 @@ multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(model.getId()); multifile.setCreator(model.getCreator()); - multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()); + multifile.setObjType(Constants.MultiFile.YW_CONTRACT_FILE.getKey()); multifile.setSortnum(i+1); fileList.add(multifile); } @@ -594,10 +684,87 @@ this.updateById(ywContract); } } - + private void dealLogBiz(YwContract model,Constants.YwLogType type,String param1,String param2) { + YwWorkorderLog log = new YwWorkorderLog(); + log.setCreateDate(model.getEditDate()); + log.setCreator(model.getCreator()); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + log.setObjId(model.getId()+""); + log.setObjType(type.getKey()); + log.setParam1(param1); + log.setParam2(param2); + log.setTitle(type.getNoteinfo()); + ywWorkorderLogMapper.insert(log); + } @Override public YwContract findById(Integer id) { - return ywContractMapper.selectById(id); + MPJLambdaWrapper<YwContract> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(YwContract.class ) + .selectAs(Company::getName,YwContract::getCompanyName ) + .selectAs(SystemUser::getRealname,YwContract::getUserName ) + .selectAs(YwCustomer::getName,YwContract::getRenterName ) + .selectAs(YwProject::getName,YwContract::getProjectName ) + .select("t4.realname",YwContract::getCreatorName ) + .leftJoin(Company.class,Company::getId,YwContract::getCompanyId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContract::getUserId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContract::getCreator) + .leftJoin(YwProject.class,YwProject::getId,YwContract::getProjectId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId); + YwContract model = ywContractMapper.selectJoinOne(YwContract.class,queryWrapper); + if(model != null){ + //鍚堝悓闄勪欢 + initFiles(model); + //鏌ヨ鎴挎簮淇℃伅鏁版嵁 + MPJLambdaWrapper<YwRoom> rw = new MPJLambdaWrapper<>(); + rw.selectAll(YwRoom.class ) + .selectAs(YwProject::getName,YwRoom::getProjectName) + .selectAs(YwFloor::getName,YwRoom::getFloorName) + .selectAs(YwBuilding::getName,YwRoom::getBuildingName) + .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId) + .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId) + .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor) + .eq(YwRoom::getIsdeleted,Constants.ZERO) + .exists("(select a.id from yw_contract_room a where a.isdeleted=1 and a.room_id=t.id and a.contract_id="+model.getId()+")"); + model.setRoomList(roomMapper.selectJoinList(YwRoom.class,rw)); + + //鏌ヨ绉熻硟鏉℃淇℃伅 + MPJLambdaWrapper<YwContractDetail> dw = new MPJLambdaWrapper<>(); + dw.selectAll(YwContractDetail.class ) + .eq(YwContractDetail::getIsdeleted,Constants.ZERO) + .eq(YwContractDetail::getContractId,model.getId()) + .in(YwContractDetail::getType,Constants.ZERO,Constants.TWO) + .orderByAsc(YwContractDetail::getSortnum); + model.setZlDetailList(ywContractDetailMapper.selectJoinList(YwContractDetail.class,dw)); + //鏌ヨ鐗╂キ鏉℃淇℃伅 + dw = new MPJLambdaWrapper<>(); + dw.selectAll(YwContractDetail.class ) + .eq(YwContractDetail::getIsdeleted,Constants.ZERO) + .eq(YwContractDetail::getContractId,model.getId()) + .in(YwContractDetail::getType,Constants.ONE,Constants.THREE) + .orderByAsc(YwContractDetail::getSortnum); + model.setWyDetailList(ywContractDetailMapper.selectJoinList(YwContractDetail.class,dw)); + + //鏌ヨ鎿嶄綔鏃ュ織璁板綍 + YwWorkorderLog log = new YwWorkorderLog(); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log) + .lambda() + .in(YwWorkorderLog::getObjType,Constants.YwLogType.CONTRACT_BACK.getKey() + ,Constants.YwLogType.CONTRACT_CREATE.getKey() + ,Constants.YwLogType.CONTRACT_UPDATE.getKey()) + .orderByAsc(YwWorkorderLog::getCreateDate))); + + //鏌ヨ璐﹀崟闆嗗悎 + model.setBillList(ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>() + .selectAll(YwContractBill.class ) + .eq( YwContractBill::getContractId,model.getId()) + .eq(YwContractBill::getIsdeleted,Constants.ZERO) + .orderByAsc(YwContractBill::getSortnum,YwContractBill::getCreateDate))); + } + + return model; } @Override -- Gitblit v1.9.3